Current Build

9.1 Resource AllergyIntolerance - Content

Patient Care Work GroupMaturity Level: 3 Trial UseCompartments: Patient, Practitioner, RelatedPerson

Risk of harmful or undesirable, physiological response which is unique 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 may not be practical. Often the term "allergy" is used rather generically and may overlap with "intolerance", and the boundaries between these concepts may 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.

STU Note:Requests have been received (GF#10369) to add codes to the extension-allergyintolerance-certainty value set (reaction-event-certainty), which is a required binding. The requested codes include "unknown", "ruled out" and "possible". The Patient Care WG has voted to add "unknown" to the value set, but recommends that if other terms (including "ruled out" and "possible") are desired for use in a specific setting, an extension or profile should be used. During the STU period feedback is solicited regarding (1) the need and desirability of adding the code "unknown" to the value set, vs. omitting the element if the certainty is not known; and (2) whether or not additional codes besides "unknown" should be added to the value set for the core specification, or whether additional codes, if needed, should be added in an extension/profile.

Feedback is welcome here .

This resource is referenced by AdverseEvent, ClinicalImpression, FamilyMemberHistory, ImmunizationRecommendation and NutritionOrder

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance IDomainResourceAllergy or Intolerance (generally: Risk of adverse reaction to a substance)
+ AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
+ AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierExternal ids for this item
... clinicalStatus ?!ΣI0..1codeactive | inactive | resolved
AllergyIntoleranceClinicalStatus (Required)
... verificationStatus ?!ΣI1..1codeunconfirmed | confirmed | refuted | entered-in-error
AllergyIntoleranceVerificationStatus (Required)
... type Σ0..1codeallergy | intolerance - Underlying mechanism (if known)
AllergyIntoleranceType (Required)
... category Σ0..*codefood | medication | environment | biologic
AllergyIntoleranceCategory (Required)
... criticality Σ0..1codelow | high | unable-to-assess
AllergyIntoleranceCriticality (Required)
... code Σ0..1CodeableConceptCode that identifies the allergy or intolerance
AllergyIntolerance Substance/Product, Condition and Negation Codes (Example)
... patient Σ1..1Reference(Patient)Who the sensitivity is for
... onset[x] 0..1When allergy or intolerance was identified
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
... assertedDate 0..1dateTimeDate record was believed accurate
... recorder 0..1Reference(Practitioner | Patient)Who recorded the sensitivity
... asserter Σ0..1Reference(Patient | RelatedPerson | Practitioner)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 0..*BackboneElementAdverse Reaction Events linked to exposure to substance
.... substance 0..1CodeableConceptSpecific substance or pharmaceutical product considered to be responsible for event
Substance Code (Example)
.... manifestation 1..*CodeableConceptClinical symptoms/signs associated with the Event
SNOMED CT Clinical Findings (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)
AllergyIntoleranceSeverity (Required)
.... exposureRoute 0..1CodeableConceptHow the subject was exposed to the substance
SNOMED CT Route Codes (Example)
.... note 0..*AnnotationText about event not captured in other fields

doco Documentation for this format

UML Diagram (Legend)

AllergyIntolerance (DomainResource)This records identifiers associated with this allergy/intolerance concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)identifier : Identifier [0..*]The clinical status of the allergy or intolerance (this element modifies the meaning of other elements)clinicalStatus : code [0..1] The clinical status of the allergy or intolerance. (Strength=Required)AllergyIntoleranceClinicalSta...! Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product) (this element modifies the meaning of other elements)verificationStatus : code [1..1] Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance. (Strength=Required)AllergyIntoleranceVerificatio...! Identification of the underlying physiological mechanism for the reaction risktype : code [0..1] Identification of the underlying physiological mechanism for a Reaction Risk. (Strength=Required)AllergyIntoleranceType! Category of the identified substancecategory : code [0..*] Category of an identified substance. (Strength=Required)AllergyIntoleranceCategory! Estimate of the potential clinical harm, or seriousness, of the reaction to the identified substancecriticality : code [0..1] Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance. (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")code : CodeableConcept [0..1] Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies. (Strength=Example)AllergyIntolerance Substance/...?? The patient who has the allergy or intolerancepatient : Reference [1..1] Patient Estimated or actual date, date-time, or age when allergy or intolerance was identifiedonset[x] : Type [0..1] dateTime|Age|Period|Range|string The date on which the existance of the AllergyIntolerance was first asserted or acknowledgedassertedDate : dateTime [0..1]Individual who recorded the record and takes responsibility for its contentrecorder : Reference [0..1] Practitioner|Patient The source of the information about the allergy that is recordedasserter : Reference [0..1] Patient|RelatedPerson|Practitioner Represents the date and/or time of the last known occurrence of a reaction eventlastOccurrence : 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'substance : CodeableConcept [0..1] Codes defining the type of the substance (including pharmaceutical products). (Strength=Example)Substance Code?? Clinical symptoms and/or signs that are observed or associated with the adverse reaction eventmanifestation : CodeableConcept [1..*] Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event. (Strength=Example)SNOMED CT Clinical Findings?? 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] Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations. (Strength=Required)AllergyIntoleranceSeverity! Identification of the route by which the subject was exposed to the substanceexposureRoute : CodeableConcept [0..1] A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. (Strength=Example)SNOMED CT Route ?? 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 value="[code]"/><!-- ?? 0..1 active | inactive | resolved -->
 <verificationStatus value="[code]"/><!-- ?? 1..1 unconfirmed | confirmed | refuted | entered-in-error -->
 <type value="[code]"/><!-- 0..1 allergy | intolerance - Underlying mechanism (if known) -->
 <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 sensitivity is for --></patient>
 <onset[x]><!-- 0..1 dateTime|Age|Period|Range|string When allergy or intolerance was identified --></onset[x]>
 <assertedDate value="[dateTime]"/><!-- 0..1 Date record was believed accurate -->
 <recorder><!-- 0..1 Reference(Practitioner|Patient) Who recorded the sensitivity --></recorder>
 <asserter><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner) Source of the information about the allergy --></asserter>
 <lastOccurrence 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..* CodeableConcept 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" : "<code>", // C? active | inactive | resolved
  "verificationStatus" : "<code>", // C? R!  unconfirmed | confirmed | refuted | entered-in-error
  "type" : "<code>", // 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 sensitivity is for
  // onset[x]: When allergy or intolerance was identified. One of these 5:
  "onsetDateTime" : "<dateTime>",
  "onsetAge" : { Age },
  "onsetPeriod" : { Period },
  "onsetRange" : { Range },
  "onsetString" : "<string>",
  "assertedDate" : "<dateTime>", // Date record was believed accurate
  "recorder" : { Reference(Practitioner|Patient) }, // Who recorded the sensitivity
  "asserter" : { Reference(Patient|RelatedPerson|Practitioner) }, // Source of the information about the allergy
  "lastOccurrence" : "<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" : [{ CodeableConcept }], // 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:AllergyIntolerance.identifier [ Identifier ], ... ; # 0..* External ids for this item
  fhir:AllergyIntolerance.clinicalStatus [ code ]; # 0..1 active | inactive | resolved
  fhir:AllergyIntolerance.verificationStatus [ code ]; # 1..1 unconfirmed | confirmed | refuted | entered-in-error
  fhir:AllergyIntolerance.type [ code ]; # 0..1 allergy | intolerance - Underlying mechanism (if known)
  fhir:AllergyIntolerance.category [ code ], ... ; # 0..* food | medication | environment | biologic
  fhir:AllergyIntolerance.criticality [ code ]; # 0..1 low | high | unable-to-assess
  fhir:AllergyIntolerance.code [ CodeableConcept ]; # 0..1 Code that identifies the allergy or intolerance
  fhir:AllergyIntolerance.patient [ Reference(Patient) ]; # 1..1 Who the sensitivity is for
  # AllergyIntolerance.onset[x] : 0..1 When allergy or intolerance was identified. One of these 5
    fhir:AllergyIntolerance.onsetDateTime [ dateTime ]
    fhir:AllergyIntolerance.onsetAge [ Age ]
    fhir:AllergyIntolerance.onsetPeriod [ Period ]
    fhir:AllergyIntolerance.onsetRange [ Range ]
    fhir:AllergyIntolerance.onsetString [ string ]
  fhir:AllergyIntolerance.assertedDate [ dateTime ]; # 0..1 Date record was believed accurate
  fhir:AllergyIntolerance.recorder [ Reference(Practitioner|Patient) ]; # 0..1 Who recorded the sensitivity
  fhir:AllergyIntolerance.asserter [ Reference(Patient|RelatedPerson|Practitioner) ]; # 0..1 Source of the information about the allergy
  fhir:AllergyIntolerance.lastOccurrence [ dateTime ]; # 0..1 Date(/time) of last known occurrence of a reaction
  fhir:AllergyIntolerance.note [ Annotation ], ... ; # 0..* Additional text not captured in other fields
  fhir:AllergyIntolerance.reaction [ # 0..* Adverse Reaction Events linked to exposure to substance
    fhir:AllergyIntolerance.reaction.substance [ CodeableConcept ]; # 0..1 Specific substance or pharmaceutical product considered to be responsible for event
    fhir:AllergyIntolerance.reaction.manifestation [ CodeableConcept ], ... ; # 1..* Clinical symptoms/signs associated with the Event
    fhir:AllergyIntolerance.reaction.description [ string ]; # 0..1 Description of the event as a whole
    fhir:AllergyIntolerance.reaction.onset [ dateTime ]; # 0..1 Date(/time) when manifestations showed
    fhir:AllergyIntolerance.reaction.severity [ code ]; # 0..1 mild | moderate | severe (of event as a whole)
    fhir:AllergyIntolerance.reaction.exposureRoute [ CodeableConcept ]; # 0..1 How the subject was exposed to the substance
    fhir:AllergyIntolerance.reaction.note [ Annotation ], ... ; # 0..* Text about event not captured in other fields
  ], ...;
]

