Detailed Profile Proposal: Publish Subscribe for XDS
|The current published version of an ITI White Paper on this topic can be found at the IHE web site. The general ITI Publish Subscribe wiki page contains the most up-to-date information on this topic.|
1. Proposed Profile: Publish/Subscribe Infrastructure for XDS
- Proposal Editor: Vassil Peytchev
- Profile Editor: Vassil Peytchev
- Date: N/A (Wiki keeps history)
- Version: N/A (Wiki keeps history)
- Domain: ITI
Event driven information exchange patterns dominate the data interchange in most healthcare settings. For example, most HL7 version 2.x interfaces send messages based on events within the sender's system. Most current IHE profiles assume either static, out-of-band determination of the senders and receivers of event driven information exchange, or describe query-response patterns. There is a need for a profiled dynamic infrastructure for event-driven information exchange patterns within IHE. This profile will describe such a framework based on the publish-subscribe data exchange model.
OASIS has published the WS-Notification standards for web-services based publish-subscribe data exchange. The update of that work is under way in the W3C under the WS-Eventing submission. The range of solutions can range from creating guidelines for publish/subscribe within IHE, and specifying the XDS-[a,b] solution (similar to the XUA profile development), through profiling the WS-* specifications with the intent of using the solution beyond just XDS, to specific solution for XDS-[a,b].
Profiling a Publish/Subscribe infrastructure for XDS will have various positive impacts on XDS-[a,b] implementation.
2. The Problem
The IHE XDS profiles require Document Consumers to constantly poll the Document Registry for new documents or updates to existing documents in cases when there is an expectation that additional documents may become available after an initial query. In many such cases a publish/subscribe method of receiving new information for patients of interest. In addition, the NAV profile assumes some kind of subscription method. Providing a consistent pub/sub framework will benefit various use cases where constant polling is not feasible.
3. Key Use Case
How it works with current XDS
Person A visits his PCP with week-old trauma to his foot. Concerned about possible fracture and infection, the PCP orders x-ray and a lab panel, and refers him to a specialist. Upon receiving the referral (which is out of scope here, see proposal for referral orders), the specialist queries the document registry, and received the referral summary. Noticing the outstanding radiology and lab orders, the specialist, or the staff at the specialist's practice, will have to periodically query the registry to retrieve the radiology and lab reports.
How it should work
Person A visits his PCP with week-old trauma to his foot. Concerned about possible fracture and infection, the PCP orders x-ray and a lab panel, and refers him to a specialist. Upon receiving the referral (which is out of scope here, see proposal for referral orders), the specialist queries the document registry, and received the referral summary. The specialist also subscribes for any additional information about the patient. As the radiology and lab reports are submitted to the registry, either a notification is sent to the specialist's system, or an online XDR transaction is exectuted.
4. Standards & Systems
Existing systems: EHR systems, registries, repositories.
ebXML Registry standard, v3.0.1
OASIS WS-Notification standard, v. 1.3
WS-Eventing W3C Submission
5. Technical Approach
There are two main parts to the design of publish/subscribe infrastructure. The first is the definition of the messages exchanged by the actors involved. The second is the definition of the topics used for subscriptions. One possible approach is to split the two parts into a profile for the first, and a white paper for the second.
Using the WS-Eventing submission will allow us to define the transactions for subscribing, unsubscribing, and publishing that can be re-used by other profiles. Another possible approach is to use existing XDS transactions (stored query, provide and register) and add the publish/subscribe semantics to these transactions.
Actors affected: Document Source, Document Consumer, Document Repository, Document Registry
New Actors: Subscriber, Notification Broker, Publisher
One possible approach is to enhance Stored Query, and Provide and Register
New transactions (standards used)
Likely new transactions are:
Publish Subscribe Unsubscribe
Impact on existing integration profiles
The initial scope is to describe Publish/Subscribe for XDS-[a,b]. They are possible relationships with the NAV profile, and the Asynch XDS proposal.
New integration profiles needed
The initial proposal is to have a new publish/subscribe profile, which is combined with the XDS-[a,b] profiles via combined actors.
Breakdown of tasks that need to be accomplished
- Evaluate the balance between generic vs. XDS-specific approach
- Evaluate availability and maturity of standards
- Describe the responsibilities of each actor
- Describe the constraints on the standards-based transactions
- Define the semantics of publish/subscribe within the XDS-[a,b] profile
- Define the method of describing the topics
- Determine the topics used for publish/subscribe for XDS
6. Support & Resources
- Scope of the solution: neither a very narrow, nor a very broad scope will promote the successful implementation of this proposal.
- Continuity of thrust: security needs to flow from publisher to subscriber
8. Open Issues
<Point out any key issues or design problems. This will be helpful for estimating the amount of work and demonstrates thought has already gone into the candidate profile.>
9. Tech Cmte Evaluation
<The technical committee will use this area to record details of the effort estimation, etc.>
Effort Evaluation (as a % of Tech Cmte Bandwidth):
- 35% for ...
Responses to Issues:
- See italics in Risk and Open Issue sections