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

Difference between revisions of "201805 FHIRcast"

From HL7Wiki
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 35: Line 35:
 
==Expected participants==
 
==Expected participants==
 
<!-- List of the individuals and/or organizations that have indicated a desire to attend the connectathon and implement this track -->
 
<!-- List of the individuals and/or organizations that have indicated a desire to attend the connectathon and implement this track -->
Sectra, Epic, Siemens
+
Sectra, Epic, Siemens, Agfa, University of Applied Sciences Upper Austria, John Moerke
  
 
==Roles==
 
==Roles==
Line 41: Line 41:
 
===Hub===
 
===Hub===
 
The Hub manages users' sessions, accepts subscriptions, is responsible for notifications and is closely aligned with the SMART server and FHIR server.
 
The Hub manages users' sessions, accepts subscriptions, is responsible for notifications and is closely aligned with the SMART server and FHIR server.
* todo
+
* Must accept new subscriptions.
 +
* Must verify subscribed callback urls.
 +
* Must POST notifications to subscribed callback urls.
  
===Subscribing client===
+
===Subscriber===
Subscribes to user's session and gets updates.
+
Subscribes to a user's session topic on the hub, receives and processes event notifications.
* todo
+
* Must request subscription to topic and events on hub url.
 +
* Must respond to url verification.
 +
* Must accept event notification.
  
 
==Scenarios==
 
==Scenarios==
===Create Subscription via SMART launch===
 
:Action: Subscribing client launches from .
 
: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.
 
: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"===
+
===Subscriber creates new subscription; hub respond with 202===
:Action: FHIR Server notifies Subscribing client by pushing a FHIR resource to the endpoint identified in the subscription resource instance.  
+
:Action: Subscriber POSTs WebSub subscription request to hub for a specific hub.topic and hub.events.
:Precondition: Create FHIR Subscription scenario
+
:Precondition: Subscriber must know hub base url, hub.topic (session identifier) and supported events. Use ''open-patient-chart'', ''close-patient-chart'' for events for connectathon.
:Success Criteria: FHIR server pushes FHIR payload of relevant resource using REST Hook when the subscribed event occurs in the FHIR server..  
+
:Success Criteria: Hub persists subscription.  
 
:Bonus point: n/a
 
:Bonus point: n/a
  
===FHIRcast===
+
===Subscriber is notified of user session change per subscription===
:Action: FHIR Server notifies Subscribing client by pushing a FHIR resource to the endpoint identified in the subscription resource instance.  
+
:Action: Hub/Publisher POSTs notification to subscriber for a subscribed event and topic/session.
:Precondition: Previous two scenarios; FHIR Server publishes workflow-type EventDefinition named "patient-chart-open" as described by [http://fhircast.org/index.html#app-subscribes-to-usersession-changes FHIRcast].
+
:Precondition: Subscriber subscribes correctly, see previous scenario.
:Success Criteria: FHIR server pushes UserSession using REST Hook when the subscribed event occurs in the FHIR server. Subscribing client changes its UI to match the patient-chart-open event.
+
:Success Criteria: Subscriber responds with 2xx code.
:Bonus point: FHIR Server detects error scenario and reacts according to its own configuration.
+
:Bonus point: Subscriber validates X-Hub-Signature.
 +
:Bonus point*10: Subscriber changes its UI to match the patient-chart-open event.
 +
 
 +
===Subscriber is notified of topic/session id, hub url during SMART app launch from Hub===
 +
:Action: Subscribing client launches from Hub, according to SMART EHR launch.
 +
:Precondition: n/a
 +
:Success Criteria: Subscriber receives hub base url and hub.topic in SMART launch and performs scenario #1.
 +
:Bonus point*100: Subscriber launches using SMART standalone launch.

Latest revision as of 21:20, 3 May 2018


FHIRcast

Dedicated Zulip chat stream for this track.

Previous FHIRcast Connectathons

Submitting WG/Project/Implementer Group

Imaging Integration, FHIR-I, CDS

Justification

The Imaging Integration working group is sponsoring a project to create a new context synchronization profile called FHIRcast (FHIR-I and CDS are co-sponsors).

We're working within the RIS/PACS community to identify a common, lightweight application synchronization standard.

Following implementer feedback at the January Connectathon, we altered the draft spec from a new UserSession FHIR resource and FHIR Subscriptions. This track is an important step in validating and advancing the maturity of the new interactions and resources associated with both FHIRcast. This updated specification is under active review in the community.

This track will prototype this workflow synchronization using a webhooks pattern with FHIR as the underlying content data model according to the draft FHIRcast specification.

Proposed Track Lead

See Connectathon_Track_Lead_Responsibilities

Isaac Vetter

FHIR version

STU3

Expected participants

Sectra, Epic, Siemens, Agfa, University of Applied Sciences Upper Austria, John Moerke

Roles

Hub

The Hub manages users' sessions, accepts subscriptions, is responsible for notifications and is closely aligned with the SMART server and FHIR server.

  • Must accept new subscriptions.
  • Must verify subscribed callback urls.
  • Must POST notifications to subscribed callback urls.

Subscriber

Subscribes to a user's session topic on the hub, receives and processes event notifications.

  • Must request subscription to topic and events on hub url.
  • Must respond to url verification.
  • Must accept event notification.

Scenarios

Subscriber creates new subscription; hub respond with 202

Action: Subscriber POSTs WebSub subscription request to hub for a specific hub.topic and hub.events.
Precondition: Subscriber must know hub base url, hub.topic (session identifier) and supported events. Use open-patient-chart, close-patient-chart for events for connectathon.
Success Criteria: Hub persists subscription.
Bonus point: n/a

Subscriber is notified of user session change per subscription

Action: Hub/Publisher POSTs notification to subscriber for a subscribed event and topic/session.
Precondition: Subscriber subscribes correctly, see previous scenario.
Success Criteria: Subscriber responds with 2xx code.
Bonus point: Subscriber validates X-Hub-Signature.
Bonus point*10: Subscriber changes its UI to match the patient-chart-open event.

Subscriber is notified of topic/session id, hub url during SMART app launch from Hub

Action: Subscribing client launches from Hub, according to SMART EHR launch.
Precondition: n/a
Success Criteria: Subscriber receives hub base url and hub.topic in SMART launch and performs scenario #1.
Bonus point*100: Subscriber launches using SMART standalone launch.