16 giờ chiều ngày cuối kỳ, kế toán viện phí nhận về một danh sách hàng trăm lỗi XML giám định BHYT sau khi bấm gửi lên Cổng tiếp nhận dữ liệu. Những thông báo cụt lủn chỉ nêu tên trường dữ liệu - không chỉ rõ phải sửa ở đâu trong nghiệp vụ. Bài viết này là bảng tra cứu lỗi XML giám định BHYT tổ chức theo từng bảng dữ liệu và từng trường: mỗi dòng chỉ thẳng khâu phát sinh lỗi, màn hình nghiệp vụ cần mở trên HIS và ràng buộc để lỗi đó không quay lại kỳ sau.
Hồ sơ đang bị chặn ở đâu và còn kịp sửa trong kỳ này không
Trước khi tra bất kỳ dòng lỗi nào, phải trả lời xong ba câu hỏi về thời điểm: hồ sơ bị chặn ở khâu nào trên đường đi lên Cổng, dữ liệu đã vào kho dữ liệu của Cổng hay bị chặn ngay ngoài cửa, và còn kịp sửa rồi gửi lại trong kỳ này hay đã rơi vào diện phải giải trình ở vòng sau. Trả lời sai câu này thì mọi thao tác sau đó đều lệch mức khẩn. Nếu cần nắm lại cấu trúc file XML giám định trước khi đọc bảng tra, hãy dành ra vài phút cho phần nền tảng đó rồi quay lại đây.
Ba điểm dừng của bộ hồ sơ trên đường lên Cổng quyết định mức khẩn và khả năng sửa kịp trong kỳ
Bị chặn ngoài cửa: hồ sơ chưa vào kho dữ liệu
Cổng từ chối ngay khi kiểm tra cấu trúc file và đối chiếu với lược đồ XSD. Hệ quả về thời điểm rất rõ: coi như cơ sở chưa từng gửi, số liệu ghi nhận trên Cổng vẫn bằng không, và phải sửa rồi gửi lại toàn bộ chứ không thể gửi bù phần thiếu. Đây là mức khẩn cao nhất, vì càng sát hạn thì lưu lượng gửi càng lớn và thời gian chờ phản hồi càng dài.
Một phần đáng kể lỗi tầng này thuộc nhóm lỗi mã hoá UTF-8 và khai báo XML declaration, tức lỗi thuần kỹ thuật của file chứ không phải lỗi nghiệp vụ. Phần còn lại mới là thứ bảng tra bên dưới xử lý: thiếu thẻ bắt buộc, sai kiểu giá trị của một trường, hoặc độ dài trường không còn khớp chuẩn hiện hành.
Vào được kho nhưng bị loại từng lượt khám
File hợp lệ về cấu trúc, Cổng tiếp nhận, nhưng trả về danh sách các lượt khám bị loại. Nguyên nhân thường là giá trị không tồn tại trong danh mục dùng chung, hoặc mâu thuẫn khi Cổng đối chiếu chéo giữa các bảng trong cùng một gói hồ sơ.
Hệ quả về thời điểm dễ thở hơn nhiều: phần hồ sơ hợp lệ vẫn nằm trên Cổng và vẫn được tính, cơ sở chỉ cần sửa và gửi bổ sung đúng phần bị loại. Điều kiện duy nhất là phải xong trước khi chốt kỳ.
Đã vào kho và đã qua kỳ: lỗi chỉ lộ ra ở vòng hậu kiểm
Nhóm thứ ba nguy hiểm nhất vì im lặng. Dữ liệu được tiếp nhận trơn tru, không có thông báo nào. Chỉ tới khi giám định viên đối chiếu quy tắc chuyên môn và định mức thanh toán thì phần chi phí liên quan mới bị treo hoặc bị giảm trừ.
Ở tầng này không còn cửa sửa dữ liệu trong kỳ. Cơ sở chỉ còn đường giải trình bằng hồ sơ bệnh án gốc, và mọi khoản chênh lệch đều quy về dòng tiền của cả kỳ. Chính vì vậy, phần cuối bài dành riêng cho việc chặn lỗi ngay tại điểm nhập liệu thay vì đi sửa sau.
Cách tự xác định mình đang ở tầng nào trong ba phút
Mở lại thông báo Cổng trả về và đọc nguyên văn, đừng đọc lướt. Sau đó lấy số lượt khám đã kết xuất từ màn hình kết xuất hồ sơ giám định trên HIS, đặt cạnh số lượt khám mà Cổng ghi nhận đã tiếp nhận. Nếu Cổng ghi nhận bằng không thì hồ sơ đang nằm ở tầng bị chặn ngoài cửa. Nếu Cổng ghi nhận phần lớn và chỉ trả danh sách loại thì hồ sơ đã vào kho. Còn nếu kỳ đã chốt mà thông báo đến từ vòng đối chiếu chuyên môn thì đó là hậu kiểm.
Quy tắc đọc lỗi liên bảng: MA_LK là khoá xuyên suốt cả bộ hồ sơ
Chuẩn dữ liệu hiện hành gồm bảng check-in cùng 15 bảng đánh số từ XML1 tới XML15. Gói hồ sơ khám chữa bệnh gửi Cổng gồm 14 file, không bao gồm XML12. Trường MA_LK là khoá liên kết xuyên suốt các file thuộc cùng một lượt khám chữa bệnh, và đây chính là điểm khiến việc đọc lỗi hay đi sai hướng.
Hệ quả thực tế: thông báo lỗi hiển thị ở bảng này nhưng nguyên nhân gốc thường nằm ở bảng khác. Ba mẫu hình dưới đây chiếm phần lớn các trường hợp truy vết mất thời gian.
- Lỗi báo ở XML2 hoặc XML3 nhưng dữ liệu chi tiết vẫn đúng: thông báo là thiếu lượt khám tương ứng, gốc là bản ghi XML1 chưa được kết xuất hoặc đã bị loại ở tầng trước, kéo theo mọi dòng chi tiết mất chỗ bám.
- Lỗi lệch tổng chi phí báo ở XML1 nhưng bản tổng hợp không sai: gốc là một dòng thuốc ở XML2 hoặc một dòng dịch vụ kỹ thuật, vật tư y tế ở XML3 bị nhập sai đơn giá hoặc sai số lượng.
- Lỗi ngày tháng báo ở XML5 nhưng bản ghi diễn biến vẫn hợp lý: gốc là NGAY_VAO hoặc NGAY_RA của lượt điều trị ở XML1 bị nhập sai, khiến toàn bộ mốc thời gian con rơi ra ngoài khoảng.
Quy trình truy vết chuẩn gồm bốn bước, áp dụng cho mọi thông báo lỗi:
- Đọc nguyên văn thông báo Cổng trả về, tách riêng tên bảng và tên trường được nêu, không diễn giải vội theo kinh nghiệm.
- Xác định hồ sơ đang dừng ở điểm nào trong ba điểm dừng phía trên, để biết mức khẩn và biết còn kịp sửa trong kỳ hay không.
- Lấy MA_LK của lượt khám bị báo lỗi, mở toàn bộ bản ghi cùng MA_LK trong bộ hồ sơ, rồi đối chiếu ngược về bản ghi tổng hợp ở XML1 trước khi soi dòng chi tiết.
- Mở đúng màn hình nghiệp vụ trên HIS đã sinh ra trường dữ liệu đó, gồm tiếp đón, chỉ định, kê đơn, thu ngân viện phí hoặc danh mục dùng chung, sửa tại nguồn rồi kết xuất và ký số lại cả bộ.
Tra lỗi bảng XML1: chỉ tiêu tổng hợp khám bệnh, chữa bệnh
XML1 là bảng bị từ chối nhiều nhất, vì nó tập trung toàn bộ thông tin định danh người bệnh, thẻ bảo hiểm y tế, cấp chuyên môn kỹ thuật, chẩn đoán và các cột tiền tổng hợp. Mỗi dòng trong các bảng tra dưới đây có năm cột cố định: thông báo Cổng trả về theo câu chữ thực tế, bảng và trường dữ liệu liên quan, nguyên nhân gốc ở khâu nghiệp vụ, màn hình cần mở trên HIS để sửa, và ràng buộc để chặn tái diễn.
Mọi hướng sửa trong bảng tra đều trỏ về màn hình nghiệp vụ trên HIS, không trỏ vào file XML đã kết xuất
| Thông báo Cổng trả về | Bảng, trường dữ liệu | Nguyên nhân gốc ở khâu nào | Sửa ở đâu trên HIS | Cách chặn tái diễn |
|---|---|---|---|---|
| Mã lượt khám chữa bệnh bị trùng trong cùng bộ hồ sơ | XML1, MA_LK | Một lượt được mở lại rồi kết thúc hai lần ở khâu tiếp đón, hoặc kỳ gửi bị kết xuất chồng lấn khoảng thời gian với kỳ trước | Mở màn hình quản lý lượt khám chữa bệnh, lọc theo khoảng ngày của kỳ gửi, huỷ bản ghi lượt trùng rồi kết xuất lại tại màn hình kết xuất hồ sơ giám định | Đặt ràng buộc duy nhất trên mã lượt ngay tại thời điểm lưu bản ghi tiếp đón, chặn mở lượt thứ hai khi lượt cũ chưa được kết thúc |
| Mã thẻ bảo hiểm y tế không tồn tại hoặc không còn giá trị sử dụng tại thời điểm khám chữa bệnh | XML1, MA_THE | Bộ phận tiếp đón nhập tay mã thẻ từ ảnh chụp mờ, hoặc dùng lại thẻ cũ đã được cấp số mới sau khi đổi nhóm đối tượng | Mở màn hình tiếp đón của lượt bị báo lỗi, tra cứu lại thẻ bằng chức năng tra cứu tích hợp trong HIS, ghi đè mã thẻ đúng vào hồ sơ lượt khám rồi kết xuất lại | Chặn lưu hồ sơ tiếp đón khi mã thẻ chưa được tra cứu trả về trạng thái còn giá trị, buộc nhân viên xác nhận bằng kết quả tra cứu chứ không nhập tay |
| Thông tin người bệnh không khớp dữ liệu thẻ bảo hiểm y tế | XML1, HO_TEN cùng NGAY_SINH và GIOI_TINH | Hồ sơ được tạo lại từ lần khám cũ và giữ nguyên thông tin nhân khẩu học, trong khi người bệnh đã cập nhật họ tên hoặc ngày sinh trên thẻ | Mở màn hình hồ sơ hành chính người bệnh, đồng bộ ba trường nhân khẩu học theo kết quả tra cứu thẻ, lưu lại rồi kết xuất lại lượt khám liên quan | Bật đối chiếu tự động ba trường nhân khẩu học với kết quả tra cứu ngay lúc lưu bản ghi tiếp đón, phát hiện lệch thì không cho lưu tiếp |
| Mã cơ sở đăng ký khám chữa bệnh ban đầu không hợp lệ | XML1, MA_DKBD | Mã nơi đăng ký ban đầu được nhập thủ công hoặc giữ theo bản ghi cũ sau khi cơ quan bảo hiểm xã hội sắp xếp lại danh mục cơ sở | Vào màn hình danh mục dùng chung, nạp lại danh mục cơ sở đăng ký khám chữa bệnh ban đầu, sau đó sửa mã trong màn hình tiếp đón của lượt bị báo lỗi | Khoá ô nhập tay, chỉ cho chọn mã từ danh mục được đồng bộ theo lịch, chặn lưu bản ghi khi mã đã hết hiệu lực trong danh mục |
| Lý do vào viện là chuyển đến nhưng thiếu thông tin nơi chuyển | XML1, MA_LYDO_VVIEN cùng MA_NOI_CHUYEN | Bộ phận tiếp đón chọn lý do vào viện là chuyển đến theo thói quen nhưng bỏ trống mã cơ sở nơi chuyển đi vì chưa cầm giấy chuyển tuyến trong tay | Mở màn hình tiếp đón, vào tab thông tin bảo hiểm y tế, chọn lại lý do vào viện và điền mã cơ sở nơi chuyển đi lấy từ danh mục dùng chung | Thiết lập ràng buộc phụ thuộc: khi lý do vào viện là chuyển đến thì trường mã nơi chuyển thành bắt buộc, để trống là không cho lưu bản ghi |
| Mã bệnh không có trong danh mục ICD-10 đang áp dụng | XML1, MA_BENH cùng MA_BENHKHAC | Bác sĩ gõ tắt chẩn đoán vào ô ghi chú tự do, hoặc chọn mã đã bị loại khỏi phiên bản danh mục mà cơ sở đang chạy | Mở màn hình khám bệnh của lượt tương ứng, chọn lại mã chẩn đoán chính và mã kèm theo trực tiếp từ cây danh mục ICD-10 dựng sẵn trong HIS | Không cho kết thúc lượt khám khi ô chẩn đoán chưa gắn mã chọn từ cây danh mục, khoá hẳn khả năng nhập chẩn đoán bằng chữ tự do |
| Giá trị mức hưởng không đúng độ dài quy định, hoặc mức hưởng không phù hợp nhóm đối tượng của thẻ | XML1, MUC_HUONG | Phần mềm còn kết xuất mức hưởng theo độ dài cũ sau khi chuẩn dữ liệu mở rộng trường này lên 04 ký tự, hoặc bảng ánh xạ nhóm đối tượng chưa được nạp lại | Đề nghị nhà cung cấp nâng phiên bản HIS, sau đó vào màn hình cấu hình quy tắc tính mức hưởng để nạp lại bảng ánh xạ nhóm đối tượng theo chuẩn đang áp dụng | Đặt kiểm tra ngay tại màn hình kết xuất hồ sơ giám định: chặn sinh file khi phiên bản chuẩn dữ liệu khai báo trong hệ thống chưa khớp chuẩn Cổng đang nhận |
| Thời điểm ra viện nhỏ hơn thời điểm vào viện, hoặc thời gian điều trị nằm ngoài khoảng giá trị của thẻ | XML1, NGAY_VAO cùng NGAY_RA | Lượt khám được mở lùi ngày để hợp thức hoá hồ sơ giấy, hoặc thu ngân viện phí kết thúc lượt vào hôm sau nhưng hệ thống lấy mốc thời gian thao tác | Mở màn hình quản lý lượt điều trị, chỉnh lại mốc vào và mốc ra đúng theo hồ sơ bệnh án gốc, đồng thời ghi lý do chỉnh sửa vào nhật ký thao tác | Chặn lưu khi mốc ra sớm hơn mốc vào hoặc nằm ngoài khoảng giá trị sử dụng thẻ, bật cảnh báo bắt buộc xác nhận mỗi khi người dùng lùi ngày |
| Mã khoa điều trị không có trong danh mục đã đăng ký với cơ quan bảo hiểm xã hội | XML1, MA_KHOA | Cơ sở mở khoa mới hoặc tách khoa trong nội bộ nhưng chưa khai báo lại danh mục khoa gửi kèm hợp đồng khám chữa bệnh | Vào màn hình danh mục khoa phòng, gắn từng mã khoa nội bộ với mã khoa đã đăng ký, sau đó chạy lại kết xuất cho toàn bộ lượt thuộc khoa đó | Không cho kích hoạt khoa mới trong danh mục khi chưa gắn mã đã đăng ký, đồng thời chặn tiếp nhận người bệnh vào khoa chưa được gắn mã |
| Tổng chi phí không bằng tổng các khoản thành phần | XML1, T_TONGCHI cùng T_BNTT và T_BHTT | Một dòng chi phí được thêm hoặc huỷ ở khâu thu ngân sau khi lượt khám đã chốt, khiến bản ghi tổng hợp không được tính lại theo dòng chi tiết | Mở màn hình thu ngân viện phí của lượt bị báo lỗi, chạy chức năng tính lại tổng chi phí từ các dòng chi tiết rồi kết xuất lại bộ hồ sơ của lượt đó | Không cho kết thúc lượt khi tổng các dòng chi tiết chưa khớp cột tổng hợp, buộc hệ thống tính lại tự động sau mỗi lần thay đổi dòng chi phí |
Tra lỗi bảng XML2 và XML3: thuốc, dịch vụ kỹ thuật và vật tư y tế
Đây là nhóm bảng sinh nhiều dòng dữ liệu nhất mỗi kỳ, nên tỷ lệ lỗi tuyệt đối cao nhất. Nhóm này cũng là nơi phát sinh giảm trừ chi phí nặng nhất khi hậu kiểm, bởi mỗi dòng sai đều gắn trực tiếp với một khoản tiền.
| Thông báo Cổng trả về | Bảng, trường dữ liệu | Nguyên nhân gốc ở khâu nào | Sửa ở đâu trên HIS | Cách chặn tái diễn |
|---|---|---|---|---|
| Mã thuốc không có trong danh mục thanh toán bảo hiểm y tế | XML2, MA_THUOC cùng MA_NHOM | Thuốc được nhập kho bằng mã nội bộ của cơ sở mà chưa gắn mã theo danh mục dùng chung, hoặc bị gắn nhầm nhóm chi phí | Mở màn hình danh mục thuốc trong phân hệ dược, gắn mã dùng chung và nhóm chi phí cho từng mặt hàng đang hoạt động, rồi kết xuất lại kỳ | Chặn đưa mặt hàng vào danh mục kê đơn khi chưa gắn đủ mã dùng chung và nhóm chi phí, không cho lưu dòng thuốc thiếu mã ở màn hình kê đơn |
| Thiếu số đăng ký thuốc, hoặc số đăng ký không khớp mã thuốc đã khai | XML2, SO_DANG_KY | Mặt hàng mới nhập kho hoặc thuốc hiếm chưa được gắn số đăng ký lưu hành trong danh mục dược nội bộ của cơ sở | Vào màn hình danh mục thuốc, mục thông tin lưu hành, bổ sung số đăng ký theo hồ sơ trúng thầu rồi đồng bộ giá trị này xuống các lượt đã kê trong kỳ | Đặt số đăng ký là trường bắt buộc khi tạo mới mặt hàng thuốc, chặn thao tác nhập kho lô hàng còn thiếu thông tin lưu hành |
| Tên thuốc, hàm lượng hoặc đường dùng không khớp mã thuốc đã khai | XML2, TEN_THUOC cùng HAM_LUONG và DUONG_DUNG | Hai mặt hàng cùng hoạt chất khác hàm lượng dùng chung một bản ghi danh mục, nên phần mô tả bị gán nhầm khi bác sĩ kê đơn | Tách bản ghi danh mục thuốc theo từng hàm lượng và đường dùng trong màn hình danh mục dược, sau đó kê lại dòng thuốc bị báo lỗi trong màn hình kê đơn | Ràng buộc bộ ba tên thuốc, hàm lượng và đường dùng phải khớp bản ghi danh mục, lệch một thành phần là không cho lưu y lệnh |
| Đơn vị tính không phù hợp với đơn vị tính của mã thuốc trong danh mục | XML2, DON_VI_TINH | Kho dược quy đổi từ hộp sang viên khi xuất lẻ, nhưng đơn vị tính trên dòng chi phí vẫn giữ theo đơn vị nhập kho ban đầu | Mở màn hình cấu hình quy đổi đơn vị trong phân hệ dược, đặt đúng đơn vị tính dùng cho thanh toán rồi tính lại toàn bộ dòng xuất của kỳ | Khoá đơn vị tính thanh toán theo danh mục dùng chung, không cho người dùng sửa tay khi phát thuốc hoặc khi lập dòng chi phí |
| Thành tiền không bằng số lượng nhân đơn giá | XML2, SO_LUONG cùng DON_GIA và THANH_TIEN_BV | Đơn giá được cập nhật giữa kỳ theo kết quả thầu mới, nhưng các dòng đã phát trước đó không được tính lại theo giá tại thời điểm sử dụng | Mở màn hình quản lý giá thuốc theo thời điểm hiệu lực, gán lại đúng đơn giá cho từng dòng phát rồi tính lại thành tiền tại màn hình thu ngân viện phí | Ràng buộc phép nhân ngay lúc lưu dòng chi phí, chặn lưu khi thành tiền lệch so với kết quả tính từ số lượng và đơn giá hiện hành |
| Thiếu thông tin thầu của mặt hàng thuốc | XML2, TT_THAU | Mặt hàng được mua bổ sung ngoài gói thầu chính, hoặc gói thầu đã hết hiệu lực mà chưa cập nhật quyết định trúng thầu mới | Vào màn hình quản lý gói thầu trong phân hệ dược, gắn quyết định trúng thầu còn hiệu lực cho mặt hàng rồi đẩy lại thông tin xuống các dòng chi phí | Chặn lưu dòng thuốc khi mặt hàng chưa gắn gói thầu còn hiệu lực tại thời điểm kê, bật nhắc việc trước ngày gói thầu hết hạn |
| Mã dịch vụ kỹ thuật không tồn tại trong danh mục dùng chung | XML3, MA_DICH_VU | Dịch vụ được tạo trong danh mục nội bộ để phục vụ thu phí mà chưa ánh xạ sang mã dịch vụ tương đương của danh mục dùng chung | Mở màn hình danh mục dịch vụ kỹ thuật, thiết lập ánh xạ giữa mã nội bộ và mã dùng chung cho từng dịch vụ đang mở chỉ định | Không cho mở dịch vụ ra chỉ định khi bản ghi danh mục chưa có mã dùng chung, chặn lưu y lệnh với dịch vụ chưa được ánh xạ |
| Mã vật tư y tế không hợp lệ hoặc không thuộc phạm vi thanh toán | XML3, MA_VAT_TU | Vật tư đi kèm thủ thuật được ghi nhận theo tên thương mại của nhà cung cấp thay vì mã trong danh mục thanh toán | Vào màn hình danh mục vật tư y tế, gắn mã thanh toán cho từng mặt hàng và cấu hình bộ vật tư đi kèm theo từng dịch vụ kỹ thuật | Chặn ghi nhận sử dụng vật tư tại phòng thủ thuật khi mặt hàng chưa gắn mã thanh toán, không cho lưu dòng chi phí tương ứng |
| Chi phí vượt mức thanh toán của dịch vụ nhưng chưa khai phần vượt | XML3, T_TRANTT | Dịch vụ có mức thanh toán giới hạn nhưng cấu hình giá trong HIS không tách riêng phần chi phí vượt để ghi nhận đúng cột | Mở màn hình cấu hình giá dịch vụ kỹ thuật, khai báo mức thanh toán giới hạn để hệ thống tự tách phần vượt ngay khi lập dòng chi phí | Bật tách phần vượt tự động tại thời điểm ghi nhận sử dụng dịch vụ, chặn kết thúc lượt khi cấu hình giới hạn còn để trống |
| Thời điểm thực hiện y lệnh trước thời điểm ra y lệnh, hoặc mã người ra y lệnh không hợp lệ | XML3, NGAY_YL cùng NGAY_TH_YL và MA_BAC_SI | Y lệnh được nhập bù sau khi đã thực hiện, hoặc tài khoản thao tác là điều dưỡng ghi hộ nên mã người hành nghề không phải bác sĩ | Mở màn hình y lệnh của lượt điều trị, chỉnh mốc thời gian theo bệnh án gốc và gán lại mã người hành nghề lấy từ danh mục nhân sự | Lấy mốc thời gian trực tiếp từ thao tác lưu y lệnh, chặn lưu khi mốc thực hiện sớm hơn mốc chỉ định hoặc người ký chưa có mã hành nghề |
Một quy tắc kiểm tra bắc cầu cần thuộc lòng: tổng thành tiền của toàn bộ dòng chi tiết ở XML2 và XML3 phải khớp cột tổng chi phí tương ứng ở XML1. XML4 không tham gia phép cộng tiền này, vì XML4 mang kết quả và chỉ số cận lâm sàng chứ không phải bảng chi phí. Chênh lệch giữa số liệu tổng hợp và số liệu chi tiết là một trong các lỗi bị Cổng chặn ở tầng logic, và điểm sai gần như luôn nằm ở dòng chi tiết chứ không ở bảng tổng hợp.
Tra lỗi bảng XML4, XML5 và các bảng giấy tờ kèm theo hồ sơ
Đây là nhóm bảng ít được rà soát nhất, nên hay bị bỏ quên tới sát hạn gửi. Đặc điểm chung của cả nhóm: lỗi hầu hết là thiếu bảng khi lượt khám thuộc diện bắt buộc phải kèm, hoặc lệch ngày so với mốc thời gian đã khai ở XML1.
Phần lớn lỗi của nhóm bảng giấy tờ đều quy về một nguyên nhân: mốc ngày trên biểu mẫu không dóng thẳng với mốc của lượt điều trị
Cận lâm sàng và diễn biến lâm sàng
| Thông báo Cổng trả về | Bảng, trường dữ liệu | Nguyên nhân gốc ở khâu nào | Sửa ở đâu trên HIS | Cách chặn tái diễn |
|---|---|---|---|---|
| Dịch vụ cận lâm sàng không có dòng chỉ định tương ứng | XML4, MA_DICH_VU và MA_LK | Máy xét nghiệm trả kết quả cho một chỉ định đã bị huỷ, hoặc chỉ định được nhập lại sau khi kết quả đã về hệ thống | Mở màn hình kết nối cận lâm sàng, đối chiếu danh sách chỉ định với kết quả trả về, huỷ các phiếu kết quả không còn nguồn chỉ định rồi kết xuất lại | Ràng buộc chỉ nhận kết quả từ máy khi tồn tại chỉ định còn hiệu lực cùng mã lượt, chặn lưu phiếu kết quả không có nguồn chỉ định hợp lệ |
| Thiếu kết quả hoặc chỉ số cận lâm sàng của dịch vụ đã kết xuất | XML4, các chỉ tiêu kết quả | Kỹ thuật viên trả kết quả bằng file ảnh hoặc bản in mà không nhập chỉ số vào biểu mẫu kết quả trong phần mềm | Mở màn hình trả kết quả cận lâm sàng, nhập các chỉ số vào đúng ô của biểu mẫu thay vì chỉ đính kèm tệp, sau đó duyệt phiếu kết quả | Không cho duyệt phiếu kết quả khi các ô chỉ số bắt buộc còn trống, đồng thời chặn đóng lượt nếu vẫn còn phiếu chưa được duyệt |
| Thời điểm trả kết quả nằm ngoài khoảng thời gian điều trị | XML4, mốc trả kết quả đối chiếu XML1 NGAY_VAO và NGAY_RA | Kết quả được ký duyệt sau khi lượt khám đã đóng, thường gặp với mẫu bệnh phẩm gửi ra đơn vị bên ngoài | Mở màn hình lượt điều trị để chỉnh mốc kết thúc theo bệnh án gốc, hoặc chuyển phiếu sang lượt tái khám tương ứng tại màn hình quản lý chỉ định | Bật cảnh báo bắt buộc xác nhận khi duyệt kết quả sau mốc kết thúc lượt, chặn đóng lượt khi còn phiếu cận lâm sàng đang chờ kết quả |
| Thiếu bản ghi diễn biến lâm sàng với đợt điều trị nội trú | XML5, MA_LK và nội dung diễn biến | Bác sĩ ghi diễn biến trên tờ điều trị giấy rồi chỉ nhập tóm tắt vào ô ghi chú tự do, không tạo thành bản ghi diễn biến | Mở màn hình tờ điều trị nội trú, nhập diễn biến theo từng lần thăm khám vào đúng biểu mẫu để hệ thống sinh ra bản ghi tương ứng | Chặn kết thúc đợt điều trị nội trú khi số bản ghi diễn biến ít hơn số ngày điều trị, kèm nhắc việc theo từng ca trực |
| Thời điểm ghi diễn biến nằm ngoài khoảng thời gian điều trị | XML5, mốc ghi diễn biến đối chiếu XML1 NGAY_VAO và NGAY_RA | Diễn biến được nhập bù sau khi người bệnh đã ra viện, nên hệ thống lấy mốc thời gian của thao tác nhập | Mở màn hình tờ điều trị, chỉnh mốc ghi diễn biến theo bệnh án gốc và ghi nhận người chỉnh sửa cùng lý do vào nhật ký thao tác | Khoá cửa sổ nhập diễn biến trong khoảng thời gian điều trị, muốn nhập ngoài khoảng phải có phê duyệt của trưởng khoa |
| Thiếu thông tin hội chẩn với ca thuộc diện bắt buộc hội chẩn | XML5, bản ghi hội chẩn | Biên bản hội chẩn được lưu bản giấy trong bệnh án, không tạo bản ghi hội chẩn tương ứng trên phần mềm | Mở màn hình hội chẩn trong phân hệ nội trú, lập biên bản điện tử với đủ thành phần tham gia và kết luận, sau đó kết xuất lại lượt điều trị | Ràng buộc theo nhóm chẩn đoán và loại phẫu thuật: chặn duyệt lịch phẫu thuật khi ca bắt buộc chưa có biên bản hội chẩn điện tử |
Nhóm bảng giấy tờ XML6 tới XML11
Nhóm này gồm các biểu mẫu điều trị HIV/AIDS, giấy ra viện, tóm tắt hồ sơ bệnh án, giấy chứng sinh, nghỉ dưỡng thai và nghỉ hưởng bảo hiểm xã hội.
| Thông báo Cổng trả về | Bảng, trường dữ liệu | Nguyên nhân gốc ở khâu nào | Sửa ở đâu trên HIS | Cách chặn tái diễn |
|---|---|---|---|---|
| Ngày ra viện trên giấy ra viện không khớp thời điểm kết thúc điều trị | Nhóm bảng XML6 tới XML11, trường ngày ra viện đối chiếu XML1 NGAY_RA | Giấy ra viện được in trước một ngày để người bệnh chủ động, trong khi lượt điều trị chỉ được đóng vào hôm sau | Mở màn hình cấp giấy ra viện trong phân hệ nội trú, sinh lại giấy trực tiếp từ dữ liệu lượt điều trị thay vì nhập tay ngày ra | Buộc giấy ra viện lấy mốc ngày trực tiếp từ bản ghi lượt điều trị, khoá ô nhập tay và chặn thao tác in khi lượt chưa được đóng |
| Thông tin trẻ trên giấy chứng sinh không khớp bản ghi khám chữa bệnh của người mẹ | Nhóm bảng XML6 tới XML11, trường ngày sinh và giới tính của trẻ | Dữ liệu của trẻ được nhập lại lần hai trực tiếp trên biểu mẫu giấy chứng sinh thay vì lấy từ bản ghi cuộc đẻ | Mở màn hình quản lý cuộc đẻ trong phân hệ sản, cập nhật thông tin trẻ tại nguồn rồi phát hành lại giấy chứng sinh từ dữ liệu đã sửa | Liên kết một chiều từ bản ghi cuộc đẻ sang biểu mẫu, chặn phát hành giấy chứng sinh khi thông tin trẻ tại nguồn còn để trống |
| Ngày bắt đầu nghỉ hưởng bảo hiểm xã hội không nối tiếp ngày ra viện | Nhóm bảng XML6 tới XML11, trường ngày bắt đầu nghỉ | Cán bộ cấp giấy chọn ngày theo nguyện vọng của người bệnh chứ không theo mốc kết thúc đợt điều trị | Mở màn hình cấp giấy nghỉ hưởng bảo hiểm xã hội, đặt lại mốc bắt đầu nghỉ liền kề ngày ra viện rồi phát hành lại số giấy tương ứng | Tự động điền mốc bắt đầu nghỉ theo ngày ra viện, chặn lưu khi người dùng sửa lệch mà chưa có lý do được cấp trên duyệt |
| Số ngày nghỉ vượt mức được cấp cho đợt điều trị | Nhóm bảng XML6 tới XML11, trường số ngày nghỉ | Bác sĩ cấp số ngày nghỉ theo kinh nghiệm, phần mềm không đối chiếu giới hạn theo hình thức điều trị và chẩn đoán | Mở màn hình cấp giấy nghỉ hưởng bảo hiểm xã hội, chỉnh số ngày về đúng giới hạn cấu hình trong danh mục rồi phát hành lại giấy | Cấu hình giới hạn số ngày theo hình thức điều trị và nhóm chẩn đoán, chặn lưu khi số ngày vượt ngưỡng nếu chưa có phê duyệt |
| Thiếu bảng giấy tờ bắt buộc kèm theo lượt khám | Nhóm bảng XML6 tới XML11, thiếu bản ghi gắn với mã lượt | Lượt nội trú kết thúc mà chưa phát hành giấy ra viện, chưa lập tóm tắt hồ sơ bệnh án, hoặc chưa kê khai bản ghi điều trị HIV/AIDS với ca thuộc diện phải kê khai | Mở màn hình hồ sơ ra viện, phát hành đủ các biểu mẫu bắt buộc theo hình thức điều trị của lượt đó rồi chạy lại kết xuất cho cả kỳ | Chặn đóng lượt điều trị khi danh sách biểu mẫu bắt buộc theo hình thức điều trị chưa được phát hành đủ trên phần mềm |
Nhóm bảng giấy tờ XML13 tới XML15
Nhóm này gồm giấy chuyển tuyến, giấy hẹn khám lại và quản lý điều trị lao.
| Thông báo Cổng trả về | Bảng, trường dữ liệu | Nguyên nhân gốc ở khâu nào | Sửa ở đâu trên HIS | Cách chặn tái diễn |
|---|---|---|---|---|
| Lý do vào viện là chuyển đến nhưng không có bảng giấy chuyển tuyến kèm theo | XML13, thiếu bản ghi gắn mã lượt, đối chiếu XML1 MA_LYDO_VVIEN | Giấy chuyển tuyến bản giấy được kẹp vào bệnh án nhưng không được nhập thành bản ghi điện tử trên phần mềm | Mở màn hình tiếp nhận người bệnh chuyển đến, nhập giấy chuyển tuyến thành bản ghi điện tử gắn với mã lượt rồi kết xuất lại lượt đó | Chặn lưu hồ sơ tiếp đón khi lý do vào viện là chuyển đến mà bản ghi giấy chuyển tuyến chưa được nhập vào hệ thống |
| Mã cơ sở nơi chuyển đi không khớp giữa hai bảng | XML13, mã cơ sở chuyển đi đối chiếu XML1 MA_NOI_CHUYEN | Hai màn hình nhập độc lập nên bộ phận tiếp đón chọn một mã, cán bộ nhập biểu mẫu lại chọn mã khác của cùng một đơn vị | Mở màn hình tiếp đón và màn hình giấy chuyển tuyến, chọn lại mã cơ sở từ cùng một danh mục dùng chung cho cả hai nơi nhập | Đồng bộ một chiều: giá trị trên bản ghi biểu mẫu tự lấy theo trường đã khai ở tiếp đón, không cho nhập rời tại hai màn hình |
| Mã bệnh trên giấy chuyển tuyến không khớp chẩn đoán của lượt khám | XML13, mã bệnh đối chiếu XML1 MA_BENH | Chẩn đoán được cập nhật trong quá trình điều trị nhưng bản ghi biểu mẫu vẫn giữ nguyên mã bệnh của cơ sở chuyển đi | Mở màn hình giấy chuyển tuyến, ghi nhận mã bệnh của cơ sở chuyển đi đúng nguyên trạng rồi đối chiếu với chẩn đoán tại màn hình khám bệnh | Bật cảnh báo bắt buộc xác nhận khi hai mã bệnh lệch nhau, buộc bác sĩ ghi lý do khác biệt trước khi được kết thúc lượt |
| Lượt khám khai là tái khám theo hẹn nhưng thiếu bảng giấy hẹn khám lại | XML14, thiếu bản ghi gắn mã lượt | Giấy hẹn được in từ mẫu soạn ngoài phần mềm, nên hệ thống không sinh bản ghi điện tử gắn với mã lượt của đợt trước | Mở màn hình kê lịch hẹn khám lại trong phân hệ ngoại trú, phát hành giấy hẹn trực tiếp từ hệ thống thay cho mẫu in bên ngoài | Chặn tiếp đón lượt tái khám theo hẹn khi không tìm thấy bản ghi giấy hẹn của đợt điều trị trước trong hệ thống |
| Ngày hẹn khám lại sớm hơn ngày kết thúc đợt điều trị trước | XML14, ngày hẹn đối chiếu XML1 NGAY_RA của đợt trước | Bác sĩ đặt lịch hẹn ngay lúc thăm khám giữa đợt, hệ thống không kiểm tra lại mốc kết thúc của đợt điều trị | Mở màn hình lịch hẹn, dời ngày hẹn về sau mốc ra viện rồi phát hành lại giấy hẹn để trao cho người bệnh trước khi ra viện | Ràng buộc ngày hẹn phải lớn hơn mốc kết thúc đợt điều trị, chặn lưu lịch hẹn vi phạm điều kiện này ngay tại màn hình đặt lịch |
| Thiếu chỉ tiêu bắt buộc hoặc lệch mốc bắt đầu điều trị ở bảng quản lý điều trị lao | XML15, các chỉ tiêu bắt buộc và mốc bắt đầu phác đồ | Phác đồ lao được theo dõi trên sổ riêng của chương trình chống lao, không nhập vào phần mềm quản lý bệnh viện | Mở màn hình quản lý điều trị lao trong phân hệ chương trình, khai đủ chỉ tiêu bắt buộc và mốc bắt đầu phác đồ theo hồ sơ gốc | Chặn cấp phát thuốc điều trị lao khi hồ sơ chưa khai đủ chỉ tiêu bắt buộc và mốc bắt đầu phác đồ trên hệ thống |
Một lưu ý giúp tiết kiệm thời gian đối chiếu: XML12 là bảng giám định y khoa và không nằm trong gói hồ sơ khám chữa bệnh gửi Cổng. Khi đếm số file trong gói, đừng mất công truy tìm file này rồi kết luận nhầm là hệ thống kết xuất thiếu.
Hai nguồn lỗi mới của năm 2026: độ dài trường và ràng buộc ký số
Có một tình huống khiến nhiều cơ sở lúng túng: bộ hồ sơ vốn vào trơn tru suốt các kỳ trước, quy trình không đổi, con người không đổi, nhưng đột nhiên bị từ chối hàng loạt. Trong năm 2026, phần lớn các trường hợp như vậy quy về hai mốc nằm ở hai đầu của năm.
Mốc 01/7/2026: độ dài trường mức hưởng và mã số đăng ký thuốc hiếm
Quyết định 1931/QĐ-BYT ban hành ngày 29/6/2026, áp dụng từ 01/7/2026, mở rộng trường MUC_HUONG lên 04 ký tự và bổ sung mã hoá SO_DANG_KY cho thuốc hiếm. Văn bản này không đổi tên hay cấu trúc các bảng, nên nhìn bề ngoài bộ hồ sơ vẫn giống hệt kỳ trước.
Hệ quả vận hành đi theo hai hướng ngược nhau. Cơ sở dùng phiên bản HIS chưa cập nhật sẽ vẫn kết xuất giá trị MUC_HUONG theo độ dài cũ và bị chặn ngay ở khâu kiểm tra cấu trúc, tức toàn bộ gói bị trả về. Ngược lại, cơ sở đã cập nhật phiên bản nhưng danh mục thuốc nội bộ chưa gắn số đăng ký cho thuốc hiếm thì lại bị báo thiếu trường ở từng dòng chi tiết. Để đối chiếu phiên bản HIS đang chạy, hãy lần theo chuỗi văn bản: Quyết định 130/QĐ-BYT ngày 18/01/2023, Quyết định 4750/QĐ-BYT ngày 29/12/2023, Quyết định 3176/QĐ-BYT ngày 29/10/2024 và Quyết định 1931/QĐ-BYT ngày 29/6/2026.
Mốc 01/01/2026: hồ sơ đúng cấu trúc vẫn bị treo vì ký số
Theo Nghị định 188/2025/NĐ-CP (ban hành 01/7/2025, hiệu lực 15/8/2025), cơ sở khám chữa bệnh phải triển khai xác thực dữ liệu điện tử chậm nhất từ 01/01/2026, và từ mốc này quỹ bảo hiểm y tế chỉ thanh toán đối với dữ liệu đã được xác thực điện tử. Nghĩa là một bộ hồ sơ hoàn toàn đúng cấu trúc, đúng danh mục, đúng logic liên bảng vẫn có thể nằm im nếu phần chữ ký không đạt.
Về kỹ thuật, chữ ký được đặt trong thẻ CHUKYDONVI, dùng giải thuật SHA256, và chứng thư số phải được đăng ký trước trên Cổng giám định. Ba lỗi vận hành hay gặp nhất là chứng thư số hết hạn giữa kỳ, ký bằng chứng thư chưa được đăng ký, và ký lại sau khi đã chỉnh dữ liệu nên chữ ký không còn khớp nội dung file. Phần thao tác chi tiết đã được trình bày trong quy trình kết xuất và ký số bộ hồ sơ XML.
Lưu ý pháp lý: Chuỗi văn bản chuẩn dữ liệu đầu ra hiện hành gồm Quyết định 130/QĐ-BYT ngày 18/01/2023, Quyết định 4750/QĐ-BYT ngày 29/12/2023, Quyết định 3176/QĐ-BYT ngày 29/10/2024 và Quyết định 1931/QĐ-BYT ngày 29/6/2026 (áp dụng từ 01/7/2026). Quyết định 4210/QĐ-BYT ngày 20/9/2017 đã hết hiệu lực từ 01/7/2024, nên mọi tài liệu hướng dẫn còn bám chuẩn này đều không dùng để đối chiếu được nữa. Về ký số, Nghị định 188/2025/NĐ-CP đặt mốc xác thực dữ liệu điện tử chậm nhất từ 01/01/2026. Trước mỗi kỳ gửi, cần đối chiếu phiên bản HIS đang chạy với văn bản mới nhất, vì lỗi độ dài trường luôn phát sinh hàng loạt ngay kỳ đầu tiên sau khi chuẩn thay đổi.
Sai lầm khiến lỗi nhân đôi: mở file XML ra sửa tay rồi gửi lại
Khi chỉ còn vài giờ trước hạn, phản xạ tự nhiên là mở file XML bằng trình soạn thảo, sửa đúng ký tự bị báo lỗi rồi gửi lại. Thao tác này nhanh thật, và cũng là hành vi rủi ro nhất trong toàn bộ quy trình.
Hệ quả thứ nhất là lệch dữ liệu. Bản ghi trong HIS giữ giá trị cũ, hồ sơ đã gửi Cổng mang giá trị mới, và tới vòng hậu kiểm thì cơ sở không giải trình được vì sổ sách gốc không khớp với thứ đã nộp. Hệ quả thứ hai là mất chữ ký. Chữ ký số được tính trên nội dung file, nên chỉ cần đổi một ký tự là chữ ký không còn hiệu lực, hồ sơ lại rơi vào diện chưa được xác thực điện tử. Hệ quả thứ ba âm ỉ hơn: lỗi gốc trong quy trình nhập liệu vẫn còn nguyên, nên kỳ sau tái diễn với quy mô lớn hơn.
Nguyên tắc chỉ có một: sửa ở màn hình nghiệp vụ trên HIS, kết xuất lại, ký số lại, rồi gửi lại. Để chủ động sắp việc, cần nhớ hai mốc của Thông tư 48/2017/TT-BYT ngày 28/12/2017: Điều 6 yêu cầu gửi dữ liệu lên Cổng ngay sau khi kết thúc lần khám hoặc đợt điều trị; Điều 7 yêu cầu trong 07 ngày làm việc kể từ khi kết thúc khám chữa bệnh phải kiểm tra, hiệu chỉnh, xác thực rồi gửi dữ liệu đề nghị thanh toán. Sửa tại nguồn và kết xuất lại hoàn toàn nằm gọn trong khung thời gian đó.
Ràng buộc chặn cứng khi lưu bản ghi: không cho lưu, không cho kết thúc lượt
Sửa lỗi là chữa triệu chứng. Muốn chữa nguyên nhân, phải chuyển từng nhóm lỗi trong bảng tra thành một ràng buộc đặt đúng khâu phát sinh dữ liệu, và ràng buộc đó phải chặn cứng ngay tại thời điểm lưu bản ghi chứ không chỉ hiện cảnh báo cho có.
Ràng buộc chặn cứng bật lên ngay lúc lưu bản ghi là điểm khác biệt giữa một kỳ gửi trơn tru và một kỳ phải sửa lại hàng trăm lượt
- Khâu tiếp đón - không cho lưu hồ sơ tiếp đón: khi thẻ bảo hiểm y tế hết hạn, khi thông tin định danh không khớp kết quả tra cứu, hoặc khi thiếu mã nơi đăng ký khám chữa bệnh ban đầu. Điều kiện gỡ chặn là tra cứu lại thẻ và nhận về trạng thái còn giá trị cùng thông tin nhân khẩu học trùng khớp.
- Khâu chỉ định - không cho lưu y lệnh: với dịch vụ không có trong danh mục dùng chung hoặc nằm ngoài phạm vi chuyên môn kỹ thuật đã được phê duyệt. Điều kiện gỡ chặn là dịch vụ được ánh xạ sang mã dùng chung và nằm trong danh mục kỹ thuật đang có hiệu lực của cơ sở.
- Khâu kê đơn - không cho lưu dòng thuốc: khi mặt hàng thiếu số đăng ký, thiếu thông tin thầu, hoặc có đơn vị tính khác với đơn vị tính thanh toán trong danh mục. Điều kiện gỡ chặn là bổ sung đủ ba nhóm thông tin đó tại danh mục dược trước khi kê.
- Khâu thu ngân viện phí - không cho kết thúc lượt khám: khi tổng thành tiền của các dòng chi tiết chưa khớp cột tổng hợp của lượt. Điều kiện gỡ chặn là chạy lại chức năng tính tổng và đạt trạng thái cân bằng giữa hai lớp số liệu.
- Khâu kết xuất - không cho sinh file hồ sơ: khi chứng thư số đã hết hiệu lực, chưa được đăng ký trên Cổng, hoặc khi phiên bản chuẩn dữ liệu khai báo trong hệ thống chưa khớp chuẩn đang áp dụng. Điều kiện gỡ chặn là gia hạn hoặc đăng ký lại chứng thư và nâng phiên bản trước khi kết xuất.
Năm ràng buộc trên chặn dữ liệu sai ngay tại nguồn. Lớp rà soát của con người vẫn cần thiết như một lưới an toàn thứ hai, và checklist 12 điểm đối soát trước khi gửi hồ sơ là công cụ phù hợp cho lớp này.
Rút ngắn vòng đời một lỗi XML từ nửa ca trực xuống vài phút
Đường đi ngắn nhất khi Cổng trả về thông báo từ chối luôn gồm bảy chặng: đọc nguyên văn thông báo, xác định hồ sơ đang dừng ở điểm nào, tra bảng theo tên trường, lần theo MA_LK về bản ghi gốc ở bảng khác, sửa tại màn hình nghiệp vụ đã sinh ra dữ liệu, kết xuất lại, ký số lại. Bảy chặng đó không đổi dù cơ sở lớn hay nhỏ.
Điều thay đổi là thời gian. Chênh lệch giữa một cơ sở mất nửa ca trực và một cơ sở mất vài phút hiếm khi nằm ở kinh nghiệm của kế toán viện phí, vì cùng một người đó vẫn xử lý cùng một loại lỗi. Chênh lệch nằm ở chỗ hệ thống có chặn cứng dữ liệu sai ngay lúc lưu bản ghi hay không, và có chỉ thẳng được màn hình cần mở hay bắt người dùng tự đoán. Cơ sở nào chuyển được phần lớn bảng tra này thành ràng buộc kỹ thuật thì bảng tra chỉ còn dùng cho các trường hợp ngoại lệ.