SIL HIE Implementation Guide
0.1.0 - sil-hie-active

SIL HIE Implementation Guide, published by Kathurima Kimathi. 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/savannahghi/hie-fhir-ig-profile/ and changes regularly. See the Directory of published versions

Resource Profile: HIE Condition

Official URL: https://nshr.dha.go.ke/fhir/StructureDefinition/condition Version: 0.1.0
Active as of 2026-10-20 Computable Name: HIECondition

R4B Condition constrained for HIE capture and exchange.

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: doco
Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: con-3, con-4, con-5
Condition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Condition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Condition.identifier This element must be supported. This element is included in summaries. 1..* Identifier External Ids for this condition
Condition.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Condition.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
Condition.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Condition.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Condition.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Condition.clinicalStatus This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
Constraints: cc-text-or-code
Condition.verificationStatus This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
Constraints: cc-text-or-code
Condition.category This element must be supported. C 1..* HIECodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (required)
Constraints: cc-text-or-code
Condition.severity This element must be supported. C 1..1 HIECodeableConcept Subjective severity of condition
Binding: HIE Condition Severity (required)
Constraints: cc-text-or-code
Condition.code This element is included in summaries. C 1..1 HIECodeableConcept Identification of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.
Constraints: cc-text-or-code
Condition.bodySite This element is included in summaries. C 0..* HIECodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
Constraints: cc-text-or-code
Condition.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) Who has the condition?
Condition.encounter This element is included in summaries. 1..1 HIEReference(HIE Encounter) Encounter created as part of
Condition.recordedDate This element must be supported. This element is included in summaries. 1..1 dateTime Date record was first recorded
Condition.recorder This element is included in summaries. 0..1 HIEReference(HIE Practitioner | PractitionerRole | HIE Patient) Who recorded the condition
Condition.asserter This element is included in summaries. 1..1 HIEReference(Patient | HIE Practitioner | PractitionerRole | RelatedPerson) Person who asserts this condition
Condition.note 0..* HIEAnnotation Additional information about the Condition

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Condition.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📦4.3.0 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📦4.3.0 FHIR Std.
Condition.category Base required Condition Category Codes 📦4.3.0 FHIR Std.
Condition.severity Base required HIE Condition Severity 📦0.1.0 This IG
Condition.code Base example Condition/Problem/Diagnosis Codes 📍4.3.0 FHIR Std.
Condition.bodySite Base example SNOMED CT Body Structures 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning Condition.identifier.type, Condition.clinicalStatus, Condition.verificationStatus, Condition.category, Condition.severity, Condition.code, Condition.bodySite Text is optional, coding is required coding.exists()
con-3 best practice Condition Condition.clinicalStatus SHOULD be present if verificationStatus is not entered-in-error and category is problem-list-item verificationStatus.empty().not() and verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').exists().not() and category.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-category' and code='problem-list-item').exists() implies clinicalStatus.empty().not()
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.exists() and ('#'+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(uri) = '#').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: doco
Condition 0..* Condition Detailed information about conditions, problems or diagnoses
Condition.identifier This element must be supported. 1..* Identifier External Ids for this condition
Condition.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Condition.identifier.type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Condition.identifier.system 1..1 uri The namespace for the identifier value
Condition.identifier.value This element must be supported. 1..1 string The value that is unique
Condition.identifier.assigner This element must be supported. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Condition.clinicalStatus This element must be supported. 1..1 HIECodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
Condition.verificationStatus This element must be supported. 1..1 HIECodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
Condition.severity This element must be supported. 1..1 HIECodeableConcept Subjective severity of condition
Binding: HIE Condition Severity (required)
Condition.code 1..1 HIECodeableConcept Identification of the condition, problem or diagnosis
Condition.bodySite 0..* HIECodeableConcept Anatomical location, if relevant
Condition.subject This element must be supported. 1..1 HIEReference(HIE Patient) Who has the condition?
Condition.encounter 1..1 HIEReference(HIE Encounter) Encounter created as part of
Condition.recordedDate This element must be supported. 1..1 dateTime Date record was first recorded
Condition.recorder 0..1 HIEReference(HIE Practitioner | PractitionerRole | HIE Patient) Who recorded the condition
Condition.asserter 1..1 HIEReference(Patient | HIE Practitioner | PractitionerRole | RelatedPerson) Person who asserts this condition
Condition.stage
Condition.stage.summary 0..1 HIECodeableConcept Simple summary (disease specific)
Condition.stage.assessment 0..* HIEReference(Observation | DiagnosticReport) Formal record of assessment
Condition.stage.type 0..1 HIECodeableConcept Kind of staging
Condition.evidence
Condition.evidence.code 0..* HIECodeableConcept Manifestation/symptom
Condition.evidence.detail 0..* HIEReference(Resource) Supporting information found elsewhere
Condition.note 0..* HIEAnnotation Additional information about the Condition

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Condition.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Condition.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📦4.3.0 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📦4.3.0 FHIR Std.
Condition.category Base required Condition Category Codes 📦4.3.0 FHIR Std.
Condition.severity Base required HIE Condition Severity 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: con-3, con-4, con-5
Condition.id This element is included in summaries. 0..1 id Logical id of this artifact
Condition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Condition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Condition.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
Condition.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
Condition.contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
Condition.extension 0..* Extension Additional content defined by implementations
Condition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Condition.identifier This element must be supported. This element is included in summaries. 1..* Identifier External Ids for this condition
Condition.identifier.id 0..1 id Unique id for inter-element referencing
Condition.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Condition.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Condition.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
Condition.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Condition.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Condition.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Condition.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Condition.clinicalStatus This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
Constraints: cc-text-or-code
Condition.verificationStatus This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
Constraints: cc-text-or-code
Condition.category This element must be supported. C 1..* HIECodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (required)
Constraints: cc-text-or-code
Condition.severity This element must be supported. C 1..1 HIECodeableConcept Subjective severity of condition
Binding: HIE Condition Severity (required)
Constraints: cc-text-or-code
Condition.code This element is included in summaries. C 1..1 HIECodeableConcept Identification of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.
Constraints: cc-text-or-code
Condition.bodySite This element is included in summaries. C 0..* HIECodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
Constraints: cc-text-or-code
Condition.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) Who has the condition?
Condition.encounter This element is included in summaries. 1..1 HIEReference(HIE Encounter) Encounter created as part of
Condition.onset[x] This element is included in summaries. 0..1 Estimated or actual date, date-time, or age
Condition.onset[x].onsetDateTime dateTime
Condition.onset[x].onsetAge Age
Condition.onset[x].onsetPeriod Period
Condition.onset[x].onsetRange Range
Condition.onset[x].onsetString string
Condition.abatement[x] C 0..1 When in resolution/remission
Condition.abatement[x].abatementDateTime dateTime
Condition.abatement[x].abatementAge Age
Condition.abatement[x].abatementPeriod Period
Condition.abatement[x].abatementRange Range
Condition.abatement[x].abatementString string
Condition.recordedDate This element must be supported. This element is included in summaries. 1..1 dateTime Date record was first recorded
Condition.recorder This element is included in summaries. 0..1 HIEReference(HIE Practitioner | PractitionerRole | HIE Patient) Who recorded the condition
Condition.asserter This element is included in summaries. 1..1 HIEReference(Patient | HIE Practitioner | PractitionerRole | RelatedPerson) Person who asserts this condition
Condition.stage C 0..* BackboneElement Stage/grade, usually assessed formally
Constraints: con-1
Condition.stage.id 0..1 string Unique id for inter-element referencing
Condition.stage.extension 0..* Extension Additional content defined by implementations
Condition.stage.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Condition.stage.summary C 0..1 HIECodeableConcept Simple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).
Constraints: cc-text-or-code
Condition.stage.assessment C 0..* HIEReference(Observation | DiagnosticReport) Formal record of assessment
Condition.stage.type C 0..1 HIECodeableConcept Kind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).
Constraints: cc-text-or-code
Condition.evidence C 0..* BackboneElement Supporting evidence
Constraints: con-2
Condition.evidence.id 0..1 string Unique id for inter-element referencing
Condition.evidence.extension 0..* Extension Additional content defined by implementations
Condition.evidence.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Condition.evidence.code This element is included in summaries. C 0..* HIECodeableConcept Manifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.
Constraints: cc-text-or-code
Condition.evidence.detail This element is included in summaries. C 0..* HIEReference(Resource) Supporting information found elsewhere
Condition.note 0..* HIEAnnotation 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.3.0 FHIR Std.
Condition.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Condition.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📦4.3.0 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📦4.3.0 FHIR Std.
Condition.category Base required Condition Category Codes 📦4.3.0 FHIR Std.
Condition.severity Base required HIE Condition Severity 📦0.1.0 This IG
Condition.code Base example Condition/Problem/Diagnosis Codes 📍4.3.0 FHIR Std.
Condition.bodySite Base example SNOMED CT Body Structures 📍4.3.0 FHIR Std.
Condition.stage.summary Base example Condition Stage 📍4.3.0 FHIR Std.
Condition.stage.type Base example Condition Stage Type 📍4.3.0 FHIR Std.
Condition.evidence.code Base example Manifestation and Symptom Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning Condition.identifier.type, Condition.clinicalStatus, Condition.verificationStatus, Condition.category, Condition.severity, Condition.code, Condition.bodySite, Condition.stage.summary, Condition.stage.type, Condition.evidence.code Text is optional, coding is required coding.exists()
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 SHOULD be present if verificationStatus is not entered-in-error and category is problem-list-item verificationStatus.empty().not() and verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').exists().not() and category.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-category' and code='problem-list-item').exists() implies clinicalStatus.empty().not()
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.exists() and ('#'+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(uri) = '#').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()
dom-r4b warning Condition.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: con-3, con-4, con-5
Condition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Condition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Condition.identifier This element must be supported. This element is included in summaries. 1..* Identifier External Ids for this condition
Condition.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Condition.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
Condition.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Condition.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Condition.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Condition.clinicalStatus This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
Constraints: cc-text-or-code
Condition.verificationStatus This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
Constraints: cc-text-or-code
Condition.category This element must be supported. C 1..* HIECodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (required)
Constraints: cc-text-or-code
Condition.severity This element must be supported. C 1..1 HIECodeableConcept Subjective severity of condition
Binding: HIE Condition Severity (required)
Constraints: cc-text-or-code
Condition.code This element is included in summaries. C 1..1 HIECodeableConcept Identification of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.
Constraints: cc-text-or-code
Condition.bodySite This element is included in summaries. C 0..* HIECodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
Constraints: cc-text-or-code
Condition.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) Who has the condition?
Condition.encounter This element is included in summaries. 1..1 HIEReference(HIE Encounter) Encounter created as part of
Condition.recordedDate This element must be supported. This element is included in summaries. 1..1 dateTime Date record was first recorded
Condition.recorder This element is included in summaries. 0..1 HIEReference(HIE Practitioner | PractitionerRole | HIE Patient) Who recorded the condition
Condition.asserter This element is included in summaries. 1..1 HIEReference(Patient | HIE Practitioner | PractitionerRole | RelatedPerson) Person who asserts this condition
Condition.note 0..* HIEAnnotation Additional information about the Condition

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Condition.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Condition.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📦4.3.0 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📦4.3.0 FHIR Std.
Condition.category Base required Condition Category Codes 📦4.3.0 FHIR Std.
Condition.severity Base required HIE Condition Severity 📦0.1.0 This IG
Condition.code Base example Condition/Problem/Diagnosis Codes 📍4.3.0 FHIR Std.
Condition.bodySite Base example SNOMED CT Body Structures 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning Condition.identifier.type, Condition.clinicalStatus, Condition.verificationStatus, Condition.category, Condition.severity, Condition.code, Condition.bodySite Text is optional, coding is required coding.exists()
con-3 best practice Condition Condition.clinicalStatus SHOULD be present if verificationStatus is not entered-in-error and category is problem-list-item verificationStatus.empty().not() and verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').exists().not() and category.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-category' and code='problem-list-item').exists() implies clinicalStatus.empty().not()
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.exists() and ('#'+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(uri) = '#').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: doco
Condition 0..* Condition Detailed information about conditions, problems or diagnoses
Condition.identifier This element must be supported. 1..* Identifier External Ids for this condition
Condition.identifier.use 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Condition.identifier.type 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Condition.identifier.system 1..1 uri The namespace for the identifier value
Condition.identifier.value This element must be supported. 1..1 string The value that is unique
Condition.identifier.assigner This element must be supported. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Condition.clinicalStatus This element must be supported. 1..1 HIECodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
Condition.verificationStatus This element must be supported. 1..1 HIECodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
Condition.category This element must be supported. 1..* HIECodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (required)
Condition.severity This element must be supported. 1..1 HIECodeableConcept Subjective severity of condition
Binding: HIE Condition Severity (required)
Condition.code 1..1 HIECodeableConcept Identification of the condition, problem or diagnosis
Condition.bodySite 0..* HIECodeableConcept Anatomical location, if relevant
Condition.subject This element must be supported. 1..1 HIEReference(HIE Patient) Who has the condition?
Condition.encounter 1..1 HIEReference(HIE Encounter) Encounter created as part of
Condition.recordedDate This element must be supported. 1..1 dateTime Date record was first recorded
Condition.recorder 0..1 HIEReference(HIE Practitioner | PractitionerRole | HIE Patient) Who recorded the condition
Condition.asserter 1..1 HIEReference(Patient | HIE Practitioner | PractitionerRole | RelatedPerson) Person who asserts this condition
Condition.stage
Condition.stage.summary 0..1 HIECodeableConcept Simple summary (disease specific)
Condition.stage.assessment 0..* HIEReference(Observation | DiagnosticReport) Formal record of assessment
Condition.stage.type 0..1 HIECodeableConcept Kind of staging
Condition.evidence
Condition.evidence.code 0..* HIECodeableConcept Manifestation/symptom
Condition.evidence.detail 0..* HIEReference(Resource) Supporting information found elsewhere
Condition.note 0..* HIEAnnotation Additional information about the Condition

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Condition.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Condition.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📦4.3.0 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📦4.3.0 FHIR Std.
Condition.category Base required Condition Category Codes 📦4.3.0 FHIR Std.
Condition.severity Base required HIE Condition Severity 📦0.1.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Condition C 0..* Condition Detailed information about conditions, problems or diagnoses
Constraints: con-3, con-4, con-5
Condition.id This element is included in summaries. 0..1 id Logical id of this artifact
Condition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Condition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Condition.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): IETF language tag
Additional BindingsPurpose
AllLanguages Max Binding
Condition.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
Condition.contained 0..* Resource Contained, inline Resources
Constraints: dom-r4b
Condition.extension 0..* Extension Additional content defined by implementations
Condition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Condition.identifier This element must be supported. This element is included in summaries. 1..* Identifier External Ids for this condition
Condition.identifier.id 0..1 id Unique id for inter-element referencing
Condition.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
Condition.identifier.use This element is a modifier element. This element is included in summaries. 1..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
Condition.identifier.type This element is included in summaries. C 1..1 HIECodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible)
Constraints: cc-text-or-code
Condition.identifier.system This element is included in summaries. 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
Condition.identifier.value This element must be supported. This element is included in summaries. 1..1 string The value that is unique
Example General: 123456
Condition.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
Condition.identifier.assigner This element must be supported. This element is included in summaries. 0..1 HIEReference(HIE Organization) Organization that issued id (may be just text)
Condition.clinicalStatus This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
Constraints: cc-text-or-code
Condition.verificationStatus This element is a modifier element. This element must be supported. This element is included in summaries. C 1..1 HIECodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
Constraints: cc-text-or-code
Condition.category This element must be supported. C 1..* HIECodeableConcept problem-list-item | encounter-diagnosis
Binding: ConditionCategoryCodes (required)
Constraints: cc-text-or-code
Condition.severity This element must be supported. C 1..1 HIECodeableConcept Subjective severity of condition
Binding: HIE Condition Severity (required)
Constraints: cc-text-or-code
Condition.code This element is included in summaries. C 1..1 HIECodeableConcept Identification of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example): Identification of the condition or diagnosis.
Constraints: cc-text-or-code
Condition.bodySite This element is included in summaries. C 0..* HIECodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): SNOMED CT Body site concepts
Constraints: cc-text-or-code
Condition.subject This element must be supported. This element is included in summaries. 1..1 HIEReference(HIE Patient) Who has the condition?
Condition.encounter This element is included in summaries. 1..1 HIEReference(HIE Encounter) Encounter created as part of
Condition.onset[x] This element is included in summaries. 0..1 Estimated or actual date, date-time, or age
Condition.onset[x].onsetDateTime dateTime
Condition.onset[x].onsetAge Age
Condition.onset[x].onsetPeriod Period
Condition.onset[x].onsetRange Range
Condition.onset[x].onsetString string
Condition.abatement[x] C 0..1 When in resolution/remission
Condition.abatement[x].abatementDateTime dateTime
Condition.abatement[x].abatementAge Age
Condition.abatement[x].abatementPeriod Period
Condition.abatement[x].abatementRange Range
Condition.abatement[x].abatementString string
Condition.recordedDate This element must be supported. This element is included in summaries. 1..1 dateTime Date record was first recorded
Condition.recorder This element is included in summaries. 0..1 HIEReference(HIE Practitioner | PractitionerRole | HIE Patient) Who recorded the condition
Condition.asserter This element is included in summaries. 1..1 HIEReference(Patient | HIE Practitioner | PractitionerRole | RelatedPerson) Person who asserts this condition
Condition.stage C 0..* BackboneElement Stage/grade, usually assessed formally
Constraints: con-1
Condition.stage.id 0..1 string Unique id for inter-element referencing
Condition.stage.extension 0..* Extension Additional content defined by implementations
Condition.stage.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Condition.stage.summary C 0..1 HIECodeableConcept Simple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).
Constraints: cc-text-or-code
Condition.stage.assessment C 0..* HIEReference(Observation | DiagnosticReport) Formal record of assessment
Condition.stage.type C 0..1 HIECodeableConcept Kind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).
Constraints: cc-text-or-code
Condition.evidence C 0..* BackboneElement Supporting evidence
Constraints: con-2
Condition.evidence.id 0..1 string Unique id for inter-element referencing
Condition.evidence.extension 0..* Extension Additional content defined by implementations
Condition.evidence.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Condition.evidence.code This element is included in summaries. C 0..* HIECodeableConcept Manifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.
Constraints: cc-text-or-code
Condition.evidence.detail This element is included in summaries. C 0..* HIEReference(Resource) Supporting information found elsewhere
Condition.note 0..* HIEAnnotation 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.3.0 FHIR Std.
Condition.identifier.​use Base required IdentifierUse 📦4.3.0 FHIR Std.
Condition.identifier.​type Base extensible IdentifierType 📦4.3.0 FHIR Std.
Condition.clinicalStatus Base required Condition Clinical Status Codes 📦4.3.0 FHIR Std.
Condition.verificationStatus Base required ConditionVerificationStatus 📦4.3.0 FHIR Std.
Condition.category Base required Condition Category Codes 📦4.3.0 FHIR Std.
Condition.severity Base required HIE Condition Severity 📦0.1.0 This IG
Condition.code Base example Condition/Problem/Diagnosis Codes 📍4.3.0 FHIR Std.
Condition.bodySite Base example SNOMED CT Body Structures 📍4.3.0 FHIR Std.
Condition.stage.summary Base example Condition Stage 📍4.3.0 FHIR Std.
Condition.stage.type Base example Condition Stage Type 📍4.3.0 FHIR Std.
Condition.evidence.code Base example Manifestation and Symptom Codes 📍4.3.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cc-text-or-code warning Condition.identifier.type, Condition.clinicalStatus, Condition.verificationStatus, Condition.category, Condition.severity, Condition.code, Condition.bodySite, Condition.stage.summary, Condition.stage.type, Condition.evidence.code Text is optional, coding is required coding.exists()
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 SHOULD be present if verificationStatus is not entered-in-error and category is problem-list-item verificationStatus.empty().not() and verificationStatus.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-ver-status' and code='entered-in-error').exists().not() and category.coding.where(system='http://terminology.hl7.org/CodeSystem/condition-category' and code='problem-list-item').exists() implies clinicalStatus.empty().not()
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.exists() and ('#'+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(uri) = '#').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()
dom-r4b warning Condition.contained Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems ($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
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()

 

Other representations of profile: CSV, Excel, Schematron