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

Resource Profile: Eswatini Patient Profile

Official URL: https://eswatinihie.com/fhir/StructureDefinition/SzPatient Version: 1.0.0
Active as of 2026-08-21 Computable Name: SzPatient

The Eswatini Patient Profile defines the constraints and usage of the HL7 FHIR Patient resource for representing individuals receiving healthcare services within the Eswatini National Digital Health Ecosystem. It provides a standardized and interoperable way to identify and describe patients across health information systems, supporting continuity of care, patient safety, and national health reporting. This profile ensures that patient demographic and identifying information is captured in a consistent, accurate, and nationally aligned manner, enabling reliable identification and information exchange across systems.

Scope and Usage

This profile SHALL be used by all systems that create, manage, or exchange patient information, including:

Electronic Medical Record (EMR) systems Facility and community health information systems Laboratory, pharmacy, and diagnostic systems Referral and care coordination platforms National health information exchange (HIE) services

The profile applies to all individuals receiving health‑related services, including:

Patients receiving clinical care at facilities Individuals receiving community or outreach services Patients participating in public health or programme‑based care Deceased patients, where historical or mortality information is maintained

Each Patient resource represents a single individual who is the subject of care or health‑related services.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id Σ 1..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:nationality 0..* CodeableConcept Nationality.
URL: https://eswatinihie.com/fhir/StructureDefinition/SzNationalityExtension
Binding: Iso3166-1-2 (preferred)
.... extension:inkhundla S 0..1 CodeableConcept Extention: Eswatini Inkhundla
URL: https://eswatinihie.com/fhir/StructureDefinition/SzInkhundlaExtension
Binding: Value Set: Tinkhundla (required)
.... extension:chiefdom S 0..1 CodeableConcept Extention: Eswatini Chiefdom
URL: https://eswatinihie.com/fhir/StructureDefinition/SzChiefdomExtension
Binding: Value Set: Chiefdoms Value Set (required)
.... extension:registrationDate 1..1 dateTime Date the patient was registered
URL: https://eswatinihie.com/fhir/StructureDefinition/SzRegistrationDate
... identifier Σ 1..* Identifier Patient's Identification Number
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 1..1 CodeableConcept Type of patient identifier
Binding: Value Set: Person Identifier (required)
.... value Σ 1..1 string Patient identier value
Example General: 123456
... active ?!Σ 0..1 boolean Whether this patient's record is in active use
... name Σ 1..1 HumanName Patient's name
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
.... family Σ 1..1 string Family name (often called 'Surname')
.... given Σ 1..* string Patient's given name
This repeating element order: Given Names appear in the correct order for presenting the name
... gender Σ 1..1 code Sex at birth: male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 1..1 date Date of birth: YYYY-MM-DD
.... Slices for extension 0..* Extension Patient's birth time.
Slice: Unordered, Open by value:url
..... extension:birthTime 0..1 dateTime Time of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
... deceased[x] ?!SΣ 0..1 dateTime Patient's date of death
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier.type Base required Value Set: Person Identifier 📦1.0.0 This IG
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Patient.link.type Base required LinkType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Patient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Patient 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 Patient 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 Patient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Patient 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 Patient

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id 1..1 id Logical id of this artifact
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:nationality 0..* CodeableConcept Nationality.
URL: https://eswatinihie.com/fhir/StructureDefinition/SzNationalityExtension
Binding: Iso3166-1-2 (preferred)
.... extension:inkhundla S 0..1 CodeableConcept Extention: Eswatini Inkhundla
URL: https://eswatinihie.com/fhir/StructureDefinition/SzInkhundlaExtension
Binding: Value Set: Tinkhundla (required)
.... extension:chiefdom S 0..1 CodeableConcept Extention: Eswatini Chiefdom
URL: https://eswatinihie.com/fhir/StructureDefinition/SzChiefdomExtension
Binding: Value Set: Chiefdoms Value Set (required)
.... extension:registrationDate 1..1 dateTime Date the patient was registered
URL: https://eswatinihie.com/fhir/StructureDefinition/SzRegistrationDate
... identifier 1..* Identifier Patient's Identification Number
.... type 1..1 CodeableConcept Type of patient identifier
Binding: Value Set: Person Identifier (required)
.... value 1..1 string Patient identier value
.... family 1..1 string Family name (often called 'Surname')
.... given 1..* string Patient's given name
... gender 1..1 code Sex at birth: male | female | other | unknown
... birthDate 1..1 date Date of birth: YYYY-MM-DD
.... Slices for extension 0..* Extension Patient's birth time.
Slice: Unordered, Open by value:url
..... extension:birthTime 0..1 dateTime Time of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
... deceased[x] S 0..1 dateTime Patient's date of death

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Patient.identifier.type Base required Value Set: Person Identifier 📦1.0.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id Σ 1..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:nationality 0..* CodeableConcept Nationality.
URL: https://eswatinihie.com/fhir/StructureDefinition/SzNationalityExtension
Binding: Iso3166-1-2 (preferred)
.... extension:inkhundla S 0..1 CodeableConcept Extention: Eswatini Inkhundla
URL: https://eswatinihie.com/fhir/StructureDefinition/SzInkhundlaExtension
Binding: Value Set: Tinkhundla (required)
.... extension:chiefdom S 0..1 CodeableConcept Extention: Eswatini Chiefdom
URL: https://eswatinihie.com/fhir/StructureDefinition/SzChiefdomExtension
Binding: Value Set: Chiefdoms Value Set (required)
.... extension:registrationDate 1..1 dateTime Date the patient was registered
URL: https://eswatinihie.com/fhir/StructureDefinition/SzRegistrationDate
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..* Identifier Patient's Identification Number
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 1..1 CodeableConcept Type of patient identifier
Binding: Value Set: Person Identifier (required)
.... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ 1..1 string Patient identier value
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... active ?!Σ 0..1 boolean Whether this patient's record is in active use
... name Σ 1..1 HumanName Patient's name
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
.... text Σ 0..1 string Text representation of the full name
.... family Σ 1..1 string Family name (often called 'Surname')
.... given Σ 1..* string Patient's given name
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ 0..* string Parts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ 0..1 Period Time period when name was/is in use
... telecom Σ 0..* ContactPoint A contact detail for the individual
... gender Σ 1..1 code Sex at birth: male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 1..1 date Date of birth: YYYY-MM-DD
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Patient's birth time.
Slice: Unordered, Open by value:url
..... extension:birthTime 0..1 dateTime Time of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
.... value 0..1 date Primitive value for date
... deceased[x] ?!SΣ 0..1 dateTime Patient's date of death
... address Σ 0..* Address An address for the individual
... maritalStatus 0..1 CodeableConcept Marital (civil) status of a patient
Binding: Marital Status Codes (extensible): The domestic partnership status of a person.
... multipleBirth[x] 0..1 Whether patient is part of a multiple birth
.... multipleBirthBoolean boolean
.... multipleBirthInteger integer
... photo 0..* Attachment Image of the patient
... contact C 0..* BackboneElement A contact party (e.g. guardian, partner, friend) for the patient
Constraints: pat-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... relationship 0..* CodeableConcept The kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.
.... name 0..1 HumanName A name associated with the contact person
.... telecom 0..* ContactPoint A contact detail for the person
.... address 0..1 Address Address for the contact person
.... gender 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
.... organization C 0..1 Reference(Organization) Organization that is associated with the contact
.... period 0..1 Period The period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..* BackboneElement A language which may be used to communicate with the patient about his or her health
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... language 1..1 CodeableConcept The language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
.... preferred 0..1 boolean Language preference indicator
... generalPractitioner 0..* Reference(Organization | Practitioner | PractitionerRole) Patient's nominated primary care provider
... managingOrganization Σ 0..1 Reference(Organization) Organization that is the custodian of the patient record
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier.type Base required Value Set: Person Identifier 📦1.0.0 This IG
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Patient.maritalStatus Base extensible MaritalStatus 📍4.0.1 FHIR Std.
Patient.contact.relationship Base extensible Patient Contact Relationship 📍4.0.1 FHIR Std.
Patient.contact.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Patient.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.link.type Base required LinkType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Patient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Patient 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 Patient 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 Patient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Patient 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()
pat-1 error Patient.contact SHALL at least contain a contact's details or a reference to an organization name.exists() or telecom.exists() or address.exists() or organization.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id Σ 1..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:nationality 0..* CodeableConcept Nationality.
URL: https://eswatinihie.com/fhir/StructureDefinition/SzNationalityExtension
Binding: Iso3166-1-2 (preferred)
.... extension:inkhundla S 0..1 CodeableConcept Extention: Eswatini Inkhundla
URL: https://eswatinihie.com/fhir/StructureDefinition/SzInkhundlaExtension
Binding: Value Set: Tinkhundla (required)
.... extension:chiefdom S 0..1 CodeableConcept Extention: Eswatini Chiefdom
URL: https://eswatinihie.com/fhir/StructureDefinition/SzChiefdomExtension
Binding: Value Set: Chiefdoms Value Set (required)
.... extension:registrationDate 1..1 dateTime Date the patient was registered
URL: https://eswatinihie.com/fhir/StructureDefinition/SzRegistrationDate
... identifier Σ 1..* Identifier Patient's Identification Number
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 1..1 CodeableConcept Type of patient identifier
Binding: Value Set: Person Identifier (required)
.... value Σ 1..1 string Patient identier value
Example General: 123456
... active ?!Σ 0..1 boolean Whether this patient's record is in active use
... name Σ 1..1 HumanName Patient's name
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
.... family Σ 1..1 string Family name (often called 'Surname')
.... given Σ 1..* string Patient's given name
This repeating element order: Given Names appear in the correct order for presenting the name
... gender Σ 1..1 code Sex at birth: male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 1..1 date Date of birth: YYYY-MM-DD
.... Slices for extension 0..* Extension Patient's birth time.
Slice: Unordered, Open by value:url
..... extension:birthTime 0..1 dateTime Time of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
... deceased[x] ?!SΣ 0..1 dateTime Patient's date of death
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier.type Base required Value Set: Person Identifier 📦1.0.0 This IG
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Patient.link.type Base required LinkType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Patient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Patient 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 Patient 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 Patient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Patient 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 Patient

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id 1..1 id Logical id of this artifact
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:nationality 0..* CodeableConcept Nationality.
URL: https://eswatinihie.com/fhir/StructureDefinition/SzNationalityExtension
Binding: Iso3166-1-2 (preferred)
.... extension:inkhundla S 0..1 CodeableConcept Extention: Eswatini Inkhundla
URL: https://eswatinihie.com/fhir/StructureDefinition/SzInkhundlaExtension
Binding: Value Set: Tinkhundla (required)
.... extension:chiefdom S 0..1 CodeableConcept Extention: Eswatini Chiefdom
URL: https://eswatinihie.com/fhir/StructureDefinition/SzChiefdomExtension
Binding: Value Set: Chiefdoms Value Set (required)
.... extension:registrationDate 1..1 dateTime Date the patient was registered
URL: https://eswatinihie.com/fhir/StructureDefinition/SzRegistrationDate
... identifier 1..* Identifier Patient's Identification Number
.... type 1..1 CodeableConcept Type of patient identifier
Binding: Value Set: Person Identifier (required)
.... value 1..1 string Patient identier value
.... family 1..1 string Family name (often called 'Surname')
.... given 1..* string Patient's given name
... gender 1..1 code Sex at birth: male | female | other | unknown
... birthDate 1..1 date Date of birth: YYYY-MM-DD
.... Slices for extension 0..* Extension Patient's birth time.
Slice: Unordered, Open by value:url
..... extension:birthTime 0..1 dateTime Time of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
... deceased[x] S 0..1 dateTime Patient's date of death

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Patient.identifier.type Base required Value Set: Person Identifier 📦1.0.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Patient 0..* Patient Information about an individual or animal receiving health care services
... id Σ 1..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:nationality 0..* CodeableConcept Nationality.
URL: https://eswatinihie.com/fhir/StructureDefinition/SzNationalityExtension
Binding: Iso3166-1-2 (preferred)
.... extension:inkhundla S 0..1 CodeableConcept Extention: Eswatini Inkhundla
URL: https://eswatinihie.com/fhir/StructureDefinition/SzInkhundlaExtension
Binding: Value Set: Tinkhundla (required)
.... extension:chiefdom S 0..1 CodeableConcept Extention: Eswatini Chiefdom
URL: https://eswatinihie.com/fhir/StructureDefinition/SzChiefdomExtension
Binding: Value Set: Chiefdoms Value Set (required)
.... extension:registrationDate 1..1 dateTime Date the patient was registered
URL: https://eswatinihie.com/fhir/StructureDefinition/SzRegistrationDate
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 1..* Identifier Patient's Identification Number
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 1..1 CodeableConcept Type of patient identifier
Binding: Value Set: Person Identifier (required)
.... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ 1..1 string Patient identier value
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... active ?!Σ 0..1 boolean Whether this patient's record is in active use
... name Σ 1..1 HumanName Patient's name
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
.... text Σ 0..1 string Text representation of the full name
.... family Σ 1..1 string Family name (often called 'Surname')
.... given Σ 1..* string Patient's given name
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ 0..* string Parts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ 0..1 Period Time period when name was/is in use
... telecom Σ 0..* ContactPoint A contact detail for the individual
... gender Σ 1..1 code Sex at birth: male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 1..1 date Date of birth: YYYY-MM-DD
.... id 0..1 string xml:id (or equivalent in JSON)
.... Slices for extension 0..* Extension Patient's birth time.
Slice: Unordered, Open by value:url
..... extension:birthTime 0..1 dateTime Time of day of birth
URL: http://hl7.org/fhir/StructureDefinition/patient-birthTime
.... value 0..1 date Primitive value for date
... deceased[x] ?!SΣ 0..1 dateTime Patient's date of death
... address Σ 0..* Address An address for the individual
... maritalStatus 0..1 CodeableConcept Marital (civil) status of a patient
Binding: Marital Status Codes (extensible): The domestic partnership status of a person.
... multipleBirth[x] 0..1 Whether patient is part of a multiple birth
.... multipleBirthBoolean boolean
.... multipleBirthInteger integer
... photo 0..* Attachment Image of the patient
... contact C 0..* BackboneElement A contact party (e.g. guardian, partner, friend) for the patient
Constraints: pat-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... relationship 0..* CodeableConcept The kind of relationship
Binding: PatientContactRelationship (extensible): The nature of the relationship between a patient and a contact person for that patient.
.... name 0..1 HumanName A name associated with the contact person
.... telecom 0..* ContactPoint A contact detail for the person
.... address 0..1 Address Address for the contact person
.... gender 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
.... organization C 0..1 Reference(Organization) Organization that is associated with the contact
.... period 0..1 Period The period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..* BackboneElement A language which may be used to communicate with the patient about his or her health
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... language 1..1 CodeableConcept The language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
.... preferred 0..1 boolean Language preference indicator
... generalPractitioner 0..* Reference(Organization | Practitioner | PractitionerRole) Patient's nominated primary care provider
... managingOrganization Σ 0..1 Reference(Organization) Organization that is the custodian of the patient record
... link ?!Σ 0..* BackboneElement Link to another patient resource that concerns the same actual person
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... other Σ 1..1 Reference(Patient | RelatedPerson) The other patient or related person resource that the link refers to
.... type Σ 1..1 code replaced-by | replaces | refer | seealso
Binding: LinkType (required): The type of link between this patient resource and another patient resource.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Patient.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Patient.identifier.type Base required Value Set: Person Identifier 📦1.0.0 This IG
Patient.name.use Base required NameUse 📍4.0.1 FHIR Std.
Patient.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Patient.maritalStatus Base extensible MaritalStatus 📍4.0.1 FHIR Std.
Patient.contact.relationship Base extensible Patient Contact Relationship 📍4.0.1 FHIR Std.
Patient.contact.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Patient.communication.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
Patient.link.type Base required LinkType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Patient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Patient 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 Patient 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 Patient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Patient 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()
pat-1 error Patient.contact SHALL at least contain a contact's details or a reference to an organization name.exists() or telecom.exists() or address.exists() or organization.exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Core Data Requirements

