SlimSlim/Notifications

Acknowledge notification

  • Sandbox: available
  • Staging: available
  • Production: unknown
PATCH
/v1/slim/notifications/{id}/ack

Acknowledges one notification stored as a CommunicationRequest (out-of-bed, device alarm, attention press) by setting its status to completed. For a medical notification, use POST /v1/slim/notifications/medical/{episodeId}/ack instead.

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 (an admin or super admin who holds no access policy skips this check). No CommunicationRequest:update grant is needed. Scope: The CommunicationRequest is read with your own credentials and must belong to your project (from the token). Sub-projects are not included.

Behaviour

  • After those checks pass, Ovok writes the status change with its own credentials.
  • Acknowledging an already completed notification succeeds and changes nothing.
  • If the notification is updated at the same moment (for example by a new reading on the same episode), Ovok re-reads it and retries, keeping the newer content, up to three times.
  • The notification leaves the active lists and bells. The device's alert state in the live views is cleared.
  • Acknowledging a running out-of-bed episode stops that episode from raising the alert again. A new bed exit raises a new alert.
  • Answers 200 with the updated row, in the same shape as the list rows.
  • A 409 means the notification kept changing and all three attempts lost the race. Re-read it and call again.

Example

curl -X PATCH 'https://api.sandbox.ovok.com/v1/slim/notifications/c3499c27-2973-0a7f-807e-fb8676a92dcb/ack' \  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk'

Authorization

bearer
headerAuthorizationBearer <JWT>

Path Parameters

id*string
Formatuuid

Response Body

Notification acknowledged successfully.

application/json
  1. response
commId*string
patientId?string
patientName?string
deviceId?string
deviceName?string
deviceStatus?string
locationId?string
locationName?string
color?string
trigger?string
Value in"above""below"
type?string
Value in"hr""br""outOfBed""deviceAlarm""attention"
status?string
Value in"draft""active""on-hold""revoked""completed""entered-in-error""unknown"
details?
authoredOn?string
Formatdate-time
alertCount?integer
Range0 <= value
occurrenceDateTime?string
Formatdate-time
episodeEndedAt?string
Formatdate-time
effectiveTimestamp?string
Formatdate-time
latestObservationTimestamp?string
Formatdate-time
alarm*
noteCount*integer
Range0 <= value
closeReason*string
Example Request
curl -X PATCH 'https://api.sandbox.ovok.com/v1/slim/notifications/497f6eca-6276-4993-bfeb-53cbbbba6f08/ack'
Example Response
{  "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"}

Replace a note's text PUT

Changes a note's text. A note is a practitioner's comment on a notification, stored as a FHIR `Communication` whose `basedOn` points at the alert. The alert itself is never changed. **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` (an admin or super admin who holds no access policy skips this check). Only the note's author can change it. **Scope:** The caller's project (from the token). An alert or note from another project, of another kind, or that does not exist answers the same 404. ## Behaviour - Same effect as `PATCH`: a note's text is the only field a caller can change. - `text` is trimmed and must be 1 to 2000 characters. - If the note changed while your edit was in flight, the route answers 409. Reload the note and try again. ## Example ```bash curl -X PUT 'https://api.sandbox.ovok.com/v1/slim/notifications/notes/c3499c27-2973-0a7f-807e-fb8676a92dcb' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' \ -H 'Content-Type: application/json' \ -d '{ "text": "Resident was in the bathroom; back in bed 02:14." }' ```

Get organization GET

Returns one organization (a zone in the Slim dashboard) by id. Use it to show or edit a zone. **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 `Organization:read` (an admin or super admin who holds no access policy skips this check). **Scope:** The organization is read with the caller's own token, so you get any organization your Medplum access lets you read. There is no extra project check on this route. ## Behaviour - Read-only. - `description` is the organization's narrative text with the XHTML `<div>` wrapper removed. It is absent when the organization has no narrative. - `parentOrganizationId` is the id from `Organization.partOf`. It is absent for a top-level zone. ## Example ```bash curl -X GET 'https://api.sandbox.ovok.com/v1/slim/organization/c3499c27-2973-0a7f-807e-fb8676a92dcb' \ -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NjcyNjg4MDAsImV4cCI6MTc2NzI3MjQwMH0.Ql3B_ztDvctlyZ2z0vp4sl3ExXRQGkzmxdmTAqxNzZk' ``` ```json { "id": "c3499c27-2973-0a7f-807e-fb8676a92dcb", "name": "Ward A", "parentOrganizationId": "87ea5dfc-8b8e-384d-8489-79496e706390", "description": "Ground floor" } ```