# List recent medical notifications

Canonical page: https://docs.ovok.com/api/slim/notifications/list-recent-medical-notifications

`GET /v1/slim/notifications/recent/medical`

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