Skip to content

Re-Issuing Devices Between Patients

Some programs collect devices from one patient and issue them to another. Devices, such as blood pressure monitors, can hold measurements in on-board memory and transmit them the next time they connect to a Gateway. When a device is re-issued, a stored measurement from a previous patient can be delivered after the next patient’s HWI Device is activated.

Tenovi delivers every measurement a device transmits and tags it with the patient_id of the HWI Device the Gateway is linked to at delivery time. The patterns below give your integration the records it needs to identify measurements that fall outside a patient’s active window.

StepEndpointWhat it gives you
Create a patient record before activationPOST /hwi-patients/A stable external_id on every measurement and a record of when the patient was enrolled
Unlink via the API when a patient is unenrolledGET /unlink-gateway/{hwi_device_id}/A timestamped record of when the device left the patient
Validate measurement timestamps against the patient windowMeasurement webhook / GET .../measurements/A rule for identifying measurements that could not belong to the current patient

1. Create a patient record before activating a device

Section titled “1. Create a patient record before activating a device”

Create the patient with the hwi-patients endpoint and supply your own external_id. Example POST /hwi/hwi-patients/ JSON payload:

{
"external_id": "patient-001",
"name": "Patrick Smith",
"address": "18023 Sky Park Circle Suite H2",
"city": "Irvine",
"state": "CA",
"zip_code": "92614",
"phone_number": "18005935468",
"email": "psmith@example.com",
"physician": "Dr. Ian Russell",
"clinic_name": "Flint Rehab",
"care_manager": "Jordan Benoit",
"sms_opt_in": true
}

Then reference that external_id in the nested patient object when activating the device. Example POST /hwi/hwi-devices/ JSON payload:

{
"device": {
"name": "Tenovi BPM - Wide Range",
"hardware_uuid": "123412341234"
},
"patient": {
"external_id": "patient-001"
}
}

Every measurement webhook payload for that device will carry "patient_id": "patient-001". Store the time you created the patient record and activated the device; this is the start of the patient’s active window.

Section titled “2. Unlink through the API when the patient is unenrolled”

When a patient leaves the program, unlink devices on the Gateway via API.

GET /clients/{CLIENT_DOMAIN}/hwi/unlink-gateway/{hwi_device_id}/

This gives your system its own timestamped record of the unlink, which is the end of the patient’s active window.

For device audits or hardware reclamation at scale, see the Bulk Unlinking recipe.

3. Validate measurement timestamps against the patient window

Section titled “3. Validate measurement timestamps against the patient window”

Each measurement includes two timestamps:

FieldMeaning
timestampWhen the device recorded the measurement
createdWhen Tenovi received it

Compare timestamp against the patient’s active window. A measurement with a timestamp earlier than the patient’s activation time could not have been taken by that patient. It is most often a measurement stored on the device from a previous patient or from pre-deployment testing.

Example: A patient is enrolled and their device activated on June 1, 2026. A measurement arrives for that patient_id with "timestamp": "2026-05-01T09:14:00Z". The measurement predates the patient’s enrollment.

If "estimated_timestamp": true, the device clock was reset and Tenovi estimated the time from other reference points. Estimated timestamps can fall near a window boundary. See Estimated Timestamps for how the estimate is derived and consider falling back to created for these readings before applying the window check.

The API provides the patient record, the link and unlink history, and the timestamps on each measurement. The physical handling of a device between patients, including any measurements stored on it before it reaches the next patient, is part of your program’s re-issue workflow. The date a device was placed with a specific patient is known only to your team, and it is the input that makes the window check reliable.