QI-Core Implementation Guide: STU 4 (v4.0.0 for FHIR 4.0.0)

QI-Core Implementation Guide, Clinical Quality Improvement WG - CI build for vesion 4.0.0). This version is based on the current content of https://github.com/cqframework/qi-core/ and changes regularly. See the Directory of published versions

D.4.1 StructureDefinition-qicore-condition

Introduction:

See the patterns page for implementation and usage patterns.

Examples:

Severe Burn Example

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-condition

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

This profile builds on USCoreCondition.

This profile was published on Wed Aug 22 00:00:00 UTC 2018 as a draft by Health Level Seven, Inc. - CQI WG.

Description of Profiles, Differentials, and Snapshots.

Summary

Mandatory: 2 elements
Must-Support: 13 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition I0..*Detailed 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... condition-dueTo I0..*CodeableConcept, Reference(Condition | Procedure | MedicationAdministration | Immunization | MedicationStatement)What caused the Condition?
URL: http://hl7.org/fhir/StructureDefinition/condition-dueTo
Binding: ConditionCauseCodes (example)
... condition-occurredFollowing I0..*CodeableConcept, Reference(Condition | Procedure | MedicationAdministration | Immunization | MedicationStatement)Precedent for this Condition
URL: http://hl7.org/fhir/StructureDefinition/condition-occurredFollowing
Binding: ConditionPredecessorCodes (example)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this condition
... clinicalStatus ?!SΣI0..1CodeableConceptactive | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus ?!SΣI0..1CodeableConceptunconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
... category S1..*CodeableConceptproblem-list-item | encounter-diagnosis
Binding: US Core Condition Category Codes (extensible)
... severity S0..1CodeableConceptSubjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred)
... code SΣ1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: US Core Problem (extensible)
... bodySite SΣ0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example)
... subject SΣ1..1Reference(QICorePatient)Who has the condition?
... encounter SΣ0..1Reference(QICoreEncounter)Encounter created as part of
... onset[x] SΣ0..1Estimated or actual date, date-time, or age
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
... abatement[x] SI0..1When in resolution/remission
.... abatementDateTimedateTime
.... abatementAgeAge
.... abatementPeriodPeriod
.... abatementRangeRange
... recordedDate SΣ0..1dateTimeDate record was first recorded
... recorder Σ0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the condition
... asserter Σ0..1Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson)Person who asserts this condition
... stage SI0..*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 SI0..1CodeableConceptSimple summary (disease specific)
Binding: ConditionStage (example)
.... assessment I0..*Reference(ClinicalImpression | QICoreDiagnosticReportLab | QICoreObservation)Formal record of assessment
.... type 0..1CodeableConceptKind of staging
Binding: ConditionStageType (example)
... evidence I0..*BackboneElementSupporting evidence
con-2: evidence SHALL have code or details
.... 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 ΣI0..*CodeableConceptManifestation/symptom
Binding: ManifestationAndSymptomCodes (example)
.... detail ΣI0..*Reference(Resource)Supporting information found elsewhere
... note 0..*AnnotationAdditional information about the Condition

doco Documentation for this format

Summary

Mandatory: 2 elements
Must-Support: 13 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Condition I0..*Detailed 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
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... condition-dueTo I0..*CodeableConcept, Reference(Condition | Procedure | MedicationAdministration | Immunization | MedicationStatement)What caused the Condition?
URL: http://hl7.org/fhir/StructureDefinition/condition-dueTo
Binding: ConditionCauseCodes (example)
... condition-occurredFollowing I0..*CodeableConcept, Reference(Condition | Procedure | MedicationAdministration | Immunization | MedicationStatement)Precedent for this Condition
URL: http://hl7.org/fhir/StructureDefinition/condition-occurredFollowing
Binding: ConditionPredecessorCodes (example)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal Ids for this condition
... clinicalStatus ?!SΣI0..1CodeableConceptactive | recurrence | relapse | inactive | remission | resolved
Binding: ConditionClinicalStatusCodes (required)
... verificationStatus ?!SΣI0..1CodeableConceptunconfirmed | provisional | differential | confirmed | refuted | entered-in-error
Binding: ConditionVerificationStatus (required)
... category S1..*CodeableConceptproblem-list-item | encounter-diagnosis
Binding: US Core Condition Category Codes (extensible)
... severity S0..1CodeableConceptSubjective severity of condition
Binding: Condition/DiagnosisSeverity (preferred)
... code SΣ1..1CodeableConceptIdentification of the condition, problem or diagnosis
Binding: US Core Problem (extensible)
... bodySite SΣ0..*CodeableConceptAnatomical location, if relevant
Binding: SNOMEDCTBodyStructures (example)
... subject SΣ1..1Reference(QICorePatient)Who has the condition?
... encounter SΣ0..1Reference(QICoreEncounter)Encounter created as part of
... onset[x] SΣ0..1Estimated or actual date, date-time, or age
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
... abatement[x] SI0..1When in resolution/remission
.... abatementDateTimedateTime
.... abatementAgeAge
.... abatementPeriodPeriod
.... abatementRangeRange
... recordedDate SΣ0..1dateTimeDate record was first recorded
... recorder Σ0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the condition
... asserter Σ0..1Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson)Person who asserts this condition
... stage SI0..*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 SI0..1CodeableConceptSimple summary (disease specific)
Binding: ConditionStage (example)
.... assessment I0..*Reference(ClinicalImpression | QICoreDiagnosticReportLab | QICoreObservation)Formal record of assessment
.... type 0..1CodeableConceptKind of staging
Binding: ConditionStageType (example)
... evidence I0..*BackboneElementSupporting evidence
con-2: evidence SHALL have code or details
.... 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 ΣI0..*CodeableConceptManifestation/symptom
Binding: ManifestationAndSymptomCodes (example)
.... detail ΣI0..*Reference(Resource)Supporting information found elsewhere
... note 0..*AnnotationAdditional information about the Condition

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Condition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Condition.clinicalStatusrequiredConditionClinicalStatusCodes
Condition.verificationStatusrequiredConditionVerificationStatus
Condition.categoryextensibleUSCoreConditionCategoryCodes
Condition.severitypreferredCondition/DiagnosisSeverity
Condition.codeextensibleUSCoreProblem
Condition.bodySiteexampleSNOMEDCTBodyStructures
Condition.stage.summaryexampleConditionStage
Condition.stage.typeexampleConditionStageType
Condition.evidence.codeexampleManifestationAndSymptomCodes

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ConditionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-4ConditionIf 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-3ConditionIf 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-6ConditionA resource should have narrative for robust management
: text.div.exists()
dom-5ConditionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
con-5ConditionCondition.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()
con-4ConditionIf 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-3ConditionCondition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error and category is problem-list-item
: clinicalStatus.exists() or verificationStatus='entered-in-error' or category.select($this='problem-list-item').empty()
us-core-1ConditionA code in Condition.category SHOULD be from US Core Condition Category Codes value set.
: where(category in 'http://hl7.org/fhir/us/core/ValueSet/us-core-condition-category').exists()
ele-1Condition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Condition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Condition.stageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
con-1Condition.stageStage SHALL have summary or assessment
: summary.exists() or assessment.exists()
ele-1Condition.evidenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
con-2Condition.evidenceevidence SHALL have code or details
: code.exists() or detail.exists()