INM Breakfast Briefing

18
1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30

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

Transcript of INM Breakfast Briefing

Page 1: INM Breakfast Briefing

1

INM Breakfast Briefing

San Antonio, TX, USA07:30 - 08:30

Page 2: INM Breakfast Briefing

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.

Page 3: INM Breakfast Briefing

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

Page 4: INM Breakfast Briefing

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

Page 5: INM Breakfast Briefing

5

Out of cycle highlights

Page 6: INM Breakfast Briefing

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.

Page 7: INM Breakfast Briefing

7

Page 8: INM Breakfast Briefing

8

Page 9: INM Breakfast Briefing

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)?

Page 10: INM Breakfast Briefing

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.

Page 11: INM Breakfast Briefing

11

Queries FAQ

Page 12: INM Breakfast Briefing

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.

Page 13: INM Breakfast Briefing

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>

Page 14: INM Breakfast Briefing

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>

Page 15: INM Breakfast Briefing

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.

Page 16: INM Breakfast Briefing

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.

Page 17: INM Breakfast Briefing

17

Timing of Receiver Responsibilities

Page 18: INM Breakfast Briefing

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)