Taction Software — FHIR Integration with Mirth Connect
HL7 Message Types · Pillar Reference

HL7 SIU Scheduling Messages:
The Complete Reference (S12-S26)

Updated April 2026 · Written by the Taction Software integration team

Every HL7 SIU trigger from S12 through S26, segment-by-segment breakdown of SCH, TQ1, RGS, AIS, AIG, AIL, and AIP, calendar integration patterns, and the Mirth Connect channel designs we use for appointment feeds in US healthcare.

Scheduling is the lifeblood of outpatient operations. Every radiology appointment, every specialist visit, every PT session, every infusion, every OR case starts with a scheduler booking a slot — and every downstream system (the EHR, reminder engine, transport, billing, revenue cycle, analytics) needs that event relayed reliably. In HL7 v2, that relay happens over SIU (Scheduling Information Unsolicited) messages.

This reference covers every SIU trigger from S12 to S26, breaks down the unique scheduling segments (SCH, TQ1, RGS, AIS, AIG, AIL, AIP), includes real production-ready sample messages, and walks through the Mirth Connect channel patterns we deploy to move appointment data cleanly. For the broader HL7 context, start with our HL7 integration guide and HL7 v2 message structure explainer.

If you are building a new scheduling interface or connecting a new specialty line to an existing feed, our Mirth Connect helpdesk has integrated Epic Cadence, Cerner Scheduling, athenaOne, eClinicalWorks, and more than a dozen other schedulers into downstream consumers across the US.

1. What SIU Is

SIU stands for Scheduling Information Unsolicited. SIU messages are emitted by the scheduler (the source of truth for appointments) to notify subscribers of scheduling events.

The data inside an SIU message describes:

  • The appointment — identifiers, status, start time, duration, reason.
  • The patient — PID, same as elsewhere in HL7.
  • The resources — location (AIL), personnel (AIP), equipment (AIG), services (AIS).
  • Timing detail — via TQ1.

Consumers of SIU typically include the patient reminder engine (for SMS/email), transport scheduling, pre-authorization workflows, room/equipment utilization analytics, and population-health outreach programs. A medium-sized outpatient enterprise emits between 5,000 and 50,000 SIU messages per day.

2. S12-S26 Trigger Events

TriggerDescriptionFrequency
S12Notification of New Appointment BookingVery High
S13Notification of Appointment ReschedulingHigh
S14Notification of Appointment ModificationHigh
S15Notification of Appointment CancellationVery High
S16Notification of Appointment DiscontinuationLow
S17Notification of Appointment DeletionMedium
S18Notification of Addition of Service/Resource on AppointmentMedium
S19Notification of Modification of Service/Resource on AppointmentMedium
S20Notification of Cancellation of Service/Resource on AppointmentLow
S21Notification of Discontinuation of Service/Resource on AppointmentLow
S22Notification of Deletion of Service/Resource on AppointmentLow
S23Notification of Blocked Schedule Time Slot(s) / No-ShowHigh
S24Notification of Opened (Unblocked) Schedule Time Slot(s)Medium
S26Notification that Patient Did Not Show Up / ArrivalHigh

The triggers you will actually encounter in 95% of production scheduling feeds are S12, S13, S14, S15, S17, S23, and S26. The resource-specific triggers (S18-S22) see minimal use; most EHRs emit S14 (full modification) whenever anything changes, rather than emitting a targeted S18 or S19.

3. SCH - Schedule Activity Information

The SCH segment is the heart of every SIU message. It carries the appointment identifiers, status, time, duration, and reason.

SCH|APPT001234^EPIC|CAD98765^CADENCE|||RTN|EST^Established Patient Visit^L|Follow-up hypertension|RTN^Routine^L|30^min|^^^20260428090000^20260428093000|||RESCH^Reschedule^L|9876^NURSE^ANNE||||5432^SMITH^JOHN^A^^^MD|||||BOOKED

Key SCH fields

  • SCH-1 Placer appointment ID (requester).
  • SCH-2 Filler appointment ID (scheduler — source of truth).
  • SCH-3 Occurrence number (for recurring appts).
  • SCH-4 Placer group number.
  • SCH-5 Schedule ID (the calendar/resource pool).
  • SCH-6 Event reason (RTN routine, WIN walk-in, CAN cancel, RESCH reschedule, NOS no-show).
  • SCH-7 Appointment reason (coded — visit type).
  • SCH-8 Appointment type.
  • SCH-9 Appointment duration.
  • SCH-10 Appointment duration units.
  • SCH-11 Appointment timing quantity — start/end.
  • SCH-16 Filler contact person.
  • SCH-20 Entered by person.
  • SCH-25 Filler status (BOOKED, CANCELLED, NOSHOW, COMPLETE).

