Clinical Workflow Actions¶
UC-ONC-070: Generate Quick Patient Summary¶
Purpose: Generate an at-a-glance summary when opening a patient record, showing cancer type, stage, current treatment, and key metrics.
| Property | Value |
|---|---|
| Actor | Summary Generation Service |
| Trigger | Patient record opened |
| Priority | P0 |
Main Success Scenario:
1. Retrieve patient oncology record
2. Generate summary with:
- Cancer type & stage
- Treatment intent (curative/palliative)
- Line of therapy
- Performance status (ECOG)
- Current regimen & cycle day
- Prior therapies (one-line)
- Key biomarkers with date
- Latest scan response
- Key lab snapshot
- Critical comorbidities/allergies
3. Display in top panel within 2 seconds
Alternative Flows:
Alt-1: Incomplete Data
- Some summary fields missing - Display available data with "Incomplete" flags - Suggest data completion actionsObservability:
- Metric: onc_summary_generated, onc_summary_load_time_ms
- Log: {"event": "patient_summary", "patient_id": "P1234", "complete": true, "load_time_ms": 450}
Acceptance Criteria: 1. [ ] Summary loads in < 2 seconds 2. [ ] Covers all 10 key elements 3. [ ] Flags incomplete data
UC-ONC-071: Track Changes Since Last Visit¶
Purpose: Highlight what changed since the patient's last clinic visit for quick follow-up preparation.
| Property | Value |
|---|---|
| Actor | Change Tracking Service |
| Trigger | Follow-up visit initiated |
| Priority | P0 |
Main Success Scenario:
1. Identify last visit date
2. Query all new data since last visit:
- New lab results
- New imaging studies
- Dose modifications
- Adverse events logged
- New consultations/procedures
3. Generate "What Changed" summary
4. Flag significant changes (e.g., rising tumor markers, new lesions)
Alternative Flows:
Alt-1: First Visit
- No prior visit found - Display as "First Visit - Baseline" - Show all available data as newObservability:
- Metric: onc_changes_tracked, onc_significant_changes_flagged
- Log: {"event": "changes_since_visit", "patient_id": "P1234", "days_since": 21, "new_items": 8, "significant_flags": 2}
Acceptance Criteria: 1. [ ] Detects all new items since last visit 2. [ ] Highlights significant changes 3. [ ] Supports first-visit scenario
UC-ONC-072: Aggregate Multi-Source Patient Data¶
Purpose: Aggregate patient data from multiple sources (EMR, PACS, lab portals, outside records, WhatsApp images) into unified view.
| Property | Value |
|---|---|
| Actor | Data Aggregation Service |
| Trigger | Patient data request |
| Priority | P0 |
Main Success Scenario:
1. Query connected data sources:
- Hospital EMR/HIS
- PACS/Radiology system
- Laboratory Information System
- Pathology lab portal
- Outside hospital records
- Patient-uploaded documents (WhatsApp, files)
2. Normalize data formats
3. Deduplicate overlapping records
4. Merge into unified patient timeline
5. Tag source for each data element
Alternative Flows:
Alt-1: Source Unavailable
- One or more sources timeout/fail - Proceed with available sources - Display warning for unavailable sources - Retry in backgroundAlt-2: Patient-Uploaded Images
- Receive WhatsApp/scanned images - Queue for OCR processing - Extract structured data - Link to patient recordObservability:
- Metric: onc_sources_queried, onc_records_merged, onc_source_failures
- Log: {"event": "data_aggregation", "sources_queried": 5, "records_merged": 23, "deduplicated": 3}
Acceptance Criteria: 1. [ ] Supports 6+ data source types 2. [ ] Handles source failures gracefully 3. [ ] Tags data provenance
UC-ONC-073: Draft Clinic Note with Citations¶
Purpose: Auto-generate draft clinic note with inline citations to source documents.
| Property | Value |
|---|---|
| Actor | Note Generation Service |
| Trigger | Consultation initiated |
| Priority | P1 |
Main Success Scenario:
1. Gather current visit context (chief complaint, vitals)
2. Pull relevant patient data:
- Recent labs with values
- Recent imaging findings
- Current treatment status
- Adverse events
3. Generate structured clinic note:
- Chief Complaint
- History of Present Illness (with citations)
- Assessment
- Plan
4. Embed clickable citations to source documents
5. Present for physician review/edit
Alternative Flows:
Alt-1: Insufficient Data
- Key sections cannot be populated - Generate partial note - Highlight sections requiring manual inputObservability:
- Metric: onc_clinic_note_drafted, onc_note_citations_count
- Log: {"event": "clinic_note_draft", "patient_id": "P1234", "sections_complete": 4, "citations": 12}
Acceptance Criteria: 1. [ ] Generates structured SOAP-style note 2. [ ] All facts have source citations 3. [ ] Requires physician review before saving
UC-ONC-074: Screen Clinical Trial Eligibility¶
Purpose: Quick screening of patient eligibility for active clinical trials based on cancer type, stage, biomarkers, and prior treatments.
| Property | Value |
|---|---|
| Actor | Trial Matching Service |
| Trigger | User requests trial check |
| Priority | P1 |
Main Success Scenario:
1. Extract patient criteria:
- Cancer type, histology, stage
- Biomarker status (HER2, EGFR, PD-L1, etc.)
- Prior lines of therapy
- Performance status
- Key lab values
2. Query active trial database
3. Match against inclusion/exclusion criteria
4. Rank trials by fit score
5. Display potential matches with match reasoning
Alternative Flows:
Alt-1: No Matches Found
- No eligible trials - Display alternative options (off-label, compassionate use) - Suggest criteria that if changed would enable matchesObservability:
- Metric: onc_trial_screens, onc_trial_matches_found
- Log: {"event": "trial_screening", "patient_id": "P1234", "trials_checked": 45, "matches": 3}
Acceptance Criteria: 1. [ ] Screens against active trial database 2. [ ] Explains match/mismatch reasoning 3. [ ] Non-prescriptive (informational only)
UC-ONC-075: Flag Missing/Overdue Tests¶
Purpose: Identify and flag tests that are missing or overdue based on treatment protocol.
| Property | Value |
|---|---|
| Actor | Protocol Compliance Checker |
| Trigger | Patient record accessed or scheduled check |
| Priority | P0 |
Main Success Scenario:
1. Identify patient's current treatment protocol
2. Load protocol-defined test schedule:
- Labs (CBC, LFT before each cycle)
- Imaging (every 2-3 cycles)
- Tumor markers (per protocol)
3. Check against patient's actual test dates
4. Flag:
- Missing: Test never done
- Overdue: Test due but not completed
5. Display in patient summary and create alerts
Alternative Flows:
Alt-1: Custom Protocol
- Non-standard protocol detected - Use physician-defined schedule if available - Otherwise, flag for manual reviewObservability:
- Metric: onc_missing_tests_flagged, onc_overdue_tests_flagged
- Log: {"event": "test_compliance", "patient_id": "P1234", "missing": ["ECHO"], "overdue": ["CBC"]}
Acceptance Criteria: 1. [ ] Protocol-aware scheduling 2. [ ] Distinguishes missing vs overdue 3. [ ] Generates actionable alerts
UC-ONC-076: Capture Patient-Reported Outcomes (PROs)¶
Purpose: Capture and track patient-reported outcomes including symptoms, quality of life, and toxicities.
| Property | Value |
|---|---|
| Actor | PRO Capture Service |
| Trigger | PRO questionnaire submitted |
| Priority | P1 |
Main Success Scenario:
1. Present validated PRO instrument (e.g., EORTC QLQ-C30, PRO-CTCAE)
2. Capture patient responses
3. Score questionnaire
4. Compare against previous PRO submissions
5. Flag worsening symptoms (> threshold change)
6. Display trends in patient summary
Alternative Flows:
Alt-1: Incomplete Submission
- Patient abandons questionnaire - Save partial responses - Calculate partial score if possible - Prompt for completion at next visitObservability:
- Metric: onc_pro_submitted, onc_pro_symptom_flagged
- Log: {"event": "pro_captured", "patient_id": "P1234", "instrument": "PRO-CTCAE", "flagged_symptoms": ["fatigue", "nausea"]}
Acceptance Criteria: 1. [ ] Supports standard PRO instruments 2. [ ] Tracks trends over time 3. [ ] Flags significant worsening
UC-ONC-077: Manage Clinical Task List¶
Purpose: Create, assign, and track clinical tasks and reminders for oncology care.
| Property | Value |
|---|---|
| Actor | Task Management Service |
| Trigger | Task created or patient event |
| Priority | P1 |
Main Success Scenario:
1. Create tasks from various sources:
- Tumor board recommendations
- Missing test alerts
- Follow-up scheduling
- Manual entries
2. Assign to team member (physician, nurse, coordinator)
3. Set due date and priority
4. Track completion status
5. Escalate overdue tasks
Alternative Flows:
Alt-1: Task Reassignment
- Assigned user unavailable - Allow reassignment with audit trail - Notify original and new assigneeObservability:
- Metric: onc_tasks_created, onc_tasks_completed, onc_tasks_overdue
- Log: {"event": "task_status", "task_id": "T456", "action": "completed", "days_to_complete": 2}
Acceptance Criteria: 1. [ ] Supports multiple task sources 2. [ ] Role-based assignment 3. [ ] Overdue escalation
UC-ONC-078: Compare Sequential Imaging Studies¶
Purpose: Side-by-side comparison of sequential imaging studies with lesion measurement overlay.
| Property | Value |
|---|---|
| Actor | Imaging Comparison Widget |
| Trigger | User requests comparison |
| Priority | P1 |
Main Success Scenario:
1. Select two imaging studies for comparison
2. Align anatomically (same view/slice level)
3. Display side-by-side with synchronized scrolling
4. Overlay lesion measurements (baseline vs current)
5. Calculate and display % change per lesion
6. Highlight new lesions
Alternative Flows:
Alt-1: Different Modalities
- Studies are different modalities (CT vs MRI) - Display warning about limited comparability - Allow comparison with disclaimerObservability:
- Metric: onc_imaging_comparisons, onc_new_lesions_detected
- Log: {"event": "imaging_compare", "study1": "CT-2024-01", "study2": "CT-2024-04", "lesions_compared": 3, "new_lesions": 1}
Acceptance Criteria: 1. [ ] Side-by-side synchronized view 2. [ ] Measurement overlay 3. [ ] Highlights new lesions
UC-ONC-079: Generate Handover/Referral Packet¶
Purpose: Generate comprehensive patient packet for handover to another physician or referral to external facility.
| Property | Value |
|---|---|
| Actor | Packet Generator |
| Trigger | Referral requested |
| Priority | P1 |
Main Success Scenario:
1. Compile patient data:
- Diagnosis and staging
- Treatment history (all modalities)
- Key pathology and imaging reports
- Genomics summary
- Current medications
- Recent labs
2. Generate structured PDF packet
3. Include table of contents
4. Allow selective inclusion/exclusion
5. Apply appropriate redactions if needed
Alternative Flows:
Alt-1: Consent Required
- External referral requires consent - Check consent status - Block generation if consent not available - Prompt for consent collectionObservability:
- Metric: onc_referral_packets_generated, onc_packet_sections_included
- Log: {"event": "referral_packet", "patient_id": "P1234", "destination": "external", "sections": 8, "pages": 15}
Acceptance Criteria: 1. [ ] Comprehensive patient summary 2. [ ] Selective section inclusion 3. [ ] Consent-aware for external referrals
UC-ONC-080: Ingest Patient-Shared Documents¶
Purpose: Ingest and process documents shared by patients via WhatsApp, email, or file upload.
| Property | Value |
|---|---|
| Actor | Patient Document Ingestion Service |
| Trigger | Patient document received |
| Priority | P1 |
Main Success Scenario:
1. Receive document from patient channel:
- WhatsApp image
- Email attachment
- Web/app file upload
2. Validate document (image quality, file type)
3. Queue for OCR processing
4. Extract structured data (lab values, dates, findings)
5. Match to patient record via phone/ABHA ID
6. Present for clinician review before merging
7. Link to patient timeline with "Patient-Uploaded" tag
Alternative Flows:
Alt-1: Poor Image Quality
- Image too blurry/dark for OCR - Notify patient to resend with better quality - Store original with "Unprocessed" flagAlt-2: Patient Not Matched
- Cannot match document to existing patient - Queue for manual matching - Alert registration deskObservability:
- Metric: onc_patient_docs_received, onc_patient_docs_processed, onc_patient_docs_merged
- Log: {"event": "patient_document", "source": "whatsapp", "patient_id": "P1234", "doc_type": "outside_lab", "status": "merged"}
Acceptance Criteria: 1. [ ] Supports multiple input channels 2. [ ] OCR extraction accurate 3. [ ] Requires clinician review before merge