QI-Core Implementation Guide
7.0.0 - STU7 United States of America flag

QI-Core Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 7.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-qi-core/ and changes regularly. See the Directory of published versions

Resource Profile: QICore AllergyIntolerance

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-allergyintolerance Version: 7.0.0
Active as of 2018-08-22 Computable Name: QICoreAllergyIntolerance

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

"Must Have", "QI Elements" and "primary code path" are defined in the QI-Core Must Support section.
Must Have:
  • code: (QI) Code that identifies the allergy or intolerance
  • patient: (QI) Who the sensitivity is for
  • reaction.manifestation: Clinical symptoms/signs associated with the Event
QI Elements:
  • clinicalStatus: (QI) active | inactive | resolved
  • verificationStatus: unconfirmed | confirmed | refuted | entered-in-error
  • type: (QI) allergy | intolerance - Underlying mechanism (if known)
  • category: (QI) food | medication | environment | biologic
  • criticality: (QI) low | high | unable-to-assess
  • onset[x]: (QI) When allergy or intolerance was identified
  • recordedDate: (QI) Date first version of the resource instance was recorded
  • lastOccurrence: (QI) Date(/time) of last known occurrence of a reaction
  • reaction: (QI) Adverse Reaction Events linked to exposure to substance
  • reaction.severity: (QI) mild | moderate | severe (of event as a whole)
Primary code path: code
(PCPath) This element is the primary code path for this resource CQL Retrieve


NOTE TO BALLOT REVIEWERS:
  • US Core 7.0, and thus QI-Core 7.0, has a new approach to USCDI requirements.
    • As noted in the US Core 7.0 Must Support section, US Core 7.0 no longer highlights mandatory (cardinality 1..* or 1..1) and Must Support elements with a (USCDI) indicator as such items must be supported for interoperability.
    • Those USCDI elements that are not mandatory or Must Support now include an indicator (ADDITIONAL USCDI) in US Core. QI-Core 7.0 does not reference USCDI elements; rather, users should access US Core 7.0 to understand its implementation of USCDI version 4.
  • We invite comments about the approach and suggestions for other options that would also avoid unnecessary noise or reading load to the QI-Core profile representation.
  • Further, QI-Core 7.0 does not discuss USCDI+Quality because at the time of ballot preparation, no published version of USCDI+Quality is available. We seek reviewer advice regarding how QI-Core might address future USCDI+Quality.

Usage

This example represents a situation where the subject is currently experiencing, or is at risk of, a reaction to the identified substance.

define "Statin Allergy Intolerance":
  ["AllergyIntolerance": "Statin Allergen"] StatinAllergyIntolerance
    where (StatinAllergyIntolerance.clinicalStatus is null or StatinAllergyIntolerance.clinicalStatus ~ Global."allergy-active")

See the patterns page for implementation and usage patterns.

Examples

Typical Food Allergy
Refuted Food Allergy

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance C 0..* USCoreAllergyIntolerance Allergy or Intolerance (generally: Risk of adverse reaction to a substance)
ait-1: AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
ait-2: AllergyIntolerance.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
... Slices for extension Content/Rules for all slices
.... resolutionAge 0..1 Age Age that the allergy or intolerance resolved
URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-resolutionAge
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... 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
... verificationStatus ?!SΣC 0..1 CodeableConcept (QI) unconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required)
ele-1: All FHIR elements must have a @value or children
... type Σ 0..1 code (QI) allergy | intolerance - Underlying mechanism (if known)
Binding: AllergyIntoleranceType (required): Identification of the underlying physiological mechanism for a Reaction Risk.


ele-1: All FHIR elements must have a @value or children
... category Σ 0..* code (QI) food | medication | environment | biologic
Binding: AllergyIntoleranceCategory (required): Category of an identified substance associated with allergies or intolerances.


ele-1: All FHIR elements must have a @value or children
... criticality Σ 0..1 code (QI) low | high | unable-to-assess
Binding: AllergyIntoleranceCriticality (required): Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance.


ele-1: All FHIR elements must have a @value or children
... code SΣ 1..1 CodeableConcept (QI) Code that identifies the allergy or intolerance
Binding: Common substances for allergy and intolerance documentation including refutations . (extensible)
ele-1: All FHIR elements must have a @value or children
... patient SΣ 1..1 Reference(QICore Patient) (QI) Who the sensitivity is for
ele-1: All FHIR elements must have a @value or children
... onset[x] 0..1 (QI) When allergy or intolerance was identified
ele-1: All FHIR elements must have a @value or children
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
... recordedDate 0..1 dateTime (QI) Date first version of the resource instance was recorded
ele-1: All FHIR elements must have a @value or children
... lastOccurrence 0..1 dateTime (QI) Date(/time) of last known occurrence of a reaction
ele-1: All FHIR elements must have a @value or children
... reaction S 0..* BackboneElement (QI) Adverse Reaction Events linked to exposure to substance
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... manifestation S 1..* CodeableConcept Clinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (extensible)
ele-1: All FHIR elements must have a @value or children
.... severity 0..1 code (QI) mild | moderate | severe (of event as a whole)
Binding: AllergyIntoleranceSeverity (required): Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
AllergyIntolerance.clinicalStatusrequiredAllergyIntoleranceClinicalStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-clinical
from the FHIR Standard
AllergyIntolerance.verificationStatusrequiredAllergyIntoleranceVerificationStatusCodes
http://hl7.org/fhir/ValueSet/allergyintolerance-verification
from the FHIR Standard
AllergyIntolerance.typerequiredAllergyIntoleranceType
http://hl7.org/fhir/ValueSet/allergy-intolerance-type|4.0.1
from the FHIR Standard
AllergyIntolerance.categoryrequiredAllergyIntoleranceCategory
http://hl7.org/fhir/ValueSet/allergy-intolerance-category|4.0.1
from the FHIR Standard
AllergyIntolerance.criticalityrequiredAllergyIntoleranceCriticality
http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality|4.0.1
from the FHIR Standard
AllergyIntolerance.codeextensibleCommonSubstancesForAllergyAndIntoleranceDocumentationIncludingRefutations .
http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1186.8
AllergyIntolerance.reaction.manifestationextensibleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard
AllergyIntolerance.reaction.severityrequiredAllergyIntoleranceSeverity
http://hl7.org/fhir/ValueSet/reaction-event-severity|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
ait-1errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').exists() or clinicalStatus.exists()
ait-2errorAllergyIntoleranceAllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
: verificationStatus.coding.where(system = 'http://terminology.hl7.org/CodeSystem/allergyintolerance-verification' and code = 'entered-in-error').empty() or clinicalStatus.empty()
dom-2errorAllergyIntoleranceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorAllergyIntoleranceIf 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-4errorAllergyIntoleranceIf 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-5errorAllergyIntoleranceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceAllergyIntoleranceA 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