4. TQ1 - Timing Quantity

TQ1 superseded the older TQ segment and fields. It carries the appointment start/end as a structured timing element.

TQ1|1|30^min|||||20260428090000|20260428093000|R^Routine^HL70485
  • TQ1-1 Set ID.
  • TQ1-2 Quantity.
  • TQ1-3 Repeat pattern (for recurrence).
  • TQ1-4 Explicit time (for specific times within a pattern).
  • TQ1-5 Relative time and units.
  • TQ1-6 Service duration.
  • TQ1-7 Start date/time.
  • TQ1-8 End date/time.
  • TQ1-9 Priority (R Routine, A ASAP, S STAT).

5. RGS / AIS / AIG / AIL / AIP - The Resource Segments

Appointments occupy resources — a provider, a room, a piece of equipment, and consume a service. SIU represents these via a resource group structure.

RGS - Resource Group

Simple separator. Groups the AIS/AIG/AIL/AIP segments that follow into a logical set.

RGS|1|A

AIS - Appointment Information - Service

Describes the service being rendered — typically the CPT code or a local visit type code.

AIS|1|A|99213^Office visit est, 15 min^CPT|20260428090000|||30^min||BOOKED

AIG - Appointment Information - General Resource

Describes equipment or other general resources.

AIG|1|A|MRI01^MRI Machine 1^L|EQUIP|||20260428140000|||60^min||BOOKED

AIL - Appointment Information - Location Resource

Describes the location (clinic, room, chair, bed).

AIL|1|A|CLINIC5^CHAIR_3^^CLINIC_MAIN^^C||||20260428090000|||30^min||BOOKED

AIP - Appointment Information - Personnel Resource

Describes a person involved (the provider, an assistant, a supervisor).

AIP|1|A|5432^SMITH^JOHN^A^^^MD^^^^^^NPI|D^Doctor^HL70182|20260428090000|||30^min||BOOKED

Reference - Appointment Information Segment Codes

SegmentUse
AISAppointment Information - Service
AIGAppointment Information - General Resource
AILAppointment Information - Location Resource
AIPAppointment Information - Personnel Resource

6. S12 - New Appointment Booking

S12 is a new appointment. The most common SIU trigger in production.

Full S12 sample - routine office visit

MSH|^~\&|CADENCE|GENERAL_HOSP|MIRTH|INTEGRATION|20260421110000||SIU^S12^SIU_S12|MSG0031234567|P|2.5
SCH|APPT001234^EPIC|CAD98765^CADENCE|||RTN|EST^Established Patient Visit^L|Follow-up hypertension|RTN^Routine^L|30^min|^^^20260428090000^20260428093000|||BOOK^New booking^L|9876^ANDERSON^ANNE^^^^RN||||5432^SMITH^JOHN^A^^^MD|||||BOOKED
TQ1|1|30^min|||||20260428090000|20260428093000|R
PID|1||MRN12345^^^GENERAL_HOSP^MR||DOE^JANE^MARIE^^MS^^L||19850412|F||2106-3|123 MAIN ST^^SEATTLE^WA^98101|||^PRN^PH^^^206^5551234|^WPN^PH^^^206^5559876
PV1|1|O|CLINIC5^CHAIR_3^^GENERAL_HOSP|||5432^SMITH^JOHN^A^^^MD|||MED||||||||||||||||||||||||||||||||20260428090000
RGS|1|A
AIS|1|A|99213^Office visit est, 15 min^CPT|20260428090000|||30^min||BOOKED
AIL|1|A|CLINIC5^CHAIR_3^^GENERAL_HOSP|||20260428090000|||30^min||BOOKED
AIP|1|A|5432^SMITH^JOHN^A^^^MD^^^^^^NPI|D^Doctor^HL70182|20260428090000|||30^min||BOOKED

Full S12 sample - MRI procedure with equipment

