﻿# 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)
