# HAD Digital - User Stories
Version: 1.0.0 Date: 5 September 2026 Clinical Owner: Dr Kais Aldabbagh, Polyclinique St Come - Medical Oncology
Overview
This document defines the user stories for HAD Digital MVP. Each story includes acceptance criteria and is traceable to the functional requirements in the specification.
Epic 1: Patient Toxicity Self-Reporting (FR-1)
US-1.1: Submit Symptom Report
As a patient I want to report my symptoms through a structured questionnaire So that my care team can monitor my condition and intervene if needed
Acceptance Criteria:
- [ ] I can access the symptom report form from my home screen
- [ ] The form covers 5 CTCAE domains: GI, hematologic, dermatologic, neurologic, constitutional
- [ ] Each symptom has clear, understandable severity descriptors
- [ ] I can submit the form with minimal effort (large touch targets, minimal text)
- [ ] I receive immediate feedback after submission
- [ ] The form works on my phone and tablet
Priority: HIGH Spec Reference: FR-1, S7.2
US-1.2: View Symptom Report History
As a patient I want to view my past symptom reports So that I can track my condition over time
Acceptance Criteria:
- [ ] I can see a list of my past reports with dates
- [ ] I can see the grades assigned to my reports
- [ ] I can filter reports by date range
- [ ] I can see which reports were confirmed by my clinician
Priority: MEDIUM Spec Reference: FR-1
US-1.3: Receive Guidance After Report
As a patient I want to receive clear guidance after submitting a symptom report So that I know what to do next (self-care, contact team, or go to emergency)
Acceptance Criteria:
- [ ] I receive guidance immediately after submitting my report
- [ ] The guidance is specific to my symptoms and severity
- [ ] The guidance tells me if I should self-care, contact my team, or go to emergency
- [ ] The guidance is in French (my language)
- [ ] The guidance is validated by my physician
Priority: HIGH Spec Reference: FR-10
Epic 2: Clinician Observation Entry (FR-2)
US-2.1: Submit Clinical Observation
As a clinician (HAD nurse or oncologist) I want to record my clinical findings during a home visit So that the patient's medical record is complete and accurate
Acceptance Criteria:
- [ ] I can select the patient from a list
- [ ] I can enter vital signs (temperature, BP, heart rate, SpO2, weight)
- [ ] I can enter observed toxicity signs (nausea, mucositis, skin toxicity)
- [ ] I can add clinical notes
- [ ] The observation is linked to the patient's episode
- [ ] The observation appears on the patient's timeline
Priority: HIGH Spec Reference: FR-2
US-2.2: View Patient Observations
As a clinician I want to view past clinical observations for a patient So that I can track the patient's condition over time
Acceptance Criteria:
- [ ] I can see a list of past observations with dates
- [ ] I can see the clinician who made each observation
- [ ] I can see vital signs and toxicity signs
- [ ] I can filter observations by date range
Priority: MEDIUM Spec Reference: FR-2
Epic 3: Automated CTCAE Grading (FR-3)
US-3.1: Automatic Grade Assignment
As a clinician I want the system to automatically grade reported symptoms So that I can quickly assess the severity of adverse events
Acceptance Criteria:
- [ ] When a patient submits a report, the system assigns CTCAE grades automatically
- [ ] Grades are based on the CTCAE v5.0 criteria
- [ ] Grades >= 2 are flagged as provisional
- [ ] I can see the grading criteria used
- [ ] I can confirm or override automated grades
Priority: HIGH Spec Reference: FR-3, S7.3
US-3.2: Confirm Provisional Grades
As an oncologist I want to confirm provisional grades assigned by the system So that the grades are officially part of the patient's record
Acceptance Criteria:
- [ ] I can see a list of provisional grades
- [ ] I can review the grading criteria
- [ ] I can confirm the grade or override it with a different grade
- [ ] My confirmation is logged in the audit trail
- [ ] The patient and care team can see the confirmed grade
Priority: HIGH Spec Reference: FR-3, S7.3
Epic 4: Tiered Clinical Alerting (FR-4)
US-4.1: Automatic Alert Generation
As a clinician I want the system to automatically generate alerts based on toxicity grades So that I am notified of adverse events that require attention
Acceptance Criteria:
- [ ] Grade 1 → Routine alert (timeline only)
- [ ] Grade 2 → Urgent alert (notification to HAD nurse)
- [ ] Grade 3+ → Emergency alert (notification to oncologist)
- [ ] Alerts include patient name, symptom, grade, and recommended action
- [ ] Alerts are visible on the dashboard and timeline
Priority: HIGH Spec Reference: FR-4, S7.4
US-4.2: Acknowledge Alerts
As a clinician I want to acknowledge alerts I have received So that the system knows I have seen and responded to the alert
Acceptance Criteria:
- [ ] I can see a list of pending alerts
- [ ] I can acknowledge an alert with one click
- [ ] My acknowledgment is logged with timestamp and my identity
- [ ] Acknowledged alerts are marked as acknowledged
- [ ] I can add notes when acknowledging an alert
Priority: HIGH Spec Reference: FR-4
US-4.3: Escalate Unacknowledged Alerts
As a system I want to escalate alerts that are not acknowledged within the defined response time So that no alert is missed
Acceptance Criteria:
- [ ] If an urgent alert is not acknowledged within 30 minutes, it escalates to the backup clinician
- [ ] If an emergency alert is not acknowledged within 5 minutes, it escalates to the backup oncologist
- [ ] Escalation is logged in the audit trail
- [ ] The escalation chain is visible to administrators
Priority: MEDIUM (not in MVP) Spec Reference: FR-4, S7.4
Epic 5: Shared Care Timeline (FR-5)
US-5.1: View Patient Timeline
As a clinician I want to view a chronological timeline of all events for a patient So that I can understand the patient's care history
Acceptance Criteria:
- [ ] I can see all events (reports, grades, alerts, messages) in chronological order
- [ ] I can filter by event type
- [ ] I can filter by date range
- [ ] Each event shows timestamp, type, description, and who created it
- [ ] The timeline is role-filtered (I only see events relevant to my role)
Priority: HIGH Spec Reference: FR-5
US-5.2: View My Timeline (Patient)
As a patient I want to view my care timeline So that I can see what has happened in my care
Acceptance Criteria:
- [ ] I can see all events related to my care
- [ ] I can see reports, grades, alerts, and messages
- [ ] I can filter by date range
- [ ] The timeline is easy to read on my phone
Priority: HIGH Spec Reference: FR-5
Epic 6: Secure Messaging (FR-6)
US-6.1: Send Message
As a clinician or patient I want to send a message to my care team So that I can communicate about my care
Acceptance Criteria:
- [ ] I can send a message to a specific person or role
- [ ] I can link a message to a specific alert or timeline event
- [ ] The message is delivered immediately
- [ ] The message appears on the patient's timeline
- [ ] The message is logged in the audit trail
Priority: HIGH Spec Reference: FR-6
US-6.2: View Messages
As a clinician or patient I want to view my messages So that I can stay informed about my care
Acceptance Criteria:
- [ ] I can see a list of my messages
- [ ] I can see who sent each message and when
- [ ] I can see which messages are unread
- [ ] I can filter messages by patient or alert
Priority: HIGH Spec Reference: FR-6
Epic 7: Treatment Plan View (FR-7)
US-7.1: View Treatment Plan
As a clinician or patient I want to view the current treatment plan So that I know what treatment the patient is receiving
Acceptance Criteria:
- [ ] I can see the treatment protocol name
- [ ] I can see the current cycle and day
- [ ] I can see the medications and doses
- [ ] I can see the schedule (next visit, next infusion)
- [ ] I can see supportive care prescriptions
Priority: HIGH Spec Reference: FR-7
Epic 8: Toxicity Summary Export (FR-8)
US-8.1: Export Toxicity Summary
As a clinician I want to export a structured toxicity summary So that I can include it in the patient's hospital record
Acceptance Criteria:
- [ ] I can select a date range for the summary
- [ ] I can select a specific patient
- [ ] The summary includes per-symptom grades, timeline, and alert history
- [ ] The summary is in a structured format (JSON or PDF)
- [ ] The summary is suitable for insertion into the hospital record
Priority: HIGH Spec Reference: FR-8
Epic 9: Role-Based Access Control (FR-9)
US-9.1: Login with Role
As a user I want to log in with my credentials and see only the functions appropriate to my role So that patient data is protected
Acceptance Criteria:
- [ ] I can log in with username and password
- [ ] My password is securely hashed
- [ ] I am locked out after 5 failed attempts
- [ ] I see only the functions and data appropriate to my role
- [ ] My session expires after 24 hours
Priority: HIGH Spec Reference: FR-9
US-9.2: Role-Based Data Visibility
As a system I want to filter data based on user role and patient assignment So that each user sees only the data they are authorized to see
Acceptance Criteria:
- [ ] Oncologist sees patients assigned to them
- [ ] HAD nurse sees patients in their HAD structure
- [ ] Community nurse sees patients assigned to them
- [ ] GP sees patients who designated them
- [ ] Pharmacist sees patients with active treatment plans
- [ ] Patient sees only their own data
- [ ] Caregiver sees only the patient they are linked to
- [ ] Admin sees all patients
Priority: HIGH Spec Reference: FR-9
Epic 10: Audit Trail (FR-11)
US-10.1: Log All Actions
As a system I want to log all clinically relevant actions So that there is a complete audit trail
Acceptance Criteria:
- [ ] All logins and logouts are logged
- [ ] All report submissions are logged
- [ ] All grade assignments and confirmations are logged
- [ ] All alert creations and acknowledgments are logged
- [ ] All message sends are logged
- [ ] All data views are logged
- [ ] Each log entry includes timestamp, user, action, resource, and IP address
- [ ] The audit log is append-only (cannot be modified or deleted)
Priority: HIGH Spec Reference: FR-11
Epic 11: Standalone Deployment (CAP-12 to CAP-16)
US-11.1: Run Without Installation
As a user I want to run the application by double-clicking an .exe file So that I don't need to install Python, Docker, or any dependencies
Acceptance Criteria:
- [ ] The application is packaged as a single .exe file
- [ ] The .exe runs on Windows 10/11 without installation
- [ ] All dependencies are bundled inside the .exe
- [ ] The database is created automatically on first run
- [ ] The application starts a local web server on port 8080
- [ ] I can access the application by opening http://127.0.0.1:8080
Priority: HIGH Spec Reference: CAP-12 to CAP-16
Epic 12: Demo Data (CAP-20)
US-12.1: Auto-Seed Demo Data
As a user I want the application to automatically seed demo data on first run So that I can see how the application works with real data
Acceptance Criteria:
- [ ] Demo data is seeded automatically on first run
- [ ] Demo data includes 3 sample patients with French names
- [ ] Demo data includes pre-loaded CTCAE terms
- [ ] Demo data includes sample reports and alerts
- [ ] Demo data includes user accounts for all roles
- [ ] I can log in with demo credentials and see the demo data
Priority: HIGH Spec Reference: CAP-20
Summary
| Epic | Stories | MVP Priority |
|---|---|---|
| Patient Toxicity Self-Reporting | 3 | HIGH |
| Clinician Observation Entry | 2 | HIGH |
| Automated CTCAE Grading | 2 | HIGH |
| Tiered Clinical Alerting | 3 | HIGH |
| Shared Care Timeline | 2 | HIGH |
| Secure Messaging | 2 | HIGH |
| Treatment Plan View | 1 | HIGH |
| Toxicity Summary Export | 1 | HIGH |
| Role-Based Access Control | 2 | HIGH |
| Audit Trail | 1 | HIGH |
| Standalone Deployment | 1 | HIGH |
| Demo Data | 1 | HIGH |
Total: 23 user stories MVP Scope: All HIGH priority stories (22 stories) Future Phases: Escalation story (1 story)