The use of the Bolus ResponseModalityCode in HL7 v3
This page documents the use of the Bolus ResponseModalityCode in HL7 v3.
- See Bolus for documentation of the use of the corresponding HL7v2 functionality.
The "BOLUS" query response mode refers to a query interaction which requests that the responses are to be sent as a completely normal set of apparently unsolicited HL7 messages, instead of as an application response interaction with a queryAck class.
Bolus in HL7 v2
- If field RCP-3 (Response Modality) contains the value T the Bolus mode is being used. Alternative values are R (Real Time) and B (Batch).
- See the Bolus wiki page for HL7 v2 examples.
Bolus in HL7 version 3
Scenario/Dynamic model aspects
- The query interaction is responded to by its associated application response, defined as the receiver responsibility of the query interaction. The response contains zero payloads and an indication that the query in Bolus mode was accepted.
- zero or more unsolicited interactions with payloads that match the search criteria as listed in the initial query interactions are sent to the same application that did sent the original query interaction.
- The Trigger Event type of those responses is 'interaction based'. They are entirely new trigger events; it is not an event-replay. See Discussion Page.
Static Model Aspects
- In Queries, QueryByParameter.responseModalityCode shall be valued with 'T' to indicate use of the Bolus mechanism.
- In the application response,
- QueryAck.statusCode shall be 'executing'
- QueryAck.queryResponseCode (assuming no errors occurred) should be either NF or OK. It should be NF if no matches were found, i.e. there will be no unsolicited interactions. If it contains the value OK one or more declarative interactions will be sent.
- QueryAck.resultCurrentQuantity shall always be set to 0. It doesn't contain the number of future declarative interactions.
- There will be zero payloads/subjects in the query response interaction.
Although it could probably be made to work in v3, there's no real use-case for it (one can return absolutely everything in a query response, and re-use all MTs originally created for declarative messages). The sole reason that existed in v2 for Bolus mentioned on the Bolus page doesn't exist in v3.
Proposed Motion (to be discussed/moved by InM): to deprecate the Bolus responseMode from HL7 version 3, given a lack of uses cases and implementations. In practical terms this means a vocab harmonization proposal should be made to remove the T concept code from the ResponseModalityCode value set. Any references to Bolus are to be removed from the QUQI domain.
Mark Tucker will document use cases and bring propsal to "undeprecate" for the first Feb. concall.