Incident Management — Tổng quan
Incident Management là phần ghi nhận và quản trị các sự việc cần báo cáo tại site: Incident, Accident, và Illness. Staff tạo báo cáo, manager review/approve, gửi report cho customer, customer xem và acknowledge/sign khi cần.
Hình dung nhanh
Một sự việc xảy ra trong lớp hoặc tại site:
- Staff tạo draft incident (từ admin hoặc Onsite App trên tablet/mobile) với ngày giờ, site, course, mức độ nghiêm trọng, mô tả và hành động đã làm.
- Staff thêm affected attendees và thông tin riêng cho từng attendee.
- Staff submit; người có full-control review, yêu cầu sửa, hoặc approve.
- Sau khi approve, hệ thống có thể generate PDF report và gửi cho customer contact.
- Customer mở portal để xem report, acknowledge hoặc ký xác nhận.
- Toàn bộ lifecycle được ghi history và có notification history để audit.
Ba loại báo cáo
| Loại | FormTypeId | Khi nào dùng |
|---|---|---|
| Incident | 101 | Sự việc chung: hành vi, mất attendee, vấn đề headcount, an toàn, xung đột, tài sản... |
| Accident | 102 | Tai nạn / chấn thương cần ghi nhận. |
| Illness | 103 | Sức khỏe: thuốc, dị ứng, sốt, nôn, tình huống y tế khác. |
Các "vật thể" chính
| Tên | Một câu |
|---|---|
| IncidentFormInstance | Aggregate gốc: một FormInstance có FormCategoryId = IncidentManagement. |
| Incident attendee | Attendee bị ảnh hưởng, kèm role, ghi chú nội bộ, ghi chú customer-visible, body marker. |
| Attachment | File nội bộ hoặc file gắn với attendee, lưu Blob và record SQL. |
| Generated PDF | Report PDF sinh từ Reporting service, lưu Blob, có thể gắn vào acknowledgement. |
| Acknowledgement | Bản ghi contact/customer cần nhận thông báo, acknowledge hoặc sign. |
| NotificationJob | Job bất đồng bộ khi submit incident hoặc send report cho customer. |
| Description template | Mẫu Description mặc định mỗi loại; settings (full-control) chỉnh, tự prefill khi tạo/edit. |
| Internal Notes | Field internal-only dưới Action Taken; staff thấy, customer không. |
Ai dùng domain này?
| Vai trò | Việc chính |
|---|---|
| Staff / creator | Tạo draft, cập nhật, thêm attendee/attachment, submit. |
| Manager / full-control | Review, request changes, approve, send to customer, close/reopen/cancel. |
| Customer contact | Xem incident đã gửi, tải report, acknowledge hoặc sign. |
| Support / vận hành | Tra history, notification history, file/PDF, quyền truy cập. |
Bạn nên đọc theo thứ tự
- Góc nhìn end-user — staff, manager và customer thao tác gì.
- Khái niệm cốt lõi — status, permission, attendee, acknowledgement, PDF.
- Kiến trúc & dữ liệu — aggregate trên FormInstance, SQL/Blob/Notification.
- Luồng xử lý trong code — UI/API/service/worker/customer portal.
- Dữ liệu & bảng đọc/ghi — bảng chính, dependency đọc/Blob/Reporting.
- Case thường gặp — quyền, status, send-to-customer, acknowledgement.