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

HL7 INV Segment: Inventory Detail

The INV (Inventory Detail) segment describes a single inventoried substance — typically a reagent, calibrator, control, or other consumable used on an automated instrument or in a clinical laboratory. It carries the substance identifier and status, container and carrier position, several quantity views (initial, current, available, consumption), expiration and first-used timestamps, on-board stability, lot and manufacturer/supplier identifiers, and a target value with stability time.

Purpose

INV is the substance-aware counterpart to a generic stock-count message. It is designed so that an instrument or supply system can report a complete, point-in-time picture of one inventory item: identity, regulatory status, where it sits in the analyzer, how much is left, when it expires, what lot it belongs to, and who made and supplied it. Common uses:

  • Automated analyzers reporting reagent inventory back to a LIS or middleware.
  • Inventory update messages (INU^U05) that resynchronize the LIS view of an instrument's reagent bay.
  • Supply-chain integrations that need both quantity and stability metadata to decide whether to replenish.

Used in

INV appears in inventory and supply update flows rather than in clinical orders:

  • Inventory update (INU^U05) — the canonical home for INV, used to report or update the inventory state of one or more substances on an instrument.
  • Automated equipment specimen status update (ESU^U01) and related lab automation messages that carry inventory snapshots alongside specimen state.
  • Vendor- or middleware-specific supply update flows that embed INV inside a general order group; in those flows, ORM^O01 order detail can be reused as a transport, even though ORM is not the standard home for INV.

Field-by-field reference

The table below lists every INV field defined in HL7 v2.5.1, as published in the HAPI v2.5.1 javadoc. Data types link to their dedicated reference pages. Required (Req) values reflect HL7's optionality (R = required, O = optional). Repeat is Y where the javadoc shows the field as repeating, otherwise "—". Table # is shown only where a well-established HL7 user-defined or HL7-defined table applies.

SeqNameData TypeLengthReqRepeatTable #Description
INV-1Substance IdentifierceRCoded identifier of the inventoried substance
INV-2Substance StatusceOY[HL70383]Coded status of the substance
INV-3Substance TypeceO[HL70384]Coded type/category of the substance
INV-4Inventory Container IdentifierceOIdentifier of the container holding the substance
INV-5Container Carrier IdentifierceOIdentifier of the carrier holding the container
INV-6Position on CarrierceOPosition of the container on its carrier
INV-7Initial QuantitynmOQuantity present when the container was loaded
INV-8Current QuantitynmOQuantity currently present in the container
INV-9Available QuantitynmOQuantity available for use right now
INV-10Consumption QuantitynmOQuantity consumed per use or per test
INV-11Quantity UnitsceOUnit of measure for the quantity fields
INV-12Expiration Date/TimetsOManufacturer's expiration date/time
INV-13First Used Date/TimetsODate/time the substance was first used
INV-14On Board Stability DurationtqODuration of stability while loaded on the instrument
INV-15Test/Fluid Identifier(s)ceOYTests or fluids associated with the substance
INV-16Manufacturer Lot NumberstOManufacturer's lot number for the substance
INV-17Manufacturer IdentifierceOCoded identifier of the manufacturer
INV-18Supplier IdentifierceOCoded identifier of the supplier
INV-19On Board Stability TimecqOTime-with-units form of on-board stability
INV-20Target ValuecqOTarget quantity value with units for the substance

Most-used fields

  • INV-1 Substance Identifier — the only required field; without it the segment is meaningless.
  • INV-2 Substance Status — drives the LIS view of whether the substance is OK, expired, depleted, or in error. Bound to HL7 table 0383.
  • INV-3 Substance Type — distinguishes reagent vs calibrator vs control vs diluent. Bound to HL7 table 0384.
  • INV-8 / INV-9 / INV-11 — current quantity, available quantity, and their unit are the most-watched fields in day-to-day operations.
  • INV-12 Expiration Date/Time and INV-16 Manufacturer Lot Number — the two fields most commonly required for QC and recall traceability.

Version differences (2.3 to 2.8.2)

  • HL7 v2.3 / v2.3.1 — INV is not part of the original lab inventory message set and is added later; some sites send a smaller subset of fields.
  • HL7 v2.4 — INV is formalized as part of the laboratory automation chapter, with the field set close to the modern shape.
  • HL7 v2.5 / v2.5.1 — the version documented here. The full 20 fields are in place, with HL70383 and HL70384 used for status and type.
  • HL7 v2.6 — some coded fields begin migrating from CE to CWE; INV-1's table usage becomes more strictly enforced.
  • HL7 v2.7 / v2.7.1 — CWE replaces CE for most coded fields in conformant profiles; field count is stable.
  • HL7 v2.8 / v2.8.1 / v2.8.2 — INV remains stable with 20 fields. Implementations should confirm whether the partner expects CE or CWE for INV-1 through INV-6, INV-11, INV-15, INV-17, and INV-18.

