Kịch bản demo 12 phút, tài khoản demo, dữ liệu có sẵn và 50 test case nghiệm thu.
Đăng nhập bằng số điện thoại và mã OTP 6 số. Môi trường thử chưa nối cổng SMS nên mã hiện thẳng trên màn hình và được điền sẵn — bấm Xác thực là vào.
| Số điện thoại | Tên | Vai | Ghi chú |
|---|---|---|---|
| Đang tải… | |||
Mỗi bước đổi vai đăng nhập. Mở sẵn hai trình duyệt (một thường, một ẩn danh) để không phải đăng xuất giữa chừng.
Bệnh nhân An · /vi/previsit
Chọn Bệnh viện Đa khoa Demo → Khoa Niệu. Dừng ở danh sách dấu hiệu để dựng bước sau.
“Bệnh nhân điền phiếu này ở nhà, trước khi xếp hàng. Đây là chỗ hệ thống có cơ hội can thiệp sớm nhất.”
Bệnh nhân An · /vi/previsit
Tick “Đau ngực dữ dội”, điền lý do khám và mô tả rồi gửi. Hệ thống chặn luồng: không có gợi ý nào, chỉ có hướng dẫn đi cấp cứu.
“Khi có dấu hiệu nguy hiểm, hệ thống không gợi ý xét nghiệm gì cả — nó dừng lại và đẩy người bệnh tới cấp cứu.”
Bệnh nhân An · /vi/previsit
Phiếu mới: Khoa Niệu, lý do “Tiểu buốt 3 ngày”, mô tả đủ dài, tick “Tiểu buốt, tiểu rắt” và “Đau hông lưng”.
Bệnh nhân An · /vi/previsit/<mã>
Danh mục lấy từ phác đồ đã được trưởng khoa ký, kèm ước tính chi phí và nhãn bảo hiểm y tế cho từng mục.
“Danh mục này không phải máy tự nghĩ ra — nó là phác đồ của chính khoa, có chữ ký.”
Trưởng khoa Niệu · /vi/previsit-review
Màn hình tách rõ hai khối: gợi ý của máy ở trên, chỉ định của bác sĩ ở dưới. Sửa danh mục, ghi chú, rồi Ký.
“Máy đề xuất, bác sĩ quyết. Chữ ký là thứ biến một gợi ý thành chỉ định.”
Bệnh nhân An · /vi/previsit/<mã>
Tải lại trang: chỉ định đã ký hiện ra kèm tên bác sĩ và thời điểm ký, có nút Tạo đơn.
Bệnh nhân An · /vi/cls-orders/<mã>
Có lane ưu tiên dành riêng cho người đã khai phiếu trước và lane thường. Chọn một khung để giữ chỗ.
“Lane ưu tiên là làn dành riêng, không phải lời hứa chen hàng — thứ tự hàng đợi vẫn do bệnh viện điều phối.”
Quản trị bệnh viện · /vi/check-in
Dán nội dung mã QR (dạng HA-CLS:<mã>) vào ô tra cứu. Kết quả trả về đúng hai thứ: có hẹn hợp lệ hay không, và mấy giờ.
“Quầy tiếp đón cần biết người này có hẹn lúc mấy giờ. Họ không cần biết bác sĩ chỉ định xét nghiệm gì.”
Quản trị bệnh viện · /vi/lis
Dán thông điệp HL7 mẫu → hệ thống phân tích, gắn vào hồ sơ theo số điện thoại, và tự nối kết quả về đúng dòng của đơn.
Bệnh nhân An · /vi/cls-orders/<mã>
Dòng xét nghiệm đã có kết quả gắn vào: từ phiếu khai ở nhà tới kết quả trong tay bệnh nhân, không rời hệ thống lần nào.
Tất cả nằm dưới một bệnh viện: Bệnh viện Đa khoa Demo, đã xác minh, đã bật quyền chỉ định trước khám. Ba khoa (Niệu · Tim mạch · Chẩn đoán hình ảnh — khoa thứ ba chưa có trưởng khoa). Bốn phác đồ: ba bản đã ký, một bản nháp chờ ký. Ba luật sàng lọc: hai luật đỏ (đau ngực dữ dội, khó thở nặng — chặn luồng) và một luật chỉ điều hướng (sốt cao trên 3 ngày). Hai mươi khung giờ trải 5 ngày tới, xen kẽ lane ưu tiên (3 chỗ) và lane thường (5 chỗ).
Hai công tắc theo cơ sở, độc lập nhau
Quyền chỉ định trước khám đang BẬT — tắt thì toàn bộ mạch trả lỗi INDICATION_001. Nền tảng thu tiền hộ đang TẮT — bệnh viện tự thu, nên luồng thanh toán QR chưa xuất hiện trong demo này. Đó là đúng cấu hình, không phải thiếu tính năng.
Ba loại, và loại đầu quan trọng nhất: Cổng là những ca mà kết quả đúng là bị từ chối — nếu chúng “chạy được” thì đó là lỗi nghiêm trọng. Luồng là đường nghiệp vụ chính. Biên là tình huống rìa. Bấm ô bên phải mỗi ca để đánh dấu đạt → không đạt → bỏ đánh dấu; kết quả lưu trong trình duyệt này.
Kỳ vọng: Hiện khối “Tài khoản demo” với 7 dòng, mỗi dòng có số điện thoại, tên, vai và gợi ý (ví dụ “Trưởng Khoa Niệu”).
Kỳ vọng: Ô số điện thoại tự điền; mã OTP hiện trong khối đỏ và điền sẵn; vào /vi/dashboard.
Kỳ vọng: Bác sĩ vào /vi/doctor-dashboard; quản trị bệnh viện vào /vi/clinic-dashboard. Menu khác nhau theo vai.
Kỳ vọng: Chuyển sang màn đăng ký, không phải báo lỗi. Số được chuẩn hoá về dạng +84…
Kỳ vọng: Lần thứ 6 bị chặn với thông báo thử lại sau 15 phút. Giới hạn tính theo địa chỉ mạng, nên máy dùng chung Wi-Fi văn phòng dùng chung hạn mức.
Kỳ vọng: Danh sách khoa hiện ra: Khoa Niệu, Khoa Tim mạch, Chẩn đoán hình ảnh.
Kỳ vọng: Nút gửi bị khoá. Không có cách nào gửi phiếu thiếu lý do khám hoặc mô tả quá ngắn.
Kỳ vọng: Nhận phiếu, chuyển sang trang chi tiết, trạng thái cho phép xem gợi ý.
Kỳ vọng: Phiếu bị chặn: hiện hướng dẫn đi cấp cứu. KHÔNG có mục gợi ý nào, kể cả danh sách rỗng.
Kỳ vọng: Không đường nào dẫn tới gợi ý hay chỉ định. Trạng thái phiếu giữ nguyên là bị chặn.
Kỳ vọng: Phiếu được nhận, luồng đi tiếp bình thường. Phân biệt rõ “chặn” với “khuyên đi khám”.
Kỳ vọng: Danh sách phiếu đã gửi của chính mình, sắp theo thời gian, kèm trạng thái từng phiếu.
Kỳ vọng: Hiện đúng 2 mục: Tổng phân tích nước tiểu (có bảo hiểm) và Siêu âm bụng (không). Mỗi mục có ước tính chi phí.
Kỳ vọng: Có câu nói rõ đây chưa phải chỉ định và cần bác sĩ quyết. Không chỗ nào dùng chữ “chẩn đoán”, không chỗ nào dùng chữ “AI”.
Kỳ vọng: Trả về “chưa có gợi ý” vì phác đồ tương ứng còn ở bản nháp. Câu chữ phải điều hướng tới bác sĩ, không được đọc thành “bạn không cần xét nghiệm gì”.
Kỳ vọng: Có danh mục, nhưng không có đoạn diễn giải — tài khoản này chưa đồng ý cho xử lý dữ liệu xuyên biên giới. Danh mục không đổi mục nào so với An.
Kỳ vọng: Ra danh mục của khoa Tim (điện tâm đồ, siêu âm tim), không lẫn danh mục của Khoa Niệu.
Kỳ vọng: Thấy các phiếu gửi tới Khoa Niệu, kể cả phiếu của cả hai bệnh nhân.
Kỳ vọng: KHÔNG thấy phiếu của Khoa Niệu. Mở thẳng bằng đường dẫn phiếu Khoa Niệu cũng bị từ chối.
Kỳ vọng: Hai khối tách bạch: gợi ý của máy (chỉ đọc) và chỉ định của bác sĩ (sửa được).
Kỳ vọng: Lưu được, chưa có chữ ký. Mở lại vẫn còn nguyên nội dung vừa sửa.
Kỳ vọng: Chuyển sang đã ký, hiện tên bác sĩ và thời điểm ký. Sau khi ký, các ô nội dung khoá lại.
Kỳ vọng: KHÔNG ký được. Quản trị hành chính và trách nhiệm lâm sàng là hai thứ khác nhau — ranh giới cố ý, không phải thiếu quyền do cấu hình.
Kỳ vọng: Sinh bản mới chờ ký; bản cũ chuyển sang đã sửa đổi nhưng vẫn giữ chữ ký. Đơn đã tạo từ bản cũ không mất hiệu lực.
Kỳ vọng: Tạo được đơn, chuyển sang /vi/cls-orders/<mã> với đủ danh mục và tổng tiền tự trả.
Kỳ vọng: KHÔNG tạo được. Ràng buộc nằm ở tầng cơ sở dữ liệu, không chỉ ở giao diện.
Kỳ vọng: Hiện khung giờ 5 ngày tới, phân biệt lane ưu tiên và lane thường, kèm số chỗ còn lại. Khung đã qua giờ không hiện.
Kỳ vọng: Giữ chỗ thành công; số chỗ còn lại giảm đúng 1; đơn chuyển sang đã đặt lịch và hiện mã QR.
Kỳ vọng: Lượt thứ 4 bị từ chối với thông báo hết chỗ (CLSBOOK_002). Số chỗ không bao giờ vượt sức chứa.
Kỳ vọng: Khung mới hiện ngay ở phía bệnh nhân; khung đã tắt biến khỏi danh sách chọn.
Kỳ vọng: Bị từ chối vì đơn đã ở trạng thái đã đặt (CLSBOOK_001).
Kỳ vọng: Số tiền lớn BẰNG số trên mã QR thanh toán; nếu cơ sở có voucher thì kèm dòng “Đã giảm …%” và số lớn là số SAU giảm, không phải tổng giá gốc. Đơn đã thanh toán thì hiện “Đã thanh toán” và không còn mã QR.
Kỳ vọng: Nội dung mã có dạng HA-CLS:<mã hẹn>. Mã không chứa tên bệnh nhân, tên xét nghiệm hay nội dung y tế nào.
Kỳ vọng: Trả về đúng hai thứ: đơn nào và giờ hẹn. Không có danh mục xét nghiệm, không có lý do khám, không có triệu chứng.
Kỳ vọng: Báo mã không hợp lệ. Hệ thống không đoán, không tra gần đúng.
Kỳ vọng: Không tìm thấy. Quầy tiếp đón chỉ tra được lịch hẹn của chính cơ sở mình.
Dán thông điệp mẫu bên dưới vào /vi/lis. Số điện thoại ở dòng PID phải khớp bệnh nhân, và mã ở dòng OBX phải khớp mã dòng của đơn thì kết quả mới tự nối về đơn.
MSH|^~\&|LIS|LabCorp|HA|Clinic|20260822093000||ORU^R01|MSG00042|P|2.5 PID|1||PT005^^^HA||Benh^Nhan Demo||19850412|M|||45 Duong Demo||<số điện thoại bệnh nhân> OBR|1||F042|URINE^Urinalysis|||20260822090000 OBX|1|NM|XN-NUOC-TIEU^Tong phan tich nuoc tieu^L||15.0|/uL|0.0-5.0|H|||F OBX|2|NM|GLU^Glucose^L||5.1|mmol/L|3.9-6.4|N|||F
Kỳ vọng: Nhập thành công, hiện số chỉ số đọc được và tên bệnh nhân đã khớp.
Kỳ vọng: Dòng XN-NUOC-TIEU đã có kết quả gắn vào; dòng Siêu âm bụng vẫn trống.
Kỳ vọng: Dòng đã có kết quả KHÔNG bị ghi đè. Kết quả đầu tiên là kết quả đã được đọc.
Kỳ vọng: Bản ghi vào hàng chờ xử lý, không gắn bừa vào hồ sơ ai. Khớp 0 người hay nhiều hơn 1 người đều không gắn.
Kỳ vọng: Kết quả vừa nhập nằm trong hồ sơ, cạnh 2 phiếu cũ có sẵn. Chỉ số bất thường được đánh dấu.
Toàn bộ nhóm này là ca CỔNG: kết quả đúng là KHÔNG thấy gì. Nếu bất kỳ ca nào ở đây “chạy được”, dừng kiểm thử và báo ngay.
Kỳ vọng: Không xem được. Không rò tiêu đề, không rò triệu chứng.
Kỳ vọng: Không xem được, không đặt lịch hộ được.
Kỳ vọng: Bị từ chối. Chữ ký gắn với khoa, không phải với chức danh bác sĩ nói chung.
Kỳ vọng: Không vào được màn nào, không đọc được dữ liệu nào.
Kỳ vọng: Bác sĩ không tự lấy được kết quả. Chỉ xem khi bệnh nhân chủ động chia sẻ.
Kỳ vọng: Chỉ thấy dữ liệu của chính tài khoản đó. Vai quản trị không biến màn cá nhân thành màn xem toàn hệ thống.
Làm ở ỨNG DỤNG QUẢN TRỊ (cổng 3001, không phải trang bệnh nhân), đăng nhập bằng tài khoản Quản trị nền tảng. Mỗi lần đổi bắt buộc ghi căn cứ.
Kỳ vọng: Nút xác nhận chỉ mở khi căn cứ đủ 5 ký tự, không có căn cứ điền sẵn. Sau khi tải lại, cột “Mạch bệnh viện” vẫn ghi “Thu hộ: bật”, và nhật ký kiểm toán có đúng một dòng mang căn cứ vừa nhập.
Kỳ vọng: Màn báo mức giảm phải từ 0 đến 15 và khoá nút lưu. Gọi thẳng API với 16 cũng bị từ chối — trần 15% không chỉ nằm ở giao diện.
Kỳ vọng: Hiện cảnh báo voucher sẽ KHÔNG áp cho lượt đặt lịch nào khi bệnh viện tự thu. Dòng tiền của các lịch đã đặt trước đó giữ nguyên chế độ lúc đặt.
Chặn — dừng kiểm thử: bất kỳ ca Cổng nào lại chạy được. Nặng: luồng chính đứt. Thường: sai chữ, sai định dạng ngày giờ, lệch bố cục, thiếu bản dịch.
Mã test case : UAT-BOOK-05
Môi trường : dev · 22-08-2026 14:30
Tài khoản : <số điện thoại bệnh nhân>
Đường dẫn : /vi/cls-orders/<mã>
Các bước : 1. Chọn khung 07:00 ngày mai (lane ưu tiên, còn 0 chỗ)
2. Bấm xác nhận
Kỳ vọng : Báo hết chỗ
Thực tế : Đặt thành công, số chỗ thành 4/3
Ảnh chụp : (đính kèm)Luôn kèm mã test case và số điện thoại tài khoản đang dùng — phần lớn hành vi của hệ thống phụ thuộc vào việc ai đang đăng nhập, nên thiếu hai thứ này thì gần như không tái hiện được.