Upload
iman
View
37
Download
0
Tags:
Embed Size (px)
DESCRIPTION
INM Breakfast Briefing. San Antonio, TX, USA 07:30 - 08:30. Transmission Wrapper. For interactions defined in your domain, there are only 2 Transmission Wrappers Send Message MMCI Release 1 MCCI_MT000100UV01 MCCI Release 2: MCCI_MT002100 - PowerPoint PPT Presentation
Citation preview
1
INM Breakfast Briefing
San Antonio, TX, USA07:30 - 08: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_MT002100
2. Application Response (Application Ack, Query Response)
• MCCI Release 1: MCCI_MT000300UV01 • MCCI Release 2: MCCI_MT002300
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…
ControlActProcessclassCode <= CACT…
DeviceclassCode <= DEVId: II [1..*]Telecom: BAG<TEL>…
AgentclassCode: AGNT
OrganizationclassCode <= ORGId: Name:Telecom: BAG<TEL>…
1..1
1..1
1..1
1..1
1..1
0..1
0..1
ControlActWrapper
Stub
Send Message
4
Message (Message)
Id: II [1..1]
interactionId: II [1..1]
creationTime:
acceptAckCode: ER
…
…
Entry Point
ControlActProcessclassCode <= CACT
…
„Exit Point“
1..1
1..1
0..1
(classes omitted)
(classes omitted)
AcknowledgementTypeCode: [1..1] <= AcknowledgementType
…
TargetMessageId: II [1..1]
…
1..1
1..1
ControlActWrapper
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 ResponsesSome may have RR
Split BatchProcess Contents
Batch of Interactions, some have RR Split Batch;Process Contents
Batches and Message-interactions (depends on settings in interactions created by sender)Interactions may have RRs.
7
8
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
Medication Act Query via Care Information Broker(QURX_RM990002)Description: This R-MIM defines the parameters to queryfor medication combined orders or dispense eventswhen the query is processed and relayed by a Care Information Broker (ZIM).
ActivityIntervalSet(ParameterItem)value*: SET<IVL<TS>> [1..*]semanticsText: ST [0..1] "ActivityIntervalSet"
SortControl(SortControl)sequenceNumber: INT [0..1]elementName: SC CWE [0..1] <= ElementNamedirectionCode: CS CNE [0..1] <= Sequencing
0..*sortControl
0..1activityIntervalSet
1..1patientID*
PatientID(ParameterItem)value*: II [1..1]semanticsText: ST [0..1] "PatientID"
CareProviderIDSet(ParameterItem)value*: SET<II> [1..*]semanticsText: ST [0..1] "CareProviderIDSet"
0..1careProviderIDSet
AvailabilityInterval(ParameterItem)value*: IVL<TS> [1..1]semanticsText: ST [0..1] "AvailabilityInterval"
0..1availabilityInterval
QueryByParameterPayload(QueryByParameter)queryId: II [0..1]statusCode: CS CNE [0..1] <= QueryStatusCoderesponseElementGroupId: SET<II> [0..*]responseModalityCode: CS CNE [0..1] <= ResponseModalityresponsePriorityCode: CS CNE [0..1] <= QueryPriority "I"initialQuantity: INT [0..1]initialQuantityCode: CE CWE [0..1] <= QueryRequestLimit
ControlActProcessclassCode*: <= CACTmoodCode*: <= ActMoodCompletionTrack
0..1queryByParameterPayload
SemanticsText SHALL always be valued – without it the query can‘t be interpreted by a responding system
<person.addr><value> <postalCode>1200 BR</postalCode></value><semanticsText>Person.addr</semanticsText>
</person.addr><person.birthTime>
<value> <center value="19750103"/></value><semanticsText>Person.birthTime</semanticsText>
</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.
<person.name><value use="SRCH"><family>Sw*</family></value>
</person.name><person.name>
<value use="L PHON"><family>Swartsenegger</family></value></person.name>
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)