1 / 17

Event-Driven Data Exchange in XDS-b: A Comprehensive Guide to Pub/Sub Implementation

This white paper provides a detailed overview of event-driven data exchange using the Publish/Subscribe model within the context of XDS-b. It explores the purpose, structure, and actors involved in event notifications, including transactions and filters. Highlighting cross-enterprise use cases, the paper presents essential concepts, detailed transaction descriptions, and standards like WS-Eventing and ebXML. With its strong focus on practicality, this document paves the way for effective implementation and integration of the Pub/Sub mechanism for enhanced data coordination in healthcare settings.

Télécharger la présentation

Event-Driven Data Exchange in XDS-b: A Comprehensive Guide to Pub/Sub Implementation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Publish Subscribe for XDS-b Vassil Peytchev Epic Systems Corporation

  2. Overview • Purpose • Structure • Actors • Transactions • Filters • Next steps

  3. Purpose of the white paper • Event-driven data exchange • Coordination of event notifications • Cross-enterprise use cases • Why a white paper?

  4. Pub/Sub for XDS-b • Cross-enterprise focus • “Trial specification” • Implementable detail

  5. White Paper Structure • Present general concepts • Link concepts to XDS-b • Present overall transaction flow • Detailed transaction descriptions

  6. Choosing a standard • WS-Eventing • WS-Notification • ebXML Registry Services

  7. Publish/subscribe actors • Subscriber • Notification Broker • Notification Consumer • Publisher • Possible actor groupings

  8. Actors and Transactions

  9. Transactions • Subscribe • Request notifications for a particular type of event • Event is described as a filter based on topics • Notify • Send a notification about a specific event

  10. Subscribe • Sent on behalf of a Notification Consumer • Used to • Initiate a subscription • Modify a subscription • Terminate a subscription • Contents described later

  11. Notify • Send to Notification Consumer • Contains • Document Unique ID • Optionally Home Community ID • A document consumer needs to query the registry, and retrieve the document

  12. Subscription Request Contents • Topics and filter expressions • Stored query expressions • Patient-centric queries only • All parameters must match • At least one of the values of a multi-valued parameter must match

  13. Example • Stored Query <rim:AdhocQuery id="urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d" xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"> <rim:Slot name="$XDSDocumentEntryPatientId"> <rim:ValueList> <rim:Value>'st3498702^^^&1.3.6.1.4.1.21367.2005.3.7&ISO'</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="$XDSDocumentEntryEventCodeList"> <rim:ValueList> <rim:Value>('44950' '44955' '44960' '44970' '44979')</rim:Value> </rim:ValueList> </rim:Slot> </rim:AdhocQuery>

  14. Example (continued) • Registry submission <rim:RegistryObjectList> <rim:ExtrinsicObject id="Document01" mimeType="text/xml" objectType="urn:uuid:7edca82f-054d-47f2-a032-9b2a5b5186c1"> ... <rim:Classification classificationScheme="urn:uuid:2c6b8cb7-8b2a-4051-b291-b1ae6a575ef4" classifiedObject="Document01" nodeRepresentation="44950"> <rim:Name> <rim:LocalizedString value="Appendectomy"/> </rim:Name> <rim:Slot name="codingScheme"> <rim:ValueList> <rim:Value>CPT codes</rim:Value> </rim:ValueList> </rim:Slot> </rim:Classification> ... <rim:ExternalIdentifier id="ei01" registryObject="Document01" identificationScheme="urn:uuid:58a6f841-87b3-4a3e-92fd-a8ffeff98427" value="'st3498702^^^&amp;1.3.6.1.4.1.21367.2005.3.7&amp;ISO'"> <rim:Name> <rim:LocalizedString value="XDSDocumentEntry.patientId"/> </rim:Name> </rim:ExternalIdentifier> ... <rim:ExtrinsicObject> </rim:RegistryObjectList>

  15. Example (Continued) • Subscribe request <wsnt:Subscribe> <!-- The Consumer on whose behalf the subscription is requested - the address where the notification is to be sent --> <wsnt:ConsumerReference> <a:Address>https://NotificationConsumerServer/xdsBnotification</a:Address> </wsnt:ConsumerReference> <wsnt:Filter> <wsnt:TopicExpression Dialect="urn:ihe:iti:xds-b:pubsub:2008"> <rim:AdhocQuery id="urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d"> <rim:Slot name="$XDSDocumentEntryPatientId"> <rim:ValueList> <rim:Value>'st3498702^^^&1.3.6.1.4.1.21367.2005.3.7&ISO'</rim:Value> </rim:ValueList> </rim:Slot> <rim:Slot name="$XDSDocumentEntryEventCodeList"> <rim:ValueList> <rim:Value>('44950' '44955' '44960' '44970' '44979')</rim:Value> </rim:ValueList> </rim:Slot> </rim:AdhocQuery> </wsnt:TopicExpression> </wsnt:Filter> <wsnt:InitialTerminationTime>2008-07-31T00:00:00.00000Z</wsnt:InitialTerminationTime> </wsnt:Subscribe>

  16. Next steps • Implementable white paper • Connectathon participation • Feedback • Refinement • Path to a profile • ITI integration profile • Multiple content profiles for filters

More Related