BN walk-in — Quy trình từ đến quầy đến ra về

Bệnh nhân đi bộ vào phòng khám không có lịch hẹn trước. Có thể là BN mới hoặc BN cũ tìm khám cấp cứu. Lễ tân phải lập hồ sơ nhanh, gửi cho bác sĩ khám, thu tiền, in phiếu thu, và (nếu BN yêu cầu) phát hành e-invoice — tất cả xong trong một lần ghé.

Giao diện modal check-in walk-in
Luồng walk-in: quầy lập BN → check-in → tạo visit → BS khám → thu tiền → in receipt → e-invoice

Bối cảnh

Sáng thứ Ba, 8:30. BN gọi chuông ngoài. Lễ tân mở cửa, "Chào, lần đầu tới chứ?" BN gật đầu — chưa từng khám ở đây. Quầy không có lịch hẹn sẵn; phòng khám đang có 1 bác sĩ rảnh. BN nói chảy máu nướu, cần khám ngay.

Lễ tân cần: tạo BN mới → ghi vào reception queue → bác sĩ khám trong 20 phút → ghi diagnosis → thu tiền (cash hay card) → in phiếu thu và/hoặc e-invoice nếu BN yêu cầu.

Diễn viên & quyền cần

Vai tròQuyềnHành động
Lễ tânpatient.create, reception.manage, payment.manage, document.printLập BN, check-in walk-in, ghi nhận thanh toán, in phiếu
Bác sĩvisit.read, visit.manage, diagnosis.manageMở visit, khám, ghi diagnosis
Kế toán (tuỳ chọn)payment.manage, document.exportXem lịch sử thanh toán, xuất hóa đơn

Quy trình từng bước

  1. Lễ tân tạo bệnh nhân mới. Từ Reception board hoặc /patients → "Tạo bệnh nhân". Nhập: họ tên, ngày sinh, giới tính, số điện thoại. Hệ thống cảnh báo nếu SĐT trùng; bạn chọn "Tạo bệnh nhân mới" (nếu người khác cùng SĐT) hoặc "Mở BN cũ" (nếu chính người đó).
  2. Lễ tân check-in walk-in ngay. Từ Reception Board → nhấn "Walk-in" hoặc "Check-in" với BN vừa tạo. Visit được tạo tự động với status ARRIVED, ngày tạo là hôm nay.
  3. Gán bác sĩ có sẵn. Lễ tân hoặc bác sĩ gán bác sĩ vào visit; không bắt buộc nhưng giúp doctor workspace tracking. Bác sĩ có thể accept visit từ queue của họ.
  4. Bác sĩ start-consultation. Bác sĩ mở reception queue hoặc Patient 360 → nhấn "Bắt đầu khám". Visit status chuyển IN_PROGRESS, appointment (nếu không có sẵn) không liên quan.
  5. Bác sĩ khám & ghi diagnosis. Bác sĩ ghi chẩn đoán (tooth chart, notes, services). Nếu cần, bác sĩ lập treatment plan (DRAFT) và in phiếu tư vấn cho BN xem.
  6. Bác sĩ đóng visit. Sau khám, bác sĩ nhấn "Hoàn tất khám" hoặc lễ tân nhấn từ queue. Visit status → COMPLETED.
  7. Lễ tân ghi nhận thanh toán. Mở Patient 360 → tab "Tài chính" → "Ghi nhận thanh toán". Nhập số tiền (dựa trên dịch vụ khám hoặc charge), phương thức (cash/card/Momo). Hệ thống tạo phiếu thu (RECEIPT) tự động.
  8. In phiếu thu. Nhấn "In" trên phiếu thu. Lễ tân có thể gửi PDF cho BN qua email hoặc Zalo nếu cấu hình sẵn.
  9. E-invoice (nếu BN yêu cầu). Nếu phòng khám bật e-invoice, lễ tân chọn "Phát hành e-invoice" từ payment detail hoặc Patient 360. Chọn provider (VNPT, Viettel, MISA…), confirm. Số HĐ được cấp tự động; BN nhận link tra cứu HĐ qua SMS/email.

Kết quả mong đợi

  • Patient 360 của BN: Lịch sử khám hôm nay xuất hiện, diagnosis ghi rõ, payment + receipt trong timeline.
  • Receipt: In ra hoặc gửi qua Zalo — BN có xác nhận thanh toán.
  • E-invoice: Nếu phát hành, BN nhận email với số hoá đơn, link tra cứu HĐ công cộng.
  • Audit log: Toàn bộ hành động (tạo BN, check-in, payment, e-invoice issue) ghi trong hệ thống.
  • Reception queue: BN trong lane "Completed" với status "Done".

Khi nào hỏng & cách xử lý

Triệu chứngNguyên nhânKhôi phục
BN tìm không thấy trong tạo mới (bị trùng SĐT)Lễ tân không chú ý cảnh báo SĐT, tạo thêm BN giống tênXóa BN mới vừa tạo (chưa khám) hoặc merge nếu đã khám. Menu Patient → Merge into [BN cũ].
Bác sĩ không thấy visit trong queueVisit chưa được assign doctor hoặc visit tạo ở branch khác (scope)Kiểm tra active branch doctor workspace; lễ tân gán bác sĩ. Refresh queue.
Thanh toán ghi sai số tiềnLễ tân nhập nhầm hoặc bệnh nhân truyền tác số lớn/nhỏMở payment → "Hủy thanh toán" (cần quyền payment.manage), xác nhận. Ghi lại số tiền đúng. Audit log ghi dấu "canceled".
E-invoice không phát hành (error)Provider offline, tài khoản nợ quản lý, hoặc số HĐ đã xài hếtThử lại sau 1 phút. Nếu lỗi vẫn, liên hệ admin để kiểm tra cấu hình provider hoặc số sequence HĐ trong "E-invoice settings".
BN yêu cầu không in e-invoice (chỉ receipt)Lễ tân hiểu nhầm hoặc bệnh nhân không muốnNhấn "Bỏ qua e-invoice" hoặc không phát hành. Receipt vẫn in bình thường. Không bắt buộc e-invoice.
Visit không đóng được (lỗi modal)Hệ thống lỗi khi close visit (hếtTimeout, mất kết nối)Đóng modal, refresh patient detail. Thử lại "Đóng khám" từ visit card. Nếu vẫn lỗi, contact support.

Dấu vết để lại (audit & branch ownership)

Audit log ghi: "Patient created", "Visit created (ARRIVED)", "Consultation started (IN_PROGRESS)", "Visit closed (COMPLETED)", "Payment recorded", "Receipt printed", "E-invoice issued". Toàn bộ hành động có timestamp, người thực hiện, chi nhánh.

Branch ownership (CI-01)

Visit branch được xác định từ chi nhánh quầy lễ tân check-in (active branch khi check-in walk-in). Nếu lễ tân chuyển active branch sau check-in, visit branch vẫn không đổi — chi nhánh của bác sĩ khám là chủ sở hữu.

Không fake zero (CI-02)

Nếu lễ tân không có payment.read, trường thanh toán sẽ hiển thị "Dữ liệu bị ẩn do thiếu quyền" — không bao giờ là 0 ₫. Điều này tránh nhầm lẫn BN không trả tiền.