![]() HL7 V3 IM CI, R2 HL7 Version 3 Standard: Infrastructure Management - Message Control Infrastructure; Batch Wrappers, Release 2 HL7 Draft Standard for Trial Use - August 2012 |
Content Last Edited: 2011-06-22T11:39:34
Draft Standard for Trial Use Notice
Publication of this draft standard for trial use and comment has been approved by Health Level Seven International (HL7). This draft standard is not an accredited American National Standard. The comment period for use of this draft standard shall end 24 months from the date of publication. Suggestions for revision should be submitted at http://www.hl7.org/dstucomments/index.cfm.
Following this 24 month evaluation period, this draft standard, revised as necessary, will be submitted to a normative ballot in preparation for approval by ANSI as an American National Standard. Implementations of this draft standard shall be viable throughout the normative ballot process and for up to six months after publication of the relevant normative standard.
Preface
There are instances when it is convenient to transfer a batch of HL7 interactions. A common example is the transmission of a batch of financial posting detail transactions sent from an ancillary to a financial system.
Although a batch will usually consist of a single type of interaction, there is nothing in the definition that restricts a batch to only one interaction type. It should be noted that the "unit of work" of HL7 is the interaction, not the batch. Thus, it is possible that some interactions contained within the batch may be successfully processed, while others are not. Batching a mechanism that may be used ONLY as a transmission grouper, it does not group interactions for transactional purposes. Receivers of a batch should remove the batch wrapper and process the interaction contained therein as if they were received individually. Interactions contained in a batch that are addressed not to the receiver, but to another receiver SHALL be processed the same way as interactions not contained in a batch that were not addressed to the receiver.
A batch may contain zero or more interactions. (There are cases in which a system is expected to send a batch at a specific repeating point in time, e.g., 12 midnight every day. In such cases, a batch with no content is reasonable.) If an application has been configured to send a batch of financial charge interactions every morning at four, and on a particular day there is nothing to be charged, then one could send an empty batch to inform the receiving application that there was 'nothing to report'. The support of batches and the contained interactions may be described in the conformance profile of an application. Some users may wish to support batch for all interactions they support, while others may wish to be more selective.
Please note that a message based interaction (i.e. not batched) shall never result in the receiver using a batch wrapper for any of the related responses, unless the use of the batch wrapper was explicitly requested by the sender. For example, the HL7 query allows for an explicit request for a batch response by using the value 'B' in the QueryByParameter.responseModalityCode attribute of the query message.
Responding to a batch
The receiver responsibilities of an application which receives a batch are:
Application Responses
The way in which a receiver should deliver its receiver responsibilities, i.e. the expected dynamic behavior of the receiving application with regard to application responses, is determined by the Response Mode of the batch. The Response Mode of the batch is contained in the Batch.responseModeCode attribute.
The Response Mode of the batch can have one of the following values:
The Response Mode as contained in the batch overrules the Response Mode as defined by individual interactions contained in the batch. Example: if the Response Mode specified at the batch level equals "Queue", then all messages contained in the batch shall be processed as if their Response Mode was set to "Queue" as well.
Context Conduction of Wrappers
The sender and receiver associations associated with the Message class are almost always equal to the sender and receiver associated with the Batch class of the Batch the message interactions are contained in. The RIM allows for automatic conduction of these associations from Batch to Message.
However, the sender and receiver are mandatory in the current message-level Transmission Wrapper which leads to duplication of data. This is a known issue which will be addressed in a future release of this domain.
Note: the current tooling doesn't support Batch Wrappers. A schema for the XML ITS will have to be manually created based on the schema for the Message Wrapper. The root element has to be renamed to Batch, additional attributes of the Batch class have to be added to the schema, and subject should be replaced with an xs:any declaration. The reader should see http://wiki.hl7.org/index.php?title=Batch_Wrapper_Schema for a detailed description.
|
||||||||
|
For details on the interpretation of this section, see the storyboard discussion in the Version 3 Guide.
The reader is referred to the introduction of this domain for a detailed discussion regarding use cases and to the state-based storyboards.
Note: The examples can be combined into more complex scenarios as needed by a domain.
A system may have a use case where it is convenient to transfer a batch of HL7 interactions (messages). An example would be a batch of financial posting detail transactions sent from an ancillary to a financial system. The Batch Sender (MCCI_AR200001) collects zero or more interactions and groups them by means of a Batch wrapper, and sends the Batch (MCCI_IN200100) to the Batch Receiver (MCCI_AR200002).
The Batch Receiver subsequently processes the message-interactions received within the Batch. If any of these interactions have receiver responsibilities associated with them, then the interaction will be responded as if it was received without an encapsulating Batch.
Application level responses to interactions contained within a batch are sent as individual message-interactions.
Note: The message-based responses may have receiver responsibilities associated with them, and they may have to be responded to by an Accept Acknowledgement (MCCI_IN000002). These are neither shown in the storyboard diagram nor discussed in this section. See the Message topic for details of the use of Accept Acknowledgements.
Send Batch | ![]() |
Send Response Batch | ![]() |
A message based interaction (i.e. not batched) may explicitly request that the receiver uses a batch wrapper for the related responses. For example, the HL7 query allows for an explicit request for a batch response by using the value 'B' in the QueryByParameter. responseModalityCode attribute of the query message.
The Message Sender sends a message-interaction to the Message Receiver; the interaction explicitly requests that the application responses should be grouped by means of a Batch. The Message Receiver (in its role as a Batch Response Sender) sends a Response Batch (MCCI_IN200101) to the Message Sender (in its role as a Batch Response Receiver).
As detailed in the Query Infrastructure (QUQI) Domain, a Query Continuation/Cancel interaction (QUQI_IN000003) can be used to query for the next set of application responses. The initial query requested that all responses be Batched, which means that the Query Continuation/Cancel interaction (QUQI_IN000003) will also result in a Batch Response.
Send Batch | ![]() |
Send Response Batch | ![]() |
|
||||||||||||
|
For details on the interpretation of this section, see the discussion of application roles and their relationships in the Version 3 Guide.
The justification for HL7 Communication Roles for Version 3 message control comes from a need to formalize the expectations of HL7 Application Roles for messaging communication services. Application Roles specify the expected message handling behavior for a set of interactions. The HL7 Message Development Framework has led to the creation of numerous Application Roles by the technical committees that are developing HL7 Version 3 messaging interactions. Communication Roles are intended to specify a core set of messaging communication services that can support the messaging communication requirements of HL7 Application Roles.
Note: These application roles are not used in their own right except for the inplementable interactions in this domain. Accept-level acknowledgements fall into this category. Domain interactions will define, and reference, two domain application roles.
|
||||||||
|
For details on the interpretation of this section, see the discussion of trigger events in the Version 3 Guide.
Communication level message control in HL7 Version 3 is defined by the handling of the events and state transitions identified in the Version 3 HL7 Message Control state diagram. Refer to domain interactions for domain trigger events.
|
||||||||
|
For details on the interpretation of this section, see the description of RMIMs in the Version 3 Guide.
Parent: | Transmission Infrastructure (MCCI_DM000000UV) |
The Batch class functions in similar way to the Message class in an individual V3 message. The reader is referred to the D-MIM walkthrough - associated with the Transmission Infrastructure Domain - for a description of the various classes associated with the Batch class; they have the exact same functionality as the classes associated with the Message class.
The batch class has the following associations:
Batch Wrapper | MCCI_HD200100UV |
Parent: | Transmission Infrastructure (MCCI_DM000000UV) |
A Response Batch can be used for (1) batches of accept acknowledgements, (2) batches of application responses. The only difference between this R-MIM and the Batch R-MIM is the fact that it contains a mandatory Acknowledgement class. In a Response Batch, the batch class has the following mandatory associations:
Response Batch Wrapper | MCCI_HD200101UV |
|
||||||||
|
For details on the interpretation of this section, see the description of HMDs in the Version 3 Guide.
R_NotificationPartyContact | COCT_MT040203UV09 |
Batch Wrapper message | MCCI_MT200100UV | ![]() ![]() ![]() |
R_NotificationPartyContact | COCT_MT040203UV09 |
Batch Wrapper event response message | MCCI_MT200101UV | ![]() ![]() ![]() |
|
||||||||
|
For details on the interpretation of this section, see the definition of Interactions in the Version 3 Guide.
Trigger Event | Send Batch | MCCI_TE200001UV01 |
Reason | Trigger Event | Interaction |
MCCI_TE200002UV01 | MCCI_IN200101UV01 |
Sender | Batch Sender | MCCI_AR200001UV01 |
Receiver | Batch Receiver | MCCI_AR200002UV01 |
Send a Batch, which groups 0 or more Application level Messages into a Batch for communication purposes; sent as a response to either a Batch, or as a response to a Message which explicitly requested a Batched response.
Trigger Event | Send Response Batch | MCCI_TE200002UV01 |
Sender | Response Batch Sender | MCCI_AR200003UV01 |
Receiver | Response Batch Receiver | MCCI_AR200004UV01 |
Return to top of page |