> ## Documentation Index
> Fetch the complete documentation index at: https://tomotek.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quản lý Chip định danh

> Quản lý toàn bộ vòng đời chip định danh từ nhập kho, ký gửi đến Clinic, cho đến khi được kích hoạt trên thú cưng.

Module này định nghĩa hệ thống quản lý vòng đời chip RFID từ lúc nhập kho từ Nhà máy, lưu kho tại Tomotek, phân phối ký gửi tới Clinic, đến khi chip được kích hoạt trên thú cưng.

## Mục tiêu chính:

* Quản lý từng chip riêng lẻ theo `Serial Number` duy nhất
* Theo dõi chính xác trạng thái của từng chip trong suốt vòng đời
* Quản lý quy trình nhập kho, xuất kho ký gửi theo đợt
* Hỗ trợ quét barcode realtime tại kho
* Ghi log đầy đủ lịch sử di chuyển và trạng thái của từng chip

## Workflow Diagram

```mermaid theme={null}
flowchart TD
    A[Available] -->|Quét xuất kho| B[Sending-to-Clinic]
    B -->|Clinic quét nhập| C[In-Clinic]
    
    C -->|Bác sĩ tiêm| D[Activated]
    C -->|Clinic gói gửi trả| E[Returning]
    
    E -->|TMT nhận, kiểm tra TỐT| A
    E -->|TMT kiểm tra HỎNG| F[Problem by Clinic]
    
    B -->|Shipper làm mất/hỏng| I[Problem by TMT]
    C -->|Clinic làm mất/hỏng| F
    A -->|Kho TMT làm mất/hỏng| I
    A -->|Hỏng từ kho/nhà máy| K[Problem by Factory]
```

***

## Vòng đời trạng thái chip

Mỗi chip di chuyển qua các trạng thái sau trong suốt vòng đời của nó:

| Trạng thái | Ý nghĩa | Vai trò quản lý |
| - | - | - |
| `Available` | Chip có sẵn tại kho TMT | Admin / Warehouse |
| `Sending-to-Clinic` | Đang trên đường gửi đến Clinic | Admin / Warehouse |
| `In-Clinic` | Đã đến Clinic, chưa sử dụng | Clinic |
| `Activated` | Đã cấy cho thú cưng | Clinic |
| `Returning` | Đang trả về kho TMT | Clinic |
| `Problem by Clinic` | Sự cố phát sinh tại Clinic | Admin |
| `Problem by TMT` | Sự cố phát sinh tại TMT hoặc do Đơn vị vận chuyển (Shipper) làm mất/hỏng | Admin |
| `Problem by Factory` | Lỗi từ nhà máy | Admin |

> [!WARNING]
>
> Chip ở trạng thái `Problem` cần Admin xử lý thủ công trước khi có thể tiếp
> tục sử dụng hoặc trả về kho. Không tự ý sử dụng chip đang ở trạng thái này.

***

## Trạng thái đơn xuất ký gửi

Mỗi Clinic trong một đợt xuất có một **đơn xuất** riêng với trạng thái độc lập:

| Trạng thái | Ý nghĩa |
| - | - |
| `Pending Scan` | Chưa bắt đầu quét barcode |
| `Scanning` | Đang trong quá trình quét chip |
| `Ready to Ship` | Đã quét đủ số lượng, chờ giao cho Shipper |
| `Delivering` | Đã giao cho Shipper, đang trên đường đến Clinic |
| `Partially Received` | Clinic quét barcode nhận nhưng báo thiếu/dư |
| `Completed` | Clinic quét barcode nhận đủ số lượng |
| `Cancelled` | Đơn xuất bị hủy |

***

## Trạng thái đơn trả hàng (Return Order)

Khi Clinic đóng gói chip trả về kho TMT, một **đơn trả hàng** sẽ được tạo:

| Trạng thái | Ý nghĩa |
| - | - |
| `Pending` | Clinic tạo yêu cầu trả, chờ bàn giao cho Shipper |
| `Returning` | Đã giao cho Shipper, đang trên đường về TMT |
| `Completed` | TMT đã nhận và quét mã đối soát xong |
| `Cancelled` | Clinic đổi ý không trả nữa |

***

***

## Thuật ngữ quan trọng

| Thuật ngữ | Giải thích |
| - | - |
| **Đợt xuất (Export Round)** | Tập hợp nhiều đơn xuất được Admin tạo cùng lúc, có thể gửi đến nhiều clinic khác nhau |
| **Đơn xuất ký gửi (Export Order)** | Yêu cầu xuất chip cho **một Clinic** cụ thể trong một đợt xuất |
| **Ký gửi (Consignment)** | Mô hình gửi chip đến Clinic nhưng chip vẫn thuộc sở hữu của TMT cho đến khi được kích hoạt |
| **SN No. (Serial Number)** | Mã định danh duy nhất cho mỗi chip, được in trên barcode và dùng để tra cứu trong hệ thống |
| **Push** | Admin chủ động xuất chip cho Clinic theo kế hoạch, không cần Clinic yêu cầu trước |
| **Pull** | Clinic tạo yêu cầu nhận chip, Admin xử lý và xuất theo nhu cầu thực tế |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.