Common mistakes

  • Sending INV without INV-1; some receivers will silently drop the segment.
  • Confusing INV-7 (initial quantity), INV-8 (current), INV-9 (available), and INV-10 (consumption). Each has distinct semantics; populating them inconsistently produces incorrect depletion math.
  • Omitting INV-11. Without units, the four NM quantity fields are not portable across receivers.
  • Using a date (DT) where INV-12 / INV-13 require a date/time (TS), leading to format-validation errors.
  • Treating INV-14 (TQ) and INV-19 (CQ) as interchangeable. They express on-board stability in two different shapes; profiles usually pick one.
  • Sending INV-2 or INV-3 values outside HL70383 / HL70384, e.g. local free-text strings the receiver cannot map.

Examples

Minimal INV

INV|RGT-GLU-001^Glucose Reagent^99LAB

Fully populated INV

INV|RGT-GLU-001^Glucose Reagent^99LAB|OK^OK^HL70383|RG^Reagent^HL70384|CARTRIDGE-7791^Cartridge 7791^L|CARRIER-A^Carrier A^L|POS-03^Position 3^L|500|412|410|2|mL^millilitre^UCUM|20260815120000|20260601083200||GLUCOSE^Glucose^99LAB|LOT-2026-0044|MFG-ROCHE^Roche Diagnostics^L|SUP-VWR^VWR International^L|30^d&days&UCUM|500^mL&UCUM

Annotated breakdown

INV                  Segment ID — Inventory Detail
|RGT-GLU-001^...     INV-1  Substance Identifier (CE) — Glucose reagent
|OK^OK^HL70383       INV-2  Substance Status (CE, HL70383) — OK
|RG^Reagent^HL70384  INV-3  Substance Type (CE, HL70384) — Reagent
|CARTRIDGE-7791^...  INV-4  Inventory Container Identifier (CE)
|CARRIER-A^...       INV-5  Container Carrier Identifier (CE)
|POS-03^...          INV-6  Position on Carrier (CE)
|500                 INV-7  Initial Quantity (NM)
|412                 INV-8  Current Quantity (NM)
|410                 INV-9  Available Quantity (NM)
|2                   INV-10 Consumption Quantity (NM) per test
|mL^...              INV-11 Quantity Units (CE)
|20260815120000      INV-12 Expiration Date/Time (TS)
|20260601083200      INV-13 First Used Date/Time (TS)
|                    INV-14 On Board Stability Duration (TQ) — omitted
|GLUCOSE^...         INV-15 Test/Fluid Identifier(s) (CE)
|LOT-2026-0044       INV-16 Manufacturer Lot Number (ST)
|MFG-ROCHE^...       INV-17 Manufacturer Identifier (CE)
|SUP-VWR^...         INV-18 Supplier Identifier (CE)
|30^d&days&UCUM      INV-19 On Board Stability Time (CQ) — 30 days
|500^mL&UCUM         INV-20 Target Value (CQ) — 500 mL

In-context excerpt — INU^U05 inventory update

MSH|^~&|ANALYZER1|LAB|LIS|HOSP|20260610090000||INU^U05^INU_U05|MSG000901|P|2.5.1
EQU|ANALYZER1^Chem Analyzer 1^L|20260610085500|OK^OK^HL70566
INV|RGT-GLU-001^Glucose Reagent^99LAB|OK^OK^HL70383|RG^Reagent^HL70384|CARTRIDGE-7791^Cartridge 7791^L|CARRIER-A^Carrier A^L|POS-03^Position 3^L|500|412|410|2|mL^millilitre^UCUM|20260815120000|20260601083200||GLUCOSE^Glucose^99LAB|LOT-2026-0044|MFG-ROCHE^Roche Diagnostics^L|SUP-VWR^VWR International^L|30^d&days&UCUM|500^mL&UCUM
INV|CAL-GLU-LOW^Glucose Calibrator Low^99LAB|OK^OK^HL70383|CO^Calibrator^HL70384|CARTRIDGE-7792^Cartridge 7792^L|CARRIER-A^Carrier A^L|POS-04^Position 4^L|10|8|8|1|mL^millilitre^UCUM|20260701000000|20260601083200||GLUCOSE^Glucose^99LAB|LOT-CAL-119|MFG-ROCHE^Roche Diagnostics^L|SUP-VWR^VWR International^L|14^d&days&UCUM|10^mL&UCUM

