# OmiScan — Mục lục tài liệu đặc tả

| | |
|---|---|
| **Phiên bản** | v0.3 — **Sẵn sàng coding** |
| **Cập nhật** | 10/05/2026 |
| **Người soạn** | HungPM (CIO/CTO OmiGroup) |
| **Sponsor** | Phan Mạnh Hùng |

> ✅ **v0.3 status**: Bỏ Workshop với Viện DD khỏi critical path. OmiGroup tự chốt 32/57 câu hỏi mở (Section 14) bằng best-judgment decisions. **Sẵn sàng coding kickoff Sprint 1 ngay**.
>
> 18 P0 + 9 Q-INT + 5 Q-LEG đã DECIDED. 7 Q-TECH defer to Sprint 2 PoC. 2 Q-LEG (TT chuyên ngành) defer Phase 2. 16 Q-Phase2 defer.
>
> Workshop với Viện DD sẽ tổ chức **post-go-live** (review/adjust qua amendment hợp đồng nếu cần), không block dev.

---

## Bắt đầu

- 📖 [README.md](../README.md) — Project overview với liên kết đầy đủ
- 🚀 [HOW_TO_READ.md](HOW_TO_READ.md) — Hướng dẫn đọc tài liệu theo vai trò
- 📅 [CHANGELOG.md](CHANGELOG.md) — Lịch sử thay đổi
- 🖥️ [demo/index.html](../demo/index.html) — Demo prototype interactive

---

## 15 Sections SRS

| # | Section | File | Trạng thái | Ghi chú |
|---|---|---|---|---|
| 01 | Executive Summary | [01_executive_summary.md](01_executive_summary.md) | **Draft v1** | 5-phút cho lãnh đạo |
| 02 | Phạm vi & Giả định đã chốt | [02_scope.md](02_scope.md) | **Draft v1** | Đã chốt 7 điểm với HungPM |
| 03 | Persona & Use cases | [03_personas_usecases.md](03_personas_usecases.md) | **Draft v1** | 5 persona, 21 use case, RBAC matrix |
| 04 | Khung pháp lý áp dụng | [04_legal_framework.md](04_legal_framework.md) | **Draft v1** | Đã có toàn văn NĐ 37/2026 + TT 29/2023 |
| 05 | Đặc tả chức năng (M1–M9) | [05_functional_spec.md](05_functional_spec.md) | **Draft v1** | 9 module + cross-cutting + dependency matrix |
| 06 | Rule engine design | [06_rule_engine.md](06_rule_engine.md) | **Draft v1** | DSL + 23 rule v1 trích từ NĐ 37 + TT 29 |
| 07 | AI on-device strategy | [07_on_device_ai.md](07_on_device_ai.md) | **Draft v1** | Gemma 4 + ML Kit cross-check, multi-shot |
| 08 | Kiến trúc tổng thể | [08_architecture.md](08_architecture.md) | **Draft v1** | C4 model 3 levels, 10 ADR |
| 09 | Tech stack & Dependencies | [09_tech_stack.md](09_tech_stack.md) | **Draft v1** | Mobile + Backend + Web + AI/ML stack |
| 10 | Bảo mật & Tuân thủ | [10_security_compliance.md](10_security_compliance.md) | **Draft v1** | STRIDE, BVDLCN, Luật AI 134/2025, DPIA |
| 11 | Roadmap 8 tuần | [11_roadmap.md](11_roadmap.md) | **Draft v1** | Sprint plan + 5 GO/NO-GO gate |
| 12 | Rủi ro & Mitigation | [12_risks.md](12_risks.md) | **Draft v1** | Risk register 32 risk |
| 13 | Ước tính chi phí | [13_cost_estimate.md](13_cost_estimate.md) | **Draft v1.1** | TCO 3 năm Base case ~1,8 tỷ VND (đã sửa từ codex review: thêm NAT Gateway + hidden cost) |
| 14 | Câu hỏi mở | [14_open_questions.md](14_open_questions.md) | **Draft v1** | 57 câu, 38 cần Workshop |
| 15 | UX Specification | [15_ux_specification.md](15_ux_specification.md) | **Draft v1** | Screen flows, SOPs, microcopy |

---

## Văn bản pháp lý gốc

| Văn bản | File | Vai trò |
|---|---|---|
| **NĐ 37/2026/NĐ-CP** ngày 23/01/2026 | [legal_sources/37_2026_ND-CP.md](legal_sources/37_2026_ND-CP.md) | Trục chính rule engine — Điều 42 + Phụ lục I (69 nhóm hàng) |
| **TT 29/2023/TT-BYT** ngày 30/12/2023 | [legal_sources/29_2023_TT-BYT.md](legal_sources/29_2023_TT-BYT.md) | Trục dinh dưỡng — 5 chỉ tiêu cơ bản + ngưỡng miễn ghi |

