Appointment Details
Use the Appointment Details screen to retrieve and manage a single appointment.
The screen displays appointment data in structured tabs and controls actions based on appointment status.
This screen includes:
- Appointment header:
- Appointment ID
- Date and time
- Status
- Visit type
- Doctor information
- Clinic information
- Patient information
- Four tabs:
- Details
- Charges
- Documents
- History
- Action buttons based on status
Tab Structure
| Tab | Data Rendered | Edit Behavior | Notes |
|---|---|---|---|
| Details | Appointment metadata, visit type (Clinic / Home / Video), doctor name and specialty, clinic name and address, patient information, medical issue summary | Read-only | Data sourced from GET /appointments/{id} |
| Charges | Base cost, discounts, adjustments, total cost | Editable only when appointment state allows modification | Submit updates through charge endpoint. Refresh data on success. |
| Documents | Prescriptions, visit summaries, attachments | Read-only | Each item includes file name, file type, and download action. |
| History | Status transitions, timestamp, source of change | Read-only | Immutable audit log. No client-side mutation. |
Workflow
- Open the appointment from the Appointment List.
- Review the appointment header, including date, time, status, and visit type.
- View appointment information in the Details tab.
- Open Charges to review costs.
- Open Documents to access prescriptions or visit summaries.
- Open History to review status changes.
Here is the revised MDX-ready section.
Language is precise, integration-focused, and useful for SDK implementers. Rules define UI behavior tied to backend state. No filler.
Validations
| Condition | Rendering Rule |
|---|---|
GET /appointments/{id} returns 404 | Render error state. Do not mount screen. |
status = Scheduled | Enable Join Video and Cancel actions. |
status = Pending | Disable Join Video. Enable Cancel. |
status = Completed | Render entire screen read-only. Disable all mutation actions. |
status = Canceled | Render entire screen read-only. Disable all mutation actions. |
| Charges section editable flag = true | Enable cost modification controls. |
| Charges section editable flag = false | Render charges read-only. |
| Documents array length > 0 | Render document list. |
| Documents array empty or null | Omit Documents content area. |
| Document MIME type unsupported | Disable preview action. |
| Status update response = 409 | Do not update UI state. Display conflict error. |
| API response = 403 | Display authorization error. Disable mutation actions. |
| Network request failure | Preserve current state. Display error message. |
Actions
| Trigger | SDK Behavior |
|---|---|
Join Video selected | Initialize video session using appointment ID. |
Cancel selected | Call POST /appointments/{id}/status with canceled. Refresh appointment on success. |
Mark as Completed selected | Call POST /appointments/{id}/status with completed. Refresh appointment on success. |
| Charges modified | Submit charge update request. Re-fetch appointment on success. |
| Tab selected | Render tab content. Do not re-fetch unless required. |
| Document selected | Request document resource. Render preview if supported. |
| Download selected | Request file download endpoint. |
| API error response | Do not mutate local state. Surface structured error. |
Endpoint Resources
🧰 Endpoint Resources under construction
