FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

9.1 Resource AllergyIntolerance - Content

Patient Care icon Work GroupMaturity Level: 3 Trial UseSecurity Category: Patient Compartments: Patient, Practitioner, RelatedPerson

Risk of harmful or undesirable physiological response which is specific to an individual and associated with exposure to a substance.

A record of a clinical assessment of an allergy or intolerance; a propensity, or a potential risk to an individual, to have an adverse reaction on future exposure to the specified substance, or class of substance.

Where a propensity is identified, to record information or evidence about a reaction event that is characterized by any harmful or undesirable physiological response that is specific to the individual and triggered by exposure of an individual to the identified substance or class of substance.

Substances include, but are not limited to: a therapeutic substance administered correctly at an appropriate dosage for the individual; food; material derived from plants or animals; or venom from insect stings.

Note for Reviewers

Presently open issues for this resource:

  • This resource represents a condition of susceptibility to a substance, with a list of supporting events and/or symptoms, and has no direct relationship to an event reporting framework; this will be re-assessed when adverse event reporting resource(s) and/or profiles are added to FHIR
  • Other HL7 models and the openEHR archetype have "exposure date" but this is not found in any surveyed systems, so this is left as an extension (more appropriate for adverse event reporting)

This resource is used to provide a single place within the health record to document a range of clinical statements about adverse reactions to substances/products, including:

  • record a clinical assessment of the individual's propensity to a potential future reaction upon re-exposure
  • record cumulative information about the reaction to each exposure, including 'no reaction' if appropriate

Use to record information about the positive presence of the risk of an adverse reaction:

  • to support direct clinical care of an individual
  • as part of a managed adverse reaction or allergy/intolerance list
  • to support exchange of information about the propensity and events related to adverse reactions
  • to inform adverse reaction reporting
  • to assist computerized knowledge-based activities such as clinical decision support and alerts

Use to record information about adverse reactions to a broad range of substances, including: biological & blood products; incipients and excipients in medicinal preparations; foods; metal salts; and organic chemical compounds.

Adverse reactions may be:

  • an allergy (typically type I hypersensitivity, plus other "allergy-like" reactions, including pseudoallergy)
  • an intolerance (typically non-immune adverse reactions that are not determined or perceived to be allergic or "allergy-like", and are to some degree idiosyncratic and/or individually specific [i.e. are not a reaction that is expected to occur with most or all patients given similar circumstances])

In clinical practice distinguishing between allergy and intolerance is difficult and might not be practical. Often the term "allergy" is used rather generically and may overlap with "intolerance", and the boundaries between these concepts might not be well-defined or understood. As noted above, the term "intolerance" should generally be applied to a propensity for adverse reactions which is either determined (to the extent that is possible) or perceived to not be allergic or "allergy-like". If it is not possible to determine whether a particular propensity condition is an allergy or an intolerance, then the type element should be omitted from the resource. Identification of the type of reaction is not a proxy for seriousness or risk of harm to the patient, which is better expressed in the documentation of the clinical manifestation and the assessment of criticality.

The sensitivity in the case of either an allergy or intolerance is unique to the individual, and is distinguished from those reactions that are a property of the circumstance, such as toxicity of a food or drug, overdose, drug-drug, drug-food, or drug-disease interaction (which are reactions that would be expected to occur for any individual given the same circumstances).

The risk of an adverse reaction event or manifestation should not be recorded without identifying a proposed causative substance (including pharmaceutical products) or class of substance. If there is uncertainty that a specific substance is the cause, this uncertainty can be recorded using the 'verificationStatus' data element. If there are multiple possible substances that may have caused a reaction/manifestation, each substance should be recorded using a separate instance of this resource with the 'verificationStatus' set to an initial state of 'unconfirmed' so that adverse reaction checking can be supported in clinical systems. If a substance, agent or class is later proven not to be the cause for a given reaction then the 'verificationStatus' can be modified to 'refuted'.

This resource has been designed to allow recording of information about a specific substance (e.g., amoxicillin, oysters, or bee sting venom) or pharmaceutical product or, alternatively, a class of substance (e.g., penicillins). If a class of substance is recorded, then identification of the exact substance can be recorded on a per exposure basis.

The scope of this FHIR resource has deliberately focused on identifying a pragmatic data set that is used in most clinical systems or will be suitable for most common clinical scenarios; extensions can be used to add additional detail if required. Examples of clinical situations where the extension may be required include: a detailed allergist/immunologist assessment, for reporting to regulatory bodies or use in a clinical trial.

The act of recording any adverse reaction in a health record involves the clinical assessment that a potential hazard exists for an individual if they are exposed to the same substance/product/class in the future - that is, a relative contraindication - and, in the absence of additional information indicating a higher level of potential risk, the default 'criticality' value should be set to 'Low Risk'. If a clinician considers that it is not safe for the individual to be deliberately re-exposed to the substance/product again, for example, following a manifestation of a life-threatening anaphylaxis, then the 'criticality' data element should be amended to 'High Risk'.

A formal adverse event report to regulatory bodies is a document that will contain a broad range of information in addition to the specific details about the adverse reaction. The report could utilize parts of this resource plus include additional data as required per jurisdiction.

An adverse reaction or allergy/intolerance list is a record of all identified propensities for an adverse reaction for the individual upon future exposure to the substance/product or class, plus provides potential access to the evidence provided by details about each reaction event, such as manifestation.