Changes since DSTU2

AllergyIntolerance
AllergyIntolerance.clinicalStatus
  • Added Element
AllergyIntolerance.verificationStatus
  • Added Element
AllergyIntolerance.category
  • Max Cardinality changed from 1 to *
AllergyIntolerance.code
  • Renamed from substance to code
  • Min Cardinality changed from 1 to 0
AllergyIntolerance.onset[x]
  • Renamed from onset to onset[x]
  • Add Age, Add Period, Add Range, Add string
AllergyIntolerance.assertedDate
  • Added Element
AllergyIntolerance.asserter
  • Renamed from reporter to asserter
AllergyIntolerance.lastOccurrence
  • Renamed from lastOccurence to lastOccurrence
AllergyIntolerance.note
  • Max Cardinality changed from 1 to *
AllergyIntolerance.reaction.note
  • Max Cardinality changed from 1 to *
AllergyIntolerance.recordedDate
  • deleted
AllergyIntolerance.status
  • deleted
AllergyIntolerance.reaction.certainty
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R2 <--> R3 Conversion Maps (status = 5 tests that all execute ok. 2 fail round-trip testing and 4 r3 resources are invalid (6 errors).).

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. AllergyIntolerance IDomainResourceAllergy or Intolerance (generally: Risk of adverse reaction to a substance)
+ AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.
+ AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierExternal ids for this item
... clinicalStatus ?!ΣI0..1codeactive | inactive | resolved
AllergyIntoleranceClinicalStatus (Required)
... verificationStatus ?!ΣI1..1codeunconfirmed | confirmed | refuted | entered-in-error
AllergyIntoleranceVerificationStatus (Required)
... type Σ0..1codeallergy | intolerance - Underlying mechanism (if known)
AllergyIntoleranceType (Required)
... category Σ0..*codefood | medication | environment | biologic
AllergyIntoleranceCategory (Required)
... criticality Σ0..1codelow | high | unable-to-assess
AllergyIntoleranceCriticality (Required)
... code Σ0..1CodeableConceptCode that identifies the allergy or intolerance
AllergyIntolerance Substance/Product, Condition and Negation Codes (Example)
... patient Σ1..1Reference(Patient)Who the sensitivity is for
... onset[x] 0..1When allergy or intolerance was identified
.... onsetDateTimedateTime
.... onsetAgeAge
.... onsetPeriodPeriod
.... onsetRangeRange
.... onsetStringstring
... assertedDate 0..1dateTimeDate record was believed accurate
... recorder 0..1Reference(Practitioner | Patient)Who recorded the sensitivity
... asserter Σ0..1Reference(Patient | RelatedPerson | Practitioner)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 0..*BackboneElementAdverse Reaction Events linked to exposure to substance
.... substance 0..1CodeableConceptSpecific substance or pharmaceutical product considered to be responsible for event
Substance Code (Example)
.... manifestation 1..*CodeableConceptClinical symptoms/signs associated with the Event
SNOMED CT Clinical Findings (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)
AllergyIntoleranceSeverity (Required)
.... exposureRoute 0..1CodeableConceptHow the subject was exposed to the substance
SNOMED CT Route Codes (Example)
.... note 0..*AnnotationText about event not captured in other fields

