SlimSlim/Notifications

List recent out-of-bed notifications

  • Sandbox: available
  • Staging: available
  • Production: unknown
GET
/v1/slim/notifications/recent/oob

Lists the newest active out-of-bed notifications for your project. Use it for an out-of-bed notification bell.

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

  • Out-of-bed alerts are episodes Signals decides (code 103214-3); Ovok reads them from Signals and adds the resident context. Medical notifications are not here: read GET /v1/slim/notifications/recent/medical for those, so one event is never counted by both bells.
  • Returns at most count rows (1 to 50, default 20): the newest unacknowledged episodes not closed by hand, by last firing, from the first 200 Signals holds for the last year.
  • deviceName and locationName name the device the alert was raised on and its room's current name, also after the resident moved to another device or was unassigned.
  • total counts every active row in those 200, capped at the list result cap (1,000 by default). warm is true and source is signals.
  • An episode that has ended but has not been acknowledged stays active, and so stays in this bell, until someone acknowledges it with PATCH /v1/slim/notifications/{id}/ack.
  • While Signals is unavailable, the bell answers the last page Signals gave it for your project, up to 10 minutes old and cut to count. An acknowledgement drops that page, so an acknowledged row never comes back. With no page kept, it answers 503 with signals_unavailable; retry after retryAfterSec.

Example

curl -X GET 'https://api.sandbox.ovok.com/v1/slim/notifications/recent/oob?count=20' \  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'

Authorization

bearer
headerAuthorizationBearer <JWT>

Query Parameters

count?integer
Range1 <= value <= 50
Default20

Response Body

Recent out-of-bed notifications retrieved successfully.

application/json
  1. response
recent*array<>
total*integer
Range0 <= value
warm*boolean
source*string
Value in"redis""fhirStore""signals"
Example Request
curl -X GET 'https://api.sandbox.ovok.com/v1/slim/notifications/recent/oob'
Example Response
{  "recent": [    {      "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"    }  ],  "total": 0,  "warm": true,  "source": "redis"}

List recent medical notifications GET

Lists the newest open, unacknowledged medical notifications for your project. Use it for a medical notification bell. Medical episodes are decided by Signals; Ovok reads them from Signals and adds the resident context. **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 `Patient:read`, `Device:read` and `Location:read` (an admin or super admin who holds no access policy skips this check). **Scope:** The caller's project (from the token), applied on both sides: Signals filters on the resident's project stamp, and Ovok checks each resolved resident against your project. ## Behaviour - The filter is fixed by the server: open, unacknowledged episodes, newest last notification first (`episode.lastFiringAt`, or `episode.openedAt` when that is null), at most `count` (1 to 50, default 20). Every row's `episode.status` is `OPEN`. An episode leaves the bell when it closes, whether or not anyone acknowledged it. Closed episodes stay in `GET /v1/slim/notifications/medical`, where they can still be acknowledged with `POST /v1/slim/notifications/medical/{episodeId}/ack`. - An open episode is listed however many closed episodes fired after it. - Rows have the same shape as `GET /v1/slim/notifications/medical`, including `episode.firedBand`. - `nextCursor` is set when the page is full, so more open, unacknowledged episodes may exist. A bell can ignore it. - A resident who cannot be resolved into your project is left out, so a page can hold fewer than `count` rows. - A resident with no Signals project stamp matches no project and does not appear. - When the project's Signals tenant has episodic alerts switched off, the list is empty. - A 503 with `signals_unavailable` means Signals could not be reached, not that there are no notifications; retry after `retryAfterSec`. - Out-of-bed is not here; read `GET /v1/slim/notifications/recent/oob`. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/notifications/recent/medical?count=20' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ```

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' ```