FHIR® Converter is an open source project that enables the conversion of health data from legacy format to FHIR. Currently it supports HL7v2, and CCDA, to FHIR conversion.
The Converter makes use of templates that define the mappings between different data formats. The templates are written in Handlebars templating language and make use of custom helper functions, which make it easy to work with HL7v2 messages, and CCDA documents.
Templates for HL7v2, and CCDA, to FHIR conversion come pre-installed with the Converter. HL7v2 to FHIR templates are based on the spreadsheet created by the HL7 2-To-FHIR project. If needed, you can create new, or modify existing templates by following this document, and deploy those to meet your specific conversion requirements.
FHIR converter runs as a REST web service and can be deployed on-prem or in the cloud. It takes raw data as input and converts it to FHIR bundles. These bundles can be persisted to a FHIR server such as the Azure API for FHIR.
The FHIR Converter consists of the following components:
- Conversion APIs for converting data in request-response mode
- Pre-installed set of templates for HL7v2 and CDA to FHIR conversion.
- Sample data for testing purpose.
- A Browser based editor to modify, create, and test templates.
- Template management APIs to manage the templates
- An embedded git server as another way to manage the templates
The FHIR Converter released to open source on Thursday March 6th, 2020 with support for HL7 v2 to FHIR conversion. On Friday June 12th, 2020, C-CDA to FHIR conversion was added to the OSS FHIR Converter.
FHIR® is the registered trademark of HL7 and is used with the permission of HL7. Use of the FHIR trademark does not constitute endorsement of this product by HL7.
The FHIR Converter can be deployed to Azure or run locally.
To deploy in Azure, you need an Azure subscription. If you do not have an Azure subscription, you can start here.
Once you have your subscription, click the link below. Note the service name as well as the API key you provide during the deployment process.
Once it is deployed, you can access the UI and the service at https://<SERVICE_NAME>.azurewebsites.net.
If you need to view or edit your API Key later, take the following steps:
- Navigate to your App Service
- Under Settings, select Configuration
- You will see CONVERSION_API_KEYS listed here.
Make sure that you have Node.js >=10.10.0 < 11.0 installed
git clone https://github.com/microsoft/FHIR-Converter/
cd FHIR-Converter
npm install
npm start
Once this completes, you can access the UI and the service at http://localhost:2019/
HL7v2 to FHIR, and CCDA to FHIR conversion templates come pre-installed on the FHIR converter. You can test the default conversion behavior of the service either by using the UI, or the API. In case the default templates do not meet your requirements, you can modify the templates by following How to create templates document.
Visit the Microsoft health architectures github page to see a sample pipeline that leverages the FHIR Converter in an end to end scenario.
There is a known issue that the v1.0.0 converter UI gets auto-updated to v2.0.0 and the v1.0.0 templates are no longer visible in the UI. You can follow these steps to resolve this issue.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit the CLA site.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.