Eswatini HL7 FHIR Implementation Guide
1.0.0 - draft
Eswatini
Eswatini HL7 FHIR Implementation Guide - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://eswatinihie.com/fhir/StructureDefinition/SzLabRequest | Version: 1.0.0 | |||
| Active as of 2026-08-21 | Computable Name: SzLabRequest | |||
The Eswatini Laboratory Request Profile defines the constraints and usage of the HL7 FHIR ServiceRequest resource for representing requests for laboratory investigations within the Eswatini National Digital Health Ecosystem. It provides a standardized and interoperable mechanism for ordering, tracking, and managing laboratory tests requested as part of patient care. This profile ensures that laboratory requests are captured and exchanged in a consistent, structured, and nationally aligned manner, supporting clinical care, diagnostic workflows, and reporting.
This profile SHALL be used by systems that create, manage, or exchange laboratory test requests, including:
Electronic Medical Record (EMR) systems Laboratory Information Systems (LIS) Facility-based ordering and diagnostic systems National health information exchange (HIE) services
The profile applies to requests for a wide range of laboratory services, including:
Routine diagnostic laboratory tests Monitoring and follow-up investigations Screening and preventive tests Programme-specific laboratory testing (e.g. HIV, TB, NCDs)
A laboratory request represents the intent to perform one or more laboratory tests, regardless of where the tests are ultimately processed.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | ServiceRequest | A request for a service to be performed Constraints: prr-1 |
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. |
![]() ![]() |
?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. Required Pattern: order |
![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of service request Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct |
![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: 108252007 |
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system Required Pattern: Laboratory procedure |
![]() ![]() |
?!Σ | 0..1 | boolean | True if service/procedure should not be performed |
![]() ![]() |
Σ | 1..1 | CodeableConcept | Code identifying the lab test being requested Binding: Value Set: Local Test Codes (preferred) |
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Patient's information |
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Encounter Profile) | Encounter information |
![]() ![]() |
Σ | 0..1 | dateTime | When service should occur |
![]() ![]() |
Σ | 1..1 | dateTime | Lab request date |
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Lab test requestor |
![]() ![]() |
SΣ | 1..1 | Reference(Eswatini Lab Test Specimen Profile) | Lab test specimen |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
| ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std. |
| ServiceRequest.category | Base | example | Service Request Category Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.code | Base | preferred | Value Set: Local Test Codes | 📦1.0.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | ServiceRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present |
orderDetail.empty() or code.exists()
|
This structure is derived from ServiceRequest
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | ServiceRequest | A request for a service to be performed | |
![]() ![]() |
1..1 | id | Logical id of this artifact | |
![]() ![]() |
1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Required Pattern: order | |
![]() ![]() |
1..1 | CodeableConcept | Type of service request | |
![]() ![]() ![]() |
1..1 | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() |
0..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | |
![]() ![]() ![]() ![]() |
0..1 | code | Symbol in syntax defined by the system Required Pattern: 108252007 | |
![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system Required Pattern: Laboratory procedure | |
![]() ![]() |
1..1 | CodeableConcept | Code identifying the lab test being requested Binding: Value Set: Local Test Codes (preferred) | |
![]() ![]() |
1..1 | Reference(Eswatini Patient Profile) | Patient's information | |
![]() ![]() |
1..1 | Reference(Eswatini Encounter Profile) | Encounter information | |
![]() ![]() |
0..1 | dateTime | When service should occur | |
![]() ![]() |
1..1 | dateTime | Lab request date | |
![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Lab test requestor | |
![]() ![]() |
S | 1..1 | Reference(Eswatini Lab Test Specimen Profile) | Lab test specimen |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| ServiceRequest.code | Base | preferred | Value Set: Local Test Codes | 📦1.0.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | ServiceRequest | A request for a service to be performed Constraints: prr-1 | ||||
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Identifiers assigned to this order | ||||
![]() ![]() |
Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) | What request fulfills | ||||
![]() ![]() |
Σ | 0..* | Reference(ServiceRequest) | What request replaces | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Composite Request ID | ||||
![]() ![]() |
?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||
![]() ![]() |
?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. Required Pattern: order | ||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of service request Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: 108252007 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system Required Pattern: Laboratory procedure | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | True if service/procedure should not be performed | ||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | Code identifying the lab test being requested Binding: Value Set: Local Test Codes (preferred) | ||||
![]() ![]() |
ΣC | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context. | ||||
![]() ![]() |
Σ | 0..1 | Service amount | |||||
![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() |
Range | |||||||
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Patient's information | ||||
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Encounter Profile) | Encounter information | ||||
![]() ![]() |
Σ | 0..1 | dateTime | When service should occur | ||||
![]() ![]() |
Σ | 0..1 | Preconditions for service Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc. | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() |
Σ | 1..1 | dateTime | Lab request date | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Lab test requestor | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Performer role Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. | ||||
![]() ![]() |
Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested performer | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Requested location Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered. | ||||
![]() ![]() |
Σ | 0..* | Reference(Location) | Requested location | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation. | ||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Explanation/Justification for service or service | ||||
![]() ![]() |
0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |||||
![]() ![]() |
0..* | Reference(Resource) | Additional clinical information | |||||
![]() ![]() |
SΣ | 1..1 | Reference(Eswatini Lab Test Specimen Profile) | Lab test specimen | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Location on Body Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
![]() ![]() |
0..* | Annotation | Comments | |||||
![]() ![]() |
Σ | 0..1 | string | Patient or consumer-oriented instructions | ||||
![]() ![]() |
0..* | Reference(Provenance) | Request provenance | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| ServiceRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
| ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std. |
| ServiceRequest.category | Base | example | Service Request Category Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| ServiceRequest.code | Base | preferred | Value Set: Local Test Codes | 📦1.0.0 | This IG |
| ServiceRequest.orderDetail | Base | example | Service Request Order Details Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.performerType | Base | example | Participant Roles | 📍4.0.1 | FHIR Std. |
| ServiceRequest.locationCode | Base | example | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v7.3 |
| ServiceRequest.reasonCode | Base | example | Procedure Reason Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | ServiceRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present |
orderDetail.empty() or code.exists()
|
This structure is derived from ServiceRequest
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | ServiceRequest | A request for a service to be performed Constraints: prr-1 |
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored |
![]() ![]() |
?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. |
![]() ![]() |
?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. Required Pattern: order |
![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of service request Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. |
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct |
![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: 108252007 |
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system Required Pattern: Laboratory procedure |
![]() ![]() |
?!Σ | 0..1 | boolean | True if service/procedure should not be performed |
![]() ![]() |
Σ | 1..1 | CodeableConcept | Code identifying the lab test being requested Binding: Value Set: Local Test Codes (preferred) |
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Patient's information |
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Encounter Profile) | Encounter information |
![]() ![]() |
Σ | 0..1 | dateTime | When service should occur |
![]() ![]() |
Σ | 1..1 | dateTime | Lab request date |
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Lab test requestor |
![]() ![]() |
SΣ | 1..1 | Reference(Eswatini Lab Test Specimen Profile) | Lab test specimen |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
| ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std. |
| ServiceRequest.category | Base | example | Service Request Category Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.code | Base | preferred | Value Set: Local Test Codes | 📦1.0.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | ServiceRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present |
orderDetail.empty() or code.exists()
|
Differential View
This structure is derived from ServiceRequest
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | ServiceRequest | A request for a service to be performed | |
![]() ![]() |
1..1 | id | Logical id of this artifact | |
![]() ![]() |
1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Required Pattern: order | |
![]() ![]() |
1..1 | CodeableConcept | Type of service request | |
![]() ![]() ![]() |
1..1 | Coding | Code defined by a terminology system | |
![]() ![]() ![]() ![]() |
0..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | |
![]() ![]() ![]() ![]() |
0..1 | code | Symbol in syntax defined by the system Required Pattern: 108252007 | |
![]() ![]() ![]() ![]() |
0..1 | string | Representation defined by the system Required Pattern: Laboratory procedure | |
![]() ![]() |
1..1 | CodeableConcept | Code identifying the lab test being requested Binding: Value Set: Local Test Codes (preferred) | |
![]() ![]() |
1..1 | Reference(Eswatini Patient Profile) | Patient's information | |
![]() ![]() |
1..1 | Reference(Eswatini Encounter Profile) | Encounter information | |
![]() ![]() |
0..1 | dateTime | When service should occur | |
![]() ![]() |
1..1 | dateTime | Lab request date | |
![]() ![]() |
0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Lab test requestor | |
![]() ![]() |
S | 1..1 | Reference(Eswatini Lab Test Specimen Profile) | Lab test specimen |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| ServiceRequest.code | Base | preferred | Value Set: Local Test Codes | 📦1.0.0 | This IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | ServiceRequest | A request for a service to be performed Constraints: prr-1 | ||||
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..* | Identifier | Identifiers assigned to this order | ||||
![]() ![]() |
Σ | 0..* | canonical(ActivityDefinition | PlanDefinition) | Instantiates FHIR protocol or definition | ||||
![]() ![]() |
Σ | 0..* | uri | Instantiates external protocol or definition | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest | MedicationRequest) | What request fulfills | ||||
![]() ![]() |
Σ | 0..* | Reference(ServiceRequest) | What request replaces | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Composite Request ID | ||||
![]() ![]() |
?!Σ | 1..1 | code | draft | active | on-hold | revoked | completed | entered-in-error | unknown Binding: RequestStatus (required): The status of a service order. | ||||
![]() ![]() |
?!Σ | 1..1 | code | proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option Binding: RequestIntent (required): The kind of service request. Required Pattern: order | ||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | Type of service request Binding: ServiceRequestCategoryCodes (example): Classification of the requested service. | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 1..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://snomed.info/sct | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: 108252007 | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Representation defined by the system Required Pattern: Laboratory procedure | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||
![]() ![]() |
?!Σ | 0..1 | boolean | True if service/procedure should not be performed | ||||
![]() ![]() |
Σ | 1..1 | CodeableConcept | Code identifying the lab test being requested Binding: Value Set: Local Test Codes (preferred) | ||||
![]() ![]() |
ΣC | 0..* | CodeableConcept | Additional order information Binding: ServiceRequestOrderDetailsCodes (example): Codified order entry details which are based on order context. | ||||
![]() ![]() |
Σ | 0..1 | Service amount | |||||
![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() |
Ratio | |||||||
![]() ![]() ![]() |
Range | |||||||
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Patient's information | ||||
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Encounter Profile) | Encounter information | ||||
![]() ![]() |
Σ | 0..1 | dateTime | When service should occur | ||||
![]() ![]() |
Σ | 0..1 | Preconditions for service Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc. | |||||
![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() |
Σ | 1..1 | dateTime | Lab request date | ||||
![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Lab test requestor | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Performer role Binding: ParticipantRoles (example): Indicates specific responsibility of an individual within the care team, such as "Primary physician", "Team coordinator", "Caregiver", etc. | ||||
![]() ![]() |
Σ | 0..* | Reference(Practitioner | PractitionerRole | Organization | CareTeam | HealthcareService | Patient | Device | RelatedPerson) | Requested performer | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Requested location Binding: ServiceDeliveryLocationRoleType (example): A location type where services are delivered. | ||||
![]() ![]() |
Σ | 0..* | Reference(Location) | Requested location | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Explanation/Justification for procedure or service Binding: ProcedureReasonCodes (example): Diagnosis or problem codes justifying the reason for requesting the service investigation. | ||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Observation | DiagnosticReport | DocumentReference) | Explanation/Justification for service or service | ||||
![]() ![]() |
0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage | |||||
![]() ![]() |
0..* | Reference(Resource) | Additional clinical information | |||||
![]() ![]() |
SΣ | 1..1 | Reference(Eswatini Lab Test Specimen Profile) | Lab test specimen | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Location on Body Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality. | ||||
![]() ![]() |
0..* | Annotation | Comments | |||||
![]() ![]() |
Σ | 0..1 | string | Patient or consumer-oriented instructions | ||||
![]() ![]() |
0..* | Reference(Provenance) | Request provenance | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| ServiceRequest.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| ServiceRequest.status | Base | required | RequestStatus | 📍4.0.1 | FHIR Std. |
| ServiceRequest.intent | Base | required | RequestIntent | 📍4.0.1 | FHIR Std. |
| ServiceRequest.category | Base | example | Service Request Category Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.priority | Base | required | Request priority | 📍4.0.1 | FHIR Std. |
| ServiceRequest.code | Base | preferred | Value Set: Local Test Codes | 📦1.0.0 | This IG |
| ServiceRequest.orderDetail | Base | example | Service Request Order Details Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.asNeeded[x] | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.performerType | Base | example | Participant Roles | 📍4.0.1 | FHIR Std. |
| ServiceRequest.locationCode | Base | example | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v7.3 |
| ServiceRequest.reasonCode | Base | example | Procedure Reason Codes | 📍4.0.1 | FHIR Std. |
| ServiceRequest.bodySite | Base | example | SNOMED CT Body Structures | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | ServiceRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | ServiceRequest | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource |
contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
|
| dom-4 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated |
contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
|
| dom-5 | error | ServiceRequest | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | ServiceRequest | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| prr-1 | error | ServiceRequest | orderDetail SHALL only be present if code is present |
orderDetail.empty() or code.exists()
|
This structure is derived from ServiceRequest
Other representations of profile: CSV, Excel, Schematron
The profile constrains the base ServiceRequest resource to ensure capture of essential laboratory ordering information, including:
Request status to reflect the lifecycle of the laboratory order (e.g. active, completed, cancelled) Intent, indicating that the request is an order for service Requested laboratory service or test Subject (Patient) for whom the test is requested Requester, identifying the practitioner or system initiating the request Authored date, indicating when the request was made
These elements ensure laboratory requests are actionable, traceable, and suitable for clinical and operational use.
This profile is designed to:
Conform to HL7 FHIR R4 ServiceRequest semantics Support interoperability within the Eswatini National HIE Enable integration between clinical systems and laboratory systems Support national diagnostics reporting, monitoring, and evaluation
By standardizing laboratory order data, the profile enables reliable exchange of requests across facilities, laboratories, and systems.
Systems claiming conformance to this profile SHALL:
Populate all required and Must Support elements defined by the profile Maintain accurate request status throughout the laboratory order lifecycle Ensure laboratory requests reflect real clinical ordering workflows
Optional elements from the base ServiceRequest resource may be used where relevant, provided they do not conflict with the constraints defined in this profile.
The Eswatini Laboratory Request Profile supports extensibility using standard FHIR mechanisms. Additional laboratory-order-specific details—such as specimen information, priority indicators, or program-specific attributes—may be introduced using FHIR extensions, subject to national governance and approval.
The Eswatini Laboratory Request Profile provides a standardized and interoperable representation of laboratory test requests, supporting efficient diagnostic workflows, improved care coordination, and reliable exchange of laboratory orders across the health system. Adoption of this profile strengthens diagnostic services, improves data quality, and enhances interoperability throughout the Kingdom of Eswatini.