Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "BHYT" các nội dung bạn quan tâm.

Bài 1.20. XML3 — Mã dịch vụ, mã vật tư, mã nhóm và quan hệ giữa dịch vụ với vật tư sử dụng

XML

Trong XML3, một trong những điểm dễ nhầm nhất là quan hệ giữa dịch vụ kỹ thuật và vật tư y tế. Một dòng có thể chỉ phản ánh dịch vụ, chỉ phản ánh vật tư, hoặc phản ánh vật tư được sử dụng trong một dịch vụ cụ thể.

Vì vậy, trước khi kiểm tra giá và thanh toán, cần trả lời đúng ba câu hỏi:

Đây là dịch vụ gì?
Có vật tư nào được thanh toán riêng đi kèm hay không?
Dòng chi phí này thuộc nhóm chi phí nào?

Các field trung tâm của bài này là MA_DICH_VU, MA_VAT_TU, MA_NHOM, GOI_VTYT, TEN_DICH_VU và TEN_VAT_TU.


1. Sáu trường cần đọc cùng nhau

TrườngVai trò
MA_DICH_VUMã DVKT, tiền khám, tiền giường hoặc mã hóa đặc thù
MA_VAT_TUMã VTYT theo quy định áp dụng
MA_NHOMNhóm chi phí
GOI_VTYTNhóm các VTYT thuộc cùng một lần sử dụng DVKT
TEN_DICH_VUTên DVKT, tiền khám hoặc giường bệnh
TEN_VAT_TUTên/nhóm VTYT theo chuẩn áp dụng

Bảng 3 quy định MA_DICH_VU có thể chứa mã DVKT, mã tiền khám hoặc mã tiền giường; đồng thời khi DVKT có VTYT kèm theo thì mã dịch vụ ghi tại MA_DICH_VU và mã vật tư ghi tại MA_VAT_TU. QUYẾT ĐỊNH 3176.


2. MA_DICH_VU không chỉ là mã dịch vụ kỹ thuật

Tên field dễ khiến người đọc nghĩ MA_DICH_VU chỉ chứa mã xét nghiệm, thủ thuật hoặc phẫu thuật.

Thực tế Bảng 3 còn sử dụng field này cho:

dịch vụ kỹ thuật, tiền khám, tiền giường bệnh và một số trường hợp mã hóa đặc thù. QUYẾT ĐỊNH 3176.

Do đó khi xử lý một record: không nên áp ngay logic DVKT chỉ vì MA_DICH_VU có giá trị.

Trước hết phải xác định MA_NHOM, mã dịch vụ và bối cảnh của dòng để biết đây thực sự là:

công khám, giường bệnh, DVKT, vận chuyển hay một loại chi phí khác.

Đây là bước classification quan trọng trước mọi rule tiếp theo.


3. Một số quy ước đặc biệt của MA_DICH_VU

Chuẩn còn sử dụng nhiều cấu trúc đặc biệt.

Ví dụ, vận chuyển người bệnh có cấu trúc dạng VC.XXXXX, trong đó phần sau xác định cơ sở người bệnh được chuyển đến.

Trường hợp chuyển mẫu bệnh phẩm hoặc chuyển người bệnh sang cơ sở khác thực hiện dịch vụ cận lâm sàng có cấu trúc chứa thêm mã cơ sở thực hiện.

Các hậu tố như _GT, _TB, _TT hoặc cấu trúc mã tương đương kết thúc bằng 0000 cũng được sử dụng cho những tình huống chuyên môn và thanh toán cụ thể theo quy định. Quyết định 3176 đồng thời làm rõ một số trường hợp DVKT chưa có giá, DVKT không tiếp tục thực hiện được hoặc DVKT gây tê chưa có mức giá tương ứng. QUYẾT ĐỊNH 3176.

Những mã này không nên được kiểm tra chỉ bằng:

“có tồn tại nguyên văn trong danh mục dịch vụ hay không?”

Rule phải nhận diện cả mã chuẩn và cấu trúc mở rộng được phép.


4. MA_VAT_TU — thay đổi quan trọng sau Quyết định 3176

Ở quy định ban đầu, MA_VAT_TU được mô tả theo hướng mã VTYT chi tiết.

