What SMART Scheduling Links is
SMART Scheduling Links is an HL7 specification for publishing open appointment availability. A publisher exposes a$bulk-publish manifest that points at NDJSON files of FHIR
resources: Schedule, Slot, and the actors they reference (Location, Practitioner,
PractitionerRole, HealthcareService). Anyone can poll the manifest to see what’s
bookable and send patients to the publisher’s booking link.
The roles in SSL
The IG defines a small set of actors:- Slot Publisher: a healthcare provider’s API that advertises its available slots.
- Provider Booking Portal: the provider’s UI where a patient books a slot.
- Slot Aggregator: a third-party API that combines data from multiple Slot Publishers and offers unified search across them. It does not own the underlying data.
- Slot Discovery Client: the patient’s booking tool. It searches for slots and sends the patient to the right portal to finish booking.
$bulk-publish feed itself.
What the Scheduling API does as the aggregator
The Scheduling API turns raw publisher feeds into one queryable model in three steps:- Ingest: each publisher’s latest
$bulk-publishsnapshot is downloaded and tracked. - Validate: every resource is checked for base FHIR R4 validity, then against the SSL profiles with strict referential integrity. Records that don’t conform are quarantined and kept out of the served data.
- Normalize: conforming slots are flattened into a denormalized
Slotshape with status, start and end times, service type, an expandedlocation(name, telecom, address),provider, andisVirtual. Fields a source omits stay absent; the API adds nothing.
Querying availability
Two endpoints serve the model. See the API Reference for full details.GET /v1/scheduling/slots: search availability with filters (status, service type, city, state, virtual, time window) and pagination.GET /v1/scheduling/publishers: list the publishers the Scheduling API currently ingests.
Standards status
SMART Scheduling Links builds on FHIR Bulk Publish, the mechanism for distributing static, pre-generated FHIR datasets (provider directories, formularies, scheduling, and similar) through a$bulk-publish manifest. Bulk Publish is still being standardized. It
lives in a working branch of the HL7
Bulk Data Access IG (see the
Publish operation working draft)
and is not yet an authorized publication.
The Scheduling API builds on the current drafts. As Bulk Publish and SMART Scheduling Links
are finalized, it will follow the published specifications, and the underlying conformance
will firm up as those standards mature.