Video Appointments
The Video Appointments screen enables real-time video consultations between doctors and patients.
This screen includes:
- Video area - Displays participant video feeds.
- Picture-in-picture view - Displays local or remote secondary feed.
- Participant labels
- Session timer
- Control toolbar
- Mute
- Disable video
- Swap camera
- End call
- Report issue
Access
Open the video session from:
- Appointment List
- Appointment Details
Session Lifecycle
The video session follows these states:
- Appointment is scheduled.
- Doctor starts the session.
- Permissions are validated.
- Waiting state displays until the patient joins.
- Active session begins.
- Session ends and updates appointment status.
Workflow
This flow starts when the video appointment screen opens.
- Select Start Video.
- Grant camera and microphone permissions.
- Wait for the patient to join.
- Use in-call controls.
- End the session.
Validations
These rules enforce session readiness and capability constraints.
| Scenario | App behavior | SDK output |
|---|---|---|
| Camera or microphone permission missing. | Block session start and display guidance. | Permission validation error. |
| Permission prompt dismissed. | Remain in non-connected state. | No session initialization. |
| Device does not support camera switching. | Hide Swap camera. | Capability flag disables feature. |
| Network quality below threshold. | Prevent connection. | Session start failure response. |
| Session inactive beyond timeout. | Disconnect session and exit. | Session timeout event emitted. |
Actions
| Scenario | App behavior | SDK output |
|---|---|---|
| Video session started. | Initialize video room and enter waiting state. | Session initialization event. |
| Microphone toggled. | Update audio state. | Audio state updated and synchronized. |
| Video toggled. | Enable or disable camera stream. | Video state updated. |
| Camera switched. | Change active camera on supported devices. | Camera source updated. |
| Call ended. | Terminate session and return to previous flow. | Session end event emitted. |
| Issue reporting opened. | Open report form with session context. | Report flow initialized. |
Endpoint Resources
Present Video Room
PUT
/appointments/{appointment-id}/video-room
Produces the video room screen for the specified appointment.
UI Element Types
| Level | Reference | Type | Value | Placement |
|---|---|---|---|---|
| 1 | start-call | Button | Start call. | — |
| 1 | end-call | Link | End call. | ~ |
| 1 | report-issue | Link | Report issue. | ~ |
| 1 | spacer | Spacer | — | ~ |
| 1 | swap-camera | Link | Swap camera. | ~ |
| 1 | disable-video | Link | Disable video. | ~ |
| 1 | mute | Link | Mute. | ~ |