# 02. Phạm vi & Giả định đã chốt

> **Đối tượng đọc**: Tất cả thành viên dự án — đảm bảo cùng hiểu giới hạn của v1.
> **Mục đích**: Khi có yêu cầu mới, đối chiếu với section này để quyết định in-scope hay out-of-scope.

## 2.1. Tuyên bố sứ mệnh sản phẩm (v1)

OmiScan v1 hỗ trợ cán bộ Viện Dinh dưỡng Quốc gia thực hiện hai nhiệm vụ:

1. **Compliance check format**: Kiểm tra một nhãn thực phẩm bao gói sẵn có đầy đủ và đúng định dạng các trường bắt buộc theo quy định pháp luật Việt Nam hay không.
2. **Khảo sát dinh dưỡng**: Thu thập có cấu trúc nội dung nhãn (đặc biệt bảng dinh dưỡng và thành phần) phục vụ nghiên cứu, xây dựng cơ sở dữ liệu nhãn thực phẩm thị trường, và hoạch định chính sách dinh dưỡng quốc gia.

OmiScan KHÔNG phải là công cụ thanh tra chính thức (đó là chức năng của Cục An toàn Thực phẩm — VFA), KHÔNG ra phán quyết pháp lý, KHÔNG xử phạt. Mọi phát hiện vi phạm chỉ là tham chiếu cho cán bộ Viện báo cáo.

## 2.2. Giới hạn phạm vi đã thống nhất

### 2.2.1. Mục tiêu nghiệp vụ

| In-scope v1 | Out-of-scope v1 (Phase 2+) |
|---|---|
| (a) Compliance check format ghi nhãn | (b) Cross-check với hồ sơ tự công bố / đăng ký công bố tại Cục ATTP |
| (d) Khảo sát thị trường phục vụ nghiên cứu Viện DD | (c) Phát hiện gian dối nhãn (nhãn giả, claim không phép phức tạp) |
| | Cảnh báo dinh dưỡng cá nhân hóa cho người tiêu dùng |
| | Tích hợp dấu công bố / mã QR truy xuất nguồn gốc |

**Lưu ý**: (b) và (c) là optional ở Phase 2+, sẽ chỉ thực hiện so sánh thành phần dạng text và kết nối tới dịch vụ Bộ Y tế khi có API sẵn sàng.

### 2.2.2. Đối tượng người dùng

| In-scope v1 | Out-of-scope v1 |
|---|---|
| Cán bộ Viện Dinh dưỡng Quốc gia (chính thức + cộng tác viên Viện) | Cán bộ Cục An toàn Thực phẩm (VFA) — Phase 3 |
| Quản trị viên hệ thống của Viện DD (admin CMS, dashboard) | Cán bộ Sở Y tế tỉnh — Phase 3 |
| | Người tiêu dùng phổ thông |
| | Doanh nghiệp tự kiểm tra trước công bố |

### 2.2.3. Phạm vi sản phẩm thực phẩm

| In-scope v1 | Out-of-scope v1 |
|---|---|
| Mọi nhóm thực phẩm bao gói sẵn (FMCG, bánh kẹo, đồ uống đóng chai, mì, sữa, gia vị…) | Thực phẩm tươi sống không bao gói |
| Hàng nhập khẩu có nhãn phụ tiếng Việt (theo NĐ 37/2026/NĐ-CP) | Dịch vụ ăn uống, thực đơn nhà hàng |
| Thực phẩm chức năng và TP bổ sung (theo TT 43/2014/TT-BYT) | Sản phẩm chỉ có nhãn ngoại không có nhãn phụ tiếng Việt (cảnh báo nhưng không validate đầy đủ) |
| Sữa cho trẻ em (theo TT 30/2013/TT-BYT) | Dược phẩm và mỹ phẩm |

### 2.2.4. Thiết bị hỗ trợ

| Tier | Định nghĩa | OmiScan v1 |
|---|---|---|
| **A** | iOS A14+ (iPhone 12 Pro trở lên) RAM ≥ 6GB; Android Snapdragon 8 series RAM ≥ 6GB | ✅ Hỗ trợ — Gemma 4 E4B (Android), E2B (iOS) |
| **B** | iOS A12-A13 (iPhone XS, 11) RAM 4GB; Android Snapdragon 7 series RAM 4-6GB | ✅ Hỗ trợ — Gemma 4 E2B |
| **C** | Device thấp hơn | ❌ KHÔNG hỗ trợ trong v1 |

**Cơ sở quyết định**: Cán bộ Viện DD được trang bị thiết bị tầm trung trở lên; volume submission thấp (3.300/tháng) không đủ biện minh chi phí build và maintain code path Tier C với fallback server LLM.

### 2.2.5. Volume và tải hệ thống

| Chỉ số | Giá trị mục tiêu |
|---|---|
| Số cán bộ sử dụng đồng thời | ~5 device |
| Số nhãn / cán bộ / ngày | ~30 nhãn |
| Số ngày làm việc / tháng | 22 ngày |
| **Tổng submission / tháng** | **~3.300** |
| Số ảnh / submission | 4–6 ảnh (front, back, nutrition, ingredients, +tùy chọn) |
| **Tổng ảnh / tháng** | ~13.200–19.800 |
| Dung lượng ảnh gốc (sau nén AVIF/HEIC) | ~500KB–1MB |
| **Storage / tháng** | ~10–20 GB |
| **Storage / năm 1** | ~150–250 GB |