The profile constrains the base Patient resource to ensure capture of essential patient information, including:

Patient identifiers, used to uniquely identify the individual Patient name, supporting correct identification and display Gender, where applicable Date of birth, supporting age‑based care and reporting Contact details, where available, to support communication Address or location information, where applicable

These elements support reliable patient matching, longitudinal care, and health system reporting.

Interoperability and National Alignment

This profile is designed to:

Conform to HL7 FHIR R4 Patient semantics Support interoperability within the Eswatini National HIE Enable consistent patient identification across systems and facilities Support national health reporting, surveillance, and planning activities

Standardized patient data is foundational to meaningful information exchange and health system analytics.

Data Quality and Conformance

Systems claiming conformance to this profile SHALL:

Populate all required and Must Support elements defined by the profile Ensure patient identifiers and demographic details are accurate and maintained over time Use patient references consistently across all related resources

Optional elements from the base Patient resource may be used where relevant, provided they do not conflict with the constraints defined in this profile.

Extensibility

The Eswatini Patient Profile supports extensibility through standard FHIR mechanisms. Additional patient‑related attributes—such as nationally defined demographic elements or programme‑specific identifiers—may be introduced using FHIR extensions, subject to national governance and approval.

Summary

The Eswatini Patient Profile provides a standardized and interoperable representation of individuals receiving healthcare services, forming the cornerstone of the national digital health architecture. Adoption of this profile improves patient identification, enhances continuity of care, and strengthens interoperability across healthcare systems throughout the Kingdom of Eswatini.