< Previous Challenge - Home - Next Challenge>
In this challenge, you will use the FHIR Converter reference architecture in Microsoft Health Architectures, deployed in challenge 2, to ingest, transform, and load clinical healthcare data into FHIR Server. You will generate synthetic patient clinical data (C-CDA), convert them into FHIR Bundle and ingest them into FHIR Server. To generate synthetic patient data, you will use SyntheaTM Patient Generator open source Java tool to simulate patient clinical data in HL7 C-CDA format.
In this scenario, you will develop a logic app based workflow to perform the C-CDA-to-FHIR conversion using FHIR Converter API and import the resulting FHIR Bundle into FHIR Server.
You will use the Microsoft Health Architectures environment and add a new logic app based workflow for the C-CDA-to-FHIR ingest and convert scenarios as follows:
-
Use HL7toFHIR conversion pipeline infrastructure (deployed in challenge 2) to expose the C-CDA Conversion service endpoint:
https://<SERVICE_NAME>.azurewebsites.net/api/convert/cda/ccd.hbs
-
Create a new logic app based workflow to perform the C-CDA-to-FHIR conversion and import the resulting FHIR Bundle into FHIR Server.
- Your new logic app needs to perform the following steps in the workflow:
- Step 1: Create a new BLOB triggered Logic App.
- Step 2: Get BLOB content from C-CDA XML file.
- Step 3: Compose BLOB content as Input object.
- Step 4: Call the FHIR Converter API.
- Step 5: Import response body (FHIR bundle) in Input object into FHIR Server connected through a FHIR Server Proxy.
- Your new logic app needs to perform the following steps in the workflow:
-
Generate simulated patient data in C-CDA format using SyntheaTM Patient Generator.
-
Update the default properties for CDA output
exporter.baseDirectory = ./output/cda ... exporter.ccda.export = true exporter.fhir.export = false ... # the number of patients to generate, by default # this can be overridden by passing a different value to the Generator constructor generate.default_population = 1000
Note: The default properties file values can be found at src/main/resources/synthea.properties. By default, synthea does not generate CCDA, CPCDA, CSV, or Bulk FHIR (ndjson). You'll need to adjust this file to activate these features. See the wiki for more details.
-
-
Copy the Synthea generated C-CDA patient data (XML) in
./output/cda
folder tocda
BLOB container in{ENVIRONMENTNAME}store
Storage Account created for FHIR Converter. This will trigger theCCDAtoFHIR
logic app convert and load workflow.- You can copy data to Azure Storage using Azure AzCopy commandline tool or Azure Storage Explorer user interface.
-
Retrieve new FHIR patient clinical data using Postman.
- You have added a new logic app based workflow in the Microsoft Health Architectures environment to handle C-CDA to FHIR conversion.
- You have generated synthetic FHIR patient clinical data in C-CDA format.
- You have converted Synthea generated patient clinical data in C-CDA format to FHIR bundle.
- You have loaded the patient clinical data into FHIR Server.
- You have use Postman to retrieve the newly loaded patient clinical data in FHIR Server.
- HL7 Ingest, Conversion Samples
- FHIR Converter
- FHIR Converter API Details
- Using FHIR Bundle Conversion APIs
- FHIR Converter pre-installed templates for C-CDA and HL7v2
- How to create a FHIR Converter template
- Browser based FHIR Converter template editor
- FHIR Server Proxy
- Synthea Patient Generator
- Synthea wiki
- Copy data to Azure Storage using Azure AzCopy tool
- Copy data to Azure Storage using Azure Storage Explorer
- Access Azure API for FHIR using Postman