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

HL7 Table HL70065: Specimen Action Code

HL70065 tells the receiving lab what to do about the specimen attached to an order: add tests to one that already exists, generate a reflex, send a phlebotomist, schedule a future draw, or treat the order as a revision. The seven codes live in OBR-11 Specimen Action Code and are short single-character ID values that have been stable since v2.3.

Purpose

HL70065 expresses the operational intent of an order with respect to its specimen. The same chemistry panel order can mean very different things depending on the action code: A says "the specimen is already in the lab — just add these tests," L says "send a phlebotomist to the floor," G says "this is a reflex generated by an earlier result," and S says "schedule this for next Tuesday's draw." Without an explicit action code, labs cannot route the order to the right workflow queue.

The field is non-repeating. A blank OBR-11 historically defaulted to O (specimen obtained elsewhere) in many implementations, but conformant senders should always populate it explicitly.

Where it's used

  • OBR-11 Specimen Action Code — the canonical and only home of HL70065. Populated on ORM (Order Message), OML (Order Message — Lab), and on the ORC/OBR pair inside ORU result messages when the original order context is echoed back.

Code list

CodeDisplayComment/Description
AAdd ordered tests to the existing specimenSpecimen is already in the lab; append these tests rather than recollect.
GGenerated order — reflex orderOrder created automatically by a rule firing on an earlier result.
LLab to obtain specimen from patientSend a phlebotomist or specimen collector to draw the sample.
OSpecimen obtained by service other than LabSpecimen was collected by nursing, OR, or another non-lab service and is en route.
PPending specimen — order sent, specimen not receivedOrder placed in advance of the specimen arriving in the lab.
RRevised orderThis OBR replaces a previously transmitted order for the same specimen.
SSchedule the tests specified belowSchedule the order for a future collection event rather than acting now.

Code system OID

  • OID: 2.16.840.1.113883.18.19
  • Canonical URI: http://terminology.hl7.org/CodeSystem/v2-0065

The OID is published on the HL7 Terminology server and is the value Vorro emits in CWE.14 when a downstream profile requires OID-bound coded values for specimen action.

HL7-defined vs user-defined

HL70065 is HL7-defined. The table number falls inside the HL7-reserved range (HL70001–HL70999), the code set is normative, and receivers must accept all seven values without local extension. Sites that need richer workflow semantics (split specimen, send-out to reference lab, recollect) cannot extend HL70065 — they instead carry the workflow on a separate SPM segment, on ORC-1 Order Control, or on a workflow note.

Version differences

  • v2.3 — HL70065 introduced with the original code set: A, G, L, O, P, R, S.
  • v2.3.1 – v2.5 — No changes; codes stable.
  • v2.6 — Editorial clarifications added to descriptions; codes unchanged.
  • v2.7 – v2.8.1 — Set frozen at seven codes; no further additions, no deprecations.
  • v2.9 — HL70065 unchanged. The SPM segment (introduced in v2.5) carries richer specimen metadata that complements but does not replace HL70065.

Common mistakes

  • Sending the display word in OBR-11 — Add instead of A. The field carries the single-character code.
  • Treating a blank OBR-11 as a hard error. Many legacy senders omit the field; well-behaved engines fall back to O with a warning rather than NACK the order.
  • Confusing G (Generated/reflex) with R (Revised). G means a new automatically-created order; R means a replacement for a prior transmission of the same order. Mixing these breaks reflex audit trails.
  • Using L (Lab to obtain) when the specimen has already been collected. L triggers a phlebotomy task in the lab's collection module; sending it for an in-hand specimen creates a duplicate task.
  • Treating P (Pending) as a status update rather than an order action. P is part of the original order transmission, not a follow-up message.

Examples

A lab draw — phlebotomist needed:

OBR|1|ORD123456^EPIC|LAB789^LAB|2160-0^Creatinine^LN|||20260610080000|||||||||1234^SMITH^JOHN^^^^MD||||L

A reflex order generated by an earlier abnormal TSH:

OBR|1|ORD123457^EPIC|LAB790^LAB|3026-7^Free T4^LN|||20260610090000|||||||||1234^SMITH^JOHN^^^^MD||||G

Adding tests to a specimen already in the lab:

OBR|1|ORD123458^EPIC|LAB791^LAB|2823-3^Potassium^LN|||20260610091500|||||||||1234^SMITH^JOHN^^^^MD||||A

Same L action rendered as a FHIR ServiceRequest snippet — the specimen-collection intent is captured via ServiceRequest.intent plus an extension preserving the original v2 code:

{
  "resourceType": "ServiceRequest",
  "status": "active",
  "intent": "order",
  "code": {
    "coding": [{ "system": "http://loinc.org", "code": "2160-0" }]
  },
  "subject": { "reference": "Patient/10456" },
  "extension": [{
    "url": "http://terminology.hl7.org/CodeSystem/v2-0065",
    "valueCode": "L"
  }]
}

Mapping failure example — unknown action code:

OBR|1|ORD123459^EPIC|LAB792^LAB|2160-0^Creatinine^LN|||20260610100000|||||||||1234^SMITH^JOHN^^^^MD||||X

X is not in HL70065. A conformant engine should NACK with AE, preserve the original X in the audit log, and route the order to operations for review rather than guessing whether the sender meant O or L.

FHIR mapping

The v2-to-FHIR Implementation Guide does not publish a single normative ConceptMap for HL70065 because the action verbs split across several FHIR concepts. The conventional mapping is:

HL7 v2 (HL70065)FHIR realization
AServiceRequest with basedOn reference to an existing Specimen
GServiceRequest.intent = reflex-order
LServiceRequest plus a lab-collection Task on the lab
OSpecimen.collection.collector populated with non-lab role
PServiceRequest.status = active, no Specimen yet linked
RServiceRequest.status = revoked on prior + new ServiceRequest replaces it
SServiceRequest.occurrenceDateTime in the future, intent = plan

Because no single FHIR ValueSet covers the seven codes, round-trip integrators preserve the original HL70065 code as an extension on ServiceRequest.

Engine considerations

  • Optional but expected — OBR-11 is optional in the standard but functionally required by most lab profiles. Engines should warn rather than NACK on blank values, and default the downstream interpretation explicitly.
  • Case sensitivity — HL70065 codes are case-sensitive uppercase; l is not valid.
  • Reflex audit chain — When G is received, engines must capture the parent observation that triggered the reflex (typically in OBR-29 Parent or the v2.6+ OBR-50 reference) so the audit chain is complete.
  • Round-trip preservation — When mapping to FHIR ServiceRequest, store the original HL70065 code as an extension so the outbound v2 channel can restore the exact action without re-deriving it from intent and status.

How Vorro handles HL70065

Vorro validates OBR-11 against the seven HL70065 codes on ingest. Valid codes are forwarded to downstream channels untouched. Blank OBR-11 values are filled with O and a structured warning is attached so operations can see which senders are non-conformant without blocking the order. Unknown codes are NACKed with AE and the offending value is captured in the audit log so terminology curation can either resolve it to one of the seven canonical codes or escalate to the trading partner.

On outbound, Vorro emits HL70065 as ID for v2.5 and earlier profiles and as CWE with CWE.14 populated for v2.7+ destinations that advertise OID-bound coded values. The original action code is always preserved when round-tripping through FHIR ServiceRequest and Specimen so reflex chains and revised orders remain distinguishable downstream.

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 Table HL70065: Specimen Action Code | Vorro Academy | Vorro