Quyết định 3176 sửa toàn bộ phần diễn giải theo hướng:

ghi mã nhóm VTYT theo quy định tại Thông tư 04/2017/TT-BYT.

Đồng thời, các VTYT đã được cấp mã theo Quyết định 5086/QĐ-BYT trước đó vẫn tiếp tục sử dụng mã đã được cấp. QUYẾT ĐỊNH 3176. CHUẨN DƯ…

Đây là thay đổi rất quan trọng đối với thiết kế danh mục.

Không nên xây dr5_vtyt như một bảng tĩnh chỉ có:

MA_VAT_TU → một sản phẩm cụ thể

mà phải lưu cả: loại hệ thống mã → phiên bản → khoảng hiệu lực → nhóm VTYT → mã cũ được tiếp tục sử dụng.


5. Không phải VTYT nào sử dụng cũng được tạo một dòng thanh toán riêng

Đây là nguyên tắc đặc biệt quan trọng để phòng ngừa xuất toán.

Sau sửa đổi tại Quyết định 3176, Bảng 3 nêu rõ chỉ ghi riêng các VTYT thuộc những trường hợp được quy định, trong đó có các VTYT chưa nằm trong cơ cấu giá DVKT, tiền khám, ngày giường hoặc khoản thu trọn gói theo trường hợp bệnh. QUYẾT ĐỊNH 3176. CHUẨN DƯ…

Vì vậy phải phân biệt:

VTYT đã cấu thành trong giá dịch vụ

và

VTYT được phép thanh toán riêng ngoài giá dịch vụ.

Nếu một vật tư đã nằm trong giá của DVKT nhưng lại được tạo thêm một dòng XML3 đề nghị thanh toán riêng, sẽ xuất hiện nguy cơ tính trùng chi phí.

Đây là một trong những nhóm rule có giá trị cao nhất đối với tiền giám định.


6. Quan hệ cơ bản giữa DVKT và VTYT

Có thể hình dung ba mô hình chính.

Trường hợp A — dịch vụ không có vật tư thanh toán riêng

MA_DICH_VU = có giá trị

MA_VAT_TU = để trống

Ví dụ một xét nghiệm hoặc DVKT mà toàn bộ vật tư thông thường đã được cấu thành trong giá.

Trường hợp B — vật tư được thanh toán riêng và gắn với DVKT

MA_DICH_VU = mã DVKT

MA_VAT_TU = mã VTYT

Đây là trường hợp quan hệ DVKT–VTYT cần được giữ để kiểm tra điều kiện và mức thanh toán.

Bảng 3 quy định rõ: khi DVKT sử dụng VTYT kèm theo, mã DVKT ghi tại MA_DICH_VU, mã VTYT ghi tại MA_VAT_TU. QUYẾT ĐỊNH 3176. CHUẨN DƯ…

Trường hợp C — vật tư không sử dụng trong phẫu thuật/thủ thuật

Theo hướng dẫn Bảng 3, đối với VTYT không sử dụng trong phẫu thuật, thủ thuật thì trường MA_DICH_VU có thể để trống theo điều kiện tương ứng. QUYẾT ĐỊNH 3176. CHUẨN DƯ…

Do đó:

MA_VAT_TU có giá trị không đồng nghĩa MA_DICH_VU luôn phải có giá trị.

Đây tiếp tục là một requiredness có điều kiện.


7. GOI_VTYT — nối nhiều vật tư với cùng một lần thực hiện dịch vụ

GOI_VTYT có kích thước tối đa 3 ký tự.

Chuẩn quy định:

  • lần thứ nhất: G1;
  • lần thứ hai: G2;
  • tiếp tục tương tự.

Khi một DVKT phát sinh gói VTYT đi kèm, thông tin gói tương ứng cũng được ghi tại dòng dịch vụ. QUYẾT ĐỊNH 3176.

Ý nghĩa của field này đặc biệt rõ trong tình huống một dịch vụ có nhiều vật tư.

Ví dụ về mặt logic:

DVKT A — G1

↕

VTYT X — G1
VTYT Y — G1
VTYT Z — G1

Nếu cùng người bệnh thực hiện DVKT A lần thứ hai:

DVKT A — G2

↕

VTYT X — G2
VTYT Y — G2

