FHIR Allergies and Intolerances
Overview
The AllergyIntolerance FHIR resource defines clinical information about a patient's allergic response to a substance or class of substance including information about the adverse reaction. Substances include, but are not limited to, medications, foods, environment (such as plants and animals), and insect bites. It defines the substance that elicited the response, as well as when the reaction occurred, the severity, and the type of reaction noted. The FHIR AllergyIntolerance resource can also accommodate search by ID and by patient, allowing it to return a list of allergies. If a patient has no active allergies, an AllergyIntolerance resource will be returned indicating whether the patient's allergies have never been reviewed (are not on file), or if they have been reviewed and it has been determined that they have No Known Allergies (NKA) or No Known Medication Allergies (NKMA).
If a patient has not been asked about their allergies, this would be represented as:
AllergyIntolerance.code = “716186003” (No known allergy (situation))
AllergyIntolerance.verificationStatus = “confirmed”
If a patient has been asked, but has indicated they have no known allergies, this would be represented as:
AllergyIntolerance.code = “716186003” (No known allergy (situation))
AllergyIntolerance.verificationStatus = “unconfirmed”
Each AllergyIntolerance has next elements: - a clinical status of the allergy (e.g., active or resolved)* - a code which tells you what the patient is allergic to - a patient
Each AllergyIntolerance must support: - a verification status - a reaction manifestation
This resource conforms to USCDI V1 profile for Allergy Intolerance - refer to StructureDefinition US Core AllergyIntolerance. Allergy Intolerance response will be provided in JSON (refers to Capability Statement) format as per FHIR standard R4 version.
USCore Data Element | FHIR Resource Field |
---|---|
Substance(Drug class) | AllergyIntolerance.code(Snomed CT) |
Substance(Medication) | AllergyIntolerance.code (RxNorm) |
Reaction | AllergyIntolerance.reaction |
Must support elements, mandatory and optional search parameters
Allergy Intolerance must support these elements:
clinicalStatus
verificationStatus
code
patient
reaction
manifestation
The following search parameters and search parameter combinations SHALL be supported:
The syntax used to describe the interactions is described here.
SHALL support searching for all allergies for a patient using the patient search parameter:
GET [base url]/AllergyIntolerance?patient={Type/}[id]`
The following search parameter combinations *SHOULD* be supported (**optional**):
**SHOULD** support searching using the combination of the `patient` and `clinical-status` search parameters:
The response to any search operation is always a list of resources in a Bundle or an Operation Outcome.
## Allergies By Patient Id
Search for allergies by patient.
**METHOD** *GET*
**PARAMS**
- [base url] - [FHIR base url](./service-base-urls.md)
- {Type} - reference type. e.g. Patient
- [id] - Id for the Patient
**HEADERS**
The Authorization token SHALL be obtained during Authentication and Authorization process. Goto [Authentication and Authorization](./authentication-authorization.md) for further details.
|Header| Type | Required/Optional | Value |
|------|------|------------------|-------|
|Authorization| **string** |required| 'Bearer' <token> |
**RESPONSES**
|Code|Description|Comment|
|----|-----------|-------|
| 200| OK | The request was processed successfully|
| 400| Bad request | Invalid request parameters or FHIR operation outcome resource returned |
| 401| Unauthorized| This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource|
| 404| no Route matched with those values| The request was able to communicate with a given server, but the server could not find what was requested|
| 500| Internal Server Error| The server has encountered a situation it doesn't know how to handle|
**EXAMPLE:**
**PARAMS**
- [base url] - [FHIR base url](./service-base-urls.md)
- [id] - Id for Allergy Intolerance resource
**HEADERS**
The Authorization token SHALL be obtained during Authentication and Authorization process. Goto [Authentication and Authorization](./authentication-authorization.md) for further details.
|Header| Type | Required/Optional | Value |
|------|------|------------------|-------|
|Authorization| **string** |required| 'Bearer' <token> |
**RESPONSES**
|Code|Description|Comment|
|----|-----------|-------|
| 200| OK | The request was processed successfully|
| 400| Bad request | Invalid request parameters or FHIR operation outcome resource returned |
| 401| Unauthorized| This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource|
| 404| no Route matched with those values| The request was able to communicate with a given server, but the server could not find what was requested|
| 500| Internal Server Error| The server has encountered a situation it doesn't know how to handle|
**EXAMPLE:**
## Allergies By patient and clinical-status
Search for allergies using the combination of the patient and clinical-status search parameters:
**METHOD** *GET*
**PARAMS**
- [base url] - [FHIR base url](./service-base-urls.md)
- {id} - reference to the patient
- {system} - terminology system used to describe allergy intolerance status
- [code] - allergy intolerance status
**HEADERS**
The Authorization token SHALL be obtained during Authentication and Authorization process. Goto [Authentication and Authorization](./authentication-authorization.md) for further details.
|Header| Type | Required/Optional | Value |
|------|------|------------------|-------|
|Authorization| **string** |required| 'Bearer' <token> |
**RESPONSES**
|Code|Description|Comment|
|----|-----------|-------|
| 200| OK | The request was processed successfully|
| 400| Bad request | Invalid request parameters or FHIR operation outcome resource returned |
| 401| Unauthorized| This code indicates that the client request has not been completed because it lacks valid authentication credentials for the requested resource|
| 404| no Route matched with those values| The request was able to communicate with a given server, but the server could not find what was requested|
| 500| Internal Server Error| The server has encountered a situation it doesn't know how to handle|
**EXAMPLE:**