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-allergyintolerance

Introduction:

See the patterns page for implementation and usage patterns.

Examples:

Typical Food Allergy
Refuted Food Allergy

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

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

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

This profile builds on USCoreAllergyIntolerance.

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.

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance I0..*Allergy or Intolerance (generally: Risk of adverse reaction to a substance)
1: extension: reasonRefuted is only permitted if status is refuted
... 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
... allergyintolerance-resolutionAge I0..1AgeAge that the allergy or intolerance resolved
URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-resolutionAge
... allergyintolerance-reasonRefuted I0..1CodeableConceptExplanation associated with refuted status
URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-reasonRefuted
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal ids for this item
... clinicalStatus ?!SΣI0..1CodeableConceptactive | inactive | resolved
Binding: AllergyIntoleranceClinicalStatusCodes (required)
... verificationStatus ?!SΣI1..1CodeableConceptunconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required)
... type SΣ0..1codeallergy | intolerance - Underlying mechanism (if known)
Binding: AllergyIntoleranceType (required)
... category SΣ0..*codefood | medication | environment | biologic
Binding: AllergyIntoleranceCategory (required)
... criticality SΣ0..1codelow | high | unable-to-assess
Binding: AllergyIntoleranceCriticality (required)
... code SΣ1..1CodeableConceptCode that identifies the allergy or intolerance
Binding: US Core Common substances for allergy and intolerance documentation including refutations (preferred)
... patient SΣ1..1Reference(QICorePatient)Who the sensitivity is for
... encounter S0..1Reference(QICoreEncounter)Encounter when the allergy or intolerance was asserted
... onset[x] 0..1When allergy or intolerance was identified
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
... recordedDate S0..1dateTimeDate first version of the resource instance was recorded
... recorder 0..1Reference(QICorePractitioner | QICorePractitionerRole | QICorePatient | QICoreRelatedPerson)Who recorded the sensitivity
... asserter Σ0..1Reference(QICorePractitioner | QICorePractitionerRole | QICorePatient | QICoreRelatedPerson)Source of the information about the allergy
... lastOccurrence 0..1dateTimeDate(/time) of last known occurrence of a reaction
... note 0..*AnnotationAdditional text not captured in other fields
... reaction I0..*BackboneElementAdverse Reaction Events linked to exposure to substance
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... allergyintolerance-duration SI0..1DurationHow long Manifestations persisted
URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-duration
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... substance 0..1CodeableConceptSpecific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example)
.... manifestation S1..*CodeableConceptClinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (example)
.... description 0..1stringDescription of the event as a whole
.... onset S0..1dateTimeDate(/time) when manifestations showed
.... severity S0..1codemild | moderate | severe (of event as a whole)
Binding: AllergyIntoleranceSeverity (required)
.... exposureRoute 0..1CodeableConceptHow the subject was exposed to the substance
Binding: SNOMEDCTRouteCodes (example)
.... note 0..*AnnotationText about event not captured in other fields

doco Documentation for this format

Differential View

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance I0..*Allergy or Intolerance (generally: Risk of adverse reaction to a substance)
1: extension: reasonRefuted is only permitted if status is refuted
... 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
... allergyintolerance-resolutionAge I0..1AgeAge that the allergy or intolerance resolved
URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-resolutionAge
... allergyintolerance-reasonRefuted I0..1CodeableConceptExplanation associated with refuted status
URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-reasonRefuted
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal ids for this item
... clinicalStatus ?!SΣI0..1CodeableConceptactive | inactive | resolved
Binding: AllergyIntoleranceClinicalStatusCodes (required)
... verificationStatus ?!SΣI1..1CodeableConceptunconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required)
... type SΣ0..1codeallergy | intolerance - Underlying mechanism (if known)
Binding: AllergyIntoleranceType (required)
... category SΣ0..*codefood | medication | environment | biologic
Binding: AllergyIntoleranceCategory (required)
... criticality SΣ0..1codelow | high | unable-to-assess
Binding: AllergyIntoleranceCriticality (required)
... code SΣ1..1CodeableConceptCode that identifies the allergy or intolerance
Binding: US Core Common substances for allergy and intolerance documentation including refutations (preferred)
... patient SΣ1..1Reference(QICorePatient)Who the sensitivity is for
... encounter S0..1Reference(QICoreEncounter)Encounter when the allergy or intolerance was asserted
... onset[x] 0..1When allergy or intolerance was identified
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
... recordedDate S0..1dateTimeDate first version of the resource instance was recorded
... recorder 0..1Reference(QICorePractitioner | QICorePractitionerRole | QICorePatient | QICoreRelatedPerson)Who recorded the sensitivity
... asserter Σ0..1Reference(QICorePractitioner | QICorePractitionerRole | QICorePatient | QICoreRelatedPerson)Source of the information about the allergy
... lastOccurrence 0..1dateTimeDate(/time) of last known occurrence of a reaction
... note 0..*AnnotationAdditional text not captured in other fields
... reaction I0..*BackboneElementAdverse Reaction Events linked to exposure to substance
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... allergyintolerance-duration SI0..1DurationHow long Manifestations persisted
URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-duration
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... substance 0..1CodeableConceptSpecific substance or pharmaceutical product considered to be responsible for event
Binding: SubstanceCode (example)
.... manifestation S1..*CodeableConceptClinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (example)
.... description 0..1stringDescription of the event as a whole
.... onset S0..1dateTimeDate(/time) when manifestations showed
.... severity S0..1codemild | moderate | severe (of event as a whole)
Binding: AllergyIntoleranceSeverity (required)
.... exposureRoute 0..1CodeableConceptHow the subject was exposed to the substance
Binding: SNOMEDCTRouteCodes (example)
.... note 0..*AnnotationText about event not captured in other fields

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
AllergyIntolerance.languagepreferredCommonLanguages
Max Binding: AllLanguages
AllergyIntolerance.clinicalStatusrequiredAllergyIntoleranceClinicalStatusCodes
AllergyIntolerance.verificationStatusrequiredAllergyIntoleranceVerificationStatusCodes
AllergyIntolerance.typerequiredAllergyIntoleranceType
AllergyIntolerance.categoryrequiredAllergyIntoleranceCategory
AllergyIntolerance.criticalityrequiredAllergyIntoleranceCriticality
AllergyIntolerance.codepreferredUSCoreAllergySubstance
AllergyIntolerance.reaction.substanceexampleSubstanceCode
AllergyIntolerance.reaction.manifestationexampleSNOMEDCTClinicalFindings
AllergyIntolerance.reaction.severityrequiredAllergyIntoleranceSeverity
AllergyIntolerance.reaction.exposureRouteexampleSNOMEDCTRouteCodes

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2AllergyIntoleranceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-4AllergyIntoleranceIf 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-3AllergyIntoleranceIf 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-6AllergyIntoleranceA resource should have narrative for robust management
: text.div.exists()
dom-5AllergyIntoleranceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
ait-1AllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
: verificationStatus='entered-in-error' or clinicalStatus.exists()
ait-2AllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
: verificationStatus!='entered-in-error' or clinicalStatus.empty()
1AllergyIntoleranceextension: reasonRefuted is only permitted if status is refuted
: verificationStatus.coding.code = 'refuted' or extension.where(url='http://hl7.org/fhir/StructureDefinition/allergyintolerance-reasonRefuted').empty()
ele-1AllergyIntolerance.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.reactionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AllergyIntolerance.reaction.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.reaction.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AllergyIntolerance.reaction.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AllergyIntolerance.reaction.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()