Schedule a demo
Segment

Anti-Microbial Cycle Data

Records sterilization cycle parameters captured from anti-microbial processing devices, including start and completion times, temperature ranges, pressure readings, and phase durations. It is transmitted in sterilization device messages (SDN, SDR, SDS) to document individual cycle runs, enabling central sterile departments and infection control systems to verify that each load met required exposure thresholds and to flag alarm or abort conditions for regulatory compliance and quality assurance.

37fields
0required
v2.9HL7 version
scd.py
from zato.hl7v2 import SCD

scd = SCD()
scd.cycle_start_time = '0830'
scd.cycle_count = '147'
scd.load_number = '5'
scd.cycle_complete_time = '0912'

Build SCD segments in Python

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

1

Basic cycle record

Sterilization cycle with start time, count, temperatures, and load number

from zato.hl7v2.v2_9 import SCD
from zato.hl7v2.v2_9 import CWE, CQ

scd = SCD()
scd.cycle_start_time = '0830'
scd.cycle_count = '147'
scd.temp_max = CQ(
    quantity='134',
    units='min'
)
scd.condition_time = CQ(
    quantity='12',
    units='min'
)
scd.sterilize_time = CQ(
    quantity='4',
    units='min'
)
scd.exhaust_time = CQ(
    quantity='3',
    units='min'
)
scd.total_cycle_time = CQ(
    quantity='49',
    units='min'
)
scd.device_status = CWE(
    identifier='SA',
    text='Success',
    name_of_coding_system='HL70682'
)
scd.dry_time = CQ(
    quantity='10',
    units='min'
)
scd.leak_rate = CQ(
    quantity='0.5',
    units='mmHg'
)
2

Alarm and abort tracking

Cycle record with alarm condition, abort flag, over-temperature, and operator details

from zato.hl7v2.v2_9 import SCD
from zato.hl7v2.v2_9 import CNE, CQ, XCN

scd = SCD()
scd.cycle_start_time = '0615'
scd.cycle_count = '302'
scd.over_temperature = CQ(
    quantity='138',
    units='degC'
)
scd.alarm = CNE(
    identifier='Y',
    text='Yes',
    name_of_coding_system='HL70532'
)
scd.operator_unload = XCN(
    person_identifier='9001',
    family_name='JONES',
    given_name='MARY'
)
3

Washer-disinfector cycle

Cycle record for a washer-disinfector with wash time, thermal rinse, and fill time

from zato.hl7v2.v2_9 import SCD
from zato.hl7v2.v2_9 import CWE, CQ

scd = SCD()
scd.cycle_start_time = '1400'
scd.cycle_count = '88'
scd.load_number = '12'
scd.total_cycle_time = CQ(
    quantity='35',
    units='min'
)
scd.device_status = CWE(
    identifier='SA',
    text='Success',
    name_of_coding_system='HL70682'
)
scd.cycle_start_date_time = (
    '20240315140000'
)
scd.cycle_type = CWE(
    identifier='WD',
    text='Washer',
    name_of_coding_system='HL70702'
)
scd.thermal_rinse_time = CQ(
    quantity='5',
    units='min'
)
scd.wash_time = CQ(
    quantity='8',
    units='min'
)
scd.fill_time = CQ(
    quantity='3',
    units='min'
)
scd.inlet_temperature = CQ(
    quantity='72',
    units='degC'
)

Learn by building

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

Frequently asked questions

SCD captures the operational parameters of a single anti-microbial processing cycle, including timing phases, temperature readings, alarm states, and operator details. It appears in sterilization device messages so central sterile departments can verify that each load met required exposure and environmental thresholds.

Timing fields such as sterilize_time and exhaust_time use the CQ (composite quantity) datatype, combining a numeric value with a unit:

from zato.hl7v2.v2_9 import SCD, CQ

scd = SCD()
scd.sterilize_time = CQ(
    quantity='4',
    units='min'
)

qty = scd.sterilize_time.quantity
unit = scd.sterilize_time.units

The device_status field uses the CWE datatype with HL7 table 0682:

from zato.hl7v2.v2_9 import SCD, CWE

scd = SCD()
scd.device_status = CWE(
    identifier='SA',
    text='Success',
    name_of_coding_system='HL70682'
)

The alarm and abort_cycle fields use the CNE datatype with HL7 table 0532 (Yes/No):

from zato.hl7v2.v2_9 import SCD, CNE

scd = SCD()
scd.alarm = CNE(
    identifier='Y',
    text='Yes',
    name_of_coding_system='HL70532'
)
scd.abort_cycle = CNE(
    identifier='N',
    text='No',
    name_of_coding_system='HL70532'
)

The operator_unload field uses the XCN (extended composite ID and name) datatype:

from zato.hl7v2.v2_9 import SCD, XCN

scd = SCD()
scd.operator_unload = XCN(
    person_identifier='9001',
    family_name='JONES',
    given_name='MARY'
)

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.

SCD field reference

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

#Python nameDatatypeUsageRepeatableTable
1cycle_start_timeTMOptionalNo-
2cycle_countNMOptionalNo-
3temp_maxCQOptionalNo-
4temp_minCQOptionalNo-
5load_numberNMOptionalNo-
6condition_timeCQOptionalNo-
7sterilize_timeCQOptionalNo-
8exhaust_timeCQOptionalNo-
9total_cycle_timeCQOptionalNo-
10device_statusCWEOptionalNoHL70682
11cycle_start_date_timeDTMOptionalNo-
12dry_timeCQOptionalNo-
13leak_rateCQOptionalNo-
14control_temperatureCQOptionalNo-
15sterilizer_temperatureCQOptionalNo-
16cycle_complete_timeTMOptionalNo-
17under_temperatureCQOptionalNo-
18over_temperatureCQOptionalNo-
19abort_cycleCNEOptionalNoHL70532
20alarmCNEOptionalNoHL70532
21long_in_charge_phaseCNEOptionalNoHL70532
22long_in_exhaust_phaseCNEOptionalNoHL70532
23long_in_fast_exhaust_phaseCNEOptionalNoHL70532
24resetCNEOptionalNoHL70532
25operator_unloadXCNOptionalNo-
26door_openCNEOptionalNoHL70532
27reading_failureCNEOptionalNoHL70532
28cycle_typeCWEOptionalNoHL70702
29thermal_rinse_timeCQOptionalNo-
30wash_timeCQOptionalNo-
31injection_rateCQOptionalNo-
32procedure_codeCNEOptionalNoHL70088
33patient_identifier_listCXOptionalYes-
34attending_doctorXCNOptionalNoHL70010
35dilution_factorSNOptionalNo-
36fill_timeCQOptionalNo-
37inlet_temperatureCQOptionalNo-

Ready to build integrations?

Get started with Zato and connect your systems in minutes.

Open source In Python