Azure IoT Connector for FHIR (preview) data flow

This article provides an overview of data flow in Azure IoT Connector for Fast Healthcare Interoperability Resources (FHIR®)*. You'll learn about different data processing stages within Azure IoT Connector for FHIR that transform device data into FHIR-based Observation resources.

Azure IoT Connector for FHIR data flow

Diagram above shows common data flows using Azure IoT Connector for FHIR.

Below are different stages that data goes through once received by Azure IoT Connector for FHIR.

Ingest

Ingest is the first stage where device data is received into Azure IoT Connector for FHIR. The ingestion endpoint for device data is hosted on an Azure Event Hub. Azure Event Hub platform supports high scale and throughput with ability to receive and process millions of messages per second. It also enables Azure IoT Connector for FHIR to consume messages asynchronously, removing the need for devices to wait while device data gets processed.

Note

JSON is the only supported format at this time for device data.

Normalize

Normalize is the next stage where device data is retrieved from the above Azure Event Hub and processed using device mapping templates. This mapping process results in transforming device data into a normalized schema.

The normalization process not only simplifies data processing at later stages but also provides the ability to project one input message into multiple normalized messages. For instance, a device could send multiple vital signs for body temperature, pulse rate, blood pressure, and respiration rate in a single message. This input message would create four separate FHIR resources. Each resource would represent different vital sign, with the input message projected into four different normalized messages.

Group

Group is the next stage where the normalized messages available from the previous stage are grouped using three different parameters: device identity, measurement type, and time period.

Device identity and measurement type grouping enable use of SampledData measurement type. This type provides a concise way to represent a time-based series of measurements from a device in FHIR. And time period controls the latency at which Observation resources generated by Azure IoT Connector for FHIR are written to Azure API for FHIR.

Note

The time period value is defaulted to 15 minutes and cannot be configured for preview.

Transform

In the Transform stage, grouped-normalized messages are processed through FHIR mapping templates. Messages matching a template type get transformed into FHIR-based Observation resources as specified through the mapping.

At this point, Device resource, along with its associated Patient resource, is also retrieved from the FHIR server using the device identifier present in the message. These resources are added as a reference to the Observation resource being created.

Note

All identity look ups are cached once resolved to decrease load on the FHIR server. If you plan on reusing devices with multiple patients it is advised you create a virtual device resource that is specific to the patient and send virtual device identifier in the message payload. The virtual device can be linked to the actual device resource as a parent.

If no Device resource for a given device identifier exists in the FHIR server, the outcome depends upon the value of Resolution Type set at the time of creation. When set to Lookup, the specific message is ignored, and the pipeline will continue to process other incoming messages. If set to Create, Azure IoT Connector for FHIR will create a bare-bones Device and Patient resources on the FHIR server.

Persist

Once the Observation FHIR resource is generated in the Transform stage, resource is saved into Azure API for FHIR. If the FHIR resource is new, it will be created on the server. If the FHIR resource already existed, it will get updated.

Next steps

For more information about how to create device and FHIR mapping templates, see

*In the Azure portal, Azure IoT Connector for FHIR is referred to as IoT Connector (preview). FHIR is a registered trademark of HL7 and is used with the permission of HL7.