1. 🎯 Sprint Summary
| Sprint | 2.1 (M2 PCBP + M5 PHPA · dual-track) |
| Duration | 5 Jul - 18 Jul 2026 (2 minggu) |
| Modules | M2 Pre-Consult Briefing PA · M5 Pharmacy PA |
| Goal | M2: 30-sec doctor briefing card before each encounter (top complaint, vitals, last visit, allergies, active Rx). M5: every dispense verified against DDI/allergy/halal/dose-by-weight + label print + NPRA-ready stock log. |
| Capacity | 5 FTE (3 BE + 1 FE + 1 prompt) + 0.5 Founder + 1.0 Doc Zam |
| Velocity target | 65 SP (5 × 13) |
| Blocked by | Q2/Q3 gate passed (28 Jun) · M1 + M4 in main |
| Blocks | Sprint 2.2 (M7 admin needs M5 dispense status) |
| Demo date | 18 Jul 2026 · dual-track demo |
Parallel-friendly: M2 and M5 share zero code — run as two independent tracks · separate stand-ups · single retro at end.
2. 🚦 Pre-Sprint Gate Checklist
- Q2/Q3 gate passed · MVP signed-off in writing
- Pilot clinic LOI signed (Bukit Indah / Pasir Gudang shortlist)
- Drug master file v1 in production · 5,000 items · halal flags loaded
- DDI table seeded · top-2,000 interactions verified
- Pharmacy role + RBAC live · M9 audit hooks ready
- Pre-consult briefing prompt template v1 (from Sprint 1.3 stub) approved
- Label printer integration tested (Zebra 4-inch · ESC/POS fallback)
- NPRA stock report format reviewed by Doc Zam + pharmacist consultant
3. 📋 Prerequisites
| Item | Owner | By | Why |
|---|---|---|---|
| Pre-consult briefing copy templates (BM/EN) | Prompt Eng + Doc Zam | 3 Jul | 30-sec readable card |
| Active Rx + allergy aggregation query | BE | 3 Jul | Briefing data source |
| DDI table + halal data + dose calculator | BE | 3 Jul | M5 core |
| Pharmacist consultant booked | Founder | 1 Jul | Validate dispense workflow |
| Label printer hardware in test bench | DevOps | 4 Jul | Print verification |
| NPRA reporting schema | BE + Compliance | 4 Jul | Stock movement audit |
4. 🛤️ Two-Track Layout
Track A · M2 Pre-Consult Briefing PA (BE-1 + Prompt Eng + 0.4 FE)
Read patient encounter timeline + vitals + Rx + allergies → generate 30-sec briefing card (BM/EN) shown to doctor before walking into room. Auto-refresh every 5 min while patient waits. Doc Zam sets readability bar.
Track B · M5 Pharmacy PA (BE-2 + BE-3 + 0.6 FE)
Receive Rx from M4 sign-off → verify DDI / allergy / halal / dose-by-weight → suggest substitution if out-of-stock → print label → log dispense → NPRA stock movement. Pharmacist override audited.
5. 📅 Day-by-Day Plan (10 Days)
D1Mon 5 Jul · Dual Kickoff
Single planning ceremony · split into Track A + B standups Day 2 onwards. DB migrations:
Single planning ceremony · split into Track A + B standups Day 2 onwards. DB migrations:
briefings, dispenses, ddi_checks, stock_movements.D2Tue 6 Jul · A: Briefing Aggregator · B: DDI Engine
A: build aggregation query + cache layer · briefing prompt v1. B: DDI lookup service + allergy match + halal flag query.
A: build aggregation query + cache layer · briefing prompt v1. B: DDI lookup service + allergy match + halal flag query.
D3Wed 7 Jul · A: Briefing UI · B: Dose-by-Weight
A: 30-sec card UI · auto-refresh · doctor pre-consult tab. B: pediatric weight-based dose calculator + override audit.
A: 30-sec card UI · auto-refresh · doctor pre-consult tab. B: pediatric weight-based dose calculator + override audit.
D4Thu 8 Jul · A: Bilingual Tone · B: Substitution Logic
A: BM/EN tone polish · medical jargon control · readability score check. B: out-of-stock substitution suggester · pharmacist approval gate.
A: BM/EN tone polish · medical jargon control · readability score check. B: out-of-stock substitution suggester · pharmacist approval gate.
D5Fri 9 Jul · Mid-Sprint Demo (Both Tracks)
Doc Zam reviews: 5 briefing samples + 5 dispense flows. Course-correct.
Doc Zam reviews: 5 briefing samples + 5 dispense flows. Course-correct.
D6Mon 12 Jul · A: Performance · B: Label Printer
A: cache TTL · briefing generation < 2s. B: Zebra ZD230 + ESC/POS fallback · label template (drug · dose · patient · warnings).
A: cache TTL · briefing generation < 2s. B: Zebra ZD230 + ESC/POS fallback · label template (drug · dose · patient · warnings).
D7Tue 13 Jul · A: Edge Cases · B: NPRA Stock Log
A: empty history · pediatric · multilingual mix. B: stock movement events · daily NPRA report draft.
A: empty history · pediatric · multilingual mix. B: stock movement events · daily NPRA report draft.
D8Wed 14 Jul · Integration Day
M4 sign-off → M5 dispense flow E2E · M2 briefing on doctor screen pre-consult. Combined acceptance test pass.
M4 sign-off → M5 dispense flow E2E · M2 briefing on doctor screen pre-consult. Combined acceptance test pass.
D9Thu 15 Jul · Hardening + Pharmacist Walk-Through
External pharmacist consultant walks through 20 dispense scenarios · clinical sign-off. Bug fix.
External pharmacist consultant walks through 20 dispense scenarios · clinical sign-off. Bug fix.
D10Fri 16 Jul · Polish + Demo Prep
Staging frozen · demo deck dual-track narrative · weekend dry-run.
Staging frozen · demo deck dual-track narrative · weekend dry-run.
+Mon 18 Jul · Demo + Retro
9am dual demo · 11am retro · 2pm Sprint 2.2 prep.
9am dual demo · 11am retro · 2pm Sprint 2.2 prep.
6. 📦 Deliverables
| FR | Item | Track | SP |
|---|---|---|---|
| FR-2.1 | Briefing aggregation query + cache | M2 | 5 |
| FR-2.2 | 30-sec briefing card UI (BM/EN) | M2 | 5 |
| FR-2.3 | Bilingual prompt template + readability gate | M2 | 5 |
| FR-2.4 | Auto-refresh + pre-consult timing | M2 | 3 |
| FR-2.5 | Briefing edge-case handling (empty/peds) | M2 | 3 |
| FR-5.1 | DDI lookup + allergy match | M5 | 8 |
| FR-5.2 | Halal flag query + warning | M5 | 3 |
| FR-5.3 | Dose-by-weight calculator (peds) | M5 | 5 |
| FR-5.4 | Substitution suggester + pharmacist override | M5 | 5 |
| FR-5.5 | Label printer integration (Zebra + ESC/POS) | M5 | 5 |
| FR-5.6 | Dispense log + audit hash | M5 | 5 |
| FR-5.7 | NPRA stock movement report | M5 | 5 |
| FR-2/5.8 | Carry-over from 1.3 (FR-4.10 + FR-4.11) | both | 5 |
| TOTAL | 62 SP |
7. 👥 Team Capacity
| Role | Track | Allocation |
|---|---|---|
| Eng Lead / BE | M5 + integration | 1.0 FTE |
| BE Dev 2 | M5 | 1.0 FTE |
| BE Dev 3 | M2 | 1.0 FTE |
| FE Dev | Both (40/60 split M2/M5) | 1.0 FTE |
| Prompt Eng | M2 (briefing) + M5 (substitution rationale) | 1.0 FTE |
| Founder | Architecture + retro | 0.5 FTE |
| Doc Zam | Clinical review both tracks | 1.0 FTE |
| Pharmacist consultant | M5 walk-through | 0.2 FTE (1 day · D9) |
| QA | Both tracks | 0.5 FTE |
| DevOps | Printer + NPRA reporting | 0.5 FTE |
8. 🔔 Sprint Ceremonies
- Mon 5 Jul 9am — Joint Sprint Planning (90 min)
- Daily 9am — Track A standup (10 min) + 9:15 Track B standup (10 min)
- Fri 9 Jul 4pm — Mid-sprint joint demo (60 min)
- Wed 14 Jul 4pm — Integration check (30 min)
- Thu 15 Jul 2pm — Pharmacist walk-through (90 min)
- Mon 18 Jul 9am — Dual-track Sprint Demo (90 min)
- Mon 18 Jul 11am — Joint Sprint Retro (60 min)
9. 🩺 Doc Zam Sign-off Items
- Briefing card content quality acceptable on 10 sample patients
- Bilingual tone clinically correct · no jargon mismatch
- DDI flag accuracy ≥ 95% on test panel
- Halal flag coverage on top-200 drugs verified
- Dose-by-weight calc accurate on 20 peds samples
- Substitution rationale text reviewed (auto-explain)
- Label format clinically acceptable + bilingual warnings
- NPRA report sample reviewed by pharmacist consultant
- Pharmacist override audit trail complete
- Final demo (18 Jul) — written sign-off both tracks
10. 🎬 Dual-Track Demo Agenda — 18 Jul 9am
| Time | Segment |
|---|---|
| 0-10 | Recap · Q2/Q3 sign-off · pilot timeline |
| 10-30 | Track A: M2 briefing · 4 patient walk-throughs · doctor reaction |
| 30-55 | Track B: M5 dispense end-to-end · 3 scenarios (DDI, halal, peds-dose) |
| 55-70 | Integrated flow: M4 sign-off → M5 dispense · M2 next-patient briefing |
| 70-80 | Edge cases · pharmacist override · label print live |
| 80-90 | Doc Zam + pharmacist sign-off · pilot prep timeline |
11. 🛡️ Contingency
| Risk | Trigger | Response |
|---|---|---|
| DDI dataset gaps | FN on test cases | Manual flag list · expand corpus · ship with warning banner |
| Label printer hardware delay | Procurement slip | ESC/POS fallback to thermal printer · order backup |
| Briefing accuracy poor | Doc Zam reviews fail > 30% | Tighten prompt · add doctor preferences · personalisation layer |
| Pharmacist consultant unavailable | Personal conflict | Substitute consultant booked · slip Day-9 walk-through to D10 |
| Halal coverage incomplete | < 80% top-500 drugs flagged | "Pending halal" warning shown · post-sprint corpus expansion |