Detailed Profile Proposal: Publish Subscribe for XDS
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.
<Summarize in a few lines how the problem could be solved. E.g. "A Radiation Dose profile could require compliant radiating devices to produce such reports and could define transactions to actors that collect, analyze and present such information.">
<Summarize in a line or two market interest & available resources. E.g. "Euratom and ACR have published guidelines requiring/encouraging dose tracking. Individuals from SFR are willing to participate in Profile development.">
<Summarize in a line or two why IHE would be a good venue to solve the problem. E.g. "The main challenges are dealing with the chicken-and-egg problem and avoiding inconsistent implementations.">
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
<Describe a short use case scenario from the user perspective. The use case should demonstrate the integration/workflow problem.>
<Feel free to add a second use case scenario demonstrating how it “should” work. Try to indicate the people/systems, the tasks they are doing, the information they need, and hopefully where the information should come from.>
<To focus on the end user requirements, and not just the solution mechanism, and to give people trying to understand the applications concrete examples of the problems existing and the nature of the solution required. State the problem domain and outline the workflows in terms of the people, tasks, systems and information involved. Feel free to describe both the current “problematic” workflow as well as a desirable future workflow where appropriate. Remember that other committee members reviewing the proposal may or may not have a detailed familiarity with this problem. Where appropriate, define terms.>
4. Standards & Systems
<List existing systems that are/could be involved in the problem/solution.>
<List relevant standards, where possible giving current version numbers, level of support by system vendors, and references for obtaining detailed information.>
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.>
<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.>
Existing actors
<Indicate what existing actors could be used or might be affected by the profile.>
New actors
<List possible new actors>
Existing transactions
<Indicate how existing transactions might be used or might need to be extended.>
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.>
Impact on existing integration profiles
<Indicate how existing profiles might need to be modified.>
New integration profiles needed
<Indicate what new profile(s) might need to be created.>
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.>
6. Support & Resources
<List groups that have expressed support for the proposal and resources that would be available to accomplish the tasks listed above.>
7. Risks
<List technical or political risks that will need to be considered to successfully field the profile.>
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
<Delete this Category Templates line since your specific Profile Proposal page is no longer a template.>