Appointments & queues
Check in as Staff and start the consultation as Doctor
Follow one appointment from Staff booking and check-in through the assigned Doctor’s saved ambulatory encounter, with the correct record, time and actor at each handoff.
12 min read · Source baseline f6e9f05f
Verification and applicability
Ten actual 1920 × 1080 Chrome screenshots of original f6e9 synthetic training UI. Normal Staff and Doctor GET200 checks preserve Booked, Checked-In and In-Consultation for appointment981eda2f…. Doctor-only associated encounter GET200 verifies5026f458… In Progress/Ambulatory/Routine, actual period start2026-10-18T21:07:47.483Z (19October00:07Riyadh), existing department800f40d9… and Doctor creator. Staff is booking/check-in actor, Doctor is clinical creator/updater. No new grant, clinical findings/treatment, charge/token, completedcare, externalnotification or nativeprint/PDF claim.
Check your installed version, permissions and local configuration.
Before you begin
- Use the previously illustrated existing-patient practitioner-booking workflow. The patient, Staff, Doctor, Clinic and department in this example already exist as synthetic training fixtures; prior Rescheduled/Cancelled appointments stay preserved.
- Staff needs the existing booking rights to check in the appointment. Doctor needs the actual encounter-create permission in this facility. Receptionist is a job function; it is not an additional built-in security role. No memberships or permissions are changed.
- All dates are shown in the training UI local context. The appointment is 19 October 2026 at 09:00–09:15 Riyadh; the software-only demonstration begins shortly after midnight within the original UI’s one-day-before/after check-in window. The encounter starts at the actual 00:07 training time. This does not represent real attendance or care.
1. Staff: review a separate handoff booking
After verifying the existing patient, select the existing Doctor and review 19 October, 09:00 before Confirm Appointment. The first available time is automatically selected. This separate booking uses an explicitly synthetic handoff reason; the previous Rescheduled and Cancelled records remain unchanged.
12345Capture details
Actual 1920 × 1080 Chrome pixels; pinned source f6e9f05f. existing Staff check-in and Doctor synthetic consultation handoff
- Assigned Doctor: Use the existing scheduled practitioner.
- Handoff date: Check 19 October2026.
- Selected 09:00 time: Review the selected available slot.
- Synthetic handoff note: This demonstration represents no real attendance or care.
- Confirm Appointment: Save the separate handoff booking once.
2. Staff: verify Booked and use Check-In
Confirm the intended patient, Booked, 09:00–09:15, assigned Doctor, Staff actor and synthetic note. Use Check-In once when your actual booking permissions and the time window permit it. This demonstration uses the allowed window shortly after midnight; no real arrival is asserted.
12345Capture details
Actual 1920 × 1080 Chrome pixels; pinned source f6e9f05f. existing Staff check-in and Doctor synthetic consultation handoff
- New Booked state: Verify the separate handoff appointment.
- Scheduled time: The appointment is19 October09:00–09:15.
- Staff Check-In: Update the operational status once within the allowed window.
- Assigned Doctor: The same practitioner receives the clinical handoff.
- Explicit synthetic context: No real attendance, diagnosis or treatment is represented.
3. Staff: verify Checked-In and hand off to the assigned Doctor
The same appointment now shows Checked-In and retains its scheduled time and note. The update actor is Staff. Independent Staff and Doctor reads confirm this state without an encounter, charge or token. Hand the scheduling context to the assigned clinician; this guide does not create an encounter as Staff.
12345Capture details
Actual 1920 × 1080 Chrome pixels; pinned source f6e9f05f. existing Staff check-in and Doctor synthetic consultation handoff
- Saved Checked-In state: Verify the operational booking status after Check-In.
- Unchanged scheduled time: Check-In does not reschedule the visit.
- Staff update actor: The existing Staff user made this status update.
- Assigned Doctor handoff: The same practitioner receives this appointment.
- Current Staff account: Clinical creation is not performed as Staff.
4. Doctor: find the same appointment on your board
Using your own existing Doctor account in the same Clinic, open Appointments. Review the selected practitioner and Today date, then open the intended patient card under Checked-In. The illustrated board also retains the earlier Rescheduled and Cancelled records under Non Fulfilled. Other filters and lifecycle columns are not exercised by this step.
12345Capture details
Actual 1920 × 1080 Chrome pixels; pinned source f6e9f05f. existing Staff check-in and Doctor synthetic consultation handoff
- Appointments: Open the facility appointment workspace.
- Current practitioner filter: The signed-in Doctor is the selected practitioner.
- Today date filter: Check the intended appointment date.
- Checked-In patient card: Open the intended synthetic patient and09:00 appointment.
- Existing Doctor identity: The handoff now uses the normal Doctor account.
5. Doctor: open Start Consultation
Verify the same checked-in patient, time and assigned practitioner, and confirm the current Doctor account. Use Start Consultation. The existing Doctor has encounter-create permission in this facility; a visible action alone is not evidence of another role’s access.
1234Capture details
Actual 1920 × 1080 Chrome pixels; pinned source f6e9f05f. existing Staff check-in and Doctor synthetic consultation handoff
- Checked-In appointment: Verify the intended patient and current scheduling state.
- Assigned practitioner: Confirm the scheduled Doctor matches this handoff.
- Start Consultation: Open the authorized encounter form as Doctor.
- Current Doctor identity: Use the existing clinician account and its actual permissions.
6. Doctor: review the encounter context and create it once
Review the current 19 October 2026, 00:07 date/time separately from the appointment’s 09:00 scheduled time. This example selects Ambulatory, keeps In Progress and Routine, and uses the existing SYNTHETIC Outpatient Department automatically selected under My Organizations. Confirm the department before Create Encounter. No clinical finding or treatment is entered.
123456Capture details
Actual 1920 × 1080 Chrome pixels; pinned source f6e9f05f. existing Staff check-in and Doctor synthetic consultation handoff
- Actual encounter date and time: Review the current 19 October 00:07 training time separately from the 09:00 appointment.
- Ambulatory selected: This example uses the outpatient encounter class.
- In Progress status: Start Consultation defaults the new encounter to In Progress.
- Routine priority: Review the configured priority.
- Existing department selected: The single eligible synthetic department is automatically selected; no new membership is added.
- Create Encounter: Save this explicitly synthetic consultation encounter once.
7. Doctor: verify the saved encounter and its actor
The saved encounter overview shows Ambulatory, In Progress, Routine and the actual start date/time. In the right Details panel, scroll to verify Departments and Teams, Created By and Last Modified By. The existing synthetic department and Synthetic Workforce Doctor are retained. Independent Doctor GET200 confirms the saved encounter and same appointment association.
123456Capture details
Actual 1920 × 1080 Chrome pixels; pinned source f6e9f05f. existing Staff check-in and Doctor synthetic consultation handoff
- Chosen encounter: Confirm the synthetic patient and newly saved Ambulatory encounter.
- In Progress: The new encounter has started in software and is not completed.
- Class and status details: Review In Progress and Ambulatory.
- Routine priority: Verify the saved priority.
- Actual encounter start: Current synthetic training start is19 October00:07, separate from the09:00 booking.
- View appointment link: Return to the associated appointment to verify its state.
1234Capture details
Actual 1920 × 1080 Chrome pixels; pinned source f6e9f05f. existing Staff check-in and Doctor synthetic consultation handoff
- Existing department association: Verify the selected synthetic department is saved on the encounter.
- Doctor update actor: The clinical actor is the existing Doctor.
- Doctor creator: Verify creation by Doctor, separately from Staff booking and check-in.
- View associated appointment: Return to the booking and verify its consultation state.
8. Verify the appointment’s consultation state and linked encounter
Use the encounter’s top View link to return to its appointment. Verify In-Consultation, Staff as Booked by, Doctor as Last updated by, and the associated In Progress / Ambulatory / Routine encounter card. View Encounter returns to that same saved clinical record. Independent Staff/Doctor appointment reads and Doctor encounter read verify the association; the visit remains ongoing.
123456Capture details
Actual 1920 × 1080 Chrome pixels; pinned source f6e9f05f. existing Staff check-in and Doctor synthetic consultation handoff
- In-Consultation scheduling state: Verify the saved appointment transition after Doctor initiation.
- Staff booking actor: Booking/check-in ownership remains distinct from clinical creation.
- Doctor update actor: The existing Doctor initiated this consultation.
- Associated clinical encounter: Review In Progress, Ambulatory and Routine on the linked record.
- View Encounter: Return to the same saved associated encounter.
- Print Appointment: Open the populated appointment document separately.
Two records and two actors
The appointment records the scheduling workflow. The encounter records the clinical visit context. Staff books and checks in; the existing Doctor creates the associated encounter. The saved appointment then shows In-Consultation while the clinical encounter is In Progress. Neither status means the visit is completed.
Original version and role boundary
The original f6e9 Staff screen visibly includes clinical quick actions despite this Staff account lacking encounter-create permission. They are not executed as Staff here. The Doctor account has the source-defined permission and saves the encounter normally. Later corrected product controls need their own version-specific evidence.
Synthetic scope and remaining work
The example creates only an appointment and an Ambulatory/Routine encounter with an existing department. No diagnosis, treatment, clinical response, charge, token, new care team, location or security grant is added. It does not qualify every role/facility/resource variant, completed consultation or external notification.
Troubleshooting
Check-In is unavailable
Confirm the appointment is Booked, your account can write this booking, and the appointment falls within the source-defined check-in time window. No clock or permission is changed in this walkthrough.
The expected department or practitioner is absent
Confirm your account, facility and existing membership. This example automatically selects its one eligible department; other organization choices and access boundaries require their own verified workflow.
Source evidence
References are pinned to the private MANSOQ source repository. Repository access is required to open these links.
- repositories/platform/mansoq-web/src/pages/Appointments/AppointmentDetail.tsx:196 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Appointments/AppointmentDetail.tsx:279 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Appointments/AppointmentDetail.tsx:950 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Appointments/AppointmentDetail.tsx:957 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Appointments/AppointmentDetail.tsx:471 · f6e9f05f
- repositories/platform/mansoq-web/src/components/Encounter/CreateEncounterForm.tsx:67 · f6e9f05f
- repositories/platform/mansoq-core/mansoq/security/permissions/encounter.py:33 · f6e9f05f
- repositories/platform/mansoq-core/mansoq/security/authorization/encounter.py:28 · f6e9f05f
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/scheduling/booking.py:121 · f6e9f05f
- repositories/platform/mansoq-core/mansoq/emr/resources/encounter/spec.py:87 · f6e9f05f
- repositories/platform/mansoq-core/mansoq/emr/api/viewsets/encounter.py:187 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Appointments/AppointmentDetail.tsx:498 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Appointments/AppointmentPrint.tsx:128 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Appointments/AppointmentsPage.tsx:179 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Facility/settings/organizations/components/FacilityOrganizationSelector.tsx:247 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Encounters/tabs/overview/summary-panel-details-tab/auditlogs.tsx:18 · f6e9f05f
- repositories/platform/mansoq-web/src/pages/Encounters/tabs/overview/summary-panel-details-tab/department-and-team.tsx:26 · f6e9f05f