HL7 FHIR® US Core Implementation Guide (Release 3.0.1 STU3 Update for Comment)

This page is part of the US Core (v3.0.1: STU3 Ballot 3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions

StructureDefinition-us-core-allergyintolerance

This profile sets minimum expectations for the AllergyIntolerance resource to record, search and fetch allergies/adverse reactions associated with a patient. It identifies the mandatory core elements, extensions, vocabularies and value sets which SHALL be present in the AllergyIntolerance resource when using this profile.

Example Usage Scenarios:

The following are example usage scenarios for the US Core AllergyIntolerance profile:

  • Query for Allergies belonging to a Patient
  • Record or update a Patient Allergy

Mandatory and Must Support Data Elements

The following data-elements are mandatory (i.e data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each AllergyIntolerance must have:

  1. a status of the allergy*
  2. a code which tells you what the patient is allergic to
  3. a patient

*The status element has the following constraints: SHALL be present if verification status is not entered-in-error and SHALL NOT be present if verification Status is entered-in-error.

Each AllergyIntolerance must support:

  1. a verification status

Profile specific implementation guidance:

  • No Known Allergies may be represented using the US Core-AllergyIntolerance profile with appropriate negation code in AllergyIntolerence.code.

Examples

Formal Views of Profile Content

Description of Profiles, Differentials, and Snapshots.

The official URL for this profile is: http://hl7.org/fhir/us/core/StructureDefinition/us-core-allergyintolerance

Published on Tue May 21 00:00:00 EDT 2019 as active by the HL7 US Realm Steering Committee.

This profile builds on AllergyIntolerance


AllergyIntolerance

Summary of the Mandatory Requirements

  1. A CodeableConcept in AllergyIntolerance.code with an extensible binding to US Core Common substances for allergy and intolerance documentation including refutations
  2. A Patient Reference in AllergyIntolerance.patient

Summary of the Must Support Requirements

  1. A CodeableConcept in AllergyIntolerance.clinicalStatus with a required binding to AllergyIntolerance Clinical Status Codes
  2. A CodeableConcept in AllergyIntolerance.verificationStatus with a required binding to AllergyIntolerance Verification Status Codes

Summary of Constraints

  1. AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
  2. AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance I0..*Allergy or Intolerance (generally: Risk of adverse reaction to a substance)
... 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..*ExtensionAdditional content defined by implementations
... 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ΣI0..1CodeableConceptunconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required)
... type Σ0..1codeallergy | intolerance - Underlying mechanism (if known)
Binding: AllergyIntoleranceType (required)
... category Σ0..*codefood | medication | environment | biologic
Binding: AllergyIntoleranceCategory (required)
... criticality Σ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 (extensible)
... patient SΣ1..1Reference(US Core Patient Profile)Who the sensitivity is for
... encounter 0..1Reference(Encounter)Encounter when the allergy or intolerance was asserted
... onset[x] 0..1When allergy or intolerance was identified
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
... recordedDate 0..1dateTimeDate first version of the resource instance was recorded
... recorder 0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the sensitivity
... asserter Σ0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)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..*ExtensionAdditional content defined by implementations
.... 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 1..*CodeableConceptClinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (example)
.... description 0..1stringDescription of the event as a whole
.... onset 0..1dateTimeDate(/time) when manifestations showed
.... severity 0..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

AllergyIntolerance

Summary of the Mandatory Requirements

  1. A CodeableConcept in AllergyIntolerance.code with an extensible binding to US Core Common substances for allergy and intolerance documentation including refutations
  2. A Patient Reference in AllergyIntolerance.patient

Summary of the Must Support Requirements

  1. A CodeableConcept in AllergyIntolerance.clinicalStatus with a required binding to AllergyIntolerance Clinical Status Codes
  2. A CodeableConcept in AllergyIntolerance.verificationStatus with a required binding to AllergyIntolerance Verification Status Codes

Summary of Constraints

  1. AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
  2. AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance I0..*Allergy or Intolerance (generally: Risk of adverse reaction to a substance)
... 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..*ExtensionAdditional content defined by implementations
... 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ΣI0..1CodeableConceptunconfirmed | confirmed | refuted | entered-in-error
Binding: AllergyIntoleranceVerificationStatusCodes (required)
... type Σ0..1codeallergy | intolerance - Underlying mechanism (if known)
Binding: AllergyIntoleranceType (required)
... category Σ0..*codefood | medication | environment | biologic
Binding: AllergyIntoleranceCategory (required)
... criticality Σ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 (extensible)
... patient SΣ1..1Reference(US Core Patient Profile)Who the sensitivity is for
... encounter 0..1Reference(Encounter)Encounter when the allergy or intolerance was asserted
... onset[x] 0..1When allergy or intolerance was identified
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
... recordedDate 0..1dateTimeDate first version of the resource instance was recorded
... recorder 0..1Reference(Practitioner | PractitionerRole | Patient | RelatedPerson)Who recorded the sensitivity
... asserter Σ0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole)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..*ExtensionAdditional content defined by implementations
.... 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 1..*CodeableConceptClinical symptoms/signs associated with the Event
Binding: SNOMEDCTClinicalFindings (example)
.... description 0..1stringDescription of the event as a whole
.... onset 0..1dateTimeDate(/time) when manifestations showed
.... severity 0..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

Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron


Quick Start

Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.

  • See the General Guidance section for additional rules and expectations when a server requires status parameters.
  • See the General Guidance section for additional guidance on searching for multiple patients.

Mandatory Search Parameters:

The following search parameters, search parameter combinations SHALL be supported. Any listed search parameter modifiers, comparators, chains and composites SHALL also be supported UNLESS they are listed as “optional” in which case they SHOULD be supported.:

  1. SHALL support searching for all allergies for a patient using the patient search parameter:

    GET [base]/AllergyIntolerance?patient=[reference]

    Example:

    1. GET [base]/AllergyIntolerance?patient=1137192

    Implementation Notes: Fetches a bundle of all AllergyIntolerance resources for the specified patient (how to search by reference)

Optional Search Parameters:

The following search parameters, search parameter combinations and search parameter modifiers, comparators, chains and composites SHOULD be supported.

  1. SHOULD support searching using the combination of the patient and clinical-status search parameters:

    GET [base]/AllergyIntolerance?patient=[reference]&clinical-status={[system]}|[code]

    Example:

    1. GET [base]/AllergyIntolerance?patient=[id]&clinical-status=http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical|active

    Implementation Notes: Fetches a bundle of all AllergyIntolerance resources for the specified patient and status code. This will not return any "entered in error" resources because of the conditional presence of the clinicalStatus element. (how to search by reference and how to search by token)