Partner integration for device data support in care management (preview)

[This article is prerelease documentation and is subject to change.]

The device data support in care management (preview) capability defines inbound and outbound custom APIs for customers and partners to integrate their device management services. The APIs enable the following capabilities:

  • Build a lean Power Automate solution around your HTTPS connector and consume the custom APIs to trigger your Power Automate flows and ingest data to Dataverse.
  • Consume the inbound custom APIs for processing Power Automate flow responses in Dataverse.
  • Consume the outbound custom APIs for Dataverse triggers.
  • Configure a Power Automate flow to perform all the relevant operations in a partner system using Power Automate connectors. To trigger the Power Automate flow, use the Dataverse action trigger. For more information, go to Trigger flows with actions.

Note

To filter the custom APIs while using an action trigger, select Device Management for Catalog and Device Management Partner Integration Outbound for Category.

A screenshot showing the custom API filtering.

The following outbound APIs define the trigger for each process:

Process name Dataverse trigger Outbound custom API API description
Enroll a patient Select Enroll now Create Device Enrollment Outbound Triggers the Power Automate flow for creating a patient profile in the partner system.
End enrollment for a patient Select End enrollment Delete Device Enrollment Outbound Triggers the Power Automate flow for deleting a patient profile in the partner system.
Sync devices with a device vendor's system Select Sync devices Sync Devices Outbound Triggers the Power Automate flow for fetching the device data into the partner system.
Assign a device to a patient Select Assign device Assign Device Outbound Triggers the Power Automate flow for assigning a device to a patient.
Unassign a device from a patient Select Unassign device Unassign Device Outbound Triggers the Power Automate flow for disassociating a device from a patient.

After the Power Automate flow completes all the necessary operations, it sends a response to an inbound custom API through the Dataverse connector's unbound action. The inbound custom API processes the response within Dataverse.

The following diagram illustrates how the flow sends the response to an unbound action in a successful scenario.

A screenshot showing the response sent to an unbound action for a successful scenario.

The following table defines the inbound API for each process:

Process name Inbound custom API API description Corresponding outbound custom API
Enroll a patient Create Device Enrollment Inbound Processes the response generated when a patient profile is created in the partner system. Create Device Enrollment Outbound
End enrollment for a patient Delete Device Enrollment Inbound Processes the response generated when a patient profile is deleted in the partner system. Delete Device Enrollment Outbound
Sync devices with a device vendor's system Sync Devices Inbound Processes the response generated when syncing devices from the partner system to Dataverse. Sync Devices Outbound
Assign a device to a patient Assign Device Inbound Processes the response generated when a device is assigned to a patient in the partner system. Assign Device Outbound
Unassign a device from a patient Unassign Device Inbound Processes the response generated when a device is unassigned from a patient in the partner system. Unassign Device Outbound

The following API parameters specify the generic data contract for all device vendors:

Parameter Type Description
Status code Integer Status of the operation
Error message String Error messages for an unsuccessful operation
Outbound request String Outbound request sent to the Power Automate flow (for the corresponding outbound API request parameter)
Flow URL String URL of the Power Automate flow run history

The Get Devices flow needs one more parameter Content alongside the four listed parameters.

Parameter Type Description
Content String List of devices specified in the following JSON format

Format:

{
  "ResponseFormat": "<Format in which the responses are bundled>",
  "Devices": [
    {
      "Name": "<Device name>",
      "Model": "<Device model>",
      "SerialNumber": "<Device's unique serial number>"
    }
  ]
}

Example:

{
  "ResponseFormat": "default",
  "Devices": [
    {
      "Name": "Device 1",
      "Model": "Thermometer",
      "SerialNumber": "AutomatedTIP1"
    },
    {
      "Name": "Device 2",
      "Model": "Weighing machine",
      "SerialNumber": "AutomatedTIP2"
    }
  ]
}

The following diagram illustrates how the flow sends the response to an unbound action in an unsuccessful scenario.

A screenshot showing the response sent to an unbound action for an unsuccessful scenario.

For all the processes listed in this article, the user trigger initiates the chain of actions from Dataverse to the device vendor and back. You can see success or failure notifications within the application. Post refreshing the page, you can also see the updated UI for a successful operation.

Prerequisites for integration without Microsoft partners

For users integrating the capability without Microsoft partners, you need to have the following setup in place:

  1. Two private endpoints to establish a connection with your Azure tenant. One endpoint is for Azure Key Vault and the other is for the Azure Event Hubs service. We recommend you to deploy the private endpoints in a virtual network for enhanced security.

  2. A multitenant app for sending the emitted device data to your Azure tenant. You need to provide the corresponding application ID in your Azure tenant. This application registration also authenticates the access to the key vault from the private endpoint.

  3. The Power Automate flows specified in the Partner integration section that use the mentioned triggers. Use the specified inbound custom APIs to process the responses in Dataverse.

Note

If you're testing without a device vendor, configure the Power Automate flows without the partner integration steps.