In-context excerpt — multi-instrument supply update

MSH|^~&|MWARE|LAB|LIS|HOSP|20260610091500||INU^U05^INU_U05|MSG000902|P|2.5.1
EQU|ANALYZER2^Hematology 2^L|20260610091000|OK^OK^HL70566
INV|RGT-CBC-DIL^CBC Diluent^99LAB|OK^OK^HL70383|DI^Diluent^HL70384|BOTTLE-5512^Diluent Bottle^L|||10000|7820|7820|22|mL^millilitre^UCUM|20260930000000|20260520070000||CBC^CBC^99LAB|LOT-DIL-2026-08|MFG-SYSMEX^Sysmex^L|SUP-VWR^VWR International^L|60^d&days&UCUM|10000^mL&UCUM
INV|CTL-CBC-NORM^CBC Control Normal^99LAB|EX^Expired^HL70383|CO^Control^HL70384|VIAL-118^Control Vial 118^L|||4|0|0|0.5|mL^millilitre^UCUM|20260609000000|20260512064500||CBC^CBC^99LAB|LOT-CTL-NORM-77|MFG-SYSMEX^Sysmex^L|SUP-VWR^VWR International^L|7^d&days&UCUM|4^mL&UCUM

FHIR mapping

There is no segment-level ConceptMap published in the HL7 v2-to-FHIR Implementation Guide for INV. Conceptually, INV maps to a combination of FHIR InventoryItem and Substance:

  • INV-1 → Substance.code / InventoryItem.code.
  • INV-2 → InventoryItem.status (mapped from HL70383).
  • INV-3 → InventoryItem.category (mapped from HL70384).
  • INV-4 / INV-5 / INV-6 → InventoryItem.instance and location/position extensions.
  • INV-7 / INV-8 / INV-9 / INV-10 → InventoryItem.netContent and quantity extensions (initial, current, available, consumption).
  • INV-11 → unit on the above quantities.
  • INV-12 → InventoryItem.expiry / Substance.expiry.
  • INV-16 → Substance.instance.identifier (lot).
  • INV-17 / INV-18 → manufacturer and supplier references.
  • INV-19 / INV-20 → stability and target quantity extensions.

These mappings are conceptual; implementers usually need to bind a profile because InventoryItem does not natively carry every INV field as a first-class element.

Engine considerations

  • Quantity coherence — engines should validate that INV-9 (available) ≤ INV-8 (current) ≤ INV-7 (initial) when all three are present, and surface a warning rather than silently transmit nonsense.
  • Unit propagation — INV-11 must accompany any of INV-7 through INV-10. Engines should refuse to forward quantities without a unit.
  • Status normalization — values for INV-2 should be checked against HL70383; sites with local subsets should map to the standard codes before sending downstream.
  • Stability shapes — INV-14 (TQ) and INV-19 (CQ) often duplicate one another. Engines should pick a primary shape per interface and demote the other to derived data.
  • Lot and expiry pairing — INV-12 and INV-16 together drive QC and recall workflows. Engines should flag any INV that carries one without the other.
  • Repeating fields — INV-2 and INV-15 are repeating. Engines must preserve list ordering and not collapse repeats into a single value.

How Vorro parses and produces INV

Vorro's HL7 v2 engine treats INV as a structured snapshot rather than a loose bag of fields:

  • On inbound parsing, INV-1 is required; segments without it are quarantined with a clear validation message and never advanced into the canonical inventory model.
  • The four quantity fields and their unit are bound into a canonical Stock value object so downstream consumers see a coherent (initial, current, available, consumption, unit) tuple rather than four loose numerics.
  • INV-2 and INV-3 are validated against HL70383 and HL70384 respectively; locally defined extensions are preserved with full coding triplets.
  • INV-12 and INV-16 are treated as the recall-traceability pair; the engine emits a structured warning when only one is present.
  • On outbound generation, Vorro guarantees that repeating fields (INV-2, INV-15) preserve their canonical ordering and writes TS fields with full precision (YYYYMMDDHHMMSS) to keep round-trips stable.

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 INV Segment: Inventory Detail | Vorro Academy | Vorro