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 1.2.0 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
This page provides a mapping from CDA to FHIR. For the FHIR to CDA mapping, please refer to Problems FHIR → CDA. For guidance on how to read the table below, see Reading the C-CDA ↔ FHIR Mapping Pages.
This mapping demonstrates how problems in the C-CDA Problems Section would map to FHIR Conditions. Problems in other sections will map similarly, but may map to different profiles (e.g. US Core Encounter Diagnosis) or have different categories (e.g. health-concern).
Note that C-CDA includes a Concern wrapper act from which status may be read; most of the elements are within the dependent Observation entry.
C-CDA¹ Problem Concern Act |
FHIR Condition and Health Concern |
Transform Steps |
---|---|---|
From the parent section, use code@code | .category | CDA section → FHIR category Note: The section of a Problem Observation affects its FHIR category. |
/statusCode | .clinicalStatus | /statusCode → .clinicalStatus is to be used only if the C-CDA Problem Status Observation (see below) is missing. For more information on how status is managed in Problem Concern Act wrapper, refer to C-CDA guidance, see 5.2.6.1 Concern Status → Condition Clinical Status |
All of the following are a Problem observation nested inside the Problem Concern act. Each observation should become a distinct FHIR Condition resource. /entryRelationship[@typeCode=”SUBJ”]/observation prefix to rows below² |
||
/@negationInd=true | set .verificationStatus=”refuted” or adjust .code for negated concept | |
/id | .identifier | CDA id ↔ FHIR identifier |
/code | .category | CDA coding ↔ FHIR CodeableConcept |
/effectiveTime/low | .onsetDateTime | CDA ↔ FHIR Time/Dates |
/effectiveTime/high | .abatementDateTime | If present (or high/@nullFlavor=UNK ), the .clinicalStatus must be inactive , remission , or resolved . If C-CDA status fields map to .clinicalStatus of active, relapse, or recurrence, suggest setting .clinicalStatus to inactive for FHIR conformance.If high/@nullFlavor=UNK , populate ._abatementDateTime.extension with Data Absent Reason, since in C-CDA, the “UNK” high effectiveTime has been the recommended way to indicate “resolved problem but unknown resolution date.”CDA ↔ FHIR Time/Dates |
/value | .code | Constraint: When CDA negation is absent or false CDA coding ↔ FHIR CodeableConcept |
/author | .recorder & Provenance |
.recorder should be authoritative (latest) author if there are multiple CDA ↔ FHIR Provenance |
/author/time | .recordedDate | Earliest, if more than one CDA ↔ FHIR Time/Dates |
Problem Status /entryRelationship/observation[code/@code=”33999-4”]/value |
.clinicalStatus | CDA Problem Status Observation value → FHIR clinicalStatus |
Date of Diagnosis /entryRelationship/act[code/@code=”77975-1”]/effectiveTime |
.extension:assertedDate | CDA ↔ FHIR Time/Dates See US CORE Condition for additional guidance |
Comment Activity /entryRelationship/act[code/@code=”48767-8”]/text |
Annotation .note |
1. XPath abbrievated for C-CDA Problem Concern act as:
ClinicalDocument/component/structuredBody/component/section[code/@code=”11450-4”]/entry/act/
2. XPath abbrievated for C-CDA Problem Observation as:
ClinicalDocument/component/structuredBody/component/section[code/@code=”11450-4”]/entry/act/entryRelationship[@typeCode=”SUBJ”]/observation/
When authors or other provenance are recorded in the parent Problem Concern Act, it is recommended that those data be mapped to the FHIR Condition.
The consensus mapping example developed through multiple vendors are available below:
As reviewed in the methodology, a more comprehensive review was performed via spreadsheets. These spreadsheets have been consolidated and further revised in the tables above but are provided for reference here