Một kế toán viện phí ở bệnh viện tuyến huyện kể lại buổi chiều cuối kỳ quen thuộc: bấm gửi file XML lên Cổng tiếp nhận dữ liệu, chờ vài phút, rồi nhận về thông báo từ chối cả gói vì một trường dữ liệu ở dòng thứ ba bị sai kiểu giá trị. Toàn bộ 400 lượt khám trong file phải đợi sửa lại dòng đó, kết xuất lại, ký số lại rồi gửi lại từ đầu. Vấn đề không phải ở tốc độ đường truyền, mà ở việc lỗi chỉ lộ ra sau khi file đã rời khỏi cơ sở. Bài viết này trình bày cách xây dựng công cụ kiểm tra file XML BHYT chạy ngay trên HIS trước khi gửi Cổng, gồm bốn lớp kiểm tra cụ thể và bảng lỗi hay gặp nhất khi rà soát thủ công.
Rà soát file XML ngay trên HIS trước khi đóng gói gửi Cổng giám định, thay vì chờ thông báo từ chối
Vì sao "gửi trước, sửa sau" luôn tốn thời gian hơn kiểm tra trước
Cổng tiếp nhận dữ liệu giám định BHYT chỉ có một cách trả lời: nhận toàn bộ file hoặc từ chối toàn bộ file khi cấu trúc sai, còn khi cấu trúc đúng nhưng dữ liệu sai thì trả về danh sách từng lượt khám bị loại. Cả hai tình huống đều xảy ra sau khi file đã được kết xuất, ký số và gửi đi - nghĩa là kế toán phát hiện lỗi ở bước cuối cùng của quy trình, đúng lúc ít thời gian sửa nhất.
Hệ quả không dừng ở việc mất thời gian kết xuất lại. File đã ký số mà sửa tay lại nội dung sẽ làm hỏng chữ ký, vì chữ ký số tính trên toàn bộ nội dung file - chỉ cần đổi một ký tự là phải ký lại từ đầu. Nếu lỗi phát sinh từ dữ liệu gốc trên HIS (ví dụ một mã dịch vụ kỹ thuật chưa gắn giá, một trường ngày tháng nhập sai định dạng), sửa trực tiếp trên file XML còn tạo ra chênh lệch giữa dữ liệu trong HIS và hồ sơ đã gửi - khoản chênh này chính là thứ bị treo lại ở vòng hậu kiểm vài tháng sau.
Kiểm tra trước khi gửi đảo ngược trình tự đó: chạy đúng bộ ràng buộc mà Cổng sẽ áp dụng, nhưng chạy ngay trên dữ liệu gốc, trước khi đóng gói file. Sai ở đâu, sửa ở đúng màn hình nghiệp vụ đó trên HIS, rồi mới kết xuất và ký số lần cuối.
Bốn lớp kiểm tra bắt buộc trước khi đóng gói file
Đủ bộ file theo cấu trúc hiện hành
Gói hồ sơ khám chữa bệnh gửi Cổng theo chuẩn hiện hành (Quyết định 130/QĐ-BYT, được sửa đổi bởi Quyết định 4750/QĐ-BYT, Quyết định 3176/QĐ-BYT và mới nhất là Quyết định 1931/QĐ-BYT áp dụng từ 01/7/2026) gồm bảng check-in XML0 và 14 file đánh số: XML1 đến XML11, cùng XML13, XML14, XML15. Riêng XML12 - giám định y khoa - không nằm trong gói hồ sơ khám chữa bệnh thông thường gửi Cổng.
Lớp kiểm tra đầu tiên đơn giản nhưng hay bị bỏ qua: thiếu một file trong bộ, hoặc thừa một file không thuộc lượt khám đó, đều khiến toàn bộ gói bị chặn ngay ở khâu kiểm tra cấu trúc.
Trường bắt buộc trong từng bảng không được bỏ trống hoặc sai kiểu
XML1 (chỉ tiêu tổng hợp khám chữa bệnh), XML2 (chi tiết thuốc), XML3 (chi tiết dịch vụ kỹ thuật và vật tư y tế), XML4 (chi tiết cận lâm sàng) và XML5 (diễn biến lâm sàng) là năm bảng phát sinh dữ liệu nhiều nhất mỗi kỳ, cũng là nơi tập trung phần lớn lỗi trường bắt buộc. Từ Quyết định 1931/QĐ-BYT áp dụng từ 01/7/2026, trường MUC_HUONG mở rộng lên 04 ký tự và có thêm mã hoá SO_DANG_KY cho thuốc hiếm - cơ sở nào chưa cập nhật HIS theo độ dài trường mới sẽ bị chặn ngay ở lớp kiểm tra này dù trước đó vẫn gửi trơn tru.
Đối chiếu mã tra cứu với danh mục dùng chung
Mã dịch vụ kỹ thuật, mã thuốc, mã bệnh phải tồn tại trong danh mục dùng chung mà Cổng đang áp dụng tại thời điểm gửi. Đây là lớp kiểm tra dễ bị đánh giá thấp nhất vì file vẫn đúng cấu trúc, các trường vẫn đủ giá trị - chỉ có giá trị đó không khớp danh mục hiện hành. Tình huống hay gặp là danh mục kỹ thuật vừa đổi mã nhưng phần mềm chưa cập nhật, khiến mã cũ vẫn được chỉ định và xuất ra file dù đã hết hiệu lực.
Đối chiếu mã dịch vụ kỹ thuật, mã thuốc với danh mục dùng chung là lớp kiểm tra dễ bị bỏ sót nhất
Chữ ký số hợp lệ trong thẻ CHUKYDONVI
Lớp kiểm tra cuối cùng, cũng là lớp bắt buộc theo quy định hiện hành chứ không còn ở diện khuyến khích. Chữ ký nằm 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. Theo khoản 9 Điều 69 Nghị định 188/2025/NĐ-CP, 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 đó 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ử. Thông tư 12/2026/TT-BTC nhắc lại yêu cầu này ở phía hồ sơ đề nghị thanh toán. Cách cấu hình chi tiết từng bước nằm ngoài phạm vi bài này, có thể tham khảo tại bài ký số file XML BHYT.
Chứng thư số phải được đăng ký trước trên Cổng giám định thì bộ kiểm tra mới xác nhận chữ ký hợp lệ
Bảng lỗi hay gặp khi kiểm tra file XML BHYT tại chỗ
| Loại lỗi | Biểu hiện khi kiểm tra | Nơi cần sửa |
|---|---|---|
| Thiếu file trong bộ 14 file | Bộ hồ sơ báo thiếu bảng số thứ tự XML | Màn hình kết xuất hồ sơ giám định trên HIS |
| Trường bắt buộc để trống | Dòng dữ liệu có ô trống ở trường không được phép rỗng | Màn hình nhập liệu nghiệp vụ tương ứng (chỉ định, kê đơn, thu ngân) |
| Sai độ dài hoặc kiểu giá trị trường | Trường MUC_HUONG, mã bệnh, ngày tháng không đúng định dạng chuẩn | Danh mục dùng chung hoặc cấu hình trường trên HIS |
| Mã tra cứu không tồn tại trong danh mục | Mã dịch vụ kỹ thuật hoặc mã thuốc không khớp danh mục hiện hành | Bảng danh mục kỹ thuật, danh mục thuốc trên HIS |
| MA_LK không khớp giữa các bảng | Bảng chi tiết (XML2, XML3, XML4) có MA_LK nhưng bảng tổng hợp XML1 thiếu bản ghi tương ứng | Rà lại bản ghi XML1 của cùng lượt khám |
| Chữ ký số không hợp lệ | Thẻ CHUKYDONVI trống hoặc chứng thư số chưa đăng ký trên Cổng | Cấu hình ký số trên HIS và tài khoản trên Cổng giám định |
Quy trình ba bước chạy công cụ kiểm tra file XML BHYT trước khi gửi
- Kết xuất bộ file XML từ HIS như bình thường, nhưng chưa gửi ngay - đưa qua bộ kiểm tra nội bộ chạy lần lượt bốn lớp trên.
- Với những dòng bị bộ kiểm tra đánh dấu, quay lại đúng màn hình nghiệp vụ đã sinh ra dữ liệu đó (tiếp đón, chỉ định, kê đơn hay thu ngân) để sửa tại gốc, không sửa trực tiếp trên file XML.
- Kết xuất lại, ký số lần cuối và gửi khi bộ kiểm tra không còn dòng nào bị đánh dấu.
Sai lầm thường gặp: Một số cơ sở chạy kiểm tra nhưng chỉ dừng ở việc xem file có mở được hay không, tức mới kiểm tra cấu trúc XML thuần túy chứ chưa đối chiếu dữ liệu với danh mục dùng chung. File dạng này vẫn "hợp lệ về hình thức" nhưng vẫn bị Cổng loại từng lượt khám khi đối chiếu chéo.
Kiểm tra thủ công và kiểm tra tích hợp trên phần mềm khác nhau ở đâu
| Tiêu chí | Kiểm tra thủ công (mở file, dò bằng mắt) | Kiểm tra tích hợp trên HIS |
|---|---|---|
| Thời điểm phát hiện lỗi | Sau khi kết xuất, trước khi gửi (nếu có kiểm tra) hoặc sau khi Cổng trả về | Ngay khi lưu bản ghi ở khâu chỉ định, kê đơn, thu ngân |
| Đối chiếu danh mục dùng chung | Phải tải và so sánh thủ công, dễ dùng bản danh mục cũ | Tự động đối chiếu với danh mục đang cấu hình trên hệ thống |
| Kiểm tra MA_LK xuyên bảng | Khó thực hiện bằng mắt trên file có hàng trăm dòng | Đối chiếu tự động giữa bảng tổng hợp và bảng chi tiết |
| Rủi ro tái diễn kỳ sau | Cao, vì lỗi gốc trong quy trình nhập liệu chưa được chặn | Thấp hơn, vì ràng buộc đặt ngay tại điểm nhập liệu |
Chỉ gửi khi bộ kiểm tra không còn dòng dữ liệu nào bị đánh dấu lỗi
Kế toán viện phí vẫn là người quyết định cuối cùng trước khi bấm gửi
Bộ kiểm tra tự động rút ngắn thời gian rà soát, nhưng không thay thế được vai trò của người đọc thông báo lỗi và quyết định sửa ở đâu. Một dòng bị đánh dấu "mã dịch vụ kỹ thuật không khớp danh mục" có thể vì mã đó thật sự sai, hoặc vì danh mục dùng chung trên hệ thống chưa được cập nhật theo văn bản mới nhất - hai nguyên nhân này đòi hỏi hai hướng xử lý khác nhau, và chỉ người nắm nghiệp vụ mới phân biệt được.
Với các cơ sở đang gửi dữ liệu thủ công qua nhiều bước rời rạc - kết xuất từ một phần mềm, đối chiếu danh mục ở một file Excel khác, ký số bằng công cụ riêng - việc gộp bốn lớp kiểm tra vào một quy trình liên tục trên phần mềm quản lý bệnh viện giúp thời gian từ lúc kết thúc khám chữa bệnh đến lúc gửi hồ sơ hợp lệ lên Cổng giám định BHYT rút ngắn đáng kể, thay vì lặp lại chu trình gửi - bị từ chối - sửa - gửi lại mỗi kỳ quyết toán. Nếu cơ sở đã từng gặp thông báo lỗi khó hiểu từ Cổng sau khi gửi, bảng tra theo từng bảng dữ liệu trong bài lỗi XML giám định BHYT là nơi tra cứu nhanh hơn việc dò lại toàn bộ file; còn bức tranh tổng thể về nghiệp vụ viện phí - BHYT nằm ở cẩm nang quản lý viện phí và giám định BHYT.