C-CDA on FHIR
2.0.0-ballot - STU 2 Ballot

C-CDA on FHIR, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/ccda-on-fhir/ and changes regularly. See the Directory of published versions

## C-CDA to FHIR Allergies

This page provides a mapping from CDA to FHIR. For the FHIR to CDA mapping, please refer to Allergies FHIR → CDA. For guidance on how to read the table below, see Reading the C-CDA ↔ FHIR Mapping Pages

Uncommon use case: Multiple C-CDA Allergy Intolerance observations inside a single Allergy Concern act should map to separate and distinct FHIR AllergyIntolerance resources. The C-CDA Companion Guide (see 5.2.7.1) actively discourages the practice of multiple observations inside a single act. It may occur, however, since Allergy Concern act allows for multiple Allergy Intolerance observations in C-CDA. Lossless transformations may not be possible without the use of extensions (see 3.1 of this guide).

### C-CDA to FHIR

C-CDA¹ Allergy Concern act | FHIR AllergyIntolerance | Transform Steps & Notes
--- | --- | ---
/statusCode | .clinicalStatus | /statusCode → .clinicalStatus is to be used only if the C-CDA Allergy Status Observation (see below) is missing. For more information on how status is managed in Allergy Concern Act wrapper, refer to C-CDA clinical statement status guidance.
All of the following are a Allergy Intolerance observation nested inside the Allergy Concern act. Each observation should become a distinct FHIR AllergyIntolerance resource. Include /entryRelationship[@typeCode="SUBJ"]/observation prefix to rows below² |  |
/@negationInd |  | See constraints under /participant
/id | .identifier | CDA id ↔ FHIR identifier
/effectiveTime/low | .onsetDateTime | CDA ↔ FHIR Time/Dates effectiveTime/high should not be mapped within onset (DateTime or Period)
/effectiveTime/high | .extension:allergyintolerance-abatement |
/value | .type & .category | CDA coding ↔ FHIR CodeableConcept CDA value → FHIR type CDA value → FHIR category
/author | .recorder & Provenance | Constraint: Only map last CDA author to FHIR recorder Guidance on CDA ↔ FHIR Provenance
/author/time | .recordedDate | Constraint: Only map earliest author/time CDA ↔ FHIR Time/Dates
/participant/participantRole/playingEntity/code | .code | Constraint: When CDA negation is absent or false CDA coding ↔ FHIR CodeableConcept
/participant/participantRole/playingEntity/code & /value | .code | Constraint: When CDA negation is true and nullFlavor is used in playingEntity/code CDA No known allergy → FHIR code When negation is true and playingEntity/code is populated, use equivalent negated concept (e.g. map latex substance to no known latex allergy [1003774007, SNOMED CT]) if available. If not, use the substanceExposureRisk extension, placing the substance in the substance sub-extension and setting the exposureRisk sub-extension to `no-known-reaction-risk`. Note that when using this extension, the AllergyIntolerance resource will not be a conformant US Core AllergyIntolerance since the extension prohibits the required .code element.
Allergy Status /entryRelationship/observation[code/@code="33999-4"]/value³ | .clinicalStatus | CDA Allergy Status Observation value → FHIR clinicalStatus
Reaction /entryRelationship[@typeCode="MFST"]/observation/value³ | .reaction.manifestation | CDA coding ↔ FHIR CodeableConcept Both use SNOMED clinical findings with minor valueSet definition differences
Severity (nested inside Reaction) /entryRelationship[@typeCode="MFST"]/observation/… …entryRelationship/observation[code/@code="SEV"]/value³ | .reaction.severity | CDA Severity value → FHIR Severity Note: CDA documents should not assign severity at the Allergy level. In cases where CDA assigns severity only to the Allergy rather than the reaction, map the severity to FHIR reaction severity, even if there are more than one. This means assuming that the same severity applies to all child reactions. If severity is assigned at both levels, the reaction level should be used.
Criticality /entryRelationship/observation[code/@code="82606-5"]/value³ | .criticality | CDA Criticality value → FHIR Criticality
Comment Activity /entryRelationship/act[code/@code="48767-8"]/text³ | Annotation .note | See Comment → Annotation

1. XPath abbreviated for C-CDA Allergy Concern act as:
ClinicalDocument/component/structuredBody/component/section[code/@code="48765-2"]/entry/act/

2. XPath abbreviated for C-CDA Allergy Intolerance observation as:
ClinicalDocument/component/structuredBody/component/section[code/@code="48765-2"]/entry/act/entryRelationship[@typeCode="SUBJ"]/observation

3. Note that these entryRelationships will also have inversionInd="true" in CDA

