Canadian Baseline
1.1.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.1.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.1.0
Draft as of 2020-07-21 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.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Condition

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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)

PathConformanceValueSetURI
Condition.codepreferredClinicalFindingCode .
https://fhir.infoway-inforoute.ca/ValueSet/clinicalfindingcode
Condition.code.coding:HealthConcernCoderequiredHealthConcernCode .
https://fhir.infoway-inforoute.ca/ValueSet/healthconcerncode
Condition.code.coding:@defaultexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C 0..* Condition Condition Profile
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
con-5: Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... clinicalStatus ?!SΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.


ele-1: All FHIR elements must have a @value or children
... 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


ele-1: All FHIR elements must have a @value or children
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:binding.valueSet
ele-1: All FHIR elements must have a @value or children
..... 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.


ele-1: All FHIR elements must have a @value or children
..... coding:@default Σ 0..1 Coding Other identifications of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
ele-1: All FHIR elements must have a @value or children
... subject SΣ 1..1 Reference(Patient Profile) Who has the condition?
ele-1: All FHIR elements must have a @value or children
... encounter Σ 0..1 Reference(Encounter Profile) Encounter created as part of
ele-1: All FHIR elements must have a @value or children
... onset[x] SΣ 0..1 Estimated or actual date, date-time, or age
ele-1: All FHIR elements must have a @value or children
.... 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
ele-1: All FHIR elements must have a @value or children
... asserter Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Person who asserts this condition
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1
from the FHIR Standard
Condition.verificationStatusrequiredConditionVerificationStatus
http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1
from the FHIR Standard
Condition.codepreferredClinicalFindingCode .
https://fhir.infoway-inforoute.ca/ValueSet/clinicalfindingcode
Condition.code.coding:HealthConcernCoderequiredHealthConcernCode .
https://fhir.infoway-inforoute.ca/ValueSet/healthconcerncode
Condition.code.coding:@defaultexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
con-3best practiceConditionCondition.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-4errorConditionIf 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-5errorConditionCondition.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-2errorConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConditionIf 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-4errorConditionIf 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-5errorConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConditionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C 0..* Condition Condition Profile
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
con-5: Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... 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
... 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
con-1: Stage SHALL have summary or assessment
.... 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
con-2: evidence SHALL have code or details
.... 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

PathConformanceValueSetURI
Condition.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1
from the FHIR Standard
Condition.verificationStatusrequiredConditionVerificationStatus
http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1
from the FHIR Standard
Condition.categoryextensibleConditionCategoryCodes
http://hl7.org/fhir/ValueSet/condition-category
from the FHIR Standard
Condition.severitypreferredCondition/DiagnosisSeverity
http://hl7.org/fhir/ValueSet/condition-severity
from the FHIR Standard
Condition.codepreferredClinicalFindingCode .
https://fhir.infoway-inforoute.ca/ValueSet/clinicalfindingcode
Condition.code.coding:HealthConcernCoderequiredHealthConcernCode .
https://fhir.infoway-inforoute.ca/ValueSet/healthconcerncode
Condition.code.coding:@defaultexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Condition.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Condition.stage.summaryexampleConditionStage
http://hl7.org/fhir/ValueSet/condition-stage
from the FHIR Standard
Condition.stage.typeexampleConditionStageType
http://hl7.org/fhir/ValueSet/condition-stage-type
from the FHIR Standard
Condition.evidence.codeexampleManifestationAndSymptomCodes
http://hl7.org/fhir/ValueSet/manifestation-or-symptom
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
con-1errorCondition.stageStage SHALL have summary or assessment
: summary.exists() or assessment.exists()
con-2errorCondition.evidenceevidence SHALL have code or details
: code.exists() or detail.exists()
con-3best practiceConditionCondition.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-4errorConditionIf 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-5errorConditionCondition.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-2errorConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConditionIf 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-4errorConditionIf 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-5errorConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConditionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Condition

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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)

PathConformanceValueSetURI
Condition.codepreferredClinicalFindingCode .
https://fhir.infoway-inforoute.ca/ValueSet/clinicalfindingcode
Condition.code.coding:HealthConcernCoderequiredHealthConcernCode .
https://fhir.infoway-inforoute.ca/ValueSet/healthconcerncode
Condition.code.coding:@defaultexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C 0..* Condition Condition Profile
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
con-5: Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... clinicalStatus ?!SΣC 0..1 CodeableConcept active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required): The clinical status of the condition or diagnosis.


