Kenya Emergency Care Implementation Guide
0.1.0 - ci-build Kenya flag

Kenya Emergency Care Implementation Guide, published by Digital Health Agency (DHA), Kenya. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IntelliSOFT-Consulting/Kenya-Emergency-FHIR-IG/ and changes regularly. See the Directory of published versions

Resource Profile: Condition - Emergency Diagnosis Staging

Official URL: https://fhir.dha.go.ke/ig/emergency/StructureDefinition/em-condition Version: 0.1.0
Active as of 2026-08-07 Computable Name: EMCondition

A specialization of Condition for emergency diagnosis staging. Do not reuse this profile for a generic/routine-visit Condition.

One emergency encounter (EMIncidentEncounter/EMPOCEncounter/EMEDEncounter) is expected to produce multiple Condition instances over time — one per diagnostic stage — distinguished by category and verificationStatus, and never overwritten in place: chief-complaint (minimum 1), past-medical-history (0.., pre-existing comorbidities captured during intake rather than staged diagnoses of this presentation), working-diagnosis or differential-diagnosis (0..), and discharge-diagnosis (0..*, required before the encounter can be considered diagnostically closed for claims purposes, though that is an encounter-closure business rule rather than a FHIR cardinality constraint on this profile).

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, em-condition-1, em-condition-2
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Optional local identifier for this diagnosis entry
... verificationStatus ?!SΣC 1..1 CodeableConcept Confidence level of this diagnosis entry
Binding: ConditionVerificationStatus (required)
... category S 1..1 CodeableConcept Which diagnostic stage this instance represents
Binding: Emergency Diagnosis Staging Category Value Set (extensible)
... severity S 0..1 CodeableConcept Triage-linked acuity/severity marker for this diagnosis
Binding: Condition/DiagnosisSeverity (extensible)
... code SΣ 1..1 CodeableConcept The diagnosis or complaint code
Binding: Condition/Problem/DiagnosisCodes (extensible)
... bodySite Σ 0..* CodeableConcept Anatomical site(s) relevant to the diagnosis
Binding: SNOMEDCTBodyStructures (extensible)
... subject SΣ 1..1 Reference(Patient) Patient this diagnosis concerns
... encounter SΣ 1..1 Reference(Encounter) Encounter this diagnosis was recorded in
... Slices for onset[x] Σ 0..1 Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
.... onset[x]:onsetDateTime SΣ 0..1 dateTime When the condition/symptom is believed to have started
... recordedDate SΣ 1..1 dateTime When this diagnosis entry was recorded
... recorder SΣ 0..1 Reference(Practitioner | PractitionerRole) Who recorded this diagnosis entry
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who originally asserted this diagnosis or complaint
... evidence C 0..* BackboneElement Supporting evidence (labs/imaging) for a working or discharge diagnosis
Constraints: con-2
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... note 0..* Annotation Free-text clinical notes about this diagnosis entry

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 Emergency Diagnosis Staging Category Value Set 📦0.1.0 This IG
Condition.severity Base extensible Condition/Diagnosis Severity 📦4.0.1 FHIR Std.
Condition.code Base extensible Condition/Problem/Diagnosis Codes 📦4.0.1 FHIR Std.
Condition.bodySite Base extensible SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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())
em-condition-1 error Condition A discharge-diagnosis category Condition must have a confirmed verificationStatus. A provisional or differential diagnosis must never be submitted for claims adjudication as though it were confirmed. category.coding.where(code = 'discharge-diagnosis').exists() implies verificationStatus.coding.where(code = 'confirmed').exists()
em-condition-2 error Condition Condition.abatementDateTime is not a meaningful concept for an acute emergency diagnosis stage and must not be populated on this profile. abatement.empty()
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 C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: em-condition-1, em-condition-2
... identifier 0..* Identifier Optional local identifier for this diagnosis entry
... clinicalStatus S 1..1 CodeableConcept Whether the condition is currently active
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus S 1..1 CodeableConcept Confidence level of this diagnosis entry
Binding: ConditionVerificationStatus (required)
... severity S 0..1 CodeableConcept Triage-linked acuity/severity marker for this diagnosis
Binding: Condition/DiagnosisSeverity (extensible)
... code S 1..1 CodeableConcept The diagnosis or complaint code
Binding: Condition/Problem/DiagnosisCodes (extensible)
... bodySite 0..* CodeableConcept Anatomical site(s) relevant to the diagnosis
Binding: SNOMEDCTBodyStructures (extensible)
... subject S 1..1 Reference(Patient) Patient this diagnosis concerns
... encounter S 1..1 Reference(Encounter) Encounter this diagnosis was recorded in
... Slices for onset[x] 0..1 dateTime, Age, Period, Range, string Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onset[x]:onsetDateTime S 0..1 dateTime When the condition/symptom is believed to have started
... abatement[x] 0..0 Not permitted — see invariant em-condition-2
... recordedDate S 1..1 dateTime When this diagnosis entry was recorded
... recorder S 0..1 Reference(Practitioner | PractitionerRole) Who recorded this diagnosis entry
... asserter 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who originally asserted this diagnosis or complaint
... evidence 0..* BackboneElement Supporting evidence (labs/imaging) for a working or discharge diagnosis
... note 0..* Annotation Free-text clinical notes about this diagnosis entry

