The TQ1 segment specifies when and how often an order is to be carried out and how much of it: the quantity per administration, the repeat pattern, explicit and relative times, the bounding start and end dates, the priority, and free-text instructions. It pairs with the order segments (ORC and OBR/RXO) to express the schedule that ORC-7 and OBR-27 used to carry inline, and it can repeat — chained through TQ1-12 Conjunction and the companion TQ2 segment — to model complex, multi-phase schedules.
Purpose
TQ1 separates the timing and quantity of an order from the order itself. One TQ1 says "this many, on this pattern, at these times, between these dates, at this priority." Where an order needs a compound schedule (for example, taper a dose over several phases), multiple TQ1 segments are sequenced and joined with TQ1-12 Conjunction, with TQ2 linking related order timings. The data lives independently of ORC and OBR so the same schedule structure serves medication, service, and observation orders.
Used in
TQ1 appears in order messages that need to express a schedule: order entry ORM, laboratory/clinical order OML, and pharmacy/treatment encoded orders (RDE) for medication timing. It follows the order detail (after ORC and OBR/RXO) within the order group. See ORM and the ORC segment it complements.
Field-by-field reference
Source: the Vorro HL7 segment database (extracted from the official v2-to-FHIR IG). R = required (cardinality min ≥ 1). Repeat = field may repeat. Length is not carried by the FHIR source and is shown as —.
| Seq | Name | Data Type | Length | Req | Repeat | Table # | Description |
|---|---|---|---|---|---|---|---|
| TQ1-1 | Set ID - TQ1 | SI | — | O | — | — | Sequence number when multiple TQ1s appear; usually 1. |
| TQ1-2 | Quantity | CQ | — | O | — | — | How much per administration or service occurrence. |
| TQ1-3 | Repeat Pattern | RPT | — | O | Y | — | How often the order repeats (e.g. QID, Q8H). |
| TQ1-4 | Explicit Time | TM | — | O | Y | — | Specific clock times for each occurrence. |
| TQ1-5 | Relative Time and Units | CQ | — | O | Y | — | Offset relative to another event. |
| TQ1-6 | Service Duration | CQ | — | O | — | — | How long each occurrence lasts. |
| TQ1-7 | Start date/time | DTM | — | O | — | — | When the schedule begins. |
| TQ1-8 | End date/time | DTM | — | O | — | — | When the schedule ends. |
| TQ1-9 | Priority | CWE | — | O | Y | HL70485 | Urgency of the order (STAT, routine, etc.). |
| TQ1-10 | Condition text | TX | — | O | — | — | Free-text condition governing the timing. |
| TQ1-11 | Text instruction | TX | — | O | — | — | Free-text instruction for the order timing. |
| TQ1-12 | Conjunction | ID | — | O | — | HL70472 | Joins this timing to the next TQ1. |
| TQ1-13 | Occurrence duration | CQ | — | O | — | — | Duration of a single occurrence interval. |
| TQ1-14 | Total occurrences | NM | — | O | — | — | Maximum number of times the order occurs. |
Most-used fields
- TQ1-2 Quantity is the dose or count per occurrence — how much medication or how many service units each time.
- TQ1-3 Repeat Pattern carries the frequency code (QID, Q8H, BID) that downstream systems turn into a schedule.
- TQ1-7 Start date/time and TQ1-8 End date/time bound the schedule window and order events when delivery is out of order.
- TQ1-9 Priority drives routing and worklist urgency (STAT vs routine).
- TQ1-14 Total occurrences caps the number of administrations, useful for finite courses.
Version differences (2.3 to 2.8.2)
- 2.3/2.4: there was no TQ1. Timing and quantity were carried inline by ORC-7 Quantity/Timing and OBR-27 Quantity/Timing using the
TQdata type. - 2.5: TQ1 (with the companion TQ2) was introduced to replace the deprecated ORC-7 and OBR-27 quantity/timing fields, moving timing into its own repeatable segment.
- 2.5+: coded fields use
CWE; TQ1-9 Priority is drawn from HL70485. - 2.7+: minor clarifications to component usage; the field set is stable. Receivers built for 2.3/2.4 still read ORC-7/OBR-27 and ignore TQ1 they do not recognize.
Common mistakes
- Still populating the deprecated ORC-7/OBR-27 instead of TQ1, or populating both and producing a conflicting schedule.
- Treating TQ1-3 Repeat Pattern as free text rather than an
RPTcode the receiver can parse. - Reading only the first TQ1 and missing chained timings joined by TQ1-12 Conjunction (and TQ2).
- Assuming TQ1-8 End date/time is present — an open-ended order may bound only the start.
- Confusing TQ1-2 Quantity (per occurrence) with TQ1-14 Total occurrences (count over the whole order).
Examples
Minimal valid TQ1 (a once-daily schedule):
TQ1|1|1||||QD
Fully-populated TQ1 (twice daily, STAT, bounded, capped):
TQ1|1|1^tablet&tablet|BID|0800~2000||30^min|20260609080000|20260616080000|S^STAT^HL70485|with food|Take with a full glass of water||1^d|14
Annotated breakdown of the fully-populated example (selected fields):
TQ1 ← segment ID
1 ← TQ1-1 Set ID
1^tablet&tablet ← TQ1-2 Quantity (1 tablet)
BID ← TQ1-3 Repeat Pattern (twice daily)
0800~2000 ← TQ1-4 Explicit Time (08:00 and 20:00)
30^min ← TQ1-6 Service Duration
20260609080000 ← TQ1-7 Start date/time
20260616080000 ← TQ1-8 End date/time
S^STAT^HL70485 ← TQ1-9 Priority
14 ← TQ1-14 Total occurrences
In-context inside an ORM^O01, TQ1 after ORC and OBR (service order):
MSH|^~&|CPOE|MERCYGEN|LAB|MERCYGEN|20260609080000||ORM^O01^ORM_O01|MSG201|P|2.5.1
PID|1||MR12345^^^MERCYGEN^MR||DOE^JOHN^Q||19800101|M
ORC|NW|ORD9001^CPOE|||||^^^20260609080000
OBR|1|ORD9001^CPOE||CBC^Complete Blood Count^L
TQ1|1|1|||||20260609080000||R^Routine^HL70485
In-context inside an RDE^O11, TQ1 after ORC and RXO (medication order):
MSH|^~&|PHARM|MERCYGEN|EHR|MERCYGEN|20260609080000||RDE^O11^RDE_O11|MSG202|P|2.5.1
PID|1||MR12345^^^MERCYGEN^MR||DOE^JOHN^Q||19800101|M
ORC|NW|ORD9002^CPOE
RXO|AMOX500^Amoxicillin 500mg^L|1||tablet
TQ1|1|1^tablet|TID||||20260609080000|20260616080000|R^Routine^HL70485|||1^d|21
FHIR mapping
TQ1 carries an order's timing and quantity, so its target depends on the order type. For service orders the primary target is ServiceRequest (timing on occurrenceTiming, amount on quantityQuantity); for medication orders it is MedicationRequest (timing and dose on dosageInstruction). Official ConceptMaps: ServiceRequest, MedicationRequest.
ServiceRequest mappings:
| TQ1 field | FHIR target (ServiceRequest) |
|---|---|
| TQ1-2 Quantity | quantityQuantity |
| TQ1-3 Repeat Pattern | occurrenceTiming |
| TQ1-4 Explicit Time | occurrenceTiming.repeat.timeOfDay |
| TQ1-5 Relative Time and Units | occurrenceTiming.repeat.offset |
| TQ1-6 Service Duration | occurrenceTiming.boundsDuration (and bounds period start/end) |
| TQ1-7 Start date/time | occurrenceTiming.repeat.boundsPeriod.start |
| TQ1-8 End date/time | occurrenceTiming.repeat.boundsPeriod.end |
| TQ1-9 Priority | priority (ExtendedPriorityCodes) |
| TQ1-11 Text instruction | note (Annotation.text) |
| TQ1-13 Occurrence duration | occurrenceTiming.duration + occurrenceTiming.durationUnit |
| TQ1-14 Total occurrences | occurrenceTiming.repeat.countMax |
MedicationRequest mappings:
| TQ1 field | FHIR target (MedicationRequest) |
|---|---|
| TQ1-2 Quantity | dosageInstruction.doseAndRate.doseQuantity |
| TQ1-3 Repeat Pattern | dosageInstruction.timing |
| TQ1-4 Explicit Time | dosageInstruction.timing.event |
| TQ1-5 Relative Time and Units | dosageInstruction.timing.repeat.offset |
| TQ1-6 Service Duration | occurrenceTiming.boundsDuration (and bounds period start/end) |
| TQ1-7 Start date/time | dosageInstruction.timing.repeat.boundsPeriod.start |
| TQ1-8 End date/time | dosageInstruction.timing.repeat.boundsPeriod.end |
| TQ1-9 Priority | priority (ExtendedPriorityCodes) |
| TQ1-10 Condition text | dosageInstruction.additionalInstruction.text |
| TQ1-11 Text instruction | text |
| TQ1-13 Occurrence duration | dosageInstruction.timing.repeat.duration + durationUnit |
| TQ1-14 Total occurrences | dosageInstruction.timing.repeat.countMax |
Unmapped fields: TQ1-1 Set ID and TQ1-12 Conjunction have no published FHIR target — Set ID is a parse-time sequence marker and Conjunction is consumed by the engine when collapsing chained TQ1 segments into a single FHIR timing. TQ1-10 Condition text maps only on the MedicationRequest side.
Engine considerations
- Prefer TQ1 over the deprecated ORC-7/OBR-27; if a sender still uses the old fields, normalize them into TQ1 before mapping.
- Parse TQ1-3 as a structured
RPTso frequency codes (QID, Q8H) survive intotiming.repeat. - Preserve repeating fields (TQ1-3/4/5/9) as arrays, and follow TQ1-12 Conjunction to collapse chained timings into one FHIR
Timing. - Choose the FHIR target by order type: medication orders → MedicationRequest.dosageInstruction; service orders → ServiceRequest.occurrenceTiming.
- Sequence the schedule by TQ1-7 rather than arrival order, and treat a missing TQ1-8 as an open-ended order.
How Vorro parses and produces TQ1
Vorro reads TQ1 as the timing/quantity block of the surrounding order group, decomposing TQ1-3 into structured repeat-pattern components and preserving repeating times and priorities as arrays. Chained TQ1 segments joined by TQ1-12 Conjunction (and TQ2 links) are collapsed into a single FHIR timing. On the FHIR side Vorro emits ServiceRequest.occurrenceTiming/quantityQuantity for service orders and MedicationRequest.dosageInstruction for medication orders, mapping priority through the ExtendedPriorityCodes value set per the official ConceptMaps. Senders still using ORC-7/OBR-27 are normalized into TQ1 first.
Related pages
- TQ2 — links related order timings that TQ1 sequences.
- ORC — the common order segment TQ1 schedules.
- ORM messages — where TQ1 carries the order schedule.
