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

HL7 STC Messages: Sterilization Anti-microbial Cycle Notification

HL7 STC messages notify a tracking system that a sterilization or anti-microbial cycle has been performed on a device, instrument tray, or load — the decontamination record that central sterile processing departments emit when a load completes its run through an autoclave, washer-disinfector, or low-temperature sterilizer. An STC message is the cycle-completion notification: a sterilizer or its controlling system sends one STC carrying the equipment instance and event time in EQU, one or more device-load records in SDD, and one or more cycle-parameter records in SCD, so the receiving instrument-tracking or sterile-processing system can log the decontamination event for each item in the load. STC was introduced in HL7 v2.7 and is not part of v2.5.1; teams running v2.5.1 feeds will not encounter this message. This page documents the v2.7 form: what an STC message represents, the trigger event that carries it, every segment the message can contain and what each one holds, and how an STC notification relates to FHIR. Sample content is constructed for illustration with fictional identifiers.

What an STC message represents

An STC message — STC stands for Sterilization Anti-microbial Cycle Notification — communicates that a sterilization or anti-microbial cycle has completed on a piece of decontamination equipment, and reports the load it ran on and the parameters it ran with. The core of the message is the pairing of EQU, which identifies the sterilizer instance and stamps the cycle event time, with one or more SDD segments naming the lot, device, and load that went through the cycle, and one or more SCD segments carrying the cycle parameters — exposure time, temperature, pressure, sterilizer type, cycle type, dryness fraction, leak rate, and graph data. Each SDD represents one device or tray in the load; each SCD represents the cycle parameters captured during the run.

STC was introduced in HL7 v2.7 and is not part of v2.5.1; teams running v2.5.1 feeds will not encounter this message. This page documents the v2.7 form. STC is an unsolicited notification: the sterilizer (or the sterile-processing system that wraps it) emits the message when a cycle completes, on its own initiative, rather than in response to a query. The EQU segment pins the cycle to a specific equipment instance (EQU-1) at a specific moment (EQU-2) in a known equipment state (EQU-3). The sender is the sterilizer or its controller; the receiver is an instrument-tracking system, a sterile-processing information system, or the integration layer that fans the record out to surgical scheduling and inventory. Because the message records what happened to a load of instruments, the device-load identifiers in SDD and the cycle parameters in SCD are the fields that drive downstream behaviour — releasing trays for surgical use, escalating failed loads, and proving compliance for an audit.

When an STC message is sent

An STC message is sent whenever a sterilization or anti-microbial cycle completes on a tracked piece of equipment — an autoclave finishing a steam cycle on a tray, a washer-disinfector finishing a wash on a basket, a low-temperature sterilizer finishing a hydrogen-peroxide or ethylene-oxide cycle on a load of heat-sensitive devices. It is event-driven and unsolicited: the sterilizer reports each completed cycle as it ends. STC lives alongside EAC, EAN, and the laboratory-automation status messages in the broader equipment-message family, but is specific to central sterile processing rather than the laboratory automation line.

Trigger event

The STC message type carries a single trigger event:

  • STC^S33 – Notification of sterilization anti-microbial cycle.

Because STC has one trigger event, the receiver's handling turns on the load identifiers in SDD and the cycle parameters in SCD — which items ran, and how the cycle ran — rather than on the trigger code in MSH-9.

Integration topology

The diagram shows the sterilizer (or its controller) emitting an STC notification through the integration engine to the instrument-tracking and sterile-processing systems that consume cycle records.

{{diagram: sterilizer / sterile processing controller → STC notification → integration engine → instrument tracking system / SPD information system / surgical scheduling}}

Typical senders: an autoclave, washer-disinfector, or low-temperature sterilizer, or the sterile-processing information system that wraps a fleet of them.

Typical receivers: an instrument-tracking system, an SPD information system, a surgical scheduling system, or an enterprise integration engine fanning the record out to inventory and compliance reporting.

Direction: one-way notification — the STC travels from the sterilizer to the tracking systems; there is no paired response message in the cycle-notification flow.

Segments in an STC message

The STC_S33 message opens with MSH, optional SFT and UAC, and the equipment detail in EQU, and then carries one or more SDD device-load records and one or more SCD cycle-parameter records. Cardinality follows HL7 notation: [X] optional, {X} repeating, [{X}] optional and repeating; a bare code is required. Each segment code links to its canonical field-by-field reference.

