Azure IoT Connector for FHIR DO NOT createS a bare-bones Device and Patient resources on the FHIR server

Aswin 1 Reputation point

i was using the IOMT connector for Azure. As per my understanding when we create iomt connector with resolution type as Create then, Azure IoT Connector for FHIR will create a bare-bones Device and Patient resources on the FHIR server.This means to me that a patient and device resource is created at fhir server when IOMT connector is created and this should be accessible with postman i.e. when i call 'https://<azure-url>/Patient' should provide some information of created patient. But, when i query now i get , "resourceType": "operationOutcome",. Could you help me whether our understanding is correct ? or how can see the bare bones of patient or device ?

From the documents provided, it was said, when a device(simulator) data comes to IOMT connector from event hub, it will goes through different stages and during transform it was said, Observation resource is created and this observation has reference to patient and device created which was created during IOMT creation with resolution type 'Create'. Also, if there is a multiple patient, how transform stage observation resource could have the exact patient reference ?

Azure Health Data Services
Azure Health Data Services
An Azure offering that provides a suite of purpose-built technologies for protected health information in the cloud.
148 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Navtej Singh Saini 4,216 Reputation points Microsoft Employee


    Here is the response from our Product Team:

    The description of the Create mode by the customer is correct. If they have the connector properly configured then https://<fhir-server-url>/Patient should return all patients, including those created by the connector. If they are indeed calling the Patient endpoint (no further query parameters) then a few things could be going on.

    • They aren’t authenticated when they are issuing the get via postman. The customer isn’t providing the entire operation outcome, but authentication failed is a valid operation outcome.
    • They are providing additional query parameters, i.e. https://<fhir-server-url>/Patient/<id> . If they are trying to use the id from the message payload sent to the connector this won’t work. The id URL is an internal id generated by the FHIR server. The provided id we use to generate an identifier on the Patient according to the FHIR spec and needs to be queried (Patient/?identifier=myid)
    • The data isn’t being successfully imported. They should be able to use the metrics section in the portal under monitoring. Once there, they should have an IoT Connector tab. Here we have metrics for number of incoming messages, number of normalized messages, and number of message groups. Basically these need to have a non-zero value for each stage. If any is zero for the time period the customer sent the message then the corresponding stage isn’t properly configured. There is also a total error count. They should be able to use this to identify the issue if there are indeed errors.

    The most likely cause is the patient or device id isn’t properly configured in the device mapping template (or missing from the payload). Their search on the root Patient resource in combination with the last question leads me to suspect their mapping template or device payload doesn’t have a patient id to extract leading to errors on the FHIR conversion side. Our github page has a list of the different types of issues one can encounter, The one I suspect is happening at a minimum (though there could be multiple) is PatientIdentityNotDefinedException.

    Please check and get back to us with questions.

    Navtej S