doco Documentation for this format

Terminology Bindings (Differential)

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 Emergency Diagnosis Staging Category Value Set 📦0.1.0 This IG
Condition.severity Base extensible Condition/Diagnosis Severity 📦4.0.1 FHIR Std.
Condition.code Base extensible Condition/Problem/Diagnosis Codes 📦4.0.1 FHIR Std.
Condition.bodySite Base extensible SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
em-condition-1 error Condition A discharge-diagnosis category Condition must have a confirmed verificationStatus. A provisional or differential diagnosis must never be submitted for claims adjudication as though it were confirmed. category.coding.where(code = 'discharge-diagnosis').exists() implies verificationStatus.coding.where(code = 'confirmed').exists()
em-condition-2 error Condition Condition.abatementDateTime is not a meaningful concept for an acute emergency diagnosis stage and must not be populated on this profile. abatement.empty()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: con-3, con-4, con-5, em-condition-1, em-condition-2
... id Σ 0..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 Optional local identifier for this diagnosis entry
... clinicalStatus ?!SΣC 1..1 CodeableConcept Whether the condition is currently active
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus ?!SΣC 1..1 CodeableConcept Confidence level of this diagnosis entry
Binding: ConditionVerificationStatus (required)
... category S 1..1 CodeableConcept Which diagnostic stage this instance represents
Binding: Emergency Diagnosis Staging Category Value Set (extensible)
... severity S 0..1 CodeableConcept Triage-linked acuity/severity marker for this diagnosis
Binding: Condition/DiagnosisSeverity (extensible)
... code SΣ 1..1 CodeableConcept The diagnosis or complaint code
Binding: Condition/Problem/DiagnosisCodes (extensible)
... bodySite Σ 0..* CodeableConcept Anatomical site(s) relevant to the diagnosis
Binding: SNOMEDCTBodyStructures (extensible)
... subject SΣ 1..1 Reference(Patient) Patient this diagnosis concerns
... encounter SΣ 1..1 Reference(Encounter) Encounter this diagnosis was recorded in
... Slices for onset[x] Σ 0..1 Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
.... onset[x]:onsetDateTime SΣ 0..1 dateTime When the condition/symptom is believed to have started
... recordedDate SΣ 1..1 dateTime When this diagnosis entry was recorded
... recorder SΣ 0..1 Reference(Practitioner | PractitionerRole) Who recorded this diagnosis entry
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who originally asserted this diagnosis or complaint
... 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 (labs/imaging) for a working or discharge diagnosis
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 Free-text clinical notes about this diagnosis entry

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 Emergency Diagnosis Staging Category Value Set 📦0.1.0 This IG
Condition.severity Base extensible Condition/Diagnosis Severity 📦4.0.1 FHIR Std.
Condition.code Base extensible Condition/Problem/Diagnosis Codes 📦4.0.1 FHIR Std.
Condition.bodySite Base extensible 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())
em-condition-1 error Condition A discharge-diagnosis category Condition must have a confirmed verificationStatus. A provisional or differential diagnosis must never be submitted for claims adjudication as though it were confirmed. category.coding.where(code = 'discharge-diagnosis').exists() implies verificationStatus.coding.where(code = 'confirmed').exists()
em-condition-2 error Condition Condition.abatementDateTime is not a meaningful concept for an acute emergency diagnosis stage and must not be populated on this profile. abatement.empty()
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: 6 elements
Must-Support: 10 elements
Prohibited: 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, em-condition-1, em-condition-2
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Optional local identifier for this diagnosis entry
... verificationStatus ?!SΣC 1..1 CodeableConcept Confidence level of this diagnosis entry
Binding: ConditionVerificationStatus (required)
... category S 1..1 CodeableConcept Which diagnostic stage this instance represents
Binding: Emergency Diagnosis Staging Category Value Set (extensible)
... severity S 0..1 CodeableConcept Triage-linked acuity/severity marker for this diagnosis
Binding: Condition/DiagnosisSeverity (extensible)
... code SΣ 1..1 CodeableConcept The diagnosis or complaint code
Binding: Condition/Problem/DiagnosisCodes (extensible)
... bodySite Σ 0..* CodeableConcept Anatomical site(s) relevant to the diagnosis
Binding: SNOMEDCTBodyStructures (extensible)
... subject SΣ 1..1 Reference(Patient) Patient this diagnosis concerns
... encounter SΣ 1..1 Reference(Encounter) Encounter this diagnosis was recorded in
... Slices for onset[x] Σ 0..1 Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
.... onset[x]:onsetDateTime SΣ 0..1 dateTime When the condition/symptom is believed to have started
... recordedDate SΣ 1..1 dateTime When this diagnosis entry was recorded
... recorder SΣ 0..1 Reference(Practitioner | PractitionerRole) Who recorded this diagnosis entry
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who originally asserted this diagnosis or complaint
... evidence C 0..* BackboneElement Supporting evidence (labs/imaging) for a working or discharge diagnosis
Constraints: con-2
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
... note 0..* Annotation Free-text clinical notes about this diagnosis entry

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 Emergency Diagnosis Staging Category Value Set 📦0.1.0 This IG
Condition.severity Base extensible Condition/Diagnosis Severity 📦4.0.1 FHIR Std.
Condition.code Base extensible Condition/Problem/Diagnosis Codes 📦4.0.1 FHIR Std.
Condition.bodySite Base extensible SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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())
em-condition-1 error Condition A discharge-diagnosis category Condition must have a confirmed verificationStatus. A provisional or differential diagnosis must never be submitted for claims adjudication as though it were confirmed. category.coding.where(code = 'discharge-diagnosis').exists() implies verificationStatus.coding.where(code = 'confirmed').exists()
em-condition-2 error Condition Condition.abatementDateTime is not a meaningful concept for an acute emergency diagnosis stage and must not be populated on this profile. abatement.empty()
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 C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: em-condition-1, em-condition-2
... identifier 0..* Identifier Optional local identifier for this diagnosis entry
... clinicalStatus S 1..1 CodeableConcept Whether the condition is currently active
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus S 1..1 CodeableConcept Confidence level of this diagnosis entry
Binding: ConditionVerificationStatus (required)
... severity S 0..1 CodeableConcept Triage-linked acuity/severity marker for this diagnosis
Binding: Condition/DiagnosisSeverity (extensible)
... code S 1..1 CodeableConcept The diagnosis or complaint code
Binding: Condition/Problem/DiagnosisCodes (extensible)
... bodySite 0..* CodeableConcept Anatomical site(s) relevant to the diagnosis
Binding: SNOMEDCTBodyStructures (extensible)
... subject S 1..1 Reference(Patient) Patient this diagnosis concerns
... encounter S 1..1 Reference(Encounter) Encounter this diagnosis was recorded in
... Slices for onset[x] 0..1 dateTime, Age, Period, Range, string Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onset[x]:onsetDateTime S 0..1 dateTime When the condition/symptom is believed to have started
... abatement[x] 0..0 Not permitted — see invariant em-condition-2
... recordedDate S 1..1 dateTime When this diagnosis entry was recorded
... recorder S 0..1 Reference(Practitioner | PractitionerRole) Who recorded this diagnosis entry
... asserter 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who originally asserted this diagnosis or complaint
... evidence 0..* BackboneElement Supporting evidence (labs/imaging) for a working or discharge diagnosis
... note 0..* Annotation Free-text clinical notes about this diagnosis entry

