QI-Core Implementation Guide
6.0.0-ballot - ballot United States of America flag

This page is part of the Quality Improvement Core Framework (v6.0.0-ballot: STU6 (v6.0.0) Ballot 1) based on FHIR R4. The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Resource Profile: QICore Condition Problems Health Concerns

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition-problems-health-concerns Version: 6.0.0-ballot
Active as of 2022-04-20 Computable Name: QICoreConditionProblemsHealthConcerns

Profile of Condition for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

Usage

See the patterns page for implementation and usage patterns.

define "Active Diabetes Conditions":
  [ConditionProblemsHealthConcerns: Diabetes] Condition
    where Condition.isActive()

Examples

Conditions Health Concern Example

Usage:

Formal Views of Profile Content

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

This structure is derived from USCoreConditionProblemsHealthConcernsProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition 0..*USCoreConditionProblemsHealthConcernsProfileDetailed information about conditions, problems or diagnoses
... subject S1..1Reference(QICore Patient)(USCDI) Who has the condition?
... onset[x] S0..1(USCDI) Estimated or actual date, date-time, or age
.... onsetDateTimedateTime S
.... onsetAgeAge S
.... onsetPeriodPeriod S
.... onsetRangeRange S
... abatement[x] S0..1(USCDI) When in resolution/remission
.... abatementDateTimedateTime S
.... abatementAgeAge S
.... abatementPeriodPeriod S
.... abatementRangeRange S

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C0..*USCoreConditionProblemsHealthConcernsProfileDetailed information about conditions, problems or diagnoses
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... assertedDate S0..1dateTime(USCDI) Date the condition was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... verificationStatus ?!SΣC0..1CodeableConcept(USCDI) unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
... Slices for category S1..*CodeableConcept(USCDI) category codes
Slice: Unordered, Open by pattern:$this
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.


