HL7 RTB_Z74 Phone Call Tabular Response

HL7 message structure RTB_Z74 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
Message Acknowledgment Yes No
Error No Yes
Software Segment No Yes
Query Acknowledgment Yes No
Query Parameter Definition Yes No
RTB_Z74.ROW_DEFINITION
Row Definition group No No
Table Row Definition Yes No
Table Row Data No Yes
Continuation Pointer No No

RTB_Z74 is the tabular response used with the Z73 phone-call information query. The requester asks for accumulated or detailed call information in QBP_Z73, and the phone or service system replies with an RTB message containing acknowledgment status, query status, the echoed query, and a row definition.

Although some generated message-structure lists label RTB_Z74 broadly, the useful implementation context is the phone-call charging workflow: rows are used for patient accounting, service reconciliation, and charge posting.

A small RTB Z74 example

MSH|^~\&|PHONE|CITYHOSP|BILLING|CITYHOSP|20260718100005||RTB^Z74^RTB_Z74|RTBZ740001|P|2.5.1 MSA|AA|QBPZ730001 QAK|QCALL001|OK|Z89^Query Phone Calls^HL70471|2|2|0 QPD|Z89^Query Phone Calls^HL70471|QCALL001|123456^^^CITYHOSP^MR|20260701000000^20260717235959|Y RDF|9|Provider^ST^20~Region^ST^40~Extension^XTN^40~Destination^XTN^40~DateTime^DTM^24~Quantity^NM^4~Duration^NM^4~Units^NM^4~Amount^MO^8 RDT|DTAG|CITY|2051|5551234|20260715171500|1|12|1|2.25^NZD RDT|DTAG|CITY|2051|5554569|20260716125200|1|3|1|0.48^NZD

What systems do with it

The receiver usually turns RTB_Z74 into charge rows, an account statement detail, or a reconciliation feed. MSA tells whether the original query message was accepted. QAK tells whether the query found rows and whether the result is complete. QPD echoes the query so the caller can log exactly what was answered.

The data lives in RDF and RDT. RDF is the column contract. RDT is the row data. For billing, that positional contract matters as much as any clinical code map.

How to read the structure

The generated structure is a normal RTB response: MSH, MSA, optional ERR, optional SFT, QAK, QPD, optional row definition, and optional DSC. If the row definition appears, RDF is required and RDT can repeat for each returned row.

If there are no matching calls, the receiver can still send MSA-1 AA with a QAK status that says no data. Do not bill from message acceptance alone.

Implementation traps

Column drift is the classic tabular-response failure. If the phone system adds, removes, or reorders an RDF column and billing maps RDT by position, the message can parse perfectly while amounts and durations land in the wrong fields.

Continuation is another place to be explicit. If the query asks for 20 rows and the receiver has 200, document whether DSC is used, how long the pointer is valid, and whether repeated continuation calls can change the billing total.

Reference notes

HL7's Z73/Z74 example shows a QBP_Z73 query answered by RTB_Z74 with RDF and RDT rows for phone-call data. See the HL7 Europe QBP_Z73 and RTB_Z74 conformance material.