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

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

Transcript of 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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

1

INM Breakfast Briefing

San Antonio, TX, USA

07:30 - 08:30

Page 2: 1 INM Breakfast Briefing San Antonio, TX, USA 07: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.

Page 3: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

4

Message (Message)

Id: II [1..1]

interactionId: II [1..1]

creationTime:

acceptAckCode: ER

Entry Point

ControlActProcess

classCode <= CACT

„Exit Point“

1..1

1..1

0..1

(classes omitted)

(classes omitted)

Acknowledgement

TypeCode: [1..1] <= AcknowledgementType

TargetMessage

Id: II [1..1]

1..1

1..1

ControlActWrapper

Stub

Send Application Response

Page 5: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

5

Out of cycle highlights

Page 6: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

7

Page 8: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

8

Page 9: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

11

Queries FAQ

Page 12: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

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: 1 INM Breakfast Briefing San Antonio, TX, USA 07:30 - 08:30.

17

Timing of Receiver Responsibilities

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

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)