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/SzEncounter | Version: 1.0.0 | |||
| Active as of 2026-08-21 | Computable Name: SzEncounter | |||
The Eswatini Encounter Profile defines the constraints and usage of the HL7 FHIR Encounter resource for use within the Eswatini Health Information Exchange (HIE) and other interoperable digital health systems. It represents a single interaction or episode of care between a patient and a healthcare service provider, covering clinical, administrative, and public health contexts. This profile ensures that encounter data exchanged across systems in Eswatini is consistent, semantically interoperable, and aligned with national workflows and reporting requirements.
This profile SHALL be used by all systems that create, update, or exchange encounter information within the national health ecosystem, including but not limited to:
Electronic Medical Record (EMR) systems Health facility management systems National registries and reporting platforms Public health surveillance systems
The profile supports encounters occurring across multiple care settings, such as:
Outpatient visits Inpatient admissions Emergency encounters Community and outreach services
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..* | Encounter | An interaction during which services are provided to the patient | |
![]() ![]() |
Σ | 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 | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter. |
![]() ![]() |
SΣ | 1..1 | Coding | Department in which the encounter took place Binding: Value Set: Encounter Classification (required) |
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Patient associated with the encounter |
![]() ![]() |
Σ | 1..1 | BackboneElement | List of participants involved in the encounter |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 0..1 | Reference(Eswatini Practitioner Profile) | Clinicians who participated in the encounter |
![]() ![]() |
1..1 | Period | The start and end time of the encounter | |
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | Start date and time of the encounter |
![]() ![]() |
1..1 | BackboneElement | Encounter location | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | Reference(Eswatini Location Profile) | Health facility | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std. |
| Encounter.class | Base | required | Value Set: Encounter Classification | 📦1.0.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Encounter | 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 Encounter
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |
![]() ![]() |
1..1 | id | Logical id of this artifact | |
![]() ![]() |
S | 1..1 | Coding | Department in which the encounter took place Binding: Value Set: Encounter Classification (required) |
![]() ![]() |
1..1 | Reference(Eswatini Patient Profile) | Patient associated with the encounter | |
![]() ![]() |
1..1 | BackboneElement | List of participants involved in the encounter | |
![]() ![]() ![]() |
0..1 | Reference(Eswatini Practitioner Profile) | Clinicians who participated in the encounter | |
![]() ![]() |
1..1 | Period | The start and end time of the encounter | |
![]() ![]() ![]() |
1..1 | dateTime | Start date and time of the encounter | |
![]() ![]() |
1..1 | BackboneElement | Encounter location | |
![]() ![]() ![]() |
1..1 | Reference(Eswatini Location Profile) | Health facility | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.class | Base | required | Value Set: Encounter Classification | 📦1.0.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |||||
![]() ![]() |
Σ | 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 | Identifier(s) by which this encounter is known | ||||
![]() ![]() |
?!Σ | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter. | ||||
![]() ![]() |
0..* | BackboneElement | List of past encounter statuses | |||||
![]() ![]() ![]() |
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 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter. | |||||
![]() ![]() ![]() |
1..1 | Period | The time that the episode was in the specified status | |||||
![]() ![]() |
SΣ | 1..1 | Coding | Department in which the encounter took place Binding: Value Set: Encounter Classification (required) | ||||
![]() ![]() |
0..* | BackboneElement | List of past encounter classes | |||||
![]() ![]() ![]() |
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 | Coding | inpatient | outpatient | ambulatory | emergency + Binding: ActEncounterCode (extensible): Classification of the encounter. | |||||
![]() ![]() ![]() |
1..1 | Period | The time that the episode was in the specified class | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Specific type of encounter Binding: EncounterType (example): The type of encounter. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Specific type of service Binding: ServiceType (example): Broad categorization of the service that is to be provided. | ||||
![]() ![]() |
0..1 | CodeableConcept | Indicates the urgency of the encounter Binding: ActPriority (example): Indicates the urgency of the encounter. | |||||
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Patient associated with the encounter | ||||
![]() ![]() |
Σ | 0..* | Reference(EpisodeOfCare) | Episode(s) of care that this encounter should be recorded against | ||||
![]() ![]() |
0..* | Reference(ServiceRequest) | The ServiceRequest that initiated this encounter | |||||
![]() ![]() |
Σ | 1..1 | BackboneElement | List of participants involved in the encounter | ||||
![]() ![]() ![]() |
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..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
![]() ![]() ![]() |
0..1 | Period | Period of time during the encounter that the participant participated | |||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Eswatini Practitioner Profile) | Clinicians who participated in the encounter | ||||
![]() ![]() |
Σ | 0..* | Reference(Appointment) | The appointment that scheduled this encounter | ||||
![]() ![]() |
1..1 | Period | The start and end time of the encounter | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | Start date and time of the encounter | ||||
![]() ![]() ![]() |
ΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing | ||||
![]() ![]() |
0..1 | Duration | Quantity of time the encounter lasted (less time absent) | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Coded reason the encounter takes place Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place. | ||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | Reason the encounter takes place (reference) | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter | ||||
![]() ![]() ![]() |
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 | Reference(Condition | Procedure) | The diagnosis or procedure relevant to the encounter | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) Binding: DiagnosisRole (preferred): The type of diagnosis this condition represents. | |||||
![]() ![]() ![]() |
0..1 | positiveInt | Ranking of the diagnosis (for each role type) | |||||
![]() ![]() |
0..* | Reference(Account) | The set of accounts that may be used for billing for this Encounter | |||||
![]() ![]() |
0..1 | BackboneElement | Details about the admission to a healthcare service | |||||
![]() ![]() ![]() |
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..1 | Identifier | Pre-admission identifier | |||||
![]() ![]() ![]() |
0..1 | Reference(Location | Organization) | The location/organization from which the patient came before admission | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | From where patient was admitted (physician referral, transfer) Binding: AdmitSource (preferred): From where the patient was admitted. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission Binding: hl7VS-re-admissionIndicator (example): The reason for re-admission of this hospitalization encounter. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Diet preferences reported by the patient Binding: Diet (example): Medical, cultural or ethical food preferences to help with catering requirements. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Special courtesies (VIP, board member) Binding: SpecialCourtesy (preferred): Special courtesies. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Wheelchair, translator, stretcher, etc. Binding: SpecialArrangements (preferred): Special arrangements. | |||||
![]() ![]() ![]() |
0..1 | Reference(Location | Organization) | Location/organization to which the patient is discharged | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Category or kind of location after discharge Binding: DischargeDisposition (example): Discharge Disposition. | |||||
![]() ![]() |
1..1 | BackboneElement | Encounter 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 | Reference(Eswatini Location Profile) | Health facility | |||||
![]() ![]() ![]() |
0..1 | code | planned | active | reserved | completed Binding: EncounterLocationStatus (required): The status of the location. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The physical type of the location (usually the level in the location hierachy - bed room ward etc.) Binding: LocationType (example): Physical form of the location. | |||||
![]() ![]() ![]() |
0..1 | Period | Time period during which the patient was present at the location | |||||
![]() ![]() |
0..1 | Reference(Organization) | The organization (facility) responsible for this encounter | |||||
![]() ![]() |
0..1 | Reference(Encounter) | Another Encounter this encounter is part of | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Encounter.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std. |
| Encounter.statusHistory.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std. |
| Encounter.class | Base | required | Value Set: Encounter Classification | 📦1.0.0 | This IG |
| Encounter.classHistory.class | Base | extensible | ActEncounterCode | 📦3.0.0 | THO v7.3 |
| Encounter.type | Base | example | Encounter type | 📍4.0.1 | FHIR Std. |
| Encounter.serviceType | Base | example | Service type | 📍4.0.1 | FHIR Std. |
| Encounter.priority | Base | example | ActPriority | 📦3.0.0 | THO v7.3 |
| Encounter.participant.type | Base | extensible | Participant type | 📍4.0.1 | FHIR Std. |
| Encounter.reasonCode | Base | preferred | Encounter Reason Codes | 📍4.0.1 | FHIR Std. |
| Encounter.diagnosis.use | Base | preferred | DiagnosisRole | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.admitSource | Base | preferred | Admit source | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.reAdmission | Base | example | hl7VS-re-admissionIndicator | 📦3.0.0 | THO v7.3 |
| Encounter.hospitalization.dietPreference | Base | example | Diet | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.specialCourtesy | Base | preferred | Special courtesy | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.specialArrangement | Base | preferred | Special arrangements | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.dischargeDisposition | Base | example | Discharge disposition | 📍4.0.1 | FHIR Std. |
| Encounter.location.status | Base | required | EncounterLocationStatus | 📍4.0.1 | FHIR Std. |
| Encounter.location.physicalType | Base | example | Location type | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Encounter | 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 Encounter
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |
![]() ![]() |
Σ | 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 | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter. |
![]() ![]() |
SΣ | 1..1 | Coding | Department in which the encounter took place Binding: Value Set: Encounter Classification (required) |
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Patient associated with the encounter |
![]() ![]() |
Σ | 1..1 | BackboneElement | List of participants involved in the encounter |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
Σ | 0..1 | Reference(Eswatini Practitioner Profile) | Clinicians who participated in the encounter |
![]() ![]() |
1..1 | Period | The start and end time of the encounter | |
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | Start date and time of the encounter |
![]() ![]() |
1..1 | BackboneElement | Encounter location | |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
1..1 | Reference(Eswatini Location Profile) | Health facility | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std. |
| Encounter.class | Base | required | Value Set: Encounter Classification | 📦1.0.0 | This IG |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Encounter | 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 Encounter
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |
![]() ![]() |
1..1 | id | Logical id of this artifact | |
![]() ![]() |
S | 1..1 | Coding | Department in which the encounter took place Binding: Value Set: Encounter Classification (required) |
![]() ![]() |
1..1 | Reference(Eswatini Patient Profile) | Patient associated with the encounter | |
![]() ![]() |
1..1 | BackboneElement | List of participants involved in the encounter | |
![]() ![]() ![]() |
0..1 | Reference(Eswatini Practitioner Profile) | Clinicians who participated in the encounter | |
![]() ![]() |
1..1 | Period | The start and end time of the encounter | |
![]() ![]() ![]() |
1..1 | dateTime | Start date and time of the encounter | |
![]() ![]() |
1..1 | BackboneElement | Encounter location | |
![]() ![]() ![]() |
1..1 | Reference(Eswatini Location Profile) | Health facility | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.class | Base | required | Value Set: Encounter Classification | 📦1.0.0 | This IG |
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Encounter | An interaction during which services are provided to the patient | |||||
![]() ![]() |
Σ | 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 | Identifier(s) by which this encounter is known | ||||
![]() ![]() |
?!Σ | 1..1 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter. | ||||
![]() ![]() |
0..* | BackboneElement | List of past encounter statuses | |||||
![]() ![]() ![]() |
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 | code | planned | arrived | triaged | in-progress | onleave | finished | cancelled + Binding: EncounterStatus (required): Current state of the encounter. | |||||
![]() ![]() ![]() |
1..1 | Period | The time that the episode was in the specified status | |||||
![]() ![]() |
SΣ | 1..1 | Coding | Department in which the encounter took place Binding: Value Set: Encounter Classification (required) | ||||
![]() ![]() |
0..* | BackboneElement | List of past encounter classes | |||||
![]() ![]() ![]() |
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 | Coding | inpatient | outpatient | ambulatory | emergency + Binding: ActEncounterCode (extensible): Classification of the encounter. | |||||
![]() ![]() ![]() |
1..1 | Period | The time that the episode was in the specified class | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Specific type of encounter Binding: EncounterType (example): The type of encounter. | ||||
![]() ![]() |
Σ | 0..1 | CodeableConcept | Specific type of service Binding: ServiceType (example): Broad categorization of the service that is to be provided. | ||||
![]() ![]() |
0..1 | CodeableConcept | Indicates the urgency of the encounter Binding: ActPriority (example): Indicates the urgency of the encounter. | |||||
![]() ![]() |
Σ | 1..1 | Reference(Eswatini Patient Profile) | Patient associated with the encounter | ||||
![]() ![]() |
Σ | 0..* | Reference(EpisodeOfCare) | Episode(s) of care that this encounter should be recorded against | ||||
![]() ![]() |
0..* | Reference(ServiceRequest) | The ServiceRequest that initiated this encounter | |||||
![]() ![]() |
Σ | 1..1 | BackboneElement | List of participants involved in the encounter | ||||
![]() ![]() ![]() |
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..* | CodeableConcept | Role of participant in encounter Binding: ParticipantType (extensible): Role of participant in encounter. | ||||
![]() ![]() ![]() |
0..1 | Period | Period of time during the encounter that the participant participated | |||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Eswatini Practitioner Profile) | Clinicians who participated in the encounter | ||||
![]() ![]() |
Σ | 0..* | Reference(Appointment) | The appointment that scheduled this encounter | ||||
![]() ![]() |
1..1 | Period | The start and end time of the encounter | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
ΣC | 1..1 | dateTime | Start date and time of the encounter | ||||
![]() ![]() ![]() |
ΣC | 0..1 | dateTime | End time with inclusive boundary, if not ongoing | ||||
![]() ![]() |
0..1 | Duration | Quantity of time the encounter lasted (less time absent) | |||||
![]() ![]() |
Σ | 0..* | CodeableConcept | Coded reason the encounter takes place Binding: EncounterReasonCodes (preferred): Reason why the encounter takes place. | ||||
![]() ![]() |
Σ | 0..* | Reference(Condition | Procedure | Observation | ImmunizationRecommendation) | Reason the encounter takes place (reference) | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | The list of diagnosis relevant to this encounter | ||||
![]() ![]() ![]() |
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 | Reference(Condition | Procedure) | The diagnosis or procedure relevant to the encounter | ||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Role that this diagnosis has within the encounter (e.g. admission, billing, discharge …) Binding: DiagnosisRole (preferred): The type of diagnosis this condition represents. | |||||
![]() ![]() ![]() |
0..1 | positiveInt | Ranking of the diagnosis (for each role type) | |||||
![]() ![]() |
0..* | Reference(Account) | The set of accounts that may be used for billing for this Encounter | |||||
![]() ![]() |
0..1 | BackboneElement | Details about the admission to a healthcare service | |||||
![]() ![]() ![]() |
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..1 | Identifier | Pre-admission identifier | |||||
![]() ![]() ![]() |
0..1 | Reference(Location | Organization) | The location/organization from which the patient came before admission | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | From where patient was admitted (physician referral, transfer) Binding: AdmitSource (preferred): From where the patient was admitted. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission Binding: hl7VS-re-admissionIndicator (example): The reason for re-admission of this hospitalization encounter. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Diet preferences reported by the patient Binding: Diet (example): Medical, cultural or ethical food preferences to help with catering requirements. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Special courtesies (VIP, board member) Binding: SpecialCourtesy (preferred): Special courtesies. | |||||
![]() ![]() ![]() |
0..* | CodeableConcept | Wheelchair, translator, stretcher, etc. Binding: SpecialArrangements (preferred): Special arrangements. | |||||
![]() ![]() ![]() |
0..1 | Reference(Location | Organization) | Location/organization to which the patient is discharged | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | Category or kind of location after discharge Binding: DischargeDisposition (example): Discharge Disposition. | |||||
![]() ![]() |
1..1 | BackboneElement | Encounter 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 | Reference(Eswatini Location Profile) | Health facility | |||||
![]() ![]() ![]() |
0..1 | code | planned | active | reserved | completed Binding: EncounterLocationStatus (required): The status of the location. | |||||
![]() ![]() ![]() |
0..1 | CodeableConcept | The physical type of the location (usually the level in the location hierachy - bed room ward etc.) Binding: LocationType (example): Physical form of the location. | |||||
![]() ![]() ![]() |
0..1 | Period | Time period during which the patient was present at the location | |||||
![]() ![]() |
0..1 | Reference(Organization) | The organization (facility) responsible for this encounter | |||||
![]() ![]() |
0..1 | Reference(Encounter) | Another Encounter this encounter is part of | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Encounter.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Encounter.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std. |
| Encounter.statusHistory.status | Base | required | EncounterStatus | 📍4.0.1 | FHIR Std. |
| Encounter.class | Base | required | Value Set: Encounter Classification | 📦1.0.0 | This IG |
| Encounter.classHistory.class | Base | extensible | ActEncounterCode | 📦3.0.0 | THO v7.3 |
| Encounter.type | Base | example | Encounter type | 📍4.0.1 | FHIR Std. |
| Encounter.serviceType | Base | example | Service type | 📍4.0.1 | FHIR Std. |
| Encounter.priority | Base | example | ActPriority | 📦3.0.0 | THO v7.3 |
| Encounter.participant.type | Base | extensible | Participant type | 📍4.0.1 | FHIR Std. |
| Encounter.reasonCode | Base | preferred | Encounter Reason Codes | 📍4.0.1 | FHIR Std. |
| Encounter.diagnosis.use | Base | preferred | DiagnosisRole | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.admitSource | Base | preferred | Admit source | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.reAdmission | Base | example | hl7VS-re-admissionIndicator | 📦3.0.0 | THO v7.3 |
| Encounter.hospitalization.dietPreference | Base | example | Diet | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.specialCourtesy | Base | preferred | Special courtesy | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.specialArrangement | Base | preferred | Special arrangements | 📍4.0.1 | FHIR Std. |
| Encounter.hospitalization.dischargeDisposition | Base | example | Discharge disposition | 📍4.0.1 | FHIR Std. |
| Encounter.location.status | Base | required | EncounterLocationStatus | 📍4.0.1 | FHIR Std. |
| Encounter.location.physicalType | Base | example | Location type | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Encounter | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Encounter | 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 | Encounter | 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 | Encounter | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Encounter | 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 Encounter
Other representations of profile: CSV, Excel, Schematron
The Eswatini Encounter Profile constrains the base FHIR Encounter resource to ensure the capture of essential national data elements, including:
Encounter status to reflect the lifecycle of the interaction (e.g., planned, in-progress, completed) Encounter class and/or type to indicate the nature of service delivery Subject (Patient) identifying the individual receiving care Service provider organization responsible for the encounter Location(s) where care was delivered, aligned with national facility and service point definitions Period indicating when the encounter occurred
These elements enable consistent tracking of patient interactions across facilities and over time.
This profile is designed to:
Align with HL7 FHIR R4 Encounter semantics Support interoperability within the Eswatini National Digital Health Architecture Enable linkage with related resources such as Patient, Practitioner, Organization, and Location Facilitate reporting, analytics, and continuity of care across systems and programs
Where terminology bindings are applied, they are intended to support the use of nationally defined or approved code systems to ensure uniform interpretation of encounter data.
Systems claiming conformance to this profile SHALL:
Populate all required elements as defined by the profile Use stable logical identifiers to support data exchange and record matching Ensure encounter data reflects real-world clinical workflows and timelines
Optional elements from the base Encounter resource may be used when relevant, provided they do not conflict with the constraints defined in this profile.
The Eswatini Encounter Profile supports extensibility through standard FHIR mechanisms. Future national requirements—such as program-specific indicators or workflow enhancements—may be supported using FHIR extensions, provided they are governed and approved through national processes.
The Eswatini Encounter Profile provides a standardized, interoperable representation of healthcare encounters that supports clinical care delivery, health system management, and national health information exchange. By adopting this profile, systems contribute to a unified, high-quality, and interoperable digital health ecosystem for the Kingdom of Eswatini.