Presentation on theme: "1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30."— Presentation transcript:
1 INM Breakfast Briefing San Antonio, TX, USA 07: :30
2 Transmission Wrapper For interactions defined in your domain, there are only 2 Transmission Wrappers 1.Send Message MMCI Release 1 MCCI_MT000100UV01 MCCI Release 2: MCCI_MT Application Response (Application Ack, Query Response) MCCI Release 1: MCCI_MT000300UV01 MCCI Release 2: MCCI_MT Release 1 MTs have been marked as Deprecated – this effectively means For Backwards Compatibility Only for 2 releases.
3 Message (Message) Id: II [1..1] interactionId: II [1..1] creationTime: profileId: … Entry Point Sender … Receiver … ControlActProcess classCode <= CACT … Device classCode <= DEV Id: II [1..*] Telecom: BAG … Agent classCode: AGNT Organization classCode <= ORG Id: Name: Telecom: BAG … ControlAct Wrapper Stub Send Message
4 Message (Message) Id: II [1..1] interactionId: II [1..1] creationTime: acceptAckCode: ER … Entry Point ControlActProcess classCode <= CACT … Exit Point (classes omitted) Acknowledgement TypeCode: [1..1] <= AcknowledgementType … TargetMessage Id: II [1..1] … 1..1 ControlAct Wrapper Stub Send Application Response
5 Out of cycle highlights
6 Transmission Batch Current Transmission Batch will be transformed into a minimalistic grouper of Transmissions. –Batch (as a whole) has no Receiver Responsibilities Query, requesting Batched Response Batch with Responses Some may have RR Split Batch Process Contents Batch of Interactions, some have RRSplit Batch; Process Contents Batches and Message-interactions (depends on settings in interactions created by sender) Interactions may have RRs.
9 Messaging Architectures Complete end-to-end full-stack solutions as standards were essential a few years ago to get anything to work, for example for frameworks such as basic MLLP messaging. This is the existing Messaging Architecture 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 Create abstract Messaging Architecture with swappable implementations (akin to ITSs)?
10 SOA paradigm shift SOA represents a paradigm shift and we invite the SOA SIG to develop the SOA paradigm. SOA SIG should consider the existing attributes of wrappers as potential requirements in an SOA environment, and should keep INM appraised of their developments. INM does not require SOA to use existing message constructs in an SOA solution.
11 Queries FAQ
12 Queries in v3 Query Parameters may be set of name/value pairs, a named parameter list with a set of name/value pairs or any combination the previous two options. A Query Transmission contains zero or more Query parameters. The only query mechanism currently supported by HL7 v3 is Query-By-Parameter, based on a ParameterItem class for each name-value pair. According to the RIM the ParameterItem represents a valued element structure for the element specified in the query response.
13 Key/Value PAIR SemanticsText SHALL always be valued – without it the query cant be interpreted by a responding system 1200 BR Person.addr Person.birthTime
14 Wildcards in Parameters The EN data type has support for wildcards (other data types do not) Use-codes are NOT just for querying, also for storage (e.g. MPIs). SRCH is understood to only support * at the end. Sw* Swartsenegger
15 Parameter – RIM attribute Is there a 1..1 link between a query parameter and a single R-MIM attribute from the response model ? No. –The link could be 1..n (e.g. a name parameter, linking to Role.name and playing entity.name) –The attribute need not be in the response model (e.g. mothersMaidenName) As a rule a computational relationship should be documented.
16 V3 Parameters = WHERE clause If we regard a HL7 v3 query as the equivalent of a "SELECT x,y,z FROM database WHERE a=1 and b=2" then all parameterItems classes are the equivalent of the WHERE clause. The parameterItem class can not be used to specify a SELECT clause. The scope of the response is uniquely determined by the static model of the receiver responsibility associated with the query.
17 Timing of Receiver Responsibilities
18 Timing of Receiver Responsibilities Interactions may have Receiver Responsibilities The responsibility to respond is independent of the timing of the response –In Release 1 of MCCI the timing of the response is not conveyed in the message nor documented in the standard –Release 2 of MCCI introduces a new mandatory attribute Message.responseModeCode attribute. I (Imediate) D (Deferred) Q (Queued)