FHIR BHYT: mapping XML BHYT (QĐ 130/4750/3176) sang Coverage, Claim, EOB
Chuẩn dữ liệu BHYT hiện hành đi theo chuỗi QĐ 130/QĐ-BYT (2023), QĐ 4750/QĐ-BYT (2023) và QĐ 3176/QĐ-BYT (29/10/2024). Tên gọi "XML 4210" chỉ là shorthand legacy theo QĐ 4210/QĐ-BYT (văn bản gốc đã bị thay thế). Bài này hướng dẫn mapping từng field XML hiện hành sang FHIR Coverage, Claim, ClaimResponse, ExplanationOfBenefit và Invoice — giúp bệnh viện vẫn xuất XML cho BHXH theo quy định, đồng thời dùng FHIR-native trong nội bộ EMR.
Tóm tắt nhanh
- Chuẩn XML BHYT hiện hành là chuỗi QĐ 130 → QĐ 4750 → QĐ 3176/QĐ-BYT (29/10/2024). "XML 4210" là tên gọi legacy, không còn là căn cứ pháp lý.
- Mapping FHIR BHYT cốt lõi: Coverage cho thẻ BHYT, Claim cho yêu cầu thanh toán, ClaimResponse/EOB cho phản hồi BHXH, Invoice cho bảng kê QĐ 697.
- QĐ 697/QĐ-BYT ban hành và hiệu lực 19/3/2026, thời hạn nâng cấp phần mềm chậm nhất 01/7/2026. NĐ 188/2025 ban hành 01/7/2025, hiệu lực chung 15/8/2025.
- Adjudication thuộc phía ClaimResponse và EOB — Claim.item trong FHIR R4 không có element adjudication. Số tiền BV gửi đi nằm ở Claim.item.unitPrice và Claim.item.net.
- NĐ 164/2025 mở khả năng API điện tử với Cổng BHXH, nhưng BHXH chưa chấp nhận FHIR Bundle chính thức tính đến quý 2/2026.
Nội dung trang
- Bối cảnh FHIR BHYT — vì sao cần bridge XML và FHIR
- Khung pháp lý BHYT 2023-2026
- Bốn use case FHIR BHYT chính
- Mapping XML BHYT sang FHIR — bảng chi tiết
- Coverage profile cho thẻ BHYT
- Claim profile cho yêu cầu thanh toán
- ClaimResponse và ExplanationOfBenefit
- Invoice cho bảng kê chi phí QĐ 697
- Mã đối tượng đến KCB theo QĐ 3276
- Mức trần thanh toán theo NĐ 188/2025
- API điện tử BHXH theo NĐ 164/2025
- Câu hỏi thường gặp
- Tham chiếu pháp lý và FHIR spec
- Đọc tiếp
1. Bối cảnh FHIR BHYT — vì sao cần bridge XML và FHIR
Mỗi cơ sở khám chữa bệnh ở Việt Nam đang gửi hàng triệu hồ sơ thanh toán BHYT mỗi năm sang Bảo hiểm xã hội Việt Nam (BHXH) bằng định dạng XML. Định dạng này không còn dựa trên QĐ 4210/QĐ-BYT cũ. Văn bản hiện hành là QĐ 130/QĐ-BYT (2023), được sửa đổi bởi QĐ 4750/QĐ-BYT (2023), rồi tiếp tục được sửa bởi QĐ 3176/QĐ-BYT ban hành ngày 29/10/2024.
Nhiều tài liệu kỹ thuật và đội ngũ phát triển vẫn quen gọi tệp XML này là "XML 4210" theo tên QĐ 4210 gốc. Tên gọi shorthand này không sai về mặt văn hóa kỹ thuật, nhưng khi viết spec hoặc trích dẫn pháp lý, mọi tham chiếu phải về đúng chuỗi QĐ 130 / 4750 / 3176. Đây là điểm quan trọng vì BHXH thực hiện giám định dựa trên schema và mã đối tượng theo các quyết định mới, không phải QĐ 4210.
Định dạng XML hiện tại có ba giới hạn đối với chiến lược dữ liệu y tế hiện đại. Thứ nhất, schema thiết kế cho duy nhất luồng giám định BHYT, không tái sử dụng được cho bệnh án điện tử (Thông tư 13/2025/TT-BYT) hay Sổ sức khỏe điện tử trên VNeID. Thứ hai, schema cố định, mọi extension phải qua sửa đổi văn bản pháp quy. Thứ ba, không có giao diện REST có cấu trúc cho tra cứu thẻ realtime — luồng kiểm tra eligibility hiện chủ yếu thực hiện qua Cổng BHXH bằng web service riêng.
FHIR R4 (4.0.1) khắc phục cả ba giới hạn nhờ resource model có sẵn cho domain tài chính y tế: Coverage, Claim, ClaimResponse, ExplanationOfBenefit, Invoice và PaymentReconciliation. Tuy nhiên, BHXH chưa chấp nhận FHIR Bundle như một định dạng đầu vào chính thức. Mô hình triển khai khả thi hiện tại là dùng FHIR-native bên trong hệ thống thông tin bệnh viện và sinh ra XML đầu ra cho BHXH bằng một bridge layer chuyên dụng — chính là chủ đề của bài này.
2. Khung pháp lý BHYT 2023-2026
Bảng dưới tóm tắt các văn bản BV và đội ngũ FHIR cần đọc khi thiết kế bridge layer. Mọi mã căn cứ tham chiếu chính xác theo CodeSystem VNLegalDocumentRefCS trong VN Core IG.
| Văn bản | Ngày ban hành / hiệu lực | Tác động đến mapping |
|---|---|---|
QD-4210-BYT — QĐ 4210/QĐ-BYT | Đã thay thế | Văn bản gốc đặt tên cho "XML 4210"; chỉ tham chiếu để giải thích lịch sử. |
QD-130-2023 — QĐ 130/QĐ-BYT | 2023 | Chuẩn dữ liệu đầu ra phục vụ quản lý chi phí KCB BHYT — gốc của schema XML hiện hành. |
QD-4750-2023 — QĐ 4750/QĐ-BYT | 2023 | Sửa đổi, bổ sung QĐ 130 — bổ sung và làm rõ một số trường XML. |
QD-3176-2024 — QĐ 3176/QĐ-BYT | 29/10/2024 | Sửa đổi QĐ 4750 và QĐ 130 — chuẩn đầu ra KCB hiện hành, các CodeSystem MALYDO, KETQUA, TINHTRANGRA, MA_LOAI_RV. |
QD-3276-2025 — QĐ 3276/QĐ-BYT | 17/10/2025 | Danh mục mã đối tượng đến KCB — 27 mã, bind vào Claim.subType qua ValueSet VNPatientVisitTypeVS (extensible). Coverage.type giữ HL7 chuẩn insurance-coverage-type#medical. |
QD-697-2026 — QĐ 697/QĐ-BYT | Ban hành 19/3/2026, hiệu lực 19/3/2026; chuyển đổi/triển khai chậm nhất 01/7/2026 | Mẫu bảng kê chi phí KCB mới — 12 danh mục, 13 cột, hỗ trợ multi-BHYT. Map sang Invoice. |
L-51-2024 — Luật 51/2024/QH15 sửa đổi Luật BHYT | Ban hành 27/11/2024, hiệu lực 01/07/2025 | Cơ sở pháp lý gốc cho NĐ 188/2025; mở rộng đối tượng và phạm vi quyền lợi BHYT. (Ghi chú: L-91-2025 là Luật Bảo vệ DLCN — KHÔNG phải Luật BHYT.) |
| NĐ 188/2025/NĐ-CP | Ban hành 01/7/2025; hiệu lực chung 15/8/2025; một số điều áp dụng từ 01/7/2025 | Hướng dẫn Luật BHYT sửa đổi — quy tắc thanh toán, mức hưởng, multi-BHYT, trần theo nhóm chi phí cụ thể. |
| NĐ 164/2025/NĐ-CP | 29/6/2025 | Giao dịch điện tử trong BHXH — cơ sở cho API tra cứu thẻ và nộp hồ sơ. |
| NĐ 233/2025/NĐ-CP | 2025 | Cơ chế tài chính quỹ BHYT — ảnh hưởng PaymentReconciliation và quyết toán. |
| TT 12/2026/TT-BTC | Ban hành 10/02/2026 | Trình tự, biểu mẫu giám định và quyết toán BHYT — chi tiết thi hành NĐ 188/2025. |
Lưu ý citation: khi BV trích trong tài liệu nội bộ, dùng đầy đủ chuỗi "QĐ 130/QĐ-BYT, được sửa đổi bởi QĐ 4750 và QĐ 3176". Tránh viết tắt thành "QĐ 4210" vì văn bản này không còn hiệu lực. Frontmatter và trang related_legal trên hl7.org.vn dùng mã QD-130-2023, QD-4750-2023, QD-3176-2024, QD-697-2026, QD-3276-2025, QD-4210-BYT (legacy) và L-51-2024 (Luật BHYT sửa đổi).
3. Bốn use case FHIR BHYT chính
Bridge layer XML BHYT và FHIR phục vụ bốn luồng nghiệp vụ. Mỗi luồng map sang một resource hoặc operation FHIR, dù BHXH hiện chưa nhận FHIR official. Các đoạn pseudocode dưới đây dùng để mô tả ý đồ thiết kế REST API nội bộ — không phải FHIR instance đầy đủ. Một mẫu Claim hợp lệ R4 đầy đủ với tất cả trường bắt buộc (status, type, use, created, priority, insurance.sequence, insurance.focal) sẽ được phát hành cùng VN Core IG.
3.1. Tra cứu thẻ BHYT — Coverage
Khi bệnh nhân đăng ký KCB, BV cần xác minh thẻ BHYT còn hiệu lực, đối tượng nào, nơi đăng ký KCB ban đầu là cơ sở nào. Trong mô hình FHIR-native nội bộ, BV đọc Coverage theo identifier:
GET /Coverage?identifier=http://fhir.hl7.org.vn/core/sid/bhyt|DN4123456789012
Accept: application/fhir+json
Hoặc gói thành operation custom Coverage/$verify-eligibility để adapter có thể chuyển ra cuộc gọi API thực tế lên Cổng BHXH (theo NĐ 164/2025). Coverage trả về chứa identifier thẻ, type (mã đối tượng theo QĐ 3276), period (hiệu lực), beneficiary (Patient) và extension VN cho 5 năm liên tục.
3.2. Gửi yêu cầu thanh toán — Claim
Sau khi kết thúc đợt KCB, BV gửi yêu cầu thanh toán. Trong nội bộ EMR, đây là một Claim:
POST /Claim
Content-Type: application/fhir+json
# Pseudocode shape — Claim hợp lệ R4 cần đầy đủ
# status, type, use, created, priority, insurance.sequence, insurance.focal.
# Xem mẫu chuẩn trong VN Core IG. Bridge layer sau đó render Claim này thành tệp XML theo schema QĐ 130/4750/3176 và đẩy lên Cổng BHXH. Việc giữ Claim FHIR ở nội bộ giúp BV chia sẻ cùng một dataset cho EMR (Thông tư 13/2025/TT-BYT), nội bộ kế toán, và cho VNeID Sổ sức khỏe điện tử nếu sau này có yêu cầu.
3.3. Nhận phản hồi BHXH — ClaimResponse / EOB
BHXH giám định và trả lại kết quả: chấp thuận, từ chối, hoặc cần bổ sung. Adapter chuyển thông báo XML đó thành ClaimResponse trong nội bộ. Mỗi item gốc trong Claim có một entry tương ứng trong ClaimResponse.item.adjudication, ghi rõ T_BNTT (số tiền bệnh nhân tự trả) và T_BHTT (số tiền BHYT chi trả). Cho mục đích báo cáo retrospective hoặc đẩy lên VNeID, ExplanationOfBenefit (EOB) là resource phù hợp hơn vì nó tổng hợp đầy đủ context quyền lợi và kết quả giám định.
3.4. Quyết toán định kỳ — PaymentReconciliation
Hằng quý, BV và cơ quan BHXH ký biên bản quyết toán. Resource PaymentReconciliation tổng hợp nhiều ClaimResponse và ghi nhận khoản thanh toán cuối cùng. Đây cũng là nơi mapping biểu mẫu 06/BH theo TT 12/2026/TT-BTC vào FHIR.
4. Mapping XML BHYT sang FHIR — bảng chi tiết
Phần dưới chỉ mapping cốt lõi cho ba bảng XML phổ biến nhất. ConceptMap đầy đủ cho toàn bộ schema QĐ 130/4750/3176 sẽ được phát hành cùng VN Core IG dưới dạng artifact vn-conceptmap-bhyt-xml-to-fhir.
4.1. Bảng XML4210_TONGHOP sang Bundle, Patient, Coverage, Encounter, Claim
| Trường XML | FHIR target | Ghi chú |
|---|---|---|
| MA_LK | Claim.identifier | Mã liên kết hồ sơ — system riêng của BV. |
| STT | Bundle.entry.fullUrl (sequence) | Số thứ tự trong batch. |
| MA_BN | Patient.identifier (MRN BV) | System theo CSKCB. |
| HO_TEN | Patient.name | Tách họ, tên đệm, tên theo family/given. |
| SO_CCCD | Patient.identifier (slice CCCD) | System: http://fhir.hl7.org.vn/core/sid/cccd. |
| NGAY_SINH | Patient.birthDate | Format ISO 8601 yyyy-mm-dd. |
| GIOI_TINH | Patient.gender | Mapping mã giới tính theo QĐ 3176. |
| MA_THE_BHYT | Coverage.identifier | 3 format hỗ trợ song song theo invariant vn-bhyt-format: (1) CCCD 12 số (NĐ 188/2025, từ 15/8/2025), (2) mã BHXH 10 số (từ 01/4/2021), (3) legacy 2 chữ + 13 số (trước 2021). System http://fhir.hl7.org.vn/core/sid/bhyt. |
| MA_DKBD | Coverage.extension[vn-ext-primary-care-facility] | Extension VNCoreExtPrimaryCareFacility (canonical http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-primary-care-facility) — reference Organization nơi ĐKKCB ban đầu. Không dùng Coverage.network (dành cho identifier mạng lưới insurer). |
| GT_THE_TU / GT_THE_DEN | Coverage.period.start / end | Hiệu lực thẻ. |
| MA_LYDO_VVIEN | Encounter.reasonCode | Bind ValueSet VN. |
| MA_NOI_CHUYEN | Encounter.hospitalization.origin | Reference Organization tuyến trước. |
| NGAY_VAO / NGAY_RA | Encounter.period.start / end | Datetime đầy đủ. |
| MA_KHOA | Encounter.location.location | CodeSystem khoa BV. |
| MA_BENH_CHINH | Condition (rank=primary) | Bind ICD-10 VN theo QĐ 4469/QĐ-BYT. |
| MA_BENH_KT[] | Condition (rank=secondary) | Mảng các bệnh kèm theo. |
| T_TONGCHI | Claim.total | Tổng yêu cầu thanh toán phía BV. |
| T_BNTT (số tiền BN tự trả) | ClaimResponse cost summary | Tổng BN tự trả tổng hợp ở cấp ClaimResponse qua extension VN VNCoreExtClaimCostSummary; line-level adjudication.category dùng HL7 ValueSet chuẩn (benefit, eligible, copay, deductible...) — không tự định nghĩa patient-payable ở từng item. |
| T_BHTT (số tiền BHYT chi trả) | ClaimResponse.item.adjudication[category=benefit] | Phía BHXH-side — chỉ xuất hiện sau khi giám định. |
4.2. Bảng XML4210_CHITIET sang Claim.item
| Trường XML | FHIR target | Ghi chú |
|---|---|---|
| STT | Claim.item.sequence | Bắt buộc, kiểu positiveInt. |
| MA_DICH_VU | Claim.item.productOrService.coding | DVKT theo TT 23/2024/TT-BYT, hoặc ICD-9-CM theo QĐ 387/QĐ-BYT. |
| TEN_DICH_VU | Claim.item.productOrService.text | Tên dịch vụ tiếng Việt. |
| DON_GIA | Claim.item.unitPrice | Money — VND. |
| SO_LUONG | Claim.item.quantity | SimpleQuantity. |
| THANH_TIEN_BV | Claim.item.net | Bằng unitPrice nhân quantity. KHÔNG dùng Claim.item.adjudication — element này không tồn tại trên Claim.item trong R4. |
| MA_KHOA | Claim.item.locationCodeableConcept | Khoa thực hiện DVKT. |
| NGAY_YL | Claim.item.servicedDate | Ngày y lệnh hoặc ngày thực hiện. |
| MA_BAC_SI | Claim.item.careTeamSequence → careTeam.provider | Reference Practitioner. |
4.3. Bảng XML4210_THUOC sang MedicationRequest và Claim.item
| Trường XML | FHIR target | Ghi chú |
|---|---|---|
| STT | MedicationRequest.identifier | System BV. |
| MA_THUOC | MedicationRequest.medicationCodeableConcept.coding | Mã thuốc theo danh mục BYT (TT 26/2025/TT-BYT, TT 27/2025/TT-BYT). |
| TEN_THUOC | medicationCodeableConcept.text | Tên thương mại hoặc tên thuốc generic. |
| DUONG_DUNG | MedicationRequest.dosageInstruction.route | Bind ValueSet đường dùng VN. |
| HAM_LUONG | medicationCodeableConcept.coding.display | Hoặc Medication.amount nếu dùng Medication tách rời. |
| SO_LUONG | MedicationRequest.dispenseRequest.quantity | SimpleQuantity với unit. |
| DON_GIA | Claim.item.unitPrice (cho item liên kết) | MedicationRequest tự nó không chứa price — giá thuốc trên Claim.item. |
5. Coverage profile cho thẻ BHYT
Coverage trong FHIR mô hình hóa phạm vi và quyền lợi bảo hiểm. Bài này dùng Coverage để biểu diễn thẻ BHYT cụ thể của một bệnh nhân tại một thời điểm. VN Core đề xuất profile VNCoreCoverage với các ràng buộc dưới đây.
Profile: VNCoreCoverage
Parent: Coverage
Id: vn-core-coverage
Title: "VN Core Coverage — Thẻ BHYT"
Description: "Profile Coverage cho thẻ Bảo hiểm y tế Việt Nam."
* identifier 1..1 MS
* identifier.system = "http://fhir.hl7.org.vn/core/sid/bhyt"
* identifier.value 1..1 MS
* status 1..1 MS
* type from VNBHYTSubjectVS (extensible) // QĐ 3276/QĐ-BYT 2025 — 27 mã đối tượng
* beneficiary 1..1 MS
* policyHolder 0..1
* payor 1..* MS
* period 1..1 MS
// MA_DKBD (mã nơi ĐKKCB ban đầu) KHÔNG bind vào Coverage.network.
// Coverage.network theo spec FHIR R4 dành cho identifier mạng lưới do
// insurer định nghĩa, không phải mã cơ sở KCB ban đầu của VN.
* extension contains
VNCoreExtBHYTCardType named bhytCardType 0..1 MS and
VNCoreExtPrimaryCareFacility named primaryCareFacility 0..1 MS and
VNCoreExtCoverageCumulativeCopay named cumulativeCopay 0..1
VN Core dùng 3 extension chính trên Coverage:
VNCoreExtBHYTCardType (loại đối tượng — DN/HC/HS/...),
VNCoreExtPrimaryCareFacility (Reference Organization — CSKCB ban đầu, đúng semantics thay vì lạm dụng Coverage.network vốn dành cho identifier mạng lưới insurer) và
VNCoreExtCoverageCumulativeCopay (tổng cùng chi trả lũy kế, theo dõi trần 6 tháng lương cơ sở của BHYT).
6. Claim profile cho yêu cầu thanh toán
VNCoreClaim ràng buộc các trường BV phải gửi đi và bind ValueSet phù hợp cho diagnosis và productOrService. Lưu ý FSH không hỗ trợ cú pháp from A or B or C — phải compose một ValueSet hợp nhất rồi bind vào Claim.item.productOrService.
// Bước 1: Compose ValueSet hợp nhất cho productOrService trên Claim.item
ValueSet: VNClaimItemServiceVS
Id: vn-claim-item-service-vs
Title: "VN Claim Item Service ValueSet"
Description: "Hợp nhất DVKT, danh mục thuốc và ICD-9-CM để bind Claim.item.productOrService."
* include codes from valueset VNDVKTVS
* include codes from valueset VNDrugVS
* include codes from valueset VNICD9CMVS
// Bước 2: Định nghĩa profile
Profile: VNCoreClaim
Parent: Claim
Id: vn-core-claim
Title: "VN Core Claim — Yêu cầu thanh toán BHYT"
* status 1..1 MS
* type 1..1 MS
* use = #claim
* patient 1..1 MS
* created 1..1 MS
* priority 1..1 MS
* provider 1..1 MS
* insurance 1..* MS
* insurance.sequence 1..1 MS
* insurance.focal 1..1 MS
* insurance.coverage 1..1 MS
* diagnosis 1..* MS
* diagnosis.diagnosisCodeableConcept from VNICD10VS (extensible)
* item 1..* MS
* item.sequence 1..1 MS
* item.productOrService from VNClaimItemServiceVS (extensible)
* item.unitPrice 0..1 MS
* item.quantity 0..1 MS
* item.net 0..1 MS
Việc đặt insurance 1..* hỗ trợ trường hợp multi-BHYT theo NĐ 188/2025: một bệnh nhân có thể có nhiều thẻ BHYT cùng lúc, mỗi thẻ là một entry trong Claim.insurance với focal đánh dấu thẻ chính dùng cho lần KCB này.
7. ClaimResponse và ExplanationOfBenefit
Adjudication — quyết định BHXH chi trả bao nhiêu, BN tự trả bao nhiêu, từ chối hạng mục nào — thuộc về phía cơ quan thanh toán. Trong FHIR R4, Claim.item không có sub-element adjudication; mọi giá trị giám định nằm trên ClaimResponse.item.adjudication. Bridge layer phải nhận thông báo XML từ BHXH, parse các trường T_BNTT, T_BHTT, T_NGUONKHAC, T_NSNN và dựng ra ClaimResponse có cấu trúc:
Profile: VNCoreClaimResponse
Parent: ClaimResponse
Id: vn-core-claimresponse
* status 1..1 MS
* type 1..1 MS
* use = #claim
* patient 1..1 MS
* request 1..1 MS // Reference đến Claim gốc
* outcome 1..1 MS
* item 0..* MS
* item.itemSequence 1..1 MS
* item.adjudication 1..* MS
* item.adjudication.category from VNAdjudicationCategoryVS (extensible)
* item.adjudication.amount 0..1 MS ExplanationOfBenefit (EOB) là resource cao tầng hơn, hợp nhất Claim và ClaimResponse cộng với context Coverage và Patient. Khi BV cần đẩy lịch sử thanh toán BHYT lên Sổ sức khỏe điện tử trên VNeID hoặc khi vendor tích hợp dashboard cho bệnh nhân, EOB là format khuyến nghị.
8. Invoice cho bảng kê chi phí QĐ 697
QĐ 697/QĐ-BYT ban hành ngày 19/3/2026, hiệu lực kể từ 19/3/2026. Thời hạn cuối để các BV nâng cấp phần mềm và chuyển đổi hoàn toàn sang biểu mẫu mới là 01/7/2026 — sau mốc này, biểu mẫu cũ theo QĐ 6556/QĐ-BYT (2018) không còn được chấp nhận. Bảng kê QĐ 697 có 12 danh mục chi phí và 13 cột, đồng thời hỗ trợ trường hợp một bệnh nhân có nhiều thẻ BHYT cùng chi trả (multi-BHYT theo NĐ 188/2025).
VN Core hiện không tạo Profile Invoice riêng cho QĐ 697; thay vào đó, 12 danh mục chi phí được model trực tiếp trong VNCoreClaim.item: mỗi Claim.item.category bind vào CodeSystem VNCostCategoryCS (canonical vn-cost-category-cs) — mỗi mã tương ứng 1 trong 12 nhóm chi phí của QĐ 697 (thuốc, vật tư y tế, dịch vụ kỹ thuật, ...). Claim.item.unitPrice, Claim.item.quantity và Claim.item.net mang chi tiết từng dòng. Phần phân chia BHYT chi trả / BN tự trả / đồng chi trả / NSNN / nguồn khác được tổng hợp ở cấp Claim/EOB qua extension VNCoreExtClaimCostSummary, không tách thành Invoice profile riêng.
// VNCoreClaim — trích đoạn binding QĐ 697 (12 nhóm chi phí)
Profile: VNCoreClaim
Parent: Claim
Id: vn-core-claim
// Mỗi item.category tương ứng 1 mã trong VNCostCategoryCS
// (12 nhóm chi phí KCB theo QĐ 697/QĐ-BYT)
* item.category 1..1 MS
* item.category from VNCostCategoryVS (required)
* item.unitPrice 1..1 MS
* item.quantity 1..1 MS
* item.net 1..1 MS
// Tổng hợp chi phí cấp Claim (BHYT trả / BN trả / đồng trả / NSNN)
* extension contains
VNCoreExtClaimCostSummary named costSummary 0..1 MS 9. Mã đối tượng đến KCB theo QĐ 3276
QĐ 3276/QĐ-BYT ban hành ngày 17/10/2025 quy định danh mục 27 mã đối tượng đến KCB BHYT, phân nhóm theo lý do/tuyến KCB (1.x — đúng tuyến, 2 — cấp cứu, 3.x — trái tuyến, 7.x — lĩnh thuốc, 8 — thu hồi, 9 — không BHYT). VN Core mã hóa danh mục này thành CodeSystem VNPatientVisitTypeCS (canonical vn-patient-visit-type-cs) và ValueSet VNPatientVisitTypeVS, bind vào Claim.subType với strength extensible. Lưu ý phân biệt: Claim.subType mang mã đối tượng đến KCB (per visit), khác với Coverage.extension[bhytCardType] mang nhóm thẻ/người tham gia (DN/HC/HS/...) thuộc về thẻ BHYT. Mỗi mã trong CodeSystem đều có căn cứ pháp lý đầy đủ để truy vết.
10. Mức trần thanh toán theo NĐ 188/2025
NĐ 188/2025/NĐ-CP ban hành ngày 01/7/2025, hiệu lực chung từ 15/8/2025; một số điều áp dụng từ 01/7/2025. Nghị định này quy định trần thanh toán BHYT cho một lần KCB tương đương 45 tháng lương cơ sở, nhưng trần này chỉ áp dụng cho các nhóm chi phí và dịch vụ kỹ thuật cao theo quy định cụ thể, không phải mức trần phổ quát cho mọi giá trị Claim.total.
Lưu ý implementation: không nên đặt invariant FHIR cố định kiểu Claim.total ≤ 45 × lương_cơ_sở trong VNCoreClaim — sẽ over-reject nhiều Claim hợp lệ. Logic kiểm tra trần thuộc về adjudication phía BHXH (ClaimResponse), không phải validation profile phía BV. Nếu cần guard ở phía BV, dùng FHIRPath warning expression theo từng nhóm DVKT cụ thể.
11. API điện tử BHXH theo NĐ 164/2025
NĐ 164/2025/NĐ-CP ngày 29/6/2025 mở khả năng giao dịch điện tử qua API với Cổng BHXH cho ba luồng: tra cứu thẻ BHYT realtime, gửi hồ sơ thanh toán và đối soát kết quả giám định. Tuy nhiên, BHXH chưa công bố spec FHIR REST API chính thức tính đến quý 2/2026. Mô hình kiến trúc khuyến nghị cho BV và vendor là dùng FHIR-native trong nội bộ, sau đó adapter chuyển sang định dạng XML và web service do BHXH định nghĩa khi gửi đi. Khi BHXH công bố spec FHIR, adapter chỉ thay implementation outbound mà không phải sửa kiến trúc lõi.
12. Câu hỏi thường gặp
BHXH đã chấp nhận FHIR Bundle chưa?
Chưa, tính đến quý 2/2026. BHXH vẫn yêu cầu gửi XML theo schema QĐ 130, được sửa đổi bởi QĐ 4750 và QĐ 3176. Tên gọi shorthand "XML 4210" theo QĐ 4210 gốc đã bị thay thế.
Có nên build FHIR-first và convert sang XML khi gửi BHXH?
Có, đây là pattern khuyến nghị. Việc giữ EMR và bệnh án điện tử ở FHIR-native giúp BV tuân thủ Thông tư 13/2025/TT-BYT cho bệnh án điện tử, đồng thời tái sử dụng dataset cho VNeID Sổ sức khỏe điện tử. Bridge layer chỉ nhận trách nhiệm convert ra XML cho BHXH theo chuẩn hiện hành.
QĐ 697 có thay thế hoàn toàn QĐ 6556/2018 không?
Có. QĐ 6556/QĐ-BYT (2018) đã bị thay thế bởi QĐ 697/QĐ-BYT. Trong giai đoạn chuyển tiếp đến 01/7/2026, BV được dùng song song để có thời gian nâng cấp phần mềm, nhưng sau mốc này phải chuyển hoàn toàn sang biểu mẫu mới.
Multi-BHYT theo NĐ 188/2025 implement thế nào trong FHIR?
Claim.insurance là array. Mỗi thẻ BHYT của bệnh nhân là một entry với insurance.sequence khác nhau và insurance.coverage trỏ đến Coverage tương ứng. Một entry duy nhất được đánh dấu insurance.focal=true cho lần KCB cụ thể này. Adjudication trên ClaimResponse giữ nguyên tham chiếu sequence để rõ phần nào thuộc thẻ nào.
MA_DKBD nên map vào đâu trên Coverage?
Dùng extension VN VNCoreExtPrimaryCareFacility (canonical http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-primary-care-facility) chứa Reference đến Organization của cơ sở ĐKKCB ban đầu ghi trên thẻ BHYT. Không dùng Coverage.network — element này theo spec FHIR R4 đại diện cho identifier mạng lưới do insurer định nghĩa, không phải mã đăng ký KCB ban đầu của hệ thống y tế Việt Nam. Lưu ý: VNCoreExtPrimaryCareFacility mang nơi ĐKKCB ban đầu trên thẻ — khác với Encounter.serviceProvider hoặc Claim.provider vốn mang cơ sở KCB của lượt khám thực tế.
13. Tham chiếu pháp lý và FHIR spec
- QĐ 130/QĐ-BYT (2023) — Chuẩn dữ liệu đầu ra phục vụ quản lý chi phí KCB BHYT. Mã VN Core:
QD-130-2023. Xem legal-corpus.md. - QĐ 4750/QĐ-BYT (2023) — Sửa đổi QĐ 130. Mã:
QD-4750-2023. - QĐ 3176/QĐ-BYT (29/10/2024) — Sửa QĐ 4750/QĐ 130, chuẩn KCB hiện hành. Mã:
QD-3176-2024. - QĐ 697/QĐ-BYT (19/3/2026) — Mẫu bảng kê chi phí KCB. Mã:
QD-697-2026. - QĐ 3276/QĐ-BYT (17/10/2025) — Danh mục mã đối tượng đến KCB. Mã:
QD-3276-2025. - QĐ 4210/QĐ-BYT — Chuẩn dữ liệu đầu ra phục vụ BHXH (legacy). Mã:
QD-4210-BYT. - Luật BHYT sửa đổi: Luật 51/2024/QH15 (mã:
L-51-2024, hiệu lực 01/07/2025). Lưu ýL-91-2025là Luật BVDLCN, không phải BHYT. - NĐ 188/2025/NĐ-CP — Hướng dẫn Luật BHYT (ban hành 01/7/2025, hiệu lực 15/8/2025).
- NĐ 164/2025/NĐ-CP — Giao dịch điện tử BHXH (29/6/2025).
- NĐ 233/2025/NĐ-CP — Cơ chế tài chính quỹ BHYT.
- TT 12/2026/TT-BTC — Trình tự, biểu mẫu giám định và quyết toán BHYT (10/02/2026).
- FHIR R4 Claim — hl7.org/fhir/R4/claim.html.
- FHIR R4 ClaimResponse — hl7.org/fhir/R4/claimresponse.html.
- FHIR R4 Coverage — hl7.org/fhir/R4/coverage.html.
- FHIR R4 ExplanationOfBenefit — hl7.org/fhir/R4/explanationofbenefit.html.
- FHIR R4 Invoice — hl7.org/fhir/R4/invoice.html.
- FHIR Shorthand reference — FSH spec.