Reference·SCH Segment·SCH-2
HL7 v2 Reference

SCH-2 in HL7 v2: A Field Guide to Filler Appointment ID

Jul 27, 2026 · 4 min read
← SCH-1 SCH-7 →

SCH-2 is the scheduling system's own answer to "what do I call this appointment" — and whether it's present or blank tells you a lot about where in the booking lifecycle a message sits.

Quick answer

SCH-2 (Filler Appointment ID) is the identifier assigned by the "filler" — the scheduling application that actually owns the calendar. It is typically blank on an initial booking request and populated once the filler system confirms and assigns a slot.

What this field contains

Component 1
Entity Identifier — the filler-assigned appointment number, distinct from and independent of the placer's SCH-1 value
Component 2
Namespace ID — identifies which scheduling application or facility calendar issued the ID
Empty state
Blank on initial request — left empty on an S12 new-appointment request until the filler system confirms and assigns its own ID, then carried forward on all later updates

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-2 here is FIL55021^SYNTHIB, a fabricated filler-side appointment number for this already-confirmed synthetic slot.

Where this trips people up

A common test-data bug is populating SCH-2 on every message in a scenario, including the very first booking request, because it's easier to generate both IDs up front. That masks bugs in code that's supposed to handle a null filler ID gracefully — code that only ever gets exercised once SCH-2 is genuinely empty.

HL7 v2 SCH Segment Guide: Fields, Format, and Testing Gotchas
How to Write EDI Test Cases That Actually Catch Go-Live Failures
Regression Testing for EHR Upgrades: A Complete Guide
Test the full booking lifecycle, not just the happy path
Synthibase can generate matched sequences of scheduling messages — request, confirmation, reschedule, cancellation — with SCH-2 correctly blank or populated at each stage, so your interface engine gets exercised the way it will be in production.
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.