{"codes": [{"code": "XML001", "severity": "CHAN", "layer": "XML", "title": "File XML vượt giới hạn 12MB", "meaning": "File tải lên lớn hơn 12MB — không kiểm được.", "trigger": "Kích thước nội dung > 12MB.", "basis": "Giới hạn kỹ thuật (phòng thủ DoS).", "sample": "File quá lớn (>12MB) — vượt giới hạn kiểm.", "action": "Tách hồ sơ hoặc nén; mỗi lần gửi 1 hồ sơ."}, {"code": "XML002", "severity": "CHAN", "layer": "XML", "title": "File chứa DOCTYPE/ENTITY (rủi ro XXE)", "meaning": "XML BHYT không dùng DTD; có DOCTYPE/ENTITY = từ chối vì rủi ro bảo mật (XXE/billion-laughs).", "trigger": "Xuất hiện '<!doctype' hoặc '<!entity' trong file.", "basis": "An toàn xử lý XML (chuẩn QĐ130 không dùng DTD).", "sample": "File chứa DOCTYPE/ENTITY — không hợp lệ với XML BHYT (từ chối vì rủi ro bảo mật).", "action": "Xuất lại XML từ HIS không kèm khai báo DTD/ENTITY."}, {"code": "XML003", "severity": "CHAN", "layer": "XML", "title": "Không phải XML hợp lệ", "meaning": "Nội dung không phân tích được thành XML.", "trigger": "Trình phân tích XML báo lỗi.", "basis": "Chuẩn XML QĐ130.", "sample": "File KHÔNG phải XML hợp lệ: <chi tiết lỗi>.", "action": "Kiểm mã hoá UTF-8, thẻ đóng/mở, ký tự đặc biệt."}, {"code": "XML004", "severity": "CHAN", "layer": "XML", "title": "Thẻ gốc không phải <GIAMDINHHS>", "meaning": "Hồ sơ giám định phải bọc trong thẻ gốc <GIAMDINHHS>.", "trigger": "root.tag != 'GIAMDINHHS'.", "basis": "QĐ130/QĐ-BYT. QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "Thẻ gốc phải là <GIAMDINHHS> (đang là <...>) — không đúng chuẩn QĐ130.", "action": "Bọc dữ liệu trong <GIAMDINHHS><THONGTINHOSO/><HOSO/></GIAMDINHHS>."}, {"code": "XML005", "severity": "CHAN", "layer": "XML", "title": "SOLUONGHOSO ≠ số HOSO thực tế", "meaning": "Số hồ sơ khai trong THONGTINHOSO khác số thẻ <HOSO> đếm được.", "trigger": "SOLUONGHOSO là số nhưng != số phần tử HOSO.", "basis": "QĐ130/QĐ-BYT. QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "SOLUONGHOSO khai N ≠ số HOSO thực tế (M).", "action": "Cập nhật SOLUONGHOSO cho khớp số hồ sơ đóng gói."}, {"code": "XML006", "severity": "GHICHU", "layer": "XML", "title": "Chưa gắn chữ ký số đơn vị (bước cuối trước khi nộp)", "meaning": "Hồ sơ chưa có chữ ký số của đơn vị. Đây là TRẠNG THÁI BÌNH THƯỜNG với bản xuất để kiểm tra (ký số là bước cuối, ngay trước khi truyền cổng) — KHÔNG phải lỗi nội dung hồ sơ.", "trigger": "Thẻ CHUKYDONVI thiếu/rỗng (thường gặp ở file xuất để đối chiếu, đã ẩn danh).", "basis": "QĐ4750/QĐ-BYT (liên thông ký số) — ký số bắt buộc khi NỘP cổng, không bắt buộc ở bản kiểm tra.", "sample": "CHUKYDONVI chưa có chữ ký số — bình thường với bản xuất để kiểm tra; khi nộp cổng cần ký số bằng chứng thư số của đơn vị.", "action": "Không cần xử lý nếu đang kiểm tra. Khi NỘP cổng: ký số hồ sơ bằng chứng thư số của cơ sở KCB."}, {"code": "XML007", "severity": "CHAN", "layer": "XML", "title": "Thiếu XML1 (TONG_HOP)", "meaning": "Hồ sơ bắt buộc phải có bảng tổng hợp XML1.", "trigger": "Không tìm thấy phần tử TONG_HOP.", "basis": "QĐ130/QĐ-BYT (XML1 bắt buộc). QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "Thiếu XML1 (TONG_HOP) — hồ sơ bắt buộc phải có bảng tổng hợp.", "action": "Xuất kèm bảng XML1 TONG_HOP."}, {"code": "XML008", "severity": "CHAN", "layer": "XML", "title": "XML1 thiếu trường khoá bắt buộc (MA_LK/MA_BENH_CHINH)", "meaning": "Thiếu mã liên kết hồ sơ hoặc mã bệnh chính — không giám định được.", "trigger": "MA_LK hoặc MA_BENH_CHINH trống.", "basis": "QĐ130/QĐ-BYT.", "sample": "XML1 thiếu/để trống trường bắt buộc <MA_LK|MA_BENH_CHINH>.", "action": "Điền MA_LK (mã hồ sơ) và MA_BENH_CHINH.", "deprecated": true, "uu_tien": 10}, {"code": "XML009", "severity": "CHAN", "deprecated": true, "layer": "XML", "title": "XML1 thiếu MA_THE_BHYT hoặc MA_CSKCB (mã cũ — nay báo dưới mã FLD001)", "meaning": "Mã này không còn được phát. Hồ sơ thiếu <MA_THE_BHYT> hoặc <MA_CSKCB> ở XML1 nay được báo dưới mã FLD001. Giữ mã XML009 để tra cứu các báo cáo cũ.", "trigger": "MA_THE_BHYT hoặc MA_CSKCB trống. (KHÔNG còn tự phát — xem FLD001.)", "basis": "QĐ130/QĐ-BYT.", "sample": "XML1 thiếu/để trống trường bắt buộc <MA_THE_BHYT|MA_CSKCB>.", "action": "Điền mã thẻ BHYT và mã cơ sở KCB. (Xem finding thực tế dưới mã FLD001.)", "uu_tien": 10}, {"code": "XML010", "severity": "CHAN", "layer": "XML", "title": "Dòng thuốc có MA_LK khác hồ sơ", "meaning": "Dòng chi tiết thuốc trỏ sai mã liên kết hồ sơ.", "trigger": "CHI_TIET_THUOC.MA_LK != TONG_HOP.MA_LK.", "basis": "QĐ130/QĐ-BYT (liên kết XML1↔XML2). QĐ130/QĐ-BYT Bảng chỉ tiêu, chỉ tiêu MA_LK, nguyên văn: “Là mã đợt điều trị duy nhất (dùng để liên kết giữa Bảng chỉ tiêu tổng hợp khám bệnh, chữa bệnh (bảng XML 1) và các bảng còn lại”.", "sample": "Dòng thuốc STT i có MA_LK='...' KHÁC hồ sơ ('...') — sai liên kết.", "action": "Đồng bộ MA_LK trên mọi dòng chi tiết với XML1."}, {"code": "XML011", "severity": "CHAN", "layer": "XML", "title": "Dòng thuốc thiếu MA_THUOC", "meaning": "Chi tiết thuốc không có mã thuốc.", "trigger": "CHI_TIET_THUOC.MA_THUOC trống.", "basis": "QĐ130/QĐ-BYT (XML2).", "sample": "Dòng thuốc STT i thiếu MA_THUOC.", "action": "Điền MA_THUOC (mã bộ mã dùng chung, vd 40.xxxx).", "deprecated": true}, {"code": "XML012", "severity": "CHAN", "layer": "XML", "title": "T_THUOC không cân với tổng dòng thuốc", "meaning": "Tổng tiền thuốc khai ở XML1 khác tổng tiền các dòng XML2.", "trigger": "So T_THUOC khai ở XML1 với TỔNG THANH_TIEN_BV của các dòng thuốc XML2; lệch quá 1.000đ thì chặn. Trường đối chiếu là THANH_TIEN_BV (không phải THANH_TIEN_BH) và ngưỡng là 1.000đ — theo nguyên văn QĐ130 chỉ tiêu T_THUOC.", "basis": "QĐ130/QĐ4750 (thống nhất số liệu bảng kê). QĐ130/QĐ-BYT Bảng chỉ tiêu, chỉ tiêu T_THUOC, nguyên văn: “Ghi tổng thành tiền (THANH_TIEN_BV) các khoản chi của thuốc (kể cả oxy), dịch truyền, máu và chế phẩm máu”.", "sample": "T_THUOC khai X đ ≠ tổng tiền các dòng thuốc Y đ.", "action": "Rà lại T_THUOC hoặc từng dòng THANH_TIEN cho khớp."}, {"code": "XT001", "severity": "CHAN", "layer": "XML", "title": "Bảng chi tiết trỏ sai mã liên kết hồ sơ (MA_LK)", "meaning": "MA_LK là khoá nối MỌI bảng của một hồ sơ về bảng XML1. Một bảng chi tiết ghi MA_LK khác tức hồ sơ đó đang trộn dữ liệu của hai lượt khám chữa bệnh khác nhau; cơ quan BHXH không ghép được và trả toàn bộ hồ sơ.", "trigger": "Bảng XML4 (cận lâm sàng), XML5 (diễn biến), XML7 (giấy ra viện), XML8 (tóm tắt bệnh án), XML13 (chuyển tuyến) hoặc XML14 (hẹn khám lại) có MA_LK khác MA_LK của bảng XML1. ⚠️ KHÁC XML010: XML010 chỉ canh DÒNG THUỐC của bảng XML2.", "action": "Sửa MA_LK của bảng bị lệch cho trùng MA_LK ở bảng XML1 của chính hồ sơ đó.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 chỉ tiêu MA_LK, nguyên văn: “Là mã đợt điều trị duy nhất (dùng để liên kết giữa Bảng chỉ tiêu tổng hợp khám bệnh, chữa bệnh (bảng XML 1) và các bảng còn lại ban hành kèm theo Quyết định này trong một lần khám bệnh, chữa bệnh (PRIMARY KEY))”.", "sample": "Bảng CHI_TIEU_DU_LIEU_GIAY_RA_VIEN: MA_LK='SAI_LIEN_KET_9999' KHÁC mã hồ sơ ('130906') — sai liên kết dữ liệu."}, {"code": "XT002", "severity": "CHAN", "layer": "XML", "title": "Ngày ra viện trước ngày vào viện", "meaning": "NGAY_RA sớm hơn NGAY_VAO — mốc thời gian điều trị phi lý. ⚠️ TRÙNG NỘI DUNG với FLD003 của tầng engine: hồ sơ gửi qua API /v1 sẽ nhận CẢ HAI mã cho cùng một sự việc (FLD003 do engine phát, XT002 do lớp đối soát liên bảng của API phát). Giữ cả hai để đối tác đã tích hợp không vỡ; khi đếm lỗi thì tính là MỘT.", "trigger": "NGAY_RA < NGAY_VAO (cả hai có giá trị).", "basis": "QĐ130/QĐ-BYT (chỉ tiêu ngày vào/ra XML1). QĐ130/QĐ-BYT chỉ tiêu NGAY_RA, nguyên văn: “Ghi thời điểm người bệnh kết thúc điều trị nội trú, kết thúc điều trị nội trú ban ngày, kết thúc điều trị ngoại trú hoặc kết thúc khám bệnh, gồm 12 ký tự theo định dạng yyyymmddHHMM”.", "sample": "Ngày phi lý: NGAY_RA (...) TRƯỚC NGAY_VAO (...).", "action": "Kiểm lại ngày vào/ra viện."}, {"code": "XT003", "severity": "CHAN", "layer": "XML", "title": "Lệch ngày giữa các bảng (XML1 vs giấy ra viện/tóm tắt)", "meaning": "Ngày vào/ra trên giấy ra viện (XML7) hoặc tóm tắt bệnh án (XML8) khác XML1 — số liệu giữa các bảng phải nhất quán.", "trigger": "NGAY_VAO/NGAY_RA ở XML7/XML8 khác XML1 (cả hai có giá trị).", "basis": "QĐ130/QĐ4750 (thống nhất số liệu liên bảng). QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "Lệch ngày liên bảng: NGAY_RA trên giấy ra viện (...) KHÁC XML1 (...).", "action": "Đồng bộ ngày vào/ra giữa XML1, giấy ra viện và tóm tắt bệnh án."}, {"code": "XT004", "severity": "CHAN", "layer": "XML", "title": "T_VTYT không cân với tổng dòng vật tư", "meaning": "Tổng tiền vật tư y tế khai ở XML1 khác tổng thành tiền các dòng VTYT ở XML3.", "trigger": "|T_VTYT - Σ THANH_TIEN_BV các dòng có MA_VAT_TU| > 1.000đ.", "basis": "QĐ130/QĐ4750 (thống nhất số liệu bảng kê). QĐ130/QĐ-BYT chỉ tiêu T_VTYT, nguyên văn: “Ghi tổng thành tiền của vật tư y tế trong trường thông tin THANH_TIEN_BV tại bảng XML 3 ban hành kèm theo Quyết định này”.", "sample": "T_VTYT khai X đ ≠ tổng thành tiền các dòng vật tư Y đ.", "action": "Rà lại T_VTYT hoặc từng dòng vật tư cho khớp."}, {"code": "XT005", "severity": "CHAN", "layer": "XML", "title": "Tổng chi (T_TONGCHI_BV) không cân với tổng các dòng", "meaning": "Tổng chi phí khai ở XML1 khác tổng thành tiền mọi dòng thuốc + DVKT/VTYT. (Chỉ đối soát TỔNG; KHÔNG kiểm phần chia đồng chi trả BN/BH vì cần dữ liệu thẻ.)", "trigger": "|T_TONGCHI_BV - Σ THANH_TIEN_BV (thuốc + DVKT)| > 1.000đ.", "basis": "QĐ130/QĐ4750 (thống nhất số liệu bảng kê — trục đối soát chi phí). QĐ130/QĐ-BYT chỉ tiêu T_TONGCHI_BV, nguyên văn: “Ghi tổng chi phí trong lần khám bệnh hoặc trong đợt điều trị, là tổng số tiền THANH_TIEN_BV tại bảng XML2 và XML3 ban hành kèm theo Quyết định này”.", "sample": "T_TONGCHI_BV khai X đ ≠ tổng thành tiền mọi dòng thuốc+DVKT Y đ.", "action": "Rà lại T_TONGCHI_BV hoặc các dòng chi tiết cho khớp."}, {"code": "XT006", "severity": "GHICHU", "layer": "XML", "title": "Kết quả cận lâm sàng (XML4) không khớp chỉ định XML3", "meaning": "Có kết quả cận lâm sàng (XML4) mang mã dịch vụ không nằm trong DVKT đã chỉ định (XML3). Bản chất: kết quả 'mồ côi' = viện làm mà không khai/không gắn chỉ định = VIỆN THIỆT, KHÔNG phải rủi ro quỹ → chỉ ghi chú đối chiếu dữ liệu. (Mã đã chuẩn hoá bỏ hậu tố ghép/liên viện; nếu toàn bộ mã CLS mồ côi = HIS mã hoá khác hệ thì bỏ qua.)", "trigger": "CHI_TIET_CLS.MA_DICH_VU (chuẩn hoá) không có trong tập MA_DICH_VU XML3, và không phải toàn bộ mồ côi.", "basis": "QĐ130 (XML4 kết quả CLS mã QĐ7603 gắn DVKT chỉ định XML3).", "sample": "Có N mã kết quả cận lâm sàng (XML4) không khớp dịch vụ chỉ định XML3 (...) — đối chiếu dữ liệu.", "action": "Đối chiếu dữ liệu; bổ sung dòng chỉ định XML3 nếu thiếu (không bắt buộc — không ảnh hưởng quỹ)."}, {"code": "XT007", "severity": "GHICHU", "layer": "XML", "title": "Bệnh chính là lao — cần bảng XML15 nếu có điều trị lao", "meaning": "Bệnh chính thuộc nhóm lao (A15–A19) nhưng hồ sơ chưa có bảng XML15 (chi tiết điều trị lao). Nếu đợt này có điều trị lao thì cần bổ sung; nếu chỉ theo dõi/không điều trị thì bỏ qua.", "trigger": "MA_BENH_CHINH ∈ A15–A19 và không có bảng XML15.", "basis": "QĐ4750/QĐ-BYT (bổ sung XML15 chi tiết điều trị bệnh lao).", "sample": "Bệnh chính là lao (A15.x) — nếu đợt này CÓ điều trị lao thì hồ sơ cần bảng XML15.", "action": "Bổ sung bảng XML15 nếu có điều trị lao; bỏ qua nếu không."}, {"code": "FLD001", "severity": "CHAN", "layer": "FIELD", "title": "Thiếu trường bắt buộc theo QĐ4750", "meaning": "Thiếu một trong các trường bắt buộc — chung của XML1 (vd NGAY_VAO/NGAY_RA/MA_LOAI_KCB/KET_QUA_DTRI/MA_THE_BHYT/MA_CSKCB) hoặc riêng của dòng thuốc (TEN_THUOC).", "trigger": "Trường bắt buộc trống.", "basis": "QĐ130/QĐ4750/QĐ-BYT — nhiều chỉ tiêu độc lập của Bảng 1/2/3 đều tự đánh dấu bắt buộc trong chính định nghĩa của mình; mỗi trường bắt buộc có định nghĩa riêng, không chung một câu trích. Ví dụ minh hoạ (chỉ tiêu TEN_THUOC), QĐ130/QĐ-BYT nguyên văn: “Ghi tên thuốc theo đúng tên thuốc được Cục Quản lý Dược hoặc”.", "sample": "XML1 thiếu trường bắt buộc <...> (chuẩn QĐ130/QĐ4750).", "action": "Điền đủ trường bắt buộc theo chuẩn dữ liệu đầu ra."}, {"code": "FLD002", "severity": "CHAN", "layer": "FIELD", "title": "Sai định dạng ngày (yyyyMMddHHmm)", "meaning": "Trường ngày/giờ không đúng 12 số yyyyMMddHHmm.", "trigger": "Giá trị ngày không khớp ^\\d{12}$.", "basis": "QĐ4750/QĐ-BYT. QĐ130/QĐ-BYT chỉ tiêu NGAY_RA, nguyên văn: “gồm 12 ký tự theo định dạng yyyymmddHHMM”.", "sample": "<...>='...' sai định dạng — phải yyyyMMddHHmm (12 số, QĐ4750).", "action": "Chuẩn hoá ngày giờ về 12 số yyyyMMddHHmm."}, {"code": "FLD003", "severity": "CHAN", "layer": "FIELD", "title": "NGAY_RA trước NGAY_VAO (sai logic thời gian)", "meaning": "⚠️ Trùng nội dung với XT002 (lớp API) — cùng một sự việc, đếm là MỘT. Ngày ra viện sớm hơn ngày vào viện.", "trigger": "NGAY_RA < NGAY_VAO.", "basis": "QĐ4750/QĐ-BYT. QĐ130/QĐ-BYT chỉ tiêu NGAY_RA, nguyên văn: “Ghi ngày kết thúc của đợt KBCB (là ngày cuối cùng sử dụng”.", "sample": "NGAY_RA (...) TRƯỚC NGAY_VAO (...) — sai logic thời gian.", "action": "Sửa NGAY_VAO/NGAY_RA cho đúng trình tự."}, {"code": "K1006OK", "severity": "GHICHU", "layer": "DANHMUC", "title": "Điều kiện TT20 theo ngưỡng xét nghiệm — ĐẠT, đối chiếu ngay trên hồ sơ", "meaning": "Thuốc có điều kiện thanh toán ràng theo ngưỡng xét nghiệm, và bảng XML4 (CHI_TIET_CLS) của chính hồ sơ có kết quả đạt ngưỡng — không phải lưu thêm chứng từ. Chỉ dùng để GỠ việc, không có nhánh nào dẫn tới chặn.", "trigger": "Điều kiện TT20 nêu ngưỡng xét nghiệm, và GIA_TRI của chỉ số tương ứng trong XML4 đạt ngưỡng đó.", "basis": "TT20/2022/TT-BYT cột 8 (điều kiện thanh toán); QĐ130/QĐ-BYT bảng XML4 các chỉ tiêu MA_CHI_SO · TEN_CHI_SO · GIA_TRI · DON_VI_DO; QĐ1227/QĐ-BYT danh mục mã chỉ số cận lâm sàng (đơn vị chuẩn của từng chỉ số).", "sample": "Thuốc Albumin: ĐẠT điều kiện thanh toán TT20 — xét nghiệm Albumin = 21,8 …", "action": "Không phải làm gì — điều kiện đã đối chiếu được trên chính hồ sơ."}, {"code": "K6017", "severity": "CHAN", "layer": "DANHMUC", "title": "Khai MÃ NỘI BỘ của cơ sở sau hạn chuyển đổi 01/8/2025", "meaning": "MA_DICH_VU là mã nội bộ của phần mềm bệnh viện, không thuộc danh mục mã dùng chung. Từ 01/8/2025 việc trích chuyển dữ liệu điện tử phải dùng mã danh mục dùng chung; engine vẫn giữ bảng ánh xạ để ĐỌC được dữ liệu trước mốc.", "trigger": "MA_DICH_VU không có trong danh mục QĐ2010 nhưng tra được trong bảng mã nội bộ của chính cơ sở, và NGAY_VAO >= 01/8/2025.", "basis": "QĐ2010/QĐ-BYT ngày 19/6/2025 Điều 5: các cơ sở KBCB… \"có trách nhiệm cập nhật, chuyển đổi các danh mục mã dùng chung ban hành kèm theo Quyết định này vào phần mềm để áp dụng trong trích chuyển dữ liệu điện tử chi phí khám bệnh, chữa bệnh bảo hiểm y tế chậm nhất kể từ ngày 01 tháng 8 năm 2025\".", "sample": "Dịch vụ 02.1896 (Khám Nội tổng hợp): đây là MÃ NỘI BỘ của cơ sở…", "action": "Khai lại MA_DICH_VU bằng mã thuộc danh mục dùng chung QĐ2010."}, {"code": "FLD029", "severity": "CHAN", "layer": "FIELD", "title": "Ngày y lệnh nằm NGOÀI đợt điều trị", "meaning": "Thời điểm ra y lệnh (NGAY_YL) hoặc thực hiện y lệnh (NGAY_TH_YL) của một dòng thuốc/dịch vụ rơi TRƯỚC ngày vào viện — dòng chi phí đó không thuộc đợt KCB này.", "trigger": "NGAY_YL hoặc NGAY_TH_YL < NGAY_VAO của chính hồ sơ.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 37 NGAY_YL: “Ghi thời điểm ra y lệnh, gồm 12 ký tự, theo cấu trúc: yyyymmddHHMM”. Y lệnh của ĐỢT ĐIỀU TRỊ đang đề nghị thanh toán thì mốc đó phải nằm trong khoảng vào viện - ra viện của chính đợt đó.", "sample": "thuốc STT 1 (...): <NGAY_YL>=20/06/2025 TRƯỚC ngày vào viện 01/07/2025.", "action": "Sửa NGAY_YL/NGAY_TH_YL của chính dòng đó về trong đợt điều trị, hoặc bỏ dòng chi phí không thuộc đợt này. KHÔNG sửa NGAY_VAO/NGAY_RA của hồ sơ."}, {"code": "FLD004", "severity": "CHAN", "deprecated": true, "layer": "FIELD", "title": "MA_KHOA không thuộc danh mục QĐ1804 (mã cũ — nay báo dưới mã K6006)", "meaning": "Mã này không còn được phát. Việc đối chiếu <MA_KHOA> với danh mục QĐ1804/QĐ-BYT Phụ lục 02 hoặc QĐ2010/QĐ-BYT Phụ lục 6 (tuỳ thời điểm) nay được báo dưới mã K6006. Giữ mã FLD004 để tra cứu các báo cáo cũ.", "trigger": "MA_KHOA đúng định dạng nhưng không thuộc danh mục. (KHÔNG còn tự phát — xem K6006.)", "basis": "QĐ1804/QĐ-BYT.", "sample": "MA_KHOA '...' KHÔNG có trong danh mục mã khoa dùng chung (QĐ1804) ⇒ SỬA <MA_KHOA> về mã thuộc danh mục.", "action": "Ánh xạ khoa nội bộ HIS sang mã khoa dùng chung QĐ1804. (Xem finding thực tế dưới mã K6006.)"}, {"code": "FLD005", "severity": "CHAN", "layer": "FIELD", "title": "MA_KHOA sai định dạng", "meaning": "Mã khoa phải theo dạng 'K'+số.", "trigger": "MA_KHOA không khớp K\\d+.", "basis": "QĐ1804/QĐ-BYT. QĐ130/QĐ-BYT chỉ tiêu MA_KHOA, nguyên văn: “Ghi mã khoa nơi người bệnh điều trị”.", "sample": "MA_KHOA '...' sai định dạng (chuẩn mã 'K'+số, QĐ1804).", "action": "Sửa MA_KHOA về dạng K + số (vd K02)."}, {"code": "FLD006", "severity": "CHAN", "layer": "FIELD", "title": "MA_KHOA để trống (bắt buộc từ 01/8/2026)", "meaning": "Từ 01/8/2026 MA_KHOA là trường bắt buộc.", "trigger": "MA_KHOA trống.", "basis": "QĐ1804/QĐ-BYT (hiệu lực 01/8/2026). QĐ130/QĐ-BYT chỉ tiêu MA_KHOA, nguyên văn: “Ghi mã khoa nơi người bệnh điều trị”.", "sample": "MA_KHOA để trống — bắt buộc khai từ 01/8/2026 theo QĐ1804/QĐ-BYT.", "action": "Bổ sung MA_KHOA cho mỗi bản ghi."}, {"code": "FLD007", "severity": "CHAN", "layer": "FIELD", "title": "GIOI_TINH không hợp lệ", "meaning": "Giới tính chỉ nhận 1 (Nam) / 2 (Nữ) / 3 (Chưa xác định).", "trigger": "GIOI_TINH không ∈ {1,2,3}.", "basis": "QĐ130/QĐ-BYT. QĐ130/QĐ-BYT Bảng chỉ tiêu, chỉ tiêu GIOI_TINH, nguyên văn: “Là mã giới tính của người bệnh (1: Nam; 2: Nữ; 3: Chưa xác định)”.", "sample": "GIOI_TINH='...' không hợp lệ — chuẩn QĐ130 chỉ nhận 1 (Nam) / 2 (Nữ) / 3 (Chưa xác định).", "action": "Chuẩn hoá GIOI_TINH về 1/2/3."}, {"code": "FLD008", "severity": "CHAN", "deprecated": true, "layer": "FIELD", "title": "MA_THE_BHYT sai cấu trúc 15 ký tự (mã cũ — nay báo dưới mã K2002)", "meaning": "Mã này không còn được phát. Việc đối chiếu cấu trúc 15 ký tự của <MA_THE_BHYT> theo QĐ1351/QĐ-BHXH (sửa đổi bởi QĐ1697/QĐ-BHXH) nay được báo dưới mã K2002. Giữ mã FLD008 để tra cứu các báo cáo cũ.", "trigger": "MA_THE_BHYT không đúng cấu trúc 15 ký tự. (KHÔNG còn tự phát — xem K2002.)", "basis": "QĐ1351/QĐ-BHXH.", "sample": "MA_THE_BHYT='...' sai cấu trúc — mã thẻ BHYT gồm 15 ký tự (2 chữ + 13 số) theo QĐ1351/QĐ-BHXH.", "action": "Kiểm lại mã thẻ (2 chữ đầu + 13 số). (Xem finding thực tế dưới mã K2002.)"}, {"code": "FLD009", "severity": "GHICHU", "layer": "FIELD", "title": "XML1/2/3 có trường lạ ngoài chuẩn", "meaning": "Có thẻ không thuộc danh mục chỉ tiêu QĐ130/QĐ4750/QĐ3176 — KHÔNG phải lỗi chặn.", "trigger": "Xuất hiện thẻ ngoài danh mục trường XML1/XML2/XML3.", "basis": "QĐ130/QĐ-BYT Bảng 1/2/3 — danh mục chỉ tiêu không liệt kê trường này.", "sample": "XML1 có N trường NGOÀI CHUẨN: ... — không có trong bảng chỉ tiêu QĐ130/QĐ4750/QĐ3176. ĐẠT.", "action": "Báo lại nhà cung cấp HIS bỏ trường thừa ở lần nâng cấp tới."}, {"code": "FLD010", "severity": "CHAN", "layer": "FIELD", "title": "XML2 có trường lạ ngoài chuẩn", "meaning": "Có thẻ không thuộc chuẩn XML2 (thuốc).", "trigger": "Xuất hiện thẻ ngoài danh mục trường XML2.", "basis": "QĐ130/QĐ-BYT. QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "XML2 (thuốc) có trường LẠ ngoài chuẩn: ... — không thuộc danh mục chỉ tiêu QĐ130 Bảng 2.", "action": "Bỏ các thẻ ngoài chuẩn khỏi XML2."}, {"code": "FLD011", "severity": "CHAN", "layer": "FIELD", "title": "XML3 có trường lạ ngoài chuẩn", "meaning": "Có thẻ không thuộc chuẩn XML3 (DVKT/VTYT).", "trigger": "Xuất hiện thẻ ngoài danh mục trường XML3.", "basis": "QĐ130/QĐ-BYT. QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "XML3 (DVKT/VTYT) có trường LẠ ngoài chuẩn: ... — không thuộc danh mục chỉ tiêu QĐ130 Bảng 3.", "action": "Bỏ các thẻ ngoài chuẩn khỏi XML3."}, {"code": "KS001", "severity": "GHICHU", "layer": "K2", "title": "Thuốc phải kiểm soát đặc biệt (gây nghiện/hướng thần/tiền chất)", "meaning": "Thuốc thuộc danh mục phải kiểm soát đặc biệt (gây nghiện, hướng thần, tiền chất dùng làm thuốc) — cần đơn thuốc và sổ theo dõi đúng quy định kê đơn/cấp phát thuốc kiểm soát đặc biệt.", "trigger": "Tên thuốc khớp hoạt chất trong danh mục kiểm soát đặc biệt (TT18/2026/TT-BYT PL1/2/3).", "basis": "TT18/2026/TT-BYT (hiệu lực 16/7/2026) — thuốc, nguyên liệu làm thuốc phải kiểm soát đặc biệt.", "sample": "Thuốc kiểm soát đặc biệt (gây nghiện): \"Morphin 10mg\" thuộc danh mục thuốc phải kiểm soát đặc biệt (TT18/2026/TT-BYT).", "action": "Đối chiếu đơn thuốc gây nghiện/hướng thần + sổ theo dõi theo quy định; đảm bảo đúng thủ tục kê đơn."}, {"code": "EX23", "severity": "CHAN", "layer": "K5", "title": "Chẩn đoán ngoài phạm vi hưởng BHYT (Điều 23)", "meaning": "Chẩn đoán chính thuộc trường hợp Điều 23 Luật BHYT loại trừ: dịch vụ thẩm mỹ (khoản 6), khám sức khỏe (khoản 3), hoặc điều trị lác/tật khúc xạ quá mốc tuổi (khoản 7).", "trigger": "MA_BENH_CHINH thuộc DIEU23_khoan3_khoan6.csv với mức CHAN tại mốc của lượt KCB; hoặc lác/tật khúc xạ CÓ điều trị và quá mốc tuổi.", "basis": "Luật BHYT Điều 23, nguyên văn theo VBHN 40/VBHN-VPQH ngày 16/3/2026 — khoản 6 \"Sử dụng dịch vụ thẩm mỹ.\" (không sửa từ 2008); khoản 3 bản 25/2008 \"Khám sức khỏe.\", từ 01/7/2026 theo Luật Phòng bệnh 114/2025/QH15 \"Khám sức khỏe, TRỪ khám sức khỏe định kỳ và khám sàng lọc\"; khoản 7 \"Điều trị lác và tật khúc xạ của mắt đối với người từ đủ 18 tuổi trở lên\" (Luật 51/2024, trước đó Luật 46/2014 mốc 6 tuổi).", "sample": "Chẩn đoán chính Z41.1 (Phẫu thuật tạo hình do diện mạo bên ngoài không như mong muốn).", "action": "CHUYỂN chi phí sang nguồn ngoài BHYT, hoặc sửa <MA_BENH_CHINH> nếu lượt KCB thực tế là khám chữa bệnh."}, {"code": "B4", "severity": "CHAN", "layer": "B", "title": "Cấp thuốc ngoại trú vượt trần số ngày kê đơn", "meaning": "Thuốc kê cho lượt ngoại trú đủ dùng nhiều ngày hơn trần cho phép; số ngày do CƠ SỞ KHAI THẲNG trong LIEU_DUNG.", "trigger": "MA_LOAI_KCB=1 và số ngày ghi thẳng trong LIEU_DUNG lớn hơn trần của mã bệnh trong lượt.", "basis": "TT26/2025/TT-BYT Điều 6 khoản 8 điểm a: “Kê đơn thuốc với số ngày sử dụng của mỗi thuốc tối đa không quá ba mươi (30) ngày”; điểm b cho bệnh thuộc Phụ lục VII được kê trên 30 ngày. Trần lấy mức CAO NHẤT trong các mã bệnh của lượt KCB.", "sample": "[B4] 12 thuốc điều trị ngoại trú cấp VƯỢT trần số ngày kê đơn.", "action": "GIẢM số lượng thuốc về đúng trần số ngày kê đơn, hoặc tách thành nhiều đơn."}, {"code": "B4U", "severity": "GHICHU", "layer": "B", "title": "Nghi vượt trần số ngày kê đơn — số ngày do ƯỚC LƯỢNG", "meaning": "Như B4 nhưng số ngày KHÔNG do cơ sở khai thẳng; hệ thống ước lượng bằng số lượng chia liều dùng mỗi ngày.", "trigger": "MA_LOAI_KCB=1, LIEU_DUNG không ghi số ngày, ước lượng SO_LUONG / liều-mỗi-ngày vượt trần.", "basis": "TT26/2025/TT-BYT Điều 6 khoản 8 điểm a: số ngày sử dụng của mỗi thuốc trong đơn ngoại trú TỐI ĐA 30 ngày; riêng bệnh thuộc Phụ lục VII được kê tới 90 ngày (điểm b). Số ngày là ƯỚC LƯỢNG từ LIEU_DUNG (chữ tự do) nên KHÔNG tuyên xuất toán — phép so số ngày ước lượng có thể sai nên không dùng để kết luận vi phạm.", "sample": "[B4U] 3 thuốc ngoại trú nghi vượt trần số ngày kê đơn (số ngày ước lượng).", "action": "ĐẠT — nêu để cơ sở tự đối chiếu số ngày kê thực tế."}, {"code": "K1006A", "severity": "GHICHU", "layer": "K1", "title": "Điều kiện TT20 theo dạng bào chế — ĐẠT", "meaning": "Thuốc thuộc dòng TT20 có tỷ lệ thanh toán theo DẠNG BÀO CHẾ; dạng của thuốc này không bị giảm tỷ lệ.", "trigger": "Số đăng ký tra được trong bảng TT20_TYLE_THEO_SDK.csv với ty_le = 100.", "basis": "TT20/2022/TT-BYT cột 8 — 4 dòng quy định tỷ lệ theo dạng: 40.359 Doxorubicin, 40.375 L-asparaginase, 40.387 Paclitaxel, 40.805 Insulin analog trộn. Dạng tra theo SỐ ĐĂNG KÝ từ cột dangbaoche của bảng giá trúng thầu BHXH.", "sample": "[K1006A] Thuốc Doxorubicin: dạng Dung dịch đậm đặc ... được thanh toán 100%. ĐẠT.", "action": "ĐẠT — thuốc không thuộc dạng bị giảm tỷ lệ."}, {"code": "K1006B", "severity": "CHAN", "layer": "K1", "title": "Dạng bào chế bị giảm tỷ lệ thanh toán theo TT20", "meaning": "Dạng bào chế của thuốc thuộc nhóm chỉ được thanh toán một phần theo cột 8 TT20.", "trigger": "Số đăng ký tra được trong bảng TT20_TYLE_THEO_SDK.csv với ty_le < 100.", "basis": "TT20/2022/TT-BYT cột 8 — vd 40.359 Doxorubicin: thanh toan 50% doi voi dang liposome; 100% doi voi cac dang khac. TT20/2022/TT-BYT Điều 2 khoản 1 điểm đ, nguyên văn: “Cột 8: Ghi điều kiện, tỷ lệ thanh toán và ghi chú cụ thể của một số thuốc”.", "sample": "[K1006B] Thuốc CHEMODOX: dạng Thuốc tiêm liposome chỉ được thanh toán 50%.", "action": "SỬA TYLE_TT_BH của dòng thuốc về đúng tỷ lệ theo dạng bào chế."}, {"code": "K6010A", "severity": "GHICHU", "layer": "K6", "title": "NGAY_TH_YL ghi sau NGAY_KQ — dấu thời gian của phần mềm", "meaning": "Thời điểm thực hiện y lệnh ghi sau thời điểm có kết quả; thường do HIS đóng dấu bằng giờ xuất dữ liệu.", "trigger": "NGAY_TH_YL > NGAY_KQ trên dòng DVKT, trong khi NGAY_YL <= NGAY_KQ.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 36 và 37 chỉ định nghĩa định dạng chuỗi 12 ký tự, KHÔNG quy định thứ tự bắt buộc. NĐ188/2025 Điều 51 khoản 1 chỉ từ chối chi phí xác định không đúng quy định — dấu thời gian lệch không làm chi phí sai.", "sample": "[K6010A] Định nhóm máu ABO: NGAY_TH_YL 20250512 SAU NGAY_KQ 20250501.", "action": "ĐẠT về thanh toán — chỉnh phần mềm HIS ghi đúng thời điểm thực hiện."}, {"code": "EX001OK", "severity": "GHICHU", "layer": "K5", "title": "SĐK bị rút SAU lượt KCB — vẫn hợp lệ", "meaning": "Thuốc có số đăng ký đã bị Cục QLD rút, nhưng lượt khám chữa bệnh diễn ra TRƯỚC ngày rút.", "trigger": "SO_DANG_KY thuộc danh sách rút, và NGAY_VAO sớm hơn ngày rút.", "basis": "Không áp danh sách rút số đăng ký ngược về quá khứ — thuốc còn lưu hành hợp pháp tại thời điểm sử dụng.", "sample": "Thuốc X (SĐK VD-12345-20) bị RÚT số đăng ký ngày 20250801 — NHƯNG lượt KCB ngày 20250601 diễn ra TRƯỚC mốc đó.", "action": "ĐẠT — thuốc còn hợp lệ tại thời điểm khám chữa bệnh."}, {"code": "THU001OK", "severity": "GHICHU", "layer": "K5", "title": "SĐK bị thu hồi SAU lượt KCB — vẫn hợp lệ", "meaning": "Thuốc có số đăng ký bị thu hồi/đình chỉ, nhưng lượt khám chữa bệnh diễn ra TRƯỚC ngày quyết định.", "trigger": "SO_DANG_KY thuộc danh sách thu hồi, và NGAY_VAO sớm hơn ngày quyết định.", "basis": "Không áp quyết định thu hồi ngược về quá khứ — thuốc còn lưu hành hợp pháp tại thời điểm sử dụng.", "sample": "Thuốc Y (SĐK VD-67890-19) bị thu hồi ngày 20250901 — NHƯNG lượt KCB ngày 20250701 diễn ra TRƯỚC quyết định.", "action": "ĐẠT — thuốc còn hợp lệ tại thời điểm khám chữa bệnh."}, {"code": "EX23OK", "severity": "GHICHU", "layer": "K5", "title": "Lác/tật khúc xạ nhưng lượt CHỈ đi khám — ĐẠT", "meaning": "Chẩn đoán chính là lác/tật khúc xạ ở người quá mốc tuổi, nhưng hồ sơ CHỈ có tiền khám: không thuốc, không dịch vụ điều trị.", "trigger": "MA_BENH_CHINH thuộc {H49,H50,H52}, tuổi quá mốc, và hồ sơ KHÔNG có dòng điều trị nào.", "basis": "Luật BHYT Điều 23 khoản 7 đặt loại trừ trên việc ĐIỀU TRỊ lác/tật khúc xạ — không đặt trên chẩn đoán hay việc khám.", "sample": "Chẩn đoán chính H52.6 (tật khúc xạ) ở người 50 tuổi — ĐẠT: hồ sơ CHỈ có tiền khám.", "action": "ĐẠT — lượt chỉ đi khám không thuộc diện loại trừ."}, {"code": "K6015", "severity": "GHICHU", "layer": "K6", "title": "MA_KHOA khai kèm hậu tố nội bộ — chuẩn hoá định dạng", "meaning": "Mã khoa ghi kèm hậu tố riêng của cơ sở (vd K0251 thay vì K02). Là việc chuẩn hoá ĐỊNH DẠNG, không ảnh hưởng số tiền đề nghị thanh toán.", "trigger": "MA_KHOA khớp một mã danh mục sau khi cắt hậu tố số.", "basis": "QĐ130/QĐ-BYT Bảng 1 trường MA_KHOA (Chuỗi 50): độ dài 50 dành cho NHIỀU MÃ ngăn bởi dấu chấm phẩy, không phải để nối thêm hậu tố.", "sample": "[K6015] LƯU Ý ĐỊNH DẠNG: 1 MÃ KHOA khai kèm HẬU TỐ NỘI BỘ (K0251 -> K02).", "action": "ĐẠT — chỉ nên chuẩn hoá định dạng MA_KHOA trước khi gửi cổng."}, {"code": "K6016", "severity": "GHICHU", "layer": "K6", "title": "TT_THAU có mã nhóm thầu ngoài danh mục (N0)", "meaning": "Mã nhóm thầu trong TT_THAU không thuộc N1-N6 của QĐ5937. Có thể là hàng mua sắm không qua đấu thầu.", "trigger": "TT_THAU chứa mã bắt đầu bằng N, độ dài tối đa 3, ngoài danh mục.", "basis": "QĐ3176/QĐ-BYT dẫn Phụ lục 6 (thuốc G1-G5 x N1-N5) và Phụ lục 7 (VTYT N1-N6) QĐ5937 — không có mã N0. Có thể là hàng mua sắm ngoài đấu thầu nên chưa đủ căn cứ kết luận vi phạm.", "sample": "[K6016] TT_THAU có mã nhóm thầu ngoài danh mục QĐ5937 (N0).", "action": "ĐẠT — nêu để cơ sở tự kiểm mã nhóm thầu."}, {"code": "K7002", "severity": "GHICHU", "layer": "K7", "title": "Tương tác thuốc CÓ ĐIỀU KIỆN — điều kiện KHÔNG thoả", "meaning": "QĐ5948 xếp cặp này chống chỉ định CÓ ĐIỀU KIỆN, và điều kiện đã xác định được từ chính hồ sơ là không thoả (tuổi, nhóm bệnh nhân, dạng bào chế).", "trigger": "Cặp hoạt chất thuộc QĐ5948 nhưng ràng buộc kèm theo không thoả trên hồ sơ này.", "basis": "QĐ5948/QĐ-BYT — Danh mục tương tác thuốc chống chỉ định, cột điều kiện áp dụng.", "sample": "[K7002] Tương tác có điều kiện (KHÔNG thuộc diện chống chỉ định): ceftriaxon + dịch chứa calci.", "action": "ĐẠT — ghi nhận, không phải điểm cần sửa."}, {"code": "EX24", "severity": "GHICHU", "layer": "K5", "title": "Khám SÀNG LỌC trước 01/7/2026 — chưa kết luận", "meaning": "Chẩn đoán chính là khám sàng lọc, lượt KCB diễn ra trước 01/7/2026 khi khoản 3 còn ghi trống \"Khám sức khỏe.\"", "trigger": "MA_BENH_CHINH thuộc nhóm SANG_LOC của DIEU23_khoan3_khoan6.csv và NGAY_VAO sớm hơn 20260701.", "basis": "Luật BHYT 25/2008 Điều 23 khoản 3 chỉ ghi \"Khám sức khỏe.\" — KHÔNG nói khám sàng lọc có thuộc diện này hay không. Từ 01/7/2026 (Luật Phòng bệnh 114/2025/QH15) khoản 3 ghi rõ TRỪ khám sàng lọc.", "sample": "Chẩn đoán chính Z12.5 (Khám sàng lọc chuyên khoa u tân sinh tiền liệt tuyến), vào viện 01/6/2025.", "action": "ĐẠT — hệ thống chưa kết luận vì văn bản áp cho mốc này không nói rõ."}, {"code": "FLD012", "severity": "CHAN", "layer": "FIELD", "title": "Trường mã hoá sai giá trị (ngoài danh mục QĐ130)", "meaning": "Trường mã hoá enum (MA_TAI_NAN, KET_QUA_DTRI, MA_LOAI_RV, MA_KHUVUC, PHAM_VI) có giá trị không thuộc danh mục giá trị hợp lệ theo chuẩn QĐ130/QĐ-BYT.", "trigger": "Giá trị trường nằm ngoài tập enum quy định (vd KET_QUA_DTRI=9, MA_LOAI_RV=0, PHAM_VI=5).", "basis": "QĐ130/QĐ-BYT (bảng mã danh mục dùng chung XML1/XML2/XML3). QĐ130/QĐ-BYT chỉ tiêu PHAM_VI, nguyên văn: “Ghi mã để xác định phạm vi của thuốc, trong đó:”.", "sample": "Trường KET_QUA_DTRI='9' không thuộc danh mục giá trị hợp lệ [1–7...] (QĐ130/QĐ-BYT Bảng mã).", "action": "Sửa giá trị trường về đúng danh mục mã QĐ130 trước khi nộp cổng."}, {"code": "PV001", "severity": "CHAN", "layer": "MH", "title": "Dòng ngoài phạm vi BHYT (PHAM_VI=2) nhưng vẫn có tiền BHYT", "meaning": "Dòng thuốc/DVKT khai PHAM_VI=2 (ngoài phạm vi hưởng BHYT — người bệnh tự trả) nhưng lại có THANH_TIEN_BH > 0 (quỹ BHYT thanh toán) → mâu thuẫn, nghi thu BHYT cho khoản ngoài phạm vi.", "trigger": "Dòng chi phí có PHAM_VI=2 và THANH_TIEN_BH > 0.", "basis": "QĐ130/QĐ-BYT (PHAM_VI) + nguyên tắc thanh toán phạm vi quyền lợi BHYT. QĐ130/QĐ-BYT chỉ tiêu PHAM_VI, nguyên văn: “Ghi mã để xác định phạm vi của thuốc, trong đó: - Mã ”1”: là thuốc trong phạm vi hưởng BHYT”.", "sample": "Dòng \"...\" khai PHAM_VI=2 (NGOÀI phạm vi hưởng BHYT) nhưng có tiền BHYT thanh toán ...đ — mâu thuẫn.", "action": "Rà lại: nếu đúng ngoài phạm vi thì THANH_TIEN_BH=0 (người bệnh tự trả); nếu trong phạm vi thì sửa PHAM_VI."}, {"code": "MN001", "severity": "CHAN", "layer": "FIELD", "title": "MA_NHOM (nhóm chi phí) không hợp lệ", "meaning": "Nhóm chi phí của dòng thuốc/DVKT/VTYT không thuộc 14 giá trị chuẩn (Xét nghiệm/CĐHA/TDCN/Thuốc/Máu/Phẫu thuật/VTYT/Vận chuyển/Khám/Giường/Thủ thuật...).", "trigger": "MA_NHOM có giá trị ngoài danh mục 14 nhóm chi phí.", "basis": "QĐ5937/QĐ-BYT Phụ lục 3 (mã nhóm chi phí XML2/XML3), chuẩn dữ liệu QĐ130/QĐ-BYT. QĐ130/QĐ-BYT chỉ tiêu MA_NHOM, nguyên văn: “Là mã nhóm theo chi phí, dùng để phân loại, sắp xếp các chi phí vào các nhóm. Ghi theo Phụ lục số 3 ban hành kèm theo Quyết định số 5937/QĐ-BYT”.", "sample": "Sai nhóm chi phí: ... MA_NHOM='...' không thuộc danh mục 14 nhóm chi phí (QĐ5937/QĐ-BYT PL3).", "action": "Sửa MA_NHOM về đúng nhóm chi phí của dòng chi phí (tra bảng 14 nhóm QĐ5937 PL3)."}, {"code": "MN002", "severity": "CHAN", "layer": "FIELD", "title": "MA_NHOM xếp sai loại chi phí (thuốc↔dịch vụ)", "meaning": "Dòng THUỐC (XML2) khai nhóm dịch vụ, hoặc dòng DỊCH VỤ KỸ THUẬT (XML3) khai nhóm Thuốc → xếp sai nhóm chi phí, ảnh hưởng phân nhóm DRG và báo cáo quyết toán.", "trigger": "Dòng thuốc MA_NHOM ∉ {4,7,17}; hoặc dòng DVKT MA_NHOM = 4 (Thuốc).", "basis": "QĐ5937/QĐ-BYT Phụ lục 3 + cấu trúc XML2 (thuốc) / XML3 (DVKT) QĐ130/QĐ-BYT. QĐ130/QĐ-BYT chỉ tiêu MA_NHOM, nguyên văn: “Là mã nhóm theo chi phí, dùng để phân loại, sắp xếp các chi phí vào các nhóm. Ghi theo Phụ lục số 3 ban hành kèm theo Quyết định số 5937/QĐ-BYT”.", "sample": "Sai nhóm chi phí: dòng thuốc \"...\" khai MA_NHOM='1' (Xét nghiệm) — dòng thuốc phải thuộc nhóm 4/7/17.", "action": "Sửa MA_NHOM cho khớp loại chi phí của dòng (thuốc = 4/7/17; dịch vụ kỹ thuật ≠ 4)."}, {"code": "MH001", "severity": "GHICHU", "layer": "MH", "title": "Mức hưởng dòng khác mức cơ sở của thẻ (đối chiếu quyền lợi)", "meaning": "Tỷ lệ hưởng khai trên dòng khác mức CƠ SỞ suy từ ký tự thứ 3 mã thẻ. Cao hơn cơ sở là BÌNH THƯỜNG với diện miễn/giảm đồng chi trả (đủ 5 năm liên tục + chi vượt ngưỡng, hoặc nhóm quyền lợi cao) — công cụ không có lịch sử thẻ để xác nhận nên chỉ ghi chú để đối chiếu.", "trigger": "MUC_HUONG dòng != mức hưởng cơ sở theo thẻ (QĐ1351).", "basis": "QĐ1351/QĐ-BHXH (ký tự 3 = mức cơ sở); miễn/giảm đồng chi trả theo Luật BHYT.", "sample": "Mức hưởng dòng 100% cao hơn mức cơ sở của thẻ (80%) — hợp lệ nếu miễn/giảm đồng chi trả. Đối chiếu thẻ nếu cần.", "action": "Đối chiếu quyền lợi thẻ (miễn/giảm đồng chi trả, 5 năm liên tục) nếu cần — không bắt buộc."}, {"code": "MH003", "severity": "GHICHU", "layer": "MH", "title": "Mức hưởng 100% hợp lệ — đã đối chiếu miễn cùng chi trả", "meaning": "Hồ sơ có NGAY_MIEN_CCT (ngày miễn cùng chi trả) → người bệnh đã đủ 5 năm liên tục + chi vượt ngưỡng, mức hưởng 100% là HỢP LỆ. Engine xác nhận để giám định viên yên tâm, KHÔNG phải cảnh báo.", "trigger": "MUC_HUONG dòng = 100% cao hơn mức cơ sở thẻ VÀ có NGAY_MIEN_CCT.", "basis": "Luật BHYT (miễn cùng chi trả khi đủ 5 năm liên tục + chi vượt 6 lần mức tham chiếu) + QĐ130 (NGAY_MIEN_CCT).", "sample": "Mức hưởng 100% KHỚP diện MIỄN CÙNG CHI TRẢ (có NGAY_MIEN_CCT ...) — HỢP LỆ.", "action": "Không cần xử lý — thông tin xác nhận."}, {"code": "MH004", "severity": "GHICHU", "layer": "MH", "title": "Mức hưởng 100% đúng do chi phí dưới 15% lương cơ sở", "meaning": "Dòng chi ghi mức hưởng 100 trong khi ký tự thứ 3 mã thẻ cho mức thấp hơn, NHƯNG tổng chi trong phạm vi được hưởng của lượt KCB thấp hơn 15% mức lương cơ sở — luật cho hưởng 100%. Hệ thống TỰ kết luận, cơ sở không phải đối chiếu gì.", "trigger": "MUC_HUONG dòng = 100, mức thẻ < 100, và T_TONGCHI_BH < 351.000đ (15% × 2.340.000đ).", "action": "Không phải sửa gì.", "basis": "NĐ188/2025/NĐ-CP Điều 17 khoản 1 (mức chi phí một lần KCB để hưởng 100% là thấp hơn 15% mức lương cơ sở); QĐ3176/QĐ-BYT hướng dẫn trường MUC_HUONG: tổng chi trong phạm vi được hưởng dưới 15% mức lương cơ sở thì ghi mức hưởng 100. Lương cơ sở 2.340.000đ trích từ NĐ188/2025/NĐ-CP và TT24/2025/TT-BYT.", "sample": "Mức hưởng 100% ĐÚNG QUY ĐỊNH: tổng chi trong phạm vi được hưởng 128.000đ THẤP HƠN 15% mức lương cơ sở (351.000đ)."}, {"code": "MH002", "severity": "GHICHU", "layer": "MH", "title": "Mức hưởng — khác cấp/trái tuyến (rà theo thông cấp)", "meaning": "Mã đối tượng KCB cho thấy khám khác cấp chuyên môn → mức hưởng có thể giảm. LƯU Ý: từ 01/7/2025 Luật BHYT 51/2024/QH15 áp dụng THÔNG CẤP — nhiều trường hợp trước là 'trái tuyến' nay hưởng đủ tại cấp ban đầu/cấp cơ bản toàn quốc; đối chiếu theo cấp chuyên môn kỹ thuật thay vì 'tuyến' cũ ⇒ ĐẠT, không phải trái tuyến.", "trigger": "MA_DOITUONG_KCB thuộc nhóm khác cấp/trái tuyến (QĐ2010 PL5).", "basis": "QĐ2010/QĐ-BYT PL5 + Luật BHYT 51/2024/QH15 (thông cấp 01/7/2025) + NĐ188/2025/NĐ-CP (thay NĐ146/2018).", "sample": "Mức hưởng — KHÁC CẤP/TRÁI TUYẾN: MA_DOITUONG_KCB=... → ĐẠT: từ 01/7/2025 Luật BHYT 51/2024/QH15 thông cấp, trường hợp này hưởng đủ.", "action": "Đối chiếu cấp chuyên môn kỹ thuật + quy định thông cấp (Luật 51/2024, NĐ188/2025); kiểm giấy chuyển cấp nếu là cấp chuyên sâu."}, {"code": "TC001", "severity": "GHICHU", "layer": "MH", "title": "Thông cấp: bệnh được đi thẳng cấp chuyên sâu (100%)", "meaning": "Bệnh chính thuộc Danh mục 62 bệnh được KCB tại cấp chuyên sâu (TT01/2025 Phụ lục I): người bệnh được khám thẳng cấp chuyên sâu, hưởng 100%, KHÔNG cần giấy chuyển cơ sở.", "trigger": "MA_BENH_CHINH thuộc Phụ lục I TT01/2025 (62 bệnh).", "basis": "TT01/2025/TT-BYT Phụ lục I + Điều 22 khoản 4 Luật BHYT 51/2024/QH15.", "sample": "THÔNG CẤP: bệnh chính ... thuộc Danh mục 62 bệnh (TT01/2025 Phụ lục I) — được khám thẳng cấp chuyên sâu, hưởng 100%, KHÔNG cần giấy chuyển cơ sở.", "action": "Không cần xử lý — ghi chú xác nhận quyền lợi (tránh hiểu nhầm là trái tuyến)."}, {"code": "RX001", "severity": "CHAN", "layer": "RX", "title": "Kê đơn ngoại trú dài ngày không đúng danh mục/thời hạn", "meaning": "Mã này không còn được phát. Nội dung trùng với B4/B4U: đơn thuốc ngoại trú kê trên 30 ngày chỉ áp dụng cho các bệnh thuộc Phụ lục VII TT26/2025/TT-BYT, tối đa 90 ngày. Giữ mã RX001 để tra cứu các báo cáo cũ.", "trigger": "Ngoại trú SO_NGAY_DTRI > 30 và bệnh chính ngoài Phụ lục VII TT26/2025, hoặc > 90 ngày. (KHÔNG còn tự phát — xem B4/B4U.)", "basis": "TT26/2025/TT-BYT (thay TT52/2017) Điều 8 + Phụ lục VII (252 bệnh). TT26/2025/TT-BYT Điều 6 khoản 8 điểm a, nguyên văn: “tối đa không quá ba mươi (30) ngày, trừ trường hợp quy định tại điểm b khoản này và các điều 7, 8 và 9 Thông tư này”.", "sample": "Kê đơn dài ngày: N ngày > 30 ngày nhưng bệnh chính ... KHÔNG thuộc Danh mục 252 bệnh mạn tính (TT26/2025 Phụ lục VII).", "action": "Đối chiếu bệnh chính với Danh mục 252 bệnh mạn tính (/v1/benh-mantinh) hoặc giảm số ngày kê đơn ≤ 30. (Xem finding thực tế dưới mã B4/B4U.)"}, {"code": "DN001", "severity": "CHAN", "layer": "RX", "title": "Điều trị dài ngày nhưng bệnh ngoài danh mục TT25/2025", "meaning": "Loại hình KCB điều trị dài ngày (MA_LOAI_KCB 05/08) chỉ áp cho 282 bệnh cần chữa trị dài ngày (TT25/2025 Phụ lục I). TRÙNG NỘI DUNG với K5012 — engine chỉ phát K5012, mã này giữ lại để tra cứu ngược.", "trigger": "MA_LOAI_KCB ∈ {05,08} và MA_BENH_CHINH ngoài 282 bệnh TT25/2025 PL I.", "basis": "TT25/2025/TT-BYT Phụ lục I + QĐ1804/QĐ-BYT (mã loại hình 05/08).", "sample": "Điều trị dài ngày (MA_LOAI_KCB=05) nhưng bệnh chính ... KHÔNG thuộc Danh mục 282 bệnh cần chữa trị dài ngày (TT25/2025 Phụ lục I).", "action": "Đối chiếu bệnh chính với Danh mục 282 bệnh dài ngày (/v1/benh-dai-ngay) hoặc sửa mã loại hình KCB.", "deprecated": true}, {"code": "TV001", "severity": "CHAN", "layer": "MH", "title": "Mã chỉ dùng mã hoá tử vong làm bệnh chính", "meaning": "Một số mã ICD-10 (cột 27 TT06) chỉ dùng để mã hoá nguyên nhân tử vong, không được làm bệnh chính của hồ sơ điều trị.", "trigger": "MA_BENH_CHINH là mã có cờ 'chỉ mã hoá tử vong' (cột 27 TT06/2026).", "basis": "TT06/2026/TT-BYT (nguyên tắc mã hoá + cột 27). TT06/2026/TT-BYT Điều 3 khoản 2, nguyên văn: “Cột 27 xác định mã chỉ sử dụng để mã hóa nguyên nhân tử vong”.", "sample": "Mã ... CHỈ dùng để mã hoá nguyên nhân tử vong (TT06/2026 cột 27), KHÔNG được làm bệnh chính hồ sơ điều trị.", "action": "Thay bằng mã bệnh điều trị phù hợp cho bệnh chính."}, {"code": "CS001", "severity": "GHICHU", "layer": "FIELD", "title": "MA_CSKCB sai định dạng 5 ký tự", "meaning": "Mã cơ sở KCB gồm 5 ký tự số (2 số mã tỉnh + 3 số thứ tự cơ sở) theo QĐ384/QĐ-BYT.", "trigger": "MA_CSKCB có giá trị nhưng không phải 5 ký tự số.", "basis": "QĐ384/QĐ-BYT (30/01/2019, nguyên tắc cấp mã cơ sở KCB).", "sample": "MA_CSKCB='...' sai định dạng — mã cơ sở KCB gồm 5 ký tự số (2 số mã tỉnh + 3 số thứ tự, QĐ384/QĐ-BYT).", "action": "Kiểm mã cơ sở KCB đúng 5 ký tự số theo QĐ384/QĐ-BYT."}, {"code": "CDT001", "severity": "CHAN", "layer": "DIEUKIEN", "title": "Điện tim ngoài nhóm chỉ định", "meaning": "Hồ sơ có dịch vụ Điện tim thường nhưng chẩn đoán không thuộc nhóm chỉ định của kỹ thuật đó.", "trigger": "Có dòng XML3 mã 02.0085.1778 và MA_BENH_CHINH/MA_BENH_KT không có mã nào thuộc E10-E14, I10-I15, I20-I25, I30-I51, I60-I69, E86-E87, Z45.", "basis": "QĐ3675/QĐ-BYT ngày 28/11/2025 (thay QĐ3983/QĐ-BYT), mục CHỈ ĐỊNH của GHI ĐIỆN TIM THƯỜNG: “Chẩn đoán rối loạn nhịp tim”, “Chẩn đoán các giai đoạn nhồi máu cơ tim”, “Chẩn đoán bệnh tim thiếu máu cục bộ”, “Chẩn đoán các rối loạn điện giải”, cùng phì đại cơ nhĩ cơ thất, rối loạn dẫn truyền, tổn thương cơ tim và màng ngoài tim, theo dõi máy tạo nhịp.", "sample": "Dòng <MA_DICH_VU> 02.0085.1778 Điện tim thường: chẩn đoán không thuộc nhóm chỉ định.", "action": "Đối chiếu chỉ định; nếu có lý do lâm sàng thì bổ sung mã bệnh tương ứng vào MA_BENH_KT."}, {"code": "G343", "severity": "CHAN", "layer": "GOP", "title": "Dịch vụ vượt trần số lần trong khoảng thời gian", "meaning": "Cùng một người bệnh được chỉ định một dịch vụ quá số lần cho phép trong khoảng ngày quy định.", "trigger": "Chấm CẢ LÔ: gom theo (mã thẻ BHYT, MA_DICH_VU) các dòng XML3 có mã nằm trong data/DB_ChinhThuc/DVKT_TAN_SUAT_TOI_DA.csv; nếu trong một cửa sổ ngày có số lần vượt trần thì chặn. Chỉ chạy ở tầng chấm lô — chấm một hồ sơ lẻ không thấy lịch sử.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 3 MA_DICH_VU: “Ghi mã dịch vụ kỹ thuật hoặc mã tiền khám hoặc mã tiền giường bệnh theo hạng bệnh viện theo quy định tại Bộ mã DMDC do Bộ Y tế ban hành.”, và chỉ tiêu 38 NGAY_TH_YL: “Ghi thời điểm thực hiện y lệnh” — hai trường dùng để đối chiếu tần suất chỉ định cùng dịch vụ cho cùng người bệnh.", "sample": "Thẻ HT3151…: siêu âm ổ bụng 18.0015.0001 làm 7 lần trong 90 ngày (trần 1 lần).", "action": "Rà lại chỉ định; nếu có lý do lâm sàng phải lặp lại thì chuẩn bị giải trình kèm kết quả lần trước."}, {"code": "MAY004", "severity": "CHAN", "layer": "DANHMUC", "title": "Máy có đăng ký nhưng danh mục ghi sai khuôn", "meaning": "Mã máy của hồ sơ tra được trong danh mục trang thiết bị của cơ sở, nhưng dòng danh mục ghi sai khuôn mã máy nên cơ quan BHXH không tra ra và vẫn trả hồ sơ về.", "trigger": "MA_MAY của dòng XML3 khớp một dòng danh mục sau khi chuẩn hoá (cùng mã nhóm máy, serial nằm trong phần định danh), nhưng chuỗi MA_MAY của dòng danh mục đó không đúng khuôn XX.n.YYYYY.Z.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 44 MA_MAY ghi theo nguyên tắc XX.n.YYYYY.Z, trong đó “- YYYYY: Mã cơ sở KBCB;” và “- Z: Số serial của máy (Ghi cả phần chữ và phần số).”", "sample": "XML ghi SH.3.10061.072471, danh mục đăng ký cùng máy đó dưới dạng SH.2.2013072471.", "action": "ĐĂNG KÝ LẠI danh mục trang thiết bị với cơ quan BHXH theo đúng khuôn XX.n.<mã cơ sở>.<serial>. KHÔNG sửa XML — XML đang ghi đúng chuẩn."}, {"code": "TG010", "severity": "CHAN", "layer": "DIEUKIEN", "title": "Phẫu thuật/thủ thuật chồng thời gian", "meaning": "Hai dòng chi phí thuộc nhóm phẫu thuật hoặc thủ thuật có khoảng thực hiện giao nhau, hoặc cùng một ngày y lệnh.", "trigger": "Trong các dòng XML3 có MA_NHOM thuộc 8/18: khoảng [NGAY_TH_YL, NGAY_KQ] của hai dòng giao nhau, hoặc hai dòng cùng NGAY_YL.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 38 NGAY_TH_YL: “Ghi thời điểm thực hiện y lệnh”; QĐ5937/QĐ-BYT Phụ lục 3 xếp nhóm 8 là Phẫu thuật, nhóm 18 là Thủ thuật. Một người bệnh không thể đồng thời trải qua hai phẫu thuật/thủ thuật.", "sample": "Thận nhân tạo chu kỳ 15:13 và khí dung 17:43 trong cùng khoảng thực hiện.", "action": "Rà lại thời điểm thực hiện của các dòng phẫu thuật/thủ thuật cho khớp thực tế."}, {"code": "CLS001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã chỉ số cận lâm sàng không dùng được", "meaning": "MA_CHI_SO để trống, không có trong danh mục mã chỉ số của Bộ Y tế, hoặc TEN_CHI_SO khai lệch tên chuẩn của chính mã đó.", "trigger": "Quét mọi dòng XML4; tra MA_CHI_SO trong QĐ7603 Phụ lục 11 và QĐ1227, rồi so TEN_CHI_SO với tên chuẩn.", "basis": "QĐ130/QĐ-BYT Bảng 4 chỉ tiêu 4 MA_CHI_SO ghi mã chỉ số theo “Phụ lục số 11 ban hành kèm theo Quyết định số 7603/QĐ-BYT ngày 25 tháng 12 năm 2018 của Bộ trưởng Bộ Y tế.”; chỉ tiêu 5 TEN_CHI_SO “Ghi tên chỉ số xét nghiệm, chẩn đoán hình ảnh, thăm dò chức năng, theo Phụ lục số 11” nêu trên. Danh mục mã dùng chung QĐ1227/QĐ-BYT bổ sung thêm mã cho kỹ thuật, chỉ số xét nghiệm.", "sample": "Dòng XML4 để trống <MA_CHI_SO> trong khi vẫn có <GIA_TRI>.", "action": "Kết xuất <MA_CHI_SO>/<TEN_CHI_SO> theo đúng danh mục mã chỉ số của Bộ Y tế."}, {"code": "PVCM001", "severity": "CHAN", "layer": "DANHMUC", "title": "Người thực hiện ngoài phạm vi chuyên môn", "meaning": "Người thực hiện dịch vụ có phạm vi chuyên môn mà cổng giám định không chấp nhận cho dịch vụ đó.", "trigger": "Cặp (phạm vi chuyên môn trong danh mục người hành nghề của cơ sở, MA_DICH_VU) nằm trong data/DB_ChinhThuc/PHAMVI_DVKT_CONG_CHAN.csv.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 34 NGUOI_THUC_HIEN, nguyên văn: “Ghi mã nhân viên y tế thực hiện dịch vụ kỹ thuật (là mã định danh y tế của nhân viên y tế).” Cặp (phạm vi chuyên môn, dịch vụ) đang chặn từng bị chính cổng giám định BHXH từ chối trên hồ sơ tương tự (mã cổng 3777) — chưa phải bảng tra trực tiếp từ TT32/2023/TT-BYT Phụ lục 5.", "sample": "CCHN 000572/LCA-GPHN phạm vi 132 thực hiện dịch vụ 01.0281.1510.", "action": "Phân công người có phạm vi chuyên môn phù hợp, hoặc bổ sung văn bản phân công kỹ thuật."}, {"code": "VTU001", "severity": "CHAN", "layer": "DANHMUC", "title": "Vật tư đi kèm dịch vụ không được chấp nhận", "meaning": "Cặp mã vật tư và mã dịch vụ không được cổng chấp nhận thanh toán ngoài giá dịch vụ kỹ thuật.", "trigger": "Cặp (MA_VAT_TU, MA_DICH_VU) của dòng XML3 nằm trong data/DB_ChinhThuc/VTYT_DVKT_CONG_CHAN.csv.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 5 MA_VAT_TU ghi mã vật tư y tế được “cấp có thẩm quyền phê duyệt thực hiện nhưng chưa được quy định mức giá theo quy định tại khoản 3 Điều 7 Thông tư số 39/2018/TT-BYT”. Danh mục VTYT được thanh toán ngoài giá DVKT do BHXH duyệt riêng.", "sample": "Vật tư N06.03.010.0541.183.0002 đi với dịch vụ 14.0005.0815.", "action": "Đối chiếu lại danh mục VTYT thanh toán ngoài giá với cơ quan BHXH trước khi gửi."}, {"code": "SL002", "severity": "CHAN", "layer": "DANHMUC", "title": "Dịch vụ vượt số lần thanh toán cho một đợt điều trị", "meaning": "Một mã DVKT được khai nhiều lần hơn mức mà Danh mục kèm TT35/2016 cho phép trong một đợt điều trị (hoặc quá 1 lần trong cùng một ngày với mục có ràng buộc theo ngày).", "trigger": "Tổng SO_LUONG của các dòng XML3 cùng MA_DICH_VU trong một hồ sơ vượt số lần mà data/DB_ChinhThuc/TT35_SO_LAN_TOI_DA.csv ghi cho mã đó.", "basis": "Danh mục dịch vụ kỹ thuật có quy định cụ thể điều kiện thanh toán ban hành kèm theo Thông tư 35/2016/TT-BYT — cột “Điều kiện thanh toán” của từng mục ghi thẳng số lần tối đa, ví dụ mục 30 “Thanh toán 01 lần cho lần đầu sử dụng.”, mục 26 “Thanh toán tối đa 10 lần/đợt điều trị.”, mục 35 “Thanh toán 01 lần/ngày, tối đa không quá 30 ngày/đợt điều trị.” Bảng chỉ giữ mục mà con số áp cho TOÀN BỘ mã của mục và KHÔNG kèm điều kiện lâm sàng phải suy.", "sample": "17.0152.0241 “Kỹ thuật sử dụng nẹp cổ bàn chân AFO” khai 3 lần trong một đợt (mức cho phép: 01 lần).", "action": "Bỏ phần vượt mức khỏi hồ sơ đề nghị thanh toán."}, {"code": "MH005", "severity": "CHAN", "layer": "MUCHUONG", "title": "Mức hưởng khai vượt 100%", "meaning": "Dòng chi phí khai MUC_HUONG lớn hơn 100 — đề nghị quỹ thanh toán nhiều hơn chính số tiền của dòng đó.", "trigger": "Có dòng XML2/XML3 với MUC_HUONG > 100.", "basis": "QĐ3176/QĐ-BYT Bảng 2 chỉ tiêu 27 MUC_HUONG liệt kê hết các mức chuẩn: “ghi mức hưởng là 80 hoặc 95 hoặc 100”; trường hợp trái tuyến thì “ghi mức hưởng sau khi đã nhân với tỷ lệ hưởng trái tuyến tương ứng với tuyến chuyên môn kỹ thuật của cơ sở KCB” — nhân với một tỷ lệ không quá 100% thì không thể vượt mức gốc, nên trần vẫn là 100. Bảng 1 chỉ tiêu 51 T_BHTT cho công thức chia MUC_HUONG cho 100 ⇒ giá trị quá 100 là bất khả thi theo chính công thức của chuẩn, không phải ngưỡng tự đặt.", "sample": "<MUC_HUONG> = 300 ở một dòng XML2.", "action": "Sửa <MUC_HUONG> về đúng mức hưởng của người bệnh."}, {"code": "SDK001", "severity": "GHICHU", "layer": "CAUTRUC", "title": "Số đăng ký tự khai theo dạng KD./HD./CP./VT. nhưng sai cấu trúc", "meaning": "Dòng thuốc khai SO_DANG_KY bắt đầu bằng KD. / HD. / CP. / VT. — bốn dạng mà QĐ3176 cho sẵn cấu trúc — nhưng phần còn lại không đúng cấu trúc đó.", "trigger": "SO_DANG_KY bắt đầu bằng 'KD.' mà không khớp KD.YYYY.X.S, hoặc bắt đầu bằng 'HD.'/'CP.'/'VT.' mà không khớp <chữ>.<mã cơ sở>.<2 số năm>.<số thứ tự>.", "basis": "QĐ3176/QĐ-BYT Bảng 2 chỉ tiêu 14 SO_DANG_KY: “Trường hợp thuốc chưa được cấp giấy phép đăng ký lưu hành nhưng được cấp giấy phép nhập khẩu do Cục Quản lý Dược hoặc Cục Quản lý Y, dược cổ truyền cấp thì được mã hoá như sau: KD.YYYY.X.S (trong đó KD là kinh doanh, YYYY là năm cấp giấy phép, X là số giấy phép nhập khẩu, S là số thứ tự của thuốc trong giấy phép nhập khẩu)”; và với thuốc tự bào chế: “mã hóa theo chữ cái “HD” (hoá dược) hoặc “CP” (chế phẩm) hoặc “VT” (vị thuốc), mã cơ sở KBCB, hai ký tự cuối của năm ban hành và số thứ tự của thuốc trong danh mục thuốc tự bào chế do thủ trưởng cơ sở KBCB ban hành, cách nhau bằng dấu chấm “.”” — ví dụ của chính văn bản: “CP.19010.15.3”. CHỈ soi giá trị TỰ KHAI theo bốn tiền tố đó; số đăng ký thường không có cấu trúc chung nên KHÔNG đặt khuôn.", "sample": "<SO_DANG_KY> = 'KD.26.115.3' (thiếu 4 chữ số năm).", "action": "Sửa <SO_DANG_KY> cho đúng cấu trúc văn bản quy định cho dạng đang khai."}, {"code": "DCT001", "severity": "CHAN", "layer": "CAUTRUC", "title": "Đình chỉ thai nghén nhưng thiếu tuổi thai / nguyên nhân / thời điểm", "meaning": "Bản ghi XML7 hoặc XML11 khai MA_DINH_CHI_THAI = 1 mà để trống TUOI_THAI hoặc NGUYENNHAN_DINHCHI (riêng XML7 còn cả THOIGIAN_DINHCHI).", "trigger": "XML7 (hoặc XML11) có MA_DINH_CHI_THAI = \"1\" và TUOI_THAI hoặc NGUYENNHAN_DINHCHI rỗng; riêng XML7 tính thêm THOIGIAN_DINHCHI.", "basis": "QĐ3176/QĐ-BYT Bảng 7 chỉ tiêu 7 MA_DINH_CHI_THAI (và Bảng 11 chỉ tiêu 10, câu giống hệt): “Trường hợp đình chỉ thai nghén bắt buộc nhập thông tin vào trường thông tin tuổi thai (TUOI_THAI) và trường thông tin nguyên nhân đình chỉ thai nghén (NGUYENNHAN_DINHCHI)”; Bảng 7 chỉ tiêu 9 THOIGIAN_DINHCHI: “Bắt buộc ghi trường thông tin này khi MA_DINH_CHI_THAI = 1”. Đây là chữ BẮT BUỘC của chính chuẩn dữ liệu.", "sample": "XML7: MA_DINH_CHI_THAI=1, TUOI_THAI rỗng.", "action": "Nhập tuần tuổi thai và nguyên nhân đình chỉ vào hai trường đó."}, {"code": "DCT002", "severity": "CHAN", "layer": "CAUTRUC", "title": "Tuổi thai ngoài khoảng 1-42 tuần", "meaning": "TUOI_THAI khai không phải số, hoặc nằm ngoài khoảng chuẩn dữ liệu cho phép.", "trigger": "XML7 (hoặc XML11) có TUOI_THAI khác rỗng mà không đọc được thành số, hoặc số đó nhỏ hơn 1 hoặc lớn hơn 42.", "basis": "QĐ130/QĐ-BYT Bảng 7 chỉ tiêu 10 TUOI_THAI, câu ràng buộc khoảng giá trị: “tuổi thai luôn luôn lớn hơn hoặc bằng 1 và nhỏ hơn hoặc bằng tuổi 42 tuần tuổi” (câu đầy đủ: “Ghi rõ tuần tuổi thai thực tế (kể cả trường hợp đình chỉ thai ngoài tử cung, thai trứng cần xác định rõ tuần tuổi thai), trong đó ...”). Khoảng 1-42 do CHÍNH văn bản đặt, không phải ngưỡng tự chọn.", "sample": "XML7: TUOI_THAI=45.", "action": "Sửa lại tuần tuổi thai theo hồ sơ bệnh án (1 đến 42 tuần)."}, {"code": "HIV001", "severity": "CHAN", "layer": "CAUTRUC", "title": "Phác đồ HIV là “Khác” nhưng thiếu mã bậc phác đồ", "meaning": "Bản ghi XML6 khai MA_PHAC_DO_DIEU_TRI (hoặc _BD) = KHAC mà để trống mã bậc.", "trigger": "XML6 có MA_PHAC_DO_DIEU_TRI hoặc MA_PHAC_DO_DIEU_TRI_BD = \"KHAC\" và MA_BAC_PHAC_DO / MA_BAC_PHAC_DO_BD tương ứng rỗng.", "basis": "QĐ130/QĐ-BYT Bảng 6 chỉ tiêu 29 MA_BAC_PHAC_DO: “Ghi mã bậc phác đồ của đợt điều trị khi phác đồ điều trị là \"Khác\"” (chỉ tiêu 7 MA_BAC_PHAC_DO_BD nói y hệt cho phác đồ bắt đầu). Phác đồ “Khác” không cho biết bậc, nên thiếu bậc là mất hẳn thông tin điều trị.", "sample": "XML6: MA_PHAC_DO_DIEU_TRI=KHAC, MA_BAC_PHAC_DO rỗng.", "action": "Ghi mã bậc phác đồ (1, 2 hoặc 3) tương ứng."}, {"code": "HIV002", "severity": "CHAN", "layer": "CAUTRUC", "title": "Có điều trị ARV nhưng thiếu ngày kết thúc xử trí", "meaning": "Bản ghi XML6 có mã xử trí “1” (điều trị ARV) mà để trống NGAY_KET_THUC_XU_TRI.", "trigger": "XML6 có MA_XU_TRI (đã tách dấu chấm phẩy) chứa \"1\" và NGAY_KET_THUC_XU_TRI rỗng.", "basis": "QĐ130/QĐ-BYT Bảng 6 chỉ tiêu 27 NGAY_KET_THUC_XU_TRI: “Ghi ngày kết thúc xử trí của đợt điều trị ARV (áp dụng đối với trường hợp có mã xử trí (MA_XU_TRI) là \"1\")”. MA_XU_TRI là trường ĐA GIÁ TRỊ (chỉ tiêu 25 cho ghi nhiều mã ngăn bằng dấu chấm phẩy) nên phải tách từng mã rồi mới xét.", "sample": "XML6: MA_XU_TRI=1, NGAY_KET_THUC_XU_TRI rỗng.", "action": "Ghi ngày kết thúc xử trí của đợt điều trị ARV (yyyymmdd)."}, {"code": "TT002", "severity": "GHICHU", "layer": "DULIEU", "title": "Ngày thanh toán muộn hơn ngày ra viện (nhắc, không chặn)", "meaning": "NGAY_TTOAN của đợt điều trị lớn hơn NGAY_RA. Chuẩn dữ liệu CHO PHÉP, nên đây là lời nhắc để cơ sở tự soát, KHÔNG phải lỗi chặn.", "trigger": "XML1 có NGAY_TTOAN và NGAY_RA đều là chuỗi số và NGAY_TTOAN > NGAY_RA.", "basis": "QĐ3176/QĐ-BYT Bảng 1 chỉ tiêu 44 NGAY_TTOAN: “Ghi thời điểm người bệnh thanh toán chi phí KBCB, gồm 12 ký tự theo định dạng yyyymmddHHMM.” và ngay sau đó: “Lưu ý: Trường hợp người bệnh ra viện nhưng chưa thực hiện thanh toán thì để trống trường thông tin này khi chuyển dữ liệu lên Cổng tiếp nhận dữ liệu” — chuẩn ĐÃ LƯỜNG TRƯỚC việc thanh toán xảy ra SAU khi ra viện, nên không có điều khoản nào để chặn.", "sample": "NGAY_RA=202601050800 · NGAY_TTOAN=202601060800", "action": "Thanh toán xong thì cập nhật lại NGAY_TTOAN và NAM_QT rồi đẩy lại dữ liệu."}, {"code": "TT001", "severity": "GHICHU", "layer": "CAUTRUC", "title": "[ĐÃ BỎ 22/8/2026 — dùng TT002] Ngày thanh toán muộn hơn ngày ra viện", "meaning": "NGAY_TTOAN của đợt điều trị lớn hơn NGAY_RA.", "trigger": "XML1 có NGAY_TTOAN và NGAY_RA đều là chuỗi số và NGAY_TTOAN > NGAY_RA.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 36 NGAY_RA: “Ghi thời điểm người bệnh kết thúc điều trị”. [ĐÃ BỎ 22/8/2026, thay bằng TT002: QĐ3176/QĐ-BYT Bảng 1 chỉ tiêu 44 NGAY_TTOAN ghi rõ trường hợp người bệnh ra viện nhưng chưa thực hiện thanh toán thì để trống trường này — chuẩn đã lường trước thanh toán xảy ra SAU khi ra viện, nên tiền đề chặn ở đây là sai.]", "sample": "NGAY_RA = 202601171400 nhưng NGAY_TTOAN = 202601190835.", "action": "Cập nhật <NGAY_TTOAN> đúng thời điểm người bệnh thanh toán, hoặc sửa <NGAY_RA>."}, {"code": "TIEN006", "severity": "CHAN", "layer": "TIEN", "title": "Dòng chi tiết có tiền nguồn khác", "meaning": "Dòng thuốc hoặc dòng dịch vụ khai T_NGUONKHAC lớn hơn 0 nên cổng tính lại tiền BHYT theo công thức khác và trả hồ sơ về.", "trigger": "Có dòng XML2 hoặc XML3 với T_NGUONKHAC > 0.", "basis": "QĐ3176/QĐ-BYT Bảng 1 chỉ tiêu 52 T_NGUONKHAC là phần chi phí ngoài phạm vi “của quỹ BHYT, là tổng số tiền T_NGUONKHAC tại bảng XML2 và XML3 ban hành kèm theo Quyết định này.”; QĐ4750/QĐ-BYT quy định công thức tính T_BHTT.", "sample": "Dòng thuốc ARV có T_NGUONKHAC = 14300.", "action": "Đối chiếu lại cách tính T_BHTT cho dòng có nguồn khác chi trả trước khi gửi."}, {"code": "XML13C2", "severity": "CHAN", "layer": "CAUTRUC", "title": "XML13 thiếu mã dịch vụ", "meaning": "Bảng giấy chuyển tuyến chỉ có TEN_DICH_VU mà không có chỉ tiêu MA_DICH_VU đi kèm.", "trigger": "Bảng XML13 có bản ghi mà thẻ MA_DICH_VU vắng hoặc rỗng.", "basis": "QĐ130/QĐ-BYT quy định chỉ tiêu MA_DICH_VU: “Ghi mã dịch vụ kỹ thuật hoặc mã dịch vụ khám bệnh thực hiện đối với người bệnh,” đứng ngay trước chỉ tiêu TEN_DICH_VU.", "sample": "XML13 chỉ có <TEN_DICH_VU> liệt kê tên, không có <MA_DICH_VU>.", "action": "Bổ sung thẻ <MA_DICH_VU> vào bảng XML13 khi kết xuất."}, {"code": "CCCD001", "severity": "CHAN", "layer": "CAUTRUC", "title": "Số CCCD giữa các bảng không trùng", "meaning": "Một bảng khác XML1 khai SO_CCCD khác với SO_CCCD ở XML1 của cùng lượt khám.", "trigger": "Quét mọi bản ghi của mọi bảng; nếu có SO_CCCD khác rỗng và khác giá trị ở XML1 thì chặn.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 1 MA_LK là mã liên kết dùng chung cho mọi bảng của một lượt khám: “một lần khám bệnh, chữa bệnh (PRIMARY KEY)” — các bảng cùng MA_LK phải trùng thông tin định danh người bệnh.", "sample": "XML1 SO_CCCD = 010178009999 còn XML6 SO_CCCD = 036166011076.", "action": "Sửa cho hai bảng trùng số căn cước của cùng người bệnh."}, {"code": "TEN001", "severity": "CHAN", "layer": "DANHMUC", "title": "Tên dịch vụ khác danh mục cơ sở", "meaning": "Ô TEN_DICH_VU của dòng XML3 không trùng từng ký tự với tên trong danh mục giá dịch vụ cơ sở đã đăng ký.", "trigger": "Tra danh mục giá cơ sở theo MA_DICH_VU còn hiệu lực tại NGAY_VAO; nếu tên khai không nằm trong tập tên của các dòng tra được thì chặn.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 9 TEN_DICH_VU: “Ghi tên dịch vụ kỹ thuật hoặc tên dịch vụ khám bệnh hoặc tên giường bệnh đề nghị quỹ BHYT thanh toán.”", "sample": "Dòng <MA_DICH_VU> 22.0005.1354 khai tên khác tên đã đăng ký.", "action": "Sửa ô <TEN_DICH_VU> cho trùng đúng từng ký tự với tên trong danh mục giá đã đăng ký."}, {"code": "HC013", "severity": "CHAN", "layer": "CAUTRUC", "title": "Phẫu thuật thiếu biên bản hội chẩn", "meaning": "Hồ sơ có dòng chi phí thuộc nhóm 8 (Phẫu thuật) nên phải kèm biên bản hội chẩn của ca đó.", "trigger": "Có ít nhất một dòng XML3 với MA_NHOM = 8.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 6 MA_NHOM: “Ghi mã nhóm theo chi phí, dùng để phân loại, sắp xếp các chi phí vào các nhóm,” theo Phụ lục số 3 QĐ5937/QĐ-BYT — nhóm 8 là Phẫu thuật.", "sample": "Hồ sơ có dòng nhóm 8 mà không kèm biên bản hội chẩn.", "action": "Bổ sung biên bản hội chẩn của ca phẫu thuật vào hồ sơ đề nghị thanh toán."}, {"code": "HC014", "severity": "CHAN", "layer": "CAUTRUC", "title": "Thủ thuật thiếu biên bản tường trình", "meaning": "Hồ sơ có dòng chi phí thuộc nhóm 18 (Thủ thuật) nên phải kèm biên bản tường trình thủ thuật.", "trigger": "Có ít nhất một dòng XML3 với MA_NHOM = 18.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 6 MA_NHOM: “Ghi mã nhóm theo chi phí, dùng để phân loại, sắp xếp các chi phí vào các nhóm,” theo Phụ lục số 3 QĐ5937/QĐ-BYT — nhóm 18 là Thủ thuật.", "sample": "Hồ sơ có dòng nhóm 18 mà không kèm biên bản tường trình.", "action": "Bổ sung biên bản tường trình thủ thuật vào hồ sơ đề nghị thanh toán."}, {"code": "DVK002", "severity": "CHAN", "layer": "DIEUKIEN", "title": "Xét nghiệm đông máu ngoài phạm vi cổng chấp nhận", "meaning": "Hồ sơ có xét nghiệm đông máu mà cổng giám định chỉ chấp nhận cho người bệnh phẫu thuật.", "trigger": "Có dòng XML3 với MA_DICH_VU nằm trong data/DB_ChinhThuc/DVKT_DONG_MAU.csv.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 3 MA_DICH_VU: “Ghi mã dịch vụ kỹ thuật hoặc mã tiền khám hoặc mã tiền giường bệnh theo hạng bệnh viện theo quy định tại Bộ mã DMDC do Bộ Y tế ban hành.” Bộ mã danh mục dùng chung do Bộ trưởng Bộ Y tế ban hành. Nhóm xét nghiệm đông máu này chỉ áp dụng cho người bệnh có dòng chi phí thuộc nhóm 8 (Phẫu thuật).", "sample": "Dòng <MA_DICH_VU> 22.0005.1354 APTT trong hồ sơ.", "action": "Rà lại chỉ định; nếu người bệnh không phẫu thuật thì bỏ dịch vụ hoặc chuẩn bị giải trình."}, {"code": "NT001", "severity": "CHAN", "layer": "DIEUKIEN", "title": "Nội trú với bệnh cổng coi là không cần nội trú", "meaning": "Hồ sơ có ngày giường nội trú trong khi mã bệnh chính thuộc nhóm cổng xếp là không cần điều trị nội trú.", "trigger": "Có dòng XML3 MA_NHOM thuộc 14/15/16 và MA_BENH_CHINH (hoặc mã cha 3 ký tự) nằm trong data/DB_ChinhThuc/BENH_NHE_NOITRU.csv.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 26 MA_BENH_CHINH, “Lưu ý: Cơ sở KBCB xác định và chỉ ghi 01 mã bệnh chính theo quy định của Bộ Y tế.”; QĐ5937/QĐ-BYT Phụ lục 3 xếp nhóm 14/15/16 là ngày giường.", "sample": "Hồ sơ nội trú với <MA_BENH_CHINH> H81.8 rối loạn tiền đình.", "action": "Cân nhắc điều trị ngoại trú, hoặc chuẩn bị hồ sơ chứng minh mức độ nặng cần nội trú."}, {"code": "LD001", "severity": "CHAN", "layer": "CAUTRUC", "title": "Tổng liều dùng nhỏ hơn số lượng thanh toán", "meaning": "Nhân lượng mỗi lần với số lần mỗi ngày và số ngày trong LIEU_DUNG ra tổng nhỏ hơn SO_LUONG khai để thanh toán.", "trigger": "Dòng XML2 có LIEU_DUNG khớp khuôn ‘x/lần * y lần/ngày * z ngày’ và x*y*z < SO_LUONG.", "basis": "QĐ130/QĐ-BYT Bảng 2 chỉ tiêu 12 LIEU_DUNG ghi theo khuôn “một lần sử dụng * số lần trong ngày * 01 ngày [tổng số thuốc/ngày]” — nhân ba số đó ra tổng lượng, phải khớp số lượng đề nghị thanh toán.", "sample": "16 IU/lần * 1 lần/ngày * 1 ngày nhưng khai SO_LUONG = 42.", "action": "Sửa <LIEU_DUNG> hoặc <SO_LUONG> cho khớp nhau."}, {"code": "LD003", "severity": "CHAN", "layer": "CAUTRUC", "title": "Liều dùng không đúng khuôn ghi", "meaning": "Ô LIEU_DUNG không theo khuôn ghi liều của chuẩn dữ liệu nên cổng không đọc được.", "trigger": "Dòng XML2 có LIEU_DUNG chứa ‘/lần’ nhưng không khớp khuôn ‘x/lần * y lần/ngày * z ngày’.", "basis": "QĐ130/QĐ-BYT Bảng 2 chỉ tiêu 12 LIEU_DUNG bắt buộc ghi theo khuôn “một lần sử dụng * số lần trong ngày * 01 ngày [tổng số thuốc/ngày].”", "sample": "1 Viên/lần * 1 lần/2ngày * 40 ngày.", "action": "Ghi lại liều theo khuôn: lượng mỗi lần, số lần mỗi ngày, số ngày."}, {"code": "CDT010", "severity": "CHAN", "layer": "DIEUKIEN", "title": "Thuốc dùng ngoài chỉ định", "meaning": "Hồ sơ dùng một hoạt chất mà chẩn đoán của hồ sơ không có mã bệnh nào thuộc chỉ định của hoạt chất đó.", "trigger": "Dòng XML2 có MA_THUOC nằm trong bảng CHIDINH_BAO_PHU.csv (loai=CD) và tập MA_BENH_CHINH + MA_BENH_KT + MA_BENH_YHCT (kèm mã cha 3 ký tự) KHÔNG giao với tập ICD được chỉ định của hoạt chất đó.", "basis": "TT37/2024/TT-BYT Điều 8 khoản 3: “Quỹ bảo hiểm y tế thanh toán trong trường hợp chỉ định thuốc phù hợp với chỉ định của một trong các tài liệu sau đây:”, trong đó điểm d là “d) Dược thư Quốc gia Việt Nam phiên bản mới nhất.” Điều khoản này thay cho TT20/2022/TT-BYT Điều 3 khoản 2 đã hết hiệu lực từ 01/01/2025 (TT37/2024 Điều 20 khoản 4) — Điều 8 khoản 3 TT37/2024 kế thừa cùng nội dung, không bị Điều 20 khoản 2 treo hiệu lực.", "sample": "Dòng <MA_THUOC> 40.91 Loratadin mà chẩn đoán không có viêm mũi dị ứng / mày đay / viêm kết mạc dị ứng.", "action": "Bổ sung mã bệnh tương ứng vào MA_BENH_KT nếu có căn cứ lâm sàng, hoặc bỏ dòng thuốc."}, {"code": "CDT011", "severity": "CHAN", "layer": "DIEUKIEN", "title": "Thuốc dùng khi có chống chỉ định", "meaning": "Hồ sơ dùng một hoạt chất trong khi chẩn đoán có mã bệnh thuộc chống chỉ định của chính hoạt chất đó.", "trigger": "Dòng XML2 có MA_THUOC nằm trong bảng CHIDINH_BAO_PHU.csv (loai=CCD) và tập MA_BENH_CHINH + MA_BENH_KT + MA_BENH_YHCT (kèm mã cha 3 ký tự) CÓ GIAO với tập ICD chống chỉ định của hoạt chất đó.", "basis": "TT37/2024/TT-BYT Điều 8 khoản 3 buộc “Quỹ bảo hiểm y tế thanh toán trong trường hợp chỉ định thuốc phù hợp với chỉ định của một trong các tài liệu sau đây:”, trong đó điểm d là “d) Dược thư Quốc gia Việt Nam phiên bản mới nhất.” — thuốc đang chống chỉ định thì không thể là chỉ định phù hợp. Điều khoản này thay cho TT20/2022/TT-BYT Điều 3 khoản 2 đã hết hiệu lực từ 01/01/2025 (TT37/2024 Điều 20 khoản 4) — Điều 8 khoản 3 TT37/2024 kế thừa cùng nội dung, không bị Điều 20 khoản 2 treo hiệu lực.", "sample": "Dòng <MA_THUOC> 40.659 Furosemid trong hồ sơ có E87.6 hạ kali máu.", "action": "Rà lại chỉ định; nếu vẫn dùng thì phải có hội chẩn và ghi rõ căn cứ trong hồ sơ."}, {"code": "FLD100", "severity": "CHAN", "layer": "CAUTRUC", "title": "Sai kiểu hoặc vượt kích thước chỉ tiêu", "meaning": "Giá trị một chỉ tiêu dài quá kích thước tối đa, hoặc chỉ tiêu kiểu Số lại chứa ký tự khác.", "trigger": "Quét mọi bảng XML1-XML5; tách trường đa giá trị theo dấu chấm phẩy rồi so với đặc tả trong DacTaTruong/QD130_DAC_TA_TRUONG.csv (chỉ dùng dòng đã tự kiểm khớp dữ liệu thật).", "basis": "QĐ130/QĐ-BYT quy định kiểu dữ liệu và kích thước tối đa cho từng chỉ tiêu. Cổng tiếp nhận từ chối file sai chuẩn ngay ở tầng đọc dữ liệu — QĐ917/QĐ-BHXH Phụ lục 1 Danh mục lỗi: “Nội dung XML không đúng” (mã 202).", "sample": "2 giá trị sai ĐẶC TẢ CHỈ TIÊU của chuẩn dữ liệu (ví dụ <MA_LK> dài 120 ký tự, vượt kích thước tối đa 100).", "action": "Sửa ở khâu kết xuất của HIS cho đúng kiểu và kích thước chỉ tiêu."}, {"code": "FLD101", "severity": "CHAN", "layer": "CAUTRUC", "title": "Sai định dạng ngày tháng", "meaning": "Chỉ tiêu ngày tháng không đủ số ký tự số, hoặc không phải mốc thời gian có thật.", "trigger": "Trường tên NGAY_* / GT_THE_* / THOI_DIEM_* có đặc tả 8 hoặc 12 ký tự; tách đa giá trị rồi kiểm đủ độ dài, toàn số, và parse được theo yyyymmdd / yyyymmddHHMM. NGAY_MIEN_CCT chấp nhận cả hai dạng.", "basis": "QĐ917/QĐ-BHXH Phụ lục 1 Danh mục lỗi, mã 202: “Nội dung XML không đúng” — cổng tiếp nhận từ chối file sai chuẩn ngay ở tầng đọc dữ liệu. QĐ130/QĐ-BYT quy định mỗi chỉ tiêu thời gian gồm 8 ký tự yyyymmdd hoặc 12 ký tự yyyymmddHHMM; riêng chỉ tiêu 20 NGAY_MIEN_CCT cho cả hai dạng: 8 ký tự khi đã có giấy miễn cùng chi trả, 12 ký tự khi chưa được cấp.", "sample": "1 giá trị SAI ĐỊNH DẠNG NGÀY (ví dụ <NGAY_VAO>='2026011').", "action": "Sửa định dạng ngày ở khâu kết xuất của HIS."}, {"code": "HC010", "severity": "CHAN", "layer": "CAUTRUC", "title": "Chuyển tuyến thiếu biên bản hội chẩn", "meaning": "Hồ sơ ra viện kiểu chuyển tuyến theo yêu cầu chuyên môn nhưng chưa có biên bản hội chẩn.", "trigger": "MA_LOAI_RV = 2.", "basis": "QĐ3176/QĐ-BYT Bảng 1 chỉ tiêu 42 MA_LOAI_RV: “Ghi mã loại ra viện, trong đó:” mã 2 là chuyển tuyến theo yêu cầu chuyên môn. Chuyển tuyến theo yêu cầu chuyên môn phải kèm biên bản hội chẩn trong hồ sơ đề nghị thanh toán.", "sample": "<MA_LOAI_RV>='2' — chuyển tuyến theo yêu cầu chuyên môn phải kèm biên bản hội chẩn.", "action": "Đính kèm biên bản hội chẩn chuyển tuyến khi nộp hồ sơ giám định."}, {"code": "HC011", "severity": "CHAN", "layer": "DIEUKIEN", "title": "Thuốc phải hội chẩn nhưng chưa có biên bản", "meaning": "Hồ sơ dùng thuốc thuộc nhóm phải có biên bản hội chẩn mới được quỹ BHYT thanh toán.", "trigger": "MA_THUOC nằm trong DB_ChinhThuc/THUOC_CAN_HOI_CHAN.csv.", "basis": "TT37/2024/TT-BYT Điều 10 khoản 5: thuốc hóa dược và sinh phẩm có ký hiệu dấu sao sau tên thuốc tại Danh mục thuốc “là thuốc phải được hội chẩn trước khi sử dụng”, trừ trường hợp cấp cứu.", "sample": "<MA_THUOC> 40.189 thuộc nhóm thuốc phải có BIÊN BẢN HỘI CHẨN mới được quỹ BHYT thanh toán.", "action": "Đính kèm biên bản hội chẩn cho các thuốc thuộc nhóm này."}, {"code": "HC012", "severity": "CHAN", "layer": "CAUTRUC", "title": "Phẫu thuật thiếu biên bản tường trình", "meaning": "Hồ sơ có dòng chi phí thuộc nhóm 8 (Phẫu thuật) nên phải kèm biên bản TƯỜNG TRÌNH phẫu thuật của ca đó. Khác HC013 (đòi biên bản HỘI CHẨN) — cùng một ca phẫu thuật cần cả hai loại biên bản nên hai mã dùng chung điều kiện phát.", "trigger": "Có ít nhất một dòng XML3 với MA_NHOM = 8 và NGAY_VAO >= 30/12/2021 (mốc QĐ5937 Phụ lục 3).", "basis": "Luật Khám bệnh, chữa bệnh 15/2023/QH15 Điều 69: người bệnh điều trị phải được lập, cập nhật hồ sơ bệnh án theo mẫu do Bộ trưởng Bộ Y tế ban hành. TT32/2023/TT-BYT Điều 51 khoản 1: ban hành mẫu bệnh án Ngoại khoa (Phụ lục XXVIII) có phần tường trình phẫu thuật; Điều 52 quy định ghi chép hồ sơ bệnh án phải “chính xác, trung thực, đầy đủ các thông tin trong hồ sơ bệnh án”. QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 6 MA_NHOM xếp nhóm 8 là “Phẫu thuật” (Phụ lục 3 QĐ5937/QĐ-BYT).", "sample": "<MA_DICH_VU> 14.0079.0827 là PHẪU THUẬT nhưng XML5 không có bản mô tả cách thức phẫu thuật nào tại thời điểm thực hiện.", "action": "Đính kèm biên bản tường trình phẫu thuật; hoặc ghi PHAU_THUAT ở XML5 đúng thời điểm thực hiện."}, {"code": "TG007", "severity": "CHAN", "layer": "THOIGIAN", "title": "Kết quả cách thực hiện từ 99 phút trở lên", "meaning": "Dịch vụ kỹ thuật có NGAY_KQ cách NGAY_TH_YL từ 99 phút trở lên.", "trigger": "Dòng XML3 có MA_DICH_VU nằm trong DANH MỤC MÃ DỊCH VỤ KỸ THUẬT DÙNG CHUNG và NGAY_KQ − NGAY_TH_YL >= 99 phút. Danh mục ở đây chỉ dùng làm BẢNG TRA để tách dòng dịch vụ khỏi dòng tiền giường (mã K04.NO1, K02.HSCC...), KHÔNG phải căn cứ pháp lý của ngưỡng — nên không gắn mốc hiệu lực của danh mục vào quy tắc này.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 38 NGAY_TH_YL: “Ghi thời điểm thực hiện y lệnh, gồm 12 ký tự, theo cấu trúc: yyyymmddHHMM”; chỉ tiêu 39 NGAY_KQ: “Ghi thời điểm có kết quả, gồm 12 ký tự, theo cấu trúc: yyyymmddHHMM”. Chỉ áp cho mã dịch vụ có trong danh mục dùng chung vì cùng chỉ tiêu 37 quy định với ngày giường thì ghi thời điểm kết thúc sử dụng từng loại giường bệnh — tức mốc cách nhau cả ngày là bình thường.", "sample": "3 dịch vụ kỹ thuật có <NGAY_KQ> cách <NGAY_TH_YL> từ 99 phút trở lên (ví dụ 01.0132.0209: 145 phút).", "action": "Đối chiếu bệnh án thời điểm thực hiện và có kết quả; sửa mốc nếu HIS ghi sai."}, {"code": "DTG001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã đối tượng KCB ngoài bộ mã DMDC hiện hành", "meaning": "MA_DOITUONG_KCB không thuộc bộ mã danh mục dùng chung đang có hiệu lực.", "trigger": "Giá trị không có trong ICD10_TT06/DOITUONG_KCB_HOP_LE.csv (nền QĐ2010/QĐ-BYT 19/6/2025, 22 mã, cộng ngoại lệ “2” giữ theo bằng chứng đo được), VÀ NGAY_VAO >= 20250801 — QĐ2010 có hiệu lực 01/8/2025, hồ sơ trước mốc đó dùng bộ mã DMDC cũ là đúng.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 30 MA_DOITUONG_KCB: “Ghi mã đối tượng đến KBCB theo Bộ mã DMDC do Bộ trưởng Bộ Y tế ban hành.” DMDC hiện hành là QĐ2010/QĐ-BYT ngày 19/6/2025; so với DMDC cũ QĐ3276 thì hai mã 3.2 và 2 đã bị bỏ.", "sample": "<MA_DOITUONG_KCB>='3.2' KHÔNG có trong bộ mã DMDC hiện hành (QĐ2010/QĐ-BYT 19/6/2025).", "action": "Ghi lại MA_DOITUONG_KCB theo bộ mã DMDC hiện hành QĐ2010/QĐ-BYT."}, {"code": "THE007", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã tỉnh phát hành thẻ không còn tồn tại", "meaning": "Hai ký tự thứ 4-5 của MA_THE_BHYT là mã tỉnh đã bị bỏ sau sáp nhập đơn vị hành chính 2025.", "trigger": "Mã thẻ đủ 15 ký tự (đã tách theo dấu chấm phẩy) nhưng ký tự 4-5 không nằm trong danh mục 34 tỉnh còn hiệu lực (DonViHanhChinh/tinh_2025.csv).", "basis": "QĐ19/2025/QĐ-TTg Điều 2 khoản 2: “Mã số cấp cho một đơn vị hành chính là số định danh duy nhất, không thay đổi trong suốt quá trình đơn vị hành chính đó tồn tại thực tế.” Mã thẻ BHYT lấy mã tỉnh nơi phát hành theo chính bảng danh mục này (QĐ1351/QĐ-BHXH ngày 16/11/2015, ô thứ ba của mã thẻ). Sáp nhập đơn vị hành chính năm 2025 rút cả nước từ 63 xuống 34 tỉnh — đơn vị không còn tồn tại thì mã của nó cũng không còn.", "sample": "<MA_THE_BHYT> có mã tỉnh phát hành 10 — tỉnh này KHÔNG CÒN TỒN TẠI sau sáp nhập 2025.", "action": "Người bệnh đổi thẻ BHYT sang mã tỉnh hợp nhất mới theo QĐ19/2025/QĐ-TTg (tra bảng ánh xạ tỉnh cũ→tỉnh mới)."}, {"code": "TIEN005", "severity": "CHAN", "layer": "FIELD", "title": "Tổng tiền XML1 khác tổng dòng XML2+XML3", "meaning": "T_BNTT / T_BNCCT / T_NGUONKHAC ở XML1 không bằng tổng cùng trường của các dòng XML2 và XML3.", "trigger": "Chênh lệch giữa tổng tiền khai ở XML1 và tổng các dòng chi tiết XML2 + XML3 từ 01 đồng trở lên; chỉ so với những trường mà dòng chi tiết có khai.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 48 T_BNTT: “là tổng số tiền T_BNTT tại bảng XML2 và XML3”. Chỉ tiêu 49 T_BNCCT và chỉ tiêu 51 T_NGUONKHAC dùng cùng công thức cho trường của mình.", "sample": "<T_BNCCT> ở XML1 khai 49.180 đ nhưng tổng T_BNCCT của các dòng XML2 và XML3 là 51.180 đ.", "action": "Tính lại tổng ở XML1 cho bằng tổng các dòng XML2+XML3."}, {"code": "TIEN004", "severity": "CHAN", "layer": "FIELD", "title": "T_BHTT sai công thức QĐ130", "meaning": "Tổng tiền đề nghị BHXH thanh toán không bằng T_TONGCHI_BH trừ T_BNCCT.", "trigger": "|T_BHTT − (T_TONGCHI_BH − T_BNCCT)| >= 1 đồng; bỏ qua khi một trong ba trường trống hoặc không phải số.", "basis": "QĐ3176/QĐ-BYT Bảng 1 chỉ tiêu 51 T_BHTT: “Ghi tổng số tiền đề nghị cơ quan bảo hiểm xã hội thanh toán, theo công thức sau: T_BHTT = T_TONGCHI_BH - T_BNCCT”.", "sample": "<T_BHTT> khai 1.897.760 đ nhưng theo công thức phải là 2.323.020 đ.", "action": "Tính lại T_BHTT = T_TONGCHI_BH − T_BNCCT và sửa ở khâu kết xuất của HIS."}, {"code": "CS002", "severity": "CHAN", "layer": "FIELD", "title": "MA_CSKCB có mã tỉnh không tồn tại", "meaning": "Hai ký tự đầu của mã cơ sở KCB không phải mã tỉnh nào trong danh mục đơn vị hành chính.", "trigger": "MA_CSKCB đúng 5 chữ số nhưng 2 ký tự đầu không có trong DonViHanhChinh/tinh.csv và cũng không phải 97 (Bộ Quốc phòng) hay 98 (Bộ Công an).", "basis": "QĐ384/QĐ-BYT ngày 30/01/2019 Điều 1: “02 (hai) ký tự đầu: là mã tỉnh, thành phố trực thuộc Trung ương theo quy định tại Quyết định số 124/2004/QĐ-TTg” — bảng Danh mục và mã số các đơn vị hành chính Việt Nam; riêng Bộ Quốc phòng dùng 97, Bộ Công an dùng 98. Câu trích cắt gọn trong MỘT DÒNG của bản trích vì file xuống dòng giữa câu.", "sample": "<MA_CSKCB>='99061' có 02 ký tự đầu '99' KHÔNG phải mã tỉnh nào.", "action": "Ghi lại MA_CSKCB đúng dạng 5 số: 2 số mã tỉnh + 3 số thứ tự cơ sở."}, {"code": "DRG001", "severity": "GHICHU", "layer": "DRG", "title": "Sẵn sàng DRG: thiếu mã ICD-9-CM (MA_PTTT_QT)", "meaning": "Ca nội trú/ban ngày có phẫu thuật/thủ thuật nhưng bỏ trống mã phẫu thuật/thủ thuật quốc tế ICD-9-CM (MA_PTTT_QT) — đây là đầu vào bắt buộc để phân nhóm thanh toán theo chẩn đoán DRG.", "trigger": "MA_LOAI_KCB nội trú/ban ngày + có MA_PTTT + MA_PTTT_QT trống.", "basis": "NĐ188/2025/NĐ-CP (thanh toán DRG nội trú+ban ngày) + QĐ387/QĐ-BYT (bảng ICD-9-CM).", "sample": "SẴN SÀNG DRG: ca có phẫu thuật/thủ thuật nhưng CHƯA điền mã ICD-9-CM (MA_PTTT_QT trống) — cần cho thanh toán theo nhóm chẩn đoán DRG.", "action": "Điền MA_PTTT_QT bằng mã ICD-9-CM QĐ387 tương ứng (tra /v1/icd9) để sẵn sàng thanh toán DRG."}, {"code": "DRG002", "severity": "GHICHU", "layer": "DRG", "title": "Sẵn sàng DRG: mã ICD-9-CM không thuộc QĐ387", "meaning": "Giá trị MA_PTTT_QT không khớp bảng phân loại phẫu thuật, thủ thuật ICD-9-CM (QĐ387/QĐ-BYT).", "trigger": "MA_PTTT_QT có giá trị nhưng không thuộc bảng ICD-9-CM QĐ387.", "basis": "QĐ387/QĐ-BYT (05/02/2026, thay QĐ4440/2020).", "sample": "SẴN SÀNG DRG: mã ICD-9-CM (MA_PTTT_QT: ...) không thuộc bảng QĐ387/QĐ-BYT ⇒ SỬA <MA_PTTT_QT> về mã thuộc bảng ICD-9-CM.", "action": "Tra mã ICD-9-CM đúng tại /v1/icd9 và sửa MA_PTTT_QT."}, {"code": "YHCT001", "severity": "GHICHU", "layer": "YHCT", "title": "Thuốc cổ truyền/dược liệu BHYT (hợp lệ)", "meaning": "Thuốc mã 05C (chế phẩm) / 05V (vị thuốc) thuộc danh mục thuốc cổ truyền, thuốc từ dược liệu, vị thuốc YHCT được BHYT chi trả — KHÁC danh mục hoá dược TT20/2022.", "trigger": "Mã thuốc 05C/05V khớp danh mục YHCT (TT05/2015 + TT27/2025, VBHN15/2025).", "basis": "TT05/2015/TT-BYT + TT27/2025/TT-BYT (VBHN 15/VBHN-BYT 2025). Danh mục YHCT áp dụng theo thời điểm KCB: TT05/2015 (và các văn bản hợp nhất) trước 01/9/2025, TT27/2025 từ 01/9/2025.", "sample": "Thuốc cổ truyền/dược liệu BHYT (hợp lệ): ... — chi trả theo danh mục YHCT, không phải hoá dược TT20.", "action": "Không cần xử lý — ghi chú xác nhận thuốc YHCT hợp lệ (tránh báo nhầm ngoài danh mục TT20)."}, {"code": "YHCT002", "severity": "CHAN", "layer": "YHCT", "title": "Thuốc YHCT ngoài danh mục BHYT", "meaning": "Thuốc có dạng mã cổ truyền/dược liệu (05C/05V) nhưng KHÔNG thuộc danh mục thuốc YHCT được BHYT chi trả.", "trigger": "Mã 05C/05V không khớp danh mục YHCT (VBHN15/VBHN-BYT, hợp nhất TT05/2015 + TT27/2020).", "basis": "TT05/2015/TT-BYT (17/3/2015, Điều 5 sửa bởi TT27/2020/TT-BYT — hợp nhất VBHN15/VBHN-BYT) là danh mục ÁP DỤNG SUỐT thời kỳ, KHÔNG đổi tại 01/9/2025: TT27/2025/TT-BYT Điều 20 khoản 2, nguyên văn: “Không áp dụng quy định tại các Điều 9, 10 và 11 Thông tư này trong thanh toán chi phí khám bệnh, chữa bệnh bảo hiểm y tế cho đến khi Bộ trưởng Bộ Y tế ban hành Thông tư ban hành danh mục, tỷ lệ và điều kiện thanh toán đối với thuốc dược liệu, thuốc có kết hợp dược chất với các dược liệu, thuốc cổ truyền, dược liệu thuộc phạm vi được hưởng của người tham gia bảo hiểm y tế.” Thông tư danh mục mới CHƯA được ban hành nên VBHN15 vẫn là căn cứ duy nhất.", "sample": "Thuốc YHCT ngoài danh mục BHYT: mã ... không thuộc danh mục thuốc cổ truyền/dược liệu (TT05/TT27).", "action": "Đối chiếu danh mục thuốc YHCT (/v1/yhct) hoặc chuyển chi phí ngoài BHYT."}, {"code": "K1001", "severity": "CHAN", "layer": "K1", "title": "Thuốc ngoài danh mục BHYT (TT20/2022)", "meaning": "Hoạt chất không thuộc danh mục thuốc được BHYT chi trả.", "trigger": "Mã/tên thuốc không khớp danh mục TT20 (so khớp theo mã, fallback theo tên).", "basis": "TT20/2022/TT-BYT Điều 1, nguyên văn: “Danh mục thuốc hóa dược và sinh phẩm thuộc phạm vi được hưởng của người tham gia bảo hiểm y tế được quy định tại Phụ lục I ban hành kèm theo Thông tư này”.", "sample": "\"<tên thuốc>\" KHÔNG thuộc danh mục thuốc BHYT (TT20/2022).", "action": "Thay bằng thuốc trong danh mục (xem /v1/drugs/alternatives) hoặc chuyển chi phí ngoài BHYT."}, {"code": "K2001", "severity": "CHAN", "layer": "K2", "title": "Thuốc chỉ thanh toán tại bệnh viện hạng nhất định", "meaning": "Phụ lục I TT20/2022 cột Ghi chú giới hạn thuốc này CHỈ được thanh toán khi sử dụng tại một số hạng bệnh viện nhất định (vd “thanh toán tại bệnh viện hạng đặc biệt, hạng I, hạng II”) — hạng của cơ sở (tự nhận diện từ chính hồ sơ) không thuộc danh sách đó.", "trigger": "Xác định được hạng bệnh viện của cơ sở, và dòng TT20 của thuốc có ghi chú giới hạn hạng mà cơ sở không thuộc diện.", "basis": "TT20/2022/TT-BYT Điều 2 khoản 1 điểm d, nguyên văn: “Cột 4, 5, 6, 7: Ghi hạng bệnh viện được sử dụng và thanh toán bảo hiểm y tế” — “Bệnh viện hạng II sử dụng các thuốc quy định tại cột 5”.", "sample": "[K2001] Thuốc <tên>: chỉ được quỹ BHYT thanh toán tại bệnh viện hạng đặc biệt/I/II — cơ sở này hạng III.", "action": "Nếu cơ sở đúng hạng yêu cầu thì bổ sung/sửa thông tin hạng cho rõ trên hồ sơ; nếu không đúng hạng thì chuyển dòng thuốc ra ngoài phần đề nghị BHYT thanh toán."}, {"code": "K2003", "severity": "CHAN", "layer": "K2", "title": "Thuốc không được dùng ở hạng bệnh viện này", "meaning": "Phụ lục I TT20/2022 đánh dấu từng thuốc theo HẠNG BỆNH VIỆN được sử dụng và thanh toán (cột 4 hạng đặc biệt+I · cột 5 hạng II · cột 6 hạng III+IV · cột 7 trạm y tế xã). Dòng đường dùng tương ứng của thuốc này KHÔNG đánh dấu cho hạng mà cơ sở khai.", "trigger": "Xác định được cả hạng bệnh viện lẫn đường dùng, và ô hạng tương ứng trong Phụ lục I để trống.", "action": "Đối chiếu hạng bệnh viện đã khai và đường dùng thực tế; nếu đúng thì chuyển chi phí ra ngoài BHYT.", "basis": "TT20/2022/TT-BYT Điều 2 khoản 1 điểm d: “Cột 4, 5, 6, 7: Ghi hạng bệnh viện được sử dụng và thanh toán bảo hiểm y tế” — “Bệnh viện hạng II sử dụng các thuốc quy định tại cột 5”.", "sample": "[K2003] Thuốc Piracetam: TT20/2022 Phụ lục I STT 949 (đường dùng “Dung dịch tiêm”) chỉ đánh dấu cho hạng đặc biệt/I, hạng II, hạng III/IV — KHÔNG có trạm y tế xã."}, {"code": "YTE001", "severity": "CHAN", "layer": "K5", "title": "MA_YTE của giấy ra viện khác MA_BN", "meaning": "Giấy ra viện (XML7) phải chỉ về đúng người bệnh của bảng XML1. Lệch mã tức hai bảng nói về hai người khác nhau trong cùng một hồ sơ.", "trigger": "Bảng XML7 có MA_YTE khác MA_BN của bảng XML1 trong cùng hồ sơ.", "action": "Sửa MA_YTE của giấy ra viện cho trùng MA_BN đã khai ở XML1.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 Bảng 7 chỉ tiêu 3 MA_YTE, nguyên văn: “Ghi mã y tế, lấy theo mã số người bệnh quy định tại trường MA_BN tại Bảng XML 1 ban hành kèm theo quyết định này.”", "sample": "1 dòng bảng XML7 sai quan hệ giữa các chỉ tiêu (ví dụ: <MA_YTE>='X' của giấy ra viện KHÁC <MA_BN>='Y' của bảng XML1)."}, {"code": "NGHI001", "severity": "CHAN", "layer": "K5", "title": "TU_NGAY của giấy nghỉ việc khác ngày đến khám", "meaning": "Giấy chứng nhận nghỉ việc hưởng BHXH bắt đầu hưởng chế độ từ đúng ngày người bệnh đến khám. Lệch ngày làm cơ quan BHXH không đối chiếu được đợt KBCB tương ứng.", "trigger": "Bảng XML11 có TU_NGAY khác 08 ký tự đầu của NGAY_VAO ở bảng XML1.", "action": "Sửa TU_NGAY cho trùng ngày người bệnh đến khám của chính đợt KBCB đó.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 Bảng 11 chỉ tiêu 14 TU_NGAY: ghi ngày bắt đầu hưởng chế độ theo định dạng “yyyymmdd và phải trùng khớp với ngày người bệnh đến khám.”", "sample": "5 dòng bảng XML11 sai quan hệ giữa các chỉ tiêu (ví dụ: <TU_NGAY>='20260115' của giấy nghỉ việc hưởng BHXH KHÁC ngày người bệnh đến khám ('20260114'))."}, {"code": "CSKCB001", "severity": "CHAN", "layer": "K6", "title": "Mã cơ sở KCB trên giấy chuyển tuyến sai khuôn", "meaning": "Giấy chuyển tuyến ghi mã cơ sở nơi chuyển đi và nơi chuyển đến. QĐ130 quy định mã cơ sở KCB là chuỗi 05 ký tự; sai khuôn thì cơ quan BHXH không tra được nơi tiếp nhận.", "trigger": "Bảng XML13 có MA_CSKCB_DEN hoặc MA_CSKCB_DI (đã tách dấu chấm phẩy) KHÔNG đúng khuôn 05 ký tự chữ-số. Chỉ kiểm KHUÔN, KHÔNG đối chiếu danh mục cơ sở: danh mục cơ sở KCB toàn quốc do BHXH công bố có thể chưa cập nhật cơ sở mới thành lập.", "action": "Khai lại đúng khuôn 05 ký tự theo mã cơ sở KCB do BHXH cấp cho nơi chuyển đi / chuyển đến.", "basis": "QĐ3176/QĐ-BYT ngày 29/10/2024 Bảng 13 — giấy chuyển tuyến/chuyển cơ sở KBCB: “Ghi mã cơ sở KBCB nơi cấp giấy chuyển tuyến”; trường MA_CSKCB_DI “Sử dụng thông tin tại trường MA_NOI_DI trong Bảng 1 ban hành kèm theo Quyết định này”. Danh mục đối chiếu hợp từ bản kết xuất công khai của BHXH (quanlythuocv1.vss.gov.vn/kqdt/export) và Danh sách mã cơ sở KCB toàn quốc.", "sample": "1 dòng bảng XML13 sai quan hệ giữa các chỉ tiêu (ví dụ: <MA_CSKCB_DEN>='999999999' SAI KHUÔN mã cơ sở KCB (phải đúng 05 ký tự chữ-số))."}, {"code": "ARV001", "severity": "CHAN", "layer": "K5", "title": "Số ngày cấp thuốc ARV vượt độ dài đợt xử trí", "meaning": "Số ngày thuốc ARV được cấp không thể dài hơn chính khoảng thời gian của đợt xử trí ghi trên hồ sơ HIV/AIDS.", "trigger": "Bảng XML6 có SO_NGAY_CAP_THUOC_ARV lớn hơn số ngày giữa NGAY_BAT_DAU_XU_TRI và NGAY_KET_THUC_XU_TRI.", "action": "Sửa SO_NGAY_CAP_THUOC_ARV hoặc sửa mốc bắt đầu/kết thúc xử trí cho khớp thực tế.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 Bảng 6 chỉ tiêu 30 SO_NGAY_CAP_THUOC_ARV, nguyên văn: “Ghi số ngày thuốc ARV được cấp (nhỏ hơn hoặc bằng với ngày trong trường thông tin NGAY_KET_THUC_XU_TRI trừ đi (-) ngày trong trường thông tin NGAY_BAT_DAU_XU_TRI)”.", "sample": "14 dòng bảng XML6 sai quan hệ giữa các chỉ tiêu (ví dụ: <SO_NGAY_CAP_THUOC_ARV>=90 nhưng đợt xử trí chỉ dài 60 ngày)."}, {"code": "BB001", "severity": "CHAN", "layer": "K5", "title": "Chỉ tiêu bắt buộc bị bỏ trống hoặc sai khuôn", "meaning": "Một số chỉ tiêu của chuẩn dữ liệu KHÔNG được để trống. Bỏ trống thì cơ quan BHXH không đủ thông tin để giám định và trả hồ sơ về.", "trigger": "Chỉ tiêu có trong QD130_TRUONG_BAT_BUOC.csv bị để trống, hoặc (với chỉ tiêu khai báo khuôn yyyymmddHHMM) không đủ 12 ký tự số / không phải mốc thời gian có thật.", "action": "Khai bổ sung chỉ tiêu bị trống theo đúng khuôn mà chuẩn dữ liệu quy định.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 Bảng 8 chỉ tiêu 10 CHAN_DOAN_RV, nguyên văn: “Ghi đầy đủ chẩn đoán xác định bệnh chính, bệnh kèm theo và/hoặc các triệu chứng hoặc hội chứng, được bác sỹ ghi trong hồ sơ KBCB tại thời điểm kết thúc KBCB đối với người bệnh”.", "sample": "1 chỉ tiêu BẮT BUỘC bị bỏ trống hoặc sai khuôn (ví dụ bảng XML8 <CHAN_DOAN_RV> để TRỐNG)."}, {"code": "MGT001", "severity": "CHAN", "layer": "K5", "title": "Giá trị ngoài miền mà chuẩn dữ liệu liệt kê", "meaning": "QĐ130/QĐ3176 liệt kê thẳng các mã hợp lệ cho nhiều chỉ tiêu (vd MA_XU_TRI của bảng XML6 chỉ nhận mã 1 đến 8). Giá trị ngoài danh sách là sai chuẩn dữ liệu, cổng tiếp nhận từ chối ngay ở tầng đọc file.", "trigger": "Giá trị của chỉ tiêu có trong QD130_MIEN_GIA_TRI.csv nhưng không thuộc miền liệt kê. Chỉ tiêu đa giá trị được tách theo dấu chấm phẩy trước khi đối chiếu.", "action": "Khai lại theo đúng bảng mã mà văn bản liệt kê (câu căn cứ in kèm ngay trong kết quả).", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 Bảng 6 chỉ tiêu 18 MA_TINH_TRANG_DK, nguyên văn: “Trường hợp đối tượng khám có 2 tình trạng trở lên thì các Mã cách nhau bởi dấu chấm phẩy”; Bảng 11 chỉ tiêu 22 MAU_SO, nguyên văn: “Các cơ sở KBCB sử dụng chuỗi CT07 để xác định đây là Giấy nghỉ việc hưởng bảo hiểm xã hội.” QĐ3176 sửa Bảng 6 MA_XU_TRI thêm mã 8 và “Đổi kiểu dữ liệu thành chuỗi”. Phần Diễn giải của từng chỉ tiêu liệt kê nguyên văn các mã hợp lệ. Cổng tiếp nhận từ chối file sai chuẩn (QĐ917/QĐ-BHXH Phụ lục 1 mã 202). Bảng miền giá trị bóc TAY từ bản gốc vì cả hai bản QĐ3176 đang giữ đều là scan, bóc máy gán nhầm trường.", "sample": "1 giá trị NGOÀI MIỀN GIÁ TRỊ mà chuẩn dữ liệu liệt kê (ví dụ bảng XML6 <MA_XU_TRI>='9'; các mã hợp lệ: 1, 2, 3, 4, 5, 6, 7, 8)."}, {"code": "DK002", "severity": "CHAN", "layer": "K2", "title": "Đường dùng nằm trong diện TT20 loại trừ thanh toán", "meaning": "Một số dòng Phụ lục I TT20/2022 ghi điều kiện dạng PHỦ ĐỊNH theo đường dùng: quỹ BHYT thanh toán hoạt chất đó, TRỪ khi dùng theo một đường nhất định. Dexamethason là ví dụ: thanh toán bình thường, nhưng KHÔNG thanh toán khi tiêm trong dịch kính hoặc tiêm nội nhãn.", "trigger": "Mã thuốc nằm trong TT20_DIEUKIEN_KHAC.csv loại DUONG_DUNG_CAM và trường <DUONG_DUNG> của dòng thuốc bằng đúng một trong các mã đường dùng bị loại trừ (so theo MÃ QĐ7603 Phụ lục 05.10, không so tên do cơ sở nhập).", "action": "Nếu thuốc thật sự tiêm nội nhãn/dịch kính thì bỏ khỏi phần đề nghị quỹ BHYT thanh toán. Nếu khai nhầm đường dùng thì sửa <DUONG_DUNG> cho đúng mã QĐ7603 Phụ lục 05.10.", "basis": "TT20/2022/TT-BYT Phụ lục I cột 8, dòng Dexamethason: \"Quỹ bảo hiểm y tế không thanh toán trường hợp tiêm trong dịch kính, tiêm nội nhãn.\" Mã đường dùng đối chiếu theo QĐ7603/QĐ-BYT Phụ lục 05.10: 2.07 = \"Tiêm nội nhãn cầu\", 2.08 = \"Tiêm trong dịch kính của mắt\".", "sample": "[DK002] Thuốc Dexamethason ghi <DUONG_DUNG>='2.08' (Tiêm trong dịch kính của mắt) — Phụ lục I Thông tư 20/2022/TT-BYT ghi điều kiện nguyên văn: \"Quỹ bảo hiểm y tế không thanh toán trường hợp tiêm trong dịch kính, tiêm nội nhãn.\""}, {"code": "DK003", "severity": "CHAN", "layer": "K2", "title": "Thiếu dịch vụ kỹ thuật mà điều kiện TT20 yêu cầu", "meaning": "Một số dòng Phụ lục I TT20/2022 ràng buộc BỐI CẢNH DỊCH VỤ chứ không ràng buộc chẩn đoán: thuốc chỉ được thanh toán khi dùng TRONG một loại kỹ thuật nhất định. Gadobenic acid là thuốc cản quang đặc hiệu mô gan, TT20 chỉ cho thanh toán khi tiêm tĩnh mạch trong chụp chiếu gan.", "trigger": "Mã thuốc nằm trong TT20_DIEUKIEN_KHAC.csv loại CAN_DVKT mà hồ sơ KHÔNG có dòng XML3 nào có <MA_DICH_VU> thuộc danh sách mã DVKT của bối cảnh đó (danh sách dựng từ tên chính thức trong QĐ2010/QĐ-BYT Phụ lục 1 — catalog đối chiếu catalog).", "action": "Bổ sung dòng XML3 của kỹ thuật đã thực hiện, hoặc bỏ thuốc khỏi phần đề nghị quỹ thanh toán nếu không dùng trong kỹ thuật mà điều kiện yêu cầu.", "basis": "TT20/2022/TT-BYT Phụ lục I cột 8, dòng Gadobenic acid: \"Quỹ bảo hiểm y tế thanh toán tiêm tĩnh mạch trong chụp chiếu gan.\" Danh mục mã dịch vụ kỹ thuật đối chiếu theo QĐ2010/QĐ-BYT ngày 19/6/2025 Phụ lục 1 (bộ mã dùng chung).", "sample": "[DK003] Thuốc Gadobenic acid được dùng nhưng hồ sơ KHÔNG có dịch vụ kỹ thuật nào thuộc diện điều kiện yêu cầu (27 mã DVKT trong danh mục QĐ2010/QĐ-BYT)."}, {"code": "DK001", "severity": "CHAN", "layer": "K2", "title": "Điều kiện thanh toán TT20 gắn chẩn đoán chưa thoả", "meaning": "Thuốc mà TT20/2022 quy định CHỈ được Quỹ BHYT thanh toán cho một chẩn đoán cụ thể (vd succimer=ngộ độc chì, oseltamivir=cúm, alendronat=loãng xương) nhưng hồ sơ không có chẩn đoán phù hợp.", "trigger": "Thuốc thuộc bảng cổng chẩn đoán TT20 (route-đơn-nghĩa, đã kiểm 0 trùng canon) mà không có mã ICD nào của hồ sơ (bệnh chính+kèm) thuộc nhóm chẩn đoán TT20 yêu cầu.", "basis": "TT20/2022/TT-BYT Phụ lục I cột 8 — TT20 Điều 2 khoản 1 điểm đ: \"Cột 8: Ghi điều kiện, tỷ lệ thanh toán và ghi chú cụ thể của một số thuốc\". Phụ lục I VẪN CÒN HIỆU LỰC: TT37/2024 Điều 20 khoản 4 chỉ bãi bỏ \"Các Điều 3, 4, 5 và 6 Thông tư số 20/2022/TT-BYT hết hiệu lực thi hành từ ngày Thông tư này có hiệu lực thi hành\" (01/01/2025) — KHÔNG bãi bỏ Phụ lục I; và TT37/2024 Điều 20 khoản 2: \"Không áp dụng quy định tại Điều 7 Thông tư này trong thanh toán chi phí khám bệnh, chữa bệnh bảo hiểm y tế cho đến khi Bộ trưởng Bộ Y tế ban hành văn bản mới về Danh mục và tỷ lệ, điều kiện thanh toán đối với thuốc hóa dược, sinh phẩm, thuốc phóng xạ và chất đánh dấu\" — tức danh mục TT20 vẫn là danh mục đang dùng", "sample": "Thuốc \"Succimer\": Điều kiện TT20 CHƯA thoả: thuốc CHỈ được Quỹ BHYT thanh toán khi ngộ độc chì (cần chẩn đoán nhóm [...]) nhưng hồ sơ không có chẩn đoán phù hợp (đã tra CẢ bệnh chính LẪN bệnh kèm) — ...", "action": "Đối chiếu bệnh án: bổ sung mã chẩn đoán đúng nếu có, hoặc chuyển chi phí ngoài phạm vi BHYT."}, {"code": "HC001", "severity": "GHICHU", "layer": "K2", "title": "Thuốc phải hội chẩn trước khi dùng (dấu * TT20)", "meaning": "Thuốc có ký hiệu dấu sao (*) trong danh mục TT20/2022 — phải được hội chẩn trước khi sử dụng (trừ cấp cứu). Kháng sinh dự trữ (*) chỉ được quỹ BHYT thanh toán khi thực hiện đúng quy trình quản lý sử dụng kháng sinh trong bệnh viện.", "trigger": "Hoạt chất thuộc nhóm có dấu (*) trong TT20/2022 (kháng sinh/kháng nấm/kháng virus dự trữ, dinh dưỡng tĩnh mạch...).", "basis": "TT20/2022/TT-BYT Điều 2 khoản 7 (dấu *) + QĐ5631/QĐ-BYT (quản lý sử dụng kháng sinh).", "sample": "Thuốc \"Meropenem\": Thuốc phải HỘI CHẨN trước khi dùng (dấu * — TT37/2024/TT-BYT Điều 10 khoản 5...) — cần biên bản hội chẩn.", "action": "Đính kèm biên bản hội chẩn theo quy trình quản lý sử dụng kháng sinh (QĐ5631) để quỹ BHYT thanh toán.", "deprecated": true}, {"code": "K3001", "severity": "CHAN", "layer": "K3", "title": "Mức hưởng theo mã đối tượng KCB — không chi trả hoặc giảm tỷ lệ", "meaning": "Mã đối tượng KCB tại thời điểm vào viện thuộc trường hợp KHÔNG được quỹ BHYT chi trả, hoặc chi trả với tỷ lệ giảm.", "trigger": "Đối chiếu MA_DOITUONG_KCB với bảng mức hưởng theo thời điểm vào viện và nội/ngoại trú.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 30 MA_DOITUONG_KCB: “Ghi mã đối tượng đến KBCB theo Bộ mã DMDC do Bộ trưởng Bộ Y tế ban hành.” QĐ3276/QĐ-BYT ngày 17/10/2025 Phụ lục 1 là bảng mã đối tượng KCB và mức hưởng tương ứng hiện hành; Điều 2 yêu cầu giám định theo mã đã dùng “nhưng phải cùng phạm vi quyền lợi, mức hưởng”. NĐ188/2025/NĐ-CP quy định mức hưởng BHYT.", "sample": "[K3001] Mức hưởng — MA_DOITUONG_KCB=1.18 (…) tại thời điểm vào viện … KHÔNG được quỹ BHYT chi trả …", "action": "Đối chiếu lại mã đối tượng KCB và mức hưởng áp cho thời điểm khám."}, {"code": "K3002", "severity": "GHICHU", "layer": "K3", "title": "Mã đối tượng KCB không khớp nội/ngoại trú — nên cập nhật", "meaning": "Mã đối tượng KCB chỉ áp cho nội trú (hoặc ngoại trú) nhưng hồ sơ lại thuộc loại còn lại.", "trigger": "So MA_DOITUONG_KCB với MA_LOAI_KCB / NGAY_VAO_NOI_TRU của hồ sơ.", "basis": "QĐ3276/QĐ-BYT ngày 17/10/2025 Phụ lục 1 và Điều 2 — cơ sở được trích xuất lại và gửi hồ sơ thay thế.", "sample": "[K3002] Mã đối tượng KCB nên cập nhật: MA_DOITUONG_KCB=1.18 chỉ áp cho NGOẠI trú … nhưng hồ sơ là NỘI trú …", "action": "Cập nhật mã đối tượng KCB đúng theo QĐ3276 PL1 rồi gửi hồ sơ thay thế."}, {"code": "K4001", "severity": "GHICHU", "layer": "K4", "title": "Thuốc chống chỉ định với chẩn đoán", "meaning": "Thuốc chống chỉ định với một trong các mã bệnh của hồ sơ.", "trigger": "Mã bệnh hồ sơ thuộc tập chống chỉ định của thuốc.", "basis": "MAPPING_chongchidinh (DrugCentral) / HDSD.", "sample": "Chống chỉ định với [<mã bệnh>].", "action": "Ngừng/thay thuốc; nếu có lý do lâm sàng đặc biệt phải giải trình."}, {"code": "K5001", "severity": "CHAN", "layer": "K5", "title": "Mã ICD lạ / không có trong danh mục TT06", "meaning": "Mã bệnh chính không có trong danh mục ICD-10 TT06 — mã lạ/sai định dạng.", "trigger": "Mã (và mã cha 3 ký tự) không thuộc VALID_ICD.", "basis": "TT06/2026/TT-BYT Điều 3, nguyên văn: “Ban hành Danh mục mã bệnh tật, nguyên nhân tử vong (sau đây gọi chung là mã bệnh) theo ICD-10 quy định tại Phụ lục ban hành kèm theo Thông tư này”.", "sample": "<mã>: KHÔNG có trong danh mục ICD TT06 — mã lạ/sai định dạng, cần rà soát thủ công.", "action": "Sửa mã bệnh chính về mã hợp lệ TT06 (dùng /v1/icd/suggest)."}, {"code": "K5002", "severity": "CHAN", "layer": "K5", "title": "Mã cấm làm bệnh chính (cột 24 TT06)", "meaning": "Mã ICD bị cấm dùng làm chẩn đoán chính.", "trigger": "Cột 24 = x.", "basis": "TT06/2026/TT-BYT Điều 5, nguyên văn: “Cột 24 xác định mã không được dùng là bệnh chính” (cùng điều còn định nghĩa cột 25 “không được khuyến khích dùng là bệnh chính”, cột 27 “chỉ sử dụng để mã hóa nguyên nhân tử vong”). Với hồ sơ KCB kết thúc TRƯỚC 01/7/2026 thì áp bộ cờ QĐ4469/QĐ-BYT — “Phụ lục A2: Các mã bệnh không sử dụng là bệnh chính”. Engine chọn bộ cờ THEO NGÀY KẾT THÚC lượt KCB, không áp ngược thời gian.", "sample": "<mã> KHÔNG được dùng làm bệnh chính (cột 24 — mã KHÔNG được dùng làm chẩn đoán chính).", "action": "Chuyển mã này thành bệnh kèm; chọn mã bệnh chính phù hợp."}, {"code": "K5003", "severity": "CHAN", "layer": "K5", "title": "Mã chỉ dùng mã hoá nguyên nhân tử vong (cột 27)", "meaning": "Mã chỉ dùng để mã hoá nguyên nhân tử vong, không làm bệnh chính khi còn điều trị.", "trigger": "Cột 27 = x.", "basis": "TT06/2026/TT-BYT (cột 27).", "sample": "<mã> KHÔNG được dùng làm bệnh chính (cột 27 — mã CHỈ dùng để mã hóa nguyên nhân tử vong).", "action": "Dùng mã lâm sàng phù hợp làm bệnh chính.", "deprecated": true}, {"code": "K5004", "severity": "CHAN", "layer": "K5", "title": "Chương ngoại nhân V–Y làm bệnh chính", "meaning": "Mã nguyên nhân ngoại sinh (V/W/X/Y) chỉ bổ sung cho mã tổn thương S–T, không làm bệnh chính.", "trigger": "Ký tự đầu ∈ {V,W,X,Y}.", "basis": "TT06/2026/TT-BYT (chương XX).", "sample": "<mã> KHÔNG được dùng làm bệnh chính (chương XX (V-Y) — mã nguyên nhân ngoại sinh).", "action": "Đặt mã tổn thương (S–T) làm bệnh chính, V–Y làm bệnh kèm.", "deprecated": true}, {"code": "K5005", "severity": "GHICHU", "layer": "K5", "title": "Không khuyến khích làm bệnh chính (cột 25)", "meaning": "Mã không khuyến khích dùng làm chẩn đoán chính.", "trigger": "Cột 25 = x (và không bị cấm cột 24/27).", "basis": "TT06/2026/TT-BYT (cột 25).", "sample": "<mã> KHÔNG khuyến khích dùng làm chẩn đoán chính (cột 25) — ĐẠT, đây là khuyến nghị mã hoá của TT06.", "action": "Cân nhắc mã cụ thể hơn làm bệnh chính."}, {"code": "K5006", "severity": "CHAN", "layer": "K5", "title": "Sai giới: mã chỉ Nữ nhưng BN Nam (cột 28)", "meaning": "Mã bệnh chỉ có/chủ yếu ở Nữ nhưng bệnh nhân là Nam.", "trigger": "Cột 28 = x và GIOI_TINH = 1.", "basis": "TT06/2026/TT-BYT (cột 28). TT06/2026/TT-BYT Điều 3 khoản 2 điểm đ, nguyên văn: “Cột 28 xác định mã chỉ có hoặc chủ yếu có ở nữ giới”.", "sample": "<mã> chỉ có/chủ yếu ở NỮ (cột 28) nhưng BN là Nam.", "action": "Kiểm lại mã bệnh hoặc giới tính bệnh nhân."}, {"code": "K5007", "severity": "CHAN", "layer": "K5", "title": "Sai giới: mã chỉ Nam nhưng BN Nữ (cột 29)", "meaning": "Mã bệnh chỉ có/chủ yếu ở Nam nhưng bệnh nhân là Nữ.", "trigger": "Cột 29 = x và GIOI_TINH = 2.", "basis": "TT06/2026/TT-BYT (cột 29). TT06/2026/TT-BYT Điều 3 khoản 2 điểm e, nguyên văn: “Cột 29 xác định mã chỉ có hoặc chủ yếu có ở nam giới”.", "sample": "<mã> chỉ có/chủ yếu ở NAM (cột 29) nhưng BN là Nữ.", "action": "Kiểm lại mã bệnh hoặc giới tính bệnh nhân."}, {"code": "K5008", "severity": "CHAN", "deprecated": true, "layer": "K5", "title": "Giới hạn tuổi theo QĐ4469 (mã cũ — nay báo dưới mã K5015, mức ghi chú)", "meaning": "Mã này không còn được phát. Giới hạn tuổi theo QĐ4469/QĐ-BYT là nhãn nhóm tuổi thường gặp, không phải ràng buộc bắt buộc, nên không dùng để từ chối chi phí; TT06/2026/TT-BYT Điều 4 khoản 2 cũng chỉ quy định 6 cột quy tắc (cột 24-29), không có cột giới hạn tuổi. Nội dung liên quan nay báo dưới mã K5015 ở mức ghi chú.", "trigger": "Mã có gioi_han_tuoi trong QĐ4469. (KHÔNG còn tự phát — xem K5015, mức GHI CHÚ.)", "basis": "QĐ4469/QĐ-BYT (bổ sung tuổi).", "sample": "<mã> có giới hạn tuổi (QĐ4469): ... (BN ...t — ngoài giới hạn tuổi của mã).", "action": "Đối chiếu tuổi bệnh nhân với giới hạn của mã. (Xem finding thực tế dưới mã K5015 — chỉ tham khảo, không xuất toán.)"}, {"code": "K5009", "severity": "GHICHU", "layer": "K5", "title": "Mã cha có mã con — nên ghi mã con (cột 26)", "meaning": "Đang ghi mã 3 ký tự trong khi có mã con 4–5 ký tự cụ thể hơn.", "trigger": "Cột 26 = x hoặc mã 3 ký tự có mã con.", "basis": "TT06/2026/TT-BYT (cột 26) + CV4059/BYT-BH.", "sample": "<mã> là mã cha CÓ mã con (cột 26) — nên ghi mã con cụ thể (4-5 ký tự).", "action": "Ghi mã con 4–5 ký tự cụ thể thay vì mã cha 3 ký tự."}, {"code": "K6001", "severity": "CHAN", "layer": "K6", "title": "DVKT ngoài danh mục dùng chung QĐ2010", "meaning": "Mã dịch vụ kỹ thuật 9 số hoặc mã giường không có trong danh mục QĐ2010.", "trigger": "Mã đúng định dạng DVKT/giường nhưng không thuộc danh mục.", "basis": "QĐ2010/QĐ-BYT (2025). QĐ130/QĐ-BYT chỉ tiêu MA_DICH_VU, nguyên văn: “Ghi mã dịch vụ kỹ thuật hoặc mã dịch vụ khám bệnh thực”.", "sample": "mã DVKT ... KHÔNG có trong danh mục dùng chung QĐ2010/2025 | DVKT ...: ngoài danh mục QĐ2010.", "action": "Ánh xạ mã DVKT nội bộ HIS sang mã dùng chung QĐ2010."}, {"code": "K6002", "severity": "CHAN", "layer": "K6", "title": "Mã DVKT không có trong danh mục dùng chung", "meaning": "Mã dịch vụ kỹ thuật khai trong hồ sơ không đối chiếu được với bộ mã danh mục dùng chung.", "trigger": "MA_DICH_VU không thuộc danh mục DVKT của QĐ2010/QĐ-BYT.", "basis": "QĐ2010/QĐ-BYT ngày 19/6/2025 — bộ mã danh mục dùng chung (DVKT); TT48/2017/TT-BYT Điều 4 khoản 2. QĐ130/QĐ-BYT chỉ tiêu MA_DICH_VU, nguyên văn: “Ghi mã dịch vụ kỹ thuật hoặc mã dịch vụ khám bệnh thực”.", "sample": "[K6002] mã DVKT \"XX.YYYY.ZZZZ\" KHÔNG có trong danh mục dùng chung QĐ2010/2025", "action": "Chuẩn hoá mã dịch vụ kỹ thuật theo bộ mã dùng chung trước khi gửi cổng."}, {"code": "K6003", "severity": "CHAN", "layer": "K6", "title": "DVKT ngoài danh mục kỹ thuật ĐƯỢC DUYỆT của cơ sở", "meaning": "Mã DVKT trên hồ sơ KHÔNG nằm trong danh mục kỹ thuật đã được cấp có thẩm quyền PHÊ DUYỆT cho chính cơ sở KCB đó — cơ sở chưa được phép thực hiện/thanh toán kỹ thuật này.", "trigger": "MA_DICH_VU (XML3) không thuộc danh mục kỹ thuật duyệt của cơ sở (do cơ sở đăng ký qua POST /v1/co-so/danh-muc).", "basis": "Luật KCB 15/2023 + NĐ96/2023 (mỗi cơ sở chỉ làm kỹ thuật đã được phê duyệt) — cần DỮ LIỆU CƠ SỞ.", "sample": "DVKT <mã> NGOÀI danh mục kỹ thuật ĐƯỢC DUYỆT của cơ sở <MA_CSKCB> — cơ sở chưa được phép thực hiện.", "action": "Bổ sung kỹ thuật vào DMKT được phê duyệt của cơ sở, hoặc rà lại mã DVKT trên hồ sơ."}, {"code": "K6004", "severity": "CHAN", "layer": "K6", "title": "DVKT thực hiện ngoài phạm vi/khoa được phép", "meaning": "Kỹ thuật được thực hiện ở khoa KHÔNG thuộc phạm vi hành nghề/phân tuyến kỹ thuật đã đăng ký cho khoa đó (proxy cho CCHN người thực hiện).", "trigger": "MA_DICH_VU không thuộc danh sách DVKT được phép của MA_KHOA (cơ sở đăng ký dvktTheoKhoa).", "basis": "Luật KCB 15/2023 (CCHN + phạm vi hành nghề) — cần DỮ LIỆU CƠ SỞ (phân công kỹ thuật theo khoa/người).", "sample": "DVKT <mã> thực hiện ở khoa <MA_KHOA> NGOÀI phạm vi được phép của cơ sở — kiểm CCHN/phân tuyến kỹ thuật.", "action": "Rà phân công kỹ thuật theo khoa/CCHN người thực hiện, hoặc cập nhật phạm vi được phép."}, {"code": "K7001A", "severity": "GHICHU", "layer": "K7", "title": "An toàn người bệnh — tương tác thuốc chống chỉ định", "meaning": "Hồ sơ có cặp thuốc thuộc danh mục tương tác CHỐNG CHỈ ĐỊNH của QĐ5948. Là cảnh báo CHUYÊN MÔN, không phải kết luận thanh toán.", "trigger": "Hai dòng CHI_TIET_THUOC mang cặp hoạt chất có trong QĐ5948 với cột Xử trí ghi Chống chỉ định phối hợp.", "basis": "QĐ5948/QĐ-BYT danh mục tương tác thuốc chống chỉ định. Danh mục CHUYÊN MÔN, không căn cứ Luật BHYT, không quy định thanh toán — nên KHÔNG tuyên xuất toán.", "sample": "[K7001A] AN TOÀN NGƯỜI BỆNH — tương tác CHỐNG CHỈ ĐỊNH: ...", "action": "ĐẠT về thanh toán — đề nghị bác sĩ xem lại cặp thuốc."}, {"code": "K7001", "severity": "GHICHU", "deprecated": true, "layer": "K7", "title": "Tương tác thuốc chống chỉ định (QĐ5948)", "meaning": "Hai thuốc trong đơn là cặp tương tác chống chỉ định.", "trigger": "Cặp hoạt chất thuộc danh mục QĐ5948.", "basis": "QĐ5948/QĐ-BYT.", "sample": "Tương tác chống chỉ định: <A> + <B> (QĐ5948).", "action": "Bỏ 1 trong 2 thuốc hoặc hội chẩn/thay thế."}, {"code": "K8001", "severity": "CHAN", "layer": "K8", "title": "Nghi trùng khai DVKT (cùng giờ + cùng người thực hiện)", "meaning": "Cùng một DVKT có ≥2 dòng CÙNG giờ thực hiện (NGAY_KQ) và CÙNG người thực hiện trong ngày — trùng một lần làm. (DVKT làm nhiều lần KHÁC giờ trong ngày là bình thường ở nội trú, KHÔNG tính trùng.)", "trigger": "≥2 dòng XML3 cùng MA_DICH_VU + cùng NGAY_KQ + cùng NGUOI_THUC_HIEN trong 1 ngày.", "basis": "Nguyên tắc giám định trùng (trùng dịch vụ + trùng THỜI ĐIỂM thực hiện) — TT12/2026/TT-BTC; tiền thân QĐ3618/QĐ-BHXH. TT12/2026/TT-BTC, nguyên văn: “Bộ trưởng Bộ Tài chính ban hành Thông tư quy định trình tự, thủ tục giám định chi phí khám bệnh, chữa bệnh bảo hiểm y tế”.", "sample": "Trùng khai DVKT mã <mã> — <tên> ngày <ngày> có <n> dòng CÙNG giờ thực hiện lúc HH:MM, CÙNG người thực hiện.", "action": "Kiểm y lệnh & sổ thực hiện; nếu đúng là 1 lần làm bị khai 2 dòng thì gộp còn 1; nếu thực sự làm nhiều lần thì bổ sung giờ/người thực hiện khác nhau.", "deprecated": true}, {"code": "K8003", "severity": "GHICHU", "layer": "K8", "title": "DVKT thực hiện nhiều lần trong ngày — đã đối chiếu, hợp lệ", "meaning": "Có DVKT được thực hiện nhiều lần trong ngày nhưng KHÁC giờ thực hiện / khác người — bình thường ở nội trú (theo dõi, chăm sóc); engine đã đối chiếu mốc thực hiện và KHÔNG tính là trùng khai. Chỉ báo để minh bạch.", "trigger": "DVKT lặp trong ngày nhưng các dòng có NGAY_KQ hoặc NGUOI_THUC_HIEN khác nhau.", "basis": "Nguyên tắc giám định trùng (TT12/2026/TT-BTC; QĐ3618/QĐ-BHXH) — chỉ trùng khi trùng thời điểm thực hiện.", "sample": "<n> lượt DVKT được thực hiện NHIỀU LẦN trong ngày (khác giờ / khác người) — KHÔNG tính trùng khai.", "action": "Không cần xử lý — thông tin đối chiếu."}, {"code": "K8004", "severity": "GHICHU", "layer": "K8", "title": "Nghi trùng DVKT nhưng thiếu mốc thực hiện để xác nhận", "meaning": "Có ≥2 dòng cùng DVKT trong ngày giống nhau nhưng hồ sơ THIẾU mốc thực hiện (NGAY_KQ/người/vị trí) nên KHÔNG xác nhận được là trùng khai hay nhiều lần làm thật. Chỉ ghi chú để đối chiếu — không kết luận trùng khi thiếu bằng chứng (tránh báo oan HIS không xuất trường thực hiện).", "trigger": "≥2 dòng cùng MA_DICH_VU + cùng ngày, tất cả thiếu NGAY_KQ/NGAY_TH_YL/NGUOI_THUC_HIEN/VI_TRI_TH_DVKT.", "basis": "Nguyên tắc giám định trùng (TT12/2026/TT-BTC; QĐ3618) — chỉ kết luận trùng khi có trùng THỜI ĐIỂM thực hiện.", "sample": "Nghi trùng DVKT mã ... ngày ... có <n> dòng giống nhau nhưng THIẾU mốc thực hiện — đối chiếu y lệnh nếu cần.", "action": "Đối chiếu y lệnh & sổ thực hiện nếu cần; bổ sung trường thực hiện (NGAY_KQ/người) để phân biệt."}, {"code": "K8002", "severity": "GHICHU", "layer": "K8", "title": "Tách dịch vụ — mục đã gồm trong dịch vụ/định mức khác", "meaning": "Một DVKT/VTYT được tính RIÊNG trong khi đã nằm trong định mức/gói của một dịch vụ khác cùng hồ sơ (tách để thu thêm).", "trigger": "Cả 'dịch vụ chính' và 'mục con không tách' cùng xuất hiện (cơ sở đăng ký khongTach).", "basis": "TT04/2017 Điều 3 (VTYT trong giá không thanh toán riêng) + định mức KTKT (TT19/2022) + ghi chú gói giá — cần DỮ LIỆU CƠ SỞ.", "sample": "Tách dịch vụ: DVKT <con> đã bao gồm trong <chính> (định mức/gói) — không thanh toán riêng.", "action": "Bỏ dòng tính riêng của mục đã nằm trong định mức/gói, hoặc giải trình."}, {"code": "EX001", "severity": "CHAN", "layer": "K1", "title": "Thuốc có SĐK đã bị rút (không còn lưu hành)", "meaning": "Số đăng ký của thuốc đã bị Cục Quản lý Dược rút — thuốc không còn được phép lưu hành, không thuộc phạm vi thanh toán BHYT.", "trigger": "SO_DANG_KY của dòng thuốc thuộc danh sách SĐK đã bị rút (Cục QLD).", "basis": "Cục Quản lý Dược — công văn rút số đăng ký (dichvucong.dav.gov.vn).", "sample": "Thuốc SĐK đã bị rút: \"...\" (SĐK ...) đã bị RÚT số đăng ký — không còn lưu hành.", "action": "Đối chiếu số đăng ký thuốc; thay bằng thuốc còn hiệu lực SĐK."}, {"code": "THU001", "severity": "CHAN", "layer": "K1", "title": "Thuốc bị thu hồi/đình chỉ do vi phạm chất lượng", "meaning": "Thuốc có SĐK bị Cục QLD thu hồi/đình chỉ lưu hành TOÀN BỘ do vi phạm chất lượng → không được thanh toán BHYT. (Thu hồi theo LÔ riêng lẻ không tự cảnh báo vì hồ sơ BHYT thường không có số lô — chỉ tra cứu ở /v1/thuoc-thu-hoi.)", "trigger": "SO_DANG_KY thuộc danh sách thu hồi TOÀN BỘ (loai=SDK) trong thuoc_thu_hoi_dav.", "basis": "Cục Quản lý Dược — công văn/QĐ thu hồi thuốc (dav.gov.vn/cong-van-thu-hoi-thuoc).", "sample": "Thuốc BỊ THU HỒI chất lượng: \"...\" (SĐK ...) đã bị thu hồi/đình chỉ TOÀN BỘ — không được thanh toán BHYT.", "action": "Đối chiếu SĐK; không thanh toán thuốc đã bị thu hồi toàn bộ."}, {"code": "YHCT003", "severity": "GHICHU", "layer": "YHCT", "title": "MA_BENH_YHCT ngoài danh mục mã bệnh YHCT", "meaning": "Mã bệnh Y học cổ truyền không thuộc danh mục mã bệnh YHCT (QĐ2782/QĐ-BYT).", "trigger": "MA_BENH_YHCT có giá trị nhưng không khớp danh mục QĐ2782.", "basis": "QĐ7603/QĐ-BYT ngày 25/12/2018 Phụ lục 07 — DANH MỤC MÃ BỆNH Y HỌC CỔ TRUYỀN (bộ mã dùng chung), 4.147 mã ở Phụ lục 07.1 + 693 mã bổ sung ở 07.2. CÒN HIỆU LỰC: QĐ2010/QĐ-BYT ngày 19/6/2025 Điều 2 chỉ bãi bỏ Phụ lục 01, 02, 03, 04 của QĐ7603, không bãi bỏ Phụ lục 07.", "sample": "MA_BENH_YHCT='...' không thuộc danh mục mã bệnh Y học cổ truyền (QĐ2782/QĐ-BYT) — đối chiếu.", "action": "Tra mã bệnh YHCT đúng tại /v1/benh-yhct (QĐ2782/QĐ-BYT)."}, {"code": "YHCT004", "severity": "GHICHU", "layer": "YHCT", "title": "MA_BENH_YHCT lệch chương ICD-10 tương ứng", "meaning": "Mã bệnh YHCT theo QĐ2782 có ICD-10 tương ứng (ánh xạ 1:1), nhưng chẩn đoán YHHĐ của hồ sơ (bệnh chính+kèm) khác chương ICD hoàn toàn → nghi lệch mã hoá giữa YHCT và YHHĐ.", "trigger": "ICD-10 ánh xạ của MA_BENH_YHCT không cùng chương/mã 3 ký tự với bất kỳ chẩn đoán hồ sơ nào.", "basis": "QĐ7603/QĐ-BYT ngày 25/12/2018 Phụ lục 07.1 — cột ICD-10 tương ứng của từng mã bệnh YHCT.", "sample": "MA_BENH_YHCT='U50.011' (Bách nhật khái) theo QĐ2782 tương ứng ICD-10 'A37' nhưng chẩn đoán YHHĐ hồ sơ (E11.9) khác chương — đối chiếu mã hoá bệnh án.", "action": "Đối chiếu bệnh án: kiểm mã bệnh YHCT hoặc mã ICD-10 chính đã nhập đúng chưa (mức ghi chú, không xuất toán)."}, {"code": "GIA001", "severity": "GHICHU", "layer": "K9", "title": "Giá thuốc cao hơn giá kê khai (Cục QLD)", "meaning": "Đơn giá thuốc trên hoá đơn vượt >20% giá kê khai (giá bán buôn dự kiến do doanh nghiệp công bố với Cục Quản lý Dược). Trần tham chiếu độc lập, phủ cả thuốc chưa có dữ liệu trúng thầu.", "trigger": "DON_GIA thuốc > 120% giá kê khai cùng SĐK (gia_kekhai_dav).", "basis": "Giá kê khai công khai — dichvucong.dav.gov.vn/congbogiathuoc (Cục QLD).", "sample": "Giá thuốc cao bất thường: \"...\" (SĐK ...) đơn giá ... > giá kê khai ... (bán buôn dự kiến, Cục QLD).", "action": "Đối chiếu giá mua/giá trúng thầu với giá kê khai công bố; kiểm quy cách/đơn vị tính."}, {"code": "K9001", "severity": "GHICHU", "layer": "K9", "title": "Giá DVKT: viện thu > BH duyệt", "meaning": "Đơn giá viện thu (DON_GIA_BV) cao hơn đơn giá BH duyệt (DON_GIA_BH).", "trigger": "DON_GIA_BV > DON_GIA_BH > 0.", "basis": "Nội hoá đơn (đối chiếu giá viện thu vs BH duyệt).", "sample": "K9 giá: DVKT <mã> — đơn giá thu ...đ > đơn giá BH duyệt ...đ (chênh ...đ) — ĐẠT: phần chênh do người bệnh tự trả, không thuộc phần quỹ BHYT chi trả.", "action": "Đối chiếu giá dịch vụ; điều chỉnh đơn giá hoặc giải trình chênh lệch."}, {"code": "G3002B", "severity": "GHICHU", "layer": "GOP", "title": "Mổ lấy thai: thay băng vượt 03 lần do biến thể NHIỄM TRÙNG", "meaning": "Hồ sơ mổ lấy thai khai đúng trần 03 lần thay băng vết mổ 15-30 cm, cộng thêm biến thể \"vết mổ nhiễm trùng\" thì tổng vượt 03. Trần 03 lần nằm ở điểm d (mổ lấy thai); điểm a (vết mổ nhiễm trùng) không có trần số lần.", "trigger": "Có mổ lấy thai; số lần bản THƯỜNG <= 3; tổng bản thường + bản nhiễm trùng > 3.", "basis": "TT39/2024/TT-BYT Điều 4d khoản 4: bốn trường hợp song song a-d; điểm a \"Vết mổ nhiễm trùng, rò tiêu hóa, rò mật, rò nước tiểu\" không có trần; điểm d \"Trường hợp phẫu thuật mổ lấy thai: được áp dụng mức giá này nhưng tối đa không quá 03 lần\".", "sample": "[G3002B] Hồ sơ có PHẪU THUẬT MỔ LẤY THAI, khai 3 lần “Thay băng vết mổ 15-30 cm” …", "action": "Giữ trong hồ sơ bằng chứng vết mổ nhiễm trùng để giải trình. Không phải sửa số lượng."}, {"code": "K9005", "severity": "CHAN", "layer": "K9", "title": "Đơn giá lệch đơn vị tính (giá NGÀY nhân số GIỜ)", "meaning": "Cùng một hồ sơ, cùng một mã dịch vụ được khai hai đơn giá BH tỷ lệ đúng 24 lần (giá NGÀY và giá GIỜ = giá ngày/24); dòng mang giá NGÀY lại ghi SO_LUONG là số GIỜ ⇒ thành tiền gấp 24 lần mức đúng.", "trigger": "Trong một MA_LK, một MA_DICH_VU (dòng KHÔNG có MA_VAT_TU) có đúng 2 đơn giá BH với tỷ lệ cao/thấp = 24,0 ±0,5%; hồ sơ có ít nhất 1 dòng dùng giá thấp với SO_LUONG ≥ 2; dòng bị gắn cờ mang giá cao và SO_LUONG ≥ 2.", "basis": "QĐ130/QĐ-BYT 18/01/2023 Bảng 3 chỉ tiêu 20 THANH_TIEN_BH: \"Được tính theo công thức: THANH_TIEN_BH = SO_LUONG * DON_GIA * TYLE_TT_BH/100\" — SO_LUONG và DON_GIA phải cùng đơn vị tính.", "sample": "Đơn giá lệch đơn vị tính: dịch vụ 01.0132.0209 ngày y lệnh 03/05/2025 khai SỐ LƯỢNG 24 (số GIỜ) nhân với ĐƠN GIÁ 625.000đ là giá của MỘT NGÀY = 15.000.000đ …", "action": "Sửa dòng đó: giữ SỐ LƯỢNG là số giờ thì ĐƠN GIÁ phải là giá GIỜ (= giá ngày/24); hoặc giữ ĐƠN GIÁ là giá NGÀY thì SO_LUONG phải quy về phần của ngày (số giờ/24)."}, {"code": "K9002", "severity": "GHICHU", "layer": "K9", "title": "Giá thuốc cao hơn giá trúng thầu ≥10%", "meaning": "Đơn giá thuốc trên hoá đơn cao hơn giá trúng thầu công bố cùng SĐK ≥10%.", "trigger": "DON_GIA (theo SĐK) > giá trúng thầu max ×1.1.", "basis": "KQ trúng thầu (cổng BHXH VSS) đối chiếu theo SĐK.", "sample": "Giá thuốc: <tên> (SĐK ...) — đơn giá HĐ ...đ cao hơn giá trúng thầu ...", "action": "Đối chiếu giá trúng thầu theo SĐK; điều chỉnh hoặc giải trình."}, {"code": "K9003", "severity": "GHICHU", "layer": "K9", "title": "Đơn giá DVKT vượt giá cơ sở đã duyệt", "meaning": "Đơn giá DVKT trên hồ sơ CAO HƠN mức giá do cấp có thẩm quyền phê duyệt cho cơ sở (bảng giá do cơ sở đăng ký).", "trigger": "DON_GIA_BV (XML3) > giá duyệt của cơ sở cho mã DVKT đó.", "basis": "Giá DVKT do HĐND cấp tỉnh/Bộ chủ quản quyết định (Điều 110 Luật KCB 15/2023; TT21/2024 phương pháp) — cần DỮ LIỆU CƠ SỞ.", "sample": "Đơn giá DVKT <mã> ...đ VƯỢT giá cơ sở đã duyệt ...đ (chênh ...đ) — ĐẠT trên hồ sơ: bảng giá duyệt riêng của cơ sở không nằm trong chuẩn QĐ130.", "action": "Điều chỉnh đơn giá về mức đã duyệt hoặc giải trình chênh lệch."}, {"code": "API-AUTH-401", "severity": "CHAN", "layer": "API", "title": "Chưa xác thực", "http": 401, "meaning": "Thiếu hoặc sai API key / access token.", "trigger": "Không có X-API-Key hợp lệ hoặc Bearer token hết hạn.", "basis": "RFC 9457.", "sample": "{\"type\":\".../unauthorized\",\"status\":401}", "action": "Gửi header X-API-Key hoặc lấy token qua POST /v1/auth/token."}, {"code": "API-REQ-400", "severity": "CHAN", "layer": "API", "title": "Yêu cầu không hợp lệ", "http": 400, "meaning": "Body JSON/XML sai định dạng hoặc thiếu trường bắt buộc.", "trigger": "Phân tích body thất bại / thiếu trường.", "basis": "RFC 9457.", "sample": "{\"type\":\".../bad-request\",\"status\":400,\"errors\":[...]}", "action": "Kiểm lại schema request theo API Reference."}, {"code": "API-REQ-413", "severity": "CHAN", "layer": "API", "title": "Payload quá lớn", "http": 413, "meaning": "Kích thước body vượt giới hạn (JSON 10MB / XML 12MB).", "trigger": "Content-Length vượt ngưỡng.", "basis": "RFC 9457.", "sample": "{\"type\":\".../payload-too-large\",\"status\":413}", "action": "Giảm kích thước / tách hồ sơ."}, {"code": "API-REQ-415", "severity": "CHAN", "layer": "API", "title": "Content-Type không hỗ trợ", "http": 415, "meaning": "Endpoint XML cần application/xml; endpoint JSON cần application/json.", "trigger": "Content-Type không khớp endpoint.", "basis": "RFC 9457.", "sample": "{\"type\":\".../unsupported-media-type\",\"status\":415}", "action": "Đặt đúng Content-Type."}, {"code": "API-RATE-429", "severity": "CHAN", "layer": "API", "title": "Vượt giới hạn tần suất", "http": 429, "meaning": "Gọi quá rate limit của API key.", "trigger": "Vượt hạn mức (Micro 20rps / Core 5rps).", "basis": "RFC 9457.", "sample": "{\"type\":\".../rate-limited\",\"status\":429} + Retry-After", "action": "Chờ theo Retry-After rồi thử lại."}, {"code": "API-IDEMP-409", "severity": "CHAN", "layer": "API", "title": "Xung đột Idempotency-Key", "http": 409, "meaning": "Cùng Idempotency-Key nhưng body khác lần trước.", "trigger": "Key đã dùng với body khác.", "basis": "RFC 9457.", "sample": "{\"type\":\".../idempotency-conflict\",\"status\":409}", "action": "Dùng key mới cho request khác nội dung."}, {"code": "API-NOTFOUND-404", "severity": "CHAN", "layer": "API", "title": "Không tìm thấy", "http": 404, "meaning": "Đường dẫn hoặc tài nguyên (job/mã) không tồn tại.", "trigger": "Route/ID không khớp.", "basis": "RFC 9457.", "sample": "{\"type\":\".../not-found\",\"status\":404}", "action": "Kiểm lại đường dẫn/ID."}, {"code": "API-SRV-500", "severity": "CHAN", "layer": "API", "title": "Lỗi máy chủ", "http": 500, "meaning": "Lỗi nội bộ không mong đợi (đã ghi traceId để hỗ trợ).", "trigger": "Ngoại lệ chưa xử lý.", "basis": "RFC 9457.", "sample": "{\"type\":\".../internal\",\"status\":500,\"traceId\":\"...\"}", "action": "Gửi traceId cho hỗ trợ kỹ thuật."}, {"code": "K1002", "severity": "CHAN", "layer": "K1", "title": "Mã thuốc chưa đối chiếu được với Bộ mã danh mục dùng chung", "meaning": "Mã thuốc khai trên hồ sơ không tra được trong Bộ mã danh mục dùng chung nên cổng giám định chưa đối chiếu được với danh mục thuốc BHYT. Phần lớn là BIỆT DƯỢC của hoạt chất CÓ trong danh mục (mã con/mã cha khác nhau) nên KHÔNG kết luận vi phạm — cơ sở khai lại đúng mã hoạt chất là hết.", "trigger": "MA_THUOC không có trong Bộ mã danh mục dùng chung (QĐ7603 và các quyết định bổ sung).", "basis": "TT48/2017/TT-BYT Điều 4 khoản 2, nguyên văn: “Dữ liệu đầu vào và dữ liệu đầu ra được xây dựng trên cơ sở và phải thực hiện đúng quy định của Bộ mã danh mục dùng chung do Bộ trưởng Bộ Y tế ban hành, đáp ứng được việc kết nối, liên thông dữ liệu điện tử để phục vụ quản lý và giám định, thanh toán chi phí khám bệnh, chữa bệnh bảo hiểm y tế.” QĐ7603/QĐ-BYT ngày 25/12/2018 — Bộ mã danh mục dùng chung, áp dụng từ 15/01/2019.", "sample": "\"Reamberin\" (mã 40.125, SĐK VN-19527-15): mã KHÔNG có trong Bộ mã Danh mục dùng chung.", "action": "Khai lại theo đúng mã hoạt chất của Bộ mã dùng chung. Nếu là mã riêng của cơ sở thì cung cấp danh mục thuốc riêng để đối chiếu — khi đó hệ thống hạ xuống mức cảnh báo."}, {"code": "K1003", "severity": "CHAN", "layer": "K1", "title": "Thuốc NGOÀI danh mục BHYT", "meaning": "Hoạt chất không có trong danh mục thuốc BHYT ⇒ quỹ BHYT không chi trả.", "trigger": "Hoạt chất không thuộc Phụ lục I TT20/2022.", "basis": "Luật BHYT (Luật 51/2024/QH15 sửa đổi) Điều 21 khoản 1 điểm c: \"Chi phí cho sử dụng dịch vụ kỹ thuật y tế, thuốc, thiết bị y tế, máu, chế phẩm máu, khí y tế, vật tư, dụng cụ, công cụ, hóa chất sử dụng trong khám bệnh, chữa bệnh thuộc phạm vi thanh toán của quỹ bảo hiểm y tế\" — và Điều 21 khoản 2 điểm a: \"Bộ trưởng Bộ Y tế quy định các nội dung sau đây: a) Nguyên tắc, tiêu chí xây dựng danh mục thuốc, nguyên tắc xây dựng danh mục thiết bị y tế, dịch vụ kỹ thuật y tế thuộc phạm vi được hưởng của người tham gia bảo hiểm y tế\". Danh mục thuốc hiện hành là TT20/2022/TT-BYT Phụ lục I (vẫn áp dụng theo TT37/2024 Điều 20 khoản 2)", "sample": "[K1003] … KHÔNG có trong danh mục thuốc BHYT.", "action": "Chuyển sang thuốc trong danh mục hoặc thu của người bệnh theo quy định."}, {"code": "K1004", "severity": "CHAN", "layer": "K1", "title": "Thuốc không có trong Bộ mã dùng chung và không có số đăng ký", "meaning": "Mã thuốc không tra được trong Bộ mã danh mục dùng chung, đồng thời cũng không có số đăng ký lưu hành hợp lệ để đối chiếu ⇒ không xác định được thuốc.", "trigger": "MA_THUOC ngoài bộ mã dùng chung VÀ SO_DANG_KY trống hoặc không tra được.", "basis": "QĐ7603/QĐ-BYT (bộ mã danh mục dùng chung, PL5 thuốc) và các quyết định bổ sung QĐ4905/QĐ824; TT48/2017/TT-BYT Điều 4 khoản 2 — dữ liệu phải dùng bộ mã dùng chung. QĐ7603/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này Bộ mã danh mục dùng chung, phiên bản số 6, gồm 11 (mười một) danh mục sau”.", "sample": "[K1004] \"Thuoc khong co that\" (mã ZZ.9999.9999): KHÔNG có trong Bộ mã Danh mục dùng chung, cũng KHÔNG có số đăng ký lưu hành.", "action": "Khai lại MA_THUOC theo bộ mã dùng chung, hoặc bổ sung SO_DANG_KY hợp lệ để đối chiếu."}, {"code": "K1005", "severity": "CHAN", "layer": "K1", "title": "Thuốc không đạt điều kiện thanh toán TT20", "meaning": "Điều kiện thanh toán ghi tại cột 8 TT20 chưa được thoả (chẩn đoán/xét nghiệm/bước điều trị).", "trigger": "Hồ sơ thiếu chẩn đoán hoặc dữ liệu mà cột điều kiện TT20 yêu cầu.", "basis": "TT20/2022/TT-BYT Phụ lục I — cột 'Điều kiện thanh toán'. TT20/2022/TT-BYT Điều 2 khoản 1 điểm đ, nguyên văn: “Cột 8: Ghi điều kiện, tỷ lệ thanh toán và ghi chú cụ thể của một số thuốc”.", "sample": "[K1005] Điều kiện TT20 CHƯA thoả: …", "action": "Bổ sung chẩn đoán/kết quả xét nghiệm chứng minh, hoặc không đề nghị thanh toán."}, {"code": "K1006", "severity": "GHICHU", "layer": "K1", "title": "Thuốc có điều kiện thanh toán — lưu chứng từ", "meaning": "Thuốc thuộc diện có điều kiện thanh toán; engine không đủ dữ liệu để kết luận nên chỉ nhắc.", "trigger": "Thuốc có ghi chú điều kiện tại TT20 nhưng XML không chứa dữ liệu để kiểm.", "basis": "TT20/2022/TT-BYT Phụ lục I — cột 'Điều kiện thanh toán'.", "sample": "[K1006] Thuốc …: có điều kiện thanh toán TT20 — lưu chứng từ trong hồ sơ.", "action": "Lưu chứng từ chứng minh trong hồ sơ bệnh án để xuất trình khi giám định."}, {"code": "K1007", "severity": "GHICHU", "layer": "K1", "title": "Thuốc phải hội chẩn trước khi dùng (dấu *)", "meaning": "Thuốc đánh dấu (*) trong TT20 phải hội chẩn trước khi sử dụng, trừ trường hợp cấp cứu.", "trigger": "Thuốc mang dấu (*) trong danh mục TT20.", "basis": "TT37/2024/TT-BYT Điều 10 khoản 5 (nguyên văn): “Các thuốc hóa dược và sinh phẩm có ký hiệu dấu sao (*) sau tên thuốc tại Danh mục thuốc là thuốc phải được hội chẩn trước khi sử dụng, trừ trường hợp cấp cứu.” — thay cho TT20/2022 Điều 5 khoản 7 đã hết hiệu lực từ 01/01/2025 (TT37/2024 Điều 20 khoản 4). Kháng sinh dự trữ: tham chiếu mục 4.2 QĐ5631/QĐ-BYT ngày 31/12/2020 (thay QĐ772/QĐ-BYT) — quy chế hội chẩn/phê duyệt do bệnh viện ban hành.", "sample": "[K1007] Thuốc phải HỘI CHẨN trước khi dùng (dấu * — TT37/2024/TT-BYT Điều 10 khoản 5, trừ cấp cứu)…", "action": "Đính kèm biên bản hội chẩn; nếu cấp cứu thì ghi rõ trong hồ sơ."}, {"code": "K2002", "severity": "CHAN", "layer": "FIELD", "title": "Mã thẻ BHYT sai cấu trúc", "meaning": "Mã thẻ không đúng cấu trúc 15 ký tự theo quy định.", "trigger": "MA_THE_BHYT sai độ dài/định dạng.", "basis": "QĐ1351/QĐ-BHXH (sửa đổi bởi QĐ1697/QĐ-BHXH ngày 27/11/2023) — cấu trúc mã thẻ 15 ký tự. QĐ130/QĐ-BYT chỉ tiêu MA_THE_BHYT (kiểu Chuỗi, kích thước 15), nguyên văn: “Ghi mã thẻ BHYT của người bệnh do cơ quan BHXH cấp”.", "sample": "[K2002] Mã thẻ … sai cấu trúc.", "action": "Chuẩn hoá mã thẻ theo QĐ1351; đối chiếu dữ liệu thẻ do cơ quan BHXH cấp."}, {"code": "K3003", "severity": "GHICHU", "layer": "MH", "title": "Mức hưởng dòng cao hơn mức của thẻ", "meaning": "MUC_HUONG khai ở dòng chi phí cao hơn mức suy từ ký tự thứ 3 của mã thẻ.", "trigger": "Chênh lệch giữa MUC_HUONG dòng và mức hưởng theo mã thẻ.", "basis": "QĐ1351/QĐ-BHXH khoản 2 Điều 2 (sửa bởi QĐ1697/QĐ-BHXH) — ký tự thứ 3 = mức hưởng; NĐ188/2025/NĐ-CP Điều 16 — trường hợp không áp dụng giới hạn tỷ lệ.", "sample": "[K3003] Mức hưởng dòng [100]% cao hơn mức cơ sở của thẻ (80% …).", "action": "Đối chiếu đối tượng và trường hợp miễn giới hạn tỷ lệ; sửa MUC_HUONG nếu khai sai."}, {"code": "K3004", "severity": "CHAN", "layer": "MH", "title": "Mã đối tượng KCB không có trong Phụ lục 1 QĐ3276", "meaning": "MA_DOITUONG_KCB phải là mã CHI TIẾT trong Phụ lục 1 QĐ3276 (vd 3.2), không phải mã nhóm (vd 3). Mã đối tượng quyết định mức hưởng nên khai sai là lệch tiền.", "trigger": "Giá trị MA_DOITUONG_KCB không nằm trong 27 mã của Phụ lục 1 QĐ3276.", "action": "Khai lại mã chi tiết tương ứng (hệ thống gợi ý sẵn các mã con của nhóm đã khai).", "basis": "Áp dụng cho lượt KCB TỪ 17/10/2025 (ngày ban hành). QĐ3276/QĐ-BYT ngày 17/10/2025 Phụ lục 1 — Danh mục mã đối tượng đến khám bệnh, chữa bệnh. QĐ130/QĐ-BYT chỉ tiêu MA_DOITUONG_KCB, nguyên văn: “Ghi mã đối tượng đến KBCB theo Bộ mã DMDC do Bộ”.", "sample": "[K3004] MA_DOITUONG_KCB='3' không có trong Phụ lục 1 QĐ3276 — có lẽ phải khai 3.1, 3.2…"}, {"code": "K5010", "severity": "CHAN", "layer": "K5", "title": "Khai NHIỀU mã bệnh chính (chỉ được 01 mã)", "meaning": "Trường MA_BENH_CHINH khai từ 2 mã trở lên, trong khi chuẩn chỉ cho phép 01 mã bệnh chính.", "trigger": "MA_BENH_CHINH tách bằng ';' hoặc ',' ra nhiều hơn 1 mã.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 (Bảng 1) nguyên văn: \"Cơ sở KBCB xác định và chỉ ghi 01 MÃ BỆNH CHÍNH theo quy định của Bộ Y tế.\" (Công văn 4059/BYT-BH ngày 04/6/2026 nhắc lại.)", "sample": "[K5010] MA_BENH_CHINH khai 2 mã (J06; J18) — chỉ được ghi 01 mã bệnh chính.", "action": "Giữ 01 mã bệnh chính, chuyển các mã còn lại sang MA_BENH_KT (bệnh kèm theo)."}, {"code": "K5011", "severity": "CHAN", "layer": "K5", "title": "Khai quá 12 mã bệnh kèm theo", "meaning": "Trường MA_BENH_KT khai vượt số mã bệnh kèm theo tối đa cho phép.", "trigger": "Số mã trong MA_BENH_KT > 12.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 (Bảng 1) nguyên văn: \"Cơ sở KBCB chỉ được ghi TỐI ĐA 12 MÃ BỆNH KÈM THEO.\" (Công văn 4059/BYT-BH nhắc lại: ≤12 bệnh kèm.)", "sample": "[K5011] MA_BENH_KT khai 14 mã bệnh kèm theo — QĐ130/QĐ-BYT 18/01/2023 cho tối đa 12.", "action": "Rút gọn danh sách bệnh kèm theo còn tối đa 12 mã."}, {"code": "K5012", "severity": "CHAN", "layer": "K5", "title": "Mã loại KCB dài ngày nhưng bệnh không thuộc danh mục", "meaning": "MA_LOAI_KCB 05/08 (điều trị ngoại trú bệnh cần chữa trị dài ngày) nhưng bệnh chính không thuộc danh mục.", "trigger": "Loại KCB 05/08 + bệnh chính ngoài Phụ lục I TT25/2025.", "basis": "TT25/2025/TT-BYT Điều 4: “Danh mục bệnh cần chữa trị dài ngày thực hiện theo quy định tại Phụ lục I ban hành kèm theo Thông tư này.” — Điều 1 khoản 1 nêu danh mục này là danh mục “quy định tại điểm b khoản 2 Điều 10, khoản 2 Điều 43, điểm d khoản 2 Điều 119, khoản 5 Điều 141 Luật Bảo hiểm xã hội”. Hiệu lực 01/7/2025. Mã loại KCB 05/08 (điều trị dài ngày) phải có bệnh chính thuộc Phụ lục I đó; QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 55 MA_LOAI_KCB.", "sample": "[K5012] MA_LOAI_KCB='08' … KHÔNG có trong Danh mục bệnh cần chữa trị dài ngày …", "action": "Kiểm tra lại mã loại KCB (có thể phải dùng '02') hoặc mã bệnh chính."}, {"code": "K5013", "severity": "CHAN", "layer": "K5", "title": "Mã loại KCB '05' nhưng có dịch vụ kỹ thuật", "meaning": "Mã '05' dành cho trường hợp CÓ KHÁM VÀ LĨNH THUỐC; có thực hiện DVKT thì dùng mã '08'.", "trigger": "MA_LOAI_KCB='05' nhưng hồ sơ có dòng DVKT ngoài tiền khám/giường.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 — Bảng 1, trường MA_LOAI_KCB. QĐ130/QĐ-BYT chỉ tiêu MA_LOAI_KCB, nguyên văn: “Ghi mã hình thức KBCB theo Bộ mã DMDC do Bộ trưởng Bộ Y tế ban hành”.", "sample": "[K5013] MA_LOAI_KCB='05' nhưng hồ sơ có … dịch vụ kỹ thuật …", "action": "Đổi MA_LOAI_KCB sang '08' nếu thực sự có thực hiện DVKT."}, {"code": "K5014", "severity": "GHICHU", "layer": "K5", "title": "Mã bệnh YHCT khai kèm mã ICD-10 không đúng QĐ1978", "meaning": "05 mã chứng bệnh YHCT không được dùng mã ICD-10 (PL02); hoặc mã YHCT khai kèm mã ICD-10 CŨ đã được đổi theo TT06/2026 (PL01).", "trigger": "MA_BENH_YHCT thuộc Phụ lục 01/02 QĐ1978 và hồ sơ khai kèm mã ICD tương ứng, lượt KCB từ 01/7/2026.", "basis": "QĐ1978/QĐ-BYT ngày 01/7/2026 Phụ lục 01 và 02 (thực hiện từ 01/7/2026); TT06/2026/TT-BYT Điều 6 khoản 3 — hồ sơ lập trước mốc vẫn có giá trị pháp lý. Điều 2 QĐ1978: trong 60 ngày chuyển tiếp, việc gửi sửa dữ liệu để chuẩn hoá mã bệnh được xác định là NGUYÊN NHÂN KHÁCH QUAN.", "sample": "[K5014] Mã bệnh YHCT U51.631.2 (Huyết nham) khai KÈM mã ICD-10 C91.2 — QĐ1978 Phụ lục 02 …", "action": "Bỏ mã ICD kèm theo (PL02) hoặc đổi sang mã ICD mới theo TT06/2026 (PL01)."}, {"code": "K6005", "severity": "GHICHU", "layer": "K6", "title": "Mã DVKT hết hiệu lực theo QĐ2010", "meaning": "Mã dịch vụ kỹ thuật không còn thuộc bộ mã dùng chung đang áp dụng.", "trigger": "Mã DVKT ngoài danh mục QĐ2010 cho lượt KCB từ 01/8/2025.", "basis": "QĐ2010/QĐ-BYT ngày 19/6/2025 Điều 5 — mốc áp dụng 01/8/2025.", "sample": "[K6005] …", "action": "Chuẩn hoá mã DVKT theo bộ mã dùng chung hiện hành."}, {"code": "K6006", "severity": "CHAN", "layer": "FIELD", "title": "MA_KHOA khai kèm hậu tố nội bộ", "meaning": "Mã khoa có hậu tố/ký tự nội bộ của phần mềm bệnh viện, không đúng danh mục dùng chung.", "trigger": "MA_KHOA không khớp danh mục mã khoa (QĐ1804 PL02 / QĐ2010 PL6 tuỳ thời điểm).", "basis": "QĐ1804/QĐ-BYT Phụ lục 02 (mã khoa); QĐ130/QĐ-BYT — trường MA_KHOA; TT48/2017 Điều 4 khoản 2. QĐ130/QĐ-BYT chỉ tiêu MA_KHOA, nguyên văn: “Ghi mã khoa nơi người bệnh điều trị”.", "sample": "[K6006] LƯU Ý ĐỊNH DẠNG (không ảnh hưởng số tiền đề nghị thanh toán): … MÃ KHOA khai kèm HẬU TỐ NỘI BỘ …", "action": "Bỏ hậu tố nội bộ, chỉ gửi mã khoa theo danh mục dùng chung."}, {"code": "K6007", "severity": "CHAN", "layer": "FIELD", "title": "MA_LOAI_KCB ngoài danh mục", "meaning": "Mã loại khám chữa bệnh không thuộc danh mục 16 mã.", "trigger": "MA_LOAI_KCB không có trong Phụ lục 01 QĐ1804.", "basis": "QĐ1804/QĐ-BYT Phụ lục 01 — danh mục mã loại khám bệnh, chữa bệnh. QĐ130/QĐ-BYT chỉ tiêu MA_LOAI_KCB, nguyên văn: “Ghi mã hình thức KBCB theo Bộ mã DMDC do Bộ trưởng Bộ Y tế ban hành”.", "sample": "[K6007] MA_LOAI_KCB='99' KHÔNG thuộc danh mục mã loại khám chữa bệnh (16 mã, Phụ lục 01 QĐ1804/QĐ-BYT).", "action": "Chuẩn hoá MA_LOAI_KCB theo danh mục trước khi gửi cổng."}, {"code": "K6008", "severity": "CHAN", "layer": "K6", "title": "Mã phác đồ điều trị HIV/AIDS ngoài danh mục", "meaning": "Mã phác đồ điều trị HIV/AIDS khai trong hồ sơ không thuộc danh mục mã dùng chung.", "trigger": "Mã phác đồ ngoài 50 mã của Phụ lục 10 QĐ5937 (NL.01–NL.29, TE.01–TE.20, KHAC).", "basis": "QĐ5937/QĐ-BYT ngày 30/12/2021 Phụ lục 10 — danh mục mã phác đồ điều trị HIV/AIDS.  QĐ5937/QĐ-BYT Phụ lục 10, nguyên văn: “Danh mục mã phác đồ điều trị HIV/AIDS”.QĐ2010/QĐ-BYT Điều 2 khoản 2 chỉ bãi bỏ Phụ lục 1 và 5 ⇒ Phụ lục 10 còn hiệu lực.", "sample": "[K6008] 2 MÃ PHÁC ĐỒ điều trị HIV/AIDS không thuộc danh mục …", "action": "Chuẩn hoá mã phác đồ theo Phụ lục 10 QĐ5937."}, {"code": "K6009", "severity": "CHAN", "layer": "K6", "title": "Mã nhóm chi phí / nhóm thầu ngoài danh mục QĐ5937", "meaning": "MA_NHOM hoặc mã nhóm thầu trong TT_THAU không thuộc danh mục mã dùng chung.", "trigger": "MA_NHOM ngoài 14 mã Phụ lục 3, hoặc nhóm thầu ngoài N1–N6 (Phụ lục 6/7).", "basis": "QĐ5937/QĐ-BYT Phụ lục 3 (14 mã nhóm chi phí), Phụ lục 6 (nhóm thầu thuốc), Phụ lục 7  QĐ130/QĐ-BYT chỉ tiêu MA_NHOM, nguyên văn: “Ghi mã nhóm theo chi phí, dùng để phân loại, sắp xếp các chi phí vào”.(nhóm thầu VTYT — chỉ có N1–N6, không có N0).", "sample": "[K6009] TT_THAU có mã nhóm thầu ngoài danh mục QĐ5937 (N0) …", "action": "Đối chiếu quyết định trúng thầu và chuẩn hoá mã nhóm thầu."}, {"code": "K10", "severity": "CHAN", "layer": "K10", "title": "VTYT vượt mức thanh toán (trần)", "meaning": "Đơn giá BH đề nghị của vật tư y tế vượt mức thanh toán tối đa; phần vượt không thuộc phạm vi quỹ BHYT.", "trigger": "Đơn giá BH > trần của mã VTYT tại thời điểm khám.", "basis": "TT04/2017/TT-BYT Phụ lục 01 (18 mã có trần từ 01/6/2017); TT24/2025/TT-BYT (hiệu lực 01/9/2025)  TT04/2017/TT-BYT Điều 1 khoản 1, nguyên văn: “Danh mục vật tư y tế thuộc phạm vi được hưởng của người tham gia bảo hiểm y tế được quy định tại Phụ lục 01 ban hành kèm theo Thông tư này”.bổ sung trần cho N06.06.090 và N07.06.030.", "sample": "[K10] VTYT \"Bộ dụng cụ đổ xi măng…\" (N07.06.030): đơn giá BH đề nghị 56,000,000đ VƯỢT mức thanh toán 40,000,000đ/Bộ …", "action": "Điều chỉnh đơn giá đề nghị về mức trần; phần vượt thu theo quy định hoặc nguồn khác."}, {"code": "K11", "severity": "CHAN", "layer": "K6", "title": "Mã chỉ số cận lâm sàng ngoài danh mục dùng chung", "meaning": "MA_CHI_SO ở Bảng 4 không thuộc cả QĐ1227 lẫn Phụ lục 11 QĐ7603.", "trigger": "Mã chỉ số không có trong hai bộ mã được chấp nhận.", "basis": "QĐ2010/QĐ-BYT Điều 3 — dùng mã QĐ1227/QĐ-BYT ngày 11/4/2025; chỉ số chưa có thì tiếp tục  QĐ2010/QĐ-BYT Điều 3, nguyên văn: “Cơ sở khám bệnh, chữa bệnh sử dụng tên chỉ số, mã chỉ số xét nghiệm huyết học, hóa sinh, vi sinh, giải phẫu bệnh và điện quang (cột mã dùng chung) tại các phụ lục ban hành kèm theo Quyết định số 1227/QĐ-BYT”.tạm thời theo Phụ lục 11 QĐ7603/QĐ-BYT.", "sample": "[K11] Bảng 4 (cận lâm sàng): … MÃ CHỈ SỐ không có trong danh mục dùng chung …", "action": "Chuẩn hoá mã chỉ số trước khi gửi cổng; engine gợi ý mã QĐ1227 theo dịch vụ đã chỉ định."}, {"code": "K12", "severity": "CHAN", "layer": "XML", "title": "Trường sai kiểu dữ liệu theo chuẩn QĐ130/QĐ3176", "meaning": "Giá trị trường không đúng kiểu dữ liệu quy định (ngày, số, chuỗi) — cổng sẽ từ chối file.", "trigger": "Kiểm định dạng toàn bộ trường theo bảng mô tả chuẩn XML.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 và QĐ3176/QĐ-BYT ngày 29/10/2024 — bảng mô tả kiểu dữ liệu các trường. QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "[K12] … trường sai KIỂU DỮ LIỆU theo chuẩn QĐ130/QĐ3176: … — cổng sẽ từ chối file.", "action": "Sửa đúng kiểu dữ liệu từng trường theo bảng mô tả chuẩn."}, {"code": "G3002", "severity": "CHAN", "layer": "G", "title": "Mổ lấy thai: thay băng vết mổ >15-30cm quá 03 lần", "meaning": "TT39/2024 Điều 4d khoản 4 điểm d giới hạn dịch vụ “Thay băng vết mổ có chiều dài trên 15 cm đến 30 cm” ở tối đa 03 lần đối với trường hợp phẫu thuật mổ lấy thai.", "trigger": "Hồ sơ có mã DVKT mổ lấy thai và tổng SO_LUONG các dòng thay băng >15-30cm lớn hơn 3.", "action": "Giảm số lần thay băng >15-30cm về tối đa 03 lần, hoặc chuyển sang mã thay băng phù hợp.", "basis": "TT39/2024/TT-BYT Điều 4d khoản 4 điểm d, nguyên văn: “Trường hợp phẫu thuật mổ lấy thai: được áp dụng mức giá này nhưng tối đa không quá 03 lần”. Danh mục DVKT QĐ2010/QĐ-BYT Phụ lục 1 nêu rõ khoảng chiều dài trong cột tên dịch vụ phê duyệt giá.", "sample": "[G3002] Hồ sơ có PHẪU THUẬT MỔ LẤY THAI và khai 4 lần thay băng vết mổ trên 15-30cm."}, {"code": "K10C", "severity": "CHAN", "layer": "K10", "title": "VTYT có quy định TỶ LỆ thanh toán riêng", "meaning": "Một số VTYT tại cột 5 Phụ lục 01 TT04/2017 có tỷ lệ thanh toán riêng kèm điều kiện bệnh lý (hiện có N08.00.460 — hạt vi cầu Y-90, tỷ lệ 40%). Khai sai tỷ lệ hoặc sai điều kiện thì phần chênh bị xuất toán.", "trigger": "Dòng VTYT thuộc mã nhóm có cột ty_le_tt trong danh mục TT04.", "action": "Đặt TYLE_TT_BH đúng tỷ lệ quy định và bảo đảm hồ sơ đúng điều kiện bệnh lý ghi ở cột 5.", "basis": "TT04/2017/TT-BYT Phụ lục 01 cột 5 (điều kiện, tỷ lệ, mức thanh toán), sửa đổi bởi  TT04/2017/TT-BYT Điều 3, nguyên văn: “Mức thanh toán tổng chi phí vật tư y tế cho một lần sử dụng dịch vụ kỹ thuật không vượt quá 45 tháng lương cơ sở; không áp dụng quy định này đối”.TT24/2025/TT-BYT; TT04 Điều 3 khoản 2 điểm b (VTYT có tỷ lệ thì không áp trần 45 tháng).", "sample": "[K10C] VTYT N08.00.460 có QUY ĐỊNH TỶ LỆ THANH TOÁN 40% tại cột 5 Danh mục VTYT."}, {"code": "G3001", "severity": "GHICHU", "layer": "G", "title": "Nhiều phẫu thuật cùng ngày đều khai 100% giá", "meaning": "TT39/2024 Điều 4d khoản 2: nhiều can thiệp TRONG CÙNG MỘT LẦN phẫu thuật thì chỉ phẫu thuật phức tạp nhất/giá cao nhất được 100%, các phẫu thuật phát sinh được 50% (cùng kíp) hoặc 80% (thay kíp), thủ thuật phát sinh 80%.", "trigger": "Từ 2 mã phẫu thuật khác nhau (phân loại PDB/P1/P2/P3 theo QĐ2010) cùng một NGAY_YL, các dòng sau dòng giá cao nhất vẫn có DON_GIA_BH = DON_GIA_BV và TYLE_TT_BH = 100.", "action": "Đối chiếu biên bản phẫu thuật: nếu đúng là cùng một cuộc mổ thì áp tỷ lệ 50%/80% cho các phẫu thuật phát sinh trước khi gửi.", "basis": "TT39/2024/TT-BYT Điều 4d khoản 2 điểm a, b, c; phân loại PTTT tại QĐ2010/QĐ-BYT Phụ lục 1.", "sample": "[G3001] Ngày 20250504 có 2 phẫu thuật khác nhau, tất cả đều khai 100% giá."}, {"code": "K10B", "severity": "CHAN", "layer": "K10", "title": "Tổng VTYT một lần dùng DVKT vượt trần 45 tháng lương cơ sở", "meaning": "TT04/2017 giới hạn tổng chi phí vật tư y tế quỹ BHYT chi trả cho MỘT LẦN sử dụng dịch vụ kỹ thuật ở mức 45 tháng lương cơ sở. Phần vượt không thuộc phạm vi chi trả.", "trigger": "Gom các dòng VTYT theo NGAY_YL (khoá do QĐ130 chỉ định cho VTYT), tổng T_BHTT vượt 45 × lương cơ sở; loại trừ VTYT có quy định tỷ lệ thanh toán ở cột 5 Phụ lục 01.", "action": "Rà lại số lượng/đơn giá VTYT của lần dùng DVKT đó; phần vượt trần chuyển người bệnh tự trả hoặc nguồn khác.", "basis": "TT04/2017/TT-BYT Điều 3 khoản 2 điểm b; QĐ130/QĐ-BYT chỉ tiêu NGAY_YL (khoá xác định  QĐ130/QĐ-BYT chỉ tiêu T_BHTT, nguyên văn: “Ghi tổng số tiền đề nghị cơ quan bảo hiểm xã hội thanh toán”.một lần sử dụng DVKT); lương cơ sở 2.340.000đ theo NĐ73/2024/NĐ-CP.", "sample": "[K10B] Tổng chi phí VTYT trong MỘT LẦN sử dụng DVKT là 120.000.000đ, VƯỢT trần 105.300.000đ."}, {"code": "FLD031", "severity": "CHAN", "layer": "FIELD", "title": "XML4/XML5 có trường lạ ngoài chuẩn QĐ130", "meaning": "Bảng 4 (dịch vụ cận lâm sàng) và Bảng 5 (diễn biến lâm sàng) có tag không thuộc danh sách trường của QĐ130. Cổng tiếp nhận validate theo cấu trúc chuẩn.", "trigger": "Tag con của CHI_TIET_CLS ngoài 12 trường chuẩn, hoặc của CHI_TIET_DIEN_BIEN_BENH ngoài 9 trường chuẩn.", "action": "Bỏ tag lạ khi kết xuất từ HIS, hoặc ánh xạ sang đúng trường chuẩn QĐ130.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 — Bảng 4 và Bảng 5; QĐ4750/QĐ-BYT; QĐ3176/QĐ-BYT. QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "[FLD031] XML4 (cận lâm sàng) có trường LẠ ngoài chuẩn QĐ130: KET_QUA_KHAC."}, {"code": "THE005", "severity": "GHICHU", "layer": "FIELD", "title": "Mã đối tượng (2 ký tự đầu mã thẻ) chưa tra được trong danh mục engine", "meaning": "Hai ký tự đầu mã thẻ BHYT là mã đối tượng do BHXH Việt Nam quy định. Mã không tra được thì chưa xác định được nhóm quyền lợi của người bệnh — nhưng KHÔNG phải lỗi hồ sơ: mã có thể là mã đối tượng mới ban hành sau bản danh mục đang dùng.", "trigger": "MA_THE_BHYT có 2 ký tự đầu là chữ nhưng không thuộc danh sách mã đối tượng engine giữ.", "action": "Chỉ để tham khảo. Kiểm lại mã thẻ nếu nghi gõ sai; nếu là mã đối tượng mới ban hành thì báo để cập nhật danh mục — engine KHÔNG coi đây là lỗi hồ sơ.", "basis": "QĐ1351/QĐ-BHXH ngày 16/11/2015 Điều 1; QĐ1697/QĐ-BHXH ngày 27/11/2023;  QĐ1697/QĐ-BHXH sửa đổi QĐ1351/QĐ-BHXH, nguyên văn: “bao gồm các đối tượng hưởng có ký hiệu là: CC, TE”.QĐ1018/QĐ-BHXH năm 2024.", "sample": "[THE005] Mã đối tượng \"ZZ\" KHÔNG có trong danh sách mã đối tượng QĐ1351."}, {"code": "K5024", "severity": "CHAN", "layer": "K5", "title": "Mã bệnh YHCT đã bị huỷ", "meaning": "Mã bệnh y học cổ truyền nằm trong Phụ lục 07.4 QĐ7603 — danh mục các mã ĐÃ HUỶ, không được dùng nữa.", "trigger": "MA_BENH_CHINH thuộc danh sách mã YHCT đã huỷ (hiện có U67.222 “Trật đả”).", "action": "Chọn mã khác trong Phụ lục 07.1 hoặc 07.2 QĐ7603 cho đúng chứng bệnh.", "basis": "QĐ7603/QĐ-BYT ngày 25/12/2018 Phụ lục 07.4 (Danh mục các mã bệnh YHCT đã huỷ). QĐ7603/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này Bộ mã danh mục dùng chung, phiên bản số 6, gồm 11 (mười một) danh mục sau”.", "sample": "[K5024] U67.222: mã bệnh Y HỌC CỔ TRUYỀN ĐÃ BỊ HUỶ."}, {"code": "K5023", "severity": "CHAN", "layer": "K5", "title": "MA_PTTT_QT không có trong bảng ICD-9-CM QĐ387", "meaning": "Mã phẫu thuật/thủ thuật khai ở MA_PTTT_QT phải lấy từ Bảng phân loại phẫu thuật/thủ thuật ICD-9-CM. Mã sai thì không ghép được nhóm chẩn đoán để thanh toán theo DRG.", "trigger": "MA_PTTT_QT (tách theo \";\") có mã không thuộc danh mục ICD-9-CM QĐ387, ngày KCB từ 05/02/2026 (ngày QĐ387 có hiệu lực).", "action": "Sửa mã theo Bảng phân loại phẫu thuật/thủ thuật ICD-9-CM QĐ387/QĐ-BYT.", "basis": "QĐ387/QĐ-BYT ngày 05/02/2026 (Bảng phân loại phẫu thuật/thủ thuật ICD-9-CM);  QĐ130/QĐ-BYT chỉ tiêu MA_PTTT_QT, nguyên văn: “Ghi mã phẫu thuật, thủ thuật quốc tế ICD-9 CM (theo mã phẫu”.QĐ130/QĐ-BYT Bảng 1 chỉ tiêu MA_PTTT_QT; NĐ188/2025/NĐ-CP (thanh toán theo nhóm chẩn đoán).", "sample": "[K5023] MA_PTTT_QT 99.999: KHÔNG có trong Bảng phân loại ICD-9-CM QĐ387."}, {"code": "FLD030", "severity": "CHAN", "layer": "FIELD", "title": "Hồ sơ nội trú thiếu LY_DO_VNT", "meaning": "Trường LY_DO_VNT (lý do vào điều trị nội trú) để trống trong hồ sơ nội trú/nội trú ban ngày. Đây là căn cứ chứng minh chỉ định nhập viện khi cơ quan BHXH giám định.", "trigger": "MA_LOAI_KCB thuộc 02/03/04/06 và LY_DO_VNT rỗng.", "action": "Bổ sung lý do vào nội trú (triệu chứng lâm sàng hoặc lý do khác) trước khi gửi.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu LY_DO_VNT, nguyên văn: “Ghi lý do vào nội trú, áp dụng đối với trường hợp điều trị nội trú hoặc nội trú ban ngày (bao gồm cả triệu chứng lâm sàng hoặc các lý do khác khiến cho người bệnh đến cơ sở KBCB)” — QĐ3176/QĐ-BYT không sửa chỉ tiêu này. Với hồ sơ vào viện từ 04/6/2026: Công văn 4059/BYT-BH mục 2 điểm c nhắc lại yêu cầu này là căn cứ chứng minh chỉ định nhập viện khi giám định.", "sample": "[FLD030] Hồ sơ NỘI TRÚ nhưng trường LY_DO_VNT để TRỐNG."}, {"code": "KS002", "severity": "GHICHU", "layer": "K1", "title": "Thuốc phải KIỂM SOÁT ĐẶC BIỆT (TT18/2026)", "meaning": "Thuốc có chứa dược chất gây nghiện (Phụ lục I), hướng thần (Phụ lục II) hoặc tiền chất dùng làm thuốc (Phụ lục III) của TT18/2026/TT-BYT. Phải bảo quản, cấp phát, ghi sổ, báo cáo và kê đơn theo đúng quy định cho thuốc phải kiểm soát đặc biệt.", "trigger": "Tên hoạt chất/thuốc chứa một dược chất trong Phụ lục I/II/III TT18/2026 và ngày KCB từ 16/7/2026 (ngày TT18 có hiệu lực).", "action": "Rà soát mẫu đơn, sổ theo dõi và báo cáo theo TT18/2026. Nếu là thuốc dạng phối hợp, đối chiếu ngưỡng nồng độ/hàm lượng tại Phụ lục IV/V/VI và tiêu chí tại Phụ lục VII.", "basis": "TT18/2026/TT-BYT ngày 01/6/2026 (hiệu lực 16/7/2026) Điều 2 và các Phụ lục I, II, III, IV, V, VI, VII.", "sample": "[KS002] Thuốc chứa CODEINE — dược chất GÂY NGHIỆN (Phụ lục I) theo TT18/2026/TT-BYT."}, {"code": "G2001", "severity": "CHAN", "layer": "G", "title": "Số ngày giường khai CAO HƠN mức TT39 cho phép", "meaning": "Tổng SO_LUONG các dòng tiền giường (Bảng 3) vượt số ngày giường mà TT39/2024 Điều 4c khoản 1 cho phép: (ngày ra − ngày vào), cộng thêm 1 chỉ khi tử vong / tiên lượng nặng xin về / chuyển cơ sở KCB. Phần vượt không thuộc phạm vi quỹ BHYT chi trả.", "trigger": "MA_LOAI_KCB thuộc 02/03/04/06, có dòng mã tiền giường, tổng SO_LUONG > mức cho phép.", "action": "Đối chiếu bệnh án. Nếu do chuyển khoa trong ngày (Điều 4c khoản 2: mỗi khoa 1/2 ngày) hoặc nằm ghép (khoản 4 điểm b: 1/2 hoặc 1/3 giá) thì giữ chứng từ giải trình.", "basis": "TT39/2024/TT-BYT Điều 4c khoản 1 điểm a: “Số ngày điều trị nội trú bằng ngày ra viện trừ (-) ngày vào viện cộng (+) 1”, áp dụng cho các trường hợp tử vong / diễn biến nặng xin về / chuyển cơ sở KBCB. Danh mục mã tiền giường QĐ2010/QĐ-BYT Phụ lục 3 và Phụ lục 4.", "sample": "[G2001] Số ngày giường khai 8 ngày, CAO HƠN mức TT39 cho phép (7 ngày)."}, {"code": "G2002", "deprecated": true, "severity": "GHICHU", "layer": "G", "title": "Số ngày giường khai THẤP HƠN mức TT39 (ĐÃ GỠ 15/8/2026)", "meaning": "Cơ sở khai ít ngày giường hơn mức TT39/2024 Điều 4c khoản 1 cho phép — không bị xuất toán nhưng có thể đang khai thiếu quyền lợi của chính cơ sở.", "trigger": "Tổng SO_LUONG dòng tiền giường < mức TT39 cho phép.", "action": "ĐÃ GỠ: khai thiếu không gây xuất toán, mà XML không đủ dữ kiện phân định (dòng giường có thể nằm ở hồ sơ/khoa khác, hoặc đang chia 1/2 ngày theo Điều 4c khoản 2).", "basis": "TT39/2024/TT-BYT Điều 4c khoản 1.", "sample": "[G2002] Số ngày giường khai 5 ngày, THẤP HƠN mức TT39 (6 ngày)."}, {"code": "G2003", "severity": "CHAN", "layer": "G", "title": "Điều trị ≤ 4 giờ nhưng vẫn khai tiền ngày giường", "meaning": "Thời gian từ NGAY_VAO đến NGAY_RA không quá 4 giờ. TT39/2024 Điều 4c khoản 1 điểm d cho thanh toán tiền khám, thuốc, thiết bị y tế và DVKT nhưng KHÔNG được tính tiền ngày giường bệnh điều trị nội trú.", "trigger": "MA_LOAI_KCB 02/03/04/06, (NGAY_RA − NGAY_VAO) ≤ 4 giờ, vẫn có dòng mã tiền giường.", "action": "Bỏ dòng tiền giường khỏi hồ sơ, giữ nguyên tiền khám/thuốc/VTYT/DVKT.", "basis": "TT39/2024/TT-BYT Điều 4c khoản 1 điểm d. QĐ130/QĐ-BYT chỉ tiêu MA_DICH_VU, nguyên văn: “Ghi mã dịch vụ kỹ thuật hoặc mã dịch vụ khám bệnh thực”.", "sample": "[G2003] Thời gian điều trị chỉ 3,5 giờ nhưng hồ sơ vẫn khai 1 ngày giường."}, {"code": "CCD001", "severity": "CHAN", "layer": "DIEUKIEN", "title": "Kê thuốc CHỐNG CHỈ ĐỊNH với chính bệnh chính của hồ sơ", "meaning": "Dược thư Quốc gia Việt Nam ghi rõ hoạt chất này chống chỉ định với bệnh đang được khai là BỆNH CHÍNH của đợt điều trị. TT37/2024/TT-BYT Điều 8 khoản 3 điểm d công nhận Dược thư Quốc gia Việt Nam là một trong 4 tài liệu căn cứ xác định chỉ định, chống chỉ định.", "trigger": "MA_BENH_CHINH (hoặc 3 ký tự đầu) nằm trong tập ICD chống chỉ định của hoạt chất, tra theo MÃ hoạt chất (từ MA_THUOC hoặc SO_DANG_KY). Chỉ xét bệnh CHÍNH, không xét bệnh kèm vì bệnh kèm có thể là di chứng cũ.", "action": "Bỏ thuốc khỏi hồ sơ đề nghị thanh toán, hoặc sửa mã bệnh chính nếu khai sai.", "basis": "TT37/2024/TT-BYT Điều 8 khoản 3 điểm d: “Quỹ bảo hiểm y tế thanh toán trong trường hợp chỉ định thuốc phù hợp với chỉ định của một trong các tài liệu sau đây:”, trong đó điểm d là “d) Dược thư Quốc gia Việt Nam phiên bản mới nhất.” Thuốc kê cho đúng bệnh mà Dược thư ghi CHỐNG CHỈ ĐỊNH thì không phải là chỉ định phù hợp với tài liệu đó.", "sample": "[CCD001] Hồ sơ có BỆNH CHÍNH I61 (Xuất huyết não) nhưng vẫn kê hoạt chất 40.576 (Piracetam) — Dược thư Quốc gia Việt Nam 2022 ghi ở mục CHỐNG CHỈ ĐỊNH: “Xuất huyết não”."}, {"code": "TT35D3", "severity": "CHAN", "layer": "DANHMUC", "title": "DVKT thuộc Danh mục 3 TT35 — quỹ BHYT chưa thanh toán", "meaning": "TT35/2016/TT-BYT ban hành ba danh mục; Danh mục 3 gồm các dịch vụ kỹ thuật mà quỹ bảo hiểm y tế TẠM THỜI CHƯA THANH TOÁN. Hồ sơ khai dịch vụ thuộc danh mục này thì phần chi phí đó không thuộc phạm vi quỹ chi trả.", "trigger": "MA_DICH_VU của dòng XML3 nằm trong 16 mã của Danh mục 3 TT35 (đối chiếu tên TT35 sang mã QĐ2010); lượt KCB từ 01/12/2016.", "action": "Bỏ dòng dịch vụ khỏi hồ sơ đề nghị thanh toán BHYT hoặc chuyển sang nguồn chi khác.", "basis": "TT35/2016/TT-BYT Điều 3 khoản 3, nguyên văn: “Quỹ bảo hiểm y tế tạm thời chưa thanh toán đối với dịch vụ kỹ thuật y tế quy định tại Danh mục 3 ban hành kèm theo Thông tư này.”", "sample": "[TT35D3] Hồ sơ khai 1 dòng dịch vụ kỹ thuật thuộc DANH MỤC 3 của TT35/2016/TT-BYT (ví dụ 24.0182.1721 — HIV genotype giải trình tự gene)."}, {"code": "TT35PCT", "severity": "CHAN", "layer": "DANHMUC", "title": "Pro-calcitonin khai cùng ngày với CRP/CRP hs", "meaning": "TT35/2016/TT-BYT Danh mục 1 mục 12 quy định: xét nghiệm Định lượng Pro-calcitonin khi thực hiện đồng thời với Định lượng CRP/CRP hs thì KHÔNG được thanh toán.", "trigger": "Trong cùng một NGAY_YL của hồ sơ có cả mã 23.0130.1549 (Pro-calcitonin) và một trong hai mã 23.0228.1483 / 23.0050.1484 (CRP, CRP hs); lượt KCB từ 01/12/2016.", "action": "Bỏ dòng Pro-calcitonin của những ngày trùng khỏi hồ sơ đề nghị thanh toán.", "basis": "TT35/2016/TT-BYT Danh mục 1 mục 12 (Định lượng Pro-calcitonin [Máu]), cột điều kiện thanh toán: “Khi thực hiện đồng thời với DVKT Định lượng CRP/CRP hs.” — cột tỷ lệ, mức giá thanh toán: “Không thanh toán.”", "sample": "[TT35PCT] Hồ sơ khai “Định lượng Pro-calcitonin” CÙNG NGÀY với “Định lượng CRP/CRP hs” ở 2 ngày (20250612, 20250613)."}, {"code": "NN001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã nghề nghiệp không thuộc Danh mục nghề nghiệp Việt Nam", "meaning": "Chỉ tiêu MA_NGHE_NGHIEP của Bảng 1 và Bảng 13 phải ghi theo Phụ lục I Quyết định 34/2020/QĐ-TTg — Danh mục nghề nghiệp Việt Nam, 1.504 mã ở 5 cấp (1 đến 5 chữ số).", "trigger": "MA_NGHE_NGHIEP của XML1 hoặc XML13 khác rỗng, không nằm trong danh mục, và không phải mã quy ước không xác định (00 · 00000).", "action": "Sửa MA_NGHE_NGHIEP về mã thuộc Phụ lục I Quyết định 34/2020/QĐ-TTg.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 Bảng 1 chỉ tiêu MA_NGHE_NGHIEP, nguyên văn: “Ghi mã nghề nghiệp của người bệnh. Thực hiện ghi mã nghề nghiệp theo quy định tại Quyết định số 34/2020/QĐ-TTg ngày 26 tháng 11 năm 2020 của Thủ tướng Chính phủ.”", "sample": "[NN001] <MA_NGHE_NGHIEP>=99999 KHÔNG có trong Danh mục nghề nghiệp Việt Nam (Phụ lục I Quyết định 34/2020/QĐ-TTg)."}, {"code": "XML13C3", "severity": "GHICHU", "layer": "CAUTRUC", "title": "XML13 còn dùng tên chỉ tiêu đã bị QĐ3176 đổi", "meaning": "Cảnh báo sai chuẩn. Bảng 13 còn xuất tên thẻ cũ MA_NOI_DI / MA_NOI_DEN / PP_DIEU_TRI; từ 01/01/2025 QĐ3176/QĐ-BYT đổi ba chỉ tiêu này thành MA_CSKCB_DI / MA_CSKCB_DEN / TINH_TRANG_CT, riêng TINH_TRANG_CT đổi cả nội dung sang ghi tình trạng người bệnh lúc chuyển tuyến.", "trigger": "Bảng XML13 có thẻ MA_NOI_DI, MA_NOI_DEN hoặc PP_DIEU_TRI mang giá trị, trong khi thẻ tên mới tương ứng không có.", "basis": "QĐ3176/QĐ-BYT phụ lục Bảng 13, cột “Nội dung sửa đổi, bổ sung diễn giải” (áp dụng từ 01/01/2025): chỉ tiêu 6 “Sửa đổi tên trường: MA_CSKCB_DI”; chỉ tiêu 7 “Đổi tên trường: MA_CSKCB_DEN”; chỉ tiêu 30 “Sửa đổi tên trường: TINH_TRANG_CTGhi tình trạng người bệnh tại thời điểm chuyển tuyến/chuyển cơ sở KBCB.” (bản .docx nối liền hai câu, giữ NGUYÊN VĂN để đối chiếu được) — nội dung này khác hẳn PP_DIEU_TRI (phương pháp điều trị) của bản QĐ4750.", "sample": "<MA_NOI_DEN> có giá trị, <MA_CSKCB_DEN> không có.", "action": "Đổi tên thẻ ở khâu kết xuất của HIS theo chuẩn đang hiệu lực; riêng TINH_TRANG_CT phải ghi tình trạng người bệnh lúc chuyển tuyến, không phải phương pháp điều trị."}, {"code": "FLD032", "severity": "CHAN", "layer": "FIELD", "title": "Ngày sinh sau ngày vào viện", "meaning": "NGAY_SINH ghi muộn hơn NGAY_VAO — người bệnh không thể vào viện trước khi sinh ra.", "trigger": "8 ký tự đầu của NGAY_SINH lớn hơn 8 ký tự đầu của NGAY_VAO (cả hai đúng khuôn).", "basis": "QĐ3176/QĐ-BYT ngày 29/10/2024 Bảng 1 chỉ tiêu 6 NGAY_SINH, nguyên văn: “Ghi ngày, tháng, năm sinh ghi trên thẻ BHYT của người bệnh, gồm 12 ký tự theo định dạng yyyymmddHHMM.” và chỉ tiêu 35 NGAY_VAO, nguyên văn: “Ghi thời điểm người bệnh đến KBCB, gồm 12 ký tự, theo định dạng yyyymmddHHMM.” — hai mốc thời gian của cùng một lượt KCB; ngày sinh muộn hơn thời điểm đến KBCB là mâu thuẫn nội tại của hồ sơ, cùng loại với NGAY_RA trước NGAY_VAO (FLD003). Cơ sở chịu trách nhiệm về tính chính xác của dữ liệu theo TT48/2017/TT-BYT Điều 13 khoản 3.", "sample": "<NGAY_SINH>20260101</NGAY_SINH> trong khi <NGAY_VAO>202508010800</NGAY_VAO>.", "action": "SỬA <NGAY_SINH> hoặc <NGAY_VAO> về đúng mốc thời gian thực tế"}, {"code": "FLD033", "severity": "GHICHU", "layer": "FIELD", "title": "File XML có byte không giải mã được bằng UTF-8", "meaning": "Bộ đọc đã bỏ qua các byte sai mã hoá để đọc tiếp; một vài giá trị trường có thể bị cụt so với bản gốc.", "trigger": "Số byte chênh lệch giữa bản gốc và bản decode(utf-8, ignore) lớn hơn 0.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023, nguyên văn: “Thông tin trong các bảng quy định tại Điều này sử dụng bộ mã phông chữ theo tiêu chuẩn Unicode 8-bit (UTF-8), mô tả theo định dạng XML (eXtensible Markup Language).” Byte không giải mã được bằng UTF-8 bị bộ đọc BỎ QUA để đọc tiếp, nên giá trị trường có thể CỤT so với bản gốc mà không ai biết — nêu ở mức ghi chú để cơ sở sửa khâu kết xuất, KHÔNG chặn vì phần còn lại vẫn đọc được", "sample": "File kết xuất từ HIS đặt bảng mã TCVN3/VNI thay vì UTF-8.", "action": "SỬA khâu KẾT XUẤT của HIS về đúng bảng mã UTF-8 rồi gửi lại"}, {"code": "NN002", "severity": "GHICHU", "layer": "CAUTRUC", "title": "Mã nghề nghiệp còn theo chuẩn QĐ130 cũ (5 ký tự)", "meaning": "Cảnh báo sai chuẩn. MA_NGHE_NGHIEP đang ghi mã 5 ký tự theo QĐ130/QĐ-BYT bản gốc; từ 01/01/2025 QĐ3176/QĐ-BYT yêu cầu lấy đến mã cấp 2 (02 ký tự), trường hợp không có nghề nghiệp thì ghi 00.", "trigger": "XML1 có MA_NGHE_NGHIEP dài hơn 02 ký tự và NGAY_VAO từ 01/01/2025.", "basis": "QĐ3176/QĐ-BYT Bảng 1 chỉ tiêu 11 MA_NGHE_NGHIEP, cột “Sửa đổi toàn bộ nội dung diễn giải” (áp dụng từ 01/01/2025), nguyên văn: “Ghi mã nghề nghiệp của người bệnh. Ghi mã nghề nghiệp theo quy định tại Quyết định số 34/2020/QĐ-TTg ngày 26/11/2020 của Thủ tướng Chính phủ (lấy đến mã cấp 2).” và “Trường hợp người bệnh không có hoặc chưa có nghề nghiệp thì ghi mã 00”. Bản QĐ130/QĐ-BYT gốc quy định ghi mã 00000.", "sample": "<MA_NGHE_NGHIEP> = 00000 (5 ký tự) — chuẩn hiện hành yêu cầu 00.", "action": "Sửa khâu kết xuất của HIS: lấy 02 ký tự đầu của mã nghề nghiệp theo QĐ34/2020/QĐ-TTg (mã cấp 2); trường hợp không có nghề nghiệp thì ghi 00."}, {"code": "QT001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã quốc tịch không thuộc Phụ lục 2 TT07/2016/TT-BCA", "meaning": "Chỉ tiêu MA_QUOCTICH của Bảng 1 và Bảng 13 phải ghi theo Bảng danh mục mã các quốc gia — Phụ lục 2 Thông tư 07/2016/TT-BCA của Bộ Công an: 000 là Việt Nam, 101 đến 295 là 195 nước và vùng lãnh thổ.", "trigger": "MA_QUOCTICH của XML1 hoặc XML13 khác rỗng và không nằm trong 196 ô của phụ lục.", "action": "Sửa MA_QUOCTICH về mã 03 chữ số thuộc Phụ lục 2 Thông tư 07/2016/TT-BCA.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 Bảng 1 chỉ tiêu MA_QUOCTICH, nguyên văn: “Ghi mã quốc tịch của người bệnh theo quy định tại Phụ lục 2 Thông tư số 07/2016/TT-BCA ngày 01 tháng 2 năm 2016 của Bộ trưởng Bộ Công an.”", "sample": "[QT001] <MA_QUOCTICH>=999 KHÔNG có trong Bảng danh mục mã các quốc gia (Phụ lục 2 Thông tư 07/2016/TT-BCA)."}, {"code": "DT001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã dân tộc không thuộc Danh mục các dân tộc Việt Nam", "meaning": "Chỉ tiêu MA_DANTOC của Bảng 1 và Bảng 13 phải ghi theo Danh mục các dân tộc Việt Nam — Quyết định 121-TCTK/PPCĐ ngày 02/3/1979 của Tổng cục trưởng Tổng cục Thống kê: 54 dân tộc mang mã 01-54, thêm ô 55 (người nước ngoài) và 56 (không rõ).", "trigger": "MA_DANTOC của XML1 hoặc XML13 khác rỗng và không nằm trong 56 mã của danh mục.", "action": "Sửa MA_DANTOC về mã 02 chữ số thuộc Danh mục các dân tộc Việt Nam.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 Bảng 1 chỉ tiêu MA_DANTOC, nguyên văn: “Ghi mã dân tộc của người bệnh (thực hiện theo Danh mục các dân tộc Việt Nam ban hành kèm theo Quyết định số 121- TCTK/PPCĐ ngày 02/3/1979 của Tổng cục trưởng Tổng cục Thống kê để điền chi tiết)”.", "sample": "[DT001] <MA_DANTOC>=99 KHÔNG có trong Danh mục các dân tộc Việt Nam (Quyết định 121-TCTK/PPCĐ ngày 02/3/1979)."}, {"code": "TT35K4", "severity": "CHAN", "layer": "DANHMUC", "title": "DVKT không thanh toán đồng thời với DVKT khác", "meaning": "Có những cặp dịch vụ kỹ thuật mà dịch vụ này nằm trong quy trình chuyên môn của dịch vụ kia và chi phí đã được tính sẵn trong cơ cấu giá của dịch vụ kia, hoặc kết quả của nó có được từ việc thực hiện dịch vụ kia. Khai cả hai là đề nghị thanh toán hai lần cho một phần chi phí. Danh sách cặp cụ thể nằm ở Phụ lục 01 Công văn 4262/BHXH-CSYT ngày 28/10/2016.", "trigger": "Hồ sơ khai một mã thuộc VẾ PHẢI của một mục Phụ lục 01 cùng lúc với một mã thuộc VẾ TRÁI của chính mục đó — chế độ NGAY so cùng ngày y lệnh, chế độ GIO so đúng mốc giờ y lệnh (mục 5), chế độ VA đòi vế trái có đủ cả hai nhóm (mục 1); lượt KCB từ 01/12/2016.", "action": "Bỏ dòng thuộc vế phải (dịch vụ không được thanh toán đồng thời) khỏi hồ sơ đề nghị thanh toán, giữ nguyên dòng vế trái.", "basis": "TT35/2016/TT-BYT Điều 4 khoản 4, nguyên văn: “Quỹ bảo hiểm y tế và người bệnh không thanh toán chi phí dịch vụ kỹ thuật y tế trong các trường hợp sau đây: a) Dịch vụ kỹ thuật y tế thuộc quy trình chuyên môn của một dịch vụ kỹ thuật y tế khác mà chi phí của dịch vụ kỹ thuật đó đã được tính trong cơ cấu giá của dịch vụ kỹ thuật y tế khác đó; b) Dịch vụ kỹ thuật y tế có kết quả được tính toán từ kết quả của dịch vụ kỹ thuật y tế khác hoặc có kết quả từ việc thực hiện dịch vụ kỹ thuật y tế khác.”", "sample": "[TT35K4] Hồ sơ khai “Siêu âm hệ tiết niệu” cùng NGÀY y lệnh với “Siêu âm ổ bụng” (1 lần: 20250505)."}, {"code": "G2004", "severity": "CHAN", "layer": "G", "title": "Giường ngoại khoa/bỏng khai quá 10 ngày sau phẫu thuật", "meaning": "Giá ngày giường NGOẠI KHOA, BỎNG chỉ áp dụng tối đa 10 ngày sau phẫu thuật. Từ ngày thứ 11 trở đi phải áp mức giá ngày giường NỘI KHOA của khoa tương ứng. Hồ sơ vẫn khai mã giường ngoại khoa cho những ngày đó nên phần chênh giá không được quỹ chi trả.", "trigger": "Dòng tiền giường có loại NGOẠI KHOA/BỎNG (theo bảng giá đã được phê duyệt của cơ sở) với NGAY_YL lớn hơn (ngày phẫu thuật gần nhất trước đó + 10 ngày).", "action": "Chuyển các ngày từ ngày thứ 11 sau phẫu thuật sang mã giường NỘI KHOA của khoa tương ứng.", "basis": "TT39/2024/TT-BYT Điều 4c khoản 3, nguyên văn: “Giá dịch vụ ngày giường bệnh ngoại khoa, bỏng: áp dụng tối đa không quá 10 ngày sau phẫu thuật áp dụng cả với trường hợp người bệnh được điều trị tại một cơ sở khám bệnh, chữa bệnh hoặc chuyển người bệnh đến các cơ sở khám bệnh, chữa bệnh khác. Từ ngày thứ 11 sau phẫu thuật trở đi thì áp dụng mức giá ngày giường nội khoa của khoa tương ứng.”", "sample": "[G2004] 3 ngày giường NGOẠI KHOA/BỎNG khai QUÁ 10 NGÀY sau phẫu thuật (ví dụ mã K24.1931 ngày 20250518, phẫu thuật gần nhất trước đó ngày 20250507)."}, {"code": "G1001", "severity": "CHAN", "layer": "G", "title": "Hai đợt nội trú chồng ngày của cùng người bệnh", "meaning": "Cùng một người bệnh có hai đợt điều trị nội trú trùng khoảng thời gian.", "trigger": "Gộp theo người bệnh trong lô: hai hồ sơ nội trú có khoảng ngày giao nhau.", "basis": "TT12/2026/TT-BTC Điều 10: “Giám định chi phí khám bệnh, chữa bệnh bảo hiểm y tế theo phương thức tự động do Hệ thống thông tin giám định bảo hiểm y tế của Bảo hiểm xã hội Việt Nam xử lý hồ sơ đề nghị thanh toán” — một người bệnh không thể nằm nội trú ở hai đợt chồng ngày nhau, đây là phép đối chiếu LIÊN HỒ SƠ mà giám định tự động thực hiện.", "sample": "[G1001] Cùng một người bệnh có HAI đợt NỘI TRÚ chồng ngày …", "action": "Đối chiếu hồ sơ hai đợt; tách hoặc gộp đợt điều trị cho đúng thực tế."}, {"code": "G1002", "severity": "GHICHU", "layer": "G", "title": "Đợt nội trú nối tiếp nhau — KHÁC bệnh/khoa", "meaning": "Các đợt nội trú nối tiếp nhưng khác bệnh chính hoặc khác khoa nên có thể là chuyển khoa/chuyển tuyến hợp lệ.", "trigger": "Gộp theo người bệnh: ngày ra đợt trước sát ngày vào đợt sau, KHÁC bệnh chính hoặc KHÁC danh sách khoa.", "basis": "TT12/2026/TT-BTC Điều 10 khoản 1 chỉ LIỆT KÊ \"các nội dung rà soát hồ sơ đề nghị thanh toán\", KHÔNG đặt ngưỡng và KHÔNG cấm — không đủ căn cứ tuyên xuất toán.", "sample": "[G1002] 2 đợt nội trú nối tiếp nhau, tổng N ngày — KHÁC bệnh chính hoặc KHÁC khoa.", "action": "ĐẠT — không phải kết luận vi phạm."}, {"code": "G1003", "severity": "GHICHU", "layer": "G", "title": "Nhiều lượt KHÁM BỆNH trong cùng ngày", "meaning": "Người bệnh có nhiều lượt khám (MA_LOAI_KCB=01) trong cùng ngày — khám nhiều chuyên khoa là hợp lệ về chuyên môn.", "trigger": "Gộp theo người bệnh: hơn 1 hồ sơ loại 01 cùng ngày vào.", "basis": "TT12/2026/TT-BTC Điều 10 khoản 1 chỉ LIỆT KÊ \"các nội dung rà soát hồ sơ đề nghị thanh toán\", KHÔNG đặt ngưỡng và KHÔNG cấm — không đủ căn cứ tuyên xuất toán.", "sample": "[G1003] Cùng người bệnh có N lượt KHÁM BỆNH trong ngày dd/mm/yyyy.", "action": "ĐẠT — không phải kết luận vi phạm."}, {"code": "G1004", "severity": "CHAN", "layer": "G", "title": "Hai đợt nội trú CHỒNG LẤN thời gian", "meaning": "Cùng người bệnh có từ 2 hồ sơ nội trú trở lên cùng ngày vào, cùng cơ sở, và khoảng [vào, ra) GIAO NHAU.", "trigger": "Gộp theo người bệnh: cùng ngày vào + cùng MA_LOAI_KCB nội trú + cùng MA_CSKCB + chồng lấn thời gian.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu MA_LK, NGUYÊN VĂN: \"Là mã đợt điều trị duy nhất\" — dùng để liên kết XML1 với các bảng còn lại \"trong một lần khám bệnh, chữa bệnh (PRIMARY KEY)\". SUY RA (không phải câu trong văn bản): một người bệnh không thể đồng thời ở hai đợt nội trú tại cùng cơ sở, nên hai MA_LK có khoảng [vào, ra) GIAO NHAU là mâu thuẫn định danh trong chính bộ dữ liệu — kết luận dựa trên MÂU THUẪN NỘI TẠI của hồ sơ, không phải trên một điều cấm được viết ra.", "sample": "[G1004] Cùng người bệnh có 2 hồ sơ nội trú CHỒNG LẤN thời gian điều trị.", "action": "GỘP về 01 hồ sơ hoặc BỎ hồ sơ khai trùng."}, {"code": "G1005", "severity": "GHICHU", "layer": "G", "title": "Dấu hiệu TÁCH ĐỢT điều trị", "meaning": "Một đợt nội trú liên tục được khai thành nhiều hồ sơ, tất cả cùng bệnh chính và cùng danh sách khoa.", "trigger": "Gộp theo người bệnh: các đợt liền kề, cùng MA_BENH_CHINH và cùng tập MA_KHOA.", "basis": "TT12/2026/TT-BTC Điều 10 khoản 1 chỉ LIỆT KÊ \"các nội dung rà soát hồ sơ đề nghị thanh toán\", KHÔNG đặt ngưỡng và KHÔNG cấm — không đủ căn cứ tuyên xuất toán. Chưa có văn bản định lượng việc tách đợt điều trị.", "sample": "[G1005] MỘT đợt nội trú liên tục N ngày được khai thành M HỒ SƠ.", "action": "ĐẠT — ghi nhận dấu hiệu, không phải kết luận vi phạm.", "deprecated": true}, {"code": "G1006", "severity": "GHICHU", "layer": "G", "title": "Cùng ngày vào nhưng KHÔNG chồng lấn", "meaning": "Hai hồ sơ nội trú cùng ngày vào nhưng khoảng thời gian nằm không giao nhau (hoặc thiếu ngày ra) — có thể là vào lại trong ngày hợp lệ.", "trigger": "Gộp theo người bệnh: cùng ngày vào + cùng loại KCB nội trú, KHÔNG chồng lấn.", "basis": "TT12/2026/TT-BTC Điều 10 khoản 1 chỉ LIỆT KÊ \"các nội dung rà soát hồ sơ đề nghị thanh toán\", KHÔNG đặt ngưỡng và KHÔNG cấm — không đủ căn cứ tuyên xuất toán.", "sample": "[G1006] Cùng người bệnh có 2 hồ sơ nội trú cùng ngày vào nhưng KHÔNG chồng lấn thời gian nằm.", "action": "ĐẠT — không chồng lấn thời gian điều trị."}, {"code": "GOP999", "severity": "GHICHU", "layer": "G", "title": "Nhóm GỘP còn phát hiện chưa hiển thị", "meaning": "Danh sách nhóm GỘP bị cắt ở 12 mục đầu; đây là thông báo số mục còn lại, không phải phát hiện nghiệp vụ.", "trigger": "Số phát hiện nhóm GỘP lớn hơn 12.", "basis": "Thông báo kỹ thuật — không dẫn văn bản.", "sample": "[GOP999] Nhóm GỘP còn N phát hiện nữa chưa hiển thị.", "action": "ĐẠT — chỉ là thông báo."}, {"code": "A1", "severity": "GHICHU", "layer": "DM", "title": "Định mức lượt khám/bàn khám trong ngày", "meaning": "Số lượt khám trên một bàn khám trong ngày vượt định mức thanh toán.", "trigger": "Gộp theo lô: đếm lượt khám theo bàn khám/ngày.", "basis": "Quy định định mức lượt khám trong ngày (65 lượt: thanh toán 100%; vượt: giảm trừ theo bậc).", "sample": "[A1] …", "action": "Rà soát bố trí bàn khám; đối chiếu định mức trước khi đề nghị thanh toán."}, {"code": "A2", "severity": "GHICHU", "layer": "DM", "title": "Định mức ca/máy trong ngày", "meaning": "Số ca thực hiện trên một máy trong ngày vượt định mức.", "trigger": "Gộp theo lô theo MA_MAY (đã tách chuỗi nhiều serial) và ngày thực hiện.", "basis": "Quy định định mức ca-máy trong ngày và tỷ lệ giảm trừ.", "sample": "[A2] …", "action": "Đối chiếu số ca thực tế trên từng máy."}, {"code": "A4", "severity": "GHICHU", "layer": "DM", "title": "Khám nhiều chuyên khoa trong cùng lần đến", "meaning": "Một hồ sơ có nhiều lượt khám cùng ngày ở các chuyên khoa khác nhau.", "trigger": "Gộp theo lô: đếm lượt khám cùng ngày trong một hồ sơ.", "basis": "Quy định thanh toán khám nhiều chuyên khoa (lượt khám thứ hai trở đi thanh toán 30%).", "sample": "[A4] Khám nhiều chuyên khoa cùng lần đến: 1 hồ sơ có 2 lượt khám cùng ngày …", "action": "Đối chiếu tỷ lệ thanh toán cho lượt khám thứ hai trở đi."}, {"code": "A4G", "severity": "CHAN", "layer": "DM", "title": "Khám nhiều chuyên khoa — thu vượt trần 2 lần giá khám", "meaning": "Người bệnh khám thêm chuyên khoa trong cùng lần đến: từ lần khám thứ 02 chỉ được tính 30% mức giá 01 lần khám, và TỔNG chi phí khám của người đó không quá 02 lần mức giá 01 lần khám. Hồ sơ này thu vượt trần đó.", "trigger": "Một hồ sơ có ≥2 dòng khám; tổng DON_GIA các dòng khám > 2 × đơn giá khám cao nhất.", "action": "Tính lại tiền khám: lần 2 trở đi = 30% giá 01 lần khám, tổng không quá 2 lần giá khám.", "basis": "TT39/2024/TT-BYT: “người bệnh sau khi khám một chuyên khoa cần phải khám thêm các chuyên khoa thì từ lần khám thứ 02 chỉ tính 30% mức giá của 01 lần khám bệnh và mức thanh toán tối đa chi phí khám bệnh của người đó không quá 02 lần mức giá của 01 lần khám bệnh”.", "sample": "Hồ sơ 12345: giá 1 lần khám 50.600đ · thu 101.200đ · trần 101.200đ · vượt 0đ"}, {"code": "B1", "severity": "GHICHU", "layer": "DM", "title": "Nghi trùng thẻ trong cùng ngày", "meaning": "Cùng người bệnh có ≥2 hồ sơ trong ngày. CHẶN khi cùng cơ sở + cùng nhóm bệnh chính (một lần đến bị tách hồ sơ); khác cơ sở hoặc khác bệnh thì ĐẠT.", "trigger": "Gộp theo lô theo mã thẻ + ngày.", "basis": "TT12/2026/TT-BTC Điều 10 — nguyên tắc giám định trùng.", "sample": "[B1] …", "action": "Lưu ý: nếu mã thẻ trong dữ liệu đã che (ẩn danh) thì kết quả nhóm này chỉ để tham khảo."}, {"code": "B2OK", "severity": "GHICHU", "layer": "B", "title": "Giường phục vụ nhiều lượt trong ngày", "meaning": "Một giường phục vụ nhiều người bệnh trong ngày nhưng KHÔNG chồng lấn thời gian — luân chuyển bình thường.", "trigger": "Cùng (MA_KHOA, MA_GIUONG, ngày) có nhiều lượt mà giờ vào/ra không chồng nhau.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 17 — không văn bản nào giới hạn số lượt trên một giường trong ngày.", "sample": "[B2OK] 45 giường phục vụ nhiều người bệnh trong cùng ngày — ĐẠT.", "action": "ĐẠT — không phải sửa gì."}, {"code": "B2", "severity": "CHAN", "layer": "DM", "title": "Nằm ghép nhưng khai ĐỦ 100% giá ngày giường", "meaning": "Hai người bệnh trở lên nằm CHỒNG LẤN thời gian trên cùng một giường (MA_KHOA, MA_GIUONG) mà vẫn khai đủ 100% giá ngày giường (SO_LUONG=1, TYLE_TT_DV=100) cho mỗi người — thay vì mức đã giảm khi nằm ghép. Chồng lấn giờ không phải vi phạm; khai đủ 100% giá dù chồng lấn mới là vi phạm.", "trigger": "Gộp theo (MA_KHOA, MA_GIUONG, NGAY); hai khoảng [NGAY_VAO, NGAY_RA) của cùng giường giao nhau thực sự (không chỉ chạm mút), và SO_LUONG × TYLE_TT_DV/100 của dòng ngày giường vượt mức cho phép (0,5 khi 2 người, 0,34 khi ≥ 3 người).", "basis": "TT39/2024/TT-BYT Điều 4c khoản 4 điểm b, nguyên văn: “Trường hợp ở cùng một thời điểm phải nằm ghép 02 người/01 giường thì chỉ được thanh toán 1/2 mức giá dịch vụ ngày giường bệnh tương ứng. Trường hợp nằm ghép từ 03 người trở lên thì chỉ được thanh toán 1/3 mức giá ngày giường bệnh tương ứng.” QĐ130/QĐ-BYT Bảng 1 chỉ tiêu NGAY_VAO/NGAY_RA (12 ký tự yyyyMMddHHmm, có giờ phút) xác lập thời điểm chồng lấn; chỉ tiêu MA_GIUONG (mã khoa + số giường đánh riêng trong từng khoa) xác lập khoá gom (MA_KHOA, MA_GIUONG).", "sample": "[B2] Giường H003 (khoa Nội) · ngày 12/03: 2 người bệnh CHỒNG giờ, cả hai vẫn khai SO_LUONG=1 và TYLE_TT_DV=100.", "action": "SỬA <SO_LUONG> và <TYLE_TT_DV> của dòng ngày giường theo số người nằm ghép (ĐƠN GIÁ giữ nguyên), hoặc sửa <MA_GIUONG> nếu thực tế không nằm ghép."}, {"code": "B3", "severity": "GHICHU", "layer": "DM", "title": "Nghi trùng người bệnh giữa các hồ sơ", "meaning": "Nhiều hồ sơ nghi thuộc cùng một người bệnh trong lô.", "trigger": "Gộp theo lô theo khoá định danh.", "basis": "TT12/2026/TT-BTC Điều 10.", "sample": "[B3] …", "action": "Đối chiếu định danh người bệnh."}, {"code": "K1008", "severity": "GHICHU", "layer": "K1", "title": "Xác nhận tỷ lệ thanh toán đúng mức TT20", "meaning": "Thông báo XÁC NHẬN (không phải lỗi): tỷ lệ thanh toán khai trong hồ sơ ĐÚNG mức TT20 quy định.", "trigger": "TYLE_TT_BH của dòng thuốc trùng với tỷ lệ ghi trong danh mục TT20.", "basis": "TT20/2022/TT-BYT Phụ lục I — cột tỷ lệ thanh toán.", "sample": "Thuốc Forxiga: tỷ lệ thanh toán 70% ĐÚNG mức TT20 quy định (70%).", "action": "Không cần xử lý — đây là thông tin xác nhận, giữ nguyên hồ sơ.", "deprecated": true}, {"code": "K5015", "severity": "GHICHU", "layer": "K5", "title": "Chẩn đoán lệch nhóm tuổi thường gặp", "meaning": "Tuổi người bệnh nằm ngoài nhóm tuổi thường gặp ghi trong bộ mã ICD — THÔNG TIN THAM KHẢO, không phải ràng buộc pháp lý.", "trigger": "Tuổi tính từ NGAY_SINH nằm ngoài khoảng tuổi ghi trong bộ cờ ICD.", "basis": "TT06/2026/TT-BYT — cột nhóm tuổi; QĐ4469/QĐ-BYT với lượt KCB trước 01/7/2026. Cột này mang tính tham khảo dịch tễ, KHÔNG phải điều kiện thanh toán.", "sample": "Chẩn đoán: O70.9: nhóm tuổi thường gặp ghi trong bộ mã là \"dậy thì(8-19)\", người bệnh 75 tuổi — THÔNG TIN THAM KHẢO…", "action": "Đối chiếu lại chẩn đoán nếu thấy bất thường; không cần sửa nếu chẩn đoán đúng."}, {"code": "K5016", "severity": "GHICHU", "layer": "K5", "title": "Mã bệnh bị cấm theo bộ cờ CŨ nhưng văn bản hiện hành đã bỏ", "meaning": "Mã ICD bị QĐ4469 cấm dùng làm bệnh chính, nhưng TT06/2026 (hiện hành) đã bỏ hạn chế đó.", "trigger": "Mã có cờ cấm ở QĐ4469 nhưng không còn cờ ở TT06/2026, lượt KCB trước 01/7/2026.", "basis": "QĐ4469/QĐ-BYT Phụ lục A2 (bộ cờ áp cho lượt KCB trước 01/7/2026); TT06/2026/TT-BYT cột 24 — văn bản hiện hành đã bỏ hạn chế với các mã này.", "sample": "Chẩn đoán: Z98.8: theo QĐ4469/QĐ-BYT (bộ cờ áp cho lượt KCB này) thì không dùng làm bệnh chính, NHƯNG TT06/2026…", "action": "Đối chiếu thời điểm khám; hồ sơ trước 01/7/2026 vẫn áp bộ cờ QĐ4469."}, {"code": "K6010", "severity": "CHAN", "layer": "K6", "title": "NGAY_KQ của dịch vụ bất thường so với ngày chỉ định", "meaning": "Ngày có kết quả (NGAY_KQ) lệch bất thường so với ngày y lệnh/thực hiện.", "trigger": "So sánh NGAY_YL / NGAY_TH_YL / NGAY_KQ trong bảng chi tiết DVKT.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 39 NGAY_KQ: “Ghi thời điểm có kết quả, gồm 12 ký tự, theo cấu trúc: yyyymmddHHMM”; chỉ tiêu 37 NGAY_YL “Ghi thời điểm ra y lệnh”. Ba mốc y lệnh → thực hiện → có kết quả là ba thời điểm khác nhau và phải theo đúng thứ tự.", "sample": "dịch vụ (Định nhóm máu hệ ABO bằng): NGAY_KQ (có kết quả) … ", "action": "Đối chiếu thời điểm thực hiện và trả kết quả; sửa nếu khai nhầm ngày."}, {"code": "FLD013", "severity": "CHAN", "layer": "FIELD", "title": "SO_NGAY_DTRI lệch với khoảng vào–ra viện", "meaning": "Số ngày điều trị khai trong hồ sơ không khớp khoảng thời gian từ ngày vào đến ngày ra.", "trigger": "So sánh SO_NGAY_DTRI với hiệu NGAY_RA − NGAY_VAO.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 — các trường NGAY_VAO, NGAY_RA, SO_NGAY_DTRI. QĐ130/QĐ-BYT chỉ tiêu SO_NGAY_DTRI, nguyên văn: “Là số ngày điều trị thực tế để phục vụ mục đích thống kê, cụ thể như sau: - Đối với Trường thông tin MA_LOAI_KCB có các mã ”1”, ”7”, ”9” thì trường thông tin SO_NGAY_DTRI = 0”.", "sample": "SO_NGAY_DTRI khai 39 ngày nhưng từ ngày vào đến ngày ra là … ngày — hai số liệu trên cùng hồ sơ không khớp nhau (ảnh hưởng tiền giường).", "action": "Đối chiếu và sửa cho khớp; trường này ảnh hưởng trực tiếp tiền giường."}, {"code": "FLD014", "severity": "CHAN", "layer": "FIELD", "title": "NGAY_VAO_NOI_TRU nằm ngoài khoảng vào–ra", "meaning": "Mốc vào nội trú không nằm trong khoảng thời gian của đợt điều trị.", "trigger": "NGAY_VAO_NOI_TRU < NGAY_VAO hoặc > NGAY_RA.", "basis": "QĐ130/QĐ-BYT — trường NGAY_VAO_NOI_TRU. QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "NGAY_VAO_NOI_TRU … nằm NGOÀI khoảng vào–ra …", "action": "Sửa mốc vào nội trú cho đúng thực tế đợt điều trị."}, {"code": "FLD015", "severity": "CHAN", "layer": "FIELD", "title": "Ngày y lệnh SAU ngày kết thúc đợt KCB", "meaning": "Ngày y lệnh của dòng chi phí nằm sau ngày ra viện quá thời hạn cho phép.", "trigger": "NGAY_YL > NGAY_RA quá 30 ngày.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 — các chỉ tiêu NGAY_YL, NGAY_RA của Bảng 2/Bảng 3. QĐ130/QĐ-BYT chỉ tiêu NGAY_YL, nguyên văn: “Ghi thời điểm ra y lệnh (gồm 12 ký tự, theo cấu trúc: yyyymmddHHmm”.", "sample": "thuốc STT 1: <NGAY_YL>=31/12/2099 sau ngày ra viện … NGÀY — quá 30 ngày kể từ ngày kết thúc đợt KCB.", "action": "Sửa ngày y lệnh cho đúng thời điểm chỉ định thực tế trong đợt điều trị."}, {"code": "TIEN001", "severity": "CHAN", "layer": "TIEN", "title": "Thành tiền ≠ số lượng × đơn giá", "meaning": "Số học trên dòng chi phí sai: thành tiền không bằng số lượng nhân đơn giá.", "trigger": "THANH_TIEN_BH ≠ SO_LUONG × DON_GIA (ngoài sai số làm tròn).", "basis": "QĐ130/QĐ-BYT — các chỉ tiêu SO_LUONG, DON_GIA, THANH_TIEN_BH của Bảng 2/Bảng 3. QĐ130/QĐ-BYT chỉ tiêu THANH_TIEN_BV, nguyên văn: “Được tính theo công thức: THANH_TIEN_BV = SO_LUONG * DON_GIA, làm tròn số đến 2 chữ số thập phân”.", "sample": "thuốc STT 1: THÀNH TIỀN 4,516đ ≠ số lượng 2 × đơn giá 1,000đ (2,000đ) — sai số học, cổng sẽ từ chối.", "action": "Tính lại thành tiền = số lượng × đơn giá trước khi gửi cổng."}, {"code": "TIEN002", "severity": "CHAN", "layer": "TIEN", "title": "Tiền hồ sơ không cân", "meaning": "Số tiền quỹ BHYT thanh toán khai ở hồ sơ không khớp phép tính từ tổng chi và các khoản trừ.", "trigger": "T_BHTT ≠ T_TONGCHI_BH − T_BNCCT − T_NGUONKHAC.", "basis": "QĐ130/QĐ-BYT — các chỉ tiêu T_TONGCHI_BH, T_BNCCT, T_NGUONKHAC, T_BHTT của Bảng 1. QĐ130/QĐ-BYT chỉ tiêu T_BHTT, nguyên văn: “Ghi tổng số tiền đề nghị cơ quan bảo hiểm xã hội thanh toán, theo công thức sau: T_BHTT = T_TONGCHI_BH - T_BNCCT”.", "sample": "Tiền hồ sơ KHÔNG cân: T_BHTT khai … nhưng theo tổng chi BH … phải là … — cổng sẽ từ chối.", "action": "Tính lại T_BHTT cho cân với tổng chi và các khoản trừ."}, {"code": "FLD016", "severity": "CHAN", "layer": "FIELD", "title": "Đường dùng thuốc sai định dạng mã", "meaning": "Trường DUONG_DUNG không đúng định dạng mã đường dùng của bộ mã dùng chung.", "trigger": "DUONG_DUNG không theo dạng 'nhóm.số' (vd 1.01 uống, 2.01 tiêm).", "basis": "QĐ7603/QĐ-BYT — danh mục mã đường dùng; QĐ130/QĐ-BYT Bảng 2, trường DUONG_DUNG. QĐ130/QĐ-BYT chỉ tiêu DUONG_DUNG, nguyên văn: “Ghi mã đường dùng tương ứng với đường dùng của thuốc theo”.", "sample": "thuốc STT 1 (Efferalgan): <DUONG_DUNG>='BOM VAO TAI' sai định dạng mã đường dùng (chuẩn 'nhóm.số', vd 1.01 uống).", "action": "Khai lại mã đường dùng theo danh mục dùng chung (dạng nhóm.số)."}, {"code": "FLD017", "severity": "CHAN", "layer": "FIELD", "title": "Kỳ quyết toán không khớp tháng ra viện", "meaning": "NAM_QT/THANG_QT khai giá trị KHÔNG PHẢI kỳ có thật (năm ngoài 2015–2100 hoặc tháng ngoài 01–12). Khác tháng ra viện KHÔNG phải lỗi — quyết toán chậm là hợp lệ.", "trigger": "THANG_QT/NAM_QT lệch tháng của NGAY_RA.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 53 NAM_QT: “Ghi năm mà cơ sở KBCB đề nghị cơ quan BHXH thanh toán.” và chỉ tiêu 54 THANG_QT: “Ghi tháng mà cơ sở KBCB đề nghị cơ quan BHXH thanh toán”. Kỳ quyết toán phải là kỳ CÓ CHI PHÍ phát sinh, tức khớp tháng kết thúc lượt KCB.", "sample": "Kỳ quyết toán khai 01/0001 KHÔNG PHẢI kỳ có thật (năm phải trong khoảng 2015–2100, tháng 01–12).", "action": "Khai lại NAM_QT/THANG_QT đúng kỳ quyết toán của đợt khám chữa bệnh."}, {"code": "FLD018", "severity": "GHICHU", "layer": "FIELD", "title": "Kết quả CLS có sau ngày ra viện nhưng TRONG hạn 30 ngày (hợp lệ)", "meaning": "Ngày có kết quả cận lâm sàng nằm sau ngày kết thúc đợt KCB nhưng vẫn trong thời hạn bổ sung 30 ngày — GHI NHẬN, không phải vi phạm.", "trigger": "NGAY_KQ > NGAY_RA và chênh ≤ 30 ngày.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 — chỉ tiêu NGAY_KQ: kết quả có sau 07 ngày thì nhập bổ sung trên Cổng tiếp nhận, nhưng không quá 30 ngày kể từ ngày kết thúc đợt KCB.", "sample": "xét nghiệm STT 3: <NGAY_KQ>=05/05/2025 sau ngày ra viện 2 ngày — HỢP LỆ.", "action": "Không cần sửa. Ghi nhận để cơ sở biết dòng này rơi vào diện bổ sung kết quả."}, {"code": "XT008", "severity": "GHICHU", "layer": "XML", "title": "File nhiều hồ sơ — lớp kiểm chéo liên bảng không chạy", "meaning": "File gửi lên chứa nhiều TONG_HOP (nhiều hồ sơ). Lớp đối soát liên bảng chỉ so được trong phạm vi MỘT hồ sơ nên đã bỏ qua để tránh so nhầm số liệu giữa các hồ sơ.", "trigger": "Số phần tử TONG_HOP trong file khác 1.", "basis": "QĐ130/QĐ-BYT — mỗi hồ sơ là một MA_LK; các bảng XML2…XML15 gắn với MA_LK của chính hồ sơ đó.", "sample": "File chứa 25 hồ sơ (nhiều TONG_HOP) — lớp kiểm nhất quán liên bảng bỏ qua.", "action": "Nộp/kiểm từng hồ sơ riêng nếu cần đối soát liên bảng; các lớp kiểm khác vẫn chạy đủ."}, {"code": "FLD019", "severity": "CHAN", "layer": "FIELD", "title": "Trường số khai không phải số", "meaning": "Trường phải là số nhưng giá trị khai không đọc được thành số.", "trigger": "Giá trị của SO_LUONG/DON_GIA/THANH_TIEN… không chuyển được sang số.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 — kiểu dữ liệu các chỉ tiêu số của Bảng 1–3. QĐ130/QĐ-BYT chỉ tiêu DON_GIA, nguyên văn: “Ghi đơn giá của thuốc, là giá theo hóa đơn mua vào của cơ sở KBCB; làm tròn đến 3 (ba) chữ số thập phân”.", "sample": "thuốc STT 2: <SO_LUONG> = 'ba' KHÔNG PHẢI SỐ (số lượng) — cổng sẽ từ chối file.", "action": "Khai lại giá trị bằng chữ số, không kèm ký tự khác."}, {"code": "FLD020", "severity": "CHAN", "layer": "FIELD", "title": "Trường số mang giá trị ÂM", "meaning": "Số lượng/đơn giá/thành tiền không được là số âm.", "trigger": "Giá trị số < 0.", "basis": "QĐ130/QĐ-BYT — các chỉ tiêu số lượng, đơn giá, thành tiền là số không âm. QĐ130/QĐ-BYT chỉ tiêu DON_GIA, nguyên văn: “Ghi đơn giá của thuốc, là giá theo hóa đơn mua vào của cơ sở KBCB; làm tròn đến 3 (ba) chữ số thập phân”.", "sample": "thuốc STT 1: <THANH_TIEN_BV> = -50,000.00 là SỐ ÂM (thành tiền) — không hợp lệ.", "action": "Sửa lại giá trị; nếu là điều chỉnh giảm thì khai theo đúng hướng dẫn của cổng."}, {"code": "FLD021", "severity": "CHAN", "layer": "FIELD", "title": "Trường số bằng 0 trong khi bắt buộc lớn hơn 0", "meaning": "Trường như số lượng/đơn giá không được bằng 0.", "trigger": "Giá trị = 0 ở trường không cho phép 0.", "basis": "QĐ130/QĐ-BYT — chỉ tiêu số lượng, đơn giá của Bảng 2/Bảng 3. QĐ130/QĐ-BYT chỉ tiêu DON_GIA, nguyên văn: “Ghi đơn giá của thuốc, là giá theo hóa đơn mua vào của cơ sở KBCB; làm tròn đến 3 (ba) chữ số thập phân”.", "sample": "dịch vụ STT 4: <SO_LUONG> = 0 (số lượng) — phải lớn hơn 0.", "action": "Khai đúng số lượng/đơn giá thực tế; nếu dòng không phát sinh thì bỏ dòng."}, {"code": "FLD022", "severity": "CHAN", "layer": "FIELD", "title": "Trường số vượt ngưỡng bất thường", "meaning": "Giá trị lớn bất thường so với ngưỡng nghiệp vụ — thường do nhập sai đơn vị hoặc thừa số 0.", "trigger": "Giá trị vượt ngưỡng cấu hình cho từng trường (vd đơn giá > 1 tỷ, tỷ lệ > 100).", "basis": "QĐ3176/QĐ-BYT Bảng 1 chỉ tiêu 60 CAN_NANG, nguyên văn: “Ghi số kilogram (kg) cân nặng của người bệnh, biểu thị đầy đủ cả số thập phân, dấu thập phân là dấu chấm”.", "sample": "thuốc STT 3: <DON_GIA> = 12,000,000,000 BẤT THƯỜNG (đơn giá, ngưỡng 1,000,000,000).", "action": "Đối chiếu chứng từ; sửa lại nếu nhập thừa số 0 hoặc sai đơn vị tính."}, {"code": "FLD023", "severity": "CHAN", "layer": "FIELD", "title": "Ngày giờ không có thật", "meaning": "Chuỗi ngày giờ đủ số ký tự nhưng không phải mốc thời gian có thật (tháng 13, ngày 32, giờ 99…).", "trigger": "Thành phần tháng/ngày/giờ/phút ngoài miền hợp lệ.", "basis": "QĐ4750/QĐ-BYT — định dạng yyyyMMddHHmm của các chỉ tiêu ngày giờ. QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "XML1: <NGAY_VAO> = '202513322599' là ngày giờ KHÔNG CÓ THẬT (tháng 13, ngày 32).", "action": "Khai lại đúng mốc thời gian thực tế theo định dạng yyyyMMddHHmm."}, {"code": "FLD024", "severity": "GHICHU", "layer": "FIELD", "title": "Thiếu trường nên khai theo QĐ4750", "meaning": "Trường không bắt buộc tuyệt đối nhưng QĐ4750 khuyến nghị khai đủ để cổng đối chiếu.", "trigger": "Trường khuyến nghị để trống.", "basis": "QĐ4750/QĐ-BYT ngày 29/12/2023 — danh mục chỉ tiêu và ghi chú 'nếu có'.", "sample": "XML1: thiếu dữ liệu <MA_NOI_CHUYEN> (nơi chuyển đến) — nên khai đủ theo QĐ4750.", "action": "Bổ sung nếu nghiệp vụ có phát sinh; không phát sinh thì bỏ qua."}, {"code": "FLD025", "severity": "CHAN", "layer": "FIELD", "title": "NGAY_TTOAN trước ngày ra viện", "meaning": "Ngày thanh toán khai trước ngày kết thúc đợt khám chữa bệnh — sai mốc thời gian.", "trigger": "NGAY_TTOAN < NGAY_RA.", "basis": "QĐ130/QĐ-BYT — chỉ tiêu NGAY_TTOAN, NGAY_RA của Bảng 1. QĐ130/QĐ-BYT chỉ tiêu NGAY_TTOAN, nguyên văn: “Ghi thời điểm người bệnh thanh toán chi phí KBCB, gồm 12”.", "sample": "NGAY_TTOAN (thanh toán) 01/04/2025 TRƯỚC ngày ra viện 03/04/2025 — sai mốc thời gian.", "action": "Khai lại NGAY_TTOAN đúng thời điểm quyết toán đợt điều trị."}, {"code": "FLD026", "severity": "CHAN", "layer": "FIELD", "title": "Bệnh nhi ≤6 tuổi thiếu CAN_NANG", "meaning": "Hồ sơ trẻ em từ 6 tuổi trở xuống bắt buộc khai cân nặng.", "trigger": "Tuổi ≤ 6 và CAN_NANG/CAN_NANG_CON để trống.", "basis": "QĐ4750/QĐ-BYT — chỉ tiêu CAN_NANG (bắt buộc với người bệnh dưới 6 tuổi). QĐ130/QĐ-BYT chỉ tiêu CAN_NANG, nguyên văn: “Ghi số kilogram (kg) cân nặng của người bệnh, biểu thị đầy đủ”.", "sample": "Bệnh nhi ≤6 tuổi nhưng THIẾU CAN_NANG — bắt buộc theo QĐ4750.", "action": "Bổ sung cân nặng (kg) của người bệnh vào hồ sơ."}, {"code": "FLD027", "severity": "CHAN", "layer": "FIELD", "title": "Tỷ lệ thanh toán ngoài khoảng 0–100%", "meaning": "Trường tỷ lệ phần trăm khai ngoài miền 0–100.", "trigger": "TYLE_TT_BH/TYLE_TT_DV < 0 hoặc > 100.", "basis": "QĐ130/QĐ-BYT — chỉ tiêu tỷ lệ thanh toán của Bảng 2/Bảng 3. QĐ130/QĐ-BYT chỉ tiêu TYLE_TT_BH, nguyên văn: “Ghi tỷ lệ thanh toán BHYT đối với thuốc có quy định tỷ lệ phần”.", "sample": "thuốc STT 5 (Paracetamol): <TYLE_TT_BH>='150' ngoài khoảng 0–100%.", "action": "Khai lại tỷ lệ đúng theo danh mục và quy định thanh toán."}, {"code": "FLD028", "severity": "GHICHU", "layer": "FIELD", "title": "Thiếu GIOI_TINH", "meaning": "Không khai giới tính nên hệ thống KHÔNG kiểm được các ràng buộc bệnh theo giới — GHI NHẬN, không phải vi phạm: QĐ130 không bắt trường này luôn phải có giá trị.", "trigger": "GIOI_TINH rỗng hoặc không có.", "basis": "QĐ130/QĐ-BYT — chỉ tiêu GIOI_TINH của Bảng 1 (1 Nam / 2 Nữ / 3 chưa xác định). QĐ130/QĐ-BYT Bảng chỉ tiêu, chỉ tiêu GIOI_TINH, nguyên văn: “Là mã giới tính của người bệnh (1: Nam; 2: Nữ; 3: Chưa xác định)”.", "sample": "Thiếu GIOI_TINH (rỗng/không có) — hệ thống BỎ kiểm ràng buộc bệnh-theo-giới.", "action": "Bổ sung GIOI_TINH để engine kiểm được cột 28/29 TT06 (không bắt buộc để hồ sơ ĐẠT)."}, {"code": "THE001", "severity": "CHAN", "layer": "K3", "title": "Thẻ BHYT hết hạn tại thời điểm vào viện", "meaning": "Ngày vào viện nằm sau ngày hết hạn thẻ — quỹ BHYT không thanh toán đợt này.", "trigger": "NGAY_VAO > GT_THE_DEN.", "basis": "Luật BHYT (giá trị sử dụng của thẻ); QĐ130/QĐ-BYT — chỉ tiêu GT_THE_TU, GT_THE_DEN. QĐ130/QĐ-BYT chỉ tiêu GT_THE_DEN, nguyên văn: “Ghi thời điểm thẻ BHYT hết giá trị sử dụng, gồm 08 ký tự”.", "sample": "Thẻ BHYT HẾT HẠN ngày 31/03/2025 nhưng vào viện 05/04/2025.", "action": "Đối chiếu thẻ/gia hạn; nếu thẻ đã gia hạn thì khai lại GT_THE_DEN đúng."}, {"code": "XML013", "severity": "CHAN", "layer": "XML", "title": "Dòng chi phí không có mã dịch vụ lẫn mã vật tư", "meaning": "Mỗi dòng Bảng 3 phải có ít nhất MA_DICH_VU hoặc MA_VAT_TU để xác định được đối tượng chi.", "trigger": "Cả MA_DICH_VU và MA_VAT_TU đều trống trên một dòng XML3.", "basis": "QĐ130/QĐ-BYT — Bảng 3, chỉ tiêu MA_DICH_VU/MA_VAT_TU. QĐ130/QĐ-BYT chỉ tiêu MA_DICH_VU, nguyên văn: “Ghi mã dịch vụ kỹ thuật hoặc mã dịch vụ khám bệnh thực”.", "sample": "dịch vụ STT 7: dòng KHÔNG có <MA_DICH_VU> lẫn <MA_VAT_TU>.", "action": "Bổ sung mã dịch vụ kỹ thuật hoặc mã vật tư y tế cho dòng chi phí."}, {"code": "XML014", "severity": "CHAN", "layer": "XML", "title": "Trùng số thứ tự STT trong một bảng", "meaning": "STT phải duy nhất trong từng bảng; trùng STT làm cổng và giám định không tra được dòng.", "trigger": "Hai dòng cùng bảng mang cùng giá trị STT.", "basis": "QĐ4750/QĐ-BYT — chỉ tiêu STT của các bảng chi tiết. QĐ130/QĐ-BYT chỉ tiêu STT, nguyên văn: “Là số thứ tự tăng từ 1 đến hết trong một lần gửi dữ liệu”.", "sample": "Bảng XML2: TRÙNG số thứ tự STT 3 — mỗi dòng phải có STT duy nhất (QĐ4750).", "action": "Đánh lại STT liên tục, không trùng trong từng bảng."}, {"code": "XML4C1", "severity": "CHAN", "layer": "XML", "title": "XML4 để trống mã chỉ số cận lâm sàng", "meaning": "Bảng 4 (chi tiết dịch vụ cận lâm sàng) có dòng không ghi MA_CHI_SO.", "trigger": "Dòng CHI_TIET_CLS có <MA_CHI_SO> rỗng hoặc thiếu thẻ.", "basis": "QĐ130/QĐ-BYT Bảng 4 chỉ tiêu 4, SỬA ĐỔI TOÀN BỘ bởi QĐ3176/QĐ-BYT 29/10/2024: nguyên văn “Trường hợp chưa có mã chỉ số thì tạm thời mã hoá bằng tên chỉ số (viết liền không có dấu).” và “Chỉ ghi các chỉ số có đơn vị đo lường.” — 2 NGOẠI LỆ: (a) chưa có mã CHÍNH THỨC thì mã hoá TẠM bằng tên (không phải để trống — vẫn phải điền), (b) chỉ số KHÔNG có đơn vị đo lường thì không bắt buộc ghi.", "sample": "<MA_CHI_SO> để TRỐNG ở một số dòng XML4 (trong đó có dòng ĐÃ có kết quả <GIA_TRI>).", "action": "Điền MA_CHI_SO cho mọi dòng XML4 — sửa ở khâu kết xuất của HIS, không sửa từng hồ sơ.", "uu_tien": 10}, {"code": "XML4C2", "severity": "CHAN", "layer": "XML", "title": "XML4 để trống tên chỉ số cận lâm sàng", "meaning": "Bảng 4 có dòng không ghi TEN_CHI_SO.", "trigger": "Dòng CHI_TIET_CLS có <TEN_CHI_SO> rỗng hoặc thiếu thẻ.", "basis": "QĐ130/QĐ-BYT Bảng 4 chỉ tiêu 5, SỬA ĐỔI TOÀN BỘ bởi QĐ3176/QĐ-BYT 29/10/2024: nguyên văn “Ghi tên chỉ số xét nghiệm, chẩn đoán hình ảnh, thăm dò chức năng theo quy định.” và “Chỉ ghi các chỉ số có đơn vị đo lường.” — cùng ngoại lệ (b) như XML4C1: chỉ số không đơn vị đo không bắt buộc ghi.", "sample": "<TEN_CHI_SO> để TRỐNG ở một số dòng XML4.", "action": "Điền TEN_CHI_SO cho mọi dòng XML4 — sửa ở khâu kết xuất của HIS.", "uu_tien": 10}, {"code": "XML4C3", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã chỉ số không có trong danh mục", "meaning": "MA_CHI_SO khai ở XML4 không thuộc danh mục mã chỉ số do BYT ban hành.", "trigger": "Giá trị MA_CHI_SO không có trong Phụ lục 11 QĐ7603 lẫn QĐ1227.", "basis": "QĐ130/QĐ-BYT Bảng 4 chỉ tiêu 4 buộc ghi theo Phụ lục 11 QĐ7603/QĐ-BYT;  QĐ130/QĐ-BYT Bảng chỉ tiêu, chỉ tiêu MA_CHI_SO, nguyên văn: “Ghi mã chỉ số xét nghiệm, chẩn đoán hình ảnh, thăm dò chức năng theo Phụ lục số 11 ban hành kèm theo Quyết định số 7603/QĐ-BYT”.QĐ2010/QĐ-BYT Điều 3 cho dùng tiếp Phụ lục 11 với chỉ số chưa có trong QĐ1227/QĐ-BYT.", "sample": "<MA_CHI_SO> XX9 KHÔNG có trong danh mục mã chỉ số.", "action": "Đổi sang mã chỉ số có trong Phụ lục 11 QĐ7603 hoặc QĐ1227."}, {"code": "MAY001", "severity": "CHAN", "layer": "XML", "title": "Mã máy sai định dạng QĐ130", "meaning": "MA_MAY ở XML3 không theo cấu trúc XX.n.YYYYY.Z mà QĐ130 quy định.", "trigger": "Dòng CHI_TIET_DVKT có MA_MAY khác rỗng nhưng không khớp dạng quy định.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 44 MA_MAY: “Ghi mã các máy thực hiện dịch vụ cận lâm sàng, phẫu thuật, thủ thuật (máy xét nghiệm, máy XQuang, máy siêu âm…), tạm thời được ghi theo nguyên tắc: XX.n.YYYYY.Z” — XX/XXX mã nhóm máy, n nguồn kinh phí (1 ngân sách / 2 xã hội hoá / 3 nguồn khác), YYYYY mã cơ sở KBCB, Z số serial máy. Văn bản dùng chữ TẠM THỜI, tức khuôn này là hướng dẫn tạm — đây là lý do quy tắc chỉ soi KHUÔN, không suy diễn thêm.", "sample": "<MA_MAY> sai định dạng: 123 — QĐ130 Bảng 3 chỉ tiêu 42 quy định dạng XX.n.YYYYY.Z.", "action": "Ghi lại MA_MAY đúng dạng XX.n.YYYYY.Z.", "uu_tien": 10}, {"code": "XML7C1", "severity": "CHAN", "layer": "XML", "title": "XML7 để trống số lưu trữ", "meaning": "Bảng 7 (giấy ra viện) không ghi SO_LUU_TRU.", "trigger": "Phần tử XML7 có <SO_LUU_TRU> rỗng hoặc thiếu thẻ.", "basis": "QĐ130/QĐ-BYT Bảng 7 chỉ tiêu 2: “Ghi số lưu trữ, là số hồ sơ bệnh án của người bệnh trong” (bản gốc cắt ngang câu; phần tiếp: đợt điều trị).", "sample": "<SO_LUU_TRU> để TRỐNG ở XML7.", "action": "Điền SO_LUU_TRU ở bảng XML7.", "uu_tien": 10}, {"code": "MAY002", "severity": "CHAN", "layer": "XML", "title": "XML3 để trống mã máy", "meaning": "Dòng dịch vụ kỹ thuật không ghi MA_MAY.", "trigger": "Dòng CHI_TIET_DVKT có <MA_MAY> rỗng hoặc thiếu thẻ.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 44 MA_MAY — chỉ miễn duy nhất một trường hợp, nguyên văn đầy đủ: “Trường hợp chuyển mẫu bệnh phẩm thì không bắt buộc ghi trường thông tin này.”", "sample": "<MA_MAY> để TRỐNG ở một số dòng XML3.", "action": "Điền MA_MAY cho các dòng DVKT thực hiện bằng máy — sửa ở khâu kết xuất của HIS.", "uu_tien": 10}, {"code": "TG001", "severity": "CHAN", "layer": "XML", "title": "Kết quả cách thời điểm thực hiện dưới 5 phút", "meaning": "NGAY_KQ cách NGAY_TH_YL dưới 5 phút.", "trigger": "Hiệu NGAY_KQ - NGAY_TH_YL nhỏ hơn 5 phút.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 38 NGAY_TH_YL: “Ghi thời điểm thực hiện y lệnh, gồm 12 ký tự, theo cấu trúc:” và chỉ tiêu 39 NGAY_KQ: “Ghi thời điểm có kết quả, gồm 12 ký tự, theo cấu trúc:” — hai mốc riêng biệt.", "sample": "3 dòng XML3 có <NGAY_KQ> cách <NGAY_TH_YL> DƯỚI 5 PHÚT.", "action": "Đối chiếu bệnh án, ghi lại đúng thời điểm thực hiện và thời điểm có kết quả."}, {"code": "TG002", "severity": "CHAN", "layer": "XML", "title": "Thời điểm thực hiện trùng khít thời điểm kết quả", "meaning": "NGAY_TH_YL bằng đúng NGAY_KQ.", "trigger": "NGAY_TH_YL == NGAY_KQ trên cùng một dòng DVKT.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 36: “Ghi thời điểm thực hiện y lệnh, gồm 12 ký tự, theo cấu trúc:”; chỉ tiêu 37: “Ghi thời điểm có kết quả, gồm 12 ký tự, theo cấu trúc:”.", "sample": "2 dòng XML3 có <NGAY_TH_YL> TRÙNG KHÍT <NGAY_KQ>.", "action": "Ghi lại NGAY_KQ đúng thời điểm có kết quả."}, {"code": "TG003", "severity": "CHAN", "layer": "XML", "title": "Thực hiện y lệnh quá 24 giờ sau khi ra y lệnh", "meaning": "NGAY_TH_YL cách NGAY_YL quá 24 giờ.", "trigger": "Hiệu NGAY_TH_YL - NGAY_YL lớn hơn 24 giờ.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 37 NGAY_YL: “Ghi thời điểm ra y lệnh, gồm 12 ký tự, theo cấu trúc:” và chỉ tiêu 38 NGAY_TH_YL: “Ghi thời điểm thực hiện y lệnh, gồm 12 ký tự, theo cấu trúc:”.", "sample": "2 dòng XML3 có <NGAY_TH_YL> cách <NGAY_YL> QUÁ 24 GIỜ.", "action": "Đối chiếu bệnh án; thực hiện muộn thì giải trình, sai giờ thì ghi lại."}, {"code": "TG004", "severity": "CHAN", "layer": "XML", "title": "Kết quả trả quá 24 giờ sau khi thực hiện", "meaning": "NGAY_KQ cách NGAY_TH_YL quá 24 giờ.", "trigger": "Hiệu NGAY_KQ - NGAY_TH_YL lớn hơn 24 giờ.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 36: “Ghi thời điểm thực hiện y lệnh, gồm 12 ký tự, theo cấu trúc:” và chỉ tiêu 37: “Ghi thời điểm có kết quả, gồm 12 ký tự, theo cấu trúc:”.", "sample": "Kết quả trả MUỘN hơn một ngày: 2 dòng XML3 ghi thời điểm có kết quả sau thời điểm thực hiện tới hơn 24 giờ.", "action": "Đối chiếu phiếu kết quả, ghi lại đúng NGAY_KQ."}, {"code": "TG006", "severity": "CHAN", "layer": "XML", "title": "Chi phí phát sinh trùng khít thời điểm vào viện", "meaning": "NGAY_YL của dòng chi phí trùng đúng phút NGAY_VAO của lượt KCB.", "trigger": "NGAY_YL == NGAY_VAO.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 37 NGAY_YL: “Ghi thời điểm ra y lệnh, gồm 12 ký tự, theo cấu trúc:” — mốc này phải là thời điểm bác sĩ RA y lệnh, không phải thời điểm người bệnh vào viện.", "sample": "5 dòng XML3 có <NGAY_YL> TRÙNG KHÍT thời điểm <NGAY_VAO> của lượt KCB.", "action": "Đối chiếu bệnh án, ghi lại đúng thời điểm ra y lệnh."}, {"code": "SL001", "severity": "CHAN", "layer": "XML", "title": "Nhóm chi phí 18 khai số lượng lớn hơn 1", "meaning": "Dòng thuộc nhóm chi phí 18 có SO_LUONG > 1.", "trigger": "MA_NHOM = 18 và SO_LUONG lớn hơn 1.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 6 MA_NHOM: “Ghi mã nhóm theo chi phí, dùng để phân loại, sắp xếp các chi phí vào các nhóm, ghi theo Phụ lục số 3 ban hành kèm theo Quyết định số 5937/QĐ-BYT ngày 30 tháng 12 năm 2021 của Bộ trưởng Bộ Y tế.” Phụ lục 3 xếp nhóm 18 là chi phí tính theo LẦN SỬ DỤNG, nên một lần thì số lượng không thể lớn hơn 1.", "sample": "4 dòng XML3 thuộc nhóm chi phí 18 khai <SO_LUONG> lớn hơn 1.", "action": "Ghi lại SO_LUONG = 1, hoặc tách thành nhiều dòng theo từng lần."}, {"code": "XML4C4", "severity": "CHAN", "layer": "XML", "title": "Ngày kết quả ở XML4 khác XML3", "meaning": "Cùng một mã dịch vụ nhưng NGAY_KQ ở hai bảng khác nhau.", "trigger": "NGAY_KQ của dòng XML4 không nằm trong tập NGAY_KQ của cùng MA_DICH_VU ở XML3.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 37, nguyên văn đầy đủ: “Ghi thời điểm có kết quả, gồm 12 ký tự, theo cấu trúc: yyyymmddHHMM, trong đó: 04 ký tự năm (yyyy) + 02 ký tự tháng (mm) + 02 ký tự ngày (dd) + 02 ký tự giờ, tính theo 24 giờ (HH) + 02 ký tự phút (MM).” Bảng 4 chỉ tiêu 10, nguyên văn đầy đủ: “Ghi thời điểm có kết quả cận lâm sàng; gồm 12 ký tự, theo cấu trúc: yyyymmddHHMM, trong đó: 04 ký tự năm (yyyy) + 02 ký tự tháng (mm) + 02 ký tự ngày (dd) + 02 ký tự giờ, tính theo 24 giờ (HH) + 02 ký tự phút (MM).” — cùng một dịch vụ chỉ có một thời điểm trả kết quả. QĐ3176/QĐ-BYT không sửa hai chỉ tiêu này.", "sample": "3 dòng XML4 có <NGAY_KQ> KHÁC <NGAY_KQ> của cùng mã dịch vụ ở XML3.", "action": "Đồng bộ NGAY_KQ giữa XML3 và XML4 cho cùng mã dịch vụ."}, {"code": "XML5D1", "severity": "CHAN", "layer": "XML", "title": "Diễn biến lâm sàng trùng nguyên văn", "meaning": "Nhiều dòng XML5 chép lại y nguyên một đoạn diễn biến.", "trigger": "Hai dòng CHI_TIET_DIEN_BIEN_BENH trở lên có DIEN_BIEN_LS giống hệt nhau.", "basis": "QĐ130/QĐ-BYT Bảng 5 chỉ tiêu DIEN_BIEN_LS: “Ghi diễn biến lâm sàng của người bệnh trong lần khám và/hoặc ghi nội dung chăm sóc của nhân viên y tế.”; chỉ tiêu THOI_DIEM_DBLS: “Ghi thời điểm diễn biến lâm sàng, gồm 12 ký tự, theo cấu trúc:” — mỗi mốc là một diễn biến riêng.", "sample": "7/12 dòng XML5 có <DIEN_BIEN_LS> TRÙNG NGUYÊN VĂN với dòng khác.", "action": "Ghi lại diễn biến theo đúng từng mốc thời gian, không sao chép đoạn cũ."}, {"code": "XML13C1", "severity": "CHAN", "layer": "XML", "title": "XML13 để trống tên dịch vụ", "meaning": "Giấy chuyển tuyến không ghi TEN_DICH_VU.", "trigger": "Phần tử XML13 có <TEN_DICH_VU> rỗng hoặc thiếu thẻ.", "basis": "QĐ3176/QĐ-BYT Bảng 13 (giấy chuyển tuyến) — chỉ tiêu TEN_DICH_VU. QĐ130/QĐ-BYT chỉ tiêu TEN_DICH_VU, nguyên văn: “Ghi tên dịch vụ kỹ thuật hoặc tên dịch vụ khám bệnh”.", "sample": "<TEN_DICH_VU> để TRỐNG ở XML13 (giấy chuyển tuyến).", "action": "Điền TEN_DICH_VU ở bảng XML13.", "uu_tien": 10}, {"code": "BS001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã chứng chỉ hành nghề ngoài danh mục cơ sở", "meaning": "MA_BAC_SI hoặc NGUOI_THUC_HIEN không thuộc danh mục người hành nghề đã đăng ký của cơ sở.", "trigger": "Giá trị (đã tách theo dấu chấm phẩy) không có trong DanhMucCoSo/<MA_CSKCB>/nguoi_hanh_nghe.csv.", "basis": "QĐ130/QĐ-BYT Bảng 2 chỉ tiêu 32 MA_BAC_SI: “Ghi mã bác sỹ khám, chỉ định thuốc (là mã định danh y tế của nhân viên y tế)” — bản gốc cắt ngang câu. Cùng chỉ tiêu ghi rõ nhiều mã cách nhau bằng dấu chấm phẩy. Luật15/2023/QH15 (Khám bệnh, chữa bệnh) Điều 19 khoản 1: “Cá nhân được phép hành nghề khám bệnh, chữa bệnh tại Việt Nam khi đáp ứng đủ các điều kiện sau đây: a) Có giấy phép hành nghề đang còn hiệu lực; b) Đã đăng ký hành nghề”.", "sample": "Mã chứng chỉ hành nghề 003787/LCA-CCHN KHÔNG có trong danh mục người hành nghề đã đăng ký của cơ sở.", "action": "Đối chiếu danh mục người hành nghề đã đăng ký; bổ sung đăng ký hoặc ghi lại đúng mã."}, {"code": "DMM001", "severity": "CHAN", "layer": "DIEUKIEN", "title": "Đường máu mao mạch tại giường ngoài phạm vi CV5388", "meaning": "Dịch vụ 01.0281.1510 chỉ định cho hồ sơ không thuộc khoa cấp cứu/hồi sức và người bệnh không mắc đái tháo đường hay viêm tuỵ cấp.", "trigger": "Có dòng XML3 mã 01.0281.1510; MA_KHOA của dòng đó không nằm trong danh mục khoa cấp cứu/hồi sức của cơ sở (khoa.csv cột loai=cc) VÀ MA_BENH_CHINH/MA_BENH_KT không có E10-E14 hoặc K85. KHÔNG kiểm trần 02 lần/ngày — khoản đó đã bị CV6629/BYT-BH 02/11/2018 sửa.", "basis": "Công văn 5388/BYT-BH ngày 12/9/2018 khoản 1 nêu hai nhánh được áp dụng — nhánh khoa: “Khoa thường trực cấp cứu, Khoa cấp cứu-hồi sức”; nhánh bệnh: “người bệnh đang điều trị tại khoa lâm sàng khác mắc bệnh đái tháo đường (bệnh tiểu đường), bệnh viêm tụy cấp…theo chỉ định của bác sỹ”. Khoản 2 (trần 02 lần/ngày) đã bị Công văn 6629/BYT-BH ngày 02/11/2018 sửa thành thanh toán theo số lần thực tế, nên không áp.", "sample": "Xét nghiệm đường máu mao mạch tại giường (01.0281.1510) chỉ định ngoài phạm vi Công văn 5388/BYT-BH.", "action": "Đối chiếu chỉ định; bổ sung mã bệnh đái tháo đường/viêm tuỵ cấp nếu người bệnh thực có."}, {"code": "MAY003", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã máy ngoài danh mục thiết bị của cơ sở", "meaning": "MA_MAY ở XML3 không thuộc danh mục trang thiết bị y tế cơ sở đã đăng ký với cơ quan BHXH.", "trigger": "Giá trị (đã tách theo dấu chấm phẩy — một hệ thống máy có nhiều serial) không có trong DanhMucCoSo/<MA_CSKCB>/trang_thiet_bi.csv. Cơ sở chưa nộp danh mục thì quy tắc tự tắt.", "basis": "QĐ3176/QĐ-BYT Bảng 3 chỉ tiêu 44 MA_MAY: “Trường hợp không có số serial của máy thì sử dụng mã quản lý của máy do cơ sở KBCB lập” — mã quản lý do chính cơ sở lập, nên căn cứ đối chiếu duy nhất là danh mục trang thiết bị y tế cơ sở đã đăng ký với cơ quan BHXH; không có bảng dùng chung toàn quốc. Cùng chỉ tiêu quy định hệ thống máy nhiều máy thì ghi tất cả serial, cách nhau bằng dấu chấm phẩy — nên phải tách trước khi tra.", "sample": "<MA_MAY> SA.1.10061.U81120 KHÔNG có trong danh mục trang thiết bị y tế cơ sở đã đăng ký với cơ quan BHXH.", "action": "Đối chiếu danh mục trang thiết bị đã đăng ký với BHXH; bổ sung đăng ký máy hoặc ghi lại đúng mã máy."}, {"code": "GIA002", "severity": "CHAN", "layer": "DANHMUC", "title": "Đơn giá BH khác bảng giá đã duyệt của cơ sở", "meaning": "DON_GIA_BH khai ở XML3 khác đơn giá trong bảng giá dịch vụ đã được phê duyệt cho chính cơ sở.", "trigger": "So SỐ theo MA_DICH_VU với DanhMucCoSo/<MA_CSKCB>/gia_dich_vu.csv; lệch từ 1 đồng trở lên. Cơ sở chưa nộp bảng giá thì quy tắc tự tắt.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 14 DON_GIA_BV: “Ghi đơn giá dịch vụ kỹ thuật, tiền giường bệnh, tiền công khám bệnh (theo giá do cấp có thẩm quyền quy định hoặc giá do cơ sở KBCB xây dựng)”; chỉ tiêu 15 DON_GIA_BH: “Ghi đơn giá dịch vụ kỹ thuật, VTYT, tiền giường bệnh, tiền công khám bệnh do quỹ BHYT thanh toán”. Giá do cấp có thẩm quyền quy định HOẶC do cơ sở xây dựng, nên căn cứ đối chiếu là bảng giá đã được phê duyệt cho chính cơ sở đó.", "sample": "<DON_GIA_BH> của 3 dịch vụ khác giá đã phê duyệt của cơ sở (ví dụ 01.0133.0209: khai 625.000 đ, danh mục duyệt 620.000 đ).", "action": "Đối chiếu bảng giá dịch vụ đã phê duyệt của cơ sở; sửa đơn giá ở khâu kết xuất của HIS."}, {"code": "DVKT001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã dịch vụ KHÔNG có trong danh mục giá cơ sở đã đăng ký", "meaning": "MA_DICH_VU khai ở XML3 không có dòng nào trong bảng giá dịch vụ cơ sở đã đăng ký với BHXH, ở BẤT KỲ kỳ nào.", "trigger": "Tra MA_DICH_VU trong DanhMucCoSo/<MA_CSKCB>/gia_dich_vu.csv; không có dòng nào. Cơ sở chưa nộp bảng giá thì quy tắc tự tắt.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 14 DON_GIA_BV: “Ghi đơn giá dịch vụ kỹ thuật, tiền giường bệnh, tiền công khám bệnh (theo giá do cấp có thẩm quyền quy định hoặc giá do cơ sở KBCB xây dựng)” — giá do CẤP CÓ THẨM QUYỀN quy định HOẶC do CƠ SỞ xây dựng, nên một dịch vụ không nằm trong bảng giá đã đăng ký của CHÍNH cơ sở đó (TT22/2023/TT-BYT phân cấp thẩm quyền phê duyệt giá theo từng cơ sở) là dịch vụ chưa có căn cứ giá để thanh toán, dù mã đó CÓ trong danh mục dùng chung QĐ2010.", "sample": "<MA_DICH_VU> 18.0091.0028 KHÔNG có trong bảng giá dịch vụ cơ sở đã đăng ký với BHXH (mọi kỳ).", "action": "Đăng ký bổ sung biến thể/mã dịch vụ này với cơ quan BHXH trước khi gửi hồ sơ."}, {"code": "DVKT002", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã dịch vụ có trong danh mục cơ sở nhưng đăng ký ĐÃ HẾT HIỆU LỰC", "meaning": "MA_DICH_VU có dòng trong bảng giá cơ sở, nhưng dòng hiệu lực gần nhất đã hết hạn trước NGAY_VAO của hồ sơ.", "trigger": "Tra MA_DICH_VU tại thời điểm NGAY_VAO trong gia_dich_vu.csv; có dòng nhưng mọi dòng đều hết hiệu lực.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 14 DON_GIA_BV: “Ghi đơn giá dịch vụ kỹ thuật, tiền giường bệnh, tiền công khám bệnh (theo giá do cấp có thẩm quyền quy định hoặc giá do cơ sở KBCB xây dựng)” — căn cứ giá gắn với MỘT ĐĂNG KÝ CÒN HIỆU LỰC của cấp có thẩm quyền/cơ sở; đăng ký đã dừng (TT22/2023/TT-BYT phân cấp giá theo từng cơ sở) thì không còn căn cứ cho các lượt khám sau ngày dừng, dù giá đó TỪNG được phê duyệt.", "sample": "<MA_DICH_VU> 03.0630.0280 có trong bảng giá cơ sở nhưng dòng đăng ký gần nhất ĐÃ HẾT HIỆU LỰC trước NGAY_VAO của hồ sơ này.", "action": "Đăng ký lại giá dịch vụ này với cơ quan BHXH trước khi gửi hồ sơ."}, {"code": "VTU003", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã vật tư KHÔNG có trong danh mục vật tư cơ sở đã đăng ký", "meaning": "MA_VAT_TU khai ở XML3 không có dòng nào trong danh mục vật tư y tế của cơ sở đã đăng ký với BHXH, ở BẤT KỲ kỳ nào.", "trigger": "Tra MA_VAT_TU trong DanhMucCoSo/<MA_CSKCB>/vat_tu.csv; không có dòng nào. Cơ sở chưa nộp danh mục vật tư thì quy tắc tự tắt.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 5 MA_VAT_TU: “Ghi mã VTYT chi tiết đến từng kích thước cụ thể đã được sử dụng cho người bệnh”, kèm Lưu ý: “Mã VTYT được cấp tự động trên Cổng tiếp nhận dữ liệu Hệ thống thông tin giám định BHYT của BHXH Việt Nam” — mã do chính cổng BHXH cấp/đăng ký cho từng cơ sở, không phải bảng dùng chung toàn quốc.", "sample": "<MA_VAT_TU> N06.03.010.0541.183.0002 KHÔNG có trong danh mục vật tư y tế cơ sở đã đăng ký với BHXH (mọi kỳ).", "action": "Đăng ký bổ sung vật tư này với cơ quan BHXH trước khi gửi hồ sơ."}, {"code": "DMT001", "severity": "CHAN", "layer": "DANHMUC", "title": "Hàm lượng/đường dùng/thầu khác danh mục thuốc cơ sở", "meaning": "HAM_LUONG, DUONG_DUNG hoặc TT_THAU của dòng thuốc khác danh mục thuốc cơ sở đã được BHXH phê duyệt.", "trigger": "Tra theo MA_THUOC trong DanhMucCoSo/<MA_CSKCB>/thuoc.csv, so nguyên văn (phân biệt chữ hoa/thường và dấu cách, đúng cách cổng làm). Ô nào để trống trong danh mục thì bỏ qua ô đó. Cơ sở chưa nộp danh mục thì quy tắc tự tắt.", "basis": "QĐ130/QĐ-BYT Bảng 2 chỉ tiêu 9 HAM_LUONG: “Trường hợp nếu thuốc có nhiều hoạt chất hoặc thành phần thì ghi hàm lượng của các hoạt chất hoặc thành phần, giữa các hàm lượng cách nhau bằng dấu cộng “+”” — hàm lượng là giá trị khai báo bắt buộc của chính dòng thuốc, phải khớp danh mục thuốc đã được cơ quan BHXH phê duyệt cho cơ sở.", "sample": "<HAM_LUONG> của 2 dòng thuốc khác danh mục thuốc cơ sở đã được BHXH phê duyệt.", "action": "Đối chiếu danh mục thuốc đã được BHXH phê duyệt; sửa hàm lượng/đường dùng/thông tin thầu cho khớp."}, {"code": "DMT002", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã thuốc KHÔNG có trong danh mục thuốc cơ sở đã đăng ký", "meaning": "MA_THUOC khai ở XML2 không có dòng nào trong danh mục thuốc của cơ sở đã đăng ký với BHXH, ở BẤT KỲ kỳ nào (sau khi loại máu/chế phẩm máu, oxy/NO, vận chuyển-bao bì máu — các nhóm này đã có cơ chế kiểm riêng).", "trigger": "Tra MA_THUOC trong DanhMucCoSo/<MA_CSKCB>/thuoc.csv; không có dòng nào. Cơ sở chưa nộp danh mục thuốc thì quy tắc tự tắt.", "basis": "QĐ130/QĐ-BYT Bảng 2 chỉ tiêu 3 MA_THUOC: “Ghi mã hoạt chất theo quy định tại Bộ mã danh mục dùng chung do Bộ Y tế ban hành”; TT20/2022/TT-BYT chỉ cho thanh toán thuốc đã có giá/gói thầu đăng ký với BHXH.", "sample": "<MA_THUOC> 40.312 KHÔNG có trong danh mục thuốc cơ sở đã đăng ký với BHXH (mọi kỳ).", "action": "Nếu cơ sở thật sự có dùng thuốc này: đăng ký bổ sung đúng thuốc đã dùng với BHXH. Nếu là lỗi ghi/mã hoá: sửa lại MA_THUOC — không đăng ký một thuốc không có thật chỉ để khớp số liệu."}, {"code": "KHOA001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã khoa KHÔNG có trong danh mục khoa cơ sở đã đăng ký", "meaning": "MA_KHOA/MA_KHOA_RV khai ở XML không có dòng nào trong danh mục khoa của cơ sở đã đăng ký với BHXH, ở BẤT KỲ kỳ nào — độc lập với K6006/K6015 (đối chiếu Phụ lục 5 QĐ5937, danh mục BYT công bố).", "trigger": "Tra MA_KHOA/MA_KHOA_RV trong DanhMucCoSo/<MA_CSKCB>/khoa.csv; không có dòng nào. Cơ sở chưa nộp danh mục khoa thì quy tắc tự tắt.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu MA_KHOA: “Mã khoa ghi theo Phụ lục số 5 ban hành kèm theo Quyết định số 5937/QĐ-BYT”; mỗi cơ sở chỉ vận hành một tập con khoa trong danh mục đó.", "sample": "<MA_KHOA> K99 KHÔNG có trong danh mục khoa cơ sở đã đăng ký với BHXH (mọi kỳ).", "action": "Kiểm tra lại MA_KHOA hoặc đăng ký bổ sung khoa (nếu cơ sở thật sự đã mở khoa này) với BHXH trước khi gửi."}, {"code": "CSKCB002", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã cơ sở nơi đăng ký/chuyển KHÔNG có trong danh mục CSKCB toàn quốc", "meaning": "MA_DKBD/MA_NOI_DI/MA_NOI_DEN ở XML1 không có trong danh mục cơ sở KCB toàn quốc do BHXH công bố — khác CSKCB001 (kiểm KHUÔN 05 ký tự của MA_CSKCB_DI/MA_CSKCB_DEN ở XML13 giấy chuyển tuyến).", "trigger": "Tra MA_DKBD (sau khi loại mã thẻ tạm dạng \"<02 ký tự tỉnh>000\")/MA_NOI_DI/MA_NOI_DEN trong MA_CSKCB_DM (hợp từ danh mục CSKCB toàn quốc + 2 nguồn cũ); không có dòng nào.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu MA_DKBD: “Ghi mã cơ sở KBCB nơi người bệnh đăng ký ban đầu ghi trên thẻ BHYT”; chỉ tiêu MA_NOI_DI: “Ghi mã cơ sở KBCB nơi chuyển người bệnh do cơ quan có thẩm quyền cấp”; chỉ tiêu MA_NOI_DEN: “Ghi mã cơ sở KBCB nơi chuyển người bệnh đến do cơ quan có thẩm quyền cấp”.", "sample": "<MA_DKBD>='99999' KHÔNG có trong danh mục cơ sở khám chữa bệnh toàn quốc do BHXH công bố.", "action": "Kiểm tra lại mã cơ sở đã khai; nếu là cơ sở mới, xác nhận đã được BHXH cấp mã trước khi gửi."}, {"code": "ICD001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã bệnh chính thuộc danh mục BHXH đánh dấu KHÔNG chi trả BHYT", "meaning": "MA_BENH_CHINH thuộc mã ICD mà chính danh mục vận hành của BHXH đánh dấu \"Không BH\" (ngoài phạm vi chi trả quỹ BHYT) tại thời điểm NGAY_VAO của hồ sơ — không phải suy diễn từ tên cột, mà đọc thẳng cờ vận hành BHXH đã công bố.", "trigger": "Tra MA_BENH_CHINH trong ICD_KHONG_BH.csv (nguồn: danh mục ICD cổng giám định, cột Không BH=Có + Hiệu lực=Có); còn hiệu lực tại NGAY_VAO của hồ sơ (mỗi mã có tu_ngay/den_ngay riêng).", "basis": "Luật BHYT Điều 23, nguyên văn theo VBHN 40/VBHN-VPQH ngày 16/3/2026 (gốc Luật 51/2024/QH15) — khoản 1: “Chi phí trong trường hợp quy định tại khoản 1 Điều 21 đã được ngân sách nhà nước chi trả” (áp cho U07.1/U07.2, giai đoạn ngân sách nhà nước chi trả điều trị COVID-19, 14/01/2022-30/06/2026); khoản 11: “Khám bệnh, chữa bệnh nghiện ma túy, nghiện rượu hoặc chất gây nghiện khác” (áp cho Z50.2/Z50.3/Z72.1/Z72.2 từ 01/7/2026).", "sample": "<MA_BENH_CHINH>=U07.1 thuộc danh mục BHXH đánh dấu KHÔNG THUỘC PHẠM VI THANH TOÁN BHYT.", "action": "Đối chiếu lại chẩn đoán chính; nếu đúng là chẩn đoán này thì chi phí không thuộc phạm vi quỹ BHYT chi trả theo Điều 23 Luật BHYT."}, {"code": "XT009", "severity": "CHAN", "layer": "XML", "title": "Ngày ra viện nằm ở tương lai", "meaning": "NGAY_RA của lượt KCB muộn hơn thời điểm chấm hồ sơ.", "trigger": "NGAY_RA lớn hơn thời điểm hiện tại.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 36 NGAY_RA — “Ghi thời điểm người bệnh kết thúc điều trị nội trú, kết thúc điều trị nội trú ban ngày, kết thúc điều trị ngoại trú hoặc kết thúc khám bệnh, gồm 12 ký tự theo định dạng yyyymmddHHMM.”; không thể là thời điểm chưa xảy ra.", "sample": "<NGAY_RA> = 202712310800 nằm ở TƯƠNG LAI so với thời điểm chấm.", "action": "Ghi lại NGAY_RA đúng thời điểm kết thúc điều trị."}, {"code": "CDHA001", "severity": "CHAN", "layer": "DVKT", "title": "Chẩn đoán hình ảnh làm nhanh hơn thời gian tối thiểu", "meaning": "Dịch vụ chẩn đoán hình ảnh có khoảng cách NGAY_TH_YL -> NGAY_KQ ngắn hơn thời gian thực hiện của chính quy trình kỹ thuật đó.", "trigger": "Tra MA_DICH_VU trong bảng thời gian tối thiểu dựng từ QĐ2775; hiệu NGAY_KQ - NGAY_TH_YL nhỏ hơn mốc đó.", "basis": "Bảng mốc dựng từ BẢY tài liệu Hướng dẫn quy trình kỹ thuật của Bộ Y tế — QĐ2775/QĐ-BYT 29/8/2025 (chẩn đoán hình ảnh, 319 kỹ thuật), QĐ3675 và QĐ3676/QĐ-BYT 28/11/2025 (Tuần hoàn Tập 1.1 và 2.1, 95+104), QĐ2643/QĐ-BYT 20/8/2025 (Vi sinh Tập 2, 29), QĐ2644/QĐ-BYT 2025 (Hoá trị Tập 1, 19), QĐ5737/QĐ-BYT 2017 (PHCN đợt 2, 7), QĐ3449/QĐ-BYT 2018 (Tạo hình thẩm mỹ, 5). QĐ2775/QĐ-BYT ngày 29/8/2025 ban hành “Hướng dẫn quy trình kỹ thuật về chẩn đoán hình ảnh thuộc chương Điện quang” — mỗi quy trình ghi rõ mục “Thời gian thực hiện” (ví dụ khoảng 6 - 12 phút, khoảng 30 phút).", "sample": "2 dịch vụ chẩn đoán hình ảnh có <NGAY_KQ> cách <NGAY_TH_YL> NHANH HƠN thời gian tối thiểu của chính quy trình kỹ thuật đó.", "action": "Đối chiếu sổ máy và phiếu kết quả, ghi lại đúng thời điểm thực hiện và có kết quả."}, {"code": "DVHC001", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã tỉnh cư trú ngoài danh mục", "meaning": "MATINH_CU_TRU không có trong danh mục đơn vị hành chính cấp tỉnh.", "trigger": "Giá trị 2 ký tự cuối của MATINH_CU_TRU không có trong danh mục tỉnh.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu 12 MATINH_CU_TRU: “Ghi theo 02 ký tự cuối của mã đơn vị hành chính của tỉnh, thành phố trực thuộc Trung ương nơi người bệnh cư trú”; chỉ tiêu 13 và 14 ghi mã huyện, mã xã “theo Quyết định số 124/2004/QĐ-TTg”.", "sample": "<MATINH_CU_TRU> = 99 KHÔNG có trong danh mục đơn vị hành chính cấp tỉnh.", "action": "Ghi lại mã tỉnh nơi cư trú theo danh mục đơn vị hành chính."}, {"code": "DVHC002", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã huyện cư trú ngoài danh mục đơn vị hành chính", "meaning": "MAHUYEN_CU_TRU không có trong danh mục đơn vị hành chính cấp huyện hiện hành.", "trigger": "Giá trị MAHUYEN_CU_TRU không có trong danh mục huyện (QĐ124/2004/QĐ-TTg và các quyết định sáp nhập kế tiếp). KHÔNG đối chiếu với MATINH_CU_TRU — huyện có tồn tại trong danh mục hay không là việc độc lập với tỉnh đã khai (bỏ phép khớp chuỗi cha-con 24/8/2026, xem ghi chú DVHC001).", "basis": "QĐ3176/QĐ-BYT Bảng 1 chỉ tiêu 14 MAHUYEN_CU_TRU: ghi mã huyện “theo Quyết định số 124/2004/QĐ-TTg”.", "sample": "<MAHUYEN_CU_TRU> = 080 KHÔNG có trong danh mục đơn vị hành chính cấp huyện.", "action": "Tra và ghi lại đúng mã huyện có trong danh mục đơn vị hành chính (QĐ124/2004/QĐ-TTg)."}, {"code": "DVHC003", "severity": "CHAN", "layer": "DANHMUC", "title": "Mã xã cư trú ngoài danh mục đơn vị hành chính", "meaning": "MAXA_CU_TRU không có trong danh mục đơn vị hành chính cấp xã hiện hành.", "trigger": "Giá trị MAXA_CU_TRU không có trong danh mục xã (QĐ124/2004/QĐ-TTg và các quyết định sáp nhập kế tiếp). KHÔNG đối chiếu với MAHUYEN_CU_TRU — cùng lý do như DVHC002.", "basis": "QĐ3176/QĐ-BYT Bảng 1 chỉ tiêu 15 MAXA_CU_TRU: ghi mã xã “theo Quyết định số 124/2004/QĐ-TTg”.", "sample": "<MAXA_CU_TRU> = 00118 KHÔNG có trong danh mục đơn vị hành chính cấp xã.", "action": "Tra và ghi lại đúng mã xã có trong danh mục đơn vị hành chính (QĐ124/2004/QĐ-TTg)."}, {"code": "G2001B", "severity": "CHAN", "layer": "GOP", "title": "Ngày giường khai thiếu so với mức TT39", "meaning": "SO_LUONG ngày giường ít hơn số ngày tính theo TT39 từ chính ngày vào - ngày ra đã khai.", "trigger": "SO_LUONG nguyên và nhỏ hơn mức TT39 từ trọn 01 ngày trở lên (đã trừ các trường hợp 1/2 - 1/3 ngày).", "basis": "TT39/2024/TT-BYT Điều 4c khoản 1 điểm a “Số ngày điều trị nội trú bằng ngày ra viện trừ (-) ngày vào viện cộng (+) 1”, điểm b các trường hợp còn lại lấy ngày ra trừ ngày vào; khoản 2 và khoản 4b cho phép khai 1/2 - 1/3 ngày.", "sample": "<SO_LUONG> ngày giường khai 3 ngày, THIẾU so với mức TT39/2024/TT-BYT Điều 4c khoản 1 (5 ngày).", "action": "Đối chiếu bệnh án; nếu nằm đủ ngày thì khai lại đủ số ngày giường."}, {"code": "XML016", "severity": "CHAN", "layer": "XML", "title": "Hồ sơ không có dòng thuốc lẫn dịch vụ kỹ thuật", "meaning": "Hồ sơ đề nghị thanh toán nhưng không có bảng chi tiết chi phí nào.", "trigger": "Không có phần tử CHI_TIET_THUOC lẫn CHI_TIET_DVKT.", "basis": "QĐ130/QĐ-BYT — Bảng 2 (thuốc) và Bảng 3 (DVKT/VTYT) của hồ sơ đề nghị thanh toán. QĐ130/QĐ-BYT Điều 1, nguyên văn: “Ban hành kèm theo Quyết định này quy định chuẩn và định dạng dữ liệu đầu ra phục vụ việc quản lý, giám định, thanh toán chi phí khám bệnh, chữa bệnh và giải quyết các chế độ liên quan”.", "sample": "Hồ sơ KHÔNG có dòng thuốc lẫn dịch vụ kỹ thuật nào — thiếu bảng chi tiết.", "action": "Bổ sung bảng chi tiết chi phí, hoặc kiểm lại việc kết xuất từ HIS."}, {"code": "TIEN003", "severity": "CHAN", "layer": "TIEN", "title": "Chi phí BHYT vượt trần thanh toán của dòng", "meaning": "Phần chi phí đề nghị quỹ chi trả lớn hơn mức trần thanh toán của chính dòng đó.", "trigger": "THANH_TIEN_BH > T_TRANTT của dòng.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 21 T_TRANTT: “Ghi mức thanh toán đối đa (45 tháng lương cơ sở) của gói VTYT trong một lần thực hiện DVKT theo quy định tại Thông tư 04/2017/TT-BYT của Bộ Y tế. Trường hợp không có trần thanh toán thì để trống trường thông tin này.” Có khai trần thì phần quỹ BHYT trả không được vượt trần đó.", "sample": "VTYT STT 2 (Stent): chi phí BH 56,000,000đ VƯỢT TRẦN thanh toán 40,000,000đ.", "action": "Khai phần vượt sang chi phí người bệnh tự trả, giữ phần BH trong trần."}, {"code": "DD001", "severity": "CHAN", "layer": "K1", "title": "Đường dùng không khớp dạng bào chế của thuốc", "meaning": "Mã đường dùng khai trên dòng thuốc không phù hợp với dạng bào chế của chính thuốc đó.", "trigger": "Nhóm mã DUONG_DUNG (1 uống, 2 tiêm/truyền, 3 bôi…) khác nhóm suy ra từ dạng bào chế.", "basis": "QĐ130/QĐ-BYT Bảng 2 chỉ tiêu DUONG_DUNG; danh mục thuốc TT20/2022 (cột dạng bào chế). QĐ130/QĐ-BYT chỉ tiêu DUONG_DUNG, nguyên văn: “Ghi mã đường dùng tương ứng với đường dùng của thuốc theo”.", "sample": "thuốc STT 1 (Ceftriaxon bột pha tiêm): đường dùng '1.01' (uống) KHÔNG khớp dạng bào chế.", "action": "Sửa mã đường dùng cho đúng dạng bào chế thực dùng."}, {"code": "K1009", "severity": "CHAN", "layer": "K1", "title": "Tỷ lệ thanh toán khác mức quy định tại Phụ lục I TT20", "meaning": "Dòng thuốc khai tỷ lệ BHYT thanh toán khác mức mà Phụ lục I TT20/2022 quy định cho hoạt chất.", "trigger": "TYLE_TT_BH khai > tỷ lệ quy định của hoạt chất trong TT20 Phụ lục I (cột 8).", "basis": "TT20/2022/TT-BYT Phụ lục I cột 8 (Điều 2 điểm d); TT37/2024 Điều 20.4 chỉ bãi bỏ Điều 3–6 TT20. QĐ130/QĐ-BYT chỉ tiêu TYLE_TT_BH, nguyên văn: “Ghi tỷ lệ thanh toán BHYT đối với thuốc có quy định tỷ lệ phần”.", "sample": "Thuốc Alteplase: khai tỷ lệ BHYT 100% nhưng Phụ lục I TT20 quy định 50% cho hoạt chất này.", "action": "Khai lại tỷ lệ đúng cột 8 Phụ lục I; nếu đúng biến thể khác thì bổ sung căn cứ."}, {"code": "K6011", "severity": "CHAN", "layer": "K6", "title": "Dịch vụ kỹ thuật thiếu người thực hiện, hoặc MA_KHOA_RV ngoài danh mục", "meaning": "Một mã dùng cho HAI tình huống khác nhau, phân biệt bằng chính câu message: (1) dòng DVKT không khai NGUOI_THUC_HIEN lẫn MA_BAC_SI — cổng không đối chiếu được chứng chỉ hành nghề; (2) MA_KHOA_RV (khoa tổng kết hồ sơ bệnh án) không có trong danh mục mã khoa dùng chung.", "trigger": "(1) Có MA_DICH_VU nhưng cả NGUOI_THUC_HIEN và MA_BAC_SI đều trống (đã tra cả MA_BS_DOC_KQ ở XML4). (2) MA_KHOA_RV không có trong danh mục mã khoa dùng chung tại ngày KCB.", "basis": "QĐ130/QĐ-BYT Bảng 3 chỉ tiêu 34 NGUOI_THUC_HIEN, MA_BAC_SI (tình huống 1). QĐ130/QĐ-BYT chỉ tiêu MA_KHOA_RV, nguyên văn: “Ghi mã khoa nơi tổng kết hồ sơ bệnh án của người bệnh.” Trường này dùng chung danh mục mã khoa (Phụ lục 5 QĐ5937/Phụ lục 02 QĐ1804 tuỳ ngày KCB) như MA_KHOA (tình huống 2).", "sample": "Dịch vụ 01.0001 (Khám nội): thiếu NGƯỜI THỰC HIỆN và MA_BAC_SI.", "action": "Tình huống (1): bổ sung người thực hiện/mã bác sĩ đúng người đã thực hiện dịch vụ. Tình huống (2): tra và ghi lại đúng mã khoa có trong danh mục dùng chung cho MA_KHOA_RV."}, {"code": "K5018", "severity": "CHAN", "layer": "K5", "title": "MA_BENH trên dòng dịch vụ có mã ngoài danh mục ICD TT06", "meaning": "Trường MA_BENH của dòng DVKT là đa giá trị; có mã không thuộc danh mục ICD-10 TT06.", "trigger": "Một hoặc nhiều mã trong MA_BENH (tách bằng ';') không có trong danh mục TT06.", "basis": "TT06/2026/TT-BYT — danh mục mã bệnh ICD-10; QĐ130/QĐ-BYT Bảng 3 chỉ tiêu MA_BENH. QĐ130/QĐ-BYT chỉ tiêu MA_BENH, nguyên văn: “Ghi mã ICD10 của bệnh cần chỉ định DVKT bổ sung so với mã bệnh”.", "sample": "Dịch vụ 02.0010 (Siêu âm): MA_BENH có 1/3 mã KHÔNG có trong danh mục ICD TT06: ZZ99.", "action": "Sửa các mã sai về mã ICD-10 hợp lệ; giữ nguyên các mã đã đúng."}, {"code": "K9004", "severity": "GHICHU", "layer": "K9", "title": "Danh sách chênh giá bị rút gọn trong báo cáo", "meaning": "Hồ sơ có quá nhiều mã chênh giá; báo cáo chỉ liệt kê 30 mã đầu để giữ độ dài đọc được.", "trigger": "Số mã chênh giá trong một hồ sơ > 30.", "basis": "Ghi chú kỹ thuật của báo cáo — không phải kết luận nghiệp vụ.", "sample": "K9 giá: hồ sơ có 48 mã chênh giá, bảng dưới chỉ liệt kê 30 mã đầu.", "action": "Xuất báo cáo chi tiết theo hồ sơ nếu cần xem đủ danh sách."}, {"code": "SYS001", "severity": "GHICHU", "layer": "XML", "title": "Một lớp kiểm KHÔNG chạy được trên hồ sơ này", "meaning": "Một nhóm quy tắc gặp lỗi kỹ thuật nên không chạy — kết quả hồ sơ CHƯA phủ nhóm đó.", "trigger": "Lớp định mức/gộp theo người bệnh ném ngoại lệ khi xử lý file.", "basis": "Nguyên tắc báo cáo minh bạch: không im lặng bỏ qua một lớp kiểm.", "sample": "Không chạy được nhóm định mức/gộp trên file này: KeyError.", "action": "Gửi lại file hoặc báo nhà cung cấp; đừng coi hồ sơ là đã kiểm đủ mọi lớp."}, {"code": "K1010", "severity": "CHAN", "layer": "K1", "title": "Mã chi phí vận chuyển máu / bao bì sai cấu trúc QĐ3176", "meaning": "Mã VM./BB. phải ghi theo cấu trúc <VM|BB>.XXXXX với XXXXX là mã cơ sở KBCB 5 ký tự.", "trigger": "MA_THUOC bắt đầu bằng 'VM.' hoặc 'BB.' nhưng phần sau không đúng 5 ký tự mã cơ sở.", "basis": "QĐ3176/QĐ-BYT ngày 29/10/2024 Bảng 2, nguyên văn: “Chi phí vận chuyển máu: ghi VM.XXXXX, trong đó: ‘VM’ là ký hiệu của ‘vận chuyển’; ‘XXXXX’ là mã cơ sở KBCB nơi cung cấp máu; - Chi phí bao bì cho thuốc thang: ghi BB.XXXXX, trong đó: ‘BB’ là ký hiệu của từ ‘bao bì’; ‘XXXXX’ là mã cơ sở KBCB nơi đóng gói thuốc thang.”", "sample": "Mã VM.123: khai chi phí vận chuyển nhưng SAI cấu trúc — QĐ3176 quy định ghi VM.XXXXX.", "action": "Ghi lại mã theo đúng cấu trúc VM./BB. + mã cơ sở KBCB 5 ký tự."}, {"code": "K1011", "severity": "CHAN", "layer": "K1", "title": "Biến thể thuốc không thuộc danh sách TT20 được thanh toán", "meaning": "Điều kiện TT20 của hoạt chất này là một DANH SÁCH các biến thể được quỹ chi trả (vd “thanh toán: Ringer lactat; Ringer acetat; Ringerfundin”). Hoạt chất trên dòng chi không nằm trong danh sách đó nên phần chi này bị quỹ từ chối — TT20 liệt kê ĐÍCH DANH biến thể được trả nên đây là điều kiện cứng. Chỉ kết luận khi tên hoạt chất tra ĐƯỢC THEO MÃ trong Bộ mã dùng chung; tên biệt dược trên hoá đơn chỉ dùng để xác nhận khớp, không bao giờ dùng để tuyên vi phạm.", "trigger": "Câu điều kiện TT20 có dạng “Quỹ BHYT thanh toán: A; B; C” và tên hoạt chất của mã trên dòng chi không khớp mục nào trong danh sách.", "action": "Đối chiếu lại biến thể/dạng dùng thực tế; nếu đúng là biến thể ngoài danh sách thì chuyển chi phí ra ngoài BHYT.", "basis": "TT20/2022/TT-BYT Phụ lục I cột 8 (Điều 2 điểm d: cột 8 ghi điều kiện, tỷ lệ thanh toán). TT20/2022/TT-BYT Điều 2 khoản 1 điểm đ, nguyên văn: “Cột 8: Ghi điều kiện, tỷ lệ thanh toán và ghi chú cụ thể của một số thuốc”.", "sample": "[K1011] Điều kiện TT20 CHƯA thoả: quỹ BHYT chỉ thanh toán các biến thể “Ringer lactat; Ringer acetat; Ringerfundin” — hoạt chất trên dòng chi KHÔNG thuộc danh sách đó."}, {"code": "K1012", "severity": "CHAN", "layer": "K1", "title": "Mã vật tư y tế ngoài Phụ lục 01 TT04/2017", "meaning": "Mã nhóm của vật tư (3 đoạn đầu của MA_VAT_TU) không có trong danh mục VTYT thuộc phạm vi được hưởng BHYT. Mã nhóm sai thì không xác định được tỷ lệ và mức trần thanh toán.", "trigger": "Mã nhóm tách từ MA_VAT_TU không thuộc 393 mã nhóm của Phụ lục 01 TT04/2017 (hợp nhất TT24/2025).", "action": "Khai lại mã vật tư theo danh mục Phụ lục 01 TT04/2017/TT-BYT.", "basis": "Phụ lục 01 TT04/2017/TT-BYT ngày 14/4/2017, sửa đổi bổ sung bởi TT24/2025/TT-BYT (hiệu lực 01/9/2025). TT04/2017/TT-BYT Điều 1 khoản 1, nguyên văn: “Danh mục vật tư y tế thuộc phạm vi được hưởng của người tham gia bảo hiểm y tế được quy định tại Phụ lục 01 ban hành kèm theo Thông tư này”.", "sample": "[K1012] Mã vật tư y tế \"Z99.99.999\" có mã nhóm \"Z99.99.999\" KHÔNG thuộc Phụ lục 01 TT04/2017."}, {"code": "K1013", "severity": "CHAN", "layer": "K1", "title": "Mã phương pháp chế biến vị thuốc cổ truyền không hợp lệ", "meaning": "MA_PP_CHEBIEN phải lấy từ danh mục mã phương pháp chế biến vị thuốc cổ truyền.", "trigger": "Giá trị MA_PP_CHEBIEN không thuộc 17 mã của Phụ lục 3 QĐ824.", "action": "Khai lại theo Phụ lục 3 QĐ824 (SC0–SC6 sơ chế, PC1–PC5 phức chế…).", "basis": "Phụ lục 3 QĐ824/QĐ-BYT ngày 15/02/2023 — Danh mục mã phương pháp chế biến vị thuốc cổ truyền. QĐ130/QĐ-BYT Bảng chỉ tiêu, chỉ tiêu MA_PP_CHEBIEN, nguyên văn: “Ghi mã phương pháp chế biến vị thuốc cổ truyền theo Bộ mã DMDC do Bộ trưởng Bộ Y tế ban hành”.", "sample": "[K1013] MA_PP_CHEBIEN=\"ZZ\" không có trong Phụ lục 3 QĐ824/QĐ-BYT."}, {"code": "K1014", "severity": "GHICHU", "layer": "K1", "title": "Kháng sinh dự trữ — cần phê duyệt theo quy chế bệnh viện", "meaning": "Thuốc thuộc Nhóm 1 (kháng sinh dự trữ) của Danh mục kháng sinh ưu tiên quản lý. Theo tài liệu hướng dẫn của Bộ Y tế, nhóm này cần được phê duyệt trước khi sử dụng theo quy chế của chính bệnh viện.", "trigger": "Hoạt chất trên dòng thuốc thuộc Nhóm 1 Phụ lục 2 QĐ5631 (37 hoạt chất, gồm Vancomycin, Aciclovir, Colistin, Meropenem, Micafungin…).", "action": "Lưu phiếu yêu cầu/phê duyệt sử dụng kháng sinh theo quy chế đơn vị (mẫu Phụ lục 4 QĐ5631).", "basis": "QĐ5631/QĐ-BYT ngày 31/12/2020 Phụ lục 2. ⚠️ Điều 2: “Căn cứ vào tài liệu này và điều kiện cụ thể của đơn vị, Giám đốc bệnh viện tổ chức triển khai thực hiện tại đơn vị” — là TÀI LIỆU CHUYÊN MÔN, KHÔNG phải căn cứ xuất toán, nên mã này chỉ ở mức GHI CHÚ.", "sample": "[K1014] Thuốc Vancomycin thuộc nhóm KHÁNG SINH DỰ TRỮ (Nhóm 1, Phụ lục 2 QĐ5631)."}, {"code": "K5019", "severity": "GHICHU", "layer": "K5", "title": "Mã ICD theo văn bản TRƯỚC TT06/2026 — vẫn có giá trị pháp lý", "meaning": "Mã bệnh ghi theo danh mục cũ; hồ sơ lập trước 01/7/2026 vẫn hợp lệ, chỉ cần biết mã thay thế.", "trigger": "Mã bệnh chính nằm trong bảng ánh xạ mã cũ → mã mới, ngày KCB trước 01/7/2026.", "basis": "TT06/2026/TT-BYT Điều 6 khoản 3 (công nhận mã ghi theo văn bản cũ); QĐ1978/QĐ-BYT (mã thay thế).", "sample": "Chẩn đoán: U51.631.2: là mã ICD-10 theo văn bản TRƯỚC TT06/2026 — vẫn có giá trị pháp lý.", "action": "Không cần sửa với hồ sơ cũ; hồ sơ từ 01/7/2026 dùng mã mới theo QĐ1978."}, {"code": "K5020", "severity": "CHAN", "layer": "K5", "title": "Mã con không có trong danh mục ICD hiệu lực tại ngày KCB", "meaning": "Mã bệnh chi tiết (mã con) không thuộc danh mục ICD-10 đang có hiệu lực — thường là mã phiên bản cũ đã đổi.", "trigger": "Mã bệnh chính không có trong danh mục hiệu lực nhưng nhóm 3 ký tự thì có.", "basis": "TT06/2026/TT-BYT (từ 01/7/2026) hoặc QĐ4469/QĐ-BYT (trước đó) — danh mục ICD-10 áp cho ngày KCB. TT06/2026/TT-BYT Điều 3, nguyên văn: “Ban hành Danh mục mã bệnh tật, nguyên nhân tử vong (sau đây gọi chung là mã bệnh) theo ICD-10 quy định tại Phụ lục ban hành kèm theo Thông tư này”.", "sample": "Chẩn đoán: J18.10: mã con KHÔNG có trong danh mục ICD-10 TT06/2026 — có thể là mã phiên bản cũ đã đổi.", "action": "Chọn lại mã con đúng trong nhóm 3 ký tự tương ứng (engine có gợi ý danh sách mã con hiện có)."}, {"code": "K5021", "severity": "CHAN", "layer": "K5", "title": "Bệnh kèm theo có mã ngoài danh mục ICD TT06", "meaning": "Một hoặc nhiều mã ở MA_BENH_KT không có trong danh mục ICD hiện hành. Bệnh kèm là căn cứ đối chiếu điều kiện thanh toán thuốc (TT20 tra cả bệnh chính lẫn bệnh kèm) nên mã sai ở đây làm lệch kết luận thanh toán.", "trigger": "Mã trong MA_BENH_KT không thuộc danh mục ICD TT06 và cũng không thuộc bảng mã cũ→mới.", "action": "Sửa lại mã bệnh kèm theo danh mục ICD-10 TT06/2026/TT-BYT.", "basis": "TT06/2026/TT-BYT (danh mục ICD-10); QĐ130/QĐ-BYT Bảng 1 trường MA_BENH_KT. QĐ130/QĐ-BYT chỉ tiêu MA_BENH_KT, nguyên văn: “Ghi mã các bệnh kèm theo (theo mã ICD-10 do Bộ trưởng Bộ”.", "sample": "[K5021] Bệnh kèm theo ZZZ.9: KHÔNG có trong danh mục ICD TT06."}, {"code": "K5022", "severity": "CHAN", "layer": "K5", "title": "Mã bệnh chính đã bị TT06/2026 huỷ (hồ sơ kết thúc từ 01/7/2026)", "meaning": "Mã có trong danh mục ICD-10 cũ (QĐ4469/QĐ-BYT 28/10/2020) nhưng KHÔNG còn trong danh mục ban hành kèm TT06/2026/TT-BYT (584 mã). Từ 01/7/2026 cổng giám định đối chiếu theo TT06, mã bị huỷ không tra ra được.", "trigger": "MA_BENH_CHINH chỉ có ở QĐ4469, không có ở TT06 (kể cả khi bỏ dấu †/*), VÀ ngày KẾT THÚC lượt KCB (NGAY_RA, thiếu thì NGAY_VAO) >= 01/7/2026.", "action": "Chọn tên bệnh phù hợp nhất trong danh mục TT06/2026 để lấy mã tương ứng thay thế.", "basis": "TT06/2026/TT-BYT Điều 6 khoản 1 và khoản 2 (điều khoản chuyển tiếp); Điều 5 khoản 1  TT06/2026/TT-BYT Điều 6 khoản 1, nguyên văn: “Trường hợp các văn bản đã được Bộ trưởng Bộ Y tế ban hành trước ngày Thông tư này có hiệu lực mà có quy định về mã hoá bệnh khác với quy định của Thông tư này”.(hiệu lực 01/7/2026); QĐ4469/QĐ-BYT ngày 28/10/2020.", "sample": "[K5022] A90: mã thuộc QĐ4469 nhưng KHÔNG còn trong danh mục ICD-10 TT06/2026."}, {"code": "K6012", "severity": "CHAN", "deprecated": true, "layer": "K6", "title": "Mã DVKT nhận diện được nhưng SAI CHUẨN mã", "meaning": "Mã này không còn được phát. Việc đối chiếu mã dịch vụ kỹ thuật với danh mục QĐ2010/QĐ-BYT nay được báo dưới mã K6001. Giữ mã K6012 để tra cứu các báo cáo cũ.", "trigger": "Tra danh mục cho kết quả SAI_CHUAN_MA (mã nội bộ/mã cũ tương ứng một mã chuẩn khác).", "basis": "QĐ2010/QĐ-BYT (danh mục DVKT dùng chung) — Điều 5 về chuyển đổi mã; TT48/2017/TT-BYT Điều 4. QĐ2010/QĐ-BYT Điều 5, nguyên văn: “Các danh mục mã dùng chung ban hành kèm theo Quyết định này là cơ sở dữ liệu đầu vào sử dụng để thực hiện trích chuyển dữ liệu điện tử giữa cơ sở khám bệnh, chữa bệnh với cơ quan bảo hiểm xã hội”.", "sample": "mã 01.0001.0001 nhận diện được nhưng SAI CHUẨN mã — phải sửa sang mã QĐ2010 tương ứng.", "action": "Đổi sang đúng mã chuẩn QĐ2010 mà engine nêu trong thông báo rồi gửi lại."}, {"code": "K6014", "severity": "CHAN", "layer": "K6", "title": "Mã nhiên liệu không có trong danh mục QĐ3276", "meaning": "MA_XANG_DAU dùng cho chi phí vận chuyển người bệnh phải lấy từ Danh mục mã nhiên liệu. Mã sai thì không xác định được đơn giá nhiên liệu để tính chi phí vận chuyển.", "trigger": "Giá trị MA_XANG_DAU không thuộc 15 mã của Phụ lục 2 QĐ3276.", "action": "Khai lại theo Phụ lục 2 QĐ3276 (R954V1/V2, R953V1/V2, E922V1/V2, D1S5V1/V2, D5S2V1/V2, R955V1/V2, E10V1/V2, XEDIEN).", "basis": "QĐ3276/QĐ-BYT ngày 17/10/2025 Phụ lục 2 — Danh mục mã nhiên liệu; Điều 2 bãi bỏ Phụ lục 5  QĐ130/QĐ-BYT chỉ tiêu MA_XANG_DAU, nguyên văn: “Ghi mã loại xăng, dầu để tính chi phí vận chuyển người bệnh, ghi”.QĐ824/QĐ-BYT. Thanh toán chi phí vận chuyển theo Điều 14 NĐ188/2025/NĐ-CP.", "sample": "[K6014] MA_XANG_DAU=\"ZZZZ\" không có trong Danh mục mã nhiên liệu."}, {"code": "K6013", "severity": "CHAN", "deprecated": true, "layer": "K6", "title": "Mã giường không có trong danh mục mã tiền giường (mã cũ — không còn phát)", "meaning": "Mã này không còn được phát. <MA_GIUONG> chứa định danh giường nội bộ của cơ sở, không phải mã tiền giường theo danh mục QĐ2010/QĐ-BYT Phụ lục 3 và 4, nên không đối chiếu với danh mục đó. Mã tiền giường được đối chiếu ở <MA_DICH_VU> của chính dòng đó. Giữ mã K6013 để tra cứu các báo cáo cũ.", "trigger": "Giá trị MA_GIUONG không thuộc 285 mã của Phụ lục 3 và 4 QĐ2010. (KHÔNG tự phát — xem đối chiếu MA_DICH_VU.)", "action": "Khai lại mã giường theo Phụ lục 3 (giường nội trú) hoặc Phụ lục 4 (giường ban ngày) QĐ2010.", "basis": "QĐ2010/QĐ-BYT ngày 19/6/2025 Phụ lục 3 (mã tiền giường) và Phụ lục 4 (mã tiền ngày giường ban ngày).", "sample": "[K6013] MA_GIUONG=\"ZZZZ\" không có trong danh mục mã tiền giường."}, {"code": "CT001", "severity": "GHICHU", "layer": "XML", "title": "Đã đọc chứng từ kèm theo trong file XML", "meaning": "Liệt kê các bảng chứng từ có trong chính file (diễn biến lâm sàng, kết quả cận lâm sàng, giấy ra viện, tóm tắt bệnh án, giấy hẹn khám lại, giấy chuyển tuyến, giấy chứng sinh, hồ sơ HIV/lao) — để cơ sở biết engine ĐÃ tính đến các chứng từ này.", "trigger": "File có ít nhất một bảng XML4–XML15.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 — Bảng 4 đến Bảng 15; QĐ4750/QĐ-BYT ngày 29/12/2023.", "sample": "ĐÃ ĐỌC CHỨNG TỪ KÈM THEO trong file — diễn biến lâm sàng (XML5): 12 bản ghi, 24 trường có dữ liệu · …", "action": "Không cần xử lý. Đây là xác nhận phạm vi dữ liệu engine đã đọc."}, {"code": "CT002", "severity": "CHAN", "layer": "XML", "title": "Thời điểm diễn biến lâm sàng ngoài đợt điều trị", "meaning": "Mốc THOI_DIEM_DBLS ở bảng diễn biến lâm sàng nằm ngoài khoảng vào viện – ra viện của XML1.", "trigger": "THOI_DIEM_DBLS < NGAY_VAO hoặc > NGAY_RA.", "basis": "QĐ130/QĐ-BYT — Bảng 5 chỉ tiêu THOI_DIEM_DBLS; Bảng 1 chỉ tiêu NGAY_VAO, NGAY_RA. QĐ130/QĐ-BYT Bảng chỉ tiêu, chỉ tiêu THOI_DIEM_DBLS, nguyên văn: “Ghi thời điểm diễn biến lâm sàng, gồm 12 ký tự, theo cấu trúc: yyyymmddHHMM”.", "sample": "2 mốc DIỄN BIẾN LÂM SÀNG nằm NGOÀI đợt điều trị 05/04–08/04 (vd 20250401).", "action": "Sửa mốc diễn biến lâm sàng hoặc mốc vào/ra cho khớp nhau."}, {"code": "CT003", "severity": "CHAN", "layer": "XML", "title": "Ngày hẹn khám lại trước ngày ra viện", "meaning": "Giấy hẹn khám lại ghi ngày hẹn sớm hơn ngày kết thúc đợt điều trị.", "trigger": "NGAY_HEN_KL < NGAY_RA.", "basis": "QĐ3176/QĐ-BYT — Bảng 14 (giấy hẹn khám lại), chỉ tiêu NGAY_HEN_KL.", "sample": "Giấy hẹn khám lại số 123: ngày hẹn 01/04/2025 TRƯỚC ngày ra viện.", "action": "Khai lại ngày hẹn khám lại đúng lịch hẹn thực tế sau khi ra viện."}, {"code": "CT004", "severity": "GHICHU", "layer": "XML", "title": "Có phẫu thuật ở diễn biến lâm sàng nhưng thiếu mã ICD-9-CM", "meaning": "Bảng diễn biến lâm sàng ghi nhận phẫu thuật, nhưng XML1 để trống MA_PTTT_QT.", "trigger": "CHI_TIET_DIEN_BIEN_BENH có PHAU_THUAT mà TONG_HOP không có MA_PTTT_QT.", "basis": "QĐ130/QĐ-BYT — Bảng 5 chỉ tiêu PHAU_THUAT, Bảng 1 chỉ tiêu MA_PTTT_QT; QĐ387/QĐ-BYT (ICD-9-CM); NĐ188/2025.", "sample": "Bảng diễn biến lâm sàng (XML5) CÓ ghi PHẪU THUẬT nhưng XML1 để trống MA_PTTT_QT.", "action": "Khai MA_PTTT_QT theo bảng ICD-9-CM QĐ387 cho ca phẫu thuật."}, {"code": "CT005", "severity": "CHAN", "layer": "XML", "title": "Giấy ra viện ký trước ngày ra viện", "meaning": "Ngày ký giấy ra viện (XML7) sớm hơn ngày kết thúc đợt điều trị ở XML1.", "trigger": "NGAY_CT của bảng giấy ra viện < NGAY_RA.", "basis": "QĐ130/QĐ-BYT — Bảng 7 chỉ tiêu NGAY_CT; Bảng 1 chỉ tiêu NGAY_RA. QĐ130/QĐ-BYT chỉ tiêu NGAY_CT, nguyên văn: “Ghi ngày chứng từ (Giấy ra viện), theo định dạng”.", "sample": "Giấy ra viện (XML7) ký ngày 03/04/2025 — TRƯỚC ngày ra viện 05/04/2025.", "action": "Khai lại ngày ký chứng từ đúng thời điểm thực tế."}, {"code": "CT006", "severity": "GHICHU", "layer": "XML", "title": "Giấy ra viện không khai người ký", "meaning": "Bảng giấy ra viện để trống cả MA_BS và TEN_BS.", "trigger": "XML7 có bản ghi nhưng MA_BS và TEN_BS đều rỗng.", "basis": "QĐ130/QĐ-BYT — Bảng 7, chỉ tiêu MA_BS, TEN_BS.", "sample": "Giấy ra viện (XML7) KHÔNG khai người ký (MA_BS/TEN_BS).", "action": "Bổ sung mã/tên bác sĩ ký giấy ra viện."}, {"code": "CT007", "severity": "GHICHU", "layer": "XML", "title": "Hồ sơ có giấy chuyển tuyến kèm theo", "meaning": "Ghi nhận hồ sơ ĐÃ đính kèm giấy chuyển tuyến — engine dùng làm căn cứ khi đối chiếu mức hưởng, không yêu cầu cơ sở bổ sung chứng từ này nữa.", "trigger": "File có bảng CHI_TIEU_GIAYCHUYENTUYEN (XML9).", "basis": "QĐ130/QĐ-BYT — Bảng 13 (giấy chuyển tuyến); TT01/2025/TT-BYT về chuyển cơ sở KCB.", "sample": "Hồ sơ CÓ giấy chuyển tuyến kèm theo (XML9): số 123, lý do mã 1, nơi chuyển 10061→10999.", "action": "Không cần xử lý."}, {"code": "CT008", "severity": "GHICHU", "layer": "XML", "title": "Hồ sơ có bảng điều trị HIV/AIDS kèm theo", "meaning": "Ghi nhận hồ sơ đã đính kèm bảng chăm sóc/điều trị HIV/AIDS (XML6) — đã đọc, không yêu cầu bổ sung.", "trigger": "File có bảng HO_SO_BENH_AN_CHAM_SOC_VA_DIEU_TRI_HIV_AIDS.", "basis": "QĐ130/QĐ-BYT — Bảng 6 (hồ sơ bệnh án chăm sóc và điều trị HIV/AIDS).", "sample": "Hồ sơ CÓ bảng chăm sóc/điều trị HIV/AIDS (XML6): ngày khẳng định 20240101, bắt đầu ARV 20240115.", "action": "Không cần xử lý."}, {"code": "CT009", "severity": "GHICHU", "layer": "XML", "title": "Ca sinh đẻ nhưng thiếu bảng giấy chứng sinh", "meaning": "Chẩn đoán thuộc nhóm sinh đẻ mà file không có bảng giấy chứng sinh (XML14).", "trigger": "Mã ICD thuộc O80–O84/Z37/Z38 và không có CHI_TIET_DU_LIEU_GIAY_CHUNG_SINH.", "basis": "QĐ130/QĐ-BYT — Bảng 9 (dữ liệu giấy chứng sinh).", "sample": "Chẩn đoán thuộc nhóm SINH ĐẺ (O80–O84/Z37/Z38) nhưng hồ sơ KHÔNG có bảng giấy chứng sinh (XML14).", "action": "Bổ sung bảng XML14 nếu ca này có cấp giấy chứng sinh."}, {"code": "THE002", "severity": "GHICHU", "layer": "K3", "title": "Kỳ hạn thẻ khai không phủ ngày vào viện", "meaning": "GT_THE_TU (thời điểm thẻ BHYT bắt đầu có giá trị) khai muộn hơn NGAY_VAO. Thường do bản xuất của HIS ghi thẻ HIỆN TẠI thay vì thẻ có hiệu lực tại thời điểm người bệnh đến khám.", "basis": "QĐ130/QĐ-BYT Bảng 1 chỉ tiêu GT_THE_TU là quy định GHI DỮ LIỆU, KHÔNG phải điều cấm thanh toán. Chưa đủ căn cứ tuyên xuất toán từ một mình file XML.", "sample": "Hồ sơ khai thẻ BHYT có giá trị sử dụng TỪ 25/09/2025, không phủ ngày vào viện 23/09/2025.", "action": "Đối chiếu kỳ hạn thẻ tại thời điểm KCB trên cổng BHXH nếu bản xuất HIS ghi thẻ hiện tại."}, {"code": "K8005", "severity": "GHICHU", "layer": "K8", "title": "Thuốc khai nhiều dòng giống hệt cùng thời điểm y lệnh", "meaning": "Cùng một thuốc xuất hiện trên nhiều dòng GIỐNG HỆT nhau (cùng số lượng, liều dùng, thành tiền) tại cùng thời điểm y lệnh — ĐẠT: khai theo đơn vị đóng gói (chai/lọ) là cách khai chuẩn, không văn bản nào cấm.", "trigger": "≥2 dòng XML2 cùng MA_THUOC + cùng NGAY_YL + cùng SO_LUONG + cùng THANH_TIEN.", "basis": "QĐ130/QĐ-BYT ngày 18/01/2023 — Bảng 2: mỗi dòng là một y lệnh riêng.", "sample": "Thuốc khai nhiều dòng: 3 thuốc có NHIỀU DÒNG cùng thời điểm y lệnh — các dòng giống hệt nhau.", "action": "Đối chiếu bệnh án: nếu là một y lệnh thì gộp thành một dòng; nếu khác lô/nguồn cấp thì ghi rõ."}, {"code": "K8006", "severity": "GHICHU", "layer": "K8", "title": "Tổng số lượng thuốc không khớp liều dùng ghi trong hồ sơ", "meaning": "Cùng một thuốc khai nhiều dòng giống hệt tại cùng thời điểm y lệnh, NHƯNG liều dùng ghi trên chính dòng đó chỉ đủ cho MỘT dòng — các dòng còn lại là chi phí thừa.", "trigger": "≥2 dòng XML2 giống hệt (mã, giờ y lệnh, số lượng, liều dùng, thành tiền) và SO_LUONG × số dòng > tổng số đơn vị tính từ LIEU_DUNG, trong khi SO_LUONG của MỘT dòng thì khớp đúng.", "action": "Rà lại: nếu đúng là dòng thừa thì xoá; nếu đã dùng đủ số lượng thì sửa LIEU_DUNG cho khớp.", "basis": "KHÔNG có điều khoản nào buộc SO_LUONG khớp chuỗi LIEU_DUNG — QĐ130 chỉ ràng buộc THANH_TIEN_BH = SO_LUONG × DON_GIA × tỷ lệ. Vì vậy mã này CHỈ NÊU điểm không nhất quán để cơ sở tự rà, KHÔNG kết luận vi phạm và cổng BHXH không tự động từ chối vì lý do này.", "sample": "[K8006] Thuốc khai THỪA DÒNG: 40.1021 khai 2 dòng × 1 nhưng liều ghi 1 (thừa 1 dòng)."}], "total": 309, "traceId": "trc_b7e9259192c4"}