SegmentDescription
MSHMessage Header. Opens every STC message. It names the sending and receiving applications and facilities, stamps the creation time, declares the trigger event in MSH-9 (STC^S33), carries the message control id in MSH-10, and pins the HL7 version. Receivers route on MSH-9 and deduplicate on MSH-10.
[{SFT}]Software Segment. Identifies the sending software — vendor, product, version, install date — for an STC produced by a regulated sterilization-tracking application. Optional and repeating; commonly omitted on instrument-direct feeds, present on feeds from a sterile-processing information system.
[UAC]User Authentication Credential. Carries authentication context for the sending user or system where the channel requires it. Optional.
EQUEquipment Detail. Identifies the sterilizer instance reporting the cycle. EQU-1 carries the equipment instance identifier, EQU-2 the event date/time, and EQU-3 the equipment state. Required, and the anchor of the message — every SDD and SCD that follows is scoped to the equipment named here.
{SDD}Sterilization Device Data. Identifies one device, tray, or load that went through the cycle. SDD-1 carries the lot number, SDD-2 the device number, SDD-3 the device name, SDD-4 the device data state, SDD-5 the load status, SDD-6 the control code, and SDD-7 the operator name. Required and repeating — one SDD per item in the load.
{SCD}Anti-Microbial Cycle Data. Carries the parameters of the cycle that ran. SCD-1 is the cycle date/time, SCD-2 the exposure time, SCD-3 the temperature, SCD-4 the sterilizer type, SCD-5 the cycle type, SCD-6 the cycle pressure, SCD-7 the dryness fraction, SCD-8 the leak rate, and SCD-15 the graph data captured during the run. Required and repeating. The segment was renamed in v2.7 from Sterilization Configuration Data to Anti-Microbial Cycle Data; the three-letter code stays SCD.

[ ] = optional, { } = repeating

SDD covers the device load — what went through the sterilizer — and SCD covers the cycle parameters — how the sterilizer ran. Both repeat, so one STC can record a multi-tray load processed under one cycle profile, or a complex run where parameters changed mid-cycle. The canonical segment pages carry the full field-by-field detail.

Sample STC message

Note. Constructed for illustration. Equipment identifiers, lot numbers, device numbers, operator names, and dates are fictional.

MSH|^~&|STERILIZER01|MERCYGEN|TRACKSYS|MERCYGEN|202006150930||STC^S33^STC_S33|MSG00091|P|2.7
EQU|STERILIZER01^MERCYGEN^EI|202006150930|IT
SDD|LOT2026061501|TRAY78901|GENERAL_SURGERY_TRAY|VAL|COMPLETE|OK|J.RIVERA^Rivera^Jordan
SDD|LOT2026061501|TRAY78902|LAPAROSCOPY_TRAY|VAL|COMPLETE|OK|J.RIVERA^Rivera^Jordan
SCD|202006150830|4^min|134^C|STEAM|PREVAC|2.1^bar|0.95|0.05^mbar/min|||||||GRAPHREF=CYCLE89001

What this sample shows

The STC^S33 in MSH-9 marks a sterilization cycle notification. EQU identifies the sterilizer instance STERILIZER01 at 202006150930, with equipment state IT in EQU-3. The two SDD segments name two trays — TRAY78901 (a general-surgery tray) and TRAY78902 (a laparoscopy tray) — both tagged to lot LOT2026061501, both in device data state VAL (validated) and load status COMPLETE, with control code OK, processed by operator J.RIVERA. The SCD segment captures the cycle: a steam sterilizer running a prevacuum cycle on 202006150830, with exposure time 4 minutes, temperature 134 °C, pressure 2.1 bar, dryness fraction 0.95, leak rate 0.05 mbar/min, and a graph reference CYCLE89001 in the graph-data field — the parameter trace the tracking system stores against the load.

Working with STC messages

Treat every SDD as a separately releasable load item

Each SDD names one device, tray, or load item that went through the cycle, with its own load status in SDD-5 and control code in SDD-6. A multi-tray load can have most items pass and one fail — the tracking system must release each SDD on its own merits rather than on a single load-level verdict. Read every SDD and reconcile its status before releasing trays for surgical use.