→ Volume rất nhẹ. Backend serverless free tier hoặc tier thấp đáp ứng dư.

### 2.2.6. Khung thời gian

| Phase | Phạm vi | Thời lượng | Ghi chú |
|---|---|---|---|
| **Discovery + Setup** | Workshop, corpus, infra | Tuần 1 | |
| **PoC + MVP** | App + backend + Gemma 4 + rule engine | Tuần 2–6 | Tận dụng AI coding agents |
| **UAT + Hardening** | Pilot Viện DD | Tuần 7 | |
| **Bàn giao v1.0** | Production handover | Tuần 8 | |

→ Tổng **8 tuần** kể từ ngày kickoff.

## 2.3. Giả định kỹ thuật

Các giả định dưới đây sẽ được verify trong Tuần 1–2. Nếu giả định nào sai, scope sẽ phải được điều chỉnh.

| # | Giả định | Cách verify | Tác động nếu sai |
|---|---|---|---|
| AS1 | Gemma 4 E2B đọc nhãn tiếng Việt với CER ≤ 5% trên trường dinh dưỡng | PoC tuần 2 với 100 nhãn corpus | Nếu CER > 10% → fallback Apple Vision + ML Kit OCR + LLM server cho parse cấu trúc |
| AS2 | Plugin `flutter_gemma` ổn định trên cả iOS và Android với Gemma 4 | Spike tuần 2 (cài đặt + chạy thử trên 4 device thật) | Plan B: viết native module Swift + Kotlin gọi MediaPipe SDK trực tiếp qua MethodChannel |
| AS3 | iOS chạy được Gemma 4 E2B mà không bị Jetsam kill | Stress test 100 inference liên tục trên iPhone 12 Pro | Phải downgrade xuống mô hình OCR truyền thống cho iOS |
| AS4 | Cán bộ Viện DD có WiFi để download model 1.3–2.5GB lần đầu | Hỏi trong Workshop tuần 1 | Cần hỗ trợ cài model qua sideload từ máy tính |
| AS5 | Kết nối mạng tại nơi khảo sát (siêu thị, cửa hàng) đủ để upload submission cuối ngày | Khảo sát workflow tuần 1 | Tăng cường offline queue và sync khi về văn phòng |
| AS6 | Viện DD đồng ý lưu ảnh gốc trong tối thiểu 30 ngày | Xác nhận trong Workshop | Có thể phải giảm xuống 7 ngày + chỉ giữ crop nhãn |

## 2.4. Giả định nghiệp vụ

| # | Giả định | Người xác nhận |
|---|---|---|
| BS1 | Viện DD có đầu mối (1 người) để Anh + em workshop và lấy phản hồi | HungPM |
| BS2 | Viện DD cung cấp được danh mục văn bản pháp lý đầy đủ trong tuần 1 | HungPM + Viện DD |
| BS3 | Cán bộ Viện DD chấp nhận quy trình "chụp 4 ảnh có hướng dẫn" thay vì "chụp 1 ảnh tổng" | UAT tuần 7 |
| BS4 | Viện DD chấp nhận để OmiGroup host hệ thống trên AWS (không yêu cầu on-prem) | HungPM xác nhận với Viện |
| BS5 | Dự án không yêu cầu chứng nhận đặc thù ngoài ISO 27001 OmiGroup đang có | HungPM |

## 2.5. Mô hình kinh doanh và sở hữu

| Chủ đề | Quyết định |
|---|---|
| Mô hình | Tài trợ — không thương mại hóa cho người dùng cuối trong v1 |
| Đơn vị thực hiện | OmiGroup (đề xuất Omi HealthTech là đầu mối) |
| Sở hữu source code | Cần thống nhất trong hợp đồng tài trợ — đề xuất OmiGroup giữ IP, cấp phép sử dụng vĩnh viễn cho Viện DD |
| Sở hữu dữ liệu | Toàn bộ submission, ảnh, kết quả validation thuộc về Viện DD |
| Mô hình vận hành sau v1 | OmiGroup chịu trách nhiệm hosting + bảo trì kỹ thuật trong giai đoạn tài trợ; chuyển giao có thể đàm phán Phase 2 |

## 2.6. Tiêu chí thành công của v1

| Hạng mục | Tiêu chí | Cách đo |
|---|---|---|
| **Functional** | Cán bộ chụp 1 nhãn → có kết quả trích xuất đúng ≥ 90% trường bắt buộc | Test trên 100 nhãn pilot |
| **Performance** | Thời gian từ shoot tới có kết quả hiển thị trên app ≤ 8 giây (Tier B) | Đo trên iPhone XS, Galaxy A53 |
| **Compliance check** | Phát hiện đúng ≥ 95% trường thiếu so với rule v1 | Manual review 50 nhãn |
| **UX** | Cán bộ tự dùng được sau 30 phút training, không cần kỹ thuật viên | Quan sát UAT |
| **Vận hành** | Không quá 1 incident/tháng cần can thiệp kỹ thuật | Telemetry + sentry |
| **Cost** | Chi phí AWS ≤ 10 triệu VND/tháng ở volume 3.300 submission | AWS billing |

