Skip to main content

List out-of-bed notifications

MethodPath
GET/v1/slim/notifications/oob

Authentication · Access policies

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 (admins and super admins skip 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 type parameter. Prefer this route over the deprecated GET /v1/slim/notifications?type=outOfBed.
  • status defaults to active. An episode that has ended but has not been acknowledged stays active, 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, then authoredOn, then id).
  • patient takes a Patient id or Patient/{id}. device takes 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.
  • startDate and endDate are inclusive ISO 8601 UTC instants, used exactly as sent. For status=active they bind to the last-updated time; for any other status, to authoredOn. Either may be omitted. A missing startDate defaults to one year back for status=active and 30 days back otherwise.
  • Paging: page from 0, count from 1 to 100 (default 25). total is 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 reads 0 if the count lookup fails; the rows are unaffected.
  • The list pages through at most the first 1,000 results (server-configurable). total is clamped to that cap. When the cap or the per-request scan limit stops a page short, truncated says why: { reason: 'result-cap', limit } or { reason: 'scan-budget', limit }. truncated is null when 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 ${OVOK_TOKEN}"

Successful response​

200 — Out-of-bed notifications retrieved successfully.

Errors​

StatusMeaning
401Bearer token is missing, invalid or expired.
403You are not a practitioner, admin or System Owner, you lack CommunicationRequest:read, CommunicationRequest:search or Observation:read, your session has no project, or you cannot access the project.
422A query parameter fails validation.
504A Medplum notification search timed out.