Detailed Profile Proposal: Publish Subscribe for XDS: Difference between revisions

From IHE Wiki
Jump to navigation Jump to search
Vassil (talk | contribs)
No edit summary
JohnMoehrke (talk | contribs)
No edit summary
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
{|border="1" cellspacing="0" style="background:lightyellow; color:blue"
||The current published version of an ITI White Paper on this topic can be found at the [http://www.ihe.net/Technical_Framework/upload/IHE_ITI_Whitepaper_XDS-b_pub_sub_2008_08_22.pdf IHE web site]. The general [[ITI Publish Subscribe]] wiki page contains the most up-to-date information on this topic.
|}
__NOTOC__
__NOTOC__
==1. Proposed Profile: Publish/Subscribe Infrastructure for XDS''==
==1. Proposed Profile: Publish/Subscribe Infrastructure for XDS''==
Line 28: Line 32:
''Existing systems'': EHR systems, registries, repositories.
''Existing systems'': EHR systems, registries, repositories.


''<List relevant standards'':<br />
''Relevant standards'':<br />
[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=regrep#technical ebXML Registry standard, v3.0.1]<br />
[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=regrep#technical ebXML Registry standard, v3.0.1]<br />
[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsn#technical OASIS WS-Notification standard, v. 1.3]<br />
[http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsn#technical OASIS WS-Notification standard, v. 1.3]<br />
Line 34: Line 38:


==5. Technical Approach==
==5. Technical Approach==
''<This section can be very short but include as much detail as you like. The Technical Committee will flesh it out when doing the effort estimation.>''
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.
 
''<Outline how the standards could be used/refined to solve the problems in the Use Cases.  The Technical Committee will be responsible for the full design and may choose to take a different approach, but a sample design is a good indication of feasibility.>''


''<If a phased approach would make sense indicate some logical phases.  This may be because standards are evolving, because the problem is too big to solve at once, or because there are unknowns that won’t be resolved soon.>''
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.


===Existing actors===
===Existing actors===
''<Indicate what existing actors could be used or might be affected by the profile.>''
''Actors affected'': Document Source, Document Consumer, Document Repository, Document Registry


===New actors===
===New actors===
''<List possible new actors>''
''New Actors'': Subscriber, Notification Broker, Publisher


===Existing transactions===
===Existing transactions===
''<Indicate how existing transactions might be used or might need to be extended.>''
One possible approach is to enhance Stored Query, and Provide and Register


===New transactions (standards used)===
===New transactions (standards used)===
''<Describe possible new transactions (indicating what standards would likely be used for each.  Transaction diagrams are very helpful here.  Feel free to go into as much detail as seems useful.>''
Likely new transactions are:<br />
Publish
Subscribe
Unsubscribe


===Impact on existing integration profiles===
===Impact on existing integration profiles===
''<Indicate how existing profiles might need to be modified.>''
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===
===New integration profiles needed===
''<Indicate what new profile(s) might need to be created.>''
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===
===Breakdown of tasks that need to be accomplished===
''<A list of tasks would be helpful for the technical committee who will have to estimate the effort required to design, review and implement the profile.>''
# 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==
==6. Support & Resources==
''<List groups that have expressed support for the proposal and resources that would be available to accomplish the tasks listed above.>''
Vassil Peytchev/Epic<br />
Others/TBD


==7. Risks==
==7. Risks==
''<List technical or political risks that will need to be considered to successfully field the profile.>''
Technical Risks:
# 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==
==8. Open Issues==
Line 82: Line 96:
Candidate Editor:
Candidate Editor:
: TBA
: TBA
[[Category:ITI Proposal]]

Latest revision as of 14:26, 10 October 2013

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

Summary

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.

Relevant standards:
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.

Existing actors

Actors affected: Document Source, Document Consumer, Document Repository, Document Registry

New actors

New Actors: Subscriber, Notification Broker, Publisher

Existing transactions

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

  1. Evaluate the balance between generic vs. XDS-specific approach
  2. Evaluate availability and maturity of standards
  3. Describe the responsibilities of each actor
  4. Describe the constraints on the standards-based transactions
  5. Define the semantics of publish/subscribe within the XDS-[a,b] profile
    1. Define the method of describing the topics
    2. Determine the topics used for publish/subscribe for XDS

6. Support & Resources

Vassil Peytchev/Epic
Others/TBD

7. Risks

Technical Risks:

  1. Scope of the solution: neither a very narrow, nor a very broad scope will promote the successful implementation of this proposal.
  2. 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

Candidate Editor:

TBA