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

HL7 SID Segment: Substance Identifier

The SID (Substance Identifier) segment identifies a substance — a reagent, consumable, or pharmacy ingredient — by the application or method that uses it, together with the lot, container, and manufacturer information that make a specific physical instance of that substance traceable. It is a small but high-value segment: the four fields together answer "which substance, in what form, from which manufacturer, in which container, and from which lot?" — the question every recall, expiry check, and chain-of-custody audit must answer.

Unlike INV, which describes a stocked inventory item and its on-hand quantity, SID describes the substance identifier that an inventory or pharmacy line refers to. It rides alongside inventory and pharmacy order segments rather than replacing them.

Purpose

The purpose of SID is to carry the identifying triple of substance, lot, and container, scoped to a specific application or method that consumes the substance. SID-1 (Application/Method Identifier) names the assay, instrument procedure, or pharmacy preparation that the substance is being used in; SID-2 (Substance Lot Number) carries the manufacturer's lot for traceability and recall; SID-3 (Substance Container Identifier) carries the container or bottle identifier so a specific physical container can be located and audited; and SID-4 (Substance Manufacturer Identifier) names the manufacturer.

SID is normally emitted as part of an inventory exchange or a pharmacy preparation record, accompanying segments like INV (Inventory Detail) or RXE (Pharmacy/Treatment Encoded Order) that already describe the broader inventory line or order context.

Used in

SID is used in pharmacy and inventory exchanges built on the ORM order message family and in laboratory inventory messages built on the same backbone. Within those exchanges it accompanies inventory or pharmacy segments — INV for inventory lines and RXE for pharmacy preparations — and identifies the specific substance instance being inventoried, dispensed, or consumed.

Field-by-field reference

