HL7 Vietnam VN Core FHIR Implementation Guide

Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide
0.10.0 - Draft for Community Review Viet Nam cờ

Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide - Draft for Community Review (v0.10.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Phần mở rộng: Thông tin chi phí BHYT — Insurance Cost Info Extension

URL chính thức: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info Phiên bản: 0.10.0
Computable Name: VNCoreExtInsuranceCostInfo
Định danh khác: OID:2.25.161089673617632664299011809196868855799.42.151

Extension tái sử dụng cho thông tin chi phí BHYT trên từng item (thuốc/DVKT/VTYT). Bao gồm: phạm vi BHYT (PHAM_VI), tỷ lệ thanh toán BHYT (TYLE_TT/TYLE_TT_BH), mức hưởng (MUC_HUONG), mức trần thanh toán BHYT (T_TRANTT), tỷ lệ thanh toán dịch vụ (TYLE_TT_DV), đơn giá BHYT (DON_GIA_BH) và thành tiền BHYT (THANH_TIEN_BH). Dùng trên Claim.item, Claim.item.detail, ExplanationOfBenefit.item, ExplanationOfBenefit.item.detail và Invoice.lineItem. Thông tin từ các resource lâm sàng hoặc dược được đưa vào dòng chi phí tương ứng; không gắn extension này trực tiếp lên những resource nguồn đó. Với thiết bị/vật tư, ưu tiên đặt trên Claim.item hoặc item.detail; không dùng trên DeviceUseStatement vì DeviceUseStatement là ghi nhận sử dụng lâm sàng. Theo QĐ 697/QĐ-BYT (các dòng hướng dẫn khoảng 389 và 407), component trong gói TBYT mang lossless các cột 5/6/8/9; chỉ các cột 10–13 được tính ở item tổng gói. Mapping XML 3176: PHAM_VI, TYLE_TT, MUC_HUONG; DON_GIA_BH (Bảng 3 STT 15), TYLE_TT_DV (Bảng 3 STT 17), THANH_TIEN_BH (Bảng 2 STT 21, Bảng 3 STT 20), T_TRANTT (Bảng 3 STT 21). Nguồn thiết kế: OHP Data Processor (medication-pham-vi, medication-payment-ratio, medication-benefit-level). Căn cứ: QĐ 3176/QĐ-BYT đọc cùng QĐ 1931/QĐ-BYT (áp dụng từ 01/07/2026) cho trường MUC_HUONG/SO_DANG_KY; QĐ 697/QĐ-BYT cho các cột bảng kê; VBHN 14/VBHN-BYT (hợp nhất TT 04/2017/TT-BYT với TT 50/2017/TT-BYT và TT 24/2025/TT-BYT) cho mức thanh toán TBYT; NĐ 188/2025/NĐ-CP là bối cảnh quyền lợi/ngoại lệ, không phải nguồn duy nhất của mọi trần dòng chi phí. English summary: Reusable BHYT cost information on Claim/EOB items and item details, and Invoice line items. Medication, procedure and service facts are represented on the corresponding financial line, not by placing this extension on the source clinical resource. On a medical-device package, each Claim/EOB item detail carries columns 5/6/8/9 losslessly, while columns 10–13 remain on the package item. insuranceLineAmount represents the insurance-eligible line amount (THANH_TIEN_BH/column 9), not the final BHYT fund allocation; on an EOB it aligns with adjudication eligible, while the fund allocation uses adjudication benefit.

Context of Use

Usage info

Usages:

You can also check for usages in the FHIR IG Statistics

Các dạng xem hình thức của nội dung phần mở rộng

Mô tả profile, differential, snapshot và các biểu diễn liên quan.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension C 0..* Extension Thông tin chi phí BHYT — Insurance Cost Info Extension
Constraints: vn-insurance-cost-ratio-and-lexical
... Slices for extension Content/Rules for all slices
.... extension:scope 0..1 Extension Phạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CP
..... extension 0..0 Extension
..... url 1..1 uri "scope"
..... value[x] 1..1 CodeableConcept Value of extension
Binding: Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet (extensible)
.... extension:paymentRatio 0..1 Extension Tỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50
..... extension 0..0 Extension
..... url 1..1 uri "paymentRatio"
..... value[x] 1..1 decimal Value of extension
.... extension:paymentRatioSourceLexical 0..1 Extension Chuỗi tỷ lệ nguyên gốc từ nguồn (vd `33,33`)
..... extension 0..0 Extension
..... url 1..1 uri "paymentRatioSourceLexical"
..... value[x] 1..1 string Value of extension
.... extension:benefitLevel 0..1 Extension Mức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40
..... extension 0..0 Extension
..... url 1..1 uri "benefitLevel"
..... value[x] 1..1 decimal Value of extension
.... extension:paymentCeiling 0..1 Extension Mức trần thanh toán BHYT của dòng chi phí (T_TRANTT)
..... extension 0..0 Extension
..... url 1..1 uri "paymentCeiling"
..... value[x] 1..1 Money Trần thanh toán BHYT (VND)
...... currency 1..1 code ISO 4217 Currency Code
Fixed Value: VND
.... extension:paymentCeilingPeriod 0..1 Extension Khoảng hiệu lực của mức trần thanh toán
..... extension 0..0 Extension
..... url 1..1 uri "paymentCeilingPeriod"
..... value[x] 1..1 Period Value of extension
...... start 1..1 dateTime Starting time with inclusive boundary
.... extension:servicePaymentRatio 0..1 Extension Tỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33
..... extension 0..0 Extension
..... url 1..1 uri "servicePaymentRatio"
..... value[x] 1..1 decimal Value of extension
.... extension:insuranceUnitPrice 0..1 Extension Đơn giá do quỹ BHYT thanh toán (DON_GIA_BH)
..... extension 0..0 Extension
..... url 1..1 uri "insuranceUnitPrice"
..... value[x] 1..1 Money Đơn giá BHYT thanh toán (VND)
...... currency 1..1 code ISO 4217 Currency Code
Fixed Value: VND
.... extension:insuranceLineAmount 0..1 Extension Thành tiền BH đủ điều kiện của dòng, cột 9 (THANH_TIEN_BH) — Eligible insurance line amount
..... extension 0..0 Extension
..... url 1..1 uri "insuranceLineAmount"
..... value[x] 1..1 Money Thành tiền BH đủ điều kiện (VND) — Eligible insurance line amount
...... currency 1..1 code ISO 4217 Currency Code
Fixed Value: VND
... url 1..1 uri "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info"
... value[x] 0..0 Value of extension

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Extension.extension:scope.​value[x] Base extensible Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet 📦0.10.0 This IG

Constraints

Id Grade Path(s) Description Expression
vn-insurance-cost-ratio-and-lexical error Extension Các tỷ lệ phải nằm trong khoảng 0-100; chuỗi lexical gốc nếu có phải đi kèm paymentRatio; khoảng hiệu lực trần nếu có phải đi kèm paymentCeiling. Percentage values SHALL be within 0-100; a source lexical string SHALL accompany paymentRatio; a ceiling period SHALL accompany paymentCeiling. extension.where(url = 'paymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'servicePaymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100) and (extension.where(url = 'paymentRatioSourceLexical').empty() or extension.where(url = 'paymentRatio').exists()) and (extension.where(url = 'paymentCeilingPeriod').empty() or extension.where(url = 'paymentCeiling').exists())
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension C 0..* Extension Thông tin chi phí BHYT — Insurance Cost Info Extension
Constraints: vn-insurance-cost-ratio-and-lexical
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:scope 0..1 Extension Phạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CP
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "scope"
..... value[x] 1..1 CodeableConcept Value of extension
Binding: Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet (extensible)
.... extension:paymentRatio 0..1 Extension Tỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "paymentRatio"
..... value[x] 1..1 decimal Value of extension
.... extension:paymentRatioSourceLexical 0..1 Extension Chuỗi tỷ lệ nguyên gốc từ nguồn (vd `33,33`)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "paymentRatioSourceLexical"
..... value[x] 1..1 string Value of extension
.... extension:benefitLevel 0..1 Extension Mức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "benefitLevel"
..... value[x] 1..1 decimal Value of extension
.... extension:paymentCeiling 0..1 Extension Mức trần thanh toán BHYT của dòng chi phí (T_TRANTT)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "paymentCeiling"
..... value[x] 1..1 Money Trần thanh toán BHYT (VND)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 0..1 decimal Numerical value (with implicit precision)
...... currency Σ 1..1 code ISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.
Fixed Value: VND
.... extension:paymentCeilingPeriod 0..1 Extension Khoảng hiệu lực của mức trần thanh toán
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "paymentCeilingPeriod"
..... value[x] 1..1 Period Value of extension
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... start ΣC 1..1 dateTime Starting time with inclusive boundary
...... end ΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
.... extension:servicePaymentRatio 0..1 Extension Tỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "servicePaymentRatio"
..... value[x] 1..1 decimal Value of extension
.... extension:insuranceUnitPrice 0..1 Extension Đơn giá do quỹ BHYT thanh toán (DON_GIA_BH)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "insuranceUnitPrice"
..... value[x] 1..1 Money Đơn giá BHYT thanh toán (VND)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 0..1 decimal Numerical value (with implicit precision)
...... currency Σ 1..1 code ISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.
Fixed Value: VND
.... extension:insuranceLineAmount 0..1 Extension Thành tiền BH đủ điều kiện của dòng, cột 9 (THANH_TIEN_BH) — Eligible insurance line amount
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "insuranceLineAmount"
..... value[x] 1..1 Money Thành tiền BH đủ điều kiện (VND) — Eligible insurance line amount
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 0..1 decimal Numerical value (with implicit precision)
...... currency Σ 1..1 code ISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.
Fixed Value: VND
... url 1..1 uri "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info"

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Extension.extension:scope.​value[x] Base extensible Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet 📦0.10.0 This IG
Extension.extension:paymentCeiling.​value[x].currency Base required CurrencyCode 📍4.0.1 FHIR Std.
Extension.extension:insuranceUnitPrice.​value[x].currency Base required CurrencyCode 📍4.0.1 FHIR Std.
Extension.extension:insuranceLineAmount.​value[x].currency Base required CurrencyCode 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vn-insurance-cost-ratio-and-lexical error Extension Các tỷ lệ phải nằm trong khoảng 0-100; chuỗi lexical gốc nếu có phải đi kèm paymentRatio; khoảng hiệu lực trần nếu có phải đi kèm paymentCeiling. Percentage values SHALL be within 0-100; a source lexical string SHALL accompany paymentRatio; a ceiling period SHALL accompany paymentCeiling. extension.where(url = 'paymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'servicePaymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100) and (extension.where(url = 'paymentRatioSourceLexical').empty() or extension.where(url = 'paymentRatio').exists()) and (extension.where(url = 'paymentCeilingPeriod').empty() or extension.where(url = 'paymentCeiling').exists())

Summary

Complex Extension: Extension tái sử dụng cho thông tin chi phí BHYT trên từng item (thuốc/DVKT/VTYT). Bao gồm: phạm vi BHYT (PHAM_VI), tỷ lệ thanh toán BHYT (TYLE_TT/TYLE_TT_BH), mức hưởng (MUC_HUONG), mức trần thanh toán BHYT (T_TRANTT), tỷ lệ thanh toán dịch vụ (TYLE_TT_DV), đơn giá BHYT (DON_GIA_BH) và thành tiền BHYT (THANH_TIEN_BH). Dùng trên Claim.item, Claim.item.detail, ExplanationOfBenefit.item, ExplanationOfBenefit.item.detail và Invoice.lineItem. Thông tin từ các resource lâm sàng hoặc dược được đưa vào dòng chi phí tương ứng; không gắn extension này trực tiếp lên những resource nguồn đó. Với thiết bị/vật tư, ưu tiên đặt trên Claim.item hoặc item.detail; không dùng trên DeviceUseStatement vì DeviceUseStatement là ghi nhận sử dụng lâm sàng. Theo QĐ 697/QĐ-BYT (các dòng hướng dẫn khoảng 389 và 407), component trong gói TBYT mang lossless các cột 5/6/8/9; chỉ các cột 10–13 được tính ở item tổng gói. Mapping XML 3176: PHAM_VI, TYLE_TT, MUC_HUONG; DON_GIA_BH (Bảng 3 STT 15), TYLE_TT_DV (Bảng 3 STT 17), THANH_TIEN_BH (Bảng 2 STT 21, Bảng 3 STT 20), T_TRANTT (Bảng 3 STT 21). Nguồn thiết kế: OHP Data Processor (medication-pham-vi, medication-payment-ratio, medication-benefit-level). Căn cứ: QĐ 3176/QĐ-BYT đọc cùng QĐ 1931/QĐ-BYT (áp dụng từ 01/07/2026) cho trường MUC_HUONG/SO_DANG_KY; QĐ 697/QĐ-BYT cho các cột bảng kê; VBHN 14/VBHN-BYT (hợp nhất TT 04/2017/TT-BYT với TT 50/2017/TT-BYT và TT 24/2025/TT-BYT) cho mức thanh toán TBYT; NĐ 188/2025/NĐ-CP là bối cảnh quyền lợi/ngoại lệ, không phải nguồn duy nhất của mọi trần dòng chi phí. English summary: Reusable BHYT cost information on Claim/EOB items and item details, and Invoice line items. Medication, procedure and service facts are represented on the corresponding financial line, not by placing this extension on the source clinical resource. On a medical-device package, each Claim/EOB item detail carries columns 5/6/8/9 losslessly, while columns 10–13 remain on the package item. insuranceLineAmount represents the insurance-eligible line amount (THANH_TIEN_BH/column 9), not the final BHYT fund allocation; on an EOB it aligns with adjudication eligible, while the fund allocation uses adjudication benefit.

  • scope: CodeableConcept: An Extension
  • paymentRatio: decimal: Tỷ lệ thanh toán BHYT của dòng (cột 8). Không bắt buộc trên mọi dòng: vắng mặt biểu thị dòng ngoài phạm vi BHYT; nếu cần truyền lý do không có giá trị, dùng Data Absent Reason (DAR). NGOẠI LỆ trên VNCoreCostStatementInvoice: dòng thuộc phân đoạn không có coverage phải khai paymentRatio = 0 tường minh, KHÔNG dùng DAR và không để trống (QĐ 697/QĐ-BYT Phần Hai mục 2). The line's BHYT payment ratio (column 8). It is not mandatory on every line: absence denotes a line outside BHYT scope; use Data Absent Reason (DAR) when the reason for a missing value must be conveyed. EXCEPTION on VNCoreCostStatementInvoice: a line owned by a segment without Coverage SHALL declare paymentRatio = 0 explicitly, neither absent nor DAR.
  • paymentRatioSourceLexical: string: Giữ NGUYÊN chuỗi nhận từ chứng từ nguồn để đối soát và round-trip. Cần thiết vì hai nguồn không tương thích về kiểu: QĐ 697/QĐ-BYT ghi tỷ lệ dạng thập phân có dấu phẩy — dòng stent thứ ba trong mẫu bảng kê ghi 33,33 — trong khi QĐ 130/QĐ-BYT (chuỗi QĐ 130/QĐ-BYT → QĐ 4750/QĐ-BYT → QĐ 3176/QĐ-BYT) quy định TYLE_TT_BH là số NGUYÊN dương độ dài 3. Chuẩn hoá sang decimal làm mất chuỗi gốc, còn ép về số nguyên làm mất giá trị. Trường này KHÔNG thay paymentRatio: bên tính toán luôn đọc paymentRatio.
  • benefitLevel: decimal: Mức hưởng dùng trong dữ liệu đầu ra KCB. QĐ 1931/QĐ-BYT sửa QĐ 3176/QĐ-BYT, cho phép trường MUC_HUONG ở Bảng 2 và Bảng 3 có tối đa 4 ký tự từ 01/07/2026; giới hạn chuỗi này thuộc lớp xuất XML, không phải precision/cardinality của decimal FHIR.
  • paymentCeiling: Money: An Extension
  • paymentCeilingPeriod: Period: Khoảng thời gian mà giá trị paymentCeiling áp dụng. Cần thiết vì trần 45 tháng lương cơ sở là số tiền TÍNH RA từ mức lương cơ sở tại thời điểm, không phải hằng số: NĐ 161/2026/NĐ-CP Điều 3 khoản 2 đặt lương cơ sở 2.530.000 đồng/tháng từ 01/07/2026, nên trần tương ứng là 113.850.000 đồng. Một bảng kê lập trước mốc đó mang trần khác; không có khoảng hiệu lực thì không đối chiếu lại được.
  • servicePaymentRatio: decimal: Tỷ lệ thanh toán của dịch vụ kỹ thuật, ngày giường hoặc tiền công khám (TYLE_TT_DV, cột 6; Bảng 3 STT 17) theo QĐ 3176/QĐ-BYT. Khác với paymentRatio (TYLE_TT_BH, cột 8; Bảng 3 STT 18), TYLE_TT_DV phản ánh mức tính giá dịch vụ, ví dụ nằm ghép 02 người ghi 50, nằm ghép từ 03 người ghi 33, giường 01 người ghi 100. Không bắt buộc trên mọi dòng; vắng mặt biểu thị dòng ngoài phạm vi BHYT hoặc cột không áp dụng, và dùng Data Absent Reason (DAR) khi cần phân biệt lý do. Tham gia công thức THANH_TIEN_BV = SO_LUONG × DON_GIA_BV × TYLE_TT_DV/100 (Bảng 3 STT 19) và THANH_TIEN_BH (Bảng 3 STT 20).
  • insuranceUnitPrice: Money: Đơn giá dịch vụ kỹ thuật, VTYT, tiền giường bệnh, tiền công khám do quỹ BHYT thanh toán (DON_GIA_BH, cột 5; Bảng 3 STT 15) theo QĐ 3176/QĐ-BYT. Có thể khác đơn giá bệnh viện (DON_GIA_BV — Claim.item.unitPrice): khi VTYT có quy định mức thanh toán BHYT và DON_GIA_BV cao hơn mức thanh toán thì DON_GIA_BH = T_TRANTT (sub-extension paymentCeiling); không cao hơn thì DON_GIA_BH = DON_GIA_BV. Trường hợp VTYT tái sử dụng: DON_GIA_BH là giá thanh toán của 1 lần tái sử dụng. Không bắt buộc trên mọi dòng; vắng mặt biểu thị dòng ngoài phạm vi BHYT hoặc cột không áp dụng, và dùng Data Absent Reason (DAR) khi cần phân biệt lý do.
  • insuranceLineAmount: Money: Giá trị AUTHORITATIVE của cột 9 bảng kê QĐ 697/QĐ-BYT (THANH_TIEN_BH), nhận từ chứng từ hoặc nguồn nghiệp vụ. TUYỆT ĐỐI KHÔNG suy ngược hay ghi đè từ số lượng × đơn giá × tỷ lệ: mẫu bảng kê QĐ 697/QĐ-BYT có dòng stent thứ ba với Đơn giá BH = 0 và tỷ lệ 33,33 nhưng Thành tiền BH = 12.000.000 đồng, vì stent thứ ba được thanh toán theo 1/3 chi phí giá mua vào và không quá 12.000.000 đồng chứ không theo công thức nhân. Công thức chỉ dùng để CẢNH BÁO đối soát trên những calculationBasis xác định.

Dạng xem DifferentialDifferential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension C 0..* Extension Thông tin chi phí BHYT — Insurance Cost Info Extension
Constraints: vn-insurance-cost-ratio-and-lexical
... Slices for extension Content/Rules for all slices
.... extension:scope 0..1 Extension Phạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CP
..... extension 0..0 Extension
..... url 1..1 uri "scope"
..... value[x] 1..1 CodeableConcept Value of extension
Binding: Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet (extensible)
.... extension:paymentRatio 0..1 Extension Tỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50
..... extension 0..0 Extension
..... url 1..1 uri "paymentRatio"
..... value[x] 1..1 decimal Value of extension
.... extension:paymentRatioSourceLexical 0..1 Extension Chuỗi tỷ lệ nguyên gốc từ nguồn (vd `33,33`)
..... extension 0..0 Extension
..... url 1..1 uri "paymentRatioSourceLexical"
..... value[x] 1..1 string Value of extension
.... extension:benefitLevel 0..1 Extension Mức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40
..... extension 0..0 Extension
..... url 1..1 uri "benefitLevel"
..... value[x] 1..1 decimal Value of extension
.... extension:paymentCeiling 0..1 Extension Mức trần thanh toán BHYT của dòng chi phí (T_TRANTT)
..... extension 0..0 Extension
..... url 1..1 uri "paymentCeiling"
..... value[x] 1..1 Money Trần thanh toán BHYT (VND)
...... currency 1..1 code ISO 4217 Currency Code
Fixed Value: VND
.... extension:paymentCeilingPeriod 0..1 Extension Khoảng hiệu lực của mức trần thanh toán
..... extension 0..0 Extension
..... url 1..1 uri "paymentCeilingPeriod"
..... value[x] 1..1 Period Value of extension
...... start 1..1 dateTime Starting time with inclusive boundary
.... extension:servicePaymentRatio 0..1 Extension Tỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33
..... extension 0..0 Extension
..... url 1..1 uri "servicePaymentRatio"
..... value[x] 1..1 decimal Value of extension
.... extension:insuranceUnitPrice 0..1 Extension Đơn giá do quỹ BHYT thanh toán (DON_GIA_BH)
..... extension 0..0 Extension
..... url 1..1 uri "insuranceUnitPrice"
..... value[x] 1..1 Money Đơn giá BHYT thanh toán (VND)
...... currency 1..1 code ISO 4217 Currency Code
Fixed Value: VND
.... extension:insuranceLineAmount 0..1 Extension Thành tiền BH đủ điều kiện của dòng, cột 9 (THANH_TIEN_BH) — Eligible insurance line amount
..... extension 0..0 Extension
..... url 1..1 uri "insuranceLineAmount"
..... value[x] 1..1 Money Thành tiền BH đủ điều kiện (VND) — Eligible insurance line amount
...... currency 1..1 code ISO 4217 Currency Code
Fixed Value: VND
... url 1..1 uri "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info"
... value[x] 0..0 Value of extension

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Extension.extension:scope.​value[x] Base extensible Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet 📦0.10.0 This IG

Constraints

Id Grade Path(s) Description Expression
vn-insurance-cost-ratio-and-lexical error Extension Các tỷ lệ phải nằm trong khoảng 0-100; chuỗi lexical gốc nếu có phải đi kèm paymentRatio; khoảng hiệu lực trần nếu có phải đi kèm paymentCeiling. Percentage values SHALL be within 0-100; a source lexical string SHALL accompany paymentRatio; a ceiling period SHALL accompany paymentCeiling. extension.where(url = 'paymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'servicePaymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100) and (extension.where(url = 'paymentRatioSourceLexical').empty() or extension.where(url = 'paymentRatio').exists()) and (extension.where(url = 'paymentCeilingPeriod').empty() or extension.where(url = 'paymentCeiling').exists())

Dạng xem Snapshot

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension C 0..* Extension Thông tin chi phí BHYT — Insurance Cost Info Extension
Constraints: vn-insurance-cost-ratio-and-lexical
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... extension:scope 0..1 Extension Phạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CP
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "scope"
..... value[x] 1..1 CodeableConcept Value of extension
Binding: Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet (extensible)
.... extension:paymentRatio 0..1 Extension Tỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "paymentRatio"
..... value[x] 1..1 decimal Value of extension
.... extension:paymentRatioSourceLexical 0..1 Extension Chuỗi tỷ lệ nguyên gốc từ nguồn (vd `33,33`)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "paymentRatioSourceLexical"
..... value[x] 1..1 string Value of extension
.... extension:benefitLevel 0..1 Extension Mức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "benefitLevel"
..... value[x] 1..1 decimal Value of extension
.... extension:paymentCeiling 0..1 Extension Mức trần thanh toán BHYT của dòng chi phí (T_TRANTT)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "paymentCeiling"
..... value[x] 1..1 Money Trần thanh toán BHYT (VND)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 0..1 decimal Numerical value (with implicit precision)
...... currency Σ 1..1 code ISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.
Fixed Value: VND
.... extension:paymentCeilingPeriod 0..1 Extension Khoảng hiệu lực của mức trần thanh toán
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "paymentCeilingPeriod"
..... value[x] 1..1 Period Value of extension
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... start ΣC 1..1 dateTime Starting time with inclusive boundary
...... end ΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
.... extension:servicePaymentRatio 0..1 Extension Tỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "servicePaymentRatio"
..... value[x] 1..1 decimal Value of extension
.... extension:insuranceUnitPrice 0..1 Extension Đơn giá do quỹ BHYT thanh toán (DON_GIA_BH)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "insuranceUnitPrice"
..... value[x] 1..1 Money Đơn giá BHYT thanh toán (VND)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 0..1 decimal Numerical value (with implicit precision)
...... currency Σ 1..1 code ISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.
Fixed Value: VND
.... extension:insuranceLineAmount 0..1 Extension Thành tiền BH đủ điều kiện của dòng, cột 9 (THANH_TIEN_BH) — Eligible insurance line amount
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "insuranceLineAmount"
..... value[x] 1..1 Money Thành tiền BH đủ điều kiện (VND) — Eligible insurance line amount
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... value Σ 0..1 decimal Numerical value (with implicit precision)
...... currency Σ 1..1 code ISO 4217 Currency Code
Binding: Currencies (required): A code indicating the currency, taken from ISO 4217.
Fixed Value: VND
... url 1..1 uri "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info"

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Extension.extension:scope.​value[x] Base extensible Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet 📦0.10.0 This IG
Extension.extension:paymentCeiling.​value[x].currency Base required CurrencyCode 📍4.0.1 FHIR Std.
Extension.extension:insuranceUnitPrice.​value[x].currency Base required CurrencyCode 📍4.0.1 FHIR Std.
Extension.extension:insuranceLineAmount.​value[x].currency Base required CurrencyCode 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vn-insurance-cost-ratio-and-lexical error Extension Các tỷ lệ phải nằm trong khoảng 0-100; chuỗi lexical gốc nếu có phải đi kèm paymentRatio; khoảng hiệu lực trần nếu có phải đi kèm paymentCeiling. Percentage values SHALL be within 0-100; a source lexical string SHALL accompany paymentRatio; a ceiling period SHALL accompany paymentCeiling. extension.where(url = 'paymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'servicePaymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100) and (extension.where(url = 'paymentRatioSourceLexical').empty() or extension.where(url = 'paymentRatio').exists()) and (extension.where(url = 'paymentCeilingPeriod').empty() or extension.where(url = 'paymentCeiling').exists())

Summary

Complex Extension: Extension tái sử dụng cho thông tin chi phí BHYT trên từng item (thuốc/DVKT/VTYT). Bao gồm: phạm vi BHYT (PHAM_VI), tỷ lệ thanh toán BHYT (TYLE_TT/TYLE_TT_BH), mức hưởng (MUC_HUONG), mức trần thanh toán BHYT (T_TRANTT), tỷ lệ thanh toán dịch vụ (TYLE_TT_DV), đơn giá BHYT (DON_GIA_BH) và thành tiền BHYT (THANH_TIEN_BH). Dùng trên Claim.item, Claim.item.detail, ExplanationOfBenefit.item, ExplanationOfBenefit.item.detail và Invoice.lineItem. Thông tin từ các resource lâm sàng hoặc dược được đưa vào dòng chi phí tương ứng; không gắn extension này trực tiếp lên những resource nguồn đó. Với thiết bị/vật tư, ưu tiên đặt trên Claim.item hoặc item.detail; không dùng trên DeviceUseStatement vì DeviceUseStatement là ghi nhận sử dụng lâm sàng. Theo QĐ 697/QĐ-BYT (các dòng hướng dẫn khoảng 389 và 407), component trong gói TBYT mang lossless các cột 5/6/8/9; chỉ các cột 10–13 được tính ở item tổng gói. Mapping XML 3176: PHAM_VI, TYLE_TT, MUC_HUONG; DON_GIA_BH (Bảng 3 STT 15), TYLE_TT_DV (Bảng 3 STT 17), THANH_TIEN_BH (Bảng 2 STT 21, Bảng 3 STT 20), T_TRANTT (Bảng 3 STT 21). Nguồn thiết kế: OHP Data Processor (medication-pham-vi, medication-payment-ratio, medication-benefit-level). Căn cứ: QĐ 3176/QĐ-BYT đọc cùng QĐ 1931/QĐ-BYT (áp dụng từ 01/07/2026) cho trường MUC_HUONG/SO_DANG_KY; QĐ 697/QĐ-BYT cho các cột bảng kê; VBHN 14/VBHN-BYT (hợp nhất TT 04/2017/TT-BYT với TT 50/2017/TT-BYT và TT 24/2025/TT-BYT) cho mức thanh toán TBYT; NĐ 188/2025/NĐ-CP là bối cảnh quyền lợi/ngoại lệ, không phải nguồn duy nhất của mọi trần dòng chi phí. English summary: Reusable BHYT cost information on Claim/EOB items and item details, and Invoice line items. Medication, procedure and service facts are represented on the corresponding financial line, not by placing this extension on the source clinical resource. On a medical-device package, each Claim/EOB item detail carries columns 5/6/8/9 losslessly, while columns 10–13 remain on the package item. insuranceLineAmount represents the insurance-eligible line amount (THANH_TIEN_BH/column 9), not the final BHYT fund allocation; on an EOB it aligns with adjudication eligible, while the fund allocation uses adjudication benefit.

  • scope: CodeableConcept: An Extension
  • paymentRatio: decimal: Tỷ lệ thanh toán BHYT của dòng (cột 8). Không bắt buộc trên mọi dòng: vắng mặt biểu thị dòng ngoài phạm vi BHYT; nếu cần truyền lý do không có giá trị, dùng Data Absent Reason (DAR). NGOẠI LỆ trên VNCoreCostStatementInvoice: dòng thuộc phân đoạn không có coverage phải khai paymentRatio = 0 tường minh, KHÔNG dùng DAR và không để trống (QĐ 697/QĐ-BYT Phần Hai mục 2). The line's BHYT payment ratio (column 8). It is not mandatory on every line: absence denotes a line outside BHYT scope; use Data Absent Reason (DAR) when the reason for a missing value must be conveyed. EXCEPTION on VNCoreCostStatementInvoice: a line owned by a segment without Coverage SHALL declare paymentRatio = 0 explicitly, neither absent nor DAR.
  • paymentRatioSourceLexical: string: Giữ NGUYÊN chuỗi nhận từ chứng từ nguồn để đối soát và round-trip. Cần thiết vì hai nguồn không tương thích về kiểu: QĐ 697/QĐ-BYT ghi tỷ lệ dạng thập phân có dấu phẩy — dòng stent thứ ba trong mẫu bảng kê ghi 33,33 — trong khi QĐ 130/QĐ-BYT (chuỗi QĐ 130/QĐ-BYT → QĐ 4750/QĐ-BYT → QĐ 3176/QĐ-BYT) quy định TYLE_TT_BH là số NGUYÊN dương độ dài 3. Chuẩn hoá sang decimal làm mất chuỗi gốc, còn ép về số nguyên làm mất giá trị. Trường này KHÔNG thay paymentRatio: bên tính toán luôn đọc paymentRatio.
  • benefitLevel: decimal: Mức hưởng dùng trong dữ liệu đầu ra KCB. QĐ 1931/QĐ-BYT sửa QĐ 3176/QĐ-BYT, cho phép trường MUC_HUONG ở Bảng 2 và Bảng 3 có tối đa 4 ký tự từ 01/07/2026; giới hạn chuỗi này thuộc lớp xuất XML, không phải precision/cardinality của decimal FHIR.
  • paymentCeiling: Money: An Extension
  • paymentCeilingPeriod: Period: Khoảng thời gian mà giá trị paymentCeiling áp dụng. Cần thiết vì trần 45 tháng lương cơ sở là số tiền TÍNH RA từ mức lương cơ sở tại thời điểm, không phải hằng số: NĐ 161/2026/NĐ-CP Điều 3 khoản 2 đặt lương cơ sở 2.530.000 đồng/tháng từ 01/07/2026, nên trần tương ứng là 113.850.000 đồng. Một bảng kê lập trước mốc đó mang trần khác; không có khoảng hiệu lực thì không đối chiếu lại được.
  • servicePaymentRatio: decimal: Tỷ lệ thanh toán của dịch vụ kỹ thuật, ngày giường hoặc tiền công khám (TYLE_TT_DV, cột 6; Bảng 3 STT 17) theo QĐ 3176/QĐ-BYT. Khác với paymentRatio (TYLE_TT_BH, cột 8; Bảng 3 STT 18), TYLE_TT_DV phản ánh mức tính giá dịch vụ, ví dụ nằm ghép 02 người ghi 50, nằm ghép từ 03 người ghi 33, giường 01 người ghi 100. Không bắt buộc trên mọi dòng; vắng mặt biểu thị dòng ngoài phạm vi BHYT hoặc cột không áp dụng, và dùng Data Absent Reason (DAR) khi cần phân biệt lý do. Tham gia công thức THANH_TIEN_BV = SO_LUONG × DON_GIA_BV × TYLE_TT_DV/100 (Bảng 3 STT 19) và THANH_TIEN_BH (Bảng 3 STT 20).
  • insuranceUnitPrice: Money: Đơn giá dịch vụ kỹ thuật, VTYT, tiền giường bệnh, tiền công khám do quỹ BHYT thanh toán (DON_GIA_BH, cột 5; Bảng 3 STT 15) theo QĐ 3176/QĐ-BYT. Có thể khác đơn giá bệnh viện (DON_GIA_BV — Claim.item.unitPrice): khi VTYT có quy định mức thanh toán BHYT và DON_GIA_BV cao hơn mức thanh toán thì DON_GIA_BH = T_TRANTT (sub-extension paymentCeiling); không cao hơn thì DON_GIA_BH = DON_GIA_BV. Trường hợp VTYT tái sử dụng: DON_GIA_BH là giá thanh toán của 1 lần tái sử dụng. Không bắt buộc trên mọi dòng; vắng mặt biểu thị dòng ngoài phạm vi BHYT hoặc cột không áp dụng, và dùng Data Absent Reason (DAR) khi cần phân biệt lý do.
  • insuranceLineAmount: Money: Giá trị AUTHORITATIVE của cột 9 bảng kê QĐ 697/QĐ-BYT (THANH_TIEN_BH), nhận từ chứng từ hoặc nguồn nghiệp vụ. TUYỆT ĐỐI KHÔNG suy ngược hay ghi đè từ số lượng × đơn giá × tỷ lệ: mẫu bảng kê QĐ 697/QĐ-BYT có dòng stent thứ ba với Đơn giá BH = 0 và tỷ lệ 33,33 nhưng Thành tiền BH = 12.000.000 đồng, vì stent thứ ba được thanh toán theo 1/3 chi phí giá mua vào và không quá 12.000.000 đồng chứ không theo công thức nhân. Công thức chỉ dùng để CẢNH BÁO đối soát trên những calculationBasis xác định.

 

Biểu diễn khác của hồ sơ: CSV, Excel, Schematron