The SCH segment carries the scheduling-level detail of an appointment: the placer and filler appointment IDs, the reason the schedule event occurred, the appointment type and duration, the timing quantity, and the people involved in placing, filling, and entering the booking. It is the spine of an SIU message — where the message header says what scheduling event happened, SCH says which appointment it is, when it runs, and who owns it.
Purpose
SCH describes a single scheduling activity: identifiers that tie the placer and filler systems together, the event reason and appointment reason/type, the requested duration and timing, contact people on both the placer and filler sides, the entering user, and the filler status that drives the appointment's lifecycle. Fields are populated differently per trigger event — a new booking (S12) fills the timing and contacts, while a status change updates SCH-25.
Used in
SCH appears in SIU scheduling messages — new appointment (S12), reschedule (S13), modify (S14), cancel (S15), discontinue (S16), delete (S17), and the other scheduling triggers. It anchors the appointment that the resource group (RGS) and resource segments (AIG, AIL, AIP, AIS) hang beneath. See SIU.
Field-by-field reference
Source: the Vorro HL7 segment database (extracted from the official v2-to-FHIR IG). R = required (cardinality min ≥ 1). Repeat = field may repeat. Length is not carried by the FHIR source and is shown as —.
| Seq | Name | Data Type | Length | Req | Repeat | Table # | Description |
|---|---|---|---|---|---|---|---|
| SCH-1 | Placer Appointment ID | EI | — | O | — | — | Placer system's appointment identifier. |
| SCH-2 | Filler Appointment ID | EI | — | O | — | — | Filler system's appointment identifier. |
| SCH-3 | Occurrence Number | NM | — | O | — | — | Occurrence within a repeating appointment series. |
| SCH-4 | Placer Group Number | EI | — | O | — | — | Groups related placer appointments together. |
| SCH-5 | Schedule ID | CWE | — | O | — | — | Identifier of the schedule being booked against. |
| SCH-6 | Event Reason | CWE | — | R | — | — | Why this scheduling event occurred. Required. |
| SCH-7 | Appointment Reason | CWE | — | O | — | — | Clinical reason for the appointment. |
| SCH-8 | Appointment Type | CWE | — | O | — | — | Kind of appointment (routine, walk-in, etc.). |
| SCH-9 | Appointment Duration | NM | — | O | Y | — | Requested length of the appointment. |
| SCH-10 | Appointment Duration Units | CNE | — | O | Y | — | Units for the duration value. |
| SCH-11 | Appointment Timing Quantity | TQ | — | R | Y | — | Start time and timing of the appointment. Required. |
| SCH-12 | Placer Contact Person | XCN | — | R | Y | — | Person on the placer side to contact. Required. |
| SCH-13 | Placer Contact Phone Number | XTN | — | O | — | — | Phone number for the placer contact. |
| SCH-14 | Placer Contact Address | XAD | — | O | Y | — | Address for the placer contact. |
| SCH-15 | Placer Contact Location | PL | — | O | — | — | Location of the placer contact. |
| SCH-16 | Filler Contact Person | XCN | — | R | Y | — | Person on the filler side to contact. Required. |
| SCH-17 | Filler Contact Phone Number | XTN | — | O | — | — | Phone number for the filler contact. |
| SCH-18 | Filler Contact Address | XAD | — | O | Y | — | Address for the filler contact. |
| SCH-19 | Filler Contact Location | PL | — | O | — | — | Location of the filler contact. |
| SCH-20 | Entered By Person | XCN | — | R | Y | — | User who entered the scheduling request. Required. |
| SCH-21 | Entered By Phone Number | XTN | — | O | Y | — | Phone number for the entering user. |
| SCH-22 | Entered By Location | PL | — | O | — | — | Location of the entering user. |
| SCH-23 | Parent Placer Appointment ID | EI | — | O | — | — | Placer ID of a parent appointment. |
| SCH-24 | Parent Filler Appointment ID | EI | — | O | — | — | Filler ID of a parent appointment. |
| SCH-25 | Filler Status Code | CWE | — | O | — | — | Current status of the appointment. Drives lifecycle. |
| SCH-26 | Placer Order Number | EI | — | O | Y | — | Order(s) the appointment is based on. |
| SCH-27 | Filler Order Number | EI | — | O | Y | — | Filler order number(s) for the appointment. |
Most-used fields
- SCH-6 Event Reason is one of the required fields and explains why the scheduling event fired; it also drives the FHIR ServiceRequest intent.
- SCH-11 Appointment Timing Quantity carries the appointment start and timing — the field most downstream calendar and reminder logic reads.
- SCH-25 Filler Status Code is the lifecycle switch: it maps to the FHIR
Appointment.statusand tells receivers whether the slot is booked, cancelled, or completed. - SCH-1 Placer Appointment ID and SCH-2 Filler Appointment ID are the identifiers systems match on to tie placer and filler views of the same appointment.
- SCH-12 Placer Contact Person, SCH-16 Filler Contact Person, and SCH-20 Entered By Person are the three required people and become Appointment participants and Provenance agents.
Version differences (2.3 to 2.8.2)
- 2.3: SCH introduced with the scheduling chapter; SCH-1 through SCH-25 defined.
- 2.4/2.5: SCH-26 Placer Order Number and SCH-27 Filler Order Number added to link appointments to orders.
- 2.5: coded fields move from
CEtowardCWE; timing increasingly expressed through SCH-11 rather than legacy quantity/timing pairs. - 2.7+: timing-quantity usage refined as
TQis deprecated in favor ofTQ1/TQ2segments in newer messages; receivers built for 2.3 ignore trailing fields they do not recognize.
Common mistakes
- Omitting SCH-6 or SCH-11 — both are required, and many engines reject the segment when they are missing.
- Reading only the first repetition of SCH-12/SCH-16/SCH-20 when several contacts are listed.
- Treating SCH-25 as cosmetic and not mapping it to
Appointment.status, so cancellations never propagate. - Confusing the placer (SCH-1) and filler (SCH-2) appointment IDs and matching on the wrong side.
Examples
Minimal valid SCH (required fields only — event reason, timing, the three contacts):
SCH|||||| ROUTINE|||||^^^20260615090000|1234^SMITH^JANE^A^^^MD||||5678^JONES^MARK^B^^^MD||||9012^CLERK^PAT
Fully-populated SCH (new appointment booking):
SCH|APPT-1001^MERCYGEN|FILL-2002^MERCYGEN|1|GRP-300^MERCYGEN|SCHED-CARDIO|ROUTINE^Routine|FOLLOWUP^Follow-up|OFFICE^Office Visit|30|MIN^Minutes|^^^20260615090000^20260615093000|1234^SMITH^JANE^A^^^MD|^^^^^555^5550100|123 MAIN ST^^METROCITY^ST^00000||5678^JONES^MARK^B^^^MD|^^^^^555^5550200|456 OAK AVE^^METROCITY^ST^00000||9012^CLERK^PAT|^^^^^555^5550300||||||BOOKED|ORD-700^MERCYGEN|ORD-800^MERCYGEN
Annotated breakdown of the fully-populated example (selected fields):
SCH ← segment ID
APPT-1001^MERCYGEN ← SCH-1 Placer Appointment ID
FILL-2002^MERCYGEN ← SCH-2 Filler Appointment ID
ROUTINE^Routine ← SCH-6 Event Reason (required)
OFFICE^Office Visit ← SCH-8 Appointment Type
30 ← SCH-9 Appointment Duration
^^^20260615090000^20260615093000 ← SCH-11 Appointment Timing Quantity (required)
1234^SMITH^JANE^A^^^MD ← SCH-12 Placer Contact Person (required)
5678^JONES^MARK^B^^^MD ← SCH-16 Filler Contact Person (required)
9012^CLERK^PAT ← SCH-20 Entered By Person (required)
BOOKED ← SCH-25 Filler Status Code
ORD-700^MERCYGEN ← SCH-26 Placer Order Number
In-context inside an SIU^S12 (new appointment booking):
MSH|^~&|SCHED|MERCYGEN|EHR|MERCYGEN|20260610120000||SIU^S12^SIU_S12|MSG2001|P|2.5.1
SCH|APPT-1001^MERCYGEN|FILL-2002^MERCYGEN|||SCHED-CARDIO|ROUTINE^Routine||OFFICE^Office Visit|30|MIN^Minutes|^^^20260615090000^20260615093000|1234^SMITH^JANE^A^^^MD||||5678^JONES^MARK^B^^^MD||||9012^CLERK^PAT|||||||BOOKED
PID|1||MR12345^^^MERCYGEN^MR||DOE^JOHN^Q||19800101|M
RGS|1|A
AIG|1|A|CARDIO^Cardiology|||||20260615090000|||30|MIN
In-context inside an SIU^S12 with a resource and location group:
MSH|^~&|SCHED|MERCYGEN|EHR|MERCYGEN|20260610120500||SIU^S12^SIU_S12|MSG2002|P|2.5.1
SCH|APPT-1003^MERCYGEN|FILL-2004^MERCYGEN|||SCHED-DERM|ROUTINE^Routine||CONSULT^Consult|45|MIN^Minutes|^^^20260616103000^20260616111500|2233^BAKER^LISA^^^^MD||||3344^FORD^ANNA^^^^MD||||9012^CLERK^PAT|||||||BOOKED|ORD-701^MERCYGEN
PID|1||MR67890^^^MERCYGEN^MR||ROE^MARY^A||19751212|F
RGS|1|A
AIL|1|A|CLINIC-2^Room 2^MERCYGEN|||20260616103000|||45|MIN
AIP|1|A|2233^BAKER^LISA^^^^MD|D^Dermatologist||20260616103000|||45|MIN
FHIR mapping
Primary target resource: Appointment. SCH also drives a ServiceRequest (SCH-6 sets intent, SCH-26/27 become identifiers, and the segment seeds status active) and a Provenance resource (SCH-20 becomes the entering agent). Official ConceptMaps: Appointment, Provenance, ServiceRequest.
Key Appointment mappings:
| SCH field | FHIR target (Appointment) |
|---|---|
| SCH-1 Placer Appointment ID | Appointment.identifier[1] |
| SCH-2 Filler Appointment ID | Appointment.identifier[2] |
| SCH-7 Appointment Reason | Appointment.reasonCode[1] (also appointmentType) |
| SCH-8 Appointment Type | Appointment.appointmentType |
| SCH-9 Appointment Duration | Appointment.minutesDuration |
| SCH-11 Appointment Timing Quantity | Appointment timing (TQ[Appointment]) |
| SCH-12 Placer Contact Person | Appointment.participant[1].actor (Practitioner, placer contact) |
| SCH-16 Filler Contact Person | Appointment.participant[2].actor (Practitioner, filler contact) |
| SCH-20 Entered By Person | Appointment.participant[3].actor (Practitioner, enterer) |
| SCH-25 Filler Status Code | Appointment.status |
| SCH-26 Placer Order Number | Appointment.basedOn (ServiceRequest) |
| SCH-27 Filler Order Number | Appointment.basedOn (ServiceRequest) |
Other targets: SCH-20 Entered By Person → Provenance.agent[1].who (type enterer); SCH-6 Event Reason → ServiceRequest.intent (order), with SCH-26/27 as ServiceRequest.identifier and SCH-25 carried into ServiceRequest.status. Fields without a published Appointment mapping (SCH-3, SCH-4, SCH-5, SCH-6, SCH-10, SCH-13 through SCH-15, SCH-17 through SCH-19, SCH-21 through SCH-24) are scheduling/contact details not represented directly on Appointment.
Engine considerations
- Required in practice: SCH-6 (event reason) and SCH-11 (timing) are standard-required, and real interfaces also depend on SCH-1/SCH-2 (identifiers) and SCH-25 (status) for matching and lifecycle.
- Parse SCH-11 carefully so the appointment start and end survive into
Appointmenttiming. - Map SCH-25 to
Appointment.statusso cancellations and completions propagate, not just new bookings. - Repeating people fields (SCH-12/16/20/21) and contact-address fields (SCH-14/18) must be preserved as arrays.
How Vorro parses and produces SCH
Vorro indexes SCH-1 and SCH-2 as the placer/filler appointment keys so updates attach to the correct booking, maps SCH-25 to the FHIR Appointment.status, and decomposes SCH-11 into the appointment start/end. The three required people (SCH-12, SCH-16, SCH-20) are emitted as typed Appointment.participant actors per the official ConceptMap, and SCH-20 additionally produces a Provenance agent. When order numbers are present, Vorro links SCH-26/27 to ServiceRequest via basedOn.
Related pages
- AIG — the appointment resource (general) the SCH appointment uses.
- RGS — the resource group the appointment's resources are organized under.
- SIU messages — where SCH drives book, reschedule, modify, and cancel.