Read SCD as the cycle-validity record

SCD-2 exposure time, SCD-3 temperature, SCD-6 pressure, SCD-7 dryness fraction, and SCD-8 leak rate are the parameters a sterile-processing quality programme reads to confirm a cycle was valid. A load with COMPLETE in SDD-5 but out-of-range parameters in SCD should be held, not released. The graph data in SCD-15 is the trace the compliance team falls back on when a cycle is challenged.

Pin every cycle to the equipment named in EQU

EQU-1 identifies the sterilizer instance; every SDD and SCD in the message is scoped to that instance. A site with a fleet of sterilizers must store the cycle record keyed on the equipment identifier so that an audit can reconstruct which physical sterilizer ran which load.

Honour the SDD device data state and load status

SDD-4 device data state and SDD-5 load status are not the same field — SDD-4 describes whether the device record itself is valid, while SDD-5 describes whether the load completed, aborted, or partially ran. A tray with SDD-4 of VAL and SDD-5 of ABORT is a known, validated tray whose cycle did not finish; treating the two fields as one collapses meaningful distinctions and risks releasing aborted loads.

Vendor variance. The codes used in SDD-4 device data state, SDD-5 load status, SDD-6 control code, SCD-4 sterilizer type, and SCD-5 cycle type are partly site- and vendor-defined. The graph data in SCD-15 is often a vendor reference or an embedded payload rather than a fixed structure. Confirm a partner's field usage against their interface specification rather than assuming the base standard.

FHIR equivalent

A sterilization cycle notification corresponds, conceptually, to a FHIR Procedure that records the sterilization event, with Device references for the items processed and Observation resources for the cycle parameters, composed within a Bundle with a MessageHeader when carried as a messaging exchange.

There is, however, no published mapping to lean on. The HL7 v2-to-FHIR Implementation Guide provides no message map for STC_S33, and sterilization tracking sits largely outside FHIR's clinical resource scope — FHIR's strengths are clinical and administrative data rather than equipment-cycle telemetry. A FHIR representation produced from an STC message is therefore composed manually, taking the equipment instance from EQU and each load item from SDD into Procedure and Device, and the cycle parameters from SCD into Observation resources. In most production integrations the STC stays on the v2 channel.

Common pitfalls

Pitfall. Treating a multi-tray load as a single pass-or-fail. Each SDD carries its own SDD-5 load status and SDD-6 control code; collapsing them into a load-level verdict releases failed trays for surgical use.

Pitfall. Reading SCD for completion rather than validity. COMPLETE in SDD-5 only says the cycle ran to the end; the cycle is valid only if SCD-2 exposure time, SCD-3 temperature, and SCD-6 pressure are within the sterilizer's published parameters.

Pitfall. Confusing SDD-4 device data state with SDD-5 load status. The first describes the validity of the device record, the second describes the outcome of the cycle for that item; treating them as one field hides aborted loads behind validated device records.

Pitfall. Building an STC interface against an HL7 v2.5.1 specification. STC was introduced in v2.7; teams running a v2.5.1 feed will not see this message and should not expect partners on older versions to emit it.

How Vorro handles STC messages

Vorro routes each STC notification from the sterilizer (or its controlling system) to the instrument-tracking and sterile-processing systems that consume cycle records, pins every record to the equipment named in EQU, and treats each SDD as a separately releasable load item — reading SDD-5 load status and SDD-6 control code per tray rather than collapsing the load. Vorro reconciles the cycle parameters in SCD against the sterilizer's published validity window, holds loads with out-of-range parameters for review rather than releasing them on a COMPLETE status alone, preserves the graph data in SCD-15 for compliance retrieval, and, where a FHIR destination is configured, maps the cycle to a Procedure referencing the sterilized Device with Observation resources for the parameters — composed manually, since the v2-to-FHIR Implementation Guide publishes no map for this message.

  • EAC — the automated equipment command that drives laboratory automation, sharing the EQU equipment-detail anchor with STC.
  • EAN — the automated equipment notification that equipment raises when it needs the controller's attention, alongside STC in the broader equipment-message family.
  • LSU — the automated equipment log/service update that reports service and log entries against equipment.

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 STC Messages: Sterilization Anti-microbial Cycle Notification | Vorro Academy | Vorro