When authors or other provenance are recorded only in the parent Allergy Concern Act, it is recommended that those data be mapped to the FHIR AllergyIntolerance.

### Example

CDA Allergy Act | FHIR AllergyIntolerance Resource
--- | ---
<act classCode="ACT" moodCode="EVN"> <templateId root="2.16.840.1.113883.10.20.22.4.30" extension="2015-08-01" /> <templateId root="2.16.840.1.113883.10.20.22.4.30" /> <id root="1.3.6.1.4.1.22812.3.2009316.3.4.10" extension="545077400001" /> <id root="1.3.6.1.4.1.22812.3.2009316.3.4.10" extension="545077400003" /> <code code="CONC" codeSystem="2.16.840.1.113883.5.6" /> <statusCode code="active" /> <effectiveTime xsi:type="IVL_TS"> <low nullFlavor="NI" /> </effectiveTime> <entryRelationship typeCode="SUBJ"> <observation classCode="OBS" moodCode="EVN"> <templateId root="2.16.840.1.113883.10.20.22.4.7" extension="2014-06-09" /> <templateId root="2.16.840.1.113883.10.20.22.4.7" /> <id root="1.3.6.1.4.1.22812.3.2009316.3.4.10.2" extension="545077400001" /> <id root="1.3.6.1.4.1.22812.3.2009316.3.4.10.2" extension="545077400003" /> <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4" /> <statusCode code="completed" /> <effectiveTime xsi:type="IVL_TS"> <low value="20080501" /> </effectiveTime> <value xsi:type="CD" code="419511003" codeSystem="2.16.840.1.113883.6.96"> <originalText> <reference value="#_6db75b62-deb2-4bab-b597-00c8ae86f6b4" /> </originalText> </value> <participant typeCode="CSM"> <participantRole classCode="MANU"> <playingEntity classCode="MMAT"> <code code="1191" codeSystem="2.16.840.1.113883.6.88" displayName="Aspirin"> <translation code="293586001" codeSystem="2.16.840.1.113883.6.96" displayName="Allergy to Aspirin"/> </code> </playingEntity> </participantRole> </participant> <entryRelationship typeCode="MFST" inversionInd="true"> <observation classCode="OBS" moodCode="EVN"> <templateId root="2.16.840.1.113883.10.20.22.4.9" extension="2014-06-09" /> <templateId root="2.16.840.1.113883.10.20.22.4.9" /> <id nullFlavor="NI" /> <code code="ASSERTION" codeSystem="2.16.840.1.113883.5.4" /> <text> <reference value="#_8a7ed342-967a-400e-88d5-2f8c2b7cdda0" /> </text> <statusCode code="completed" /> <value xsi:type="CD" code="247472004" codeSystem="2.16.840.1.113883.6.96" displayName="Wheal"> <originalText> <reference value="#_8a7ed342-967a-400e-88d5-2f8c2b7cdda0" /> </originalText> </value> <entryRelationship typeCode="SUBJ" inversionInd="true"> <observation classCode="OBS" moodCode="EVN"> <templateId root="2.16.840.1.113883.10.20.22.4.8" extension="2014-06-09" /> <templateId root="2.16.840.1.113883.10.20.22.4.8" /> <code code="SEV" codeSystem="2.16.840.1.113883.5.4" /> <text>Severe</text> <statusCode code="completed" /> <value xsi:type="CD" code="24484000" codeSystem="2.16.840.1.113883.6.96" displayName="Severe" /> </observation> </entryRelationship> </observation> </entryRelationship> </observation> </entryRelationship> </act> | { "resourceType": "AllergyIntolerance", "identifier": [ { "system": "urn:oid:1.3.6.1.4.1.22812.3.2009316.3.4.10.2", "value": "545077400001" }, { "system": "urn:oid:1.3.6.1.4.1.22812.3.2009316.3.4.10.2", "value": "545077400003" } ], "clinicalStatus": { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", "code": "active" } ] }, "category": [ "medication" ], "code": { "coding": [ { "system": "http://www.nlm.nih.gov/research/umls/rxnorm", "code": "1191", "display": "Aspirin" }, { "system": "http://snomed.info/sct", "code": "293586001", "display": "Allergy to Aspirin" } ], "text": "Aspirin" }, "patient": { "reference": "Patient/CF-patient" }, "onsetDateTime": "2008-05-01", "reaction": [ { "manifestation": [ { "coding": [ { "system": "http://snomed.info/sct", "code": "247472004", "display": "Wheal" } ], "text": "Wheal" } ], "severity": "severe" } ] }

#### Links to example content

The consensus mapping example developed through multiple vendors are available below:

- Allergy CDA example
- Allergy FHIR example