List Signals raw alerts
| Method | Path |
|---|---|
GET | /v1/signals/raw-alerts |
Shared authentication, project scope, and response conventions.
Lists individual alerts newest first. Ovok filters out results for Patients the caller cannot read and reads up to three Signals pages to fill a page after filtering. When filtering thins a page, continue using nextCursor until it is null, even if the current page contains fewer than limit items.
| Query parameter | Accepted values and meaning |
|---|---|
status | ACTIVE or RESOLVED. ACTIVE means the reading still breaches; RESOLVED means it recovered or the alert was acknowledged. |
acknowledged | true or false. Use false for items that still need acknowledgement; an alert may already be RESOLVED while remaining unacknowledged. |
patientId | Ovok/Medplum Patient id. Requires read access to that Patient. If the Patient is not enrolled, the route returns 409 signals_patient_not_enrolled. |
codes | Comma-separated LOINC codes. |
since | Inclusive lower bound for createdAt, ISO 8601 date-time with an offset. |
until | Exclusive upper bound for createdAt, ISO 8601 date-time with an offset. |
limit | Integer 1–50; defaults to 50. |
cursor | Opaque cursor previously returned by this route for this same project. |
The result is { items, nextCursor }. Each raw alert includes id, patientId, signalsPatientId, code, reason, valueNumber, valueString, message, observationId, triggerCode, triggerVersion, status, createdAt, resolvedAt, acknowledgedAt, acknowledgedBy, acknowledgedActor, and noteCount. Signals may add fields; Ovok passes those through.
reason | Meaning |
|---|---|
TRIGGER | A measurement breached a configured band. |
EMPTY | A reading arrived without a value. |
NOTE | Signals created an alert associated with a note. |
INACTIVE | The Patient stopped reporting. |
code and the corresponding reading fields may be null when the alert did not come from a coded measurement, such as an EMPTY or INACTIVE alert.
curl --get 'https://api.sandbox.ovok.com/v1/signals/raw-alerts' \
--header "Authorization: Bearer ${OVOK_TOKEN}" \
--data-urlencode 'acknowledged=false' \
--data-urlencode 'limit=20'
| Status | Meaning |
|---|---|
403 | Missing signals_alerts:read. |
404 | The supplied patientId is missing, outside the project, or unreadable. |
409 signals_patient_not_enrolled | The filtered Patient has no Signals enrollment. |
422 | Invalid query, unknown parameter, invalid cursor, or Signals rejected the filter. |
503 signals_unavailable | Signals could not be reached or returned an unusable response. |