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.
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.
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.
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:
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.
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.
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.