Valuable first-level information that could be presented to the clinician when they need to assess propensity for future reactions are:

  • statements about previous clinical manifestations following exposure
  • source of the information/reporter
  • the 'criticality' flag

Second-level information can be drawn from each exposure event and links to additional detailed information such as history, examination and diagnoses stored elsewhere in the record, if it is available.

AllergyIntolerance and RiskAssessment

AllergyIntolerance describes a specific type of risk - propensity to reaction to a substance/product while RiskAssessment describes general risks to a subject, not generally based on a reaction.

AllergyIntolerance and Immunization.reaction

Immunization.reaction may be an indication of an allergy or intolerance. If this is deemed to be the case, a separate AllergyIntolerance record should be created to indicate it, as most systems will not query against past immunization.reactions.

Misuse

  • The allergy/intolerance list exists as a patient safety tool to inform decision support around ordering of medications and nutrition and to guide clinical treatment. Other reactions triggered by physical stimuli -- light, heat, cold, pressure, vibration, which may mimic allergic or intolerance reactions, should be recorded as Condition on the problem list, not using AllergyIntolerance.
  • Not to be used to record adverse events, including failures of clinical process, interventions or products. For example, abnormal use or mistakes/errors made in maladministration of an agent or substance, incorrect dosage, mislabeling, harm or injury caused by an intervention or procedure, overdose/poisoning, etc.
  • Not to be used as a proxy for an adverse event report. See above for how it may be used as one component of an adverse event report.
  • Not to be used for recording alerts. Alerts are handled using Flag or - where event-specific, DetectedIssue.
  • Not to be used for recording failed therapy.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance TU DomainResource Allergy or Intolerance (generally: Risk of adverse reaction to a substance)

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier External ids for this item

... clinicalStatus ?!Σ 0..1 CodeableConcept active | inactive | resolved
Binding: AllergyIntolerance Clinical Status Codes (Required)
... verificationStatus ?!Σ 0..1 CodeableConcept unconfirmed | presumed | confirmed | refuted | entered-in-error
Binding: AllergyIntolerance Verification Status (Required)
... category Σ 0..* code food | medication | environment | biologic
Binding: Allergy Intolerance Category (Required)

... criticality Σ 0..1 code low | high | unable-to-assess
Binding: Allergy Intolerance Criticality (Required)
... code Σ 0..1 CodeableConcept Code that identifies the allergy or intolerance
Binding: AllergyIntolerance Substance/Product, Condition and Negation Codes (Example)
... patient Σ 1..1 Reference(Patient) Who the allergy or intolerance is for
... encounter 0..1 Reference(Encounter) Encounter when the allergy or intolerance was asserted
... onset[x] 0..1 When allergy or intolerance was identified
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
... recordedDate 0..1 dateTime Date allergy or intolerance was first recorded
... recorder 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) Who recorded the sensitivity
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Source of the information about the allergy
... lastReactionOccurrence 0..1 dateTime Date(/time) of last known occurrence of a reaction
... note 0..* Annotation Additional text not captured in other fields

... reaction TU 0..* BackboneElement Adverse Reaction Events linked to exposure to substance

.... substance 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event
Binding: Substance Code (Example)
.... manifestation 1..* CodeableReference(Observation) Clinical symptoms/signs associated with the Event
Binding: SNOMED CT Clinical Findings (Example)

.... description 0..1 string Description of the event as a whole
.... onset 0..1 dateTime Date(/time) when manifestations showed
.... severity 0..1 code mild | moderate | severe (of event as a whole)
Binding: Allergy Intolerance Severity (Required)
.... exposureRoute 0..1 CodeableConcept How the subject was exposed to the substance
Binding: SNOMED CT Route Codes (Example)
.... note 0..* Annotation Text about event not captured in other fields


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

