ZKELETON//HL7 → FHIR Open converter

HL7 AL1 → FHIR AllergyIntolerance

The AL1 (patient allergy) segment becomes a FHIR R4 AllergyIntolerance. The allergen type maps to category, the severity drives both criticality and the reaction’s severity, and each reaction becomes a manifestation.

The short answer

An HL7 AL1 segment maps to a FHIR AllergyIntolerance: AL1-2category (DA→medication, FA→food, EA→environment), AL1-3code, AL1-4criticality + reaction severity, AL1-5reaction.manifestation, AL1-6reaction.onset.

Field-by-field

HL7 fieldFHIR pathNotes
AL1-2AllergyIntolerance.categoryAllergen type: DA/MC→medication, FA→food, EA/AA/PA/LA→environment.
AL1-3AllergyIntolerance.codeThe allergen (substance) → code.text.
AL1-4criticality + reaction.severitySV→high/severe, MO→low/moderate, MI→low/mild.
AL1-5AllergyIntolerance.reaction.manifestationReaction(s) → manifestation text; each repeat emitted.
AL1-6AllergyIntolerance.reaction.onsetIdentification / onset date.
(derived)AllergyIntolerance.clinicalStatusSet to active.

Live example

This is produced by the actual converter — paste your own message and it runs the same way, entirely in your browser.

Live example — run by the actual engine Try this in the converter
HL7 v2 in
MSH|^~\&|ADT|HOSP|ZK|MERIDIAN|20240101103000||ADT^A01|MSG1|P|2.5.1
PID|1||MRN123^^^HOSP^MR||DOE^JANE||19850312|F
AL1|1|DA|7980^Penicillin^RXNORM|SV|Hives|20200101
FHIR R4 out
{
  "resourceType": "AllergyIntolerance",
  "id": "allergy-1",
  "clinicalStatus": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical",
        "code": "active",
        "display": "Active"
      }
    ]
  },
  "patient": {
    "reference": "urn:uuid:00000000-0000-4000-8000-000000000001"
  },
  "category": [
    "medication"
  ],
  "criticality": "high",
  "code": {
    "text": "Penicillin"
  },
  "reaction": [
    {
      "manifestation": [
        {
          "text": "Hives"
        }
      ],
      "severity": "severe",
      "onset": "2020-01-01"
    }
  ]
}

Nothing needed review for this message

Every populated field above was mapped. When a field can’t be mapped, it appears here instead of being dropped — that’s the guarantee.

Related mappings

Built by Zkeleton

Zkeleton builds conversion and data infrastructure for healthcare. This converter is free, runs entirely in your browser, and never sends a message anywhere — we keep it open because clean data plumbing should be a commodity, not a toll.