Identifies a specific substance (reagent, calibrator, or QC material) used in producing an analytical test result, carrying the application or method identifier, lot number, container identifier, and manufacturer. It is attached to TCD or SAC segments in laboratory automation messages. SID enables traceability of which specific reagent lot and manufacturer were involved in generating a given result, which is critical for quality control in the clinical lab.
from zato.hl7v2 import SID
sid = SID()
sid.substance_lot_number = 'LOT-2024-WELL'How to construct and work with real-world SID segments.
Vitamin assay bottle tied to vendor and dispense method
from zato.hl7v2.v2_9 import SID
from zato.hl7v2.v2_9 import CWE
sid = SID()
sid.application_method_identifier = CWE(
identifier='DISP',
text='Dispense',
)
sid.substance_lot_number = 'LOT-VITA-88'
sid.substance_container_identifier = 'BOTTLE-12A'
sid.substance_manufacturer_identifier = CWE(
identifier='ACME',
text='Acme Diagnostics',
)Micronutrient cartridge lot with probe application code
from zato.hl7v2.v2_9 import SID
from zato.hl7v2.v2_9 import CWE
sid = SID()
sid.application_method_identifier = CWE(
identifier='PROBE',
text='Probe wash',
)
sid.substance_lot_number = 'LOT-NUTR-44'
sid.substance_container_identifier = 'CART-SLOT-7'
sid.substance_manufacturer_identifier = CWE(
identifier='FRESH',
text='Fresh Labs',
)Exercise chemistry calibrator with auto-pipette application
from zato.hl7v2.v2_9 import SID
from zato.hl7v2.v2_9 import CWE
sid = SID()
sid.application_method_identifier = CWE(
identifier='AUTO',
text='Auto pipette',
)
sid.substance_lot_number = 'LOT-FIT-12'
sid.substance_container_identifier = 'VIAL-RACK-03'
sid.substance_manufacturer_identifier = CWE(
identifier='SPORT',
text='SportLab',
)Step-by-step guides for working with HL7 v2 in Zato.
INV tracks how much material is on board and when it expires. SID answers which lot and container instance is wired to a particular test step, which matters for wellness panel audits and preventive screening accreditation.
Read attributes directly from the SID segment:
from zato.hl7v2.v2_9 import SID, CWE
sid = SID()
sid.substance_lot_number = 'L2025A'
sid.substance_manufacturer_identifier = CWE(
identifier='NLB',
text='NutriLab',
)Use a coded method that matches your analyzer profile, for example dispense or probe wash:
from zato.hl7v2.v2_9 import SID, CWE
sid = SID()
sid.application_method_identifier = CWE(
identifier='DISP',
text='Dispense',
)Pair them with manufacturer_identifier so regional wellness labs can disambiguate colliding lot strings. Many sites also prefix site codes in substance_container_identifier.
Drivers may emit one SID per reagent line in a multiplex wellness panel. Your integration can correlate each SID with the matching INV and TCD rows using order context and timing segments.
Zato connects to any system that speaks HL7v2 over MLLP or FHIR over REST. This includes Epic, Cerner, Meditech, Allscripts, and other EHR platforms.
Yes, Zato has built-in MLLP support for sending and receiving HL7v2 messages. MLLP channels handle the framing protocol automatically.
Zato supports HL7 v2.9, which is backward compatible with earlier versions including v2.3, v2.5, and v2.7. Standard segments and datatypes are available as typed Python classes.
Yes. Zato handles both HL7v2 and FHIR natively, so you can parse v2 messages and build FHIR resources with IG-specific extensions in the same service. Typed Python classes are available for both protocols, including extensions from US Core, UK Core, Da Vinci, and other Implementation Guides.
Complete list of fields in the SID segment, HL7 v2.9.
| # | Python name | Datatype | Usage | Repeatable | Table |
|---|---|---|---|---|---|
| 1 | application_method_identifier | CWE | Optional | No | HL70783 |
| 2 | substance_lot_number | ST | Optional | No | - |
| 3 | substance_container_identifier | ST | Optional | No | - |
| 4 | substance_manufacturer_identifier | CWE | Optional | No | HL70385 |
Get started with Zato and connect your systems in minutes.