List out-of-bed notifications
- Sandbox: available
- Staging: available
- Production: unknown
Lists your project's out-of-bed notifications, filtered and paged. Out-of-bed is evaluated and recorded by Ovok as CommunicationRequests, and this is its feed. Medical notifications are not here; read GET /v1/slim/notifications/medical for those.
Auth: Bearer token. The caller must be a practitioner, an admin, a super admin, or hold the "System Owner" access policy. The access policy must grant CommunicationRequest:read, CommunicationRequest:search and Observation:read (an admin or super admin who holds no access policy skips this check).
Scope: The caller's project (from the token). The project query parameter is accepted but ignored.
Behaviour
- The notification type is fixed to out-of-bed; there is no
typeparameter. Prefer this route over the deprecatedGET /v1/slim/notifications?type=outOfBed. status=activelists the new notifications andstatus=completedthe reviewed ones. Leavestatusout to list new and reviewed together; each row keeps its ownstatus. An episode closed by hand without an acknowledgement isrevoked, so it is in none of these lists; askstatus=revokedfor it. An episode that has ended but has not been acknowledged staysactive, with an end-of-episode marker, so one resident can have more than one active row.- One row per out-of-bed episode, not per reading: the resident's open episode is updated in place.
- Sort order: newest first by event time (
occurrenceDateTime, thenauthoredOn, then id). patienttakes a Patient id orPatient/{id}.devicetakes a Device id,Device/{id}, or the device's identifier value. A Device id that does not exist returns an empty page rather than an unfiltered one.devicematches the device that raised each alert, and each row's device and room are that device's, also after the resident moved to another device or was unassigned.startDateandendDateare inclusive ISO 8601 UTC instants, used exactly as sent. They bind to the episode's last firing time (occurrenceDateTime), whatever the status. Either may be omitted. A missingstartDatedefaults to one year back forstatus=activeand 30 days back otherwise. Withoutstatus, the new rows keep the one-year default and the reviewed rows the 30-day one, so the list holds exactly the rows ofstatus=activeandstatus=completedtogether.- Paging:
pagefrom 0,countfrom 1 to 100 (default 25).totalis an exact count for the filter, the same on every page, cached for 15 seconds. It counts matching CommunicationRequests, so it is an upper bound on the rows you can page through. It reads0if the count lookup fails; the rows are unaffected. - The list pages through at most the first 1,000 results (server-configurable).
totalis clamped to that cap. When the cap or the per-request scan limit stops a page short,truncatedsays why:{ reason: 'result-cap', limit }or{ reason: 'scan-budget', limit }.truncatedisnullwhen the page is complete. - Acknowledge a row with
PATCH /v1/slim/notifications/{id}/ack.
Example
curl -X GET 'https://api.sandbox.ovok.com/v1/slim/notifications/oob?status=active&page=0&count=25' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'bearerAuthorizationBearer <JWT>patient?stringPatient id or reference (Patient/{id})
device?stringDevice id or reference (Device/{id})
project?stringproject is ignored for scoping; server uses auth token project only.
status?stringactive for new, completed for reviewed or switched off. Omit for new and completed together.
"active""completed""cancelled""draft""on-hold""revoked""unknown""entered-in-error"startDate?stringInclusive lower bound, as an ISO 8601 UTC instant, on the episode's last firing time, used exactly as sent. One year back for new rows and 30 days back for reviewed ones when omitted.
date-timeendDate?stringInclusive upper bound, as an ISO 8601 UTC instant, on the episode's last firing time, used exactly as sent.
date-timepage?string"0"count?string"25"Out-of-bed notifications retrieved successfully.
application/json- response
total*numberpage*numbercount*numberresources*array<>truncated*curl -X GET 'https://api.sandbox.ovok.com/v1/slim/notifications/oob'{ "total": 0, "page": 0, "count": 0, "resources": [ { "commId": "string", "patientId": "string", "patientName": "string", "deviceId": "string", "deviceName": "string", "deviceStatus": "string", "locationId": "string", "locationName": "string", "color": "string", "trigger": "above", "type": "hr", "status": "draft", "details": { "threshold": 0, "value": 0, "level": "string" }, "authoredOn": "2019-08-24T14:15:22Z", "alertCount": 0, "occurrenceDateTime": "2019-08-24T14:15:22Z", "episodeEndedAt": "2019-08-24T14:15:22Z", "effectiveTimestamp": "2019-08-24T14:15:22Z", "latestObservationTimestamp": "2019-08-24T14:15:22Z", "alarm": { "episodeId": "string", "severity": "RED", "type": "string", "text": "string" }, "noteCount": 0, "closeReason": "string" } ], "truncated": { "reason": "result-cap", "limit": 0 }}List recent alarm notifications GET
Lists the newest active device alarms and attention presses for your project. Use it for an alarm bell. It has the same response shape as `GET /v1/slim/notifications/recent/oob`. **Auth:** Bearer token. The caller must be a practitioner, an admin, a super admin, or hold the "System Owner" access policy. The access policy must grant `CommunicationRequest:read` and `CommunicationRequest:search` (an admin or super admin who holds no access policy skips this check). **Scope:** The caller's project (from the token). ## Behaviour - Device alarms and attention presses are decided by the sending system. Ovok stores and forwards them. - Returns at most `count` rows (1 to 50, default 20), newest first by event time. - Always read from the FHIR store, limited to the `deviceAlarm` and `attention` types, so `warm` is `false` and `source` is `fhirStore`. - `total` counts alarm rows only. It is an estimate, capped at the list result cap (1,000 by default). - Acknowledge a row with `PATCH /v1/slim/notifications/{id}/ack`; it then leaves this bell. - Out-of-bed is on `GET /v1/slim/notifications/recent/oob`, medical notifications on `GET /v1/slim/notifications/recent/medical`. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/notifications/recent/alarms?count=20' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```
List alarm notifications GET
Lists your project's device alarms and attention presses, filtered and paged. These are decided by the sending system; Ovok stores them as CommunicationRequests and forwards them. **Auth:** Bearer token. The caller must be a practitioner, an admin, a super admin, or hold the "System Owner" access policy. The access policy must grant `CommunicationRequest:read`, `CommunicationRequest:search` and `Observation:read` (an admin or super admin who holds no access policy skips this check). **Scope:** The caller's project (from the token). The `project` query parameter is accepted but ignored. ## Behaviour - One row per alarm episode. Each row's `alarm` carries the sender's own alarm id (`episodeId`), its severity, type and text, so the sender can match an acknowledgement to its own record. - `type`: `deviceAlarm`, `attention`, or both comma separated. Both when omitted. - `severity`: `RED`, `YELLOW`, `ATTENTION`, comma separated, as the sender coded the alarm. Every severity when omitted. - `status` defaults to `active`; an acknowledged alarm is `completed`. - `sort`: `newest` (default) or `oldest`, by event time (`occurrenceDateTime`, then `authoredOn`, then id). - `patient`, `device`, `startDate`, `endDate`, `page`, `count`, `total` and `truncated` work as on `GET /v1/slim/notifications/oob`: `count` is 1 to 100 (default 25), dates are inclusive UTC instants, and the list pages through at most the first 1,000 results (server-configurable). - Acknowledge a row with `PATCH /v1/slim/notifications/{id}/ack`. - Out-of-bed is on `GET /v1/slim/notifications/oob`; vital-sign alerts, decided by Signals, are on `GET /v1/slim/notifications/medical`. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/notifications/alarms?type=deviceAlarm&severity=RED&sort=newest' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```