ele-1: All FHIR elements must have a @value or children
... 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


ele-1: All FHIR elements must have a @value or children
.... Slices for coding SΣ 0..* Coding Code defined by a terminology system
Slice: Unordered, Open by value:binding.valueSet
ele-1: All FHIR elements must have a @value or children
..... 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.


ele-1: All FHIR elements must have a @value or children
..... coding:@default Σ 0..1 Coding Other identifications of the condition, problem or diagnosis
Binding: Condition/Problem/DiagnosisCodes (example)
ele-1: All FHIR elements must have a @value or children
... subject SΣ 1..1 Reference(Patient Profile) Who has the condition?
ele-1: All FHIR elements must have a @value or children
... encounter Σ 0..1 Reference(Encounter Profile) Encounter created as part of
ele-1: All FHIR elements must have a @value or children
... onset[x] SΣ 0..1 Estimated or actual date, date-time, or age
ele-1: All FHIR elements must have a @value or children
.... 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
ele-1: All FHIR elements must have a @value or children
... asserter Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Patient Profile | RelatedPerson) Person who asserts this condition
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1
from the FHIR Standard
Condition.verificationStatusrequiredConditionVerificationStatus
http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1
from the FHIR Standard
Condition.codepreferredClinicalFindingCode .
https://fhir.infoway-inforoute.ca/ValueSet/clinicalfindingcode
Condition.code.coding:HealthConcernCoderequiredHealthConcernCode .
https://fhir.infoway-inforoute.ca/ValueSet/healthconcerncode
Condition.code.coding:@defaultexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
con-3best practiceConditionCondition.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-4errorConditionIf 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-5errorConditionCondition.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-2errorConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConditionIf 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-4errorConditionIf 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-5errorConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConditionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C 0..* Condition Condition Profile
con-3: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
con-4: If condition is abated, then clinicalStatus must be either inactive, resolved, or remission
con-5: Condition.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
... 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
... 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
con-1: Stage SHALL have summary or assessment
.... 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
con-2: evidence SHALL have code or details
.... 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

PathConformanceValueSetURI
Condition.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
http://hl7.org/fhir/ValueSet/condition-clinical|4.0.1
from the FHIR Standard
Condition.verificationStatusrequiredConditionVerificationStatus
http://hl7.org/fhir/ValueSet/condition-ver-status|4.0.1
from the FHIR Standard
Condition.categoryextensibleConditionCategoryCodes
http://hl7.org/fhir/ValueSet/condition-category
from the FHIR Standard
Condition.severitypreferredCondition/DiagnosisSeverity
http://hl7.org/fhir/ValueSet/condition-severity
from the FHIR Standard
Condition.codepreferredClinicalFindingCode .
https://fhir.infoway-inforoute.ca/ValueSet/clinicalfindingcode
Condition.code.coding:HealthConcernCoderequiredHealthConcernCode .
https://fhir.infoway-inforoute.ca/ValueSet/healthconcerncode
Condition.code.coding:@defaultexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
Condition.bodySiteexampleSNOMEDCTBodyStructures
http://hl7.org/fhir/ValueSet/body-site
from the FHIR Standard
Condition.stage.summaryexampleConditionStage
http://hl7.org/fhir/ValueSet/condition-stage
from the FHIR Standard
Condition.stage.typeexampleConditionStageType
http://hl7.org/fhir/ValueSet/condition-stage-type
from the FHIR Standard
Condition.evidence.codeexampleManifestationAndSymptomCodes
http://hl7.org/fhir/ValueSet/manifestation-or-symptom
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
con-1errorCondition.stageStage SHALL have summary or assessment
: summary.exists() or assessment.exists()
con-2errorCondition.evidenceevidence SHALL have code or details
: code.exists() or detail.exists()
con-3best practiceConditionCondition.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-4errorConditionIf 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-5errorConditionCondition.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-2errorConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorConditionIf 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-4errorConditionIf 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-5errorConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceConditionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust 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.