MSH|^~\&|CADENCE|GENERAL_HOSP|MIRTH|INTEGRATION|20260421110500||SIU^S12^SIU_S12|MSG0031345678|P|2.5
SCH|APPT001235^EPIC|CAD98766^CADENCE|||RTN|MRI^MRI Lumbar Spine^L|Back pain r/o disc herniation|STAT^STAT^L|60^min|^^^20260428140000^20260428150000|||BOOK|9876^ANDERSON^ANNE||||9999^CHEN^VIVIAN^^^^MD|||||BOOKED
TQ1|1|60^min|||||20260428140000|20260428150000|S
PID|1||MRN45678^^^GENERAL_HOSP^MR||PATEL^RAJESH^K^^MR^^L||19740703|M||2028-9|456 PINE ST^^BELLEVUE^WA^98005|||^PRN^PH^^^425^5553210
PV1|1|O|RAD^MRI1^A^GENERAL_HOSP|||9999^CHEN^VIVIAN^^^^MD|||RAD
RGS|1|A
AIS|1|A|70553^MRI Lumbar Spine without contrast^CPT|20260428140000|||60^min||BOOKED
AIG|1|A|MRI01^MRI Machine 1^L|EQUIP|||20260428140000|||60^min||BOOKED
AIL|1|A|RAD^MRI1^^GENERAL_HOSP|||20260428140000|||60^min||BOOKED
AIP|1|A|9999^CHEN^VIVIAN^^^^MD^^^^^^NPI|D^Doctor^HL70182|20260428140000|||60^min||BOOKED
AIP|2|A|8888^TAYLOR^MARK^^^^RT^^^^^^^STAFF|T^Technician^HL70182|20260428140000|||60^min||BOOKED

7. S14 - Appointment Modification

S14 covers any in-place modification — changing provider, reason, duration, location. S13 (reschedule) is semantically more specific but many vendors emit S14 for everything.

MSH|^~\&|CADENCE|GENERAL_HOSP|MIRTH|INTEGRATION|20260422104500||SIU^S14^SIU_S12|MSG0032456789|P|2.5
SCH|APPT001234^EPIC|CAD98765^CADENCE|||MOD|EST^Established Patient Visit^L|Follow-up hypertension - added BP check|RTN^Routine^L|45^min|^^^20260428090000^20260428094500|||MOD^Modification^L|9876^ANDERSON^ANNE||||5432^SMITH^JOHN^A^^^MD|||||BOOKED
TQ1|1|45^min|||||20260428090000|20260428094500|R
PID|1||MRN12345^^^GENERAL_HOSP^MR||DOE^JANE^MARIE^^MS^^L||19850412|F
PV1|1|O|CLINIC5^CHAIR_3^^GENERAL_HOSP|||5432^SMITH^JOHN^A^^^MD
RGS|1|A
AIS|1|A|99214^Office visit est, 25 min^CPT|20260428090000|||45^min||BOOKED
AIL|1|A|CLINIC5^CHAIR_3^^GENERAL_HOSP|||20260428090000|||45^min||BOOKED
AIP|1|A|5432^SMITH^JOHN^A^^^MD^^^^^^NPI|D|20260428090000|||45^min||BOOKED

8. S15 - Appointment Cancellation

S15 terminates an appointment that had been booked. Downstream systems should remove or mark the appointment cancelled, free up resources, and potentially trigger patient-outreach workflows.

MSH|^~\&|CADENCE|GENERAL_HOSP|MIRTH|INTEGRATION|20260423143000||SIU^S15^SIU_S12|MSG0033567890|P|2.5
SCH|APPT001234^EPIC|CAD98765^CADENCE|||CAN|EST^Established Patient Visit^L|Patient cancelled - will reschedule|RTN^Routine^L|30^min|^^^20260428090000^20260428093000|||CAN^Cancelled by patient^L|9876^ANDERSON^ANNE||||5432^SMITH^JOHN^A^^^MD|||||CANCELLED
TQ1|1|30^min|||||20260428090000|20260428093000|R
PID|1||MRN12345^^^GENERAL_HOSP^MR||DOE^JANE^MARIE^^MS^^L||19850412|F
PV1|1|O|CLINIC5^^^GENERAL_HOSP
RGS|1|A
AIS|1|A|99213^Office visit est, 15 min^CPT|20260428090000|||30^min||CANCELLED
AIL|1|A|CLINIC5^CHAIR_3^^GENERAL_HOSP|||20260428090000|||30^min||CANCELLED
AIP|1|A|5432^SMITH^JOHN^A^^^MD^^^^^^NPI|D|20260428090000|||30^min||CANCELLED

Cancellation reason codes (common SCH-6 values)

  • CAN — Patient cancelled
  • PRO — Provider cancelled
  • FAC — Facility cancelled (weather, outage)
  • PRE — Pre-admit cancellation
  • DEC — Patient deceased

9. S23 - No-Show / Blocked Schedule Slot

S23 is overloaded by history. Originally it was "blocked schedule slot" but in practice many EHRs use it (or S26) to notify downstream systems of a no-show event after the appointment time has passed.

