HL7 RQQ_Q09 Event Replay Query

HL7 message structure RQQ_Q09 groups and segments from HL7 v2.5.1 Hide structure

These are the generated groups and segments for the version selected at the top of the page. The article explains the workflow, and this panel follows the chosen HL7 version.

Message Structure

SegmentNameRequiredRepeatable
Message Header Yes No
Software Segment No Yes
ERQ Yes No
Continuation Pointer No No

RQQ_Q09 asks a responder to replay events that were previously sent or recorded. It is a compact legacy query message built around ERQ.

You will usually see it only where an old HL7 v2 query contract already exists. Many modern sites handle replay through interface-engine tools, database exports, or profile-specific APIs.

A small RQQ Q09 example

MSH|^~\&|ENGINE|CITYHOSP|ADTARCHIVE|CITYHOSP|20260718153000||RQQ^Q09^RQQ_Q09|RQQQ090001|P|2.5.1 ERQ|QREPLAY001|ADT^A01^ADT_A01|WARD2^20260701000000^20260717235959

What systems do with it

The requester identifies the event type and replay parameters in ERQ. The responder determines whether it can locate and resend the requested events, often answering with ERP_R09 or another receiver-defined response pattern.

Operationally, this is a controlled recovery mechanism. It should be audited like any other replay request because it can expose old clinical or administrative data.

How to read the structure

MSH identifies RQQ^Q09^RQQ_Q09. ERQ carries the query tag, event identifier, and input parameters. Optional DSC supports continuation if the replay request itself is split across increments.

Implementation traps

Do not replay into production without duplicate controls. Downstream systems may interpret replayed ADT, order, or billing events as new business activity.

Also make the requester specific. "Send me all ADT for last month" can become a large, noisy, and risky recovery job.

Reference notes

HL7 v2.3.1 includes RQQ as an event replay query retained for backward compatibility in later versions. See the HL7 v2.3.1 control/query chapter.