Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide
0.9.0 - Draft for Community Review
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.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Draft tại thời điểm 2026-07-30 |
Các định nghĩa cho vn-ext-insurance-cost-info phần mở rộng
Guidance on how to interpret the contents of this table can be foundhere
| 0. Extension | |
| Definition | 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: MedicationRequest, MedicationAdministration, Procedure, Claim.item, Claim.item.detail, ExplanationOfBenefit.item, ExplanationOfBenefit.item.detail, ServiceRequest và MedicationDispense khi các resource đó đang đóng vai trò nguồn dữ liệu cho dòng chi phí. 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] (ban hành 29/10/2024, hiệu lực 29/10/2024) — Chuẩn dữ liệu đầu ra KCB phục vụ BHXH; [NĐ 188/2025/NĐ-CP] (ban hành 01/07/2025, hiệu lực 15/08/2025) — Hướng dẫn thi hành Luật BHYT.
English summary: Reusable line-level BHYT cost information for medication, procedure, service, Claim, EOB, and medication-administration data. 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. Optional Extension Element - found in all resources. |
| Short | Thông tin chi phí BHYT — Insurance Cost Info ExtensionOptional Extensions Element |
| Control | 0..* This element is affected by the following invariants: ele-1 |
| Is Modifier | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists())ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 2. Extension.extension:scope | |
| Slice Name | scope |
| Definition | An Extension |
| Short | Phạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CPAdditional content defined by implementations |
| Control | 0..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 4. Extension.extension:scope.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 6. Extension.extension:scope.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | scope |
| 8. Extension.extension:scope.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 10..1 |
| Binding | Unless not suitable, these codes SHALL be taken from For codes, see Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet (extensible to http://fhir.hl7.org.vn/core/ValueSet/vn-insurance-scope-vs) |
| Type | CodeableConcept, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 10. Extension.extension:paymentRatio | |
| Slice Name | paymentRatio |
| Definition | 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). 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. |
| Short | Tỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50Additional content defined by implementations |
| Control | 0..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 12. Extension.extension:paymentRatio.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 14. Extension.extension:paymentRatio.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | paymentRatio |
| 16. Extension.extension:paymentRatio.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 10..1 |
| Type | decimal, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 18. Extension.extension:benefitLevel | |
| Slice Name | benefitLevel |
| Definition | An Extension |
| Short | Mức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40Additional content defined by implementations |
| Control | 0..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 20. Extension.extension:benefitLevel.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 22. Extension.extension:benefitLevel.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | benefitLevel |
| 24. Extension.extension:benefitLevel.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 10..1 |
| Type | decimal, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 26. Extension.extension:paymentCeiling | |
| Slice Name | paymentCeiling |
| Definition | An Extension |
| Short | Mức trần thanh toán BHYT của dòng chi phí (T_TRANTT)Additional content defined by implementations |
| Control | 0..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 28. Extension.extension:paymentCeiling.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 30. Extension.extension:paymentCeiling.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | paymentCeiling |
| 32. Extension.extension:paymentCeiling.value[x] | |
| Definition | Mức thanh toán tối đa của quỹ BHYT đối với dòng chi phí DVKT/VTYT trong một lần thực hiện (T_TRANTT), tương ứng trần 45 tháng lương cơ sở theo NĐ 188/2025/NĐ-CP. Chỉ ghi khi VTYT/DVKT có quy định mức thanh toán BHYT; khi DON_GIA_BV vượt trần thì DON_GIA_BH = T_TRANTT. Ánh xạ trường T_TRANTT (Bảng 3 STT 21) theo QĐ 3176/QĐ-BYT. Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Trần thanh toán BHYT (VND)Value of extension |
| Control | 10..1 |
| Type | Money, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 34. Extension.extension:servicePaymentRatio | |
| Slice Name | servicePaymentRatio |
| Definition | 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). |
| Short | Tỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33Additional content defined by implementations |
| Control | 0..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 36. Extension.extension:servicePaymentRatio.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 38. Extension.extension:servicePaymentRatio.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | servicePaymentRatio |
| 40. Extension.extension:servicePaymentRatio.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 10..1 |
| Type | decimal, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 42. Extension.extension:insuranceUnitPrice | |
| Slice Name | insuranceUnitPrice |
| Definition | Đơ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. |
| Short | Đơn giá do quỹ BHYT thanh toán (DON_GIA_BH)Additional content defined by implementations |
| Control | 0..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 44. Extension.extension:insuranceUnitPrice.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 46. Extension.extension:insuranceUnitPrice.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | insuranceUnitPrice |
| 48. Extension.extension:insuranceUnitPrice.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Đơn giá BHYT thanh toán (VND)Value of extension |
| Control | 10..1 |
| Type | Money, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 50. Extension.extension:insuranceLineAmount | |
| Slice Name | insuranceLineAmount |
| Definition | Thành tiền thuộc phạm vi/tỷ lệ BHYT của dòng chi phí (THANH_TIEN_BH, cột 9), trước khi phân bổ thành quỹ BHYT, cùng chi trả, nguồn khác và tự trả. Trên ExplanationOfBenefit, giá trị này tương ứng adjudication |
| Short | Thành tiền BH đủ điều kiện của dòng, cột 9 (THANH_TIEN_BH) — Eligible insurance line amountAdditional content defined by implementations |
| Control | 0..1* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| 52. Extension.extension:insuranceLineAmount.extension | |
| Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | ExtensionAdditional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..0* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 54. Extension.extension:insuranceLineAmount.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | insuranceLineAmount |
| 56. Extension.extension:insuranceLineAmount.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Thành tiền BH đủ điều kiện (VND) — Eligible insurance line amountValue of extension |
| Control | 10..1 |
| Type | Money, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 58. Extension.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info |
| 60. Extension.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..01 |
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
Guidance on how to interpret the contents of this table can be foundhere
| 0. Extension | |
| Definition | 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: MedicationRequest, MedicationAdministration, Procedure, Claim.item, Claim.item.detail, ExplanationOfBenefit.item, ExplanationOfBenefit.item.detail, ServiceRequest và MedicationDispense khi các resource đó đang đóng vai trò nguồn dữ liệu cho dòng chi phí. 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] (ban hành 29/10/2024, hiệu lực 29/10/2024) — Chuẩn dữ liệu đầu ra KCB phục vụ BHXH; [NĐ 188/2025/NĐ-CP] (ban hành 01/07/2025, hiệu lực 15/08/2025) — Hướng dẫn thi hành Luật BHYT.
English summary: Reusable line-level BHYT cost information for medication, procedure, service, Claim, EOB, and medication-administration data. 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. |
| Short | Thông tin chi phí BHYT — Insurance Cost Info Extension |
| 2. Extension.extension:scope | |
| Slice Name | scope |
| Short | Phạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CP |
| Control | 0..1 |
| 4. Extension.extension:scope.extension | |
| Control | 0..0 |
| 6. Extension.extension:scope.url | |
| Fixed Value | scope |
| 8. Extension.extension:scope.value[x] | |
| Control | 1..? |
| Binding | Unless not suitable, these codes SHALL be taken from Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet (extensible to http://fhir.hl7.org.vn/core/ValueSet/vn-insurance-scope-vs) |
| Type | CodeableConcept |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| 10. Extension.extension:paymentRatio | |
| Slice Name | paymentRatio |
| Definition | 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). 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. |
| Short | Tỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50 |
| Control | 0..1 |
| 12. Extension.extension:paymentRatio.extension | |
| Control | 0..0 |
| 14. Extension.extension:paymentRatio.url | |
| Fixed Value | paymentRatio |
| 16. Extension.extension:paymentRatio.value[x] | |
| Control | 1..? |
| Type | decimal |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 18. Extension.extension:benefitLevel | |
| Slice Name | benefitLevel |
| Short | Mức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40 |
| Control | 0..1 |
| 20. Extension.extension:benefitLevel.extension | |
| Control | 0..0 |
| 22. Extension.extension:benefitLevel.url | |
| Fixed Value | benefitLevel |
| 24. Extension.extension:benefitLevel.value[x] | |
| Control | 1..? |
| Type | decimal |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 26. Extension.extension:paymentCeiling | |
| Slice Name | paymentCeiling |
| Short | Mức trần thanh toán BHYT của dòng chi phí (T_TRANTT) |
| Control | 0..1 |
| 28. Extension.extension:paymentCeiling.extension | |
| Control | 0..0 |
| 30. Extension.extension:paymentCeiling.url | |
| Fixed Value | paymentCeiling |
| 32. Extension.extension:paymentCeiling.value[x] | |
| Definition | Mức thanh toán tối đa của quỹ BHYT đối với dòng chi phí DVKT/VTYT trong một lần thực hiện (T_TRANTT), tương ứng trần 45 tháng lương cơ sở theo NĐ 188/2025/NĐ-CP. Chỉ ghi khi VTYT/DVKT có quy định mức thanh toán BHYT; khi DON_GIA_BV vượt trần thì DON_GIA_BH = T_TRANTT. Ánh xạ trường T_TRANTT (Bảng 3 STT 21) theo QĐ 3176/QĐ-BYT. |
| Short | Trần thanh toán BHYT (VND) |
| Control | 1..? |
| Type | Money |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| 34. Extension.extension:servicePaymentRatio | |
| Slice Name | servicePaymentRatio |
| Definition | 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). |
| Short | Tỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33 |
| Control | 0..1 |
| 36. Extension.extension:servicePaymentRatio.extension | |
| Control | 0..0 |
| 38. Extension.extension:servicePaymentRatio.url | |
| Fixed Value | servicePaymentRatio |
| 40. Extension.extension:servicePaymentRatio.value[x] | |
| Control | 1..? |
| Type | decimal |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 42. Extension.extension:insuranceUnitPrice | |
| Slice Name | insuranceUnitPrice |
| Definition | Đơ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. |
| Short | Đơn giá do quỹ BHYT thanh toán (DON_GIA_BH) |
| Control | 0..1 |
| 44. Extension.extension:insuranceUnitPrice.extension | |
| Control | 0..0 |
| 46. Extension.extension:insuranceUnitPrice.url | |
| Fixed Value | insuranceUnitPrice |
| 48. Extension.extension:insuranceUnitPrice.value[x] | |
| Short | Đơn giá BHYT thanh toán (VND) |
| Control | 1..? |
| Type | Money |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| 50. Extension.extension:insuranceLineAmount | |
| Slice Name | insuranceLineAmount |
| Definition | Thành tiền thuộc phạm vi/tỷ lệ BHYT của dòng chi phí (THANH_TIEN_BH, cột 9), trước khi phân bổ thành quỹ BHYT, cùng chi trả, nguồn khác và tự trả. Trên ExplanationOfBenefit, giá trị này tương ứng adjudication |
| Short | Thành tiền BH đủ điều kiện của dòng, cột 9 (THANH_TIEN_BH) — Eligible insurance line amount |
| Control | 0..1 |
| 52. Extension.extension:insuranceLineAmount.extension | |
| Control | 0..0 |
| 54. Extension.extension:insuranceLineAmount.url | |
| Fixed Value | insuranceLineAmount |
| 56. Extension.extension:insuranceLineAmount.value[x] | |
| Short | Thành tiền BH đủ điều kiện (VND) — Eligible insurance line amount |
| Control | 1..? |
| Type | Money |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| 58. Extension.url | |
| Fixed Value | http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info |
| 60. Extension.value[x] | |
| Control | 0..0 |
Guidance on how to interpret the contents of this table can be foundhere
| 0. Extension | |
| Definition | 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: MedicationRequest, MedicationAdministration, Procedure, Claim.item, Claim.item.detail, ExplanationOfBenefit.item, ExplanationOfBenefit.item.detail, ServiceRequest và MedicationDispense khi các resource đó đang đóng vai trò nguồn dữ liệu cho dòng chi phí. 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] (ban hành 29/10/2024, hiệu lực 29/10/2024) — Chuẩn dữ liệu đầu ra KCB phục vụ BHXH; [NĐ 188/2025/NĐ-CP] (ban hành 01/07/2025, hiệu lực 15/08/2025) — Hướng dẫn thi hành Luật BHYT.
English summary: Reusable line-level BHYT cost information for medication, procedure, service, Claim, EOB, and medication-administration data. 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. |
| Short | Thông tin chi phí BHYT — Insurance Cost Info Extension |
| Control | 0..* This element is affected by the following invariants: ele-1 |
| Is Modifier | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 2. Extension.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 4. Extension.extension | |
| Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
| Short | Additional content defined by implementations |
| Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
| Control | 0..* |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Alternate Names | extensions, user content |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 6. Extension.extension:scope | |
| Slice Name | scope |
| Definition | An Extension |
| Short | Phạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CP |
| Control | 0..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 8. Extension.extension:scope.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 10. Extension.extension:scope.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 12. Extension.extension:scope.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | scope |
| 14. Extension.extension:scope.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 1..1 |
| Binding | Unless not suitable, these codes SHALL be taken from Phạm vi hưởng BHYT — Vietnam Insurance Scope ValueSet (extensible to http://fhir.hl7.org.vn/core/ValueSet/vn-insurance-scope-vs) |
| Type | CodeableConcept |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 16. Extension.extension:paymentRatio | |
| Slice Name | paymentRatio |
| Definition | 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). 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. |
| Short | Tỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50 |
| Control | 0..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 18. Extension.extension:paymentRatio.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 20. Extension.extension:paymentRatio.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 22. Extension.extension:paymentRatio.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | paymentRatio |
| 24. Extension.extension:paymentRatio.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 1..1 |
| Type | decimal |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 26. Extension.extension:benefitLevel | |
| Slice Name | benefitLevel |
| Definition | An Extension |
| Short | Mức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40 |
| Control | 0..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 28. Extension.extension:benefitLevel.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 30. Extension.extension:benefitLevel.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 32. Extension.extension:benefitLevel.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | benefitLevel |
| 34. Extension.extension:benefitLevel.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 1..1 |
| Type | decimal |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 36. Extension.extension:paymentCeiling | |
| Slice Name | paymentCeiling |
| Definition | An Extension |
| Short | Mức trần thanh toán BHYT của dòng chi phí (T_TRANTT) |
| Control | 0..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 38. Extension.extension:paymentCeiling.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 40. Extension.extension:paymentCeiling.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 42. Extension.extension:paymentCeiling.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | paymentCeiling |
| 44. Extension.extension:paymentCeiling.value[x] | |
| Definition | Mức thanh toán tối đa của quỹ BHYT đối với dòng chi phí DVKT/VTYT trong một lần thực hiện (T_TRANTT), tương ứng trần 45 tháng lương cơ sở theo NĐ 188/2025/NĐ-CP. Chỉ ghi khi VTYT/DVKT có quy định mức thanh toán BHYT; khi DON_GIA_BV vượt trần thì DON_GIA_BH = T_TRANTT. Ánh xạ trường T_TRANTT (Bảng 3 STT 21) theo QĐ 3176/QĐ-BYT. |
| Short | Trần thanh toán BHYT (VND) |
| Control | 1..1 |
| Type | Money |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 46. Extension.extension:servicePaymentRatio | |
| Slice Name | servicePaymentRatio |
| Definition | 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). |
| Short | Tỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33 |
| Control | 0..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 48. Extension.extension:servicePaymentRatio.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 50. Extension.extension:servicePaymentRatio.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 52. Extension.extension:servicePaymentRatio.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | servicePaymentRatio |
| 54. Extension.extension:servicePaymentRatio.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 1..1 |
| Type | decimal |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 56. Extension.extension:insuranceUnitPrice | |
| Slice Name | insuranceUnitPrice |
| Definition | Đơ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. |
| Short | Đơn giá do quỹ BHYT thanh toán (DON_GIA_BH) |
| Control | 0..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 58. Extension.extension:insuranceUnitPrice.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 60. Extension.extension:insuranceUnitPrice.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 62. Extension.extension:insuranceUnitPrice.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | insuranceUnitPrice |
| 64. Extension.extension:insuranceUnitPrice.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Đơn giá BHYT thanh toán (VND) |
| Control | 1..1 |
| Type | Money |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 66. Extension.extension:insuranceLineAmount | |
| Slice Name | insuranceLineAmount |
| Definition | Thành tiền thuộc phạm vi/tỷ lệ BHYT của dòng chi phí (THANH_TIEN_BH, cột 9), trước khi phân bổ thành quỹ BHYT, cùng chi trả, nguồn khác và tự trả. Trên ExplanationOfBenefit, giá trị này tương ứng adjudication |
| Short | Thành tiền BH đủ điều kiện của dòng, cột 9 (THANH_TIEN_BH) — Eligible insurance line amount |
| Control | 0..1 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| 68. Extension.extension:insuranceLineAmount.id | |
| Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
| Short | Unique id for inter-element referencing |
| Control | 0..1 |
| Type | string |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| 70. Extension.extension:insuranceLineAmount.extension | |
| Definition | An Extension |
| Short | Extension |
| Control | 0..0 |
| Type | Extension |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists()) |
| Slicing | This element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators: |
| 72. Extension.extension:insuranceLineAmount.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | insuranceLineAmount |
| 74. Extension.extension:insuranceLineAmount.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Thành tiền BH đủ điều kiện (VND) — Eligible insurance line amount |
| Control | 1..1 |
| Type | Money |
| [x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
| Is Modifier | false |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
| 76. Extension.url | |
| Definition | Source of the definition for the extension code - a logical name or a URL. |
| Short | identifies the meaning of the extension |
| Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
| Control | 1..1 |
| Type | uri |
| Is Modifier | false |
| XML Format | In the XML format, this property is represented as an attribute. |
| Summary | false |
| Fixed Value | http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info |
| 78. Extension.value[x] | |
| Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
| Short | Value of extension |
| Control | 0..0 |
| Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, Reference, SampledData, Signature, Timing, ContactDetail, Contributor, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Dosage, Meta |
| Is Modifier | false |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| Summary | false |
| Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |