Managing appointments
Admins can review scheduled patient appointments and manage the scheduling configuration from the admin portal. The appointment overview is designed for support and operations teams that need to check upcoming bookings or cancel a booking on behalf of a patient or provider.Where to find appointments
Use the global appointment overview to see bookings across your organisation. You can also open a patient profile and review that patient’s appointments from the patient detail page. By default, the overview shows future active appointments.Filters
You can filter appointments by:- Doctor
- Patient
- Status
- Date range
Appointment statuses
heldmeans the slot is temporarily reserved but not confirmed yet.confirmedmeans the appointment is booked.cancelledmeans the appointment was cancelled.expiredmeans a temporary hold expired before confirmation.completedmeans the appointment has finished.no_showmeans the patient did not attend.
Cancelling appointments
Admins can cancel activeheld and confirmed appointments. A cancellation reason is required.
The reason is stored with the appointment so support and operations teams can understand why the
booking was cancelled.
Admin cancellations are operational actions and are not limited by the patient-facing minimum notice
period. Patient and partner cancellation rules remain separate.
Booking token secrets
If your organisation mints patient booking tokens from a partner backend (for example a Shopify storefront), each token is signed against a secret that RxScale issues to you. Manage these from your organisation settings:- Create a secret. RxScale returns a
key_id(used in the JWTkidheader) and the secret value. The value is stored encrypted at rest. Admins can reveal it again any time from the Settings → Booking secrets page, so re-pasting it into a new minter doesn’t require re-provisioning. - Revoke a secret. Revocation is immediate. Any tokens signed by the revoked key are rejected on the next call.
Rotating a secret
- Create a new secret. You now have two active secrets.
- Update your minter to sign new tokens with the new
key_id. - Wait for tokens signed with the old key to expire (typically a few minutes given the short token TTL).
- Revoke the old secret.
kid header, you can rotate without downtime.
Provisioning appointment types and meeting rooms
Appointment types and persistent meeting rooms are configured by the RxScale team during onboarding and on request:- Appointment types define duration, hold TTL, cancellation notice, and rebooking rules.
- Meeting rooms are pre-configured per doctor (
persistent_per_providerstrategy), so the patient and the doctor always land in the same Jitsi room.
Doctor availability windows
Doctors manage their own bookable windows. Each doctor sees an Availability page in their portal where they can add, edit, or remove weekly recurring slots that drive the patient booking page. As an admin you can review (read-only) a doctor’s current windows from the doctor detail page — useful when troubleshooting why patients don’t see slots, or when auditing coverage. To make changes, ask the doctor to update their own availability or coordinate with support.Rebooking on behalf of a patient
You can move an existing appointment to a new slot from the appointment detail page. Rebooking honours the appointment type’srebooking_mode (same doctor vs. any doctor) and minimum notice
window. Admin rebooks are recorded as a new appointment linked to the original via
previous_meeting_uid, so the audit trail is preserved.
Appointment reminders
You configure reminders per appointment type. Each reminder rule has:- a recipient group —
patient,doctor, oradmin, - a
minutes_beforeoffset (e.g. 60 = one hour before the appointment), send_emailandsend_smstoggles — when both are off, the event still publishes (partners can subscribe) but RxScale won’t dispatch anything itself.
APPOINTMENT_REMINDER_DUE event per resolved recipient. Idempotency is guaranteed by an internal
appointment_reminders_sent row so the same reminder never fires twice for the same appointment.
To receive these events on your own systems, subscribe APPOINTMENT_REMINDER_DUE from the
notification subscriptions page — the existing webhook subscription mechanism handles signing,
custom headers, and retries the same way it does for prescription events.
Doctor phone numbers for SMS reminders
If your reminder rules turn onsend_sms for the doctor recipient, RxScale needs a mobile number
on the doctor’s profile to deliver the SMS. Doctors can set their own number from the Settings
page in the Doctor Portal; admins can also edit it on the doctor detail page (the “Mobile phone
number” field, separate from the prescription phone field).