doco Documentation for this format

UML Diagram (Legend)

AllergyIntolerance (DomainResource)This records identifiers associated with this allergy/intolerance concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation)identifier : Identifier [0..*]The clinical status of the allergy or intolerance (this element modifies the meaning of other elements)clinicalStatus : code [0..1] The clinical status of the allergy or intolerance. (Strength=Required)AllergyIntoleranceClinicalSta...! Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product) (this element modifies the meaning of other elements)verificationStatus : code [1..1] Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance. (Strength=Required)AllergyIntoleranceVerificatio...! Identification of the underlying physiological mechanism for the reaction risktype : code [0..1] Identification of the underlying physiological mechanism for a Reaction Risk. (Strength=Required)AllergyIntoleranceType! Category of the identified substancecategory : code [0..*] Category of an identified substance. (Strength=Required)AllergyIntoleranceCategory! Estimate of the potential clinical harm, or seriousness, of the reaction to the identified substancecriticality : code [0..1] Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance. (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")code : CodeableConcept [0..1] Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies. (Strength=Example)AllergyIntolerance Substance/...?? The patient who has the allergy or intolerancepatient : Reference [1..1] Patient Estimated or actual date, date-time, or age when allergy or intolerance was identifiedonset[x] : Type [0..1] dateTime|Age|Period|Range|string The date on which the existance of the AllergyIntolerance was first asserted or acknowledgedassertedDate : dateTime [0..1]Individual who recorded the record and takes responsibility for its contentrecorder : Reference [0..1] Practitioner|Patient The source of the information about the allergy that is recordedasserter : Reference [0..1] Patient|RelatedPerson|Practitioner Represents the date and/or time of the last known occurrence of a reaction eventlastOccurrence : 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'substance : CodeableConcept [0..1] Codes defining the type of the substance (including pharmaceutical products). (Strength=Example)Substance Code?? Clinical symptoms and/or signs that are observed or associated with the adverse reaction eventmanifestation : CodeableConcept [1..*] Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event. (Strength=Example)SNOMED CT Clinical Findings?? 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] Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations. (Strength=Required)AllergyIntoleranceSeverity! Identification of the route by which the subject was exposed to the substanceexposureRoute : CodeableConcept [0..1] A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. (Strength=Example)SNOMED CT Route ?? 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 value="[code]"/><!-- ?? 0..1 active | inactive | resolved -->
 <verificationStatus value="[code]"/><!-- ?? 1..1 unconfirmed | confirmed | refuted | entered-in-error -->
 <type value="[code]"/><!-- 0..1 allergy | intolerance - Underlying mechanism (if known) -->
 <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 sensitivity is for --></patient>
 <onset[x]><!-- 0..1 dateTime|Age|Period|Range|string When allergy or intolerance was identified --></onset[x]>
 <assertedDate value="[dateTime]"/><!-- 0..1 Date record was believed accurate -->
 <recorder><!-- 0..1 Reference(Practitioner|Patient) Who recorded the sensitivity --></recorder>
 <asserter><!-- 0..1 Reference(Patient|RelatedPerson|Practitioner) Source of the information about the allergy --></asserter>
 <lastOccurrence 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..* CodeableConcept 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" : "<code>", // C? active | inactive | resolved
  "verificationStatus" : "<code>", // C? R!  unconfirmed | confirmed | refuted | entered-in-error
  "type" : "<code>", // 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 sensitivity is for
  // onset[x]: When allergy or intolerance was identified. One of these 5:
  "onsetDateTime" : "<dateTime>",
  "onsetAge" : { Age },
  "onsetPeriod" : { Period },
  "onsetRange" : { Range },
  "onsetString" : "<string>",
  "assertedDate" : "<dateTime>", // Date record was believed accurate
  "recorder" : { Reference(Practitioner|Patient) }, // Who recorded the sensitivity
  "asserter" : { Reference(Patient|RelatedPerson|Practitioner) }, // Source of the information about the allergy
  "lastOccurrence" : "<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" : [{ CodeableConcept }], // 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:AllergyIntolerance.identifier [ Identifier ], ... ; # 0..* External ids for this item
  fhir:AllergyIntolerance.clinicalStatus [ code ]; # 0..1 active | inactive | resolved
  fhir:AllergyIntolerance.verificationStatus [ code ]; # 1..1 unconfirmed | confirmed | refuted | entered-in-error
  fhir:AllergyIntolerance.type [ code ]; # 0..1 allergy | intolerance - Underlying mechanism (if known)
  fhir:AllergyIntolerance.category [ code ], ... ; # 0..* food | medication | environment | biologic
  fhir:AllergyIntolerance.criticality [ code ]; # 0..1 low | high | unable-to-assess
  fhir:AllergyIntolerance.code [ CodeableConcept ]; # 0..1 Code that identifies the allergy or intolerance
  fhir:AllergyIntolerance.patient [ Reference(Patient) ]; # 1..1 Who the sensitivity is for
  # AllergyIntolerance.onset[x] : 0..1 When allergy or intolerance was identified. One of these 5
    fhir:AllergyIntolerance.onsetDateTime [ dateTime ]
    fhir:AllergyIntolerance.onsetAge [ Age ]
    fhir:AllergyIntolerance.onsetPeriod [ Period ]
    fhir:AllergyIntolerance.onsetRange [ Range ]
    fhir:AllergyIntolerance.onsetString [ string ]
  fhir:AllergyIntolerance.assertedDate [ dateTime ]; # 0..1 Date record was believed accurate
  fhir:AllergyIntolerance.recorder [ Reference(Practitioner|Patient) ]; # 0..1 Who recorded the sensitivity
  fhir:AllergyIntolerance.asserter [ Reference(Patient|RelatedPerson|Practitioner) ]; # 0..1 Source of the information about the allergy
  fhir:AllergyIntolerance.lastOccurrence [ dateTime ]; # 0..1 Date(/time) of last known occurrence of a reaction
  fhir:AllergyIntolerance.note [ Annotation ], ... ; # 0..* Additional text not captured in other fields
  fhir:AllergyIntolerance.reaction [ # 0..* Adverse Reaction Events linked to exposure to substance
    fhir:AllergyIntolerance.reaction.substance [ CodeableConcept ]; # 0..1 Specific substance or pharmaceutical product considered to be responsible for event
    fhir:AllergyIntolerance.reaction.manifestation [ CodeableConcept ], ... ; # 1..* Clinical symptoms/signs associated with the Event
    fhir:AllergyIntolerance.reaction.description [ string ]; # 0..1 Description of the event as a whole
    fhir:AllergyIntolerance.reaction.onset [ dateTime ]; # 0..1 Date(/time) when manifestations showed
    fhir:AllergyIntolerance.reaction.severity [ code ]; # 0..1 mild | moderate | severe (of event as a whole)
    fhir:AllergyIntolerance.reaction.exposureRoute [ CodeableConcept ]; # 0..1 How the subject was exposed to the substance
    fhir:AllergyIntolerance.reaction.note [ Annotation ], ... ; # 0..* Text about event not captured in other fields
  ], ...;
]

