Công đoạn con (Sub-steps)

Công đoạn con (Sub-steps) là những bước nhỏ được thực hiện trong một stage của treatment plan. Mỗi công đoạn con có tên, mã, và thuộc một nhóm (ví dụ: "Tiền phẫu", "Thực hiện", "Hậu phẫu"). Bác sĩ dùng công đoạn con như một checklist để theo dõi tiến độ và ghi nhận từng bước hoàn thành.

Giao diện treatment plan stage detail
Treatment plan stage với checklist công đoạn con: "Gây tê", "Khoan chuẩn bị", "Dán chân gốc" — mỗi dòng có checkbox ghi nhận + timestamp

Tại sao dùng công đoạn con

  • Tiêu chuẩn hoá quy trình — mỗi loại dịch vụ (ví dụ: mào sứ) có những bước chuẩn định trước.
  • Kiểm soát chất lượng — nhân viên tay trái có thể ghi nhận bác sĩ và thời gian mỗi bước, đảm bảo không bỏ sót gì.
  • Tính năng phòng chống — công đoạn con có thể dùng để tính chi phí nhân công, qua hoa, hay thưởng/ phạt.
  • Tính linh hoạt — stage có thể hoàn thành ngay cả khi chưa ghi nhận tất cả công đoạn con (không bắt buộc).

Cấu hình công đoạn con trong Settings

Bước 1 — Mở trang cấu hình

Vào /settings → Sub-steps (hoặc /admin/clinic/.../sub-steps) — bạn sẽ thấy trang 2 panel:

  • Panel trái: danh sách các nhóm (Nhóm công đoạn).
  • Panel phải: danh sách các công đoạn con — được lọc theo nhóm được chọn.
Settings Sub-steps page: left panel = groups (Tiền phẫu, Thực hiện, Hậu phẫu), right panel = sub-steps table with actions (create, edit, delete)
Settings Sub-steps page: left panel = groups (Tiền phẫu, Thực hiện, Hậu phẫu), right panel = sub-steps table with actions (create, edit, delete)

Quản lý nhóm (Groups)

Tạo nhóm mới

Trên panel trái, bấm + Tạo nhóm:

  • Tên nhóm: ví dụ "Tiền phẫu", "Thực hiện", "Hậu phẫu" (bắt buộc).
  • Mô tả (tùy chọn): mục đích của nhóm.

Bấm Lưu → nhóm được tạo.

Sửa nhóm

Bấm vào tên nhóm trong danh sách → form hiển thị. Chỉnh sửa tên / mô tả → Lưu.

Xoá nhóm

Bấm icon xoá (trái tim / dấu X) → hệ thống yêu cầu xác nhận. Xoá nhóm sẽ deactivate tất cả công đoạn con thuộc nhóm đó (chúng sẽ không còn gán được cho stage mới, nhưng vẫn hiển thị trong lịch sử).

Lưu ý

Công đoạn con không được xoá hoàn toàn (soft delete / deactivate). Nếu xoá nhóm, tất cả công đoạn con trong nhóm đó sẽ chuyển trạng thái INACTIVE — vẫn có trong lịch sử, không thể gán mới.

Quản lý công đoạn con

Tạo công đoạn con

Trên panel phải (sau khi chọn một nhóm), bấm + Tạo công đoạn:

  • Tên: mô tả bước (ví dụ: "Gây tê"), bắt buộc.
  • (code): tên gọi ngắn (ví dụ: "GAY_TE"), tùy chọn — hữu ích cho API, báo cáo.
  • Nhóm: sự lựa chọn nhóm (mặc định = nhóm hiện tại).
  • Mô tả (tùy chọn): hướng dẫn chi tiết (ví dụ: "Gây tê bằng lidocain 2%").

Bấm Tạo → công đoạn con được thêm vào bảng.

Sửa công đoạn con

Bấm vào hàng công đoạn → dialog mở lên. Chỉnh sửa tên / mã / nhóm / mô tả → Lưu.

Xoá công đoạn con

Bấm icon xoá trên hàng → hệ thống yêu cầu xác nhận. Xoá công đoạn con sẽ deactivate nó (trạng thái = INACTIVE):

  • Công đoạn con INACTIVE không thể gán mới cho stage trong treatment plan.
  • Nhưng vẫn hiển thị trong history nếu stage nào đã có ghi nhận.
  • Danh sách công đoạn con có thể lọc để ẩn INACTIVE (tùy cấu hình UI).

Dùng công đoạn con trong treatment plan

Xem checklist công đoạn con

Mở treatment plan detail → chọn stage → nếu stage có công đoạn con template (được gắn từ service catalog), bạn sẽ thấy phần "Công đoạn con" — một checklist với các bước:

  • Checkbox: đánh dấu bước hoàn thành.
  • Tên công đoạn: mô tả (ví dụ: "Gây tê").
  • Bác sĩ + Thời gian: tự điền khi ghi nhận (doctor + timestamp).