MSH|^~\&|CADENCE|GENERAL_HOSP|MIRTH|INTEGRATION|20260428093500||SIU^S23^SIU_S12|MSG0034678901|P|2.5
SCH|APPT001234^EPIC|CAD98765^CADENCE|||NOS|EST^Established Patient Visit^L|No show - not reached by phone|RTN^Routine^L|30^min|^^^20260428090000^20260428093000|||NOS^No Show^L|9876^ANDERSON^ANNE||||5432^SMITH^JOHN^A^^^MD|||||NOSHOW
TQ1|1|30^min|||||20260428090000|20260428093000|R
PID|1||MRN12345^^^GENERAL_HOSP^MR||DOE^JANE^MARIE^^MS^^L||19850412|F
PV1|1|O|CLINIC5^^^GENERAL_HOSP
RGS|1|A
AIS|1|A|99213^Office visit est, 15 min^CPT|20260428090000|||30^min||NOSHOW
AIL|1|A|CLINIC5^CHAIR_3^^GENERAL_HOSP|||20260428090000|||30^min||NOSHOW
AIP|1|A|5432^SMITH^JOHN^A^^^MD^^^^^^NPI|D|20260428090000|||30^min||NOSHOW

10. S26 - Patient Arrival / Check-in

S26 originally meant "patient did not show up" in the HL7 standard, but most US EHRs extended it (or reinterpreted it) to cover arrival/check-in events as well. Read your interface specification carefully — do not assume S26 semantics.

MSH|^~\&|CADENCE|GENERAL_HOSP|MIRTH|INTEGRATION|20260428085500||SIU^S26^SIU_S12|MSG0035789012|P|2.5
SCH|APPT001236^EPIC|CAD98767^CADENCE|||ARR|NEW^New Patient Visit^L|Annual physical|RTN^Routine^L|60^min|^^^20260428090000^20260428100000|||ARR^Patient Arrived^L|9876^ANDERSON^ANNE||||5432^SMITH^JOHN^A^^^MD|||||ARRIVED
TQ1|1|60^min|||||20260428090000|20260428100000|R
PID|1||MRN67890^^^GENERAL_HOSP^MR||GARCIA^MARIA^R^^MRS^^L||19550225|F||2106-3|789 OAK ST^^TACOMA^WA^98402
PV1|1|O|CLINIC5^CHAIR_5^^GENERAL_HOSP|||5432^SMITH^JOHN^A^^^MD|||MED
RGS|1|A
AIS|1|A|99385^Initial prev visit, 40-64 yr^CPT|20260428090000|||60^min||ARRIVED
AIL|1|A|CLINIC5^CHAIR_5^^GENERAL_HOSP|||20260428090000|||60^min||ARRIVED
AIP|1|A|5432^SMITH^JOHN^A^^^MD^^^^^^NPI|D|20260428090000|||60^min||ARRIVED

11. Mirth Connect Scheduling Patterns

11.1 Inbound scheduler listener

  • Source: MLLP listener on the scheduler's dedicated port.
  • Filter: Accept only SIU message types.
  • Preprocessor: Extract key fields to the channel map.
  • Routing: Fan out to reminder engine, EHR appointment store, bed/resource analytics, FHIR Appointment server.
// Preprocessor
var m = new XML(message);
channelMap.put('triggerEvent', m['MSH']['MSH.9']['MSH.9.2'].toString());
channelMap.put('placerApptId', m['SCH']['SCH.1']['SCH.1.1'].toString());
channelMap.put('fillerApptId', m['SCH']['SCH.2']['SCH.2.1'].toString());
channelMap.put('apptStatus', m['SCH']['SCH.25'].toString());
channelMap.put('patientMrn', m['PID']['PID.3']['PID.3.1'].toString());
// SCH-11 encodes start/end as subcomponents of component 4
channelMap.put('apptStart', m['SCH']['SCH.11']['SCH.11.4'].toString());
channelMap.put('apptEnd', m['SCH']['SCH.11']['SCH.11.5'].toString());
return message;

11.2 Filter: map trigger to downstream action

// Reminder engine destination filter - only new/modified bookings
var trigger = channelMap.get('triggerEvent').toString();
var wantedForReminders = ['S12','S13','S14','S15'];
return wantedForReminders.indexOf(trigger) !== -1;

11.3 Iterating resource segments

