Reference·SCH Segment·SCH-25
HL7 v2 Reference

HL7 v2 SCH-25 (Filler Status Code): Format, Values, and Testing Notes

Jul 27, 2026 · 5 min read
← SCH-11

SCH-25 is the field that tells you what the scheduling system actually believes about an appointment right now — and it doesn't always agree with what the trigger event in the message header implies.

Quick answer

SCH-25 (Filler Status Code) reports the current lifecycle state of the appointment as tracked by the filler system, using a small set of coded values such as pending, booked, or cancelled.

Valid code values

PENDING
Pending — the slot has been requested but not yet confirmed by the filler system
BOOKED
Booked — the appointment has been confirmed and reserved on the calendar
STARTED
Started — the patient has checked in or the visit has begun
COMPLETE
Complete — the scheduled activity has finished
CANCELLED
Cancelled — the appointment was called off before it occurred
DELETED
Deleted — the appointment record itself was removed, distinct from a simple cancellation
WAITLIST
Waitlisted — the request is being held against an open slot that hasn't materialized yet

Example

Synthetic example Generated by Synthibase
SCH|APT88213^SYNTHIB|FIL55021^SYNTHIB|||||FOLLOWUP^Follow-up Visit^SYNTHIBLOCAL|OFFICE^Office Visit^SYNTHIBLOCAL|30|MIN|^^^20260728090000^20260728093000||||||||||||||SCHEDULED^Scheduled^SYNTHIBLOCAL

SCH-25 shows SCHEDULED^Scheduled^SYNTHIBLOCAL — a fictional local status value used for this synthetic confirmed appointment.

Where this trips people up

Test suites frequently generate only BOOKED and CANCELLED values because those are the two states developers think about first, leaving the WAITLIST, DELETED, and STARTED transitions completely untested. Those under-covered states are exactly the ones that cause scheduling systems to misbehave in production, since the code paths handling them get exercised far less often during development.

HL7 v2 SCH Segment Guide: Fields, Format, and Testing Gotchas
Regression Testing for EHR Upgrades: A Complete Guide
How to Build a Synthetic Patient Registry for Healthcare Testing
Cover the full appointment state machine
Synthibase generates synthetic SCH messages across every filler status transition — not just booked and cancelled — so your interface testing catches state-handling bugs before go-live, not after.
Start free trial →
This page is written independently by Synthibase for testing and informational purposes. It is not an official publication of HL7 International or X12/Washington Publishing Company, and is not a substitute for reviewing the official standard or your trading partner's companion guide. See our Terms of Service for full legal terms.