Care Evolution Logo Care Evolution


For Developers

CDA to FHIR path

Navigating the CDA to FHIR Conversion Tool Maze: A Developer’s Odyssey

By David Quickstad

I’m seeing a lot of developers looking to convert CDA to FHIR so I was curious what tools were out there, and was surprised at how difficult it was to test and use most of the tools available. I started by googling “CDA to FHIR” and several tools came up. I was hoping to compare the output FHIR bundles between them all, and a low barrier to run this test, and gave up if it wasn’t possible to self-serve or access the tool in a sandbox environment.

Here’s a summary of what I found:

  1. “Contact us” – all too common! Apparently they may have the tools, capabilities and/or a service component, but you need to ‘contact them for a demo or talk to sales’, which doesn’t sound like modern software to me.
  2. No detailed documentation – I was expecting to at least see some detailed documentation on what the capabilities, installation and setup or tech stack looked like but was disappointed to see that it was either not available, hidden or perhaps hidden until you talk to sales.
  3. FHIR sale? – some tools were part of a large FHIR server implementation and I wasn’t looking to deploy an entire FHIR Server (or bear the associated cost for the service), so I ruled these out as options.
  4. Interface engine – same as above, if the tool was part of a larger interface engine, I ruled these out as options.
  5. Sandbox, fail – even tools with easy registrations didn’t always work, such as one tool that looked easy to test but timed out every time with just a simple CDA.
  6. Sandbox, toll booth – with some tools there was a need to register an application to do something in the sandbox, and it was unclear what for or what the next steps were going to be. When it asked for my credit card to register the application, I bailed.
  7. Sandbox, limited – even when vendors had a sandbox with easy registration, the output was often presented in a way that prevented meaningful evaluations. For example, one vendor provided only a patient viewer, not the raw FHIR output. Another offered only a single static input CDA sample that couldn’t be changed. With another vendor, I was able to drop in my CDA, but there was significant data loss and data quality issues on the FHIR output.
  8. Functional, but limited – I spent a fair amount of time testing the conversion capability of Microsoft Azure FHIR Converter, particularly since it seems to be a commonly used tool (perhaps since it’s free and source code is available). It seemed limited in terms of the CDA formats and variations it can handle and also lacks terminology standardization and data deduplication. This tool will require a good amount of development effort if used in a real world setting, and the output seems to be a simple flattening to FHIR—that is when the conversion doesn’t error out. In general, its tolerance to real world data seems low.

With the explosion of patient data becoming available, the market will no doubt demand CDA to FHIR conversion tools with better testing environments and enrichment capabilities to address CDA data quality issues.

About me

I’ve worked in healthcare tech as a developer, architect, product manager, chief product officer, account exec, and currently work for CareEvolution as a platform evangelist. If you’d like to try our CDA to FHIR converter, the Convert API, here is a link to our sandbox, I would appreciate your feedback:-)

To learn how your CDA to FHIR conversion process might be affected by CDA data quality in the CareEvolution Sandbox or you can evaluate your clinical data with a CareEvolution CDA Diagnostic Report.