201809 FHIR Subscriptions
Dedicated Zulip chat stream for this track.
Previous Subscriptions Connectathons
Submitting WG/Project/Implementer Group
This track is an important step in advancing the maturity of the interactions and resources associated with FHIR Subscriptions.
The subscription pub/sub pattern enables FHIR clients to retrieve data from a server without performing a more expensive periodic polling queries.
Proposed Track Lead
Cerner, <your name here!>
The FHIR Server supports the Subscription resource and notifying subscribed clients of changes.
- Must expose a Subscriptions resource supporting read, create and update.
- Must also act as a client to send notifications.
Subscribes to FHIR server and gets updates.
- Must create a Subscriptions instance on external FHIR server.
- Must expose an endpoint to accept notifications.
Create FHIR Subscription
- Action: Subscribing client creates a Subscription instance on FHIR Server.
- Precondition: n/a
- Success Criteria: Subscribing client POSTs new subscription resource to FHIR server specifying a criteria and a channel.type of rest-hook. FHIR Server persists active subscription resource. Subscribing client can read newly created Subscription.
- Bonus point: Subscribing client updates Subscription instance's status element to _off_ once the subscription is no longer needed. FHIR server respects this setting.
REST Hook notifies client
- Action: FHIR Server notifies Subscribing client by POSTing to the endpoint identified in the subscription resource instance.
- Precondition: Create FHIR Subscription scenario
- Success Criteria: FHIR server POSTs when the criteria in the Subscription is met within the FHIR server.
Argonaut Patient Scheduling prefetch
Subscribe to Schedule using Argonaut extension
- Action: Client subscribes to Schedule per Argonaut Patient Scheduling IG.
- Precondition: n/a
- Success Criteria: Subscribing client POSTs new subscription resource, including Schedule identifier in _criteria to FHIR server. Subscription.channel.type is rest-hook and Subscription.channel.payload is application/fhir+json. FHIR Server persists active subscription resource. Subscribing client can read newly created Subscription.
Notify client of Slot change
- Action: FHIR Server notifies subscribers by POSTing a Schedule resource to the endpoint identified in the subscription, according to Argonaut Patient Scheduling.
- Precondition: FHIR Subscription created.
- Success Criteria: FHIR server POSTs a FHIR Schedule for the modified Slot, to the subscribing client when the criteria is met in the FHIR server.
- Bonus point: Subscriber subsequently fetches Slots associated with Schedule from notification.
Please discuss/explore this tracker issue: