👨‍⚕️ Sprint 1.3 · M4 Doctor PA · Ambient SOAP · MVP COMPLETE · 8 Jun - 21 Jun 2026
← Hub ← Sprint 1.2 SPRINT 1.3 · MVP CLOSE CRITICAL PATH

Sprint 1.3 · M4 Doctor PA · Ambient SOAP Scribe

The flagship sprint — most complex, most clinically intensive, highest stakes. Whisper ambient capture · SOAP-structured note generation · in-room CPG lookup · prescription draft · 1-click sign-off. End of MVP. Q2/Q3 gate immediately after.

1. 🎯 Sprint Summary

Sprint1.3 (M4 DRPA · Doctor Personal Assistant)
Duration8 Jun - 21 Jun 2026 (2 minggu)
ModuleM4 DRPA — Ambient SOAP Scribe + In-Room CPG + Prescription Draft
GoalDoctor 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
Capacity4 FTE (2 BE + 1 FE + 1 prompt eng) + 0.5 Founder + 2.0 Doc Zam (intensive)
Velocity target52 SP — but M4 epic estimated 65 SP (REQUIRES SCOPE-TRIM PLAN)
Blocked bySprint 1.2 (M1 chat history + triage output integrated into encounter)
BlocksQ2/Q3 gates · pilot prep · entire pilot timeline
Demo date21 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_enabled default off · per-encounter toggle ready

3. 📋 Prerequisites

ItemOwnerByWhy
SOAP template structure (locked)Doc Zam5 JunPrompt template depends on it
Whisper-large-v3 GPU deploymentDevOps6 JunLocal inference for PII-protection
CPG corpus ingest pipelineBE + Prompt Eng6 JunRAG retrieval base
Drug master data (DrugBank or Malaysian formulary)BE5 JunRx auto-complete + DDI
USB array mic tested in clinicDoc Zam + DevOps6 JunReal acoustic env validation
Audio consent UI flowFE Lead + legal review6 JunPDPA mandatory
Doctor pre-consult briefing template (M2 stub)Prompt Eng + Doc Zam5 JunDoctor 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: 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.
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.
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).
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?
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.
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 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.
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.
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.
+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.

6. 📦 Deliverables

FRItemSPAcceptance
FR-4.1Audio consent + capture (mic to stream)5Opt-in · pause · resume · < 200ms first chunk
FR-4.2Whisper streaming transcription8p95 < 8s for 10-min audio · timestamp accurate
FR-4.3SOAP structured output (schema-strict JSON)134 sections populated · validation strict · clinically reviewed 10/10
FR-4.4CPG RAG lookup + citation enforcer8Top-3 CPG · cite-or-block · specialty filter
FR-4.5ICD-10 dx suggestion5Top-5 with confidence · Doc Zam override
FR-4.6Prescription draft engine8Drug master link · DDI flag · halal flag · dose calc
FR-4.76-tab encounter UI (Doc Zam mock spec)5Layout matches PPTX · keyboard nav · responsive
FR-4.8Sign-off + WORM audit hash5e-sig · audit immutable · M9 log live
FR-4.9Encounter ID + MRN canonicalisation3Format locked · unique constraint · search-indexed
FR-4.10HITL review (sign-off override audit)3Override → Doc Zam queue review
FR-4.11Pre-consult briefing UI (M2 stub)230-sec card · top complaint · last visit · allergies
TOTAL65 SPCapacity 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

RolePersonAllocationFocus
Eng Lead / BE1.0 FTEAudio pipeline + sign-off transaction
BE Dev1.0 FTESOAP engine + Rx draft + DB
FE Dev1.0 FTE6-tab UI + sign-off + Rx editor
Prompt Eng1.0 FTESOAP prompt · CPG retrieval · ICD-10 · drug suggest
FounderRosli0.5 FTEArchitecture · scope-trim call · retro
Clinical LeadDoc Zam2.0 FTE (max heavy)SOAP review every output · daily standup · clinic env testing
QA0.5 FTE20 acceptance tests · perf · clinical correctness sample
DevOps0.5 FTEGPU 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)

TimeSegmentLead
0-5MVP narrative · what's in MVP scope · velocity recapFounder
5-15Patient journey: M1 triage at home → amber bookFE
15-25Doctor opens chart · pre-consult briefing · walks inDoc Zam (live)
25-45LIVE 8-min mock encounter · ambient capture · SOAP draftDoc Zam + BE
45-55CPG citation · ICD-10 · Rx draft reviewPrompt Eng
55-65Sign-off · audit hash · M9 audit verifyBE
65-75Edge cases: low-confidence dx, DDI flag, pediatric doseBE + Doc Zam
75-85Stakeholder Q&A · clinical sign-off statementDoc Zam + Founder
85-90Q2/Q3 gate kickoff · pilot prep timeline confirmFounder

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

RiskTriggerResponse
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 BMWER > 15% on 10 samplesSwitch to Whisper-large-v3 + custom BM fine-tune · or fall back to multilingual chunking
SOAP clinical accuracy < 90%Doc Zam review failsExtend prompt iteration · GPT-4o full · slip MVP demo by 1 week if needed
Mic hardware unreliableDrop-out rate > 5%Procure clinic-grade lavalier · backup phone-mic mode
Doc Zam clinic emergencyUnavailable > 3 daysSubstitute reviewer (clinical advisor B) · slip clinical sign-off Q3 by 1 week
DDI dataset gapsFalse-negative on test casesManual flag list for top-200 drugs · expand corpus post-MVP
Q3 gate failClinical sign-off withheldHot-fix sprint inserted · pilot delays · maintain quality over speed