For EHRs
To make it easy for the Healthcare Professional (HCP) to prescribe Telemonitoring from within the Electronic Health Record (EHR), we provide the possibility for all EHR Systems to integrate the Telemonitoring Portal.
To lower the needed efforts for the EHR provider as much as possible and because customizability is mostly limited we value a close cooperation with EHR providers and will make specific EHR adapters when necessary.
Integration
Documentation
This chapter explains how a secure transmission of context is achieved between the Prescriber (ex: EHR) and the Telemonitoring Portal.
Note that we offer a default integration, which is often possible to integrate out-of-the-box with EHR systems. However if the EHR prefers a different connection, we are happy to adapt to their preference.
Step 1 : The Patient Dashboard of the Prescriber requires a button (or link) where the HCP can request a Telemonitoring Prescription.
When that button is clicked the following calls are being made :
HTTPS | POST | https://api.telemonitoring-prescription.com/auth |
HEADER | Authorization | Base64 encoded client:secret (hospital or practice specific) |
Example Response :
{
"access_token":"eyJhbGciOiJIU...",
"token_type":"bearer",
"expires_in":3600
}
The client and secret are specific to a Prescribing instance (for example a Hospital or Private Practice). Requesting a client ID and secret can be done via support@telemonitoring-prescription.com
Step 2 : The context is being sent to the Telemonitoring Portal with the auth Token.
HTTPS | POST | https://api.telemonitoring-prescription.com/request |
HEADER | Authorization | Retrieved access_token |
BODY | JSON | context JSON |
The JSON context should adopt the following scheme :
{
PatientId: string().min(1).max(200),
Patient: {
CitizenId: string().optional(), // SSIN
FirstName: string().optional(),
SecondName: string().optional(),
LastName: string().optional(),
Email: string().optional(),
Street: string().optional(),
Number: string().optional(),
Bus: string().optional(),
PostalCode: string().optional(),
City: string().optional(),
Country: string().optional(),
PhoneNumber: string().optional(),
MobilePhoneNumber: string().optional(),
BirthDate: string().date().optional(), (YYYY-MM-DD)
Language: string().length(2).optional(),
Nationality: string().optional(),
Gender: string().optional()
},
PrescribingHcp: {
NationalNr: string().optional(), // Deprecated, use HealthProviderId instead
HealthProviderId: string().optional(),
CitizenId: string().optional(), //SSIN
FirstName: string().optional(),
LastName: string().optional()
},
ResponsibleHcp: {
NationalNr: string().optional(), // Deprecated, use HealthProviderId instead
HealthProviderId: string().optional(),
CitizenId: string().optional(), // SSIN
FirstName: string().optional(),
LastName: string().optional()
},
GeneralPractitioner: {
HealthProviderId: string().optional(),
CitizenId: string().optional(), //SSIN
FirstName: string().optional(),
LastName: string().optional(),
}
}
The response to this request will include a URI that can be displayed within your EHR, along with the unique telemonitoring ID linked to this request. This ID will be included in the data sent back to the EHR from the Telemonitoring Provider.
{
"url":"https://www.telemonitoring-prescription.com/?key=c338a22-1d76-",
"telemonitoringId":"c338a22-1d76-",
"error":0
}
Step 3 : Display the URI within your EHR
Supported Actions
When prescribing a Telemonitoring Provider Service you’ll be informed what supported actions are available for that Telemonitoring Provider. In case a supported action is triggered on the Telemonitoring Prescription Portal, it will inform the Telemonitoring Provider. It is up to the Provider to process the action accordingly.
Stop
When this action is available you’re able to stop the Telemonitoring Session. This could be useful when you’re being charged differently if a session is in-progress versus a session is stopped. Telemonitoring Prescription only allows the stop-action to be triggered on a Telemonitoring Session in status: “accepted” or “in-progress”.
HTTPS | POST | https://api.telemonitoring-prescription.com/prescription/ {telemonitoringId}/stop |
HEADER | Authorization | access_token |
Cancel
The cancel action could be made when a prescription was made mistakenly and you want to undo the prescription. Telemonitoring Prescription only allows the cancel-action to be triggered on a Telemonitoring Session in status: “requested” or “accepted”.
HTTPS | POST | https://api.telemonitoring-prescription.com/prescription/ {telemonitoringId}/cancel |
HEADER | Authorization | access_token |
Note : This might not be possible when measurements have already been linked to the session. In that case you’ll have to stop the current one and start a new one.
Prescriptions for a Patient
To know which prescriptions have been created already for a specific patient the following API can be used. This API will only return prescriptions for the authenticated prescriber.
HTTPS | GET | https://api.telemonitoring-prescription.com/prescription |
HEADER | Authorization | access_token |
QUERY PARAMETERS | patientId | The id of the patient for which one wants to retrieve all the prescriptions |
providerId | Optional parameter to filter out only prescriptions for a particular provider |
Response:
{
"patientId": "Id of the patient",
"sessions": [
{
"provider": "id of the provider",
"providerContext": "...",
"telemonitoringId":"id of the prescription",
"status": "status of the prescription",
"carepath": {
"id": "hl7-be/...",
"version": "1.0"
},
attachments: [
{
"id":"pdf",
"etag":"f2fd2ddd34eebc9d039f5e693b95a61c",
"contentMD5":"f2fd2ddd34eebc9d039f5e693b95a61c",
"contentLength":255917,
"contentType":"application/pdf",
"lastModified":"2024-09-30T07:44:17.335Z",
"contentLanguage":"nl",
"uri":"https://xxx/pdf?token=0ba1b31c",
"headers": {
"X-Custom-Header": "HeaderValue"
}
}
],
},
...
]
}
Outcome Integration
Receiving the data is done through Webhooks.
A webhook looks like this :
Field | Value |
telemonitoringId | The Telemonitoring ID given when requesting a Telemonitoring Prescription. |
status | ‘requested’, ‘accepted’, ‘in-progress’, ‘completed’, ‘cancelled’ |
prescriber | The unique ID of the prescriber |
patientId | The patient ID given during request |
service | The Telemonitoring Application that is giving back information. |
prescriberApplication | Unique instance of the Telemonitoring Application for that prescriber. |
attachments | List of available attachments (FHIR, PDF, Dashboard) |
carepath | Optional field that refers to the HL7 implementation Guide. Contains unique identifier of the carepath and version. |
The list of possible attachments that can be sent are available in the section attachments on this page
Asset Storage Links
This endpoint returns a list of approved asset storage links. These links are provided by the Telemonitoring Providers, ensuring that assets used by the EHR are stored in trusted locations. Assets provided to the EHR which are not stored on one of the whitelisted links cannot be trusted.
HTTPS | GET | https://api.telemonitoring-prescription.com/asset-storage-links |
HEADER | Authorization | Authorization key can be requested through support@telemonitoring-prescription.com |
Response
Status Code: 200 OK
Response Example:
Response Body (JSON): The response body is a JSON object containing a key, asset-storage-links, which is an array of whitelisted URLs. Each URL points to a verified storage location where assets can be securely fetched.
{
"asset-storage-links":
[
"api.cardiocareathome.com",
"api-vitalsigns.byteflies.net"
]
}
Error Responses
401 Unauthorized: If the Authorization header is missing or contains an invalid token.
500 Internal Server Error: If an internal server issue prevents the successful retrieval of asset storage links.
Additional Notes
This list of whitelisted URLs may be updated over time as new asset storage locations are added or old ones are removed by providers.
Testing
For testing purposes of both the Context Integration and the Outcome Integration, we have foreseen a Dummy Telemonitoring Provider. This can be enabled on request through support@telemonitoring-prescription.com.
The Dummy Telemonitoring Provider will automatically accept the Telemonitoring Prescription Request after 1 minute. After accepting the request, the Dummy Telemonitoring Provider will send a dummy WEIGHT measurement every 5 minutes and this for 24 hours. After 24 hours, the Dummy Telemonitoring Provider will mark the request as completed.
Status | Timing |
accepted | After 1 minute |
in-progress | After 5 minutes with FHIR attachment of WEIGHT measurement Repeated every 5 minutes for 24h |
completed | After 24h |