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

201901 FHIRcast

From HL7Wiki
Revision as of 22:47, 14 November 2018 by Isaacvetter (talk | contribs) (create)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


FHIRcast

Dedicated Zulip chat stream for this track.

FHIRCast Orientation Slides

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 standardize FHIRcast as the common, lightweight application synchronization standard. This connectathon is one of the last major pushes for feedback on the specification before an STU ballot at the May, 2019 working group meeting.

This track will prototype this workflow synchronization using a webhooks pattern with FHIR as the underlying content data model according to the specification: https://fhircast.org

Proposed Track Lead

See Connectathon_Track_Lead_Responsibilities

Isaac Vetter

Track planning, coordination teleconference info

Thursday, January 3, 2019 - 9:00 am - 10:00 am Central

Webex meeting - Click the link to open the meeting in webex.

  • Meeting number (access code): 288 473 833
  • Meeting password: jDVKZZq4

Join from a video system or application

Join by phone


FHIR version

STU3

Expected participants

Sectra, Epic, Siemens, Agfa, <your name here!>

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.
  • Must accept context change requests from subscribers and respond with a valid HTTP status.

Subscriber

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

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 requests user session change

Action: Subscriber POSTs context change request to Hub's topic url.
Precondition: Subscriber subscribes correctly, see initial scenario.
Success Criteria: Hub responds with 2xx code.
Bonus point: Hub accepts context change and broadcasts corresponding notification.
Bonus point: Hub rejects context change and subscriber handles synchronization failure.

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

Action: Subscribing client launches from Hub, according to SMART EHR launch.
Precondition: n/a
Success Criteria: Subscriber requests fhircast scope and receives hub base url and hub.topic in SMART launch and performs scenario #1.

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

Action: Subscribing client initiates SMART standalone launch using Hub's OAuth2 server, according to SMART EHR launch.
Precondition: n/a
Success Criteria: Subscriber requests fhircast scope and receives hub base url and hub.topic in SMART launch and performs scenario #1.
Bonus point: Subscriber evalutes multiple returned sessions and chooses between them.