Tổng quan
Duty Roster là hệ thống quản lý nhân sự và lịch trực được xây dựng cho chuỗi phòng khám y tế với 8 cơ sở và hơn 200 nhân viên, bao gồm bác sĩ, y tá, nhân viên lễ tân và kỹ thuật viên. Mỗi cơ sở hoạt động 7 ngày/tuần với 3 ca làm việc, đặt ra bài toán lập lịch cực kỳ phức tạp.
Hệ thống không chỉ tự động hóa việc xếp ca mà còn tích hợp chấm công qua QR code, quản lý đơn xin nghỉ phép, và giao tiếp với nhân viên qua Telegram bot — tất cả trong một nền tảng thống nhất giúp HR và quản lý vận hành chuỗi phòng khám hiệu quả hơn.
Thách thức
Lập lịch trực cho đội ngũ y tế phức tạp hơn nhiều so với các ngành khác do các ràng buộc chặt chẽ: bác sĩ chuyên khoa không thể xếp cùng ca nếu không đủ coverage, y tá phải có kinh nghiệm tối thiểu theo từng phòng ban, và luật lao động quy định số giờ làm tối đa mỗi tuần, số ngày nghỉ tối thiểu giữa các ca đêm.
Trước đây, trưởng phòng nhân sự mất 2 ngày mỗi tuần chỉ để lập lịch thủ công bằng bảng tính Excel, và vẫn thường xuyên có conflict khi nhân viên đổi ca hoặc xin nghỉ đột xuất.
Giải pháp
Ventra Rocket xây dựng scheduling engine sử dụng thuật toán constraint satisfaction (CSP) để tự động tạo lịch tối ưu trong vòng dưới 30 giây, đảm bảo tất cả ràng buộc được thỏa mãn đồng thời tối đa hóa sự hài lòng của nhân viên (dựa trên preference đã đăng ký).
Telegram bot tích hợp cho phép nhân viên xem lịch, gửi yêu cầu đổi ca, nhận thông báo lịch trực tuần tới và nhắc nhở ca sắp đến — tất cả trong ứng dụng nhắn tin quen thuộc mà không cần cài thêm app.
Tính năng nổi bật
- Auto-scheduling Engine: Tự động tạo lịch 2 tuần tối ưu dưới 30 giây, có thể điều chỉnh thủ công và re-optimize khi có thay đổi.
- Telegram Bot Integration: Nhân viên nhận thông báo, xem lịch, gửi yêu cầu đổi ca và nghỉ phép ngay trong Telegram — tỷ lệ phản hồi tăng 4 lần so với email.
- QR Code Attendance: Chấm công bằng QR code cá nhân tại máy tablet đặt tại cửa mỗi cơ sở, dữ liệu đồng bộ real-time vào hệ thống.
- Leave Management: Quy trình phê duyệt nghỉ phép tự động với kiểm tra coverage trước khi phê duyệt — không còn tình trạng thiếu người do nghỉ phép chồng chéo.
- Payroll Export: Xuất dữ liệu chấm công và tăng ca tự động sang định dạng phần mềm kế toán, loại bỏ nhập liệu thủ công cuối tháng.
Kết quả
Thời gian lập lịch giảm từ 2 ngày/tuần xuống còn 2 giờ/tuần — giảm 80%. Conflict lịch trực giảm 95% nhờ engine tự động kiểm tra tất cả ràng buộc trước khi publish. Nhân viên hài lòng hơn vì lịch được công bố sớm hơn (thứ Hai thay vì thứ Sáu) và có thể xem trên điện thoại bất cứ lúc nào.
Sai sót chấm công giảm xuống gần bằng 0, tiết kiệm mỗi tháng trung bình 15 giờ HR dành cho xử lý khiếu nại chấm công. Tích hợp payroll export tiết kiệm thêm 8 giờ nhập liệu cuối tháng.
Công nghệ sử dụng
React với TypeScript cho frontend quản lý lịch trực phức tạp — khả năng render calendar view và drag-and-drop scheduling trực quan. Node.js với Express xử lý API và scheduling engine với hiệu năng cao. MongoDB lưu trữ dữ liệu lịch trực linh hoạt với schema document phù hợp với cấu trúc dữ liệu phân cấp (cơ sở → phòng → nhân viên → ca). Docker đảm bảo deployment nhất quán qua 8 cơ sở với cấu hình môi trường khác nhau.