HL7 Version 2 to FHIR
1.0.0 - STU 1

HL7 Version 2 to FHIR - Downloaded Version 1.0.0 See the Directory of published versions

## ConceptMap: Segment IAM to AllergyIntolerance Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/segment-iam-to-allergyintolerance | Version: 1.0.0
Standards status: Informative | Computable Name: SegmentIAMToAllergyIntolerance
Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved.

This ConceptMap represents a mapping from the HL7 V2 Segment IAM to the FHIR AllergyIntolerance Resource.

This ConceptMap represents the mapping from the HL7 V2 IAM Segment to the FHIR AllergyIntolerance Resource. See also the FHIR Shorthand or the CSV Source.

HL7 v2 | Condition (IF True, args) | HL7 FHIR | Comments
--- | --- | --- | ---
Sort Order | Identifier | Name | Data Type | Cardinality - Min | Cardinality - Max | Computable ANTLR | Computable FHIRPath | Narrative | FHIR Attribute | Extension | Data Type | Cardinality - Min | Cardinality - Max | Data Type Mapping | Vocabulary Mapping (IS, ID, CE, CEN, CWE) | Assignment
0 |  |  |  |  |  |  |  |  | AllergyIntolerance.clinicalStatus.coding.code |  | code | 0 | 1 |  |  | "active" | While .clinicalStatus is not required, constraint ait-1 (AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.) does necessitate populating this element in the map as it's not possible to infer a verificationStatus of "entered-in-error" based on the data in IAM.
0 |  |  |  |  |  |  |  |  | AllergyIntolerance.clinicalStatus.coding.system |  | uri | 0 | 1 |  |  | "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical" |
1 | IAM-1 | Set ID - IAM | SI | 1 | 1 |  |  |  |  |  |  |  |  |  |  |  |
2 | IAM-2 | Allergen Type Code | CWE | 0 | 1 |  |  |  | AllergyIntolerance.category |  | code | 0 | -1 | CWE[code] | AllergenType[AllergyIntoleranceCategory] |  | The FHIR table has a "required" binding. Do we need to expand the values in the FHIR table? Could other be used for: Miscellaneous allergy Miscellaneous contraindication Animal Allergy HL70127 is a user defined table
2 | IAM-2 | Allergen Type Code | CWE | 0 | 1 |  |  |  | AllergyIntolerance.category.extension.url |  | uri | 1 | 1 |  |  | "http://hl7.org/fhir/StructureDefinition/alternate-codes" |
2 | IAM-2 | Allergen Type Code | CWE | 0 | 1 |  |  |  | AllergyIntolerance.category.extension.valueCodeableConcept |  | CodeableConcept | 1 | 1 | CWE[CodeableConcept] | AllergenType[AllergyIntoleranceOriginalCategory] |  |
2 | IAM-2 | Allergen Type Code | CWE | 0 | 1 |  |  |  | AllergyIntolerance.type |  | code | 0 | 1 | CWE[code] | AllergyType |  |
3 | IAM-3 | Allergen Code/Mnemonic/Description | CWE | 1 | 1 |  |  |  | code |  | CodeableConcept | 0 | 1 | CWE[CodeableConcept] |  |  |
4 | IAM-4 | Allergy Severity Code | CWE | 0 | 1 |  |  | If severity was not used equivalent to criticality | AllergyIntolerance.reaction.severity |  | code | 0 | 1 | CWE[Code] | AllergySeverity[AllergyIntolerance.reaction.severity] |  |
4 | IAM-4 | Allergy Severity Code | CWE | 0 | 1 |  |  | If severity was used equivalent to criticality | AllergyIntolerance.criticality |  | code | 0 | 1 | CWE[code] | AllergySeverity[AllergyIntolerance.criticality] |  | Note that AllergyIntolerance.reaction.severity is available in FHIR but from a base standard perspective that is actually not the most appropriate and would require that AL1-6 is valued as well. However, a local implementation may have used vocabulary that better fits AllergyIntolerance.reaction.severity and should then consider that instead as a local variation. Note that the .reaction though is at a particular time, while .criticality is an overall assement that matches HL7 v2 generally better.
4 | IAM-4 | Allergy Severity Code | CWE | 0 | 1 |  |  | If severity was used equivalent to criticality | AllergyIntolerance.criticality.extension.url |  | uri | 1 | 1 |  |  | "http://hl7.org/fhir/StructureDefinition/alternate-codes" |
4 | IAM-4 | Allergy Severity Code | CWE | 0 | 1 |  |  | If severity was used equivalent to criticality | AllergyIntolerance.criticality.extension.valueCodeableConcept |  | CodeableConcept | 1 | 1 | CWE[CodeableConcept] | AllergySeverity[AllergyIntolerance.criticality-original] |  |
5 | IAM-5 | Allergy Reaction Code | ST | 0 | 1 |  |  |  | AllergyIntolerance.reaction.manifestation.text |  | CodeableConcept | 0 | 1 | CWE[CodeableConcept] |  |  |
5 | IAM-5 | Allergy Reaction Code | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
6 | IAM-6 | Allergy Action Code | CNE | 1 | 1 |  |  |  |  |  |  |  |  |  |  |  |
7 | IAM-7 | Allergy Unique Identifier | EI | 0 | 1 |  |  |  | Identifier |  | Identifier | 0 | -1 | EI[Identifier-Extension] |  |  |
8 | IAM-8 | Action Reason | ST | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
9 | IAM-9 | Sensitivity to Causative Agent Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
10 | IAM-10 | Allergen Group Code/Mnemonic/Description | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
11 | IAM-11 | Onset Date | DT | 0 | 1 |  |  |  | AllergyIntolerance.onsetDateTime |  | dateTime | 0 | 1 |  |  |  |
12 | IAM-12 | Onset Date Text | ST | 0 | 1 | IF IAM-11 NOT VALUED |  |  | AllergyIntolerance.onsetString |  | string | 0 | 1 |  |  |  | Cannot map to both onsetDateTime and onsetString, so take onsetDateTime if available.
13 | IAM-13 | Reported Date/Time | DTM | 0 | 1 |  |  |  | AllergyIntolerance.recordedDate |  | dateTime | 0 | 1 |  |  |  |
14 | IAM-14 | Reported By | XPN | 0 | 1 | IF IAM-15 NOT VALUED |  | If IAM-15 is not valued, not always 100% clear this is a practitioner, so much review locally. | AllergyIntolerance.recorder.reference(AllergyIntolerance.Practitioner.name) |  | HumanName | 0 | 1 | XPN[HumanName] |  |  |
14 | IAM-14 | Reported By | XPN | 0 | 1 | IF IAM-15 EQUALS "SEL" |  |  | AllergyIntolerance.recorder.reference(AllergyIntolerance.Patient.name) |  | HumanName | 0 | 1 | XPN[HumanName] |  |  |
14 | IAM-14 | Reported By | XPN | 0 | 1 | IF IAM-15 VALUED AND NOT "SEL" |  |  | AllergyIntolerance.recorder.reference(AllergyIntolerance.RelatedPerson.name) |  | HumanName | 0 | 1 | XPN[HumanName] |  |  |
15 | IAM-15 | Relationship to Patient | CWE | 0 | 1 | IF IAM-15 VALUED AND NOT "SEL" |  |  | AllergyIntolerance.recorder.reference(AllergyIntolerance.RelatedPerson.relationship) |  | CodeableConcept | 0 | -1 | CWE[CodeableConcept] | Relationship |  |
16 | IAM-16 | Alert Device Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
17 | IAM-17 | Allergy Clinical Status | CWE | 0 | 1 |  |  |  | AllergyIntolerance.clinicalStatus |  | CodeableConcept | 0 | 1 | CWE[CodeableConcept] |  |  |
18 | IAM-18 | Statused by Person | XCN | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
19 | IAM-19 | Statused by Organization | XON | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
20 | IAM-20 | Statused at Date/Time | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
21 | IAM-21 | Inactivated by Person | XCN | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
22 | IAM-22 | Inactivated Date/Time | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
23 | IAM-23 | Initially Recorded by Person | XCN | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
24 | IAM-24 | Initially Recorded Date/Time | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
25 | IAM-25 | Modified by Person | XCN | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
26 | IAM-26 | Modified Date/Time | DTM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
27 | IAM-27 | Clinician Identified Code | CWE | 0 | 1 |  |  |  | code |  | CodeableConcept |  |  | CWE[CodeableConcept] |  |  | The values are added as additional .coding entries in the CodeableConcept for AllergyIntolerance.code
28 | IAM-28 | Initially Recorded by Organization | XON | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
29 | IAM-29 | Modified by Organization | XON | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
30 | IAM-30 | Inactivated by Organization | XON | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |

