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 Condition Profile

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

The Eswatini Condition Profile defines the constraints and usage of the HL7 FHIR Condition resource for representing health conditions, diagnoses, and clinical problems within the Eswatini National Digital Health Ecosystem. It provides a standardized and interoperable way to record, exchange, and manage information about a patient’s health conditions across the continuum of care. This profile ensures that condition data is captured in a consistent, clinically meaningful, and nationally aligned manner, supporting patient management, continuity of care, reporting, and analytics.

Scope and Usage

This profile SHALL be used by systems that record or exchange patient condition information, including:

Electronic Medical Record (EMR) systems Hospital and facility-based clinical systems Referral and care coordination platforms Public health and disease surveillance systems National health information exchange (HIE) services

The profile applies to a broad range of clinical conditions, including:

Active and historical diagnoses Chronic and long-term conditions Acute illnesses and problems Conditions identified during encounters or through clinical assessment

Conditions may be recorded at different points in time and updated as clinical understanding evolves.

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
.. Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: con-3, con-4, con-5
... id Σ 1..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.
... code Σ 1..1 CodeableConcept Condition Identification
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.
... subject Σ 1..1 Reference(Patient | Group) Who has the condition?
... encounter Σ 1..1 Reference(Encounter) Encounter created as part of
... Slices for onset[x] Σ 1..1 dateTime Estimated or actual date, date-time, or age
Slice: Unordered, Closed by type:$this
.... onset[x]:onsetDateTime Σ 1..1 dateTime Diagnosis date
... abatement[x] C 0..1 dateTime When in resolution/remission
... recordedDate Σ 1..1 dateTime Date record was first recorded

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.clinicalStatus Base required Condition Clinical Status Codes 📍4.0.1 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📍4.0.1 FHIR Std.
Condition.category Base extensible Condition Category Codes 📍4.0.1 FHIR Std.
Condition.code Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
con-3 best practice Condition Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
con-4 error Condition If condition is abated, then clinicalStatus must be either inactive, resolved, or remission abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
con-5 error Condition Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
dom-2 error Condition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Condition 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 Condition 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 Condition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Condition 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 Condition

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition 0..* Condition Detailed information about conditions, problems or diagnoses
... id 1..1 id Logical id of this artifact
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
... code 1..1 CodeableConcept Condition Identification
... Slices for onset[x] 1..1 dateTime Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onset[x]:onsetDateTime 1..1 dateTime Diagnosis date
... abatement[x] 0..1 dateTime When in resolution/remission
... recordedDate 1..1 dateTime Date record was first recorded

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: con-3, con-4, con-5
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this condition
... clinicalStatus ?!ΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.
... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.
... severity 0..1 CodeableConcept Subjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician.
... code Σ 1..1 CodeableConcept Condition Identification
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.
... bodySite Σ 0..* CodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... subject Σ 1..1 Reference(Patient | Group) Who has the condition?
... encounter Σ 1..1 Reference(Encounter) Encounter created as part of
... Slices for onset[x] Σ 1..1 dateTime Estimated or actual date, date-time, or age
Slice: Unordered, Closed by type:$this
.... onset[x]:onsetDateTime Σ 1..1 dateTime Diagnosis date
... abatement[x] C 0..1 dateTime When in resolution/remission
... recordedDate Σ 1..1 dateTime Date record was first recorded
... recorder Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Who recorded the condition
... asserter Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Person who asserts this condition
... stage C 0..* BackboneElement Stage/grade, usually assessed formally
Constraints: con-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
.... summary C 0..1 CodeableConcept Simple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).
.... assessment C 0..* Reference(ClinicalImpression | DiagnosticReport | Observation) Formal record of assessment
.... type 0..1 CodeableConcept Kind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).
... evidence C 0..* BackboneElement Supporting evidence
Constraints: con-2
.... 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
.... code ΣC 0..* CodeableConcept Manifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.
.... detail ΣC 0..* Reference(Resource) Supporting information found elsewhere
... note 0..* Annotation Additional information about the Condition

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📍4.0.1 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📍4.0.1 FHIR Std.
Condition.category Base extensible Condition Category Codes 📍4.0.1 FHIR Std.
Condition.severity Base preferred Condition/Diagnosis Severity 📍4.0.1 FHIR Std.
Condition.code Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
Condition.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Condition.stage.summary Base example Condition Stage 📍4.0.1 FHIR Std.
Condition.stage.type Base example Condition Stage Type 📍4.0.1 FHIR Std.
Condition.evidence.code Base example Manifestation and Symptom Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
con-1 error Condition.stage Stage SHALL have summary or assessment summary.exists() or assessment.exists()
con-2 error Condition.evidence evidence SHALL have code or details code.exists() or detail.exists()
con-3 best practice Condition Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
con-4 error Condition If condition is abated, then clinicalStatus must be either inactive, resolved, or remission abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
con-5 error Condition Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
dom-2 error Condition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Condition 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 Condition 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 Condition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Condition 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 Condition

Summary

