Telehealth — Appointment to Join
import { Steps } from ‘@astrojs/starlight/components’;
Who / when: Front Desk booking a video visit, a Clinician conducting it, and the patient joining from their portal.
LiveConsult = the canonical telehealth consult object (one per telehealth appointment). OTP = One-Time Passcode (a single-use code). LiveKit = the media server hosting the video room — both parties get tokens to the same room.
- Front Desk — open Appointments → Book Appointment (
/appointments/book). Set Appointment Type = Telehealth and book the patient with a clinician. A linked LiveConsult is created automatically. - Clinician — open Live → Telehealth Board (
/live). Find the consult in the Scheduled state and choose Start; the Consult Room (/live/room) opens and a canonical Encounter (class = Virtual) begins. - Patient — receives a secure invite (magic link by email or SMS) and opens it.
- Patient — on the patient portal, the consult shows as In Progress; the patient chooses Join Consult and enters a single-use OTP to verify.
- A one-time LiveKit token is minted for the same room as the clinician; both parties are connected on video.
- Clinician — documents the consult into the Encounter note and, when finished, chooses End Consult. The consult state becomes Completed.
- Patient — sees the consult as Completed on the portal and can access the recording if one was persisted.
What happens next: the consult, its note and any recording are retained against the patient’s record; the Live Coordinator can review it from the board and recordings screens.