AllergyIntolerance (DomainResource)Business identifiers assigned to this AllergyIntolerance by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]The clinical status of the allergy or intolerance (this element modifies the meaning of other elements)clinicalStatus : CodeableConcept [0..1] « null (Strength=Required) AllergyIntoleranceClinicalSta...! »Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product). The verification status pertains to the allergy or intolerance, itself, not to any specific AllergyIntolerance attribute (this element modifies the meaning of other elements)verificationStatus : CodeableConcept [0..1] « null (Strength=Required) AllergyIntoleranceVerificatio...! »Identification of the underlying physiological mechanism for the reaction risktype : CodeableConcept [0..1] « null (Strength=Preferred)AllergyIntoleranceType? »Category of the identified substancecategory : code [0..*] « null (Strength=Required)AllergyIntoleranceCategory! »Estimate of the potential clinical harm, or seriousness, of the reaction to the identified substancecriticality : code [0..1] « null (Strength=Required)AllergyIntoleranceCriticality! »Code for an allergy or intolerance statement (either a positive or a negated/excluded statement). This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk (e.g., "Latex"), an allergy or intolerance condition (e.g., "Latex allergy"), or a negated/excluded code for a specific substance or class (e.g., "No latex allergy") or a general or categorical negated statement (e.g., "No known allergy", "No known drug allergies"). Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'. If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substancecode : CodeableConcept [0..1] « null (Strength=Example)SubstanceProductAndConditionA...?? »The patient who has the allergy or intolerancepatient : Reference [1..1] « Patient »The encounter when the allergy or intolerance was assertedencounter : Reference [0..1] « Encounter »Estimated or actual date, date-time, or age when allergy or intolerance was identifiedonset[x] : DataType [0..1] « dateTime|Age|Period|Range|string »The recordedDate represents when this particular AllergyIntolerance record was created in the system, which is often a system-generated daterecordedDate : dateTime [0..1]Individual who recorded the record and takes responsibility for its contentrecorder : Reference [0..1] « Practitioner|PractitionerRole|Patient| RelatedPerson|Organization »The source of the information about the allergy that is recordedasserter : Reference [0..1] « Patient|RelatedPerson|Practitioner| PractitionerRole »Represents the date and/or time of the last known occurrence of a reaction eventlastReactionOccurrence : dateTime [0..1]Additional narrative about the propensity for the Adverse Reaction, not captured in other fieldsnote : Annotation [0..*]ReactionIdentification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event. Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'. If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substancesubstance : CodeableConcept [0..1] « null (Strength=Example)SubstanceCode?? »Clinical symptoms and/or signs that are observed or associated with the adverse reaction eventmanifestation : CodeableReference [1..*] « Observation; null (Strength=Example) SNOMEDCTClinicalFindings?? »Text description about the reaction as a whole, including details of the manifestation if requireddescription : string [0..1]Record of the date and/or time of the onset of the Reactiononset : dateTime [0..1]Clinical assessment of the severity of the reaction event as a whole, potentially considering multiple different manifestationsseverity : code [0..1] « null (Strength=Required)AllergyIntoleranceSeverity! »Identification of the route by which the subject was exposed to the substanceexposureRoute : CodeableConcept [0..1] « null (Strength=Example)SNOMEDCTRouteCodes?? »Additional text about the adverse reaction event not captured in other fieldsnote : Annotation [0..*]Details about each adverse reaction event linked to exposure to the identified substancereaction[0..*]

XML Template

<AllergyIntolerance xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External ids for this item --></identifier>
 <clinicalStatus><!-- 0..1 CodeableConcept active | inactive | resolved --></clinicalStatus>
 <verificationStatus><!-- 0..1 CodeableConcept unconfirmed | presumed | confirmed | refuted | entered-in-error --></verificationStatus>
 <type><!-- 0..1 CodeableConcept allergy | intolerance - Underlying mechanism (if known) --></type>
 <category value="[code]"/><!-- 0..* food | medication | environment | biologic -->
 <criticality value="[code]"/><!-- 0..1 low | high | unable-to-assess -->
 <code><!-- 0..1 CodeableConcept Code that identifies the allergy or intolerance --></code>
 <patient><!-- 1..1 Reference(Patient) Who the allergy or intolerance is for --></patient>
 <encounter><!-- 0..1 Reference(Encounter) Encounter when the allergy or intolerance was asserted --></encounter>
 <onset[x]><!-- 0..1 dateTime|Age|Period|Range|string When allergy or intolerance was identified --></onset[x]>
 <recordedDate value="[dateTime]"/><!-- 0..1 Date allergy or intolerance was first recorded -->
 <recorder><!-- 0..1 Reference(Organization|Patient|Practitioner|PractitionerRole|
   RelatedPerson) Who recorded the sensitivity --></recorder>
 <asserter><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole|
   RelatedPerson) Source of the information about the allergy --></asserter>
 <lastReactionOccurrence value="[dateTime]"/><!-- 0..1 Date(/time) of last known occurrence of a reaction -->
 <note><!-- 0..* Annotation Additional text not captured in other fields --></note>
 <reaction>  <!-- 0..* Adverse Reaction Events linked to exposure to substance -->
  <substance><!-- 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event --></substance>
  <manifestation><!-- 1..* CodeableReference(Observation) Clinical symptoms/signs associated with the Event --></manifestation>
  <description value="[string]"/><!-- 0..1 Description of the event as a whole -->
  <onset value="[dateTime]"/><!-- 0..1 Date(/time) when manifestations showed -->
  <severity value="[code]"/><!-- 0..1 mild | moderate | severe (of event as a whole) -->
  <exposureRoute><!-- 0..1 CodeableConcept How the subject was exposed to the substance --></exposureRoute>
  <note><!-- 0..* Annotation Text about event not captured in other fields --></note>
 </reaction>
</AllergyIntolerance>

JSON Template

