Schedule a demo
Segment

Device

Identifies a specific instance or type of device (medical or non-medical) used in healthcare delivery, carrying the unique device identifier (UDI), device type, and additional device attributes. It is referenced by PRT segments in order, result, and administration messages to provide detailed device information for implantable devices, diagnostic equipment, or IT assets, supporting UDI tracking and adverse event reporting.

17fields
1required
v2.9HL7 version
dev.py
from zato.hl7v2.v2_9 import DEV
from zato.hl7v2.v2_9 import EI, CNE

dev = DEV()
identifier = EI(entity_identifier='DEV001')
dev.unique_device_identifier = identifier
dev.device_type = CNE(
    identifier='PUMP',
    text='Infusion Pump'
)

Build DEV segments in Python

How to construct and work with real-world DEV segments.

1

Portable vital signs monitor provisioned to a ward

Registers a vital signs monitor with device type, status, and assignment to a care area

from zato.hl7v2.v2_9 import DEV
from zato.hl7v2.v2_9 import CNE, EI

dev = DEV()
dev.action_code = 'A'
dev.unique_device_identifier = EI(
    entity_identifier='VSM-4010',
    namespace_id='Bedside Devices'
)
dev.device_type = CNE(
    identifier='MON',
    text='Vital Signs Monitor',
    name_of_coding_system='HL70961'
)
dev.device_status = CNE(
    identifier='ACT',
    text='Active',
    name_of_coding_system='HL70962'
)
2

Infusion pump with manufacturer and model

Tracks an infusion pump including manufacturer, brand name, and model identifier

from zato.hl7v2.v2_9 import DEV
from zato.hl7v2.v2_9 import CNE, EI, XON

dev = DEV()
dev.action_code = 'A'
dev.unique_device_identifier = EI(
    entity_identifier='PUMP-7220',
    namespace_id='Clinical Equipment'
)
dev.device_type = CNE(
    identifier='PUMP',
    text='Infusion Pump',
    name_of_coding_system='HL70961'
)
dev.device_status = CNE(
    identifier='ACT',
    text='Active',
    name_of_coding_system='HL70962'
)
dev.manufacturer_distributor = XON(organization_name='MedFlow Devices')
dev.brand_name = 'SmartPump Pro'
dev.model_identifier = 'SP-3000'
3

Wearable fitness tracker with software version

Records a wearable fitness tracker with manufacture date, expiry date, and software version

from zato.hl7v2.v2_9 import DEV
from zato.hl7v2.v2_9 import CNE, EI, XON

dev = DEV()
dev.action_code = 'A'
dev.unique_device_identifier = EI(
    entity_identifier='WEAR-1155',
    namespace_id='Wearable Devices'
)
dev.device_type = CNE(
    identifier='WEAR',
    text='Wearable Tracker',
    name_of_coding_system='HL70961'
)
dev.device_status = CNE(
    identifier='ACT',
    text='Active',
    name_of_coding_system='HL70962'
)
dev.manufacturer_distributor = XON(organization_name='FitTech Solutions')
dev.brand_name = 'ActiveBand 5'
dev.device_manufacture_date = '20240301'
dev.device_expiry_date = '20290301'
dev.software_version_number = '4.2.1'

Learn by building

Step-by-step guides for working with HL7 v2 in Zato.

Frequently asked questions

DEV contains device information including device identifiers, types, and status for medical device tracking.

Common device types include PUMP (Infusion Pump), MON (Patient Monitor), and VENT (Ventilator).

Use unique_device_identifier field with EI datatype:

from zato.hl7v2.v2_9 import DEV
from zato.hl7v2.v2_9 import EI

dev = DEV()
dev.unique_device_identifier = EI(entity_identifier='DEV001')

DEV identifies the device while OBX contains observations from that device. OBX segments can reference DEV for device-generated data.

Recording device_manufacture_date and device_expiry_date helps teams retire aging wearables and home monitors on time so activity, heart-rate, and nutrition tracking stay dependable for healthy living goals.

from zato.hl7v2.v2_9 import DEV
from zato.hl7v2.v2_9 import DTM

dev = DEV()
dev.device_manufacture_date = DTM('20240115')
dev.device_expiry_date = DTM('20261231')

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.

DEV field reference

Complete list of fields in the DEV segment, HL7 v2.9.

#Python nameDatatypeUsageRepeatableTable
1action_codeIDRequiredNo-
2unique_device_identifierEIOptionalNo-
3device_typeCNEOptionalYesHL70961
4device_statusCNEOptionalYesHL70962
5manufacturer_distributorXONOptionalNo-
6brand_nameSTOptionalNo-
7model_identifierSTOptionalNo-
8catalogue_identifierSTOptionalNo-
9udi_device_identifierEIOptionalNo-
10device_lot_numberSTOptionalNo-
11device_serial_numberSTOptionalNo-
12device_manufacture_dateDTMOptionalNo-
13device_expiry_dateDTMOptionalNo-
14safety_characteristicsCWEOptionalYesHL70963
15device_donation_identificationEIOptionalNo-
16software_version_numberSTOptionalNo-
17implantation_statusCNEOptionalNoHL70795

Ready to build integrations?

Get started with Zato and connect your systems in minutes.

Open source In Python