NEWFree ROI Calculators — quantify what prior auth and siloed data are costing your organization.Prior Auth ROI Siloed Data ROI
HL7 v2Segment8 min read

HL7 TQ1 Segment: Timing / Quantity

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 .

SeqNameData TypeLengthReqRepeatTable #Description
TQ1-1Set ID - TQ1SIOSequence number when multiple TQ1s appear; usually 1.
TQ1-2QuantityCQOHow much per administration or service occurrence.
TQ1-3Repeat PatternRPTOYHow often the order repeats (e.g. QID, Q8H).
TQ1-4Explicit TimeTMOYSpecific clock times for each occurrence.
TQ1-5Relative Time and UnitsCQOYOffset relative to another event.
TQ1-6Service DurationCQOHow long each occurrence lasts.
TQ1-7Start date/timeDTMOWhen the schedule begins.
TQ1-8End date/timeDTMOWhen the schedule ends.
TQ1-9PriorityCWEOYHL70485Urgency of the order (STAT, routine, etc.).
TQ1-10Condition textTXOFree-text condition governing the timing.
TQ1-11Text instructionTXOFree-text instruction for the order timing.
TQ1-12ConjunctionIDOHL70472Joins this timing to the next TQ1.
TQ1-13Occurrence durationCQODuration of a single occurrence interval.
TQ1-14Total occurrencesNMOMaximum 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 TQ data 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 RPT code 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 fieldFHIR target (ServiceRequest)
TQ1-2 QuantityquantityQuantity
TQ1-3 Repeat PatternoccurrenceTiming
TQ1-4 Explicit TimeoccurrenceTiming.repeat.timeOfDay
TQ1-5 Relative Time and UnitsoccurrenceTiming.repeat.offset
TQ1-6 Service DurationoccurrenceTiming.boundsDuration (and bounds period start/end)
TQ1-7 Start date/timeoccurrenceTiming.repeat.boundsPeriod.start
TQ1-8 End date/timeoccurrenceTiming.repeat.boundsPeriod.end
TQ1-9 Prioritypriority (ExtendedPriorityCodes)
TQ1-11 Text instructionnote (Annotation.text)
TQ1-13 Occurrence durationoccurrenceTiming.duration + occurrenceTiming.durationUnit
TQ1-14 Total occurrencesoccurrenceTiming.repeat.countMax

MedicationRequest mappings:

TQ1 fieldFHIR target (MedicationRequest)
TQ1-2 QuantitydosageInstruction.doseAndRate.doseQuantity
TQ1-3 Repeat PatterndosageInstruction.timing
TQ1-4 Explicit TimedosageInstruction.timing.event
TQ1-5 Relative Time and UnitsdosageInstruction.timing.repeat.offset
TQ1-6 Service DurationoccurrenceTiming.boundsDuration (and bounds period start/end)
TQ1-7 Start date/timedosageInstruction.timing.repeat.boundsPeriod.start
TQ1-8 End date/timedosageInstruction.timing.repeat.boundsPeriod.end
TQ1-9 Prioritypriority (ExtendedPriorityCodes)
TQ1-10 Condition textdosageInstruction.additionalInstruction.text
TQ1-11 Text instructiontext
TQ1-13 Occurrence durationdosageInstruction.timing.repeat.duration + durationUnit
TQ1-14 Total occurrencesdosageInstruction.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 RPT so frequency codes (QID, Q8H) survive into timing.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.

  • TQ2 — links related order timings that TQ1 sequences.
  • ORC — the common order segment TQ1 schedules.
  • ORM messages — where TQ1 carries the order schedule.

Sources

← Back to HL7 v2 Guide

Ready to Integrate This Into Your Workflow?

Talk to a Vorro expert about implementing HL7 v2 in your specific environment.

Browse HL7 v2 Guides
HL7 TQ1 Segment: Timing / Quantity | Vorro Academy | Vorro