Nhờ đó hệ thống biết vật tư thuộc lần thực hiện nào, thay vì chỉ biết chúng cùng xuất hiện trong một đợt điều trị.


8. MA_NHOM — nhóm chi phí, không phải nhóm vật tư

MA_NHOM là trường Số, tối đa 2 ký tự, dùng để phân loại và sắp xếp chi phí vào các nhóm theo danh mục được Bộ Y tế quy định. Phần sửa đổi cũng bổ sung nhóm đối với một số dịch vụ khác còn lại. QUYẾT ĐỊNH 3176. CHUẨN DƯ…

Cần đặc biệt tránh nhầm:

MA_NHOM = nhóm chi phí

với:

MA_VAT_TU = mã/nhóm VTYT theo chuẩn tương ứng.

Đây là hai hệ thống phân loại khác nhau.

Một vật tư có thể có mã nhóm VTYT tại MA_VAT_TU, đồng thời dòng chi phí của nó lại có một MA_NHOM để xác định nhóm tài chính.


9. TEN_VAT_TU cũng đã thay đổi ý nghĩa

Ban đầu TEN_VAT_TU được diễn giải theo hướng tên thương mại của vật tư.

Quyết định 3176 sửa toàn bộ nội dung theo hướng ghi tên nhóm VTYT theo Thông tư 04/2017/TT-BYT, đồng thời bãi bỏ cách diễn giải trước đó của Quyết định 130 và Quyết định 4750. QUYẾT ĐỊNH 3176. CHUẨN DƯ…

Do đó không nên xây rule hiện hành:

TEN_VAT_TU phải bằng tên thương mại trên hóa đơn

mà không xét phiên bản chuẩn.

Đây là ví dụ điển hình cho yêu cầu:

field không đổi tên nhưng ý nghĩa nghiệp vụ có thể thay đổi theo phiên bản.


10. TEN_DICH_VU phải tương thích với MA_DICH_VU

TEN_DICH_VU ghi tên DVKT, dịch vụ khám bệnh hoặc giường bệnh đề nghị thanh toán.

Với DVKT cần mô tả vị trí, phương pháp hoặc mức giá khác nhau, chuẩn còn cho phép bổ sung thông tin mô tả phù hợp vào tên dịch vụ. QUYẾT ĐỊNH 3176. CHUẨN DƯ…

Do đó nên kiểm tra:

MA_DICH_VU ↔ TEN_DICH_VU

nhưng không nhất thiết bằng một phép so chuỗi tuyệt đối.

Tên trong HIS có thể có phần mô tả thêm, trong khi mã mới là yếu tố quan trọng để định danh dịch vụ.


11. Mối quan hệ DVKT – VTYT cần được kiểm tra hai chiều

Một hệ thống tiền giám định tốt không chỉ hỏi:

VTYT này có gắn DVKT không?

mà phải hỏi tiếp:

DVKT này có cho phép thanh toán riêng VTYT này không?

Đây là hai chiều hoàn toàn khác nhau.

Ví dụ:

Chiều 1 — từ vật tư sang dịch vụ

MA_VAT_TU → MA_DICH_VU

Vật tư này đang được yêu cầu thanh toán trong dịch vụ nào?

Chiều 2 — từ dịch vụ sang vật tư

MA_DICH_VU → tập VTYT có điều kiện

Với dịch vụ này, vật tư nào đã nằm trong giá? Vật tư nào được phép thanh toán riêng? Có trần, tỷ lệ hoặc điều kiện nào không?

Nếu chỉ kiểm tra chiều 1 thì chưa đủ để ngăn thanh toán trùng.


12. Ví dụ về một sai lệch có nguy cơ xuất toán

Giả sử một DVKT có giá đã bao gồm vật tư tiêu hao thông thường.

XML3 lại xuất:

Dòng 1: DVKT A — đề nghị thanh toán đầy đủ.

Dòng 2: Vật tư B — cũng đề nghị thanh toán riêng.

Nếu B là vật tư đã nằm trong cơ cấu giá của A thì:

XML có thể đúng cấu trúc, mã vật tư có thể tồn tại, số lượng và đơn giá có thể đúng — nhưng logic thanh toán vẫn sai.

Đây là khác biệt giữa:

validation dữ liệu