## 2.6.5. Decisions chốt cho v1 (cập nhật v0.3 — bỏ Workshop)

OmiGroup tự chốt 18 P0 thay vì đợi Viện DD Workshop. Chi tiết tại [Section 14.2](14_open_questions.md#142-p0--decisions-omigroup-tự-chốt-v03-bỏ-workshop). Tóm tắt:

| Quyết định | Chốt |
|---|---|
| **Phạm vi nhóm thực phẩm v1** | Chỉ 3 nhóm Phụ lục I NĐ 37: Nhóm 1 (Lương thực), Nhóm 2 (Thực phẩm chung), Nhóm 6 (Đồ uống không cồn). Defer Phase 2: TPBVSK, TPCN, sữa trẻ em, rượu, GMO |
| **Hàng nhập khẩu thiếu nhãn phụ VN** | Flag warning (rule severity violation), không reject submission |
| **Workflow duyệt** | 1 tầng — P2 chuyên viên duyệt trực tiếp, không TP |
| **P3/P3.5 4-eyes** | 2 người khác nhau (bắt buộc ISO 27001) |
| **P4 mobile dashboard** | Web only |
| **Device** | BYOD, không MDM v1 |
| **Ngôn ngữ** | Tiếng Việt only v1 |
| **Quick mode** | Có (cho 13 nhóm TT 29 loại trừ — chụp 2 ảnh thay 4) |
| **Data residency** | AWS Singapore default; Plan B VN hosting (Section 8.8.1.b) chỉ trigger nếu sau go-live có yêu cầu chính thức |
| **Retention ảnh** | 30 ngày hot + 1 năm Glacier |
| **NDA cán bộ** | Có, OmiGroup template |
| **IP** | OmiGroup giữ + license vĩnh viễn cho Viện DD; dataset thuộc Viện DD |
| **Mô hình tài trợ** | A — trọn gói (~820–930tr dev + 296tr Year 1 vận hành) |

## 2.7. Cảnh báo pháp lý quan trọng (cập nhật 09/05/2026)

Trong quá trình research khung pháp lý cho Section 04, em phát hiện một **thay đổi cục diện** mà tài liệu phải phản ánh ngay:

| Thay đổi | Tác động cho OmiScan |
|---|---|
| **NĐ 37/2026/NĐ-CP** ban hành 23/01/2026, hiệu lực ngay, **thay thế NĐ 43/2017/NĐ-CP và NĐ 111/2021/NĐ-CP** | Mọi rule "format ghi nhãn" phải neo vào NĐ 37/2026, không phải NĐ 43 nữa. Có quy định chuyển tiếp: nhãn cũ in trước 23/01/2026 được dùng tối đa 02 năm (đến 22/01/2028) |
| **Luật CLSPHH sửa đổi 78/2025/QH15** hiệu lực 01/01/2026 — luật hóa "hộ chiếu số sản phẩm" và "nhãn điện tử" | OmiScan v2+ có thể mở rộng đọc QR/Datamatrix nhãn điện tử |
| **Luật Quảng cáo sửa đổi 75/2025/QH15** hiệu lực 01/01/2026 — siết quảng cáo TPCN | Rule engine cần phát hiện claim quảng cáo trá hình trên nhãn TPCN |
| **TT 29/2023/TT-BYT** lộ trình bắt buộc đã chính thức kích hoạt 01/01/2026 | Đây là trục chính rule engine cho dinh dưỡng — đúng thời điểm OmiScan phục vụ |

**Hành động đã thực hiện**:
- Mọi tham chiếu NĐ 43/2017 và NĐ 111/2021 trong tài liệu đã được thay bằng NĐ 37/2026
- Section 04 (Khung pháp lý) đã có DRAFT do agent tổng hợp — cần Anh + Viện DD review chuyên môn
- Anh hứa sẽ cấp văn bản gốc — em sẽ extract Phụ lục I của NĐ 37/2026 và Phụ lục TT 29/2023 (2 tài liệu kỹ thuật critical chưa có toàn văn)

## 2.8. Những điểm chưa chốt — chuyển sang Section 14

Các vấn đề còn mở sau lần thảo luận này được tracking trong [14_open_questions.md](14_open_questions.md). Một số nổi bật:

- Có cần hỗ trợ chế độ **chụp nhanh nhiều nhãn liên tiếp** (cán bộ đứng tại kệ siêu thị) hay luôn 1-nhãn-tại-một-thời-điểm?
- Sau khi cán bộ submit, ai duyệt? Có cần workflow 2 tầng (cán bộ → trưởng phòng) không?
- Báo cáo định kỳ cho lãnh đạo Viện DD theo template nào?
- Yêu cầu accessibility (TCVN 11689) đến mức nào?
