Skip to main content
An AllergyIntolerance resource records a patient’s risk of a harmful reaction to a substance: a drug, a food, something in the environment, or a biologic product. The endpoint codes each allergy with SNOMED CT. The resource follows the FHIR R4 AllergyIntolerance specification, and each field name below links to its R4 definition. Allergies get their own resource instead of a Condition, because decision support needs to know the category, the criticality, and the reaction. A prescribing system can then warn before it orders penicillin.
If your EHR already keeps a structured allergy list, treat it as the source of truth. Use extracted allergies to suggest additions for a clinician to review, or turn the group off. See Reduce extraction errors.

What becomes an AllergyIntolerance

No known allergies

The code names the allergy in positive form. “NKDA” (no known drug allergies) does not become 409137002 No known drug allergy. It becomes an AllergyIntolerance with code 416098002 Allergy to drug and verificationStatus: refuted. A refuted AllergyIntolerance tells you that someone checked, and found no allergy. That is different from no AllergyIntolerance at all, which only means the note did not mention allergies.

Fields

The endpoint does not fill the optional R4 encounter reference, because an allergy outlasts the visit where someone wrote it down. If you want to record the visit where the allergy was asserted, add the reference yourself. AllergyIntolerance also has no bodySite, because FHIR R4 does not define one.

Category is a plain code

FHIR R4 defines category as a list of plain codes, so each category is a string: food, medication, environment, or biologic. It carries no SNOMED CT equivalent, because a plain code has room for only one value.

Codes the endpoint can assign

The endpoint only searches a fixed part of each coding system for each field. A code outside that part never appears, and a filter can only narrow the part further, never widen it. Codes come from a fixed scope explains why. The code is the allergy finding, such as “Allergy to penicillin”, not the substance “Penicillin”. Substances have the semantic tag substance, which is outside the allowed set. The reaction fields hold text, so the endpoint assigns no codes there.

Example

Next steps

FamilyMemberHistory resource group

Learn how conditions in relatives look in FHIR.

Condition resource group

Learn how diagnoses, problems, symptoms, and signs look in FHIR.