HL70278 is the HL7-defined vocabulary that the filler application — the scheduling system that owns the slot — uses to report the current state of an appointment back to the placer. It first appeared in HL7 v2.3 with the SIU scheduling chapter and grew to ten values through v2.8.1. The table is carried in SCH-25 Filler Status Code on every SIU notification.
Purpose
HL70278 is the source of truth for "where is this appointment in its lifecycle". A Pending filler status tells the placer the slot is being held but not yet confirmed; Booked means the slot is firm; Started means the patient has arrived and the encounter is in progress; Complete means the visit is done. Each value drives a different downstream behavior — billing eligibility, reminder suppression, no-show alert generation, waitlist promotion — so reliable population of SCH-25 is the keystone of any SIU integration.
Where HL70277 (Appointment Type) classifies what kind of record is being sent, HL70278 classifies what state the appointment is in right now.
Where it's used
- SCH-25 Filler Status Code — the canonical home, populated on every SIU notification (S12 New, S13 Reschedule, S14 Modify, S15 Cancel, S17 Delete, S26 Notification, etc.).
- Some v2.5+ profiles also surface filler status on application-level acknowledgments of SRM transactions.
Code list
| Code | Display | Comment/Description |
|---|---|---|
| Booked | The appointment slot is reserved (booked) | A firm, confirmed booking. |
| Cancelled | The appointment was cancelled by the patient | Patient or representative cancelled before the visit. |
| Complete | The appointment has completed normally | The visit happened and is finished. |
| Deleted | The appointment was deleted from the filler application | Record removed; treat as never having existed for new workflow purposes. |
| Discontinued | The appointment was discontinued — neither completed nor cancelled | The visit started but did not finish (e.g., patient left mid-encounter). |
| Noshow | The patient did not show up | Patient failed to arrive and did not cancel. |
| Overbook | The appointment has been confirmed but is over an open slot | The slot is in use beyond its normal capacity — a deliberate overbooking. |
| Pending | The appointment has not been confirmed | A provisional hold awaiting confirmation. |
| Started | The patient has arrived and the appointment is in progress | The encounter is currently active. |
| Waitlist | The appointment is on a waiting list (not yet confirmed) | The patient is queued and will be promoted to a real slot when one opens. |
Code system OID
- OID:
2.16.840.1.113883.18.124 - Canonical URI:
http://terminology.hl7.org/CodeSystem/v2-0278
The OID resolves on the HL7 Terminology server and is the value Vorro emits in CWE.14 when a downstream profile demands OID-bound coded values for SCH-25.
HL7-defined vs user-defined
HL70278 is HL7-defined. The ten codes are normative and most strict receivers reject local extensions. Sites that need richer states — for example, distinguishing "patient cancelled" from "provider cancelled" — typically carry the extra distinction in SCH-26 Placer Order Number or in a separate user-defined cancel-reason table rather than extending HL70278.
Version differences
- v2.3 — Table introduced with the SIU/SRM scheduling chapter. Initial set: Booked, Cancelled, Complete, Deleted, Pending.
- v2.3.1 —
Discontinued,Noshow, andStartedadded to capture in-progress and post-arrival states. - v2.4 —
Overbookadded so explicit deliberate overbookings could be distinguished from clerical errors. - v2.5 —
Waitlistadded for waiting-list workflows. - v2.6 – v2.8.1 — Set frozen at ten codes; no further additions.
- v2.9 — HL70278 itself is unchanged; FHIR-aligned profiles point at
Appointment.status.
Common mistakes
- Using
Cancelledfor no-shows.Cancelledmeans the patient (or a representative) actively cancelled before the appointment time.Noshowis for silent failures. - Confusing
DeletedandCancelled.Cancelledkeeps the historical record;Deletedremoves it entirely. Downstream billing and reporting treat them very differently. - Treating
Discontinuedas a synonym forCancelled.Discontinuedmeans the visit began but did not finish — different billing and clinical implications. - Sending
Pendingfor any appointment that hasn't happened yet.Pendingspecifically means "not yet confirmed by the filler"; a confirmed future booking isBooked. - Omitting SCH-25 on SIU S14 (Modify) messages. Receivers cannot infer the new state from segment changes alone — SCH-25 must always be populated on every SIU.
Examples
A confirmed booking notification:
SCH|1234^Vorro|||||||||30^MIN|^^^20260625103000^20260625110000|||||||||||||||Booked^The appointment slot is reserved^HL70278
Patient no-show:
SCH|1234^Vorro|||||||||30^MIN|^^^20260625103000^20260625110000|||||||||||||||Noshow^The patient did not show up^HL70278
In-progress encounter:
SCH|1234^Vorro|||||||||30^MIN|^^^20260625103000^20260625110000|||||||||||||||Started^The patient has arrived and the appointment is in progress^HL70278
Same Booked filler status rendered onto FHIR Appointment.status:
{
"resourceType": "Appointment",
"status": "booked",
"start": "2026-06-25T10:30:00-04:00",
"end": "2026-06-25T11:00:00-04:00"
}
Mapping failure example — vendor synonym:
SCH|1234^Vorro|||||||||30^MIN|^^^20260625103000^20260625110000|||||||||||||||CONFIRMED^Confirmed^HL70278
CONFIRMED is not in HL70278. A conformant engine should remap it to Booked (with a logged transform), route to the curation queue if the remap is ambiguous, or fall back to Pending if the upstream system cannot be reached for clarification.
FHIR mapping
The HL7 v2-to-FHIR Implementation Guide publishes ConceptMap-table-hl70278-to-appointmentstatus:
| HL7 v2 (HL70278) | FHIR (Appointment.status) |
|---|---|
| Booked | booked |
| Cancelled | cancelled |
| Complete | fulfilled |
| Deleted | entered-in-error |
| Discontinued | cancelled (with extension noting "discontinued") |
| Noshow | noshow |
| Overbook | booked (with extension noting "overbook") |
| Pending | proposed |
| Started | arrived |
| Waitlist | waitlist |
Appointment.status is a code element bound to http://hl7.org/fhir/ValueSet/appointmentstatus. Because Discontinued and Overbook both collapse onto existing FHIR codes, engines must preserve the original v2 code in an extension to round-trip without loss.
Engine considerations
- Mandatory on every SIU — SCH-25 must always be populated; never default-blank it. Receivers cannot infer the new state from other segment changes.
- State machine validation — Reject transitions that do not make clinical sense (
Complete→Pending,Deleted→Started) at the engine level rather than passing them downstream. - Round-trip extensions — When mapping
DiscontinuedorOverbookto FHIR, attach aCodingextension preserving the original HL70278 code so the v2 outbound channel can restore it. - Case sensitivity — HL70278 codes are mixed case (
Booked, notBOOKEDorbooked); normalize on ingest.
How Vorro handles HL70278
Vorro validates SCH-25 against the ten HL70278 codes on every SIU message, case-normalizing inbound values and logging any normalization. Vendor synonyms like CONFIRMED, ARRIVED, IN_PROGRESS, and NO_SHOW are mapped through a curated remap table; codes that cannot be confidently mapped are routed to the terminology curation queue with the original payload preserved.
State-machine transitions are validated against a configurable per-tenant policy — for example, a Complete filler status cannot be followed by a Started for the same appointment ID unless an explicit reopen rule is in place. Invalid transitions are flagged and held for review rather than silently propagated.
On outbound, Vorro emits HL70278 as a CWE triplet (code^display^HL70278) for v2.5+ profiles. For FHIR-bound destinations the original v2 code is preserved as a Coding extension on Appointment.status so Discontinued and Overbook survive round-trips.
Related pages
- SCH segment — Scheduling Activity Information
- HL70276 code table — Appointment Reason Codes
- HL70277 code table — Appointment Type Codes
