QI-Core Implementation Guide - This is the current published version.. See the Directory of published versions
define "Statin Allergy":
["AllergyIntolerance": "Statin Allergen"] StatinAllergy
where (StatinAllergy.clinicalStatus is null or FHIRHelpers.ToConcept(StatinAllergy.clinicalStatus) ~ Global."allergy-active")
and FHIRHelpers.ToConcept(StatinAllergy.verificationStatus) in { Global."allergy-unconfirmed", Global."allergy-confirmed" }
Typical Food Allergy |
Refuted Food Allergy |
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.
Summary
Mandatory: 3 elements
Must-Support: 13 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
AllergyIntolerance | I | 0..* | USCoreAllergyIntolerance | Allergy or Intolerance (generally: Risk of adverse reaction to a substance) 1: extension: reasonRefuted is only permitted if status is refuted |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
allergyintolerance-resolutionAge | I | 0..1 | Age | Age that the allergy or intolerance resolved URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-resolutionAge |
allergyintolerance-reasonRefuted | I | 0..1 | CodeableConcept | Explanation associated with refuted status URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-reasonRefuted |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | External ids for this item |
clinicalStatus | ?!SΣI | 0..1 | CodeableConcept | active | inactive | resolved Binding: AllergyIntoleranceClinicalStatusCodes (required) |
verificationStatus | ?!SΣI | 1..1 | CodeableConcept | unconfirmed | confirmed | refuted | entered-in-error Binding: AllergyIntoleranceVerificationStatusCodes (required) |
type | SΣI | 0..1 | code | allergy | intolerance - Underlying mechanism (if known) Binding: AllergyIntoleranceType (required) |
category | SΣI | 0..* | code | food | medication | environment | biologic Binding: AllergyIntoleranceCategory (required) |
criticality | SΣI | 0..1 | code | low | high | unable-to-assess Binding: AllergyIntoleranceCriticality (required) |
code | SΣI | 1..1 | CodeableConcept | Code that identifies the allergy or intolerance Binding: US Core Common substances for allergy and intolerance documentation including refutations (preferred) |
patient | SΣI | 1..1 | Reference(QICorePatient) | Who the sensitivity is for |
encounter | SI | 0..1 | Reference(QICoreEncounter) | Encounter when the allergy or intolerance was asserted |
onset[x] | I | 0..1 | When allergy or intolerance was identified | |
onsetDateTime | dateTime | |||
onsetAge | Age | |||
onsetPeriod | Period | |||
onsetRange | Range | |||
recordedDate | SI | 0..1 | dateTime | Date first version of the resource instance was recorded |
recorder | I | 0..1 | Reference(QICorePractitioner | QICorePractitionerRole | QICorePatient | QICoreRelatedPerson) | Who recorded the sensitivity |
asserter | ΣI | 0..1 | Reference(QICorePractitioner | QICorePractitionerRole | QICorePatient | QICoreRelatedPerson) | Source of the information about the allergy |
lastOccurrence | I | 0..1 | dateTime | Date(/time) of last known occurrence of a reaction |
note | I | 0..* | Annotation | Additional text not captured in other fields |
reaction | I | 0..* | BackboneElement | Adverse Reaction Events linked to exposure to substance |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
allergyintolerance-duration | SI | 0..1 | Duration | How long Manifestations persisted URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-duration |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
substance | I | 0..1 | CodeableConcept | Specific substance or pharmaceutical product considered to be responsible for event Binding: SubstanceCode (example) |
manifestation | SI | 1..* | CodeableConcept | Clinical symptoms/signs associated with the Event Binding: SNOMEDCTClinicalFindings (example) |
description | I | 0..1 | string | Description of the event as a whole |
onset | SI | 0..1 | dateTime | Date(/time) when manifestations showed |
severity | SI | 0..1 | code | mild | moderate | severe (of event as a whole) Binding: AllergyIntoleranceSeverity (required) |
exposureRoute | I | 0..1 | CodeableConcept | How the subject was exposed to the substance Binding: SNOMEDCTRouteCodes (example) |
note | I | 0..* | Annotation | Text about event not captured in other fields |
Documentation for this format |
Summary
Mandatory: 3 elements
Must-Support: 13 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
AllergyIntolerance | I | 0..* | USCoreAllergyIntolerance | Allergy or Intolerance (generally: Risk of adverse reaction to a substance) 1: extension: reasonRefuted is only permitted if status is refuted |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
allergyintolerance-resolutionAge | I | 0..1 | Age | Age that the allergy or intolerance resolved URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-resolutionAge |
allergyintolerance-reasonRefuted | I | 0..1 | CodeableConcept | Explanation associated with refuted status URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-reasonRefuted |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | External ids for this item |
clinicalStatus | ?!SΣI | 0..1 | CodeableConcept | active | inactive | resolved Binding: AllergyIntoleranceClinicalStatusCodes (required) |
verificationStatus | ?!SΣI | 1..1 | CodeableConcept | unconfirmed | confirmed | refuted | entered-in-error Binding: AllergyIntoleranceVerificationStatusCodes (required) |
type | SΣI | 0..1 | code | allergy | intolerance - Underlying mechanism (if known) Binding: AllergyIntoleranceType (required) |
category | SΣI | 0..* | code | food | medication | environment | biologic Binding: AllergyIntoleranceCategory (required) |
criticality | SΣI | 0..1 | code | low | high | unable-to-assess Binding: AllergyIntoleranceCriticality (required) |
code | SΣI | 1..1 | CodeableConcept | Code that identifies the allergy or intolerance Binding: US Core Common substances for allergy and intolerance documentation including refutations (preferred) |
patient | SΣI | 1..1 | Reference(QICorePatient) | Who the sensitivity is for |
encounter | SI | 0..1 | Reference(QICoreEncounter) | Encounter when the allergy or intolerance was asserted |
onset[x] | I | 0..1 | When allergy or intolerance was identified | |
onsetDateTime | dateTime | |||
onsetAge | Age | |||
onsetPeriod | Period | |||
onsetRange | Range | |||
recordedDate | SI | 0..1 | dateTime | Date first version of the resource instance was recorded |
recorder | I | 0..1 | Reference(QICorePractitioner | QICorePractitionerRole | QICorePatient | QICoreRelatedPerson) | Who recorded the sensitivity |
asserter | ΣI | 0..1 | Reference(QICorePractitioner | QICorePractitionerRole | QICorePatient | QICoreRelatedPerson) | Source of the information about the allergy |
lastOccurrence | I | 0..1 | dateTime | Date(/time) of last known occurrence of a reaction |
note | I | 0..* | Annotation | Additional text not captured in other fields |
reaction | I | 0..* | BackboneElement | Adverse Reaction Events linked to exposure to substance |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
allergyintolerance-duration | SI | 0..1 | Duration | How long Manifestations persisted URL: http://hl7.org/fhir/StructureDefinition/allergyintolerance-duration |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
substance | I | 0..1 | CodeableConcept | Specific substance or pharmaceutical product considered to be responsible for event Binding: SubstanceCode (example) |
manifestation | SI | 1..* | CodeableConcept | Clinical symptoms/signs associated with the Event Binding: SNOMEDCTClinicalFindings (example) |
description | I | 0..1 | string | Description of the event as a whole |
onset | SI | 0..1 | dateTime | Date(/time) when manifestations showed |
severity | SI | 0..1 | code | mild | moderate | severe (of event as a whole) Binding: AllergyIntoleranceSeverity (required) |
exposureRoute | I | 0..1 | CodeableConcept | How the subject was exposed to the substance Binding: SNOMEDCTRouteCodes (example) |
note | I | 0..* | Annotation | Text about event not captured in other fields |
Documentation for this format |
Path | Conformance | ValueSet |
AllergyIntolerance.language | preferred | CommonLanguages Max Binding: AllLanguages |
AllergyIntolerance.clinicalStatus | required | AllergyIntoleranceClinicalStatusCodes |
AllergyIntolerance.verificationStatus | required | AllergyIntoleranceVerificationStatusCodes |
AllergyIntolerance.type | required | AllergyIntoleranceType |
AllergyIntolerance.category | required | AllergyIntoleranceCategory |
AllergyIntolerance.criticality | required | AllergyIntoleranceCriticality |
AllergyIntolerance.code | preferred | USCoreAllergySubstance |
AllergyIntolerance.reaction.substance | example | SubstanceCode |
AllergyIntolerance.reaction.manifestation | example | SNOMEDCTClinicalFindings |
AllergyIntolerance.reaction.severity | required | AllergyIntoleranceSeverity |
AllergyIntolerance.reaction.exposureRoute | example | SNOMEDCTRouteCodes |
Id | Path | Details | Requirements |
ait-1 | AllergyIntolerance | AllergyIntolerance.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-2 | AllergyIntolerance | AllergyIntolerance.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-2 | AllergyIntolerance | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | AllergyIntolerance | 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 : 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-4 | AllergyIntolerance | If 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-5 | AllergyIntolerance | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | AllergyIntolerance | A resource should have narrative for robust management : text.`div`.exists() | |
1 | AllergyIntolerance | extension: 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-1 | AllergyIntolerance.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | AllergyIntolerance.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | AllergyIntolerance.extension:resolutionAge | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | AllergyIntolerance.extension:resolutionAge | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | AllergyIntolerance.extension:reasonRefuted | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | AllergyIntolerance.extension:reasonRefuted | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | AllergyIntolerance.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | AllergyIntolerance.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | AllergyIntolerance.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.clinicalStatus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.verificationStatus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.criticality | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.patient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.onset[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.recordedDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.recorder | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.asserter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.lastOccurrence | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.reaction | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.reaction.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | AllergyIntolerance.reaction.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | AllergyIntolerance.reaction.extension:reaction-duration | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | AllergyIntolerance.reaction.extension:reaction-duration | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | AllergyIntolerance.reaction.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | AllergyIntolerance.reaction.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | AllergyIntolerance.reaction.substance | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.reaction.manifestation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.reaction.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.reaction.onset | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.reaction.severity | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.reaction.exposureRoute | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | AllergyIntolerance.reaction.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |