Canadian Baseline
1.2.0 - CI Build Canada flag

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

Resource Profile: Condition Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-condition Version: 1.2.0
Draft as of 2024-08-09 Computable Name: ConditionProfile

Proposed constraints and extensions on the Condition Resource

CA Baseline Condition Profile

This profile is seeking community and implementer feedback on whether further constraints on use of verificationStatus are needed.

VerificationStatus has been identified by members of our community as having clinical significance, though standardization around its use is still evolving in the international community (particularly in implementation guidance and value sets). We are currently seeking feedback from implementers on current utilization practices before further strengthening guidance on its use.
Feedback can be provided through the Simplifier issue log for this profile.. Proposed language for inclusion under our Best Practice/Should support section is also welcomed.

This profile constrains the Condition resource to record a list of problems associated with a patient. It identifies which elements, vocabularies and value sets to be present in the resource when using this profile.

This profile defines localization concepts for use in a Canadian context.

Mandatory Data Elements

All elements or attributes defined in FHIR have cardinality as part of their definition - a minimum number of required appearances and a maximum number.

Most elements in FHIR specification have a minimum cardinality of 0, which means that they may be missing from a resource when it is exchanged between systems.

Required elements:

  • code identifying the patient's relevant condition
  • reference to a subject

Must Support Data Elements

Some elements are labeled as MustSupport meaning that implementations that produce or consume resources SHALL provide "support" for the element in some meaningful way (see Must Support definition).

Following elements are marked as Must Support in the Canadian Condition profile to aid record matching in databases with many pediatric records.

Must Support elements:

  • clinical status of the condition
  • code identifying the patient's relevant condition
  • reference to subject
  • onset - estimated or actual date of the condition

Usage Note

