# WS1 — Quy trình tiếp nhận & xử lý hồ sơ học viên

> Cập nhật: 06/7/2026 · Thuộc [Kế hoạch giai đoạn 1](README.md) · Bản trực quan: [`WS1-quy-trinh-ho-so.html`](WS1-quy-trinh-ho-so.html)
>
> **Đây là màn hình đầu tiên cần dựng.** Spec mô tả luồng nghiệp vụ, sơ đồ trạng thái hồ sơ và các trường dữ liệu ở bước tiếp nhận.
>
> ⚠️ Bộ giấy tờ & mẫu đơn cần đối chiếu **NĐ 94/2026 + TT 17/2026-BXD** và **quy trình thực tế của công ty Vĩnh An** (việc #2/#3 trong [danh sách chuẩn bị](cong-viec-chuan-bi-2026-07-05.md)) trước khi khóa spec.

---

## 1. Ai tiếp nhận đầu tiên

| Quy mô trung tâm | Cơ cấu | Điểm tiếp nhận đầu tiên |
|---|---|---|
| Vừa / nhỏ | Gộp **Phòng Tuyển sinh – Đào tạo** (một cửa) | Cùng một phòng |
| Lớn | Tách **Tuyển sinh (tư vấn)** ↔ **Đào tạo / Giáo vụ** | Phòng Tuyển sinh nhận → chuyển Giáo vụ xử lý |

→ **Điểm chạm đầu tiên gần như luôn là Phòng Tuyển sinh**, sau đó bàn giao **Phòng Đào tạo/Giáo vụ** để thẩm định & xếp khóa. Cơ cấu chính xác chờ **danh sách phòng ban của Vĩnh An**.

---

## 2. Quy trình phổ biến (học lái ô tô)

| Bước | Phòng/bộ phận | Việc | Kết quả |
|---|---|---|---|
| 1 | Tuyển sinh / CTV | Tư vấn, chốt hạng (B/C/D…), báo học phí | Lead → đồng ý ghi danh |
| 2 | Tuyển sinh | **Tiếp nhận hồ sơ**, kiểm tra hợp lệ, đối chiếu bản gốc | Hồ sơ *tiếp nhận* |
| 3 | (liên kết y tế) | Khám sức khỏe nếu chưa có | Giấy khám SK hợp lệ |
| 4 | Kế toán / thu ngân | Thu học phí **đợt 1**, phiếu thu / hóa đơn điện tử | Ghi nhận công nợ đợt |
| 5 | Tuyển sinh / Giáo vụ | **Nhập liệu → tạo mã học viên** trong phần mềm | Hồ sơ số hóa |
| 6 | Đào tạo / Giáo vụ | Xếp khóa/lớp, phân hạng, lập danh sách | Hồ sơ *xếp khóa* |
| 7 | Đào tạo | **Báo cáo/đăng ký kế hoạch đào tạo với Sở Xây dựng** | Danh sách khóa đã báo Sở |
| 8 | Đào tạo | Phân công GV–xe, khai báo DAT, khai giảng | Bắt đầu học |

---

## 3. Sơ đồ trạng thái hồ sơ (state machine)

```
[Mới/Tư vấn]
     │ nhận hồ sơ
     ▼
[Tiếp nhận] ──thiếu giấy tờ──▶ [Chờ bổ sung] ──bổ sung đủ──▶ [Tiếp nhận]
     │ đủ giấy tờ + đối chiếu gốc
     ▼
[Hợp lệ]
     │ thu học phí đợt 1
     ▼
[Đã thu đợt 1]
     │ xếp khóa/hạng
     ▼
[Xếp khóa]
     │ đăng ký kế hoạch với Sở XD
     ▼
[Đã báo Sở] ──phân GV/xe + DAT──▶ [Đang học] ─ ─ ─▶ (WS: sát hạch)

  Nhánh dừng bất kỳ lúc nào: [Hủy] (kèm lý do) · [Hoàn/ chuyển khóa]
```

**Nguyên tắc:** mỗi lần chuyển trạng thái ghi **audit log bất biến** (ai, khi nào, từ trạng thái nào → nào, lý do). Dữ liệu hồ sơ là căn cứ pháp lý xét hoàn thành khóa học.

---

## 4. Trường dữ liệu ở bước tiếp nhận (bước 2 & 5)

### 4.1 Thông tin học viên
| Trường | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| Họ tên | text | ✔ | |
| Ngày sinh | date | ✔ | Kiểm tra đủ tuổi theo hạng |
| Giới tính | enum | ✔ | |
| Số CCCD | text | ✔ | Định danh chính, chống trùng |
| Ngày cấp / nơi cấp CCCD | date/text | ✔ | |
| Địa chỉ thường trú | text | ✔ | |
| SĐT | text | ✔ | Dùng cho Zalo OA / app học viên |
| Email | text | | |
| Ảnh chân dung | file | ✔ | Ảnh thẻ, dùng in hồ sơ + đối chiếu khuôn mặt |

### 4.2 Thông tin khóa học
| Trường | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| Hạng GPLX đăng ký | enum | ✔ | Quyết định checklist giấy tờ + km/giờ (regulation-config) |
| Loại: học mới / nâng hạng | enum | ✔ | Nâng hạng cần giấy tờ bổ sung |
| Khóa dự kiến | ref | | Có thể gán sau ở bước 6 |
| Nguồn tuyển sinh / CTV | ref | | Tính hoa hồng (WS6 CRM) |
| Học phí thỏa thuận | money | ✔ | Nền cho công nợ theo đợt |

### 4.3 Checklist giấy tờ (động theo hạng — regulation-config)
| Giấy tờ | Học mới B | Nâng hạng | Ghi chú |
|---|---|---|---|
| Đơn đăng ký học & sát hạch (mẫu) | ✔ | ✔ | Mẫu theo TT hiện hành |
| CCCD (bản sao / đối chiếu gốc) | ✔ | ✔ | |
| Giấy khám sức khỏe | ✔ | ✔ | Cơ sở y tế đủ điều kiện; có hạn dùng |
| Ảnh thẻ (3x4 / 4x6) | ✔ | ✔ | Số lượng theo quy định |
| GPLX hiện có | — | ✔ | |
| Giấy tờ chứng minh thời gian/số km lái | — | ✔ | Điều kiện nâng hạng |

> Checklist là **dữ liệu cấu hình**, không hard-code — đổi theo thông tư trong vài ngày. Thiếu mục nào → hồ sơ tự chuyển *Chờ bổ sung* và cảnh báo đúng mục đó.

---

## 5. Yêu cầu phần mềm phải có (Definition of Done màn hình tiếp nhận)

- [ ] Form tiếp nhận nhập đủ trường mục 4, validate CCCD trùng, đủ tuổi theo hạng.
- [ ] Upload & lưu ảnh + bản scan giấy tờ, gắn vào hồ sơ.
- [ ] Checklist giấy tờ động theo hạng (đọc từ regulation-config); thiếu → *Chờ bổ sung*.
- [ ] Chuyển trạng thái theo state machine mục 3, mỗi bước ghi **audit log**.
- [ ] Bàn giao giữa phòng (Tuyển sinh → Giáo vụ → Kế toán): ghi ai nhận, khi nào.
- [ ] Tạo mã học viên duy nhất theo tenant.
- [ ] Gắn công nợ đợt 1 (liên kết WS6 kế toán).
- [ ] Tìm kiếm/lọc hồ sơ theo trạng thái, hạng, khóa, phòng phụ trách.

---

## 6. Việc phải xác nhận trước khi khóa spec
1. Cơ cấu phòng ban thực tế của Vĩnh An (tách/gộp Tuyển sinh–Đào tạo)?
2. Bộ giấy tờ + mẫu đơn chính xác theo NĐ 94/2026 & TT 17/2026-BXD hiện hành.
3. Vĩnh An hiện thu học phí theo mấy đợt, mốc nào? → cấu hình công nợ.
4. Mã học viên hiện dùng quy tắc gì? → giữ tương thích khi migrate (WS3).
</content>
