Canadian Baseline
1.2.0 - CI Build

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:

- Refer to this Profile: Encounter Profile, Immunization Profile, MedicationAdministration Profile, MedicationRequest Profile... Show 3 more, MedicationStatement Profile, Procedure Profile and ServiceRequest Profile for Results Reporting

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.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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.
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.
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
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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)
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 | 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
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.

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
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()`

This structure is derived from Condition

Summary

Must-Support: 5 elements

Structures

This structure refers to these other structures:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Encounter Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter)
- Practitioner Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner)
- PractitionerRole Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Condition.code.coding

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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.
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.
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
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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)
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 | 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
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
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()`

This structure is derived from Condition

Summary

Must-Support: 5 elements

Structures

This structure refers to these other structures:

- Patient Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-patient)
- Encounter Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-encounter)
- Practitioner Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitioner)
- PractitionerRole Profile (General) (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole)

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of Condition.code.coding

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.