1.2.0 - STU 1 United States of America flag

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

C-CDA to FHIR Problems

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.


Problem Concern Act
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
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
.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
.clinicalStatus CDA Problem Status Observation value → FHIR clinicalStatus
Date of Diagnosis
.extension:assertedDate CDA ↔ FHIR Time/Dates
See US CORE Condition for additional guidance
Comment Activity

1. XPath abbrievated for C-CDA Problem Concern act as:

2. XPath abbrievated for C-CDA Problem Observation as:

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.

Illustrative example

An illustrative example with highlighting is shown above based on the consensus of mapping and guidance. Not all possible elements in CDA or FHIR may be represented. To access the content for the above example, click on the links below.

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

Prior work and Expanded Spreadsheets

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