Read a Patient’s Signals thresholds
| Method | Path |
|---|---|
GET | /v1/signals/patients/:patientId/thresholds |
Shared authentication, project scope, and response conventions.
Lists the thresholds Signals currently holds for one enrolled Patient. This is a live read from Signals; Ovok does not derive these values from Observation data.
| Requirement or result | Details |
|---|---|
| Access policy | signals_config:read and Patient read |
| Input | :patientId is the Ovok/Medplum Patient id. No query or body. |
| Success | 200 with patientId and a thresholds array |
409 | signals_patient_not_enrolled if the Patient has no Signals enrollment. |
404 | Patient does not exist, belongs to another project, or is not readable by the caller. |
Each threshold row has these fields:
| Field | Meaning |
|---|---|
code | Measurement code or key that the band applies to. |
low, high | Numeric bounds; null means that side is unbounded or cannot be represented as an absolute band. |
editable | false when the stored rule is not a plain absolute band Ovok can safely replace, such as a rule using constants or a certified algorithm score. |
version, updatedAt | Signals' rule version and last update time; either can be null. |
source | organization, individual, auto, or unknown, based on the band metadata. |
An editable: false row is informational. Do not try to replace it through the threshold PUT route.
curl --request GET \
--url 'https://api.sandbox.ovok.com/v1/signals/patients/3f1c2b7e-8d4a-4c1e-9b2f-6a7d5e4c3b21/thresholds' \
--header "Authorization: Bearer ${OVOK_TOKEN}"