Skip to content

User Interface Use Cases (UI)

UC-UI-001: View Patient List

Purpose: Oncologist finds a patient to review.

Main Success Scenario: 1. User logs in. 2. System displays list of assigned patients. 3. User types name in search bar. 4. System filters list in real-time. 5. User clicks a patient row. 6. System navigates to UC-UI-002.

Acceptance Criteria: 1. [ ] Search works on Name and ABHA ID 2. [ ] Pagination for lists > 20 items


UC-UI-002: View Patient Overview

Purpose: See high-level summary (Diagnosis, Stage, Vitals).

Main Success Scenario: 1. Page loads GET /api/patients/:id. 2. System renders "Patient Card" (Name, Age). 3. System renders "Cancer Summary" (Site, Stage). 4. System renders "Recent Alerts" (Critical labs). 5. System renders "Vitals Sparklines".

Acceptance Criteria: 1. [ ] Loads in < 1.5s 2. [ ] Critical alerts are visually distinct (Red)


UC-UI-003: View Timeline

Purpose: Understand the chronological cancer journey.

Main Success Scenario: 1. User clicks "Timeline" tab. 2. System renders vertical timeline component. 3. Events grouped by month/year. 4. User clicks "Chemo Cycle 1". 5. System expands details (Regimen, Dates).

Acceptance Criteria: 1. [ ] Scroll performance smooth with 500+ events 2. [ ] Filters available by event type


Purpose: Monitor blood counts during chemotherapy.

Main Success Scenario: 1. User clicks "Labs" tab. 2. System displays table of recent results. 3. User selects "Hemoglobin". 4. System renders line chart (6 months). 5. Critical values (<7.0) highlighted.

Acceptance Criteria: 1. [ ] Interactive tooltips on chart points 2. [ ] Reference ranges visualized as shaded area


UC-UI-005: Acknowledge Clinical Alert

Purpose: Ensure oncologists can acknowledge and document alert handling.

Main Success Scenario: 1. Alert banner appears with severity color coding. 2. User clicks "Acknowledge". 3. Modal prompts for optional comment + next action. 4. User submits; UI disables alert and shows "Acknowledged by Dr. Rao". 5. API call POST /api/alerts/{id}/ack persists status. 6. Activity feed records acknowledgement entry.

Acceptance Criteria: 1. [ ] Only assigned oncologist can acknowledge 2. [ ] Comments limited to 500 chars with markdown preview 3. [ ] Undo available for 30s


UC-UI-006: Annotate Document

Purpose: Allow clinicians to highlight and tag portions of OCR documents.

Main Success Scenario: 1. User opens document viewer. 2. Selects text span; context toolbar appears. 3. User chooses tag (e.g., "Med Change") and adds note. 4. Annotation saved via POST /api/documents/{docId}/annotations. 5. Tag icon appears inline; hovering reveals note + author + timestamp. 6. All annotations listed in side panel with filter + jump-to.

Acceptance Criteria: 1. [ ] Supports overlapping annotations without rendering glitches 2. [ ] Stores page + coordinate metadata for each annotation 3. [ ] Permissions enforce read-only mode for non-authorized viewers


UC-UI-007: Compare Lab Panels

Purpose: Visualize two lab panels side-by-side for treatment decision-making.

Main Success Scenario: 1. User selects two lab types (e.g., CBC vs CMP) from dropdowns. 2. UI fetches /api/patients/{id}/labs?panel=cbe&panel=cmp. 3. Two synchronized charts render with shared x-axis (date). 4. Brushing over date range updates both charts simultaneously. 5. Critical thresholds display as horizontal bands. 6. User exports comparison as PNG/PDF.

Acceptance Criteria: 1. [ ] Charts stay responsive under 5 years of monthly data 2. [ ] Download respects dark/light theme 3. [ ] Keyboard navigation accessible for all controls


UC-UI-008: Manage Worklist Queue

Purpose: Provide triage board for new documents/jobs requiring review.

Main Success Scenario: 1. User opens "Worklist" tab. 2. Table lists jobs with columns (Type, Patient, SLA, Status). 3. User drags job card to "In Progress" lane (Kanban mode) or assigns via dropdown. 4. UI calls POST /api/worklist/{jobId}/assign with userId. 5. Job row updates in real-time via SSE when state changes. 6. User filters by SLA or modality using chips.

Acceptance Criteria: 1. [ ] SLA color coding (<2h amber, <30m red) 2. [ ] Supports bulk selection + assign 3. [ ] Persisted column layout per user profile