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/SzLocation | Version: 1.0.0 | |||
| Active as of 2026-08-21 | Computable Name: SzLocation | |||
The Eswatini Location Profile defines the constraints and usage of the HL7 FHIR Location resource for representing physical and logical locations where healthcare services are delivered within the Eswatini National Digital Health Ecosystem. It provides a standardized and interoperable way to identify, describe, and reference healthcare locations across systems participating in health information exchange. This profile ensures that location information is captured in a consistent, accurate, and nationally aligned manner, supporting care delivery, referrals, reporting, and service coordination.
This profile SHALL be used by systems that create, manage, or exchange information about healthcare locations, including:
Electronic Medical Record (EMR) systems Facility and service management systems Referral and care coordination platforms National health information exchange (HIE) services
The profile applies to a wide range of healthcare-related locations, such as:
Health facilities (e.g. hospitals, clinics, health centres) Departments, wards, and service points within facilities Community and outreach service locations Diagnostic and laboratory locations Logical or virtual locations relevant to service delivery
Locations defined using this profile may represent both where care is provided and where healthcare resources are organized.
The Eswatini Location Profile represents a place or setting where healthcare-related activities occur. It provides a referenceable entity that can be linked to clinical, administrative, and logistical resources to indicate service delivery context. A Location:
May represent a physical place or a logical service point Can be hierarchical, supporting parent–child relationships (e.g. facility → ward → room) May be associated with one or more Organizations responsible for managing it Can be referenced by clinical resources to indicate where care was delivered
This enables consistent use of location data across encounters, appointments, and diagnostic workflows.
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: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Location | Details and position information for a physical place | |
![]() ![]() |
Σ | 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 |
![]() ![]() |
?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. |
![]() ![]() |
SΣ | 1..1 | string | Location Name |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Location Type Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location. |
![]() ![]() |
Σ | 0..1 | Reference(Eswatini Organization Profile) | Organization responsible for provisioning and upkeep |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std. |
| Location.type | Base | extensible | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v7.3 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Location | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Location | 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 | Location | 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 | Location | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Location | 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()
|
This structure is derived from Location
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Location | Details and position information for a physical place | |
![]() ![]() |
1..1 | id | Logical id of this artifact | |
![]() ![]() |
S | 1..1 | string | Location Name |
![]() ![]() |
S | 1..1 | CodeableConcept | Location Type |
![]() ![]() |
0..1 | Reference(Eswatini Organization Profile) | Organization responsible for provisioning and upkeep | |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Location | Details and position information for a physical place | |||||
![]() ![]() |
Σ | 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 | Unique code or number identifying the location to its users | ||||
![]() ![]() |
?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||
![]() ![]() |
Σ | 0..1 | Coding | The operational status of the location (typically only for a bed/room) Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room). | ||||
![]() ![]() |
SΣ | 1..1 | string | Location Name | ||||
![]() ![]() |
0..* | string | A list of alternate names that the location is known as, or was known as, in the past | |||||
![]() ![]() |
Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name | ||||
![]() ![]() |
Σ | 0..1 | code | instance | kind Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations. | ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Location Type Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location. | ||||
![]() ![]() |
0..* | ContactPoint | Contact details of the location | |||||
![]() ![]() |
0..1 | Address | Physical location | |||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationType (example): Physical form of the location. | ||||
![]() ![]() |
0..1 | BackboneElement | The absolute geographic location | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | decimal | Longitude with WGS84 datum | |||||
![]() ![]() ![]() |
1..1 | decimal | Latitude with WGS84 datum | |||||
![]() ![]() ![]() |
0..1 | decimal | Altitude with WGS84 datum | |||||
![]() ![]() |
Σ | 0..1 | Reference(Eswatini Organization Profile) | Organization responsible for provisioning and upkeep | ||||
![]() ![]() |
0..1 | Reference(Location) | Another Location this one is physically a part of | |||||
![]() ![]() |
0..* | BackboneElement | What days/times during a week is this location usually open | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||
![]() ![]() ![]() |
0..1 | boolean | The Location is open all day | |||||
![]() ![]() ![]() |
0..1 | time | Time that the Location opens | |||||
![]() ![]() ![]() |
0..1 | time | Time that the Location closes | |||||
![]() ![]() |
0..1 | string | Description of availability exceptions | |||||
![]() ![]() |
0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the location | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Location.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std. |
| Location.operationalStatus | Base | preferred | hl7VS-bedStatus | 📦3.0.0 | THO v7.3 |
| Location.mode | Base | required | LocationMode | 📍4.0.1 | FHIR Std. |
| Location.type | Base | extensible | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v7.3 |
| Location.physicalType | Base | example | Location type | 📍4.0.1 | FHIR Std. |
| Location.hoursOfOperation.daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Location | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Location | 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 | Location | 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 | Location | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Location | 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()
|
This structure is derived from Location
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Location | Details and position information for a physical place | |
![]() ![]() |
Σ | 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 |
![]() ![]() |
?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. |
![]() ![]() |
SΣ | 1..1 | string | Location Name |
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Location Type Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location. |
![]() ![]() |
Σ | 0..1 | Reference(Eswatini Organization Profile) | Organization responsible for provisioning and upkeep |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std. |
| Location.type | Base | extensible | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v7.3 |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Location | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Location | 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 | Location | 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 | Location | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Location | 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()
|
Differential View
This structure is derived from Location
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Location | Details and position information for a physical place | |
![]() ![]() |
1..1 | id | Logical id of this artifact | |
![]() ![]() |
S | 1..1 | string | Location Name |
![]() ![]() |
S | 1..1 | CodeableConcept | Location Type |
![]() ![]() |
0..1 | Reference(Eswatini Organization Profile) | Organization responsible for provisioning and upkeep | |
Documentation for this format | ||||
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Location | Details and position information for a physical place | |||||
![]() ![]() |
Σ | 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 | Unique code or number identifying the location to its users | ||||
![]() ![]() |
?!Σ | 0..1 | code | active | suspended | inactive Binding: LocationStatus (required): Indicates whether the location is still in use. | ||||
![]() ![]() |
Σ | 0..1 | Coding | The operational status of the location (typically only for a bed/room) Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room). | ||||
![]() ![]() |
SΣ | 1..1 | string | Location Name | ||||
![]() ![]() |
0..* | string | A list of alternate names that the location is known as, or was known as, in the past | |||||
![]() ![]() |
Σ | 0..1 | string | Additional details about the location that could be displayed as further information to identify the location beyond its name | ||||
![]() ![]() |
Σ | 0..1 | code | instance | kind Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations. | ||||
![]() ![]() |
SΣ | 1..1 | CodeableConcept | Location Type Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location. | ||||
![]() ![]() |
0..* | ContactPoint | Contact details of the location | |||||
![]() ![]() |
0..1 | Address | Physical location | |||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Physical form of the location Binding: LocationType (example): Physical form of the location. | ||||
![]() ![]() |
0..1 | BackboneElement | The absolute geographic location | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | decimal | Longitude with WGS84 datum | |||||
![]() ![]() ![]() |
1..1 | decimal | Latitude with WGS84 datum | |||||
![]() ![]() ![]() |
0..1 | decimal | Altitude with WGS84 datum | |||||
![]() ![]() |
Σ | 0..1 | Reference(Eswatini Organization Profile) | Organization responsible for provisioning and upkeep | ||||
![]() ![]() |
0..1 | Reference(Location) | Another Location this one is physically a part of | |||||
![]() ![]() |
0..* | BackboneElement | What days/times during a week is this location usually open | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |||||
![]() ![]() ![]() |
0..1 | boolean | The Location is open all day | |||||
![]() ![]() ![]() |
0..1 | time | Time that the Location opens | |||||
![]() ![]() ![]() |
0..1 | time | Time that the Location closes | |||||
![]() ![]() |
0..1 | string | Description of availability exceptions | |||||
![]() ![]() |
0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the location | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Location.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Location.status | Base | required | LocationStatus | 📍4.0.1 | FHIR Std. |
| Location.operationalStatus | Base | preferred | hl7VS-bedStatus | 📦3.0.0 | THO v7.3 |
| Location.mode | Base | required | LocationMode | 📍4.0.1 | FHIR Std. |
| Location.type | Base | extensible | ServiceDeliveryLocationRoleType | 📦3.0.0 | THO v7.3 |
| Location.physicalType | Base | example | Location type | 📍4.0.1 | FHIR Std. |
| Location.hoursOfOperation.daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Location | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Location | 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 | Location | 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 | Location | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Location | 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()
|
This structure is derived from Location
Other representations of profile: CSV, Excel, Schematron
The profile constrains the base Location resource to ensure capture of essential location information, including:
Location name to identify the place of service Location status indicating whether the location is active or inactive Location type, describing the kind of healthcare setting or service point Managing organization, identifying the entity responsible for the location Physical or descriptive details, where applicable, to support identification and use
These elements enable reliable identification and reuse of location data across systems.
This profile is designed to:
Conform to HL7 FHIR R4 Location semantics Support interoperability within the Eswatini National HIE Enable consistent referencing of facilities and service points across systems Support national service mapping, reporting, and health system planning
Standardized location data enables accurate aggregation and analysis of service utilization across the country.
Systems claiming conformance to this profile SHALL:
Populate all required and Must Support elements defined by the profile Ensure location identifiers and descriptions are accurate and consistently used Maintain appropriate location status to reflect operational availability
Optional elements from the base Location resource may be used where relevant, provided they do not conflict with the constraints defined in this profile.
The Eswatini Location Profile supports extensibility using standard FHIR mechanisms. Additional location-related attributes—such as geo-coordinates, service availability, or programme-specific classifications—may be introduced using FHIR extensions, subject to national governance and approval.
The Eswatini Location Profile provides a standardized and interoperable representation of healthcare locations, enabling consistent identification of where services are delivered across the health system. Adoption of this profile improves care coordination, supports accurate reporting, and strengthens interoperability between systems throughout the Kingdom of Eswatini.