Mapping from (not specified) to (not specified)

Group 1 Mapping from `unspecified code system` to `unspecified code system`

Source Concept Details | Relationship | Target Concept Details | Comment
Codes from | NarrativeCondition | ComputableANTLR |  | Codes from |
IAM-2 | Allergen Type Code |  |  | is equivalent to | category | category | The FHIR table has a "required" binding. Do we need to expand the values in the FHIR table? Could other be used for: Miscellaneous allergy Miscellaneous contraindication Animal Allergy HL70127 is a user defined table\
IAM-2 | Allergen Type Code |  |  | is equivalent to | category.extension[1].url | category.extension[1].url |
IAM-2 | Allergen Type Code |  |  | is equivalent to | category.extension[1].valueCodeableConcept | category.extension[1].valueCodeableConcept |
IAM-2 | Allergen Type Code |  |  | is equivalent to | type | type |
IAM-3 | Allergen Code/Mnemonic/Description |  |  | is equivalent to | code[1] | code[1] |
IAM-4 | Allergy Severity Code | If severity was not used equivalent to criticality |  | is equivalent to | reaction.severity | reaction.severity |
IAM-4 | Allergy Severity Code | If severity was used equivalent to criticality |  | is equivalent to | criticality | criticality | Note that AllergyIntolerance.reaction.severity is available in FHIR but from a base standard perspective that is actually not the most appropriate and would require that AL1-6 is valued as well. However, a local implementation may have used vocabulary that better fits AllergyIntolerance.reaction.severity and should then consider that instead as a local variation. Note that the .reaction though is at a particular time, while .criticality is an overall assement that matches HL7 v2 generally better.
IAM-4 | Allergy Severity Code | If severity was used equivalent to criticality |  | is equivalent to | criticality.extension[1].url | criticality.extension[1].url |
IAM-4 | Allergy Severity Code | If severity was used equivalent to criticality |  | is equivalent to | criticality.extension[1].valueCodeableConcept | criticality.extension[1].valueCodeableConcept |
IAM-5 | Allergy Reaction Code |  |  | is equivalent to | reaction.manifestation.text | reaction.manifestation.text |
IAM-7 | Allergy Unique Identifier |  |  | is equivalent to | identifier | identifier |
IAM-11 | Onset Date |  |  | is equivalent to | onsetDateTime | onsetDateTime |
IAM-12 | Onset Date Text |  | IF IAM-11 NOT VALUED | is equivalent to | onsetString | onsetString | Cannot map to both onsetDateTime and onsetString, so take onsetDateTime if available.
IAM-13 | Reported Date/Time |  |  | is equivalent to | recordedDate | recordedDate |
IAM-14 | Reported By | If IAM-15 is not valued, not always 100% clear this is a practitioner, so much review locally. | IF IAM-15 NOT VALUED | is equivalent to | recorder.reference(Practitioner.name) | recorder.reference(Practitioner.name) |
IAM-14 | Reported By |  | IF IAM-15 EQUALS "SEL" | is equivalent to | recorder.reference(Patient[1].name) | recorder.reference(Patient[1].name) |
IAM-14 | Reported By |  | IF IAM-15 VALUED AND NOT "SEL" | is equivalent to | recorder.reference(RelatedPerson.name) | recorder.reference(RelatedPerson.name) |
IAM-15 | Relationship to Patient |  | IF IAM-15 VALUED AND NOT "SEL" | is equivalent to | recorder.reference(RelatedPerson.relationship) | recorder.reference(RelatedPerson.relationship) |
IAM-17 | Allergy Clinical Status |  |  | is equivalent to | clinicalStatus | clinicalStatus |
IAM-27 | Clinician Identified Code |  |  | is equivalent to | code[1] | code[1] | The values are added as additional .coding entries in the CodeableConcept for AllergyIntolerance.code

### Notes: