Digital Health Application for Bipolar Disorder Self-Management
Selected for Development = ready to start ·
In Progress = actively being coded ·
Developed = code complete, awaiting QA ·
Done = QA-accepted & merged to sprint branch (not yet develop/main)
BipoAI is in mid-Sprint-1 handoff to Sprint-2 with Sprint-3 kickoff underway. Sprint-1 (Foundation & Infrastructure) is 85% complete — 13 of 20 tickets Done, 4 auth items awaiting QA (Developed), and only the 3 tracking epics still open. Sprint-2 (Patient Core) is actively in development: 4 stories + 1 FE sub-task In Progress, all 4 backend sub-tasks Done (Check-In, Home, Onboarding, Invite). Sprint-3 is actively progressing — 6 of 24 tickets Done covering the EWS rules + state machine (BA-282/BA-286), the EWS/Phase API endpoints (BA-283/BA-287), and EWS Clinician Notification (BA-285/BA-289). All work happens on the Sprint-2 branch (36 commits ahead of develop). Nothing has been merged to develop or released to main yet — develop is at the same commit as main.
Backlog grooming has expanded the roadmap from 4 sprints to 6 sprints / 177 unique tickets (up from 46). Sprint-3 (EWS, Phase ID, Insights, Email), Sprint-4 (Patient Extended), Sprint-5 (Clinician portal), and Sprint-6 (Admin + post-approval surveillance) are fully planned at the story + FE/BE sub-task level. SRS coverage jumped from 32% → 74% (28 of 38 functional features now have Jira tickets). Remaining gaps: Researcher module (entire), several Admin features (Check-in schedule, Study/Content, AI Config, Compliance, AbEM Reporting), and AI analysis layer.
Sprint-1 nor Sprint-2 branches have been merged to develop. QA environment cannot be fed from develop until Sprint-1 is merged down — this blocks the 4 Developed auth items from entering QA.
Sprint-1 branch, NOT yet merged to develop — QA environment must be updated before this testing can start.
| # | SRS Feature | SRS Ref | Jira Epic | Sprint | Status | Notes |
|---|---|---|---|---|---|---|
| 1 | Onboarding | DFR 1.1 | BA-257 | Sprint-2 | In Progress | Story BA-265 In Progress |
| 2 | Daily Check-In | DFR 1.2 | BA-258 | Sprint-2 | In Progress | BE Done (BA-264), Story In Progress |
| 3 | Home Screen | DFR 1.3 | BA-259 | Sprint-2 | In Progress | BE Done (BA-270), FE In Progress |
| 4 | Insights | DFR 1.4 | BA-298 | Sprint-3 | Backlog | 2 stories + 4 sub-tasks (charts, zone/phase bars) |
| 5 | Early Warning System (EWS) | DFR 1.5 | BA-281 | Sprint-3 | Backlog | 4 stories + 4 sub-tasks (rules, API, patient UI, notifications) |
| 6 | Phase Identification | DFR 1.6 | BA-290 | Sprint-3 | Backlog | 2 stories + 2 sub-tasks |
| # | SRS Feature | SRS Ref | Jira Epic | Sprint | Status | Notes |
|---|---|---|---|---|---|---|
| 7 | 12-Week Therapeutic Course | DFR 2.1 | BA-273 | Sprint-4, 5 | Backlog | Story BA-279 (Structure & Progression) |
| 8 | Interventions | DFR 2.2 | BA-274 | Sprint-4 | Backlog | Story BA-280 (Zone & Phase Cards) |
| 9 | Medication Tracking | DFR 2.3 | BA-275 | Sprint-4 | Backlog | Story BA-305 + FE/BE sub-tasks |
| 10 | Ulysses Contract | DFR 2.4 | BA-276 | Sprint-4 | Backlog | Story BA-306 + FE/BE sub-tasks |
| 11 | Suicide Risk Screening | DFR 2.5 | BA-277 | Sprint-4 | Backlog | Story BA-307 + FE/BE sub-tasks |
| 12 | Crisis Screen | DFR 2.6 | BA-277 | Sprint-4 | Backlog | Story BA-308 + FE/BE sub-tasks |
| 13 | Privacy & Consent | DFR 2.7 | BA-278 | Sprint-4 | Backlog | Story BA-309 + FE/BE sub-tasks |
| 14 | Clinician Code Sharing | DFR 2.8 | BA-260 | Sprint-2, 4 | In Progress | BA-266 In Progress (Sprint-2); BA-448 Premium code (Sprint-4) |
| # | SRS Feature | SRS Ref | Jira Epic | Sprint | Status | Notes |
|---|---|---|---|---|---|---|
| 15 | Patient Invite | DFR 3.1 | BA-260 | Sprint-2, 4 | In Progress | BA-266 In Progress |
| 16 | Patient Triage | DFR 3.2 | BA-320 | Sprint-5 | Backlog | 2 stories (Core+Sort, Search+Filters) + FE/BE |
| 17 | Patient Detail | DFR 3.3 | BA-321 | Sprint-5 | Backlog | 3 stories (Risk+Life Chart, Check-In Hist+Meds, Course+Phase) |
| 18 | Trialogue Dashboard | DFR 3.4 | BA-322 | Sprint-5 | Backlog | Story BA-342 + FE/BE |
| 19 | Auto-Notifications | DFR 3.5 | BA-323 | Sprint-5 | Backlog | BE-only story (BA-345/BA-346) |
| 20 | Feedback Loop | DFR 3.6 | BA-324 | Sprint-5 | Backlog | 3 stories (EWS, Phase, Clinical Obs feedback) |
| 21 | Adverse Event Reporting | DFR 3.7 | BA-325 | Sprint-5 | Backlog | 2 stories (Form, Follow-Up+List) |
| 22 | Clinician Settings | DFR 3.8 | BA-326 | Sprint-5 | Backlog | 2 stories (Prefs, Weekly Digest) |
| # | SRS Feature | SRS Ref | Jira Epic | Sprint | Status | Notes |
|---|---|---|---|---|---|---|
| 23 | Platform Overview | DFR 4.1 | BA-409 | Sprint-6 | Backlog | 2 stories (Core Metrics, Trends+Engagement) |
| 24 | Clinician & Researcher Mgmt | DFR 4.2 | BA-408 | Sprint-6 | Backlog | 2 stories (Clinician App, Researcher Account) |
| 25 | Metric Builder | DFR 4.3 | BA-410 | Sprint-6 | Backlog | Story BA-419 (CRUD) |
| 26 | Warning Rule Engine | DFR 4.4 | BA-411 | Sprint-6 | Backlog | Safety-Critical — 2 stories (CRUD, Preview/Test) |
| 27 | Phase ID Engine | DFR 4.5 | BA-412 | Sprint-6 | Backlog | Safety-Critical — 2 stories (CRUD, Preview/Test) |
| 28 | Check-in Schedule Config | DFR 4.6 | — | — | Gap | No ticket |
| 29 | Course & Content Management | DFR 4.7 | — | — | Gap | No ticket |
| 30 | AI Configuration | DFR 4.8 | — | — | Gap | No ticket |
| 31 | Compliance | DFR 4.9 | — | — | Gap | No ticket |
| 32 | Super Admin: Admin Management | DFR 4.10 | — | — | Gap | No ticket |
| 33 | AI Analysis Layer | DFR 4.11 | — | — | Gap | No ticket |
| 34 | Post-Approval Monitoring | DFR 4.12 | BA-413, BA-414 | Sprint-6 | Backlog | EWS (BA-413) + Phase ID (BA-414) accuracy tracking. AbEM Quarterly Reporting (SRS Sec. 41, target Q3 2026) is a sub-item — no dedicated ticket |
| 35 | Non-Functional Requirements | DFR 4.13 | — | — | Cross-cutting | NFRs (performance, security, compliance) — addressed partially by BA-236 (Auth & Security) and BA-252 (TLS/AES) |
| # | SRS Feature | SRS Ref | Jira Epic | Sprint | Status | Notes |
|---|---|---|---|---|---|---|
| 36 | Researcher Portal | DFR 5.1 | — | — | Gap | No ticket |
| 37 | AI-Powered Analytics | DFR 5.2 | — | — | Gap | No ticket |
| 38 | Export | DFR 5.3 | — | — | Gap | No ticket |
| # | Area | Jira Epic | Sprint | Status | Notes |
|---|---|---|---|---|---|
| A | Foundation & Infrastructure | BA-235 | Sprint-1 | In Progress (epic open) | RN Scaffold, CF Workers, CI/CD all Done |
| B | Authentication & Security | BA-236 | Sprint-1 | Developed/Done | RBAC & TLS Done; Login & MFA awaiting QA |
| C | Database & Data Model | BA-237 | Sprint-1 | Done | All 6 schema stories complete |
| D | Email Service (CF Workers) | BA-291 | Sprint-3 | Backlog | Story BA-294 + BE sub-task |
| Key | Type | Summary | Status | Priority |
|---|---|---|---|---|
| BA-235 | Epic | Foundation & Infrastructure | Selected | Medium |
| BA-236 | Epic | Authentication & Security | Selected | Medium |
| BA-237 | Epic | Database & Data Model | Selected | Medium |
| BA-240 | Story | DB Schema — User & Profile Entities | Done | Medium |
| BA-241 | Story | DB Schema — Check-In & Clinical Entities | Done | Medium |
| BA-242 | Story | DB Schema — Connection & Consent Entities | Done | Medium |
| BA-243 | Story | DB Schema — Study & Course Entities | Done | Medium |
| BA-244 | Story | DB Schema — Configuration & Audit Entities | Done | Medium |
| BA-245 | Story | Seed Data — Default Metrics | Done | Medium |
| BA-246 | Story | Project Scaffolding — React Native Mobile App | Done | Medium |
| BA-247 | Story | Project Scaffolding — Cloudflare Workers Backend | Done | Medium |
| BA-248 | Story | CI/CD Pipeline | Done | Medium |
| BA-249 | Story | User Registration & Login (OAuth 2.0 + JWT) | Developed | Medium |
| BA-250 | Story | MFA for Clinicians & Admins | Developed | Medium |
| BA-251 | Story | Role-Based Access Control (RBAC) | Done | Medium |
| BA-252 | Story | TLS 1.2+, AES-256 Encryption & Session Mgmt | Done | Medium |
| BA-253 | Sub-task | FE: User Registration & Login | Developed | Medium |
| BA-254 | Sub-task | BE: User Registration & Login | Done | Medium |
| BA-255 | Sub-task | FE: MFA for Clinicians & Admins | Developed | Medium |
| BA-256 | Sub-task | BE: MFA for Clinicians & Admins | Done | Medium |
Sprint-1-superseded (BA-238 Done, BA-239 still Backlog — recommend closing as "Won't Do")develop branch| Key | Type | Summary | Status | Priority |
|---|---|---|---|---|
| BA-257 | Epic | Patient Onboarding | Selected | Medium |
| BA-258 | Epic | Daily Check-In | Selected | Medium |
| BA-259 | Epic | Home Screen | Selected | Medium |
| BA-260 | Epic | Patient-Clinician Connection | Selected | Medium |
| BA-261 | Story | Home Screen | In Progress | Medium |
| BA-262 | Story | Daily Check-In | In Progress | Medium |
| BA-263 | Sub-task | FE: Daily Check-In | Selected | Medium |
| BA-264 | Sub-task | BE: Daily Check-In | Done | Medium |
| BA-265 | Story | Patient Onboarding Flow | In Progress | Medium |
| BA-266 | Story | Patient Invite — Clinician Code Generation | In Progress | Medium |
| BA-267 | Sub-task | FE: Patient Onboarding Flow | Selected | Medium |
| BA-268 | Sub-task | BE: Patient Onboarding Flow | Done | Medium |
| BA-269 | Sub-task | FE: Home Screen | In Progress | Medium |
| BA-270 | Sub-task | BE: Home Screen | Done | Medium |
| BA-271 | Sub-task | FE: Patient Invite — Clinician Code Generation | Selected | Medium |
| BA-272 | Sub-task | BE: Patient Invite — Clinician Code Generation | Done | Medium |
Theme: EWS, Phase Identification, Email Service, Patient Insights — first sprint where the traffic-light model becomes algorithmic. 6 tickets Done: EWS Warning Rules + State Machine (BA-282 Story + BA-286 BE), EWS/Phase API Endpoints (BA-283 Story + BA-287 BE), and EWS Clinician Notification (BA-285 Story + BA-289 BE).
| Epic | Stories | Sub-tasks |
|---|---|---|
| BA-281 — EWS (Early Warning System) | BA-282, BA-283, BA-284, BA-285 | BA-286, BA-287, BA-288, BA-289 |
| BA-290 — Phase Identification | BA-292, BA-293 | BA-295, BA-296 |
| BA-291 — Email Service (CF Workers) | BA-294 | BA-297 |
| BA-298 — Insights (Basic) | BA-299, BA-300 | BA-301, BA-302, BA-303, BA-304 |
Theme: Medication, Ulysses Letters, Suicide Risk Screening, Crisis Screen, Privacy & Consent, Premium Sharing Code.
| Epic | Sample Stories |
|---|---|
| BA-260 — Patient-Clinician Connection | BA-448 Premium Sharing Code (+BA-449 FE-Mobile, BA-450 FE-Web, BA-451 BE) |
| BA-273 — 12-Week Therapeutic Course | BA-279 Structure & Progression |
| BA-274 — Interventions | BA-280 Zone & Phase Cards |
| BA-275 — Medication Tracking | BA-305 CRUD + Adherence |
| BA-276 — Ulysses Contract | BA-306 Write/Edit/Surface |
| BA-277 — Safety & Crisis | BA-307 Suicide Risk Screening, BA-308 Crisis Screen |
| BA-278 — Privacy & Consent | BA-309 Consent Management |
Theme: Entire Clinician role build-out (/doc layout) — triage, patient detail, AI feedback loop, adverse event reporting, notifications, clinician settings.
| Epic | Stories |
|---|---|
| BA-273 — 12-Week Therapeutic Course (carry-over) | BA-279 |
| BA-320 — Patient Triage | BA-327 Core+Sort, BA-328 Search+Filters |
| BA-321 — Patient Detail | BA-333 Risk+Life Chart, BA-334 Check-In Hist+Meds, BA-335 Course+Phase |
| BA-322 — Trialogue Dashboard | BA-342 Shared Warning Signs |
| BA-323 — Auto-Notifications | BA-345 Automated Clinician Emails (BE-only) |
| BA-324 — Feedback Loop | BA-347 EWS Feedback, BA-348 Phase Feedback, BA-349 Clinical Observations |
| BA-325 — Adverse Event Reporting | BA-356 Creation Form, BA-357 Follow-Up + List |
| BA-326 — Clinician Settings | BA-362 Notification Prefs, BA-363 Weekly Digest |
Theme: Admin role + post-market clinical surveillance (MDR Art. 83).
| Epic | Stories |
|---|---|
| BA-408 — Clinician & Researcher Management | BA-415 Clinician App Mgmt, BA-416 Researcher Account Mgmt |
| BA-409 — Platform Overview | BA-417 KPI Core, BA-418 KPI Trends+Engagement |
| BA-410 — Metric Builder | BA-419 Metric Config CRUD |
| BA-411 — Warning Rule Engine [Safety-Critical] | BA-420 Rule CRUD, BA-421 Rule Preview/Test |
| BA-412 — Phase ID Engine [Safety-Critical] | BA-422 Rule CRUD, BA-423 Rule Preview/Test |
| BA-413 — Post-Approval: EWS Accuracy | BA-424 Accuracy Dashboard |
| BA-414 — Post-Approval: Phase ID Accuracy | BA-425 Accuracy Dashboard |
| Epic | Key | Sprint | Stories | Sub-tasks | Done | In Prog | Developed | Remaining | Completion |
|---|---|---|---|---|---|---|---|---|---|
| Foundation & Infrastructure | BA-235 | 1 | 5 | 0 | 5 | 0 | 0 | 0 | 100% (epic SfD) |
| Authentication & Security | BA-236 | 1 | 4 | 4 | 4 | 0 | 4 | 0 | 50% Done / 100% delivered |
| Database & Data Model | BA-237 | 1 | 6 | 0 | 6 | 0 | 0 | 0 | 100% |
| Patient Onboarding | BA-257 | 2 | 1 | 2 | 1 | 1 | 0 | 1 | 33% |
| Daily Check-In | BA-258 | 2 | 1 | 2 | 1 | 1 | 0 | 1 | 33% |
| Home Screen | BA-259 | 2 | 1 | 2 | 1 | 2 | 0 | 0 | 33% |
| Patient-Clinician Connection | BA-260 | 2, 4 | 2 | 5 | 1 | 1 | 0 | 5 | 14% |
| 12-Week Therapeutic Course | BA-273 | 4, 5 | 1 | 0 | 0 | 0 | 0 | 1 | 0% |
| Interventions | BA-274 | 4 | 1 | 0 | 0 | 0 | 0 | 1 | 0% |
| Medication Tracking | BA-275 | 4 | 1 | 2 | 0 | 0 | 0 | 3 | 0% |
| Ulysses Contract | BA-276 | 4 | 1 | 2 | 0 | 0 | 0 | 3 | 0% |
| Safety & Crisis | BA-277 | 4 | 2 | 4 | 0 | 0 | 0 | 6 | 0% |
| Privacy & Consent | BA-278 | 4 | 1 | 2 | 0 | 0 | 0 | 3 | 0% |
| EWS | BA-281 | 3 | 4 | 4 | 6 | 0 | 0 | 2 | 75% |
| Phase Identification | BA-290 | 3 | 2 | 2 | 0 | 0 | 0 | 4 | 0% |
| Email Service | BA-291 | 3 | 1 | 1 | 0 | 0 | 0 | 2 | 0% |
| Insights | BA-298 | 3 | 2 | 4 | 0 | 0 | 0 | 6 | 0% |
| Patient Triage | BA-320 | 5 | 2 | 4 | 0 | 0 | 0 | 6 | 0% |
| Patient Detail | BA-321 | 5 | 3 | 6 | 0 | 0 | 0 | 9 | 0% |
| Trialogue Dashboard | BA-322 | 5 | 1 | 2 | 0 | 0 | 0 | 3 | 0% |
| Auto-Notifications | BA-323 | 5 | 1 | 1 | 0 | 0 | 0 | 2 | 0% |
| Feedback Loop | BA-324 | 5 | 3 | 6 | 0 | 0 | 0 | 9 | 0% |
| Adverse Event Reporting | BA-325 | 5 | 2 | 4 | 0 | 0 | 0 | 6 | 0% |
| Clinician Settings | BA-326 | 5 | 2 | 4 | 0 | 0 | 0 | 6 | 0% |
| Admin — Clinician & Researcher Mgmt | BA-408 | 6 | 2 | 4 | 0 | 0 | 0 | 6 | 0% |
| Admin — Platform Overview | BA-409 | 6 | 2 | 4 | 0 | 0 | 0 | 6 | 0% |
| Admin — Metric Builder | BA-410 | 6 | 1 | 2 | 0 | 0 | 0 | 3 | 0% |
| Admin — Warning Rule Engine | BA-411 | 6 | 2 | 4 | 0 | 0 | 0 | 6 | 0% |
| Admin — Phase ID Engine | BA-412 | 6 | 2 | 4 | 0 | 0 | 0 | 6 | 0% |
| Post-Approval: EWS Accuracy | BA-413 | 6 | 1 | 2 | 0 | 0 | 0 | 3 | 0% |
| Post-Approval: Phase ID Accuracy | BA-414 | 6 | 1 | 2 | 0 | 0 | 0 | 3 | 0% |
origin/main)d361833 "intiated the infrastructure of the project + swagger modifications" (2026-04-08)origin/develop)origin/main (0 commits ahead) — branch exists but unuseddevelopSprint-1 branch, not on develop| Branch | Ahead of develop | Key changes |
|---|---|---|
origin/Sprint-1 | 24 commits | Complete Sprint-1 work: DB schemas, CF Workers, RN scaffold, CI/CD, RBAC, TLS/AES, OAuth login, MFA, session mgmt, D1 fixes |
origin/Sprint-2 | 36 commits (incl. Sprint-1) | Sprint-2 Patient Core work on top of Sprint-1: BE Home/Check-In/Onboarding/Invite, case-sensitive invite codes, e2e tests |
develop yet.
None. All work happens directly on sprint branches.
| Branch | Status |
|---|---|
claude/create-srs-project-plan-ja2Wu (local) | Fully merged, can delete |
origin/claude/ux-design-analysis-BptHf | Fully merged |
origin/claude/analyze-ux-docs-irZsS and origin/claude/create-srs-project-plan-ja2Wu were pruned from the remote on 2026-04-12.
None.
developSprint-1 branch. QA environment cannot be fed from develop until Sprint-1 is merged down. Sprint-2 is layered on top of Sprint-1 — merging Sprint-1 to develop is the unblocker.
| Metric | Value |
|---|---|
| Total SRS Functional Features | 38 |
| Features with Jira tickets | 28 (74%, up from 32%) |
| Features fully Done | 0 (0%) |
| Features In Progress | 4 (Onboarding, Check-In, Home, Patient-Clinician Connection — BA-266 covers both DFR 2.8 and DFR 3.1) |
| Total Unique Jira Tickets | 177 (up from 46) |
| Total Epics | 31 |
| Total Stories | 61 |
| Total Sub-tasks | 85 |
| Tickets Done | 24 (13 Sprint-1 + 4 Sprint-2 + 6 Sprint-3 + 1 superseded) |
| Tickets Developed (ready for QA) | 4 (all Sprint-1 auth) |
| Tickets In Progress | 5 (all Sprint-2) |
| Tickets Selected for Development | 16 (unique; per-sprint sum 18 with BA-260 and BA-273 shared) |
| Tickets in Backlog | 128 |
| Open Bugs | 0 |
| Sprints Planned | 6 (Sprint-1, 2, 3, 4, 5, 6) |
| Sprint-1 Completion | 65% Done + 20% Developed |
| Sprint-2 Completion | 25% Done, 31% In Progress |
| Sprint-3 Completion | 25% Done (6/24 tickets — EWS rules, API endpoints, and Clinician Notification complete) |
| Current Active Sprint | Sprint-1 (wrapping) + Sprint-2 (active) + Sprint-3 (started) |
| Development Start Date | 2026-04-07 |
| SRS Version | 2.9 (2026-03-29) |
| DFR Version | 3.0 (2026-03-29) |
| Active Sprint Branches | Sprint-1 (24 ahead), Sprint-2 (36 ahead) |
Work Merged to develop | None — develop is at same commit as main |
Work Released to main | None |
| Stale Branches | 2 (fully merged, cleanable) |