Skip to main content

Acknowledge medical notification

MethodPath
POST/v1/slim/notifications/medical/:episodeId/ack

Authentication · Access policies

Acknowledges one medical notification, so it leaves the medical bell. The acknowledgement is written to Signals, which owns medical episodes.

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 (admins and super admins skip this check). Scope: The caller's project (from the token). Ovok reads the episode with your project and checks its resident against your project before it writes anything.

Behaviour​

  • No CommunicationRequest is created or changed. Signals closes the episode with reason ACKNOWLEDGED. A resident still outside the band opens a new episode on their next reading.
  • Repeating the call is safe.
  • The response is the acknowledged row, in the feed's row shape, already carrying the new acknowledgement and closed status. Replace the list entry with it; no refetch is needed.
  • acknowledgement.acknowledgedBy is Ovok's client id at Signals, not a person; do not show it as a name. acknowledgement.acknowledgedActor is the caller's profile reference and display name, or null when the session has no profile.
  • Ovok clears its cached index of the project's open episodes, so other reads see the episode as closed straight away rather than after a cache expiry.
  • A 409 means the project's Signals tenant has episodic alerts switched off. A 503 (signals_unavailable) means the acknowledgement did not happen; repeat the call after retryAfterSec.

Example​

curl -X POST 'https://api.sandbox.ovok.com/v1/slim/notifications/medical/3f1c2b7e-8d4a-4c1e-9b2f-6a7d5e4c3b21/ack' \
-H "Authorization: Bearer ${OVOK_TOKEN}"

Successful response​

201 — The notification, now acknowledged.

Errors​

StatusMeaning
401Bearer token is missing, invalid or expired.
403You are not a practitioner, admin or System Owner, you lack Patient:read, your session has no project, or you cannot access the project.
404No episode with this id exists in your project, or its resident cannot be resolved into your project.
409The project's Signals tenant has episodic alerts switched off.