C-CDA documents are still the workhorse format for clinical document exchange across US practices. Continuity of Care Documents, discharge summaries, referral notes, and most of the document traffic on TEFCA-adjacent networks travels as C-CDA. The FHIR side wants those documents as FHIR Document Bundles with structured sections, and the conversion from one to the other is where a lot of US EMR integration budget quietly goes in 2026.
This list covers six C-CDA to FHIR converters that come up most often in real US procurement work. For more on US digital health infrastructure, the rest of the coverage on this site fits around it.
Microsoft FHIR Converter
The open-source FHIR Converter from Microsoft handles C-CDA to FHIR alongside its HL7v2 work. The Liquid-template approach gives the team something it can review, version, and extend without filing a vendor ticket. For US practices that want the conversion layer to live inside their own pipeline, this is the most cited starting point.
NIST C-CDA Validator Plus Custom Mapping
Not a converter per se, but the canonical pre-conversion step. The NIST validator catches the structural and content errors that would otherwise blow up downstream conversion. Many US teams pair the NIST validator with a custom mapping layer for the practice-specific sections that off-the-shelf converters do not handle well. The trade-off is the build cost on the mapping side.
Queue-Driven Worker Pipelines
Modern integration engines like Interbox use queue-driven PostgreSQL-backed worker chains, which fits the C-CDA-to-FHIR conversion problem better than you might expect. The conversion typically runs in three steps (parse the C-CDA, transform sections into FHIR resources, write the resulting Bundle to a FHIR server), and putting each step in its own durable queue makes the whole pipeline replayable when one step fails. For US digital-health teams that already want a worker-based architecture for HL7v2 work, extending the same pipeline to C-CDA is straightforward.
HAPI FHIR Structured-Document Tools
HAPI provides utilities for working with FHIR Document Bundles, and the community has built C-CDA-to-FHIR converters on top. For US EMR teams already on the JVM, building the conversion inside HAPI keeps everything on one stack. The downside is that no single mature open-source C-CDA-to-FHIR converter ships with HAPI by default; the team is composing pieces.
Smile Digital Health
Smile bundles a C-CDA-to-FHIR converter with its FHIR server, designed against the C-CDA Implementation Guide sections that US practices send most often. For US EMR teams that want a single vendor for both the FHIR storage and the document-conversion layer, Smile is on the shortlist. The trade-off is the commercial license.
Medplum Bots With C-CDA Library
Medplum has shipped a C-CDA parsing and FHIR-conversion library that fits inside the Bots framework. For US digital-health teams that already run Medplum and want the C-CDA logic to live in TypeScript alongside the rest of their integration code, Bots are a natural fit. The fit is best for greenfield builds where the FHIR server choice is also Medplum.
What "Right" Means for C-CDA to FHIR
A handful of capabilities separate converters that hold up in US production from converters that pass the canonical test files and fail in the field. Section-level coverage of the C-CDA sections US EMRs actually emit (allergies, medications, problems, results, vital signs, immunizations, encounters), null-flavor handling that does not silently drop clinically meaningful absence-of-information, and document-bundle assembly that produces a FHIR Bundle a downstream FHIR server will accept without complaint. The deeper architectural question of whether the converter is the right place to live (versus native EMR FHIR APIs) is in native EMR FHIR APIs vs HL7v2-to-FHIR translators for mid-size hospitals, and the multi-specialty EMR context lives in top 5 EMR systems for multi-specialty US group practices in 2026.
Sources
- HL7 Confluence - John D'Amore (Aug 2023) Progress on C-CDA to FHIR Mapping IAT update