---

## Khung pháp lý đã chốt

| Văn bản | Hiệu lực | Tác động |
|---|---|---|
| **NĐ 37/2026/NĐ-CP** | 23/01/2026 | Trục chính ghi nhãn (thay NĐ 43/2017 + NĐ 111/2021) |
| **TT 29/2023/TT-BYT** | 15/02/2024 (bắt buộc 01/01/2026) | 5 chỉ tiêu dinh dưỡng cơ bản |
| **Luật CLSPHH 78/2025/QH15** | 01/01/2026 | Hộ chiếu số sản phẩm, nhãn điện tử |
| **Luật Quảng cáo 75/2025/QH15** | 01/01/2026 | Siết quảng cáo TPCN |
| **Luật BVDLCN 91/2025/QH15** | 01/01/2026 | DPIA bắt buộc, DPO |
| **Luật AI 134/2025/QH15** | 01/03/2026 | OmiScan ở mức rủi ro trung bình |
| **TCVN 7087:2013** | 2013 | Hài hòa Codex |

---

## Quyết định đã chốt với HungPM

| Chủ đề | Quyết định |
|---|---|
| Mục tiêu | (a) Compliance check format + (d) Khảo sát thị trường — KHÔNG (b)/(c) trong v1 |
| User chính | Cán bộ Viện DD (Tier A+B device, iOS+Android) |
| Volume | 5 device × 30 nhãn × 22 ngày = 3.300 submission/tháng |
| Mobile stack | Flutter + flutter_gemma 0.14.5+ |
| AI on-device | **Gemma 4 E2B** + ML Kit cross-check; per-image inference; output JSON ≤ 250 tokens |
| Backend | AWS serverless (Lambda + Aurora Postgres v2 + S3 + Cognito) |
| Rule engine | JsonLogic + extensions, ECDSA P-256 signed, CDN distribution |
| Timeline | 8 tuần (~2 tháng), tận dụng AI coding agents |
| Mô hình tài trợ | A — Trọn gói (đề xuất), pivot sang B/C ở Phase 2 |

---

## Workshop checklist tuần 1 với Viện Dinh dưỡng

Từ [Section 14.8](14_open_questions.md):

### Trước Workshop (gửi 1 tuần trước)
- [ ] HungPM gửi Section 01 + 02 + 03 + 04 cho Viện DD
- [ ] HungPM gửi danh sách văn bản pháp lý chuyên ngành cần Viện DD cấp (TT 33/2024 sữa, TT 43/2014 TPCN…)
- [ ] HungPM xác nhận thành phần workshop: Viện trưởng/Phó Viện, trưởng phòng pháp chế, trưởng phòng dinh dưỡng cộng đồng, đại diện CNTT

### Trong Workshop (90 phút)
- [ ] Present Section 01 (10 phút) — high-level
- [ ] Present Section 02 (15 phút) — scope với 18 câu Q-WS-01 → Q-WS-18
- [ ] Live demo prototype (15 phút) — bấm thử Cmd+K
- [ ] Trả lời từng câu Q-WS-XX, ghi vào biên bản (45 phút)
- [ ] Chốt mô hình tài trợ (Q-WS-18) + IP (Q-WS-17)
- [ ] Chốt timeline 8 tuần + UAT tuần 7

### Sau Workshop
- [ ] Biên bản ký bởi cả 2 bên
- [ ] Em update Section 01-04 với câu trả lời
- [ ] Compile SRS_v1.docx + Solution_Deck.pptx
- [ ] Update INDEX status sang `Reviewed by Viện DD`

---

## Demo prototype

- 🌐 [demo/index.html](../demo/index.html) — Demo map với 36 màn hình
- 📱 [demo/mobile.html](../demo/mobile.html) — 15 màn mobile
- 🖥️ [demo/dashboard.html](../demo/dashboard.html) — 10 màn web Dashboard
- ⚙️ [demo/cms.html](../demo/cms.html) — 9 màn CMS
- 🔀 [demo/flows.html](../demo/flows.html) — 3 flow storyboard

**Mở demo**: `cd demo && python3 -m http.server 8080` rồi mở `http://localhost:8080`. Bấm `⌘K` để search màn hình.

---

## Phương thức làm việc trên tài liệu

1. **Em viết draft** từng section, commit theo thứ tự ưu tiên
2. **Anh review trên file** trực tiếp (sửa hoặc comment)
3. **Em iterate** đến khi Anh duyệt → đổi trạng thái sang `Reviewed`
4. **Khi đủ section**, em compile sang `.docx` + `.pptx` để trình Viện DD
5. **Sau Workshop tuần 1**, em update với feedback Viện DD → trạng thái `Approved`

---

**v0.2 · 10/05/2026** · OmiGroup / Omi HealthTech