Condition is intended for capturing and querying patient's current and historical problems.

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 Condition Profile
Constraints: con-3, con-4, con-5
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... clinicalStatus ?!SΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.
... code SΣ 0..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: ClinicalFindingCode . (preferred): Codes for problems from the SNOMED CT Canadian edition value set
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:binding.valueSet
..... coding:HealthConcernCode Σ 0..1 Coding CHI identification of the condition, problem or diagnosis
Binding: HealthConcernCode . (required): Represents the patient's relevant clinical problems, conditions, diagnoses, symptoms, findings and complaints, as interpreted by the provider.
..... coding:@default Σ 0..1 Coding Other identifications of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
... subject SΣ 1..1 Reference(Patient Profile) Who has the condition?
... encounter Σ 0..1 Reference(Encounter Profile) Encounter created as part of
... onset[x] SΣ 0..1 Estimated or actual date, date-time, or age
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
... recorder Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Who recorded the condition
... asserter Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Person who asserts this condition

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.code Base preferred ClinicalFindingCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:HealthConcernCode Base required HealthConcernCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:@default 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 Condition Profile
... clinicalStatus ?!S 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
... verificationStatus ?! 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
... code S 0..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: ClinicalFindingCode . (preferred): Codes for problems from the SNOMED CT Canadian edition value set
.... Slices for coding S 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:binding.valueSet
..... coding:HealthConcernCode 0..1 Coding CHI identification of the condition, problem or diagnosis
Binding: HealthConcernCode . (required): Represents the patient's relevant clinical problems, conditions, diagnoses, symptoms, findings and complaints, as interpreted by the provider.
..... coding:@default 0..1 Coding Other identifications of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
... encounter 0..1 Reference(Encounter Profile) Encounter created as part of
... onset[x] S 0..1 dateTime, Age, Period, Range, string Estimated or actual date, date-time, or age
... recorder 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Who recorded the condition
... asserter 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Person who asserts this condition

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Condition.code Base preferred ClinicalFindingCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:HealthConcernCode Base required HealthConcernCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:@default Base example Condition/Problem/Diagnosis Codes 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition Condition Profile
Constraints: con-3, con-4, con-5
... 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 External Ids for this condition
... clinicalStatus ?!SΣ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 0..* 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 SΣ 0..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: ClinicalFindingCode . (preferred): Codes for problems from the SNOMED CT Canadian edition value set
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:binding.valueSet
..... coding:HealthConcernCode Σ 0..1 Coding CHI identification of the condition, problem or diagnosis
Binding: HealthConcernCode . (required): Represents the patient's relevant clinical problems, conditions, diagnoses, symptoms, findings and complaints, as interpreted by the provider.
..... coding:@default Σ 0..1 Coding Other identifications of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
.... text Σ 0..1 string Plain text representation of the concept
... bodySite Σ 0..* CodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... subject SΣ 1..1 Reference(Patient Profile) Who has the condition?
... encounter Σ 0..1 Reference(Encounter Profile) Encounter created as part of
... onset[x] SΣ 0..1 Estimated or actual date, date-time, or age
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
... abatement[x] C 0..1 When in resolution/remission
.... abatementDateTime dateTime
.... abatementAge Age
.... abatementPeriod Period
.... abatementRange Range
.... abatementString string
... recordedDate Σ 0..1 dateTime Date record was first recorded
... recorder Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Who recorded the condition
... asserter Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | 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 preferred ClinicalFindingCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:HealthConcernCode Base required HealthConcernCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:@default 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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition Condition Profile
Constraints: con-3, con-4, con-5
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... clinicalStatus ?!SΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.
... code SΣ 0..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: ClinicalFindingCode . (preferred): Codes for problems from the SNOMED CT Canadian edition value set
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:binding.valueSet
..... coding:HealthConcernCode Σ 0..1 Coding CHI identification of the condition, problem or diagnosis
Binding: HealthConcernCode . (required): Represents the patient's relevant clinical problems, conditions, diagnoses, symptoms, findings and complaints, as interpreted by the provider.
..... coding:@default Σ 0..1 Coding Other identifications of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
... subject SΣ 1..1 Reference(Patient Profile) Who has the condition?
... encounter Σ 0..1 Reference(Encounter Profile) Encounter created as part of
... onset[x] SΣ 0..1 Estimated or actual date, date-time, or age
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
... recorder Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Who recorded the condition
... asserter Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Person who asserts this condition

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.code Base preferred ClinicalFindingCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:HealthConcernCode Base required HealthConcernCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:@default 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 Condition Profile
... clinicalStatus ?!S 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
... verificationStatus ?! 0..1 CodeableConcept unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
... code S 0..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: ClinicalFindingCode . (preferred): Codes for problems from the SNOMED CT Canadian edition value set
.... Slices for coding S 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:binding.valueSet
..... coding:HealthConcernCode 0..1 Coding CHI identification of the condition, problem or diagnosis
Binding: HealthConcernCode . (required): Represents the patient's relevant clinical problems, conditions, diagnoses, symptoms, findings and complaints, as interpreted by the provider.
..... coding:@default 0..1 Coding Other identifications of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
... encounter 0..1 Reference(Encounter Profile) Encounter created as part of
... onset[x] S 0..1 dateTime, Age, Period, Range, string Estimated or actual date, date-time, or age
... recorder 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Who recorded the condition
... asserter 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Person who asserts this condition

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Condition.code Base preferred ClinicalFindingCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:HealthConcernCode Base required HealthConcernCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:@default Base example Condition/Problem/Diagnosis Codes 📦4.0.1 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Condition C 0..* Condition Condition Profile
Constraints: con-3, con-4, con-5
... 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 External Ids for this condition
... clinicalStatus ?!SΣ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 0..* 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 SΣ 0..1 CodeableConcept Identification of the condition, problem or diagnosis
Binding: ClinicalFindingCode . (preferred): Codes for problems from the SNOMED CT Canadian edition value set
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:binding.valueSet
..... coding:HealthConcernCode Σ 0..1 Coding CHI identification of the condition, problem or diagnosis
Binding: HealthConcernCode . (required): Represents the patient's relevant clinical problems, conditions, diagnoses, symptoms, findings and complaints, as interpreted by the provider.
..... coding:@default Σ 0..1 Coding Other identifications of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
.... text Σ 0..1 string Plain text representation of the concept
... bodySite Σ 0..* CodeableConcept Anatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.
... subject SΣ 1..1 Reference(Patient Profile) Who has the condition?
... encounter Σ 0..1 Reference(Encounter Profile) Encounter created as part of
... onset[x] SΣ 0..1 Estimated or actual date, date-time, or age
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
... abatement[x] C 0..1 When in resolution/remission
.... abatementDateTime dateTime
.... abatementAge Age
.... abatementPeriod Period
.... abatementRange Range
.... abatementString string
... recordedDate Σ 0..1 dateTime Date record was first recorded
... recorder Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Who recorded the condition
... asserter Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | 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 preferred ClinicalFindingCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:HealthConcernCode Base required HealthConcernCode . ⏿1.0.0 terminologystandardsservice.ca
Condition.code.coding:@default 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()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Clinical Status

Rules derived from the FHIR Condition resource description:

  • Condition.clinicalStatus SHALL be present if Condition.verificationStatus is not entered-in-error and category is problem-list-item.
  • Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error.

Rational: Most systems will expect a clinicalStatus to be valued for problem-list-items that are managed over time, but might not need a clinicalStatus for point in time encounter-diagnosis.

Verification Status

The verification status supports the clinical status of the condition.

The verification status element is labeled as a modifier because the status contains the code refuted and entered-in-error that mark the Condition as not currently valid.

The Condition.verificationStatus is optional considering the use case of using the Condition to populate a problem list where clinically documented problems range from general descriptions (e.g. "short of breath") to specific diagnoses with no verification step.

Code

The identification of the the client's relevant condition, problem or diagnosis or recording of "problem absent" or of "problems unknown", as interpreted by the provider.

The Condition.code element is CodeableConcept data type meaning that more than one Coding sub-elements can be present. One of these Coding sub-elements SHALL use Health Concern Code value set from Canada Health Infoway. Other Coding component are transaltion of the HealthConcernCode to other code systems.