1. 🎯 Sprint Summary
| Sprint | 1.3 (M4 DRPA · Doctor Personal Assistant) |
| Duration | 8 Jun - 21 Jun 2026 (2 minggu) |
| Module | M4 DRPA — Ambient SOAP Scribe + In-Room CPG + Prescription Draft |
| Goal | Doctor opens chart → reads pre-consult briefing → walks in eye-contact-first → ambient mic captures encounter → SOAP-structured note generated → CPG lookup mid-consult → Rx draft auto-suggested → sign-off in 90 seconds vs 8 min typed |
| Capacity | 4 FTE (2 BE + 1 FE + 1 prompt eng) + 0.5 Founder + 2.0 Doc Zam (intensive) |
| Velocity target | 52 SP — but M4 epic estimated 65 SP (REQUIRES SCOPE-TRIM PLAN) |
| Blocked by | Sprint 1.2 (M1 chat history + triage output integrated into encounter) |
| Blocks | Q2/Q3 gates · pilot prep · entire pilot timeline |
| Demo date | 21 Jun 2026 · 9am · MVP COMPLETE walkthrough end-to-end |
⚠️ CRITICAL PATH: Slip in Sprint 1.3 = entire MVP slip = pilot delay = Q2/Q3 gate slip = launch slip. Scope-trim invoked early if Day-7 burn < 35%.
2. 🚦 Pre-Sprint Gate Checklist
Run 7 Jun (Sat). Refuse start if any ✗.
- Sprint 1.2 demo passed · Doc Zam clinical sign-off in writing
- M1 chat → encounter pre-fill flow live
- Whisper deployment on staging (gpu-mid server) · < 200ms streaming chunk
- SOAP template v1 approved by Doc Zam (Subjective/Objective/Assessment/Plan)
- CPG vector DB seeded · pgvector with MOH CPG corpus indexed (10 specialties · 200+ docs)
- Prescription drug master loaded · 5,000+ items · halal flags · DDI tables
- Audio consent flow legally reviewed · PDPA-aligned · opt-in by default
- Doctor role + RBAC validated · prescriber privilege gated
- Hardware: USB array mic tested in clinic (Doc Zam's room) · 6m pickup
- Feature flag
m4_ambient_enableddefault off · per-encounter toggle ready
3. 📋 Prerequisites
| Item | Owner | By | Why |
|---|---|---|---|
| SOAP template structure (locked) | Doc Zam | 5 Jun | Prompt template depends on it |
| Whisper-large-v3 GPU deployment | DevOps | 6 Jun | Local inference for PII-protection |
| CPG corpus ingest pipeline | BE + Prompt Eng | 6 Jun | RAG retrieval base |
| Drug master data (DrugBank or Malaysian formulary) | BE | 5 Jun | Rx auto-complete + DDI |
| USB array mic tested in clinic | Doc Zam + DevOps | 6 Jun | Real acoustic env validation |
| Audio consent UI flow | FE Lead + legal review | 6 Jun | PDPA mandatory |
| Doctor pre-consult briefing template (M2 stub) | Prompt Eng + Doc Zam | 5 Jun | Doctor reads first, walks in second |
4. 🩺 SOAP Note Structure — Locked Specification
Every encounter produces a structured SOAP note. AI fills draft; doctor signs. No free-text dictation only — structure is mandatory for downstream M5 dispense, M6 ADR, M9 audit.
S · Subjective — Patient-reported symptoms (from M1 triage chat + in-room dialogue). Onset, duration, severity, modifying factors. Auto-extracted from ambient transcript.
O · Objective — Vitals (auto from device or nurse entry), physical exam findings (doctor-spoken: "BP 130/80, no rales bilateral"), lab/imaging if relevant.
A · Assessment — Provisional diagnosis with ICD-10 code suggestions. Differential listed. CPG citation mandatory for non-trivial dx.
P · Plan — Treatment plan: prescriptions (M5-ready format), follow-up timing, patient education, red-flag warnings, referral if needed (M3 hook).
Output JSON:
encounters.soap_json — schema-validated · ICD-10 + CPG refs structured · Rx items linked to drug master IDs · audit hash stored at sign-off.
5. 📅 Day-by-Day Plan (10 Days)
D1Mon 8 Jun · Kickoff + Audio Pipeline
Sprint planning · DB migration:
Sprint planning · DB migration:
encounters, soap_notes, cpg_lookups, prescription_drafts. BE: audio upload + stream to Whisper endpoint. Hardware test in Doc Zam clinic.D2Tue 9 Jun · Whisper Streaming Integration
BE: chunked streaming · session lifecycle · auto-pause on silence · transcript buffer with timestamps. Audio consent UI live test.
BE: chunked streaming · session lifecycle · auto-pause on silence · transcript buffer with timestamps. Audio consent UI live test.
D3Wed 10 Jun · SOAP Generation Prompt v1
Prompt Eng: structured-output prompt · gpt-4o for accuracy (mini for cost-sensitive ops only). Schema-strict JSON · ICD-10 hint integration. End-of-day: 5 sample transcripts → SOAP comparison vs Doc Zam manual.
Prompt Eng: structured-output prompt · gpt-4o for accuracy (mini for cost-sensitive ops only). Schema-strict JSON · ICD-10 hint integration. End-of-day: 5 sample transcripts → SOAP comparison vs Doc Zam manual.
D4Thu 11 Jun · CPG RAG Pipeline
BE+Prompt Eng: pgvector retrieval · top-3 CPG passages per assessment · citation enforcer (every dx must cite). Specialty filter (paeds vs adult vs OG).
BE+Prompt Eng: pgvector retrieval · top-3 CPG passages per assessment · citation enforcer (every dx must cite). Specialty filter (paeds vs adult vs OG).
D5Fri 12 Jun · Mid-Sprint Demo + Course-Correct
Live demo to Doc Zam: 3 mock encounters end-to-end. Capture friction points. Adjust prompt + UX before weekend. Decision point: invoke scope-trim?
Live demo to Doc Zam: 3 mock encounters end-to-end. Capture friction points. Adjust prompt + UX before weekend. Decision point: invoke scope-trim?
D6Mon 15 Jun · Prescription Draft Engine
BE: Rx items extracted from Plan · linked to drug master · DDI check (M5 stub) · halal flag · default dose-by-weight calculation. FE: Rx editor with override.
BE: Rx items extracted from Plan · linked to drug master · DDI check (M5 stub) · halal flag · default dose-by-weight calculation. FE: Rx editor with override.
D7Tue 16 Jun · Doctor UI · 6-Tab Quick Access
FE: encounter screen layout · 6 tabs (Summary · Vitals · History · Active Rx · Allergies · Notes) per Doc Zam mock spec. Encounter ID format
FE: encounter screen layout · 6 tabs (Summary · Vitals · History · Active Rx · Allergies · Notes) per Doc Zam mock spec. Encounter ID format
ENC-{YYYY}-{MMDD}-{NNN}.D8Wed 17 Jun · Sign-off Flow + Audit Hash
BE: sign-off transaction · WORM lock on signed SOAP · audit hash · M9 log. FE: sign-off button + e-signature. Mid-sprint demo to Doc Zam: 2 full encounters. End-of-day code freeze on core path.
BE: sign-off transaction · WORM lock on signed SOAP · audit hash · M9 log. FE: sign-off button + e-signature. Mid-sprint demo to Doc Zam: 2 full encounters. End-of-day code freeze on core path.
D9Thu 18 Jun · Hardening + Acceptance Tests
QA: 20 acceptance tests run · perf check (sign-off < 4s after audio stop · Whisper p95 < 8s for 10-min audio). Bug bash. Doc Zam clinical accuracy review on 10 sample SOAPs.
QA: 20 acceptance tests run · perf check (sign-off < 4s after audio stop · Whisper p95 < 8s for 10-min audio). Bug bash. Doc Zam clinical accuracy review on 10 sample SOAPs.
D10Fri 19 Jun · MVP Polish + Demo Prep
FE polish · error-state UX · loading skeletons · staging frozen 5pm. Demo deck (MVP-complete narrative) prepped. Sat-Sun: Doc Zam dry-run alone in clinic.
FE polish · error-state UX · loading skeletons · staging frozen 5pm. Demo deck (MVP-complete narrative) prepped. Sat-Sun: Doc Zam dry-run alone in clinic.
+Mon 21 Jun · MVP Demo + Q2/Q3 Gate Prep
9am MVP demo · 11am retro · 2pm Q2/Q3 gate prep with Doc Zam · sign-off written.
9am MVP demo · 11am retro · 2pm Q2/Q3 gate prep with Doc Zam · sign-off written.
6. 📦 Deliverables
| FR | Item | SP | Acceptance |
|---|---|---|---|
| FR-4.1 | Audio consent + capture (mic to stream) | 5 | Opt-in · pause · resume · < 200ms first chunk |
| FR-4.2 | Whisper streaming transcription | 8 | p95 < 8s for 10-min audio · timestamp accurate |
| FR-4.3 | SOAP structured output (schema-strict JSON) | 13 | 4 sections populated · validation strict · clinically reviewed 10/10 |
| FR-4.4 | CPG RAG lookup + citation enforcer | 8 | Top-3 CPG · cite-or-block · specialty filter |
| FR-4.5 | ICD-10 dx suggestion | 5 | Top-5 with confidence · Doc Zam override |
| FR-4.6 | Prescription draft engine | 8 | Drug master link · DDI flag · halal flag · dose calc |
| FR-4.7 | 6-tab encounter UI (Doc Zam mock spec) | 5 | Layout matches PPTX · keyboard nav · responsive |
| FR-4.8 | Sign-off + WORM audit hash | 5 | e-sig · audit immutable · M9 log live |
| FR-4.9 | Encounter ID + MRN canonicalisation | 3 | Format locked · unique constraint · search-indexed |
| FR-4.10 | HITL review (sign-off override audit) | 3 | Override → Doc Zam queue review |
| FR-4.11 | Pre-consult briefing UI (M2 stub) | 2 | 30-sec card · top complaint · last visit · allergies |
| TOTAL | 65 SP | Capacity 52 · MUST trim · plan: defer FR-4.10 + FR-4.11 to 2.1 |
Scope-trim plan if Day-7 burn < 35%: Defer FR-4.10 (HITL override audit · 3 SP) + FR-4.11 (pre-consult briefing · 2 SP) → Sprint 2.1. Net: 60 SP. Still tight but doable.
7. 👥 Team Capacity
| Role | Person | Allocation | Focus |
|---|---|---|---|
| Eng Lead / BE | — | 1.0 FTE | Audio pipeline + sign-off transaction |
| BE Dev | — | 1.0 FTE | SOAP engine + Rx draft + DB |
| FE Dev | — | 1.0 FTE | 6-tab UI + sign-off + Rx editor |
| Prompt Eng | — | 1.0 FTE | SOAP prompt · CPG retrieval · ICD-10 · drug suggest |
| Founder | Rosli | 0.5 FTE | Architecture · scope-trim call · retro |
| Clinical Lead | Doc Zam | 2.0 FTE (max heavy) | SOAP review every output · daily standup · clinic env testing |
| QA | — | 0.5 FTE | 20 acceptance tests · perf · clinical correctness sample |
| DevOps | — | 0.5 FTE | GPU server · Whisper deploy · pgvector tuning |
8. 🔔 Sprint Ceremonies
- Mon 8 Jun 9am — Sprint Planning (90 min): SP final lock · scope-trim plan agreed · Doc Zam review schedule
- Daily 9am — Standup (15 min): Doc Zam joins (heavy clinical week)
- Fri 12 Jun 4pm — Mid-sprint demo + scope decision (60 min): 5 mock encounters · INVOKE TRIM if needed
- Wed 17 Jun 4pm — Second mid-demo (30 min): 2 full encounters end-to-end · sign-off flow
- Fri 19 Jun 5pm — Pre-demo polish review (30 min): bug bash + clinical sample review
- Mon 21 Jun 9am — MVP DEMO (90 min): end-to-end MVP walkthrough · stakeholder + clinical sign-off
- Mon 21 Jun 11am — Sprint Retro (60 min): velocity actual · prep for Q2/Q3 gate
9. 🩺 Doc Zam Sign-off Items
- SOAP template v1 — 4 sections locked, JSON schema published in repo
- 10 sample SOAP outputs reviewed for clinical accuracy ≥ 90%
- CPG citation enforcer validated on 5 specialties (paeds, adult med, OG, surg, psych)
- ICD-10 suggestion accuracy ≥ 80% on top-3 review
- Prescription draft validated · 20 sample Rx · DDI flag accuracy ≥ 95%
- Halal flag dataset reviewed · 100 common drugs verified
- Audio consent flow legally + clinically acceptable
- Sign-off flow legally binding · e-sig acceptable equivalent for clinical record
- Encounter ID + MRN format adopted · canonical across system
- Pre-consult briefing snippet quality acceptable (M2 stub MVP)
- MVP demo (21 Jun) — written sign-off in repo before Q2/Q3 gate proceeds
10. 🎬 MVP Demo Agenda — 21 Jun 2026 9am (90 min)
| Time | Segment | Lead |
|---|---|---|
| 0-5 | MVP narrative · what's in MVP scope · velocity recap | Founder |
| 5-15 | Patient journey: M1 triage at home → amber book | FE |
| 15-25 | Doctor opens chart · pre-consult briefing · walks in | Doc Zam (live) |
| 25-45 | LIVE 8-min mock encounter · ambient capture · SOAP draft | Doc Zam + BE |
| 45-55 | CPG citation · ICD-10 · Rx draft review | Prompt Eng |
| 55-65 | Sign-off · audit hash · M9 audit verify | BE |
| 65-75 | Edge cases: low-confidence dx, DDI flag, pediatric dose | BE + Doc Zam |
| 75-85 | Stakeholder Q&A · clinical sign-off statement | Doc Zam + Founder |
| 85-90 | Q2/Q3 gate kickoff · pilot prep timeline confirm | Founder |
11. ✅ Q2/Q3 Gate (28 Jun) — Trigger Criteria
- Q2 Code Quality Gate: Static analysis clean · code coverage ≥ 75% on M1+M4+M9 · no critical SAST findings
- Q3 Clinical Quality Gate: Doc Zam written sign-off · clinical accuracy ≥ 90% on 30-sample audit
- Pilot clinic LOI signed (target: end Jun)
- PDPA assessment + consent forms approved by legal
- Pilot deployment plan finalised · go-live date locked (~2 Aug)
- Backup clinic identified in case of pilot delay
12. 🛡️ Contingency
| Risk | Trigger | Response |
|---|---|---|
| Velocity overrun (65 vs 52 SP) | Day-7 burn < 35% | Trim FR-4.10 + FR-4.11 → 2.1 · re-baseline 60 SP |
| Whisper accuracy poor in BM | WER > 15% on 10 samples | Switch to Whisper-large-v3 + custom BM fine-tune · or fall back to multilingual chunking |
| SOAP clinical accuracy < 90% | Doc Zam review fails | Extend prompt iteration · GPT-4o full · slip MVP demo by 1 week if needed |
| Mic hardware unreliable | Drop-out rate > 5% | Procure clinic-grade lavalier · backup phone-mic mode |
| Doc Zam clinic emergency | Unavailable > 3 days | Substitute reviewer (clinical advisor B) · slip clinical sign-off Q3 by 1 week |
| DDI dataset gaps | False-negative on test cases | Manual flag list for top-200 drugs · expand corpus post-MVP |
| Q3 gate fail | Clinical sign-off withheld | Hot-fix sprint inserted · pilot delays · maintain quality over speed |