.... category:us-core S1..*CodeableConcept(USCDI) problem-list-item | health-concern
Binding: US Core Problem or Health Concern (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


.... category:screening-assessment S0..*CodeableConcept(USCDI) USCDI Health Status/Assessments Data Class
Binding: US Core Screening Assessment Condition Category (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... code SΣ1..1CodeableConcept(USCDI) Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient

... subject SΣ1..1Reference(QICore Patient)(USCDI) Who has the condition?
... onset[x] SΣ0..1(USCDI) Estimated or actual date, date-time, or age
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
... abatement[x] SC0..1(USCDI) When in resolution/remission
.... abatementDateTimedateTime
.... abatementAgeAge
.... abatementPeriodPeriod
.... abatementRangeRange
... recordedDate SΣ0..1dateTime(USCDI) Date record was first recorded

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleConditionCategoryCodes
Condition.category:us-corerequiredUSCoreProblemOrHealthConcern
Condition.category:screening-assessmentrequiredUSCoreScreeningAssessmentConditionCategory
Condition.codeextensibleUSCoreConditionCodes

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 C0..*USCoreConditionProblemsHealthConcernsProfileDetailed information about conditions, problems or diagnoses
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... assertedDate S0..1dateTime(USCDI) Date the condition was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this condition
... clinicalStatus ?!SΣC0..1CodeableConcept(USCDI) active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus ?!SΣC0..1CodeableConcept(USCDI) unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
... Slices for category S1..*CodeableConcept(USCDI) category codes
Slice: Unordered, Open by pattern:$this
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.


.... category:us-core S1..*CodeableConcept(USCDI) problem-list-item | health-concern
Binding: US Core Problem or Health Concern (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


.... category:screening-assessment S0..*CodeableConcept(USCDI) USCDI Health Status/Assessments Data Class
Binding: US Core Screening Assessment Condition Category (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... severity 0..1CodeableConceptSubjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician.

... code SΣ1..1CodeableConcept(USCDI) Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient

... bodySite Σ0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... subject SΣ1..1Reference(QICore Patient)(USCDI) Who has the condition?
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... onset[x] SΣ0..1(USCDI) Estimated or actual date, date-time, or age
.... onsetDateTimedateTime S
.... onsetAgeAge S
.... onsetPeriodPeriod S
.... onsetRangeRange S
... abatement[x] SC0..1(USCDI) When in resolution/remission
.... abatementDateTimedateTime S
.... abatementAgeAge S
.... abatementPeriodPeriod S
.... abatementRangeRange S
... recordedDate SΣ0..1dateTime(USCDI) Date record was first recorded
... recorder Σ0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the condition
... asserter Σ0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Person who asserts this condition
... stage C0..*BackboneElementStage/grade, usually assessed formally
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... summary C0..1CodeableConceptSimple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).

.... assessment C0..*Reference(ClinicalImpression | DiagnosticReport | Observation)Formal record of assessment
.... type 0..1CodeableConceptKind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).

... evidence C0..*BackboneElementSupporting evidence
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣC0..*CodeableConceptManifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.


.... detail ΣC0..*Reference(Resource)Supporting information found elsewhere
... note 0..*AnnotationAdditional information about the Condition

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Condition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleConditionCategoryCodes
Condition.category:us-corerequiredUSCoreProblemOrHealthConcern
Condition.category:screening-assessmentrequiredUSCoreScreeningAssessmentConditionCategory
Condition.severitypreferredCondition/DiagnosisSeverity
Condition.codeextensibleUSCoreConditionCodes
Condition.bodySiteexampleSNOMEDCTBodyStructures
Condition.stage.summaryexampleConditionStage
Condition.stage.typeexampleConditionStageType
Condition.evidence.codeexampleManifestationAndSymptomCodes

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()
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()

This structure is derived from USCoreConditionProblemsHealthConcernsProfile

Summary

Must-Support: 3 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from USCoreConditionProblemsHealthConcernsProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition 0..*USCoreConditionProblemsHealthConcernsProfileDetailed information about conditions, problems or diagnoses
... subject S1..1Reference(QICore Patient)(USCDI) Who has the condition?
... onset[x] S0..1(USCDI) Estimated or actual date, date-time, or age
.... onsetDateTimedateTime S
.... onsetAgeAge S
.... onsetPeriodPeriod S
.... onsetRangeRange S
... abatement[x] S0..1(USCDI) When in resolution/remission
.... abatementDateTimedateTime S
.... abatementAgeAge S
.... abatementPeriodPeriod S
.... abatementRangeRange S

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition C0..*USCoreConditionProblemsHealthConcernsProfileDetailed information about conditions, problems or diagnoses
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... assertedDate S0..1dateTime(USCDI) Date the condition was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... verificationStatus ?!SΣC0..1CodeableConcept(USCDI) unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
... Slices for category S1..*CodeableConcept(USCDI) category codes
Slice: Unordered, Open by pattern:$this
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.


.... category:us-core S1..*CodeableConcept(USCDI) problem-list-item | health-concern
Binding: US Core Problem or Health Concern (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


.... category:screening-assessment S0..*CodeableConcept(USCDI) USCDI Health Status/Assessments Data Class
Binding: US Core Screening Assessment Condition Category (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... code SΣ1..1CodeableConcept(USCDI) Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient

... subject SΣ1..1Reference(QICore Patient)(USCDI) Who has the condition?
... onset[x] SΣ0..1(USCDI) Estimated or actual date, date-time, or age
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
... abatement[x] SC0..1(USCDI) When in resolution/remission
.... abatementDateTimedateTime
.... abatementAgeAge
.... abatementPeriodPeriod
.... abatementRangeRange
... recordedDate SΣ0..1dateTime(USCDI) Date record was first recorded

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleConditionCategoryCodes
Condition.category:us-corerequiredUSCoreProblemOrHealthConcern
Condition.category:screening-assessmentrequiredUSCoreScreeningAssessmentConditionCategory
Condition.codeextensibleUSCoreConditionCodes

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 C0..*USCoreConditionProblemsHealthConcernsProfileDetailed information about conditions, problems or diagnoses
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... assertedDate S0..1dateTime(USCDI) Date the condition was first asserted
URL: http://hl7.org/fhir/StructureDefinition/condition-assertedDate
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this condition
... clinicalStatus ?!SΣC0..1CodeableConcept(USCDI) active | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus ?!SΣC0..1CodeableConcept(USCDI) unconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
... Slices for category S1..*CodeableConcept(USCDI) category codes
Slice: Unordered, Open by pattern:$this
Binding: ConditionCategoryCodes (extensible): A category assigned to the condition.


.... category:us-core S1..*CodeableConcept(USCDI) problem-list-item | health-concern
Binding: US Core Problem or Health Concern (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


.... category:screening-assessment S0..*CodeableConcept(USCDI) USCDI Health Status/Assessments Data Class
Binding: US Core Screening Assessment Condition Category (required): Note that other codes are permitted, see Required Bindings When Slicing by Value Sets


... severity 0..1CodeableConceptSubjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred): A subjective assessment of the severity of the condition as evaluated by the clinician.

... code SΣ1..1CodeableConcept(USCDI) Identification of the condition, problem or diagnosis
Binding: US Core Condition Codes (extensible): Valueset to describe the actual problem experienced by the patient

... bodySite Σ0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example): Codes describing anatomical locations. May include laterality.


... subject SΣ1..1Reference(QICore Patient)(USCDI) Who has the condition?
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... onset[x] SΣ0..1(USCDI) Estimated or actual date, date-time, or age
.... onsetDateTimedateTime S
.... onsetAgeAge S
.... onsetPeriodPeriod S
.... onsetRangeRange S
... abatement[x] SC0..1(USCDI) When in resolution/remission
.... abatementDateTimedateTime S
.... abatementAgeAge S
.... abatementPeriodPeriod S
.... abatementRangeRange S
... recordedDate SΣ0..1dateTime(USCDI) Date record was first recorded
... recorder Σ0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the condition
... asserter Σ0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Person who asserts this condition
... stage C0..*BackboneElementStage/grade, usually assessed formally
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... summary C0..1CodeableConceptSimple summary (disease specific)
Binding: ConditionStage (example): Codes describing condition stages (e.g. Cancer stages).

.... assessment C0..*Reference(ClinicalImpression | DiagnosticReport | Observation)Formal record of assessment
.... type 0..1CodeableConceptKind of staging
Binding: ConditionStageType (example): Codes describing the kind of condition staging (e.g. clinical or pathological).

... evidence C0..*BackboneElementSupporting evidence
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code ΣC0..*CodeableConceptManifestation/symptom
Binding: ManifestationAndSymptomCodes (example): Codes that describe the manifestation or symptoms of a condition.


.... detail ΣC0..*Reference(Resource)Supporting information found elsewhere
... note 0..*AnnotationAdditional information about the Condition

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Condition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleConditionCategoryCodes
Condition.category:us-corerequiredUSCoreProblemOrHealthConcern
Condition.category:screening-assessmentrequiredUSCoreScreeningAssessmentConditionCategory
Condition.severitypreferredCondition/DiagnosisSeverity
Condition.codeextensibleUSCoreConditionCodes
Condition.bodySiteexampleSNOMEDCTBodyStructures
Condition.stage.summaryexampleConditionStage
Condition.stage.typeexampleConditionStageType
Condition.evidence.codeexampleManifestationAndSymptomCodes

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()
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()

This structure is derived from USCoreConditionProblemsHealthConcernsProfile

Summary

Must-Support: 3 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron