This wiki has undergone a migration to Confluence found Here

Difference between revisions of "201809 FHIR Subscriptions"

From HL7Wiki
Jump to navigation Jump to search
m (→‎FHIR Server: fix typo)
(→‎Scenarios: don't assume payload)
Line 48: Line 48:
 
:Action: Subscribing client creates a Subscription instance on FHIR Server.  
 
:Action: Subscribing client creates a Subscription instance on FHIR Server.  
 
:Precondition: n/a
 
:Precondition: n/a
:Success Criteria: Subscribing client POSTs new subscription resource to FHIR server. FHIR Server persists active subscription resource. Subscribing client can read newly created Subscription.  
+
: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.
 
: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 with payload of "payload": "application/fhir+json"===
+
===REST Hook notifies client===
:Action: FHIR Server notifies Subscribing client by pushing a FHIR resource to the endpoint identified in the subscription resource instance.  
+
:Action: FHIR Server notifies Subscribing client by POSTing to the endpoint identified in the subscription resource instance.  
 
:Precondition: Create FHIR Subscription scenario
 
:Precondition: Create FHIR Subscription scenario
:Success Criteria: FHIR server pushes FHIR payload of relevant resource using REST Hook when the subscribed event occurs in the FHIR server..  
+
:Success Criteria: FHIR server POSTs when the criteria in the Subscription is met within the FHIR server.
  
 
=== Argonaut Patient Scheduling prefetch ===
 
=== Argonaut Patient Scheduling prefetch ===
Line 63: Line 63:
  
 
==== Notify client of Slot change====
 
==== Notify client of Slot change====
:Action: FHIR Server notifies subscribers by pushing a FHIR Schedule resource to the endpoint identified in the subscription, according to [http://www.fhir.org/guides/argonaut/scheduling/patient-scheduling.html#usage-7 Argonaut Patient Scheduling].  
+
:Action: FHIR Server notifies subscribers by POSTing to the endpoint identified in the subscription, according to [http://www.fhir.org/guides/argonaut/scheduling/patient-scheduling.html#usage-7 Argonaut Patient Scheduling].  
 
:Precondition: FHIR Subscription created
 
:Precondition: FHIR Subscription created
:Success Criteria:  FHIR server pushes FHIR payload of relevant resource using REST Hook when the subscribed event occurs in the FHIR server.
+
:Success Criteria:  FHIR server POSTs to subscribing client when the criteria is met in the FHIR server.
 
:Bonus point: Subscriber subsequently fetches Slots associated with Schedule from notification.
 
:Bonus point: Subscriber subsequently fetches Slots associated with Schedule from notification.
  
 
==Notes==
 
==Notes==
 
Please discuss/explore this tracker issue: [https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=14646]
 
Please discuss/explore this tracker issue: [https://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=14646]

Revision as of 14:04, 31 August 2018


FHIR Subscriptions

Dedicated Zulip chat stream for this track.

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

STU3

Expected participants

Cerner, <your name here!>

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.

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. 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 to the endpoint identified in the subscription, according to Argonaut Patient Scheduling.
Precondition: FHIR Subscription created
Success Criteria: FHIR server POSTs to subscribing client when the criteria is met in the FHIR server.
Bonus point: Subscriber subsequently fetches Slots associated with Schedule from notification.

Notes

Please discuss/explore this tracker issue: [1]