Mandatory: 7 elements
Must-Support: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Condition.onset[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: con-3, con-4, con-5
... id Σ 1..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.
... code Σ 1..1 CodeableConcept Condition Identification
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.
... subject Σ 1..1 Reference(Patient | Group) Who has the condition?
... encounter Σ 1..1 Reference(Encounter) Encounter created as part of
... Slices for onset[x] Σ 1..1 dateTime Estimated or actual date, date-time, or age
Slice: Unordered, Closed by type:$this
.... onset[x]:onsetDateTime Σ 1..1 dateTime Diagnosis date
... abatement[x] C 0..1 dateTime When in resolution/remission
... recordedDate Σ 1..1 dateTime Date record was first recorded

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.clinicalStatus Base required Condition Clinical Status Codes 📍4.0.1 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📍4.0.1 FHIR Std.
Condition.category Base extensible Condition Category Codes 📍4.0.1 FHIR Std.
Condition.code Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
con-3 best practice Condition Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
con-4 error Condition If condition is abated, then clinicalStatus must be either inactive, resolved, or remission abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
con-5 error Condition Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
dom-2 error Condition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Condition 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 Condition 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 Condition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Condition 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 Condition

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition 0..* Condition Detailed information about conditions, problems or diagnoses
... id 1..1 id Logical id of this artifact
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
... code 1..1 CodeableConcept Condition Identification
... Slices for onset[x] 1..1 dateTime Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onset[x]:onsetDateTime 1..1 dateTime Diagnosis date
... abatement[x] 0..1 dateTime When in resolution/remission
... recordedDate 1..1 dateTime Date record was first recorded

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: con-3, con-4, con-5
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External Ids for this condition
... clinicalStatus ?!ΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.
... verificationStatus ?!ΣC 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required): The verification status to support or decline the clinical status of the condition or diagnosis.
... category S 1..1 CodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.
... severity 0..1 CodeableConcept Subjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician.
... code Σ 1..1 CodeableConcept Condition Identification
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.
... bodySite Σ 0..* CodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... subject Σ 1..1 Reference(Patient | Group) Who has the condition?
... encounter Σ 1..1 Reference(Encounter) Encounter created as part of
... Slices for onset[x] Σ 1..1 dateTime Estimated or actual date, date-time, or age
Slice: Unordered, Closed by type:$this
.... onset[x]:onsetDateTime Σ 1..1 dateTime Diagnosis date
... abatement[x] C 0..1 dateTime When in resolution/remission
... recordedDate Σ 1..1 dateTime Date record was first recorded
... recorder Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Who recorded the condition
... asserter Σ 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) Person who asserts this condition
... stage C 0..* BackboneElement Stage/grade, usually assessed formally
Constraints: con-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
.... summary C 0..1 CodeableConcept Simple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).
.... assessment C 0..* Reference(ClinicalImpression | DiagnosticReport | Observation) Formal record of assessment
.... type 0..1 CodeableConcept Kind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).
... evidence C 0..* BackboneElement Supporting evidence
Constraints: con-2
.... 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
.... code ΣC 0..* CodeableConcept Manifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.
.... detail ΣC 0..* Reference(Resource) Supporting information found elsewhere
... note 0..* Annotation Additional information about the Condition

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📍4.0.1 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📍4.0.1 FHIR Std.
Condition.category Base extensible Condition Category Codes 📍4.0.1 FHIR Std.
Condition.severity Base preferred Condition/Diagnosis Severity 📍4.0.1 FHIR Std.
Condition.code Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
Condition.bodySite Base example SNOMED CT Body Structures 📍4.0.1 FHIR Std.
Condition.stage.summary Base example Condition Stage 📍4.0.1 FHIR Std.
Condition.stage.type Base example Condition Stage Type 📍4.0.1 FHIR Std.
Condition.evidence.code Base example Manifestation and Symptom Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
con-1 error Condition.stage Stage SHALL have summary or assessment summary.exists() or assessment.exists()
con-2 error Condition.evidence evidence SHALL have code or details code.exists() or detail.exists()
con-3 best practice Condition Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item clinicalStatus.exists() or verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code = 'entered-in-error').exists() or category.select($this='problem-list-item').empty()
con-4 error Condition If condition is abated, then clinicalStatus must be either inactive, resolved, or remission abatement.empty() or clinicalStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-clinical' and (code='resolved' or code='remission' or code='inactive')).exists()
con-5 error Condition Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').empty() or clinicalStatus.empty()
dom-2 error Condition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Condition 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 Condition 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 Condition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Condition 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 Condition

Summary

Mandatory: 7 elements
Must-Support: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Condition.onset[x]

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Core Data Requirements

The profile constrains the base Condition resource to ensure capture of essential clinical condition information, including:

Clinical status indicating whether the condition is active, resolved, or inactive Verification status to reflect the certainty of the diagnosis (e.g., confirmed, unconfirmed) Condition code identifying the diagnosed or assessed condition Subject (Patient) to whom the condition applies Onset date or period, where available, indicating when the condition began

These elements support accurate clinical documentation and enable longitudinal tracking of patient health conditions.

Interoperability and National Alignment

This profile is designed to:

Conform to HL7 FHIR R4 Condition semantics Support interoperability within the Eswatini National HIE Enable linkage with related resources such as Patient, Encounter, Clinical Observation, and Practitioner Facilitate continuity of care across facilities and over time

By standardizing condition data, the profile enables safe and accurate exchange of patient health information between systems.

Data Quality and Conformance

Systems claiming conformance to this profile SHALL:

Populate all required and Must Support elements as defined Ensure condition data reflects current clinical knowledge and is updated as appropriate Use clinical and verification status elements to clearly express the state and certainty of the condition

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

Extensibility

The Eswatini Condition Profile supports extensibility through standard FHIR mechanisms. Additional clinical details—such as condition severity, stage, or program-specific indicators—may be introduced using FHIR extensions, subject to governance and approval.

Summary

The Eswatini Condition Profile provides a standardized and interoperable representation of patient health conditions, supporting accurate clinical documentation, continuity of care, and health system reporting. Adoption of this profile contributes to improved patient management, better data quality, and stronger interoperability across healthcare systems in the Kingdom of Eswatini.