Ghi nhận công đoạn con

Khi hoàn thành một bước, bác sĩ (hoặc phụ tá) bấm Ghi nhận / Mark as Done trên dòng công đoạn con:

  • Hệ thống tự điền doctor = bác sĩ hiện tại + timestamp = thời gian hiện tại.
  • Bác sĩ có thể chỉnh sửa doctor, timestamp, hoặc ghi chú nếu cần.
  • Cùng một công đoạn con có thể ghi nhận nhiều lần (ví dụ: gây tê lần 1, lần 2) — mỗi lần là một execution record riêng.
Ảnh minh hoạ
Stage detail: sub-step checklist showing "Gây tê" (doctor: Bác sĩ A, 14:30), "Khoan" (doctor: Bác sĩ B, 14:45), "Dán" (pending). [Ghi nhận] button on each row.

Thêm công đoạn con trực tiếp

Ngoài việc dùng template, bác sĩ có thể tạo công đoạn con ad hoc ngay trong treatment plan:

  • Bấm + Thêm bước (hoặc biểu tượng tương tự).
  • Nhập tên bước / ghi chú.
  • Chọn bác sĩ + thời gian.
  • Bấm Thêm → bước được ghi vào stage.

Các bước ad hoc này không tạo template chung — chỉ dùng cho stage này.

Công đoạn con & hoàn thành stage

Là công đoạn con bắt buộc?

Không. Công đoạn con là tùy chọn:

  • Stage có thể hoàn thành mà không ghi nhận tất cả công đoạn con.
  • Công đoạn con là checklist để kiểm soát chất lượng, không phải điều kiện bắt buộc.

Liên quan đến tính lương / chi phí

Doctor earning (lương bác sĩ) tính dựa trên doctor assigned trên stage, không phụ thuộc vào công đoạn con:

  • Khi stage hoàn thành, earning được tính cho bác sĩ chính (doctor assigned).
  • Công đoạn con chỉ là ghi chép để tracking — không ảnh hưởng đến lương.
  • Nếu muốn phân chia lương theo công đoạn con (phụ tá, thợ), đó là tính năng tương lai (chưa triển khai).
Lưu ý

Công đoạn con được ghi nhận độc lập với process (quá trình chung). Nếu stage có cả process và sub-step, bác sĩ cần ghi nhận riêng từng loại.

Quyền & phân quyền

QuyềnCho phép
treatment_plan.manageQuản lý công đoạn con settings (tạo/sửa/xoá group & sub-step)
treatment_plan.executeGhi nhận công đoạn con trong treatment plan
Lưu ý

Chỉ người có treatment_plan.manage (thường là bác sĩ chính/chủ phòng) mới vào được trang /settings/sub-steps để cấu hình.

Lưu ý & giới hạn

  • Tên công đoạn con phải độc nhất trong clinic (không trùng tên).
  • Xoá công đoạn con = deactivate, không xoá hoàn toàn. Lịch sử vẫn giữ.
  • Thay đổi nhóm của công đoạn con không ảnh hưởng stage đã tồn tại — chỉ ảnh hưởng stage mới.
  • Công đoạn con ad hoc không tạo template chung cho các stage khác.
  • Không có giới hạn số lần ghi nhận cùng công đoạn con trong một stage.

Ví dụ workflow

Scenario: Implant nhiều stage

  1. Bước chuẩn bị (Settings):
    • Tạo nhóm: "Tiền phẫu", "Cấy trụ", "Dán mão".
    • Trong nhóm "Tiền phẫu", tạo công đoạn con: "Gây tê", "Khoan chuẩn bị", "Làm sạch vết mổ".
    • Trong nhóm "Cấy trụ", tạo: "Khoan implant", "Tẩy nấu", "Cấy screw", "Khâu".
    • Gán công đoạn con này vào service "Implant" (qua service catalog / stage template).
  2. Ngày tạo plan (Doctor workspace):
    • Tạo treatment plan implant → tự sinh 3 stage (tiền phẫu, cấy, nắp).
    • Stage đầu tiên có template → hiển thị checklist công đoạn con "Gây tê", "Khoan", "Làm sạch".
  3. Ngày thực hiện (Doctor workspace):
    • Bác sĩ bấm "Bắt đầu làm stage" → stage → chọn stage đầu → thấy checklist.
    • Khi gây tê xong, bấm "Ghi nhận" trên dòng "Gây tê" → hệ thống ghi doctor + thời gian.
    • Tiếp tục khoan, làm sạch, ghi nhận từng bước.
    • Khi mọi bước xong (hoặc cần vội), bấm "Hoàn thành stage" → stage closed, earning tính, charge tạo.