doco Documentation for this format

Terminology Bindings (Differential)

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 Emergency Diagnosis Staging Category Value Set 📦0.1.0 This IG
Condition.severity Base extensible Condition/Diagnosis Severity 📦4.0.1 FHIR Std.
Condition.code Base extensible Condition/Problem/Diagnosis Codes 📦4.0.1 FHIR Std.
Condition.bodySite Base extensible SNOMED CT Body Structures 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
em-condition-1 error Condition A discharge-diagnosis category Condition must have a confirmed verificationStatus. A provisional or differential diagnosis must never be submitted for claims adjudication as though it were confirmed. category.coding.where(code = 'discharge-diagnosis').exists() implies verificationStatus.coding.where(code = 'confirmed').exists()
em-condition-2 error Condition Condition.abatementDateTime is not a meaningful concept for an acute emergency diagnosis stage and must not be populated on this profile. abatement.empty()

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, em-condition-1, em-condition-2
... id Σ 0..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 Optional local identifier for this diagnosis entry
... clinicalStatus ?!SΣC 1..1 CodeableConcept Whether the condition is currently active
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus ?!SΣC 1..1 CodeableConcept Confidence level of this diagnosis entry
Binding: ConditionVerificationStatus (required)
... category S 1..1 CodeableConcept Which diagnostic stage this instance represents
Binding: Emergency Diagnosis Staging Category Value Set (extensible)
... severity S 0..1 CodeableConcept Triage-linked acuity/severity marker for this diagnosis
Binding: Condition/DiagnosisSeverity (extensible)
... code SΣ 1..1 CodeableConcept The diagnosis or complaint code
Binding: Condition/Problem/DiagnosisCodes (extensible)
... bodySite Σ 0..* CodeableConcept Anatomical site(s) relevant to the diagnosis
Binding: SNOMEDCTBodyStructures (extensible)
... subject SΣ 1..1 Reference(Patient) Patient this diagnosis concerns
... encounter SΣ 1..1 Reference(Encounter) Encounter this diagnosis was recorded in
... Slices for onset[x] Σ 0..1 Estimated or actual date, date-time, or age
Slice: Unordered, Open by type:$this
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
.... onset[x]:onsetDateTime SΣ 0..1 dateTime When the condition/symptom is believed to have started
... recordedDate SΣ 1..1 dateTime When this diagnosis entry was recorded
... recorder SΣ 0..1 Reference(Practitioner | PractitionerRole) Who recorded this diagnosis entry
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Who originally asserted this diagnosis or complaint
... 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 (labs/imaging) for a working or discharge diagnosis
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 Free-text clinical notes about this diagnosis entry

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 Emergency Diagnosis Staging Category Value Set 📦0.1.0 This IG
Condition.severity Base extensible Condition/Diagnosis Severity 📦4.0.1 FHIR Std.
Condition.code Base extensible Condition/Problem/Diagnosis Codes 📦4.0.1 FHIR Std.
Condition.bodySite Base extensible 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())
em-condition-1 error Condition A discharge-diagnosis category Condition must have a confirmed verificationStatus. A provisional or differential diagnosis must never be submitted for claims adjudication as though it were confirmed. category.coding.where(code = 'discharge-diagnosis').exists() implies verificationStatus.coding.where(code = 'confirmed').exists()
em-condition-2 error Condition Condition.abatementDateTime is not a meaningful concept for an acute emergency diagnosis stage and must not be populated on this profile. abatement.empty()
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: 6 elements
Must-Support: 10 elements
Prohibited: 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