Search


  

FHIR® is an HL7® standard for exchanging healthcare information electronically.  The fourth STU release (R4) was published in October 2019, including the first (partial) normative content.  FHIR models the classes of information for interoperable use as Resources. The FHIR® Resources relevant to the use cases in section 4 are AllergyIntolerance, Condition and Observation.

AllergyIntolerance resource

Figure 4.1-1 shows the structure of the FHIR AllergyIntolerance resource. The full resource model structure, coded elements and terminology bindings of the AllergyIntolerance resource can be found at http://www.hl7.org/fhir/allergyintolerance.html, with various display options, including UML, XML, JSON, Turtle and the differences it underwent compared to the prior release(s).

Figure 4.1-1: Structure of the AllergyIntolerance HL7 FHIR resource as in HL7® FHIR® v4.3.0: R4B - STU (From http://www.hl7.org/fhir/allergyintolerance.html, consulted on 2nd September 2022).


The scope of this resource is to "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."

Table 4.1-1: The definition of the main AllergyIntolerance resource elements along with details about their terminology bindings.

Path/Element

Definition

Values

Binding Strength

Binding

AllergyIntolerance

.clinicalStatus

The clinical status of the allergy or intolerance.

- active

- inactive

- resolved

Required

AllergyIntoleranceClinicalStatusCodes

AllergyIntolerance

.verificationStatus

Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.

- unconfirmed

- confirmed

- refuted

- entered-in-error

Required

AllergyIntoleranceVerificationStatusCodes

AllergyIntolerance.type

Identification of the underlying physiological mechanism for the reaction risk, if known.

- allergy

- intolerance

Required

AllergyIntoleranceType

AllergyIntolerance

.category

Category of an identified substance associated with allergies or intolerances.

- food

- medication

- environment

- biologic

Required

AllergyIntoleranceCategory

AllergyIntolerance

.criticality

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

- low

- high

- unable-to-assess

Required

AllergyIntoleranceCriticality

AllergyIntolerance.code

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").


Example

AllergyIntoleranceSubstance/Product,ConditionAndNegationCodes

AllergyIntolerance

.reaction.substance

Identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction manifestation. It can differ from the AllergyIntolerance.code in some circumstances (ex: reaction to a product containing the substance responsible).


Example

SubstanceCode

AllergyIntolerance

.reaction.manifestation

Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.


Example

SNOMEDCTClinicalFindings

AllergyIntolerance

.reaction.severity

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

- mild

- moderate

- severe

Required

AllergyIntoleranceSeverity

AllergyIntolerance

.reaction.exposureRoute

A coded concept describing the route or physiological path by which the subject was exposed to the substance.


Example

SNOMEDCTRouteCodes

 

It is important to note that

  • In the FHIR® AllergyIntolerance resource, some elements (type, category, criticality and severity) have currently a "Code" data type. They thus require the use of the FHIR values provided and no other classification or terminology code can be used as value in these elements, unless one is using a FHIR® extension, while other elements (clinicalStatus, verificationStatus) have a "CodeableConcept" data type and thus allow for simultaneous use of several code systems (ex: both the FHIR values and the SNOMED CT concepts representing the same meaning as those FHIR values).

Here you will find an example of extension for AllergyIntolerance.type, which allows capturing, in SNOMED CT, more type of reaction values then the two FHIR values of "allergy" and "intolerance". The full discussion regarding this extension can be found on the 22/02/2022 SNOMED on FHIR group meeting page.

  • When FHIR® R5 is released (expected in late 2022):
    • The reaction.manifestation element should be able to directly reference a FHIR Observation resource representing the manifestation (proposal to be balloted in R5). This will allow the manifestation of an adverse reaction to be recorded only once, not first in an Observation resource and then once again in the AllergyIntolerance resource.
    • The AllergyIntolerance.type element will have a "CodeableConcept" data type and a binding strength of "Preferred", thus allowing the use of SNOMED CT concepts as values without the use of an extension.

 Observation resource

Figure 4.1-2 shows the structure of the FHIR Observation resource. The full resource model structure, coded elements and terminology bindings of the Observation resource can be found on http://www.hl7.org/fhir/observation.html, with various display options, including UML, XML, JSON, Turtle and the differences it underwent compared to the prior release(s).

Figure 4.1-2: Structure of the Observation HL7 FHIR resource as in HL7® FHIR® v4.3.0: R4B - STU (From http://www.hl7.org/fhir/observation.html, consulted on 2nd September 2022).

Observations in general are a central element in healthcare, used to support diagnosis, monitor progress, determine baselines and patterns and even capture demographic characteristics. Most observations are simple name/value pair assertions with some metadata, but some observations group other observations together logically, or even are multi-component observations. Note that the DiagnosticReport resource provides a clinical or workflow context for a set of observations and the Observation resource is referenced by DiagnosticReport to represent laboratory, imaging, and other clinical and diagnostic data to form a complete report. In the context of allergies, it can be used to present allergy test results.

Uses for the Observation resource include:

In the context of allergies, the Observation resource can be used to record the manifestation(s) of the allergy (ex: rash on the neck). Note that the boundary between observing a (series of) clinical finding(s) and posing the diagnosis of a disorder isn't always clear cut in medical ontology, and explicit local business rules may be needed to help clinicians record the same clinical situations either as observations or as diagnosis in a consistent way. The Observation resource can also be used to record allergy test results (biological test, like dosage of specific IgE or clinical, like patch and prick tests).

Table 4.1-2: The definition of the main Observation resource elements along with details about their terminology bindings.

Path/Element

Definition

Values

Binding Strength

Binding

Observation.status

The status of the result value.

- registered

- preliminary

- final

- amended

- corrected

- cancelled

- entered in error

- unknown

Required

ObservationStatus

Observation.category

A code that classifies the general type of observation being made.


Preferred

Observation Category Codes

Observation.code

Type of observation (code / type). Describes what was observed. Sometimes this is called the observation "name".


Example

LOINC Codes

Observation.dataAbsentReason

Provides a reason why the expected value in the element Observation.value[x] is missing.


Extensible

DataAbsentReason

Observation.interpretation

A categorical assessment of an observation value. For example, high, low, normal.


Extensible

Observation InterpretationCodes

Observation.bodySite

Indicates the site on the subject's body where the observation was made (i.e. the target site). May include laterality.


Example

SNOMED CT Body Structures

Observation.method

Indicates the mechanism used to perform the observation.


Example

ObservationMethods

Observation.referenceRange.type

Codes to indicate the what part of the targeted reference population it applies to. For example, the normal or therapeutic range.


Preferred

Observation Reference Range MeaningCodes

Observation.referenceRange.appliesTo


Codes to indicate the target population this reference range applies to.  For example, a reference range may be based on the normal population or a particular sex or race.


Example

Observation Reference Range AppliesToCodes

Observation.component.code

Type of component observation (code / type).
Describes what was observed. Sometimes this is called the observation "code".


Example

LOINC Codes

Observation.component.dataAbsentreason

Provides a reason why the expected value in the element Observation.component.value[x] is missing.


Extensible

DataAbsentReason

Observation.component.interpretation

A categorical assessment of an observation value. For example, high, low, normal.


Extensible

Observation InterpretationCodes

 

Condition resource

Figure 4.1-3 shows the structure of the FHIR Condition resource. The resource model structure, coded elements and terminology bindings of the Condition resource can be found on http://www.hl7.org/fhir/condition.html, with various display options, including UML, XML, JSON, Turtle and the differences it underwent compared to the prior release(s).


Figure 4.1-3: Structure of the Condition HL7 FHIR resource as in HL7® FHIR® v4.3.0: R4B - STU (From http://www.hl7.org/fhir/condition.html, consulted on 2nd September 2022)

This resource is used to record detailed information about a condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. The condition could be a point in time diagnosis in the context of an encounter, it could be an item on the practitioner’s Problem List, or it could be an additional concern that does not exist on the practitioner’s Problem List. Often a condition is about a clinician's assessment and assertion of a particular aspect of a patient's state of health. It can be used to record information about a disease/illness identified from application of clinical reasoning over the pathologic and pathophysiologic findings (diagnosis), or identification of health issues/situations that a practitioner considers harmful or potentially harmful and may be investigated and managed (problem), or another health issue/situation that may require ongoing monitoring and/or management (health issue/concern).

While conditions are frequently a result of a clinician's assessment and assertion of a particular aspect of a patient's state of health, conditions can also be expressed by the patient, related person, or any care team member. A clinician may have a concern about a patient condition (e.g. anorexia) that the patient is not concerned about. Likewise, the patient may have a condition (e.g. hair loss) that does not rise to the level of importance such that it belongs on a practitioner’s Problem List.

In the context of allergies, the Condition resource can be used to record the manifestation(s) of the allergy (ex: allergic urticaria).

Table 4.1-3: The definition of the main Condition resource elements along with details about their terminology bindings.

Path/Element

Definition

Values

Binding Strength

Binding

Condition.clinicalStatus

The clinical status of the condition or diagnosis.

- active

- recurrence

- relapse

- inactive

- remission

- resolved

Required

ConditionClinicalStatusCodes

Condition.verificationStatus

The verification status to support or decline the clinical status of the condition or diagnosis.

- unconfirmed

- provisional

- differential

- confirmed

- refuted

- entered-in-error

Required

ConditionVerificationStatus

Condition.category

A category assigned to the condition.


Extensible

ConditionCategoryCodes

Condition.severity

A subjective assessment of the severity of the condition as evaluated by the clinician.


Preferred

Condition/DiagnosisSeverity

Condition.code

Identification of the condition or diagnosis.


Example

Condition/Problem/DiagnosisCodes

Condition.bodySite

Codes describing anatomical locations. May include laterality.


Example

SNOMEDCTBodyStructures

Condition.stage.summary

Codes describing condition stages (e.g. Cancer stages).


Example

ConditionStage

Condition.stage.type

Codes describing the kind of condition staging (e.g. clinical or pathological).


Example

ConditionStageType

Condition.evidence.code

Codes that describe the manifestation or symptoms of a condition.


Example

ManifestationAndSymptomCodes

 

 

1.1.3.4   Example of a typical Medication allergy resource from a clinical system (id = "medication") (JSON format):

{
  "resourceType": "AllergyIntolerance",
  "id": "medication",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: medication</p><p><b>clinicalStatus</b>: Active <span>(Details : {http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical code 'active' = 'Active', given as 'Active'})</span></p><p><b>verificationStatus</b>: Unconfirmed <span>(Details : {http://terminology.hl7.org/CodeSystem/allergyintolerance-verification code 'unconfirmed' = 'Unconfirmed', given as 'Unconfirmed'})</span></p><p><b>category</b>: medication</p><p><b>criticality</b>: high</p><p><b>code</b>: Penicillin G <span>(Details : {RxNorm code '7980' = 'Penicillin G', given as 'Penicillin G'})</span></p><p><b>patient</b>: <a>Patient/example</a></p><p><b>recordedDate</b>: 01/03/2010</p><p><b>recorder</b>: <a>Practitioner/13</a></p><h3>Reactions</h3><table><tr><td>-</td><td><b>Manifestation</b></td></tr><tr><td>*</td><td>Hives <span>(Details : {SNOMED CT code '247472004' = 'Weal', given as 'Hives'})</span></td></tr></table></div>"
  },
  "clinicalStatus": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical",
        "code": "active",
        "display": "Active"
      }
    ]
  },
  "verificationStatus": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification",
        "code": "unconfirmed",
        "display": "Unconfirmed"
      }
    ]
  },
  "category": [
    "medication"
  ],
  "criticality": "high",
  "code": {
    "coding": [
      {
        "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
        "code": "7980",
        "display": "Penicillin G"
      }
    ]
  },
  "patient": {
    "reference": "Patient/example"
  },
  "recordedDate": "2010-03-01",
  "recorder": {
    "reference": "Practitioner/13"
  },
  "reaction": [
    {
      "manifestation": [
        {
          "coding": [
            {
              "system": "http://snomed.info/sct",
              "code": "247472004",
              "display": "Hives"
            }
          ]
        }
      ]
    }
  ]
}


Using SNOMED CT concepts in FHIR® resources

The SNOMED on FHIR group can provide help and direction on how to deal with the specific issues that may arise when using SNOMED CT concepts in FHIR® resources. SNOMED CT implementation in FHIR guidance can be found here: http://build.fhir.org/ig/IHTSDO/snomed-ig/, while proposals of SNOMED CT adapted FHIR resources can be found here: http://build.fhir.org/ig/IHTSDO/snomed-ig/profiles.html.

You will note that there are two separate FHIR® profiles proposed on this page, based on the general HL7 FHIR AllergyIntolerance resource. One is substance-focused, meaning that the record centers for the AllergyIntolerance.code value on the substance the patient reacts to and captures separately the type of reaction in the AllergyIntolerance.type element. One can say this model captures the allergy/intolerance to X in a post-coordinated way. The second profile is finding-focused, meaning it captures the allergy/intolerance in the AllergyIntolerance.code element using pre-coordinated "allergy/intolerance to X" SNOMED CT concepts and makes no use of the AllergyIntolerance.type element.


  • No labels