Technical –
Provider
To configure a Telemonitoring Provider within the portal the following information is required :
Name | Name of the Telemonitoring Service |
ID | Unique namespace of the service (ex : com.byteflies.vitalsigns) |
Provider | Name of the Telemonitoring Provider |
Description | Description of your service (max 500 chars) |
Fields | Required context your application would need (patientId, phone, email, …) |
URL | URL where prescription triggers will be requested on |
ActionURL | URL where the action triggers will go to. (Only needed when you support actions) |
CustomSchema | If you accept automated prescriptions a custom json-schema is required |
Headers | Unique header values that can be used for authentication |
prescriberHeaders | Unique header values that can be used for authentication of a specific prescriber |
Get Data from the
Telemonitoring Portal
The Prescription requests will be a POST request sent to the configuration URL with the configuration headers.
Body Example :
{
"PatientId":"...",
"Prescriber":"...",
}
The Prescriber unique namespace will be given together with the requests fields in the configuration.
Note : not all context might be available in the EHR, so fields might be empty
The expected response is a HTTP-status 200 and optionally a URL to forward to when extra information is required.
{
"success": true,
"url": "..."
}
Note : if a PDF has been made available you’ll be able to read it through the Telemonitoring Portal as long as it’s available by the Telemonitoring Provider.
Send Data to the
Telemonitoring HUB
Data is sent to the Telemonitoring HUB through the following endpoint
The full specification of the call can be found in the openapi specification
Body Example :
{
"telemonitoringId": "tm12345",
"status": "in-progress",
"attachments": [
{
"id": "customId1",
"contentType": "application/fhir+json",
"contentMD5": "YWIzZGVmNA==",
"contentLength": 120,
"lastModified": "2023-09-02T12:30:00.000-05:00",
"etag": "\"12345abc\"",
"uri": "https://example.com/resource1",
"headers": {
"X-Custom-Header": "HeaderValue"
}
},
{
"id": "customId2",
"contentType": "x-tm-dashboard",
"uri": "https://example.com/dashboard",
"headers": {
"X-Dashboard-Header": "DashboardValue"
}
}
]
}
The following sequence diagram explains what status to expect when :