Source: HAPI HL7v2 v2.5.1 javadocs (https://hapifhir.github.io/hapi-hl7v2/v251/apidocs/ca/uhn/hl7v2/model/v251/segment/SID.html) for sequence, name, data type, and repetition. Length is not published in the javadocs (); Required and Table # are filled from the HL7 v2.5.1 standard where well-established.

SeqNameData TypeLengthReqRepeatTable #Description
SID-1Application / Method IdentifierceRAssay or method consuming the substance
SID-2Substance Lot NumberstOManufacturer lot for traceability
SID-3Substance Container IdentifierstOPhysical container or bottle identifier
SID-4Substance Manufacturer IdentifierceOManufacturer of the substance

Most-used fields

SID-1 (Application/Method Identifier) is the only required field and anchors the substance to the assay, instrument procedure, or pharmacy preparation that consumes it — without it, a lot number is just a number. SID-2 (Substance Lot Number) is the field most often used by recall and expiry workflows; it is almost always populated when SID is sent. SID-3 (Substance Container Identifier) is used by chain-of-custody and bench-level tracking to point at a specific physical container, and SID-4 (Substance Manufacturer Identifier) is used by inventory and procurement to roll lots up to manufacturers.

Version differences (2.3 to 2.8.2)

SID was introduced in HL7 v2.5 to support laboratory and pharmacy substance traceability and has carried its four-field structure unchanged through v2.8.2. The principal evolution is in data types: the CE fields SID-1 and SID-4 gained additional components (notably alternate coding system version IDs) in later versions, and CE itself is replaced by CWE in some downstream variants. The ST fields SID-2 and SID-3 are stable. No SID field was added, removed, or renumbered, but transforms that move between v2.5.1 and v2.7+ must account for the CE-to-CWE component changes on SID-1 and SID-4.

Common mistakes

The most common mistake is omitting SID-1 (Application/Method Identifier) and treating SID as if a lot number alone were sufficient — a lot is only meaningful when bound to the assay or preparation that consumed it. Another is packing multiple lots into SID-2 separated by ad-hoc delimiters; SID-2 is a single ST and the segment does not repeat, so multiple lots require multiple SID segments in the surrounding message. Implementers also confuse SID-3 (a specific physical container) with the inventory line in INV — SID-3 names the bottle, not the catalog item. Finally, SID-4 is a CE coded element identifying the manufacturer; a free-text manufacturer name belongs in the CE's text component, not in place of the identifier.

Examples

Minimal SID (application/method only):

SID|GLU^Glucose Hexokinase^L

Fully-populated SID:

SID|GLU^Glucose Hexokinase^L|LOT-GLU-44219|CTN-778812|RC-001^Roche Diagnostics^MFR

Annotated breakdown:

SID|GLU^Glucose Hexokinase^L|LOT-GLU-44219|CTN-778812|RC-001^Roche Diagnostics^MFR
    |                       |              |          |
    |                       |              |          +--> SID-4 Substance Manufacturer Identifier (CE) = Roche Diagnostics
    |                       |              +-------------> SID-3 Substance Container Identifier (ST) = CTN-778812
    |                       +----------------------------> SID-2 Substance Lot Number (ST) = LOT-GLU-44219
    +----------------------------------------------------> SID-1 Application / Method Identifier (CE) = Glucose Hexokinase

In-context excerpt 1 — SID inside a laboratory inventory message built on the ORM backbone, accompanying an INV line that reports on-hand reagent stock:

MSH|^~&|LIS|NORTHLAB|INV|CENTRAL|20260610120000||ORM^O01^ORM_O01|MSG10044|P|2.5.1
EQU|ANALYZER-7^Cobas c503^L|20260610120000|OK^Operational^HL70322
INV|REAG-GLU-001^Glucose Hexokinase Reagent^L|OK^Operational^HL70383|REAG^Reagent^L|225|mL|||20260601000000|20260801000000|||LOT-GLU-44219
SID|GLU^Glucose Hexokinase^L|LOT-GLU-44219|CTN-778812|RC-001^Roche Diagnostics^MFR

In-context excerpt 2 — SID inside a pharmacy order built on ORM, accompanying an RXE for a compounded preparation where the ingredient lot must be tracked:

MSH|^~&|PHARM|CENTRAL|EHR|EAST|20260610130000||ORM^O01^ORM_O01|MSG10055|P|2.5.1
PID|1||MRN551203^^^CENTRAL^MR||Tan^Wei^L||19850620|M
ORC|NW|RX-2026-00881|||IP||1^^^20260610130000^^R||20260610130000
RXE|^^^20260610130000|VANC-INJ-500^Vancomycin 500 mg injection^L|500|mg|^IV||||||||1|VL^Vial^HL70163
SID|VANC-PREP^Vancomycin Reconstitution^L|LOT-VANC-90211|CTN-90211-07|HOSP-001^Hospira^MFR

FHIR mapping

There is no segment-level ConceptMap published in the v2-to-FHIR Implementation Guide for SID, so the target is "Not mapped at the segment level." Conceptually, SID maps across Substance and Medication.ingredient: SID-1 (Application/Method Identifier) names the using procedure or preparation and so informs the parent Procedure, DiagnosticReport, or Medication, SID-2 (Substance Lot Number) corresponds to Substance.instance.expiry-related identifier or Medication.batch.lotNumber, SID-3 (Substance Container Identifier) typically becomes a Substance.identifier or a custom container identifier, and SID-4 (Substance Manufacturer Identifier) corresponds to Medication.manufacturer or Substance.identifier with a manufacturer assigner. Any SID transform must be defined locally and verified per interface because no normalized mapping is standardized.

Engine considerations

SID has no repeating fields, so an engine must emit one SID segment per substance instance rather than packing repetitions into a single field. The required SID-1 should be validated as a non-empty CE and resolved against the local application/method catalog before the surrounding inventory or pharmacy line is accepted. The CE fields SID-1 and SID-4 should be normalized into code, text, and coding-system components rather than treated as opaque strings, especially when bridging to v2.7+ where CWE replaces CE for the same fields. Because SID is contextually attached to an INV or RXE line, engines should preserve the segment grouping on re-serialization so the substance identifier stays bound to the line it qualifies.

How Vorro parses and produces SID

When Vorro parses SID, it materializes a substance-instance record keyed by SID-2 (Substance Lot Number) when present and otherwise by SID-3 (Substance Container Identifier), scoped to the application or method named in SID-1. The CE fields SID-1 and SID-4 are decomposed into code, text, and coding system, and the result is bound to the surrounding inventory or pharmacy line so chain-of-custody and recall queries can resolve from a line back to its lot and manufacturer.

When Vorro produces SID, it emits exactly one segment per substance instance attached to its inventory or pharmacy line, always populating SID-1 with a coded application/method identifier. Lot and container are written as ST values without ad-hoc delimiters, and the manufacturer is reassembled into a CE with identifier, text, and coding-system components. The grouping with the preceding INV or RXE segment is preserved so receivers can reattach the substance instance to its line.

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 SID Segment: Substance Identifier | Vorro Academy | Vorro