Changes since DSTU2

AllergyIntolerance
AllergyIntolerance.clinicalStatus
  • Added Element
AllergyIntolerance.verificationStatus
  • Added Element
AllergyIntolerance.category
  • Max Cardinality changed from 1 to *
AllergyIntolerance.code
  • Renamed from substance to code
  • Min Cardinality changed from 1 to 0
AllergyIntolerance.onset[x]
  • Renamed from onset to onset[x]
  • Add Age, Add Period, Add Range, Add string
AllergyIntolerance.assertedDate
  • Added Element
AllergyIntolerance.asserter
  • Renamed from reporter to asserter
AllergyIntolerance.lastOccurrence
  • Renamed from lastOccurence to lastOccurrence
AllergyIntolerance.note
  • Max Cardinality changed from 1 to *
AllergyIntolerance.reaction.note
  • Max Cardinality changed from 1 to *
AllergyIntolerance.recordedDate
  • deleted
AllergyIntolerance.status
  • deleted
AllergyIntolerance.reaction.certainty
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R2 <--> R3 Conversion Maps (status = 5 tests that all execute ok. 2 fail round-trip testing and 4 r3 resources are invalid (6 errors).).

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)

PathDefinitionTypeReference
AllergyIntolerance.clinicalStatus The clinical status of the allergy or intolerance.RequiredAllergyIntoleranceClinicalStatus
AllergyIntolerance.verificationStatus Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.RequiredAllergyIntoleranceVerificationStatus
AllergyIntolerance.type Identification of the underlying physiological mechanism for a Reaction Risk.RequiredAllergyIntoleranceType
AllergyIntolerance.category Category of an identified substance.RequiredAllergyIntoleranceCategory
AllergyIntolerance.criticality Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance.RequiredAllergyIntoleranceCriticality
AllergyIntolerance.code Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.ExampleAllergyIntolerance Substance/Product, Condition and Negation Codes
AllergyIntolerance.reaction.substance Codes defining the type of the substance (including pharmaceutical products).ExampleSubstance Code
AllergyIntolerance.reaction.manifestation Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.ExampleSNOMED CT Clinical Findings
AllergyIntolerance.reaction.severity Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations.RequiredAllergyIntoleranceSeverity
AllergyIntolerance.reaction.exposureRoute A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.ExampleSNOMED CT Route Codes

  • ait-1: AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error. (expression : verificationStatus='entered-in-error' or clinicalStatus.exists())
  • ait-2: AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error (expression : verificationStatus!='entered-in-error' or clinicalStatus.empty())

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" indicates 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 the high level of clinical certainty (e.g. additional testing, rechallenging).

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 a code for "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).