{doco
  "resourceType" : "AllergyIntolerance",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External ids for this item
  "clinicalStatus" : { CodeableConcept }, // active | inactive | resolved
  "verificationStatus" : { CodeableConcept }, // unconfirmed | presumed | confirmed | refuted | entered-in-error
  "type" : { CodeableConcept }, // allergy | intolerance - Underlying mechanism (if known)
  "category" : ["<code>"], // food | medication | environment | biologic
  "criticality" : "<code>", // low | high | unable-to-assess
  "code" : { CodeableConcept }, // Code that identifies the allergy or intolerance
  "patient" : { Reference(Patient) }, // R!  Who the allergy or intolerance is for
  "encounter" : { Reference(Encounter) }, // Encounter when the allergy or intolerance was asserted
  // onset[x]: When allergy or intolerance was identified. One of these 5:
  "onsetDateTime" : "<dateTime>",
  "onsetAge" : { Age },
  "onsetPeriod" : { Period },
  "onsetRange" : { Range },
  "onsetString" : "<string>",
  "recordedDate" : "<dateTime>", // Date allergy or intolerance was first recorded
  "recorder" : { Reference(Organization|Patient|Practitioner|PractitionerRole|
   RelatedPerson) }, // Who recorded the sensitivity
  "asserter" : { Reference(Patient|Practitioner|PractitionerRole|
   RelatedPerson) }, // Source of the information about the allergy
  "lastReactionOccurrence" : "<dateTime>", // Date(/time) of last known occurrence of a reaction
  "note" : [{ Annotation }], // Additional text not captured in other fields
  "reaction" : [{ // Adverse Reaction Events linked to exposure to substance
    "substance" : { CodeableConcept }, // Specific substance or pharmaceutical product considered to be responsible for event
    "manifestation" : [{ CodeableReference(Observation) }], // R!  Clinical symptoms/signs associated with the Event
    "description" : "<string>", // Description of the event as a whole
    "onset" : "<dateTime>", // Date(/time) when manifestations showed
    "severity" : "<code>", // mild | moderate | severe (of event as a whole)
    "exposureRoute" : { CodeableConcept }, // How the subject was exposed to the substance
    "note" : [{ Annotation }] // Text about event not captured in other fields
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:AllergyIntolerance;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* External ids for this item
  fhir:clinicalStatus [ CodeableConcept ] ; # 0..1 active | inactive | resolved
  fhir:verificationStatus [ CodeableConcept ] ; # 0..1 unconfirmed | presumed | confirmed | refuted | entered-in-error
  fhir:type [ CodeableConcept ] ; # 0..1 allergy | intolerance - Underlying mechanism (if known)
  fhir:category  ( [ code ] ... ) ; # 0..* food | medication | environment | biologic
  fhir:criticality [ code ] ; # 0..1 low | high | unable-to-assess
  fhir:code [ CodeableConcept ] ; # 0..1 Code that identifies the allergy or intolerance
  fhir:patient [ Reference(Patient) ] ; # 1..1 Who the allergy or intolerance is for
  fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter when the allergy or intolerance was asserted
  # onset[x] : 0..1 When allergy or intolerance was identified. One of these 5
    fhir:onset [  a fhir:dateTime ; dateTime ]
    fhir:onset [  a fhir:Age ; Age ]
    fhir:onset [  a fhir:Period ; Period ]
    fhir:onset [  a fhir:Range ; Range ]
    fhir:onset [  a fhir:string ; string ]
  fhir:recordedDate [ dateTime ] ; # 0..1 Date allergy or intolerance was first recorded
  fhir:recorder [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who recorded the sensitivity
  fhir:asserter [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Source of the information about the allergy
  fhir:lastReactionOccurrence [ dateTime ] ; # 0..1 Date(/time) of last known occurrence of a reaction
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Additional text not captured in other fields
  fhir:reaction ( [ # 0..* Adverse Reaction Events linked to exposure to substance
    fhir:substance [ CodeableConcept ] ; # 0..1 Specific substance or pharmaceutical product considered to be responsible for event
    fhir:manifestation  ( [ CodeableReference(Observation) ] ... ) ; # 1..* Clinical symptoms/signs associated with the Event
    fhir:description [ string ] ; # 0..1 Description of the event as a whole
    fhir:onset [ dateTime ] ; # 0..1 Date(/time) when manifestations showed
    fhir:severity [ code ] ; # 0..1 mild | moderate | severe (of event as a whole)
    fhir:exposureRoute [ CodeableConcept ] ; # 0..1 How the subject was exposed to the substance
    fhir:note  ( [ Annotation ] ... ) ; # 0..* Text about event not captured in other fields
  ] ... ) ;
]

Changes from both R4 and R4B

AllergyIntolerance
AllergyIntolerance.verificationStatus
  • Add code presumed
AllergyIntolerance.type
  • Type changed from code to CodeableConcept
  • Remove Binding `http://hl7.org/fhir/ValueSet/allergy-intolerance-type|4.0.0` (required)
AllergyIntolerance.recorder
  • Type Reference: Added Target Type Organization
AllergyIntolerance.lastReactionOccurrence
  • Added Element
AllergyIntolerance.reaction.manifestation
  • Type changed from CodeableConcept to CodeableReference
AllergyIntolerance.lastOccurrence
  • Deleted

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance TU DomainResource Allergy or Intolerance (generally: Risk of adverse reaction to a substance)

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier External ids for this item

... clinicalStatus ?!Σ 0..1 CodeableConcept active | inactive | resolved
Binding: AllergyIntolerance Clinical Status Codes (Required)
... verificationStatus ?!Σ 0..1 CodeableConcept unconfirmed | presumed | confirmed | refuted | entered-in-error
Binding: AllergyIntolerance Verification Status (Required)
... category Σ 0..* code food | medication | environment | biologic
Binding: Allergy Intolerance Category (Required)

... criticality Σ 0..1 code low | high | unable-to-assess
Binding: Allergy Intolerance Criticality (Required)
... code Σ 0..1 CodeableConcept Code that identifies the allergy or intolerance
Binding: AllergyIntolerance Substance/Product, Condition and Negation Codes (Example)
... patient Σ 1..1 Reference(Patient) Who the allergy or intolerance is for
... encounter 0..1 Reference(Encounter) Encounter when the allergy or intolerance was asserted
... onset[x] 0..1 When allergy or intolerance was identified
.... onsetDateTime dateTime
.... onsetAge Age
.... onsetPeriod Period
.... onsetRange Range
.... onsetString string
... recordedDate 0..1 dateTime Date allergy or intolerance was first recorded
... recorder 0..1 Reference(Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) Who recorded the sensitivity
... asserter Σ 0..1 Reference(Patient | RelatedPerson | Practitioner | PractitionerRole) Source of the information about the allergy
... lastReactionOccurrence 0..1 dateTime Date(/time) of last known occurrence of a reaction
... note 0..* Annotation Additional text not captured in other fields

... reaction TU 0..* BackboneElement Adverse Reaction Events linked to exposure to substance

.... substance 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event
Binding: Substance Code (Example)
.... manifestation 1..* CodeableReference(Observation) Clinical symptoms/signs associated with the Event
Binding: SNOMED CT Clinical Findings (Example)

.... description 0..1 string Description of the event as a whole
.... onset 0..1 dateTime Date(/time) when manifestations showed
.... severity 0..1 code mild | moderate | severe (of event as a whole)
Binding: Allergy Intolerance Severity (Required)
.... exposureRoute 0..1 CodeableConcept How the subject was exposed to the substance
Binding: SNOMED CT Route Codes (Example)
.... note 0..* Annotation Text about event not captured in other fields


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

AllergyIntolerance (DomainResource)Business identifiers assigned to this AllergyIntolerance by the performer or other systems which remain constant as the resource is updated and propagates from server to serveridentifier : Identifier [0..*]The clinical status of the allergy or intolerance (this element modifies the meaning of other elements)clinicalStatus : CodeableConcept [0..1] « null (Strength=Required) AllergyIntoleranceClinicalSta...! »Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product). The verification status pertains to the allergy or intolerance, itself, not to any specific AllergyIntolerance attribute (this element modifies the meaning of other elements)verificationStatus : CodeableConcept [0..1] « null (Strength=Required) AllergyIntoleranceVerificatio...! »Identification of the underlying physiological mechanism for the reaction risktype : CodeableConcept [0..1] « null (Strength=Preferred)AllergyIntoleranceType? »Category of the identified substancecategory : code [0..*] « null (Strength=Required)AllergyIntoleranceCategory! »Estimate of the potential clinical harm, or seriousness, of the reaction to the identified substancecriticality : code [0..1] « null (Strength=Required)AllergyIntoleranceCriticality! »Code for an allergy or intolerance statement (either a positive or a negated/excluded statement). This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk (e.g., "Latex"), an allergy or intolerance condition (e.g., "Latex allergy"), or a negated/excluded code for a specific substance or class (e.g., "No latex allergy") or a general or categorical negated statement (e.g., "No known allergy", "No known drug allergies"). Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'. If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substancecode : CodeableConcept [0..1] « null (Strength=Example)SubstanceProductAndConditionA...?? »The patient who has the allergy or intolerancepatient : Reference [1..1] « Patient »The encounter when the allergy or intolerance was assertedencounter : Reference [0..1] « Encounter »Estimated or actual date, date-time, or age when allergy or intolerance was identifiedonset[x] : DataType [0..1] « dateTime|Age|Period|Range|string »The recordedDate represents when this particular AllergyIntolerance record was created in the system, which is often a system-generated daterecordedDate : dateTime [0..1]Individual who recorded the record and takes responsibility for its contentrecorder : Reference [0..1] « Practitioner|PractitionerRole|Patient| RelatedPerson|Organization »The source of the information about the allergy that is recordedasserter : Reference [0..1] « Patient|RelatedPerson|Practitioner| PractitionerRole »Represents the date and/or time of the last known occurrence of a reaction eventlastReactionOccurrence : dateTime [0..1]Additional narrative about the propensity for the Adverse Reaction, not captured in other fieldsnote : Annotation [0..*]ReactionIdentification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event. Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'. If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substancesubstance : CodeableConcept [0..1] « null (Strength=Example)SubstanceCode?? »Clinical symptoms and/or signs that are observed or associated with the adverse reaction eventmanifestation : CodeableReference [1..*] « Observation; null (Strength=Example) SNOMEDCTClinicalFindings?? »Text description about the reaction as a whole, including details of the manifestation if requireddescription : string [0..1]Record of the date and/or time of the onset of the Reactiononset : dateTime [0..1]Clinical assessment of the severity of the reaction event as a whole, potentially considering multiple different manifestationsseverity : code [0..1] « null (Strength=Required)AllergyIntoleranceSeverity! »Identification of the route by which the subject was exposed to the substanceexposureRoute : CodeableConcept [0..1] « null (Strength=Example)SNOMEDCTRouteCodes?? »Additional text about the adverse reaction event not captured in other fieldsnote : Annotation [0..*]Details about each adverse reaction event linked to exposure to the identified substancereaction[0..*]

XML Template

<AllergyIntolerance xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier External ids for this item --></identifier>
 <clinicalStatus><!-- 0..1 CodeableConcept active | inactive | resolved --></clinicalStatus>
 <verificationStatus><!-- 0..1 CodeableConcept unconfirmed | presumed | confirmed | refuted | entered-in-error --></verificationStatus>
 <type><!-- 0..1 CodeableConcept allergy | intolerance - Underlying mechanism (if known) --></type>
 <category value="[code]"/><!-- 0..* food | medication | environment | biologic -->
 <criticality value="[code]"/><!-- 0..1 low | high | unable-to-assess -->
 <code><!-- 0..1 CodeableConcept Code that identifies the allergy or intolerance --></code>
 <patient><!-- 1..1 Reference(Patient) Who the allergy or intolerance is for --></patient>
 <encounter><!-- 0..1 Reference(Encounter) Encounter when the allergy or intolerance was asserted --></encounter>
 <onset[x]><!-- 0..1 dateTime|Age|Period|Range|string When allergy or intolerance was identified --></onset[x]>
 <recordedDate value="[dateTime]"/><!-- 0..1 Date allergy or intolerance was first recorded -->
 <recorder><!-- 0..1 Reference(Organization|Patient|Practitioner|PractitionerRole|
   RelatedPerson) Who recorded the sensitivity --></recorder>
 <asserter><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole|
   RelatedPerson) Source of the information about the allergy --></asserter>
 <lastReactionOccurrence value="[dateTime]"/><!-- 0..1 Date(/time) of last known occurrence of a reaction -->
 <note><!-- 0..* Annotation Additional text not captured in other fields --></note>
 <reaction>  <!-- 0..* Adverse Reaction Events linked to exposure to substance -->
  <substance><!-- 0..1 CodeableConcept Specific substance or pharmaceutical product considered to be responsible for event --></substance>
  <manifestation><!-- 1..* CodeableReference(Observation) Clinical symptoms/signs associated with the Event --></manifestation>
  <description value="[string]"/><!-- 0..1 Description of the event as a whole -->
  <onset value="[dateTime]"/><!-- 0..1 Date(/time) when manifestations showed -->
  <severity value="[code]"/><!-- 0..1 mild | moderate | severe (of event as a whole) -->
  <exposureRoute><!-- 0..1 CodeableConcept How the subject was exposed to the substance --></exposureRoute>
  <note><!-- 0..* Annotation Text about event not captured in other fields --></note>
 </reaction>
</AllergyIntolerance>

JSON Template

{doco
  "resourceType" : "AllergyIntolerance",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // External ids for this item
  "clinicalStatus" : { CodeableConcept }, // active | inactive | resolved
  "verificationStatus" : { CodeableConcept }, // unconfirmed | presumed | confirmed | refuted | entered-in-error
  "type" : { CodeableConcept }, // allergy | intolerance - Underlying mechanism (if known)
  "category" : ["<code>"], // food | medication | environment | biologic
  "criticality" : "<code>", // low | high | unable-to-assess
  "code" : { CodeableConcept }, // Code that identifies the allergy or intolerance
  "patient" : { Reference(Patient) }, // R!  Who the allergy or intolerance is for
  "encounter" : { Reference(Encounter) }, // Encounter when the allergy or intolerance was asserted
  // onset[x]: When allergy or intolerance was identified. One of these 5:
  "onsetDateTime" : "<dateTime>",
  "onsetAge" : { Age },
  "onsetPeriod" : { Period },
  "onsetRange" : { Range },
  "onsetString" : "<string>",
  "recordedDate" : "<dateTime>", // Date allergy or intolerance was first recorded
  "recorder" : { Reference(Organization|Patient|Practitioner|PractitionerRole|
   RelatedPerson) }, // Who recorded the sensitivity
  "asserter" : { Reference(Patient|Practitioner|PractitionerRole|
   RelatedPerson) }, // Source of the information about the allergy
  "lastReactionOccurrence" : "<dateTime>", // Date(/time) of last known occurrence of a reaction
  "note" : [{ Annotation }], // Additional text not captured in other fields
  "reaction" : [{ // Adverse Reaction Events linked to exposure to substance
    "substance" : { CodeableConcept }, // Specific substance or pharmaceutical product considered to be responsible for event
    "manifestation" : [{ CodeableReference(Observation) }], // R!  Clinical symptoms/signs associated with the Event
    "description" : "<string>", // Description of the event as a whole
    "onset" : "<dateTime>", // Date(/time) when manifestations showed
    "severity" : "<code>", // mild | moderate | severe (of event as a whole)
    "exposureRoute" : { CodeableConcept }, // How the subject was exposed to the substance
    "note" : [{ Annotation }] // Text about event not captured in other fields
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:AllergyIntolerance;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* External ids for this item
  fhir:clinicalStatus [ CodeableConcept ] ; # 0..1 active | inactive | resolved
  fhir:verificationStatus [ CodeableConcept ] ; # 0..1 unconfirmed | presumed | confirmed | refuted | entered-in-error
  fhir:type [ CodeableConcept ] ; # 0..1 allergy | intolerance - Underlying mechanism (if known)
  fhir:category  ( [ code ] ... ) ; # 0..* food | medication | environment | biologic
  fhir:criticality [ code ] ; # 0..1 low | high | unable-to-assess
  fhir:code [ CodeableConcept ] ; # 0..1 Code that identifies the allergy or intolerance
  fhir:patient [ Reference(Patient) ] ; # 1..1 Who the allergy or intolerance is for
  fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter when the allergy or intolerance was asserted
  # onset[x] : 0..1 When allergy or intolerance was identified. One of these 5
    fhir:onset [  a fhir:dateTime ; dateTime ]
    fhir:onset [  a fhir:Age ; Age ]
    fhir:onset [  a fhir:Period ; Period ]
    fhir:onset [  a fhir:Range ; Range ]
    fhir:onset [  a fhir:string ; string ]
  fhir:recordedDate [ dateTime ] ; # 0..1 Date allergy or intolerance was first recorded
  fhir:recorder [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who recorded the sensitivity
  fhir:asserter [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Source of the information about the allergy
  fhir:lastReactionOccurrence [ dateTime ] ; # 0..1 Date(/time) of last known occurrence of a reaction
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Additional text not captured in other fields
  fhir:reaction ( [ # 0..* Adverse Reaction Events linked to exposure to substance
    fhir:substance [ CodeableConcept ] ; # 0..1 Specific substance or pharmaceutical product considered to be responsible for event
    fhir:manifestation  ( [ CodeableReference(Observation) ] ... ) ; # 1..* Clinical symptoms/signs associated with the Event
    fhir:description [ string ] ; # 0..1 Description of the event as a whole
    fhir:onset [ dateTime ] ; # 0..1 Date(/time) when manifestations showed
    fhir:severity [ code ] ; # 0..1 mild | moderate | severe (of event as a whole)
    fhir:exposureRoute [ CodeableConcept ] ; # 0..1 How the subject was exposed to the substance
    fhir:note  ( [ Annotation ] ... ) ; # 0..* Text about event not captured in other fields
  ] ... ) ;
]

Changes from both R4 and R4B

AllergyIntolerance
AllergyIntolerance.verificationStatus
  • Add code presumed
AllergyIntolerance.type
  • Type changed from code to CodeableConcept
  • Remove Binding `http://hl7.org/fhir/ValueSet/allergy-intolerance-type|4.0.0` (required)
AllergyIntolerance.recorder
  • Type Reference: Added Target Type Organization
AllergyIntolerance.lastReactionOccurrence
  • Added Element
AllergyIntolerance.reaction.manifestation
  • Type changed from CodeableConcept to CodeableReference
AllergyIntolerance.lastOccurrence
  • Deleted

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
AllergyIntolerance.clinicalStatus AllergyIntoleranceClinicalStatusCodes Required

Preferred value set for AllergyIntolerance Clinical Status.

AllergyIntolerance.verificationStatus AllergyIntoleranceVerificationStatus Required

The verification status to support or decline the clinical status of the allergy or intolerance.

AllergyIntolerance.type AllergyIntoleranceType Preferred

Identification of the underlying physiological mechanism for a Reaction Risk.

AllergyIntolerance.category AllergyIntoleranceCategory Required

Category of an identified substance associated with allergies or intolerances.

AllergyIntolerance.criticality AllergyIntoleranceCriticality Required

Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance.

AllergyIntolerance.code SubstanceProductAndConditionAndNegationCodes Example

This value set includes concept codes for specific substances/pharmaceutical products, allergy or intolerance conditions, and negation/exclusion codes to specify the absence of specific types of allergies or intolerances.

AllergyIntolerance.reaction.substance SubstanceCode Example

This value set contains concept codes for specific substances. It includes codes from SNOMED icon where concept is-a 105590001 (Substance (substance))

AllergyIntolerance.reaction.manifestation SNOMEDCTClinicalFindings Example

This value set includes all the "Clinical finding" SNOMED CT icon codes - concepts where concept is-a 404684003 (Clinical finding (finding)).

AllergyIntolerance.reaction.severity AllergyIntoleranceSeverity Required

Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations.

AllergyIntolerance.reaction.exposureRoute SNOMEDCTRouteCodes Example

This value set includes all Route codes from SNOMED CT - provided as an exemplar.

It is important to differentiate between affirmatively stating that a patient has no known allergies versus either not including allergies in the record (for example an episodic document where the allergies are not considered relevant to the document); or asserting that allergies were not reviewed and are unknown.

Allergies with the verificationStatus "entered-in-error" indicate that the allergy or intolerance statement is entered by mistake and hence invalid.

Allergies with the verificationStatus "refuted" must be displayed to indicate that a reaction to a substance has been ruled out with a high level of clinical certainty (e.g. additional testing, re-challenging). When the allergy or intolerance is refuted, other elements may be retained for legal reasons, but those other elements are no longer clinically relevant.

Prior to adding a new allergy/intolerance, a list of existing negated and refuted reactions should be reviewed and reconciled.

Allergies Not Reviewed, Not Asked

When a sending system does not have any information about allergies being reviewed or the statement is about allergies not being asked yet, then the List resource should be used to indicate the List.emptyReason.code="notasked".

Allergies Reviewed, None Identified

Systems may use the List.emptyReason when a statement is about the full scope of the list (i.e. the patient has no known allergies or intolerances of any type). However, it is generally preferred to use an AllergyIntolerance.code such as "No known allergies" (e.g., SNOMED CT: 716186003 |No known allergy (situation)|), so that all allergy data will be available and queryable from AllergyIntolerance resource instances. Negated AllergyIntolerance instances are also typically used when the record is more fine-grained (e.g. no drug allergies, no food allergies, no nut allergies, etc.).

However, it is possible to include negation statements that apply at the level of the whole list and it is also possible to have separate lists for things like medication allergies vs. food allergies, where that is appropriate to the architecture. Also note that care should be used when adding new AllergyIntolerances to a list to ensure that any negation statements that are voided by the addition of a new record are removed from the list. E.g. If the list contains a "no known food allergies" record and you add an "intolerance to grape flavor" record, then be sure you remove the "no known food allergies" record.

The substanceExposureRisk extension is also available for use as a more completely structured and flexible alternative to the 'code' element for representing positive and negative allergy and intolerance statements (either the 'code' element or the substanceExposureRisk extension may be used, but not both).

No Known Allergies

<?xml version="1.0" encoding="UTF-8"?>
<AllergyIntolerance xmlns="http://hl7.org/fhir">
  <id value="nka"/> 
  <text> 
	<status value="generated"/> 
	<div xmlns="http://www.w3.org/1999/xhtml">
	  <p> No Known Allergy</p> 
	  <p> recordedDate:2015-08-06</p> 
	</div>    
  </text> 
		 
  <code> 
	<coding> 
	  <system value="http://snomed.info/sct"/> 
	  <code value="716186003"/> 
	  <display value="No Known Allergy (situation)"/> 
	</coding> 
	<text value="NKA"/> 
  </code> 

  <patient> 
	<reference value="Patient/mom"/> 
  </patient> 

  <!--   the date that this entry was recorded   -->  
  <recordedDate value="2015-08-06T15:37:31-06:00"/> 
	  
  <!--   who made the record / last updated it   -->
  <recorder> 
	<reference value="Practitioner/example"/> 
  </recorder>   
</AllergyIntolerance>

No Known Allergies, using List.emptyReason (discouraged)

  <List xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ..\..\schema\list.xsd">
 <id value="example-empty-allergy"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p> The patient is not aware of any allergies.</p>
    </div>
  </text>
<code>
    <coding>
      <system value="http://loinc.org"/>
      <code value="52472-8"/>
      <display value="Allergies and Adverse Drug Reactions"/>
    </coding>
    <text value="Current Allergy List"/>
  </code>
  <source>
    <reference value="Patient/example"/>
  </source>
  <status value="current"/>
  <date value="2012-11-26T07:30:23+11:00"/>
  <mode value="snapshot"/>
  <emptyReason>
    <coding>
      <system value="http://hl7.org/fhir/special-values"/>
      <code value="nil-known"/>
      <display value="Nil Known"/>
    </coding>
    <text value="The patient is not aware of any allergies."/>
  </emptyReason>
</List>

No Known Food Allergies and Medication Allergy List

  <?xml version="1.0" encoding="UTF-8"?>
<List xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ..\..\schema\list.xsd">
  <id value="current-allergies"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Patient Peter Chalmers, DOB = Dec 25, 1974, MRN = 12345 (Acme Healthcare) has the following allergies</p>
      <ul>
        <li>No known food allergies</li>
        <li>Allergenic extract, penicillin (high)</li>
      </ul>
    </div>
  </text>
  <code>
    <coding>
      <system value="http://loinc.org"/>
      <code value="52472-8"/>
      <display value="Allergies and Adverse Drug Reactions"/>
    </coding>
    <text value="Current Allergy List"/>
  </code>
  <source>
    <reference value="Patient/example"/>
  </source>
  <status value="current"/>
  <date value="2015-07-14T23:10:23+11:00"/>
  <mode value="snapshot"/>
  <entry>
    <item> 
      <reference value="AllergyIntolerance/nofoodallergies"/>
    </item>
  </entry>
  <entry>
    <item> 
      <reference value="AllergyIntolerance/penicillin"/>
    </item>
  </entry>  
</List>

If a new allergy is discovered, the negated allergy record must be updated with the "refuted" verificationStatus - to ensure that systems referring to this record are aware that this is no longer true.

Systems that only support one notion will have to determine whether what they're capturing is criticality or severity and map to the appropriate place. Criticality refers to the likelihood the allergy/intolerance could result in significant harm. Severity refers to the degree of manifestation of the reaction symptom. Moderate breathing difficulty would have high criticality while a severe rash would have low criticality. Severity is specific to a particular reaction occurrence.

For systems that only track generic reaction characteristics rather than a specific reaction will provide guidance to use the "reaction" structure and simply provide no date.

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
asserter reference Source of the information about the allergy AllergyIntolerance.asserter
(Practitioner, Patient, PractitionerRole, RelatedPerson)
category token food | medication | environment | biologic AllergyIntolerance.category
clinical-status token active | inactive | resolved AllergyIntolerance.clinicalStatus
code token Code that identifies the allergy or intolerance AllergyIntolerance.code | AllergyIntolerance.reaction.substance 21 Resources
criticality token low | high | unable-to-assess AllergyIntolerance.criticality
date date Date first version of the resource instance was recorded AllergyIntolerance.recordedDate 26 Resources
identifier token External ids for this item AllergyIntolerance.identifier 65 Resources
last-reaction-date date Date(/time) of last known occurrence of a reaction AllergyIntolerance.lastReactionOccurrence
manifestation-code token Clinical symptoms/signs associated with the Event AllergyIntolerance.reaction.manifestation.concept
manifestation-reference reference Clinical symptoms/signs associated with the Event AllergyIntolerance.reaction.manifestation.reference
patient reference Who the sensitivity is for AllergyIntolerance.patient
(Patient)
65 Resources
route token How the subject was exposed to the substance AllergyIntolerance.reaction.exposureRoute
severity token mild | moderate | severe (of event as a whole) AllergyIntolerance.reaction.severity
type token allergy | intolerance - Underlying mechanism (if known) AllergyIntolerance.type 11 Resources
verification-status token unconfirmed | presumed | confirmed | refuted | entered-in-error AllergyIntolerance.verificationStatus