140 likes | 325 Views
HL7 version 3. Special Topics: Transmission Layer. Scope: transmission layer, webservices. Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/HL7v3_implementation.zip. Service Oriented Architectures vs. Transport.
E N D
HL7 version 3 Special Topics: Transmission Layer Scope: transmission layer, webservices Slide contents published under the Creative Commons / Attribute-Share Alike license Source: www.ringholm.de/download/HL7v3_implementation.zip
Service Oriented Architectures vs. Transport • There are two conceptual viewpoints (both valid) • Implementing a general SOA framework (common infrastructure, tools and approaches). "HL7 is just another content type" • Implementing an HL7 based messaging architecture that can use different messaging and transports. "Webservices is just another transport type" • The first tends to lead to the conclusion that HL7 should just define content. The second tends to lead to HL7 defining the whole stack. This leads to the following key questions: • How do the worlds of SOA and HL7 V3 messaging intersect? • How can we maximize the benefits of both approaches? See http://en.wikipedia.org/wiki/Service-oriented_architecture
Application Layer Hosts the application logic Processing of the HL7 Messages Holds the state of the business collaboration Implements a specific functionality and/or application role(s)
Communication Web Services and ebXml EBMS are common protocols for B2B communication Both commercial and open source implementations available Web Services at the base of SOA HL7 today profiles the use of MLLP for v2 and v3 ebXml for v2 and v3 Web Services for v3
WS (R1): Mapping the Wrappers <soap:Envelope ...> <soap:Header> <wsa:Action>urn:hl7-org:v3/PRPA_AR101001UV01_PRPA_IN101001UV01</wsa:Action> <wsa:MessageID> uuid:aaaabbbb-cccc-dddd-eeee-ffffffffffff </wsa:MessageID> <wsa:ReplyTo> <wsa:Address>http://placerlocation/PRPA_AR101001UV01</wsa:Address> </wsa:ReplyTo> <wsa:To> http://fulfillerlocation/PRPA_AR101002UV01</wsa:To> <hl7:receiverDeviceIdRoot>2.16.840.1.113883.19.9</hl7:receiverDeviceIdRoot> <hl7:receiverDeviceIdExtension>922</hl7:receiverDeviceIdExtension> ... </soap:Header> <soap:Body> <PRPA_IN101001UV01 xmlns="urn:hl7-org:v3" ...> <id extension="3948375" root="2.16.840.1.113883.19.10.700363.2288"/> <creationTime value="20060501140010"/> <versionCode code=“NE2005"/> <interactionId extension="PRPA_IN101001UV01" root="2.16.840.1.113883.1.6"/> <controlActProcess> ... </controlActProcess> <receiver><device> <id extension="922" root="2.16.840.1.113883.19.9"/> </device></receiver> <sender><device> <id extension="1" root="2.16.840.1.113883.19.9"/> </device></sender> </PRPA_IN101001UV01> </soap:Body> </soap:Envelope>
Transmission Patterns Application Perspective Hospital System Laboratory System Message SenderMCCI_AR0000003 (i.e. POLB_AR002930) Message ReceiverMCCI_AR0000004 (i.e. POLB_AR002942) Application Roles Send Message Payload MCCI_IN00001 Accept Acknowledgement MCCI_IN00002 Send Message Payload with Accept Acknowledgement MCCI_ST00001 Service Interaction Patterns (SIPs) Orchestrated Message Exchanges(MEPs)
Message Exchange Patterns Defined at the Messaging Infrastructure level Implements a Transmission Pattern, which is defined at the Application level
Message Exchange Patterns Sender Receiver Send Msg Send Msg, Immediate Response Send Msg, Deferred Response Send Msg, Immediate and Deferred Response
Message Exchange Patterns Send Message, No Response One-Way MEP Send Message, Immediate Response Request-Response MEP Response can be Application Ack, Application Response (Query) Send Message, Deferred Response Two One-Way MEP Send Message with both Immediate and Deferred Responses One Request-Response MEP and one One-Way MEP between receiver and sender
IHE ITI Appendix V: Webservices • Loosely based on HL7’s WS DSTU R1 • See appendix V.3.1 for details related to supported WS* standards. • HL7 v3: • operation = actor name (e.g. “PIXManager_”) concatenated with the interaction Id, e.g. PIXmanager_PRPA_IN201302UV • Port Type • Input: interaction Id of initiating interaction, concatenated with “_Message” • Output: interaction Id of response interaction, concatenated with “_Message” (MCCI_IN000002UV_Message if there is no predefined HL7 v3 application response)
Any Questions ? • Or: post your question/suggestions via • HL7 Wiki: http://bit.ly/d7tSsL • E-mail v3impl@ringholm.com