0.1.0 - ci-build
PatientScheduling - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Transportation is a critical enabling capability for patient scheduling. Even when an appointment is successfully booked, patients may be unable to attend without reliable transportation to and from the appointment.
This use case focuses on enabling patients or caregivers to request, schedule, and track transportation for an existing future appointment using patient-facing applications. Transportation is treated as a workflow step that occurs after appointment scheduling and is tightly linked to the appointment context.
Primary actors
Supporting systems
Transportation workflows are typically initiated by a patient or caregiver and fulfilled by an external transportation service.
From a patient-facing application perspective, this is commonly exposed as a single action, such as “Request transportation”, on an appointment detail view.
Transportation is modeled as a requested service with a corresponding fulfillment workflow.
Rather than embedding transportation details directly within the Appointment resource, this IG treats transportation as a separate but linked workflow that references the appointment.
The appointment serves as the anchor for the transportation workflow and provides:
A transportation request is represented using ServiceRequest to indicate that transportation is being ordered for a patient.
Key semantics
Key elements
ServiceRequest.subject → PatientServiceRequest.code → transportation serviceServiceRequest.occurrenceDateTime or occurrencePeriod → pickup windowServiceRequest.basedOn or supportingInfo → Appointment referenceServiceRequest.status → activeThe fulfillment and lifecycle of the transportation request is represented using Task.
Task is used to track operational states such as scheduling, assignment, and completion without repeatedly modifying the ServiceRequest.
Key semantics
Key elements
Task.basedOn → ServiceRequestTask.for → PatientTask.focus → Appointment (optional)Task.status → requested |
accepted | in-progress | completed | cancelled |
Task.identifier → external transportation request or trip identifierTransportation workflows require clear identification of:
Destination
Pickup
Transportation fulfillment is commonly performed by external services, such as rideshare or transportation vendors.
When integrating with external transportation APIs:
FHIR is used to model intent, context, and state—not to replace external transportation APIs.
A typical transportation workflow may follow this progression:
This IG does not prescribe a specific state machine but recommends using Task.status to reflect high-level workflow state.
Transportation requests may involve sharing patient identifiers, pickup locations, and appointment timing with external vendors.
Implementations should ensure:
Transportation is an essential post-scheduling capability that enables patients to attend scheduled appointments. This IG models transportation as a workflow linked to an existing appointment, using ServiceRequest to represent intent and Task to represent fulfillment.
By separating transportation from appointment scheduling while maintaining explicit linkage, this approach supports interoperable, patient-centered transportation workflows without constraining integration with external transportation services.