FHIR subscriptions

FHIR Subscriptions and Healthcare Event Notifications

Create a FHIR Subscription resource with a `criteria` (any FHIR REST search expression) and a `channel`. Server pushes notifications to that channel when matching resources are created or updated.

Who this is for

Teams building notification pipelines, event-driven integrations, and operations dashboards.

Clinical applicability

A subscription on `Task?status=ready` notifies the patient app when a questionnaire is due. A subscription on `Task?status=failed` emails the operations team. A subscription on `DiagnosticReport?status=final` pushes to an Azure Storage Queue for downstream analytics.

Channels

`rest-hook` POSTs to a URL of your choice with a configurable payload format and headers. `email` sends to a `mailto:` endpoint. `websocket` pushes notifications over a WebSocket connection at `/websocket`. `message` writes to an Azure Storage Queue for decoupled async processing.

Defining a subscription

Subscriptions are FHIR resources, created with a normal `POST /fhir/Subscription`. The `criteria` field uses standard FHIR REST search syntax. The `channel.type` selects the delivery transport. The `end` field gates how long the subscription stays active. The `subscribe` operation in the authorization layer controls who can create subscriptions on which resources.

Where they fit in the event pipeline

Subscriptions and CarePlan scheduling pair naturally: scheduled Tasks transition to `ready`, a subscription fires, and the consumer (mobile app, ops dashboard, downstream service) reacts. Subscriptions are not an authorization boundary on their own; consumers still need credentials to fetch the referenced resources, and authorization rules still apply on those reads.

FAQ

What format does the rest-hook payload use?

Configurable per subscription via `channel.payload`. Common values are `application/fhir+json` (full resource) and an empty payload (notification only, consumer fetches the resource).

Are deliveries retried?

Yes, with backoff. Persistent failures are surfaced through the Subscription's status and can themselves be the subject of a `Subscription?status=error` notification for the operations team.

Are subscriptions available on Fire Arrow Core?

On Core, subscriptions follow whatever the upstream FHIR service provides. Azure Health Data Services, for example, sends change events to Event Grid. Server provides the channel set listed above directly.