Reference·OBR Segment·OBR-3
HL7 v2 Reference

What Is HL7 v2 OBR-3? Filler Order Number, Explained for Testers

Jul 27, 2026 · 4 min read
← OBR-2 OBR-4 →

The performing system — a lab, an imaging center — assigns OBR-3 on its own timeline, sometimes only after the order has actually been received and accessioned. Systems that assume it's always populated at order time will choke on early-stage order messages where it's still blank.

Quick answer

OBR-3 is the third field of the HL7 v2 OBR segment — the Filler Order Number, a unique identifier assigned by the performing (filler) system, typically used to key results back to the correct order.

What this field contains

component 1
Order number — the filler's own identifier for the order, assigned on accessioning or receipt
component 2
Namespace ID — identifies which filling system assigned the number
blank/empty
Not yet assigned — valid on a new order message before the filler has accessioned it

Example

Synthetic example Generated by Synthibase
OBR|1|ORD44219^SYNTHIB|FIL98831^SYNTHIB|CBC^Complete Blood Count^L|||20260726090000|||||||||3021^HAYES^DEREK^A^^^MD||||||||CH|F||||||R/O anemia

OBR-3 carries FIL98831^SYNTHIB — the filling lab's own order number, distinct from the placer number in OBR-2. Synthetic order — not a real patient.

Where this trips people up

A test suite built entirely from result messages (where OBR-3 is always populated) will never exercise the case where an initial order message goes out with OBR-3 blank, because the filler hasn't accessioned it yet. When that same order is tested end-to-end — placed, then later resulted — a system that requires OBR-3 on the initial order will reject perfectly valid new-order traffic. Test the full order lifecycle, not just the resulted state.

HL7 v2 OBR Segment Guide: Fields, Format, and Testing Gotchas
How to Write EDI Test Cases That Actually Catch Go-Live Failures
Regression Testing for EHR Upgrades: A Complete Guide
Generate the full order lifecycle, not just the result
Synthibase generates synthetic order and result message pairs, including the blank-filler-number stage most test suites skip.
Start free trial →
This page is written independently by Synthibase for testing and informational purposes. It is not an official publication of HL7 International or X12/Washington Publishing Company, and is not a substitute for reviewing the official standard or your trading partner's companion guide. See our Terms of Service for full legal terms.