STU Note:There are two primary ways of reporting "no known allergies" in the current specification: using the CodeableConcept, as described above, or using the List resource with emptyReason. The third available option is using the substanceExposureRisk extension. During the STU period, it is not recommended to use the List resource for "no known allergies" reporting purposes. The principal reason for this is to allow all allergy or intolerance data to be found and to be consistently queryable from the single location of the AllergyIntolerance resource.

Provide feedback here .

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. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
asserterreferenceSource of the information about the allergyAllergyIntolerance.asserter
(Practitioner, Patient, RelatedPerson)
categorytokenfood | medication | environment | biologicAllergyIntolerance.category
clinical-statustokenactive | inactive | resolvedAllergyIntolerance.clinicalStatus
codetokenCode that identifies the allergy or intoleranceAllergyIntolerance.code | AllergyIntolerance.reaction.substance8 Resources
criticalitytokenlow | high | unable-to-assessAllergyIntolerance.criticality
datedateDate record was believed accurateAllergyIntolerance.assertedDate18 Resources
identifiertokenExternal ids for this itemAllergyIntolerance.identifier26 Resources
last-datedateDate(/time) of last known occurrence of a reactionAllergyIntolerance.lastOccurrence
manifestationtokenClinical symptoms/signs associated with the EventAllergyIntolerance.reaction.manifestation
onsetdateDate(/time) when manifestations showedAllergyIntolerance.reaction.onset
patientreferenceWho the sensitivity is forAllergyIntolerance.patient
(Patient)
31 Resources
recorderreferenceWho recorded the sensitivityAllergyIntolerance.recorder
(Practitioner, Patient)
routetokenHow the subject was exposed to the substanceAllergyIntolerance.reaction.exposureRoute
severitytokenmild | moderate | severe (of event as a whole)AllergyIntolerance.reaction.severity
typetokenallergy | intolerance - Underlying mechanism (if known)AllergyIntolerance.type6 Resources
verification-statustokenunconfirmed | confirmed | refuted | entered-in-errorAllergyIntolerance.verificationStatus