và

validation điều kiện thanh toán.


13. Ngược lại, thiếu dòng vật tư cũng có thể làm mất doanh thu

Không phải mọi mục tiêu kiểm tra đều nhằm tìm khoản cần loại.

Nếu một VTYT theo quy định được phép thanh toán riêng, thực tế đã sử dụng, hồ sơ có chứng cứ đầy đủ nhưng HIS không sinh dòng XML3 tương ứng, cơ sở có thể bỏ sót doanh thu hợp lệ.

Do đó hệ thống Dr5-XML nên kiểm tra cả hai chiều:

không được tính thừa

và

không được bỏ sót khoản đủ điều kiện thanh toán.

Đây là nơi nhóm rule Missed-revenue có thể dùng chung dữ liệu với nhóm rule BHYT.


14. Quan hệ này phải gắn với thời điểm

Một cặp:

MA_DICH_VU = A

MA_VAT_TU = B

có thể đúng ở một thời kỳ nhưng không còn đúng sau khi:

  • giá DVKT thay đổi;
  • cơ cấu giá thay đổi;
  • danh mục VTYT thay đổi;
  • quy định tỷ lệ hoặc điều kiện thanh toán thay đổi;
  • mã vật tư chuyển sang hệ thống mã khác.

Vì vậy không nên xây một bảng mapping:

A → B

rồi sử dụng vĩnh viễn.

Mapping phải có:

effective_from, effective_to, căn cứ pháp lý và phiên bản danh mục.


15. Thiết kế danh mục cho Dr5-XML

Nhóm này đặc biệt phù hợp với kiến trúc catalog-driven.

Có thể quản lý các lớp dữ liệu như:

dr5_service — danh mục DVKT/khám/giường;

dr5_supply — danh mục hoặc nhóm VTYT;

dr5_cost_group — MA_NHOM;

dr5_service_supply_relation — quan hệ dịch vụ ↔ vật tư;

dr5_supply_bundle — vật tư thuộc gói/lần thực hiện;

dr5_payment_condition — điều kiện được thanh toán riêng;

dr5_legal_basis — căn cứ và khoảng hiệu lực.

Trong đó bảng quan hệ dịch vụ–vật tư không chỉ nên có service_code và supply_code, mà còn cần mô tả:

included_in_price, separately_payable, requires_service, payment_cap, effective_from, effective_to.

Khi quy định thay đổi, chỉ cần cập nhật các danh mục và quan hệ, thay vì viết lại hàng trăm rule riêng cho từng DVKT.


16. Các mức cảnh báo nên tách rõ

Ví dụ:

Lỗi dữ liệu: mã dịch vụ hoặc mã vật tư không hợp lệ theo phiên bản.

Bất nhất: MA_DICH_VU và MA_VAT_TU không có quan hệ phù hợp.

Nguy cơ thanh toán trùng: vật tư đã nằm trong cơ cấu giá nhưng vẫn được đề nghị riêng.

Cần rà soát: quan hệ dịch vụ–vật tư chưa đủ dữ liệu để xác định điều kiện.

Bỏ sót doanh thu: dịch vụ đã thực hiện và vật tư đủ điều kiện thanh toán riêng nhưng XML không có dòng vật tư tương ứng.

Không nên biến tất cả thành cùng một thông báo “xuất toán”.


Kết luận

Có thể ghi nhớ XML3 ở nhóm này theo công thức:

MA_DICH_VU xác định dịch vụ → MA_VAT_TU xác định vật tư → MA_NHOM xác định nhóm chi phí → GOI_VTYT xác định vật tư thuộc lần thực hiện nào.

Nhưng điểm quan trọng hơn cả là:

Có sử dụng vật tư không đồng nghĩa vật tư được thanh toán riêng.

Muốn xác định đúng phải biết vật tư đó đã nằm trong cơ cấu giá của dịch vụ hay chưa, có thuộc trường hợp được thanh toán riêng không, có gắn đúng DVKT không và quy định nào có hiệu lực tại thời điểm KCB.

Đây là một trong những nhóm quan hệ quan trọng nhất để Dr5-XML vừa phát hiện nguy cơ xuất toán do tính trùng, vừa phát hiện khoản chi hợp lệ bị bỏ sót.