// Collect all resources under all RGS groups
var m = new XML(message);
var rgsGroups = m..RGS;
var resources = [];
for (var i = 0; i < rgsGroups.length(); i++) {
  // AIP - providers
  var aips = m..AIP;
  for (var j = 0; j < aips.length(); j++) {
    resources.push({ type:'personnel', id: aips[j]['AIP.3']['AIP.3.1'].toString() });
  }
  // AIL - locations
  var ails = m..AIL;
  for (var k = 0; k < ails.length(); k++) {
    resources.push({ type:'location', id: ails[k]['AIL.3']['AIL.3.1'].toString() });
  }
}
channelMap.put('resources', JSON.stringify(resources));

11.4 Mapping SIU to FHIR Appointment

// Transformer - SIU to FHIR Appointment JSON
var fhir = {
  resourceType: 'Appointment',
  identifier: [
    { system: 'urn:placer', value: channelMap.get('placerApptId').toString() },
    { system: 'urn:filler', value: channelMap.get('fillerApptId').toString() }
  ],
  status: mapStatus(channelMap.get('apptStatus').toString()),
  start: formatFhirDate(channelMap.get('apptStart').toString()),
  end: formatFhirDate(channelMap.get('apptEnd').toString()),
  participant: []
};
function mapStatus(v) {
  switch(v) {
    case 'BOOKED': return 'booked';
    case 'CANCELLED': return 'cancelled';
    case 'ARRIVED': return 'arrived';
    case 'NOSHOW': return 'noshow';
    default: return 'pending';
  }
}

11.5 Deduplication and idempotency

Scheduler systems often re-send SIUs (e.g., nightly state broadcasts). Your downstream writer must be idempotent: keyed by SCH-2(filler appointment ID) with an UPSERT, not an INSERT. Include a "last event timestamp" column and only advance state forward — never overwrite ARRIVED with BOOKED if a later event says the patient is here.

12. Frequently Asked Questions

What does SIU stand for?

SIU stands for Scheduling Information Unsolicited. It is the HL7 v2 message family for scheduling events — booking, rescheduling, cancellation, modification, no-show, and patient arrival notifications between a scheduling system and downstream subscribers.

What is the difference between SIU and SRM?

SIU messages are unsolicited — the scheduler notifies subscribers about events that have already happened. SRM (Schedule Request Message) messages are requests — one system asks the scheduler to book, modify, or cancel an appointment. SRM is far less common in practice than SIU.

What is the difference between S13 and S14?

S13 is a reschedule — the appointment is moved to a different time. S14 is a modification — something about the appointment changed but not necessarily the time (location, provider, reason, duration). Some vendors conflate the two and emit S14 for everything; read your interface spec before assuming semantics.

What carries the appointment ID?

SCH-1 (Placer Appointment ID) and SCH-2 (Filler Appointment ID) are the two primary identifiers. SCH-1 is the requester (EHR), SCH-2 is the scheduler. Downstream systems should key off SCH-2 since the scheduler is the source of truth.

How do AIS, AIG, AIL, and AIP differ?

AIS describes services provided at the appointment (the procedure/visit type). AIG describes general resources (equipment). AIL describes location resources (rooms, chairs). AIP describes personnel resources (the provider, nurse, or tech). Each of these segments repeats under an RGS (Resource Group) section.

Can I represent recurring appointments in SIU?

TQ1 (Timing Quantity) can express repeats using TQ1-4 (Repeat Pattern) and TQ1-5 (Explicit Time). But most EHRs avoid encoding recurring series in a single SIU and instead emit one SIU per occurrence with a shared encounter group key.

How does a no-show differ from a cancellation?

A cancellation (S15) is a pre-appointment event — the patient called and cancelled ahead of time. A no-show (S26, S23) is a retrospective event — the patient was expected and did not arrive. Billing, outreach workflows, and quality metrics treat them differently.

Do SIU messages carry patient demographics?

Yes — PID is included in most SIU messages. But SIU is not a substitute for ADT: demographic changes should still be driven by A28/A31/A40/A08 on the ADT feed. Downstream systems should use SIU for appointment state and ADT for demographic state.

Related Reading

Building a scheduling interface?

Epic Cadence to a reminder engine. Cerner to patient portal. athenaOne to a FHIR appointment server. Whatever combination you need, our Mirth engineers have built it.

  • SIU channel design and deployment
  • HL7 to FHIR Appointment and Schedule
  • Reminder, no-show, and outreach integrations
  • Production support under a 15-minute SLA
Contact Us

Describe your scheduling integration

Tell us about the source, destination, specialties, and expected event volume. We'll respond within one business day.

What is 9 + 7 ?