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

201701 Resource Subscription Track

From HL7Wiki
Jump to navigation Jump to search

Return to January 2017 Proposals

FHIR Resource Subscription Track

Submitting WG/Project/Implementer Group

FHIR Management Group (FMG) (Proposed)

Healthcare Services Platform Consortium (HSPC) (Proposed)

Justification

Proper workflow management and information orchestration is critical for any diverse and complex interoperable health IT ecosystem. A critical component of enabling effective workflow is the ability to receive updates on particular pieces of information of interest. For example, if a patient has a number of tests run during a specific encounter the results of those tests may not be immediately available. A provider that is interested in those results when they arrive could subscribe for notifications about the creation or updating of Observation resources that are associated with that encounter. Another example is where a provider may be interested in getting notifications on the progress of a specific patient’s condition.

FHIR currently provides a couple of different methods to do this:

  • Subscription – This enables a client to subscribe to notifications about updates to resources of interest.
  • History Interaction – A client can poll a server for the history of a particular resource, type of resource or all resources that have been created, updated, or deleted since a specified time.

About the Methods

Subscription

As part of the Workflow Module, the FHIR specification includes capabilities for a client to subscribe to receive notifications to resources that have been created or updated. The Subscription resource is used to define a push based subscription from a server to another system through a number of defined “channels”. The subscription includes criteria in the form of a search string that, when a resource is created or updated that match it, trigger a notification from the server through the channel specified in the original subscription request. Depending on the subscription request and channel, the notification may take the form of a simple reference, either to the search string or matching resource, or may include the content of the matching resources. One limitation of this approach is that the match criteria is run on the new version of the resource, which means that deletions do not cause notifications to be sent. Likewise, a notification will also not be sent if the new version does not meet the search criteria, even if the previous version did. This could cause a system to no longer receive notifications on resources that it had previously received notifications for.

History Interaction

The FHIR RESTful API Framework identifies a number of interactions that are available if a server chooses to support them. One such interaction is the history interaction, which can be used to retrieve the history of a particular resource, type of resource or all resources that have been created, updated, or deleted. Used in conjunction with its available parameters, a client system wishing to know what resources have been created/updated/deleted, can intermittently perform a history request including the _since parameter.


The purpose of this track is to gain more implementer experience with workflows needing some sort of synchronization or resource updates using the Subscription resource and history interaction polling method. This track can be used to juxtapose the two methods for possible assessment to develop further guidance on which method to use under which cases and identify areas where more definition may be needed in the specification and help move the subscription resource to a higher maturity level.


Proposed Track Lead

See Connectathon_Track_Lead_Responsibilities

Expected participants

Please sign up!

If you're working on a server, please complete the "servers" tab of the Signup Spreadsheet **This time around you'll need to update the `status` flag to indicate whether you've begun work (or completed work), so clients will know when to start testing.** You'll also share details about how a developer can obtain OAuth client credentials (`client_id` for public apps, or a `client_id` and `client_secret` for confidential apps) as well as user login credentials. You might consider simply sharing a set of fixed credentials in this spreadsheet, or else directing users to a web page where they can complete self-service registration. If absolutely necessary, you can ask developers to e-mail you directly.

If you're working on a client, please complete the "clients" tab of the Sprint 4 Spreadsheet. You'll also need to update the `status` flag to indicate whether you've begun work (or completed work).


Roles

Please include information here regarding how much advance preparation will be required if creating a client and/or server.

Subscription

FHIR Subscription Client

Enable creating, updating, and deleting of subscription resources that include a search string criteria.

FHIR Server, Subscription

Support the receiving and processing of subscription resources and provide notifications for resources through the requested channel (if the channel is supported).

Subscription Notification Receiver

Receive notifications from the server over the channel identified in the subscription resource. Query for the resource information if not provided in the notification payload. (NOTE: The notification receiver may, but does not have to, be the same as the subscription client, particularly considering the receiver may be a mobile device (SMS) or secure emailing system)

History Interaction

FHIR History Poling Client

A client that polls a server for the history of a particular resource, type of resource or all resources that have been created, updated, or deleted since a specified time.

FHIR Server, History

Support the history interaction providing a bundle with the matching resources.


Scenarios

Dedicated Zulip chat stream for this track.

1. Create an Active Subscription

Action: tbd
Precondition: tbd
Success Criteria: tbd
Bonus point: tbd

2. Search for Active Subscriptions

Action: tbd
Precondition: tbd
Success Criteria: tbd
Bonus point: tbd

3. Delete a Subscription

Action: tbd
Precondition: tbd
Success Criteria: tbd
Bonus point: tbd

4. Receive a Subscription Notification

Action: tbd
Precondition: tbd
Success Criteria: tbd
Bonus point: tbd

5. Retrieve a History Content Bundle for Observations

Action: tbd
Precondition: tbd
Success Criteria: tbd
Bonus point: tbd


TestScript(s)

The supporting TestScripts and corresponding fixtures will be committed to the FHIR SVN.

Help Links

Subscription Resource Definition