This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

210901 FHIR Subscriptions

From HL7Wiki
Revision as of 15:37, 9 January 2019 by Jenni syed (talk | contribs)
Jump to navigation Jump to search


FHIR Subscriptions

All Registration and tracking will be done in the connectathon managment app: http://conman.fhir.org/connectathon.html?event=sanant2019

Dedicated Zulip chat stream for this track.

  • Track orientation slides: (TODO)

Previous Subscriptions Connectathons

Submitting WG/Project/Implementer Group

FHIR-I

Justification

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

See Connectathon_Track_Lead_Responsibilities

Jenni Syed

FHIR version

R4

Expected participants

Cerner, Jenni Syed & Max Philips

Roles

FHIR Server

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.

Subscribing client

Subscribes to FHIR server and gets updates.

  • Must create a Subscriptions instance on external FHIR server.
  • Must expose an endpoint to accept notifications.

Scenarios

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.

Create FHIR Subscription with Authentication (Bonus)

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.

Server authenticates and notifies client (Bonus)

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.