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

Global Architecture

Context Integration

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 :

HTTPSPOSThttps://api.telemonitoring-prescription.com/auth
HEADERAuthorizationBase64 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.

HTTPSPOSThttps://api.telemonitoring-prescription.com/request
HEADERAuthorizationRetrieved access_token
BODYJSONcontext 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”.

HTTPSPOSThttps://api.telemonitoring-prescription.com/prescription/
{telemonitoringId}/stop
HEADERAuthorizationaccess_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”.

HTTPSPOSThttps://api.telemonitoring-prescription.com/prescription/
{telemonitoringId}/cancel
HEADERAuthorizationaccess_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.

HTTPSGEThttps://api.telemonitoring-prescription.com/prescription
HEADERAuthorizationaccess_token
QUERY PARAMETERSpatientIdThe 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 :

FieldValue
telemonitoringIdThe Telemonitoring ID given when requesting a Telemonitoring Prescription.
status‘requested’, ‘accepted’, ‘in-progress’, ‘completed’, ‘cancelled’
prescriberThe unique ID of the prescriber
patientIdThe patient ID given during request
serviceThe Telemonitoring Application that is giving back information.
prescriberApplicationUnique instance of the Telemonitoring Application for that prescriber.
attachmentsList of available attachments (FHIR, PDF, Dashboard)
carepathOptional 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.

HTTPSGEThttps://api.telemonitoring-prescription.com/asset-storage-links
HEADERAuthorizationAuthorization 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.

StatusTiming
acceptedAfter 1 minute
in-progressAfter 5 minutes with FHIR attachment of WEIGHT measurement
Repeated every 5 minutes for 24h
completedAfter 24h

Get
Started

Join the growing network of hospitals and telemonitoring providers.

Connect your
system today.