Appearance
Chỉ mục bàn giao (Handoff) — Hồ sơ bệnh án v2.1.0
File này dùng để làm gì: cho team biết phải đọc file nào, ai làm gì, thứ tự triển khai, blocker nào còn mở và mức sẵn sàng đến đâu.
Tính năng: Hồ sơ bệnh án (Clinical Record) Profile: L (11 files) · Complexity: Multi-module cross-cutting Pilot: Cao Lãnh (DL) + Tân Bình II (TM) · Timeline: 11-13 tuần dev/UAT + 4 tuần pilot rollout PO: Sơn Thọ · Ngày handoff: 30/04/2026
Lịch sử thay đổi
| Phiên bản | Ngày | Tác giả | Thay đổi |
|---|---|---|---|
| 2.4.0 | 30/04/2026 | PO/BA + Ops + Champion users | Bổ sung 2 file end-user vào package: user-guide.md v1.0.0 (10 mục, hướng dẫn 7 vai trò + KH + FAQ + hotline) và print-design-spec.md v1.0.0 (PR1-PR9, A4 mockup chi tiết cho 7 biểu mẫu). UI Spec thêm Variant A-G cho SCR-01 (7 variant per role) khớp permission-spec.md P10 field masking. Cập nhật danh sách file 14 → 14 doc; thêm 2 RACI row (User guide + Print design). |
| 2.3.0 | 30/04/2026 | PO/BA + Security Lead | Bổ sung permission-spec.md v1.0.0 vào danh sách file (canonical owner cho phân quyền). Thêm RACI row "Permission Spec implementation" + Compliance UI SCR-18. Thêm B-18, B-19 blocker (SCR-18 Day-1/Phase 2 quyết định, WS push permission infra). Cập nhật line counts. |
| 2.2.0 | 30/04/2026 | PO/BA | Đồng bộ với UI v2.2.0 + dev v2.1.0 + QA v2.1.0 + PRD v2.1.0: (1) Permission seed mới clinical_record.refuse_procedure cần insert vào module_permission_action migration, default cấp BS + Y tá trưởng cùng CN; backend resolver phải kiểm thêm order.update ở tầng order khi action được gọi. (2) Thêm RACI row "Luồng từ chối thủ thuật + signature typed text" cho FR-007 hardening. (3) Thêm B-16 blocker — seed clinical_record.refuse_procedure + NTF-14 template noti_clinical_procedure_refused deploy trước Phase 4 exit. (4) Walk-in flow chốt buộc tạo KH inline (customer_id không được null) — TL audit FE ở SCR-03/SCR-05 trước Phase 1. |
| 2.1.0 | 30/04/2026 | PO/BA | Cập nhật sau vòng refactor ngôn ngữ + bổ sung UI Spec v2.1.0; trạng thái bàn giao không đổi, nhưng UI/FE có đủ SCR-01..17 để triển khai. |
| 2.0.0 | 30/04/2026 | PO/BA | Đồng bộ handoff theo package v2.0.0: glossary canonical, thêm _consistency-matrix.md, cập nhật trạng thái bàn giao và phát hành note. |
| 1.5.8 | 28/04/2026 | PO/BA | Làm rõ trạng thái bàn giao: đủ kickoff/estimate/Phase 0 nhưng chưa complete nếu thiếu TL/QA/stakeholder sign-off; Phase 0 bao gồm C11-PREREQ-006 |
| 1.5.7 | 28/04/2026 | PO/BA | Bổ sung RACI/blocker bàn giao cho Ma trận ranh giới ảnh hưởng, regression module trực tiếp/gián tiếp/không ảnh hưởng và TC-15 go-live gate |
| 1.5.6 | 28/04/2026 | PO/BA | Đồng bộ bàn giao theo Dynamic Permission v2: bổ sung owner seed/action, grant/revoke QA gate, RACI và blocker permission vận hành |
| 1.5.1 | 28/04/2026 | PO/BA | Fix review đa góc nhìn: quy ước không expose raw clinical vận hành, live gate theo publication, rollback prod giữ DB và exit metrics hard gate |
| 1.5 | 28/04/2026 | PO/BA | Hardening sau review đa góc nhìn: cập nhật blocker Tech/Legal/Ops, quyền y tá/QL CN, signed checklist, source/API vận hành và RACI vận hành pilot |
| 1.4 | 28/04/2026 | PO/BA | Chuẩn hóa theo po-ba-workflow mới: thêm decision-brief.md làm entry point và khai báo đầu vào chuẩn |
| 1.3.2 | 27/04/2026 | PO | Handoff hardening theo v1.3.2: Workbench không false-positive need_record, queue owner rõ và intake validate đúng KH/CN/record |
| 1.3.1 | 27/04/2026 | PO | Handoff hardening theo v1.3.1: từ điển cảnh báo an toàn, token/source audit của phiếu tự khai, Bàn việc bác sĩ 6 nhóm việc và cutoff theo CN |
| 1.3 | 27/04/2026 | PO | Update handoff theo PRD v1.3: thêm role workflow cho Sale/BS/KH/Ops và Phase 5B operational surfaces |
| 1.2 | 27/04/2026 | PO | Update handoff theo PRD v1.2: thêm kiểm tra sẵn sàng/phát hành safety, classification DV 3 trạng thái, allergy unknown blocker |
| 1.0 | 21/04/2026 | PO | Initial handoff package |
Đầu vào chuẩn (Canonical Inputs)
| File | Vai trò | Nếu conflict |
|---|---|---|
SOURCE_OF_TRUTH.md | Nguồn sự thật chuẩn + Solution Lock | Ưu tiên cao nhất |
decision-brief.md | Cửa vào package và tóm tắt phạm vi/ảnh hưởng/rủi ro | Handoff giữ timeline/RACI chi tiết |
prd.md / ui-spec.md / dev-spec.md / qa-test-plan.md | Phạm vi, quy ước, việc triển khai, truy vết | Handoff chỉ tổng hợp |
go-live-checklist.md | Mức sẵn sàng vận hành, cổng deploy, sign-off vận hành | Không duplicate chi tiết |
Ownership rule:
handoff.mdlà canonical owner của timeline, RACI, open items/blockers và thứ tự bàn giao.decision-brief.mdlà file đọc đầu tiên cho bức tranh 5 phút.
0) Trạng thái bàn giao v2.4.0
| Mức sẵn sàng | Kết luận | Điều kiện bắt buộc |
|---|---|---|
| Kickoff / estimate / chia owner | Đủ giao team chạy | Team đọc decision-brief.md, TL đọc dev-spec.md C1-C4/C11, QA đọc qa-test-plan.md D1-D6, Ops đọc go-live-checklist.md E1 |
| Phase 0 / pre-req | Được bắt đầu | Chạy đủ C11-PREREQ-001..006, gồm nullability audit và audit ranh giới ảnh hưởng liên tính năng |
| Phase 1 / full build | Chỉ bắt đầu sau sign-off | Tech Lead không còn blocker clarification, QA Lead xác nhận coverage, P0 permission/nullability/kiểm tra sẵn sàng owner đã rõ |
| Go-live / pilot | Chưa sẵn sàng | Phải đạt toàn bộ E1, đặc biệt TC-1..TC-15, BR-14, Legal/SYT/retention/support gates |
1) Danh sách file
| # | File | Phục vụ ai | Độ dài | Đọc khi |
|---|---|---|---|---|
| 1 | decision-brief.md | PO, Sếp, TL, Delivery, Tất cả | ~150 dòng | Đọc đầu tiên |
| 2 | SOURCE_OF_TRUTH.md | Tất cả | ~300 dòng | Khi cần đối chiếu canonical truth |
| 3 | EVIDENCE_PACK.md | Tech Lead, Dev, QA | ~250 dòng | Trước khi design/code |
| 4 | prd.md | PO, Tech Lead, Dev, QA | ~1030 dòng | A0 → Z → A4 → A8 |
| 5 | ui-spec.md | Designer, FE Dev | ~2170 dòng | Sau PRD A5-A6; đọc kỹ SCR-01..17 |
| 6 | dev-spec.md | BE Dev, DBA, TL | ~2620 dòng | Sau PRD + UI spec |
| 7 | qa-test-plan.md | QA | ~485 dòng | Sau dev-spec; 108 core TC + 44 TC-PERM-* |
| 8 | permission-spec.md | TL, BE, FE, QA, Security, Compliance | ~750 dòng | Canonical owner phân quyền. Đọc TRƯỚC khi đụng FR-011 / RBAC / migration permission. P1-P12 covers catalog 22 action / default seed / resolver / branch_mode / portal / cache / migration / masking / emergency / audit / Compliance UI / 44 TC-PERM-*. |
| 9 | go-live-checklist.md | Ops, Tech Lead, PO | ~270 dòng | Trước go-live 2 tuần |
| 10 | _consistency-matrix.md | PO/BA, TL, QA | ~180 dòng | Khi verify cross-spec |
| 11 | _review-report.md | PO/BA, TL, QA, Ops | ~70 dòng | Khi đọc kết quả Phase 5 |
| 12 | handoff.md (file này) | Delivery, TL, tất cả | — | Khi chia việc/timeline |
| 13 | user-guide.md | BS, Y tá, Lễ tân, Sale, QL CN, Compliance, Admin/Ops | ~620 dòng | Hướng dẫn vận hành — đọc trước go-live; có FAQ + hotline + onboarding tour |
| 14 | print-design-spec.md | Designer, FE Dev, Print/PDF service Dev, Legal | ~720 dòng | Thiết kế bản in — A4 mockup chi tiết cho 7 biểu mẫu + versioning + retention; Legal sign-off bắt buộc |
2) Hướng dẫn đọc theo vai trò
2.1) Tech Lead (đọc đầu tiên)
- decision-brief.md — nắm phạm vi/impact/risk 10 phút
- SOURCE_OF_TRUTH.md — tổng thể 30 phút
- EVIDENCE_PACK.md §2 — codebase facts 20 phút
- prd.md §A0 — tổng quan tính năng 10 phút
- dev-spec.md §C1-C4, C11 — scope + data model + tasks 40 phút
Total: ~2h. Sau đó estimate effort + assign BE/FE/QA leads.
2.2) BE Dev (triển khai)
- decision-brief.md — nắm P0 và risk kỹ thuật
- SOURCE_OF_TRUTH.md §5 — current code facts
- dev-spec.md toàn bộ — 2-3h đọc kỹ
- prd.md A8 — formulas (implementation reference)
- qa-test-plan.md — test cases để biết QA sẽ kiểm gì
Thứ tự implement:
- Phase 0: Pre-req refactor + impact-boundary audit (
C11-PREREQ-001..006) — blocker - Phase 1-5B: theo dev-spec §C11 breakdown
2.3) FE Dev (triển khai)
- decision-brief.md — nắm màn hình, risk và thứ tự đọc
- SOURCE_OF_TRUTH.md §5 + §10 — current code + glossary
- ui-spec.md toàn bộ — 2-3h
- prd.md A5 FR — FR + AC
- Lấy design mockup từ Designer (hình thực tế theo wireframe B-Desktop)
2.4) QA Lead (lập kế hoạch test)
- decision-brief.md — nắm risk/test priority
- SOURCE_OF_TRUTH.md — decisions
- prd.md A5 FR + A11 Traceability — test coverage
- ui-spec.md B-Trường hợp cá biệt — edge case scenarios theo 12 nhóm G1-G12
- qa-test-plan.md — TC matrix
2.5) Ops Lead (chuẩn bị rollout)
- decision-brief.md — nắm gate/risk/blocker
- SOURCE_OF_TRUTH.md — scope + 3 tầng permission
- go-live-checklist.md — toàn bộ
- prd.md A8 Metrics — success criteria
2.6) PO / Stakeholder (review)
- decision-brief.md — tóm tắt 5 phút
- prd.md A0 + Z — overview + decisions 30 phút
- SOURCE_OF_TRUTH.md §9 Câu hỏi còn mở — câu hỏi pending
- go-live-checklist.md E1 — gates để sign-off
2.7) Sale / Clinic Ops (chuẩn bị dùng hằng ngày)
- decision-brief.md — nắm các luồng vận hành mới
- prd.md FR-016..019 — role workflows mới
- ui-spec.md Luồng 5..7 — Phiếu chuyển bác sĩ tư vấn, Phiếu khách tự khai, Chốt ngày phòng khám
- go-live-checklist.md E1.3/E3 — UAT + Chốt ngày phòng khám gates
3) Ma trận RACI
R = Responsible (làm), A = Accountable (chịu trách nhiệm), C = Consulted (tham vấn), I = Informed (được thông báo)
| Deliverable | PO | Tech Lead | BE Dev | FE Dev | QA Lead | Designer | Ops | Anh Phong | Anh Phát | Chị Thảo | Sếp Nam |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Spec package (9 files) | A/R | C | I | I | I | I | I | C | C | C | I |
| Ma trận ranh giới ảnh hưởng + owner regression module không ảnh hưởng | A/R | A | C | C | R | I | C | C | C | C | I |
Pre-req refactor *uuid.UUID + repo-wide null guard | I | A | R | I | C | — | I | — | — | — | — |
| Data model migrations (15+) | I | A | R | I | C | — | I | — | — | — | — |
Hasura metadata + permission/view/action vận hành user/admin | I | A | R | I | C | — | I | — | — | — | — |
| Dynamic Permission v2 seed + action/portal/branch_mode resolver | C | A | R | R | R | C | C | — | C | — | I |
| Form template + JSON Schema | I | C | C | R | A | C | I | — | C | — | — |
| BA DL + BA TM form | I | C | C | R | A | R | I | — | C | — | — |
| 5 form shared | I | C | C | R | A | R | I | — | C | — | — |
FR-007 hardening — câu xác nhận tự gõ DEC-021 (≥20 ký tự, từ khoá, chặn dán, audit nhịp gõ) + luồng "Khách từ chối thủ thuật" DEC-024 (huỷ order_item, witness, NTF-14, permission clinical_record.refuse_procedure) | C | A | R | R | R | C | C | — | C | — | — |
Walk-in inline customer create (DEC-003 + schema NOT NULL) — SCR-03/SCR-05 buộc tạo KH trước khi lưu lượt khám; FE audit không cho customer_id=NULL | I | A | R | R | R | C | I | — | — | — | — |
| In + tải bản scan đã ký + mandatory scan checklist | I | C | R | R | A | C | R | — | C | A | — |
| Allergy safety engine | I | A | R | C | R | — | I | — | A | — | — |
| Permission 3 tầng + audit | I | A | R | C | R | — | I | C | — | — | — |
| Permission Spec implementation (P1-P12) — canonical 22 action + resolver + 44 TC-PERM-* | C | A | R | R | R | C | C | C | C | — | — |
| SCR-18 Compliance Audit Viewer (Day-1 hoặc Phase 2 tuỳ PD-PERM-004) | A | C | R | R | R | C | C | — | — | — | I |
| User Guide v1.0.0 (10 mục, 7 role) — duy trì + update theo feedback pilot | A/R | C | I | I | C | I | C | — | C | C | I |
| Print Design Spec v1.0.0 (7 biểu mẫu A4, PR1-PR9) — Legal sign-off | A | C | C | R | R | C | I | C | — | — | — |
| Trang xem an toàn (Sale) + handoff | A | C | R | R | C | R | C | — | C | C | — |
| Bàn việc bác sĩ | A | C | R | R | A | R | C | — | A | C | — |
| Phiếu khách tự khai | A | C | R | R | A | R | R | — | C | A | — |
| Trang điều phối phòng khám + Chốt ngày phòng khám | A | C | R | R | A | C | R | C | C | A | I |
| Sổ khám + sổ thủ thuật | I | C | R | R | A | C | C | C | C | C | — |
| Import danh mục KT + mapping | I | C | R | R | C | — | A | R | — | C | — |
| Consent cross-branch text | C | — | — | — | C | — | — | R | C | — | A |
| Training 2 CN pilot | C | — | — | — | — | — | R | C | C | A | I |
| Pilot go-live decision | A | C | I | I | C | — | R | C | C | C | A |
| Post-pilot review | A/R | C | I | I | C | — | C | C | C | C | A |
3.1) RACI vận hành pilot tại chi nhánh
| Quy trình ngày chạy thật | BS | Y tá | Lễ tân | Sale | QL CN | Ops | QA/Support |
|---|---|---|---|---|---|---|---|
| Tạo/hoàn thành BA, ICD-10, diagnosis, y lệnh | A/R | C hành chính | I | I | I | I | C |
| Tải bản scan đã ký, kiểm checklist ký tay, replace file sai | C | R | I | I | A | C | C |
| Visit-only log cho khách chỉ khám thuần | A/R | C | C | I | I | I | C |
| Phiếu chuyển bác sĩ tư vấn | C | I | I | R | C | I | C |
| End-of-day close SCR-17 | C | R scan support | I | I | A/R | C | C |
| Escalation P0/P1 D0 | C | C | C | C | A | A/R | R |
4) Timeline và milestone
4.1) Timeline tổng
Week 1 ────────────────────────────────────────────────────→ Week 17
│
W-3 │ ■ Spec review & sign-off (PO + Tech Lead + stakeholders)
│
W-2 │ ■ Pre-req refactor + migration dry-run on staging
W-1 │ ■ Pre-req merge + FE codegen audit
│
W1-2 │ ████ Phase 1 — Data + Admin
│ (tables + migrations + admin Phòng khám 5-step + KT import + mapping)
│
W3-4 │ ████ Phase 2 — Clinical record core
│ (form renderer + BA DL + 4 form shared + lượt khám luồng + autosave)
│
W5-6 │ ████ Phase 3 — BA TM + tờ điều trị + Allergy safety
│
W7 │ ██ Phase 4 — Permission 3 tầng + audit + emergency override
│
W8 │ ██ Phase 5 — Sổ khám + sổ thủ thuật + export + notification
│
W9 │ ██ Phase 5B — Trang xem an toàn (Sale) + Workbench + Intake + Ops close
│
W10 │ ■ Internal QA + UAT với champion BS/Sale/Ops
│
W11-12│ ████ Pilot Phase 1 — Song song giấy + PM (2 CN)
│
W13-14│ ████ Pilot Phase 2 — PM chính + in ký
│
W15-16│ ████ Pilot Phase 3 — Full PM + scan
│
W17 │ ■ Pilot review → go/no-go rollout4.2) Milestone chính
| Milestone | Target date (từ start) | Gate | Owner |
|---|---|---|---|
| M1 — Spec sign-off | W0 | G2 (SKILL.md) | PO + stakeholders |
| M2 — Pre-req merged | W-1 | G3 (code review) | BE Dev |
| M3 — Phase 1 dedelivered (admin ready) | W2 end | G4 (Ripple check) | Tech Lead |
| M4 — Phase 2 dedelivered (BA DL + shared forms) | W4 end | G5 (QA đạt) | Tech Lead + QA |
| M5 — Phase 3 dedelivered (BA TM + allergy) | W6 end | G5 | Tech Lead + QA |
| M6 — Phase 4 dedelivered (permission) | W7 end | G5 | Tech Lead + QA |
| M7 — Phase 5 dedelivered (sổ + report + notification) | W8 end | G5 | Tech Lead + QA |
| M8 — Phase 5B dedelivered (Sales/Ops/Workbench/Intake) | W9 end | G5 | Tech Lead + QA + Ops |
| M9 — UAT đạt với champion BS/Sale/Ops | W10 end | G6 (UAT sign-off) | PO + BS Phát + Ops |
| M10 — Pilot go-live D0 | W11 start | G6.5 (kiểm tra sẵn sàng gate) | Ops + PO |
| M11 — Pilot Phase 2 entry | W13 start | Success criteria Phase 1 | PO |
| M12 — Pilot Phase 3 entry | W15 start | Success criteria Phase 2 | PO |
| M13 — Pilot exit / Full rollout decision | W17 end | Hard gate 0 incident/complaint + metric vận hành đạt | Sếp Nam + PO |
4.3) Ước lượng effort
| Team | Phase 0 | Phase 1 | Phase 2 | Phase 3 | Phase 4 | Phase 5 | Phase 5B | Total |
|---|---|---|---|---|---|---|---|---|
| BE Dev | 2-3d | 1.5w | 2.5w | 1.5w | 1w | 1w | 1.5w | 10-11w |
| FE Dev | 0.5d | 1w | 2w | 2w | 0.5w | 1w | 2w | 8-9w |
| QA | — | 0.5w | 0.5w | 0.5w | 0.5w | 0.5w | 0.5w + 1w UAT | 4-5w |
| Designer | — | 0.5w | 1w | 1w | — | 0.5w | 0.5w | 3.5w |
| PO + Ops | 1w review | — | — | — | — | — | 0.5w UAT + 4w pilot | 5.5w |
Total dev effort: ~22-25 person-weeks + pilot 4 weeks.
5) Blocker và câu hỏi còn mở
5.1) Blocker cần xử lý
| # | Blocker | Owner | Deadline | Impact nếu miss |
|---|---|---|---|---|
| B-1 | Text consent cross-branch pháp lý (OQ-2) cho workflow Phase 2 | Anh Phong + luật sư | Trước khi mở Phase 2 cross-branch | Chưa số hoá được request/consent cross-branch |
| B-2 | 100% KT đang hiệu lực có allergy_risk_level khác unknown | Anh Phát + BS | Trước W-1 (admin setup pilot) | unknown chặn kiểm tra sẵn sàng + chặn hoàn thành BA |
| B-3 | ICD-10 bản 2015 hay 2021 (OQ-11) | Anh Phong | Trước W1 (migration seed) | Trạng thái mặc định 2015, override được |
| B-4 | Ô "Mã" trong BA DL = ICD-10? (OQ-3) | Anh Phát | Trước W3 (FE form BA DL) | Có thể misinterpret — rework form design |
| B-5 | Retention hot/cold split (OQ-5) | Infra + legal | Trước W14 (phase 2 pilot) | Không có plan storage dài hạn |
| B-6 | 100% DV đang bán tại 2 CN pilot đã phân loại, không còn unclassified | Admin + QL CN | Trước phát hành module | Không phát hành được module PK |
| B-7 | PO + QL CN review phát hành xem trước tác động + thời điểm áp dụng | PO + QL CN | Trước D0 | Module không được chuyển sang đang hoạt động |
| B-8 | QL CN owner cho Chốt ngày phòng khám + close_cutoff_time/close_reminder_times được cấu hình cho từng CN pilot | Ops + QL CN | Trước pilot | Chốt ngày phòng khám không có người chịu trách nhiệm hoặc gửi cảnh báo sai giờ |
| B-9 | Sales Lead chốt nhóm Sale pilot và phạm vi handoff | Sales Lead + PO | Trước Phase 5B UAT | Trang xem an toàn (Sale) không được dùng đúng mục tiêu |
| B-10 | Tablet/kiosk hoặc máy POS xoay màn sẵn sàng cho Phiếu khách tự khai tại quầy | Ops + QL CN | Trước pilot training | FR-018 không test được trong pilot thực tế |
| B-11 | Source DB + Hasura vận hành đường dẫn được Tech Lead sign-off: clinical tables ở ecommerce, account id text, webhook đường dẫn chung `/actions | /events | /schedulers` | Tech Lead + BE |
| B-12 | Raw clinical_record/clinical_form_instance không expose cho vận hành role user; Sale chỉ qua sales_safe_clinical_summary/handoff action và đạt security test | Tech Lead + QA | Trước Phase 4 exit | Leak tầng 3 hoặc suy luận dữ liệu y tế |
| B-12A | Dynamic Permission v2 seed đủ module_id/portal/action, mặc định seed được PO/TL sign-off, backend resolver enforce branch_mode + Sale hard deny tầng 3, QA grant/revoke/portal split đạt | Tech Lead + BE + FE + QA | Trước Phase 4 exit | UI/BE hiểu khác nhau về quyền; grant nhầm role/portal gây no-access hoặc leak dữ liệu |
| B-13 | Signed scan checklist đủ theo case và refusal witness luồng được QA/Ops sign-off | QA + Ops + Y tá lead | Trước UAT | BA bị đánh signed khi chưa đủ giấy ký/scan |
| B-14 | Legal/SYT/retention artifacts có văn bản; support roster D0 + hotline + scanner/printer/account test đạt | Legal + Ops + IT | Trước T-1 | NO-GO pilot nếu còn TBD |
| B-15 | Ma trận ranh giới ảnh hưởng chưa được TL/QA sign-off hoặc D6 smoke module không ảnh hưởng chưa có owner rõ | PO + TL + QA | Trước sprint planning và trước go-live TC-15 | Scope creep hoặc regression sang module không liên quan không được phát hiện trước pilot |
| B-16 | Permission seed clinical_record.refuse_procedure (DEC-024) chưa insert vào migration module_permission_action; mặc định cấp BS + Y tá trưởng cùng CN; backend resolver phải kiểm cộng dồn với order.update ở tầng order; NTF-14 template noti_clinical_procedure_refused chưa deploy | BE Dev + Tech Lead + DBA | Trước Phase 4 exit | TC-090/090A/090B/090C không đạt; UI hiện CTA nhưng action 403; KH từ chối thủ thuật không huỷ được order_item → kế toán/tài chính sai |
| B-17 | Walk-in flow phải chốt UI buộc tạo KH inline (DEC-003 + dev-spec NOT NULL); audit FE SCR-03/SCR-05 không còn nhánh customer_id=NULL; legacy data có customer_id IS NULL cần cleanup script trước Phase 1 migration | Tech Lead + BE + FE | Trước Phase 1 migration | Migration clinical_*.customer_id NOT NULL fail; appointment walk-in cũ không tạo được BA mới |
| B-18 | Quyết định SCR-18 Compliance Audit Viewer Day-1 hay Phase 2 (PD-PERM-004 trong permission-spec.md) — nếu Phase 2 thì Compliance officer Day-1 dùng raw SQL query / superset báo cáo nội bộ tạm | PO + Security Lead + Compliance Officer | Trước Phase 1 sprint planning | Compliance không có UI audit Day-1 → khó phát hiện anomaly + emergency override quá tay; vi phạm Nghị định 13/2023 BVDL nếu pilot có sự cố |
| B-19 | WebSocket push permission change infra (PD-PERM-002) — Day-1 dùng được hay fallback TTL 60s? | Infra Lead + BE | Trước Phase 4 | Nếu Day-1 không có WS push, grant/revoke có lag tối đa 60s → user vẫn thấy menu cũ trong cửa sổ này; backend đã enforce nên không leak nhưng UX kém |
| B-20 | Permission Spec sign-off (PD-PERM-001..005) — Compliance officer là role mới hay extend admin; rate limit emergency 5/ngày có nghiêm cho Y tá trưởng; anomaly Slack channel | PO + Security + Medical Lead + Ops | Trước Phase 1 migration M105 | Migration seed sai → admin phải re-config thủ công 100+ assignment cho 2 CN pilot |
5.2) Câu hỏi còn mở không block
Xem SOURCE_OF_TRUTH.md §9. OQ-3, OQ-6 và OQ-7 đã được khóa mặc định an toàn trong SoT v2.0.0: ICD-10 là field báo cáo, mã giấy riêng nếu có là optional non-reporting; y tá chỉ hỗ trợ hành chính/shared/tải bản scan đã ký; QL CN không mặc định xem tầng 3; cùng appointment có thể có nhiều clinical_record theo form_type. Các OQ còn lại có mặc định safe hoặc gate rõ trong go-live.
5.3) Rủi ro đã biết
Xem EVIDENCE_PACK.md §6 và Go-live E4/E5 — risk vận hành chính đã có mitigation/gate, riêng rollback production sau D0 không drop DB.
6) Hỗ trợ sau bàn giao
6.1) Kênh trao đổi
- Slack:
#clinical-record-dev(Dev + QA + PO) +#clinical-record-pilot(2 CN + Dev + PO trong lúc pilot) - Daily standup: 10:00 VN time trong lúc dev + 9:00 trong lúc pilot (với CN pilot tham gia)
- Weekly demo: mỗi cuối Phase (W2, W4, W6, W7, W8) với stakeholder
- Spec clarification: tag PO trong Slack + async reply trong 4h working hours
6.2) Quy trình thay đổi
Khi có thay đổi spec sau handoff:
- Raise request trong Slack
#clinical-record-devvới tag PO - PO assess impact:
- Trivial (copy text, tooltip, minor UI tweak) → direct update source docs + notify team
- Moderate (add FR, change AC, minor data model) → update SoT → propagate prd + affected specs → Ripple Check → team re-review
- Major (change core decision, remove FR, major scope) → báo Sếp Nam + Anh Phong → khả năng rollback / lập kế hoạch lại
- Every change update changelog in affected files
6.3) Phát hành tài liệu
Package v2.0.0 sẵn sàng đồng bộ sang dva-doc để team triển khai đọc bản clean sau khi đạt review cuối. Khi có thay đổi sau handoff, cập nhật SOURCE_OF_TRUTH.md trước, propagate sang các file ảnh hưởng, rồi phát hành lại kèm changelog.
7) Tiêu chí hoàn tất bàn giao
Handoff được coi là COMPLETE khi:
- [x] 11 file đã sinh và đã rà soát theo package v2.1.0
- [x] SOURCE_OF_TRUTH.md là canonical, mọi DEC P0 trace được
- [x] Ripple Check v2.0.0 đã xử lý mismatch raw access, phát hành gate, rollback, ICD-10/paper code, autosave conflict, Dynamic Permission v2, impact boundary và trạng thái bàn giao kickoff/full-build/go-live
- [x] Traceability Check v2.1.0 update cho FR-001..019 qua
_consistency-matrix.md - [x] UI Spec v2.1.0 đã bổ sung đủ SCR-01/02/03/04a..f/05/08/11/12 và khóa quy ước ngôn ngữ B0.6
- [x] v2.0.0 package đã khóa quy ước:
decision-brief.mdlà cửa vào, sourceecommerce/default, đường dẫn vận hành chung, no raw clinical vận hànhuser, Dynamic Permission v2 action/portal/branch_mode, Trang xem an toàn (Sale), checklist bản scan đã ký, Bàn việc bác sĩ, token phiếu khách tự khai/audit nguồn/validation khác phạm vi, cutoff Chốt ngày phòng khám - [x] v2.0.0 Ma trận ranh giới ảnh hưởng đã khóa: module trực tiếp/gián tiếp/không ảnh hưởng có owner, guard, smoke regression D6, TC-15 và blocker B-15
- [ ] Tech Lead đã read toàn bộ và không có blocker clarification
- [ ] QA Lead đã review và map TC coverage ≥95% FR
- [ ] PO + Sếp Nam + Anh Phong + Anh Phát + Chị Thảo sign-off Pre-go-live Gate (xem go-live E5.1)
End of Handoff v2.1.0. Team triển khai bookmark decision-brief.md để nắm package nhanh, sau đó dùng file này để chia việc và theo dõi bàn giao.