HL7 Vietnam VN Core FHIR Implementation Guide

Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.8.0 - Draft for Community Review Viet Nam cờ

Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam - Draft for Community Review (v0.8.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 - Mô tả chi tiết

Draft tại thời điểm 2026-07-17

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, Procedure, Claim.item, 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; không dùng trên DeviceUseStatement vì DeviceUseStatement là ghi nhận sử dụng lâm sàng. 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 (29/10/2024); NĐ 188/2025/NĐ-CP (trần thanh toán BHYT 45 tháng lương cơ sở).


Optional Extension Element - found in all resources.

ShortThông tin chi phí BHYT — Insurance Cost Info ExtensionOptional Extensions Element
Control0..*
This element is affected by the following invariants: ele-1
Is Modifierfalse
Invariantsele-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 Namescope
Definition

An Extension

ShortPhạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CPAdditional content defined by implementations
Control0..1*
TypeExtension
Is Modifierfalse
Summaryfalse
Invariantsele-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.

ShortExtensionAdditional 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.

Control0..0*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-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())
SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. Extension.extension:scope.url
    Definition

    Source of the definition for the extension code - a logical name or a URL.

    Shortidentifies 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.

    Control1..1
    Typeuri
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    Fixed Valuescope
    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).

    ShortValue of extension
    Control10..1
    BindingUnless 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)
    TypeCodeableConcept, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    10. Extension.extension:paymentRatio
    Slice NamepaymentRatio
    Definition

    An Extension

    ShortTỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50Additional content defined by implementations
    Control0..1*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Invariantsele-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.

    ShortExtensionAdditional 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.

    Control0..0*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Alternate Namesextensions, user content
    Invariantsele-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())
    SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 14. Extension.extension:paymentRatio.url
      Definition

      Source of the definition for the extension code - a logical name or a URL.

      Shortidentifies 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.

      Control1..1
      Typeuri
      Is Modifierfalse
      XML FormatIn the XML format, this property is represented as an attribute.
      Summaryfalse
      Fixed ValuepaymentRatio
      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).

      ShortValue of extension
      Control10..1
      Typedecimal, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      18. Extension.extension:benefitLevel
      Slice NamebenefitLevel
      Definition

      An Extension

      ShortMức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40Additional content defined by implementations
      Control0..1*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Invariantsele-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.

      ShortExtensionAdditional 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.

      Control0..0*
      TypeExtension
      Is Modifierfalse
      Summaryfalse
      Alternate Namesextensions, user content
      Invariantsele-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())
      SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 22. Extension.extension:benefitLevel.url
        Definition

        Source of the definition for the extension code - a logical name or a URL.

        Shortidentifies 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.

        Control1..1
        Typeuri
        Is Modifierfalse
        XML FormatIn the XML format, this property is represented as an attribute.
        Summaryfalse
        Fixed ValuebenefitLevel
        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).

        ShortValue of extension
        Control10..1
        Typedecimal, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        26. Extension.extension:paymentCeiling
        Slice NamepaymentCeiling
        Definition

        An Extension

        ShortMức trần thanh toán BHYT của dòng chi phí (T_TRANTT)Additional content defined by implementations
        Control0..1*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Invariantsele-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.

        ShortExtensionAdditional 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.

        Control0..0*
        TypeExtension
        Is Modifierfalse
        Summaryfalse
        Alternate Namesextensions, user content
        Invariantsele-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())
        SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 30. Extension.extension:paymentCeiling.url
          Definition

          Source of the definition for the extension code - a logical name or a URL.

          Shortidentifies 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.

          Control1..1
          Typeuri
          Is Modifierfalse
          XML FormatIn the XML format, this property is represented as an attribute.
          Summaryfalse
          Fixed ValuepaymentCeiling
          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).

          ShortTrần thanh toán BHYT (VND)Value of extension
          Control10..1
          TypeMoney, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          34. Extension.extension:servicePaymentRatio
          Slice NameservicePaymentRatio
          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, Bảng 3 STT 17) theo QĐ 3176/QĐ-BYT. Khác với paymentRatio (TYLE_TT_BH, Bảng 3 STT 18 — tỷ lệ thanh toán BHYT của thuốc/DVKT/VTYT): 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. Vắng mặt được hiểu là 100. 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).

          ShortTỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33Additional content defined by implementations
          Control0..1*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Invariantsele-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.

          ShortExtensionAdditional 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.

          Control0..0*
          TypeExtension
          Is Modifierfalse
          Summaryfalse
          Alternate Namesextensions, user content
          Invariantsele-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())
          SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 38. Extension.extension:servicePaymentRatio.url
            Definition

            Source of the definition for the extension code - a logical name or a URL.

            Shortidentifies 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.

            Control1..1
            Typeuri
            Is Modifierfalse
            XML FormatIn the XML format, this property is represented as an attribute.
            Summaryfalse
            Fixed ValueservicePaymentRatio
            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).

            ShortValue of extension
            Control10..1
            Typedecimal, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
            Is Modifierfalse
            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
            Summaryfalse
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            42. Extension.extension:insuranceUnitPrice
            Slice NameinsuranceUnitPrice
            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, 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.

            ShortĐơn giá do quỹ BHYT thanh toán (DON_GIA_BH)Additional content defined by implementations
            Control0..1*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Invariantsele-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.

            ShortExtensionAdditional 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.

            Control0..0*
            TypeExtension
            Is Modifierfalse
            Summaryfalse
            Alternate Namesextensions, user content
            Invariantsele-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())
            SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 46. Extension.extension:insuranceUnitPrice.url
              Definition

              Source of the definition for the extension code - a logical name or a URL.

              Shortidentifies 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.

              Control1..1
              Typeuri
              Is Modifierfalse
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              Fixed ValueinsuranceUnitPrice
              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
              Control10..1
              TypeMoney, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
              Is Modifierfalse
              Summaryfalse
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              50. Extension.extension:insuranceLineAmount
              Slice NameinsuranceLineAmount
              Definition

              Thành tiền do quỹ BHYT thanh toán của dòng chi phí (THANH_TIEN_BH) theo QĐ 3176/QĐ-BYT. Với thuốc: THANH_TIEN_BH = SO_LUONG × DON_GIA × TYLE_TT_BH/100 (Bảng 2 STT 21). Với DVKT/VTYT: THANH_TIEN_BH = SO_LUONG × DON_GIA_BH × TYLE_TT_DV/100 × TYLE_TT_BH/100 (Bảng 3 STT 20), làm tròn 2 chữ số thập phân. Khi vắng mặt, hệ thống tiếp nhận có thể suy ra từ THANH_TIEN_BV × TYLE_TT_BH/100 (đúng khi DON_GIA_BH = DON_GIA_BV và TYLE_TT_DV = 100); ghi giá trị tường minh khi DON_GIA_BH khác DON_GIA_BV hoặc có tỷ lệ đặc thù.

              ShortThành tiền do quỹ BHYT thanh toán của dòng chi phí (THANH_TIEN_BH)Additional content defined by implementations
              Control0..1*
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              Invariantsele-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.

              ShortExtensionAdditional 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.

              Control0..0*
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              Alternate Namesextensions, user content
              Invariantsele-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())
              SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 54. Extension.extension:insuranceLineAmount.url
                Definition

                Source of the definition for the extension code - a logical name or a URL.

                Shortidentifies 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.

                Control1..1
                Typeuri
                Is Modifierfalse
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                Fixed ValueinsuranceLineAmount
                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).

                ShortThành tiền BHYT thanh toán (VND)Value of extension
                Control10..1
                TypeMoney, 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] NoteSeeChoice of Data Typesfor further information about how to use [x]
                Is Modifierfalse
                Summaryfalse
                Invariantsele-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.

                Shortidentifies 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.

                Control1..1
                Typeuri
                Is Modifierfalse
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                Fixed Valuehttp://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).

                ShortValue of extension
                Control0..01
                TypeChoice 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 Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summaryfalse
                Invariantsele-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, Procedure, Claim.item, 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; không dùng trên DeviceUseStatement vì DeviceUseStatement là ghi nhận sử dụng lâm sàng. 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 (29/10/2024); NĐ 188/2025/NĐ-CP (trần thanh toán BHYT 45 tháng lương cơ sở).

                ShortThông tin chi phí BHYT — Insurance Cost Info Extension
                2. Extension.extension:scope
                Slice Namescope
                ShortPhạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CP
                Control0..1
                4. Extension.extension:scope.extension
                Control0..0
                6. Extension.extension:scope.url
                Fixed Valuescope
                8. Extension.extension:scope.value[x]
                Control1..?
                BindingUnless 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)
                TypeCodeableConcept
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                10. Extension.extension:paymentRatio
                Slice NamepaymentRatio
                ShortTỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50
                Control0..1
                12. Extension.extension:paymentRatio.extension
                Control0..0
                14. Extension.extension:paymentRatio.url
                Fixed ValuepaymentRatio
                16. Extension.extension:paymentRatio.value[x]
                Control1..?
                Typedecimal
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                18. Extension.extension:benefitLevel
                Slice NamebenefitLevel
                ShortMức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40
                Control0..1
                20. Extension.extension:benefitLevel.extension
                Control0..0
                22. Extension.extension:benefitLevel.url
                Fixed ValuebenefitLevel
                24. Extension.extension:benefitLevel.value[x]
                Control1..?
                Typedecimal
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                26. Extension.extension:paymentCeiling
                Slice NamepaymentCeiling
                ShortMức trần thanh toán BHYT của dòng chi phí (T_TRANTT)
                Control0..1
                28. Extension.extension:paymentCeiling.extension
                Control0..0
                30. Extension.extension:paymentCeiling.url
                Fixed ValuepaymentCeiling
                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.

                ShortTrần thanh toán BHYT (VND)
                Control1..?
                TypeMoney
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                34. Extension.extension:servicePaymentRatio
                Slice NameservicePaymentRatio
                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, Bảng 3 STT 17) theo QĐ 3176/QĐ-BYT. Khác với paymentRatio (TYLE_TT_BH, Bảng 3 STT 18 — tỷ lệ thanh toán BHYT của thuốc/DVKT/VTYT): 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. Vắng mặt được hiểu là 100. 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).

                ShortTỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33
                Control0..1
                36. Extension.extension:servicePaymentRatio.extension
                Control0..0
                38. Extension.extension:servicePaymentRatio.url
                Fixed ValueservicePaymentRatio
                40. Extension.extension:servicePaymentRatio.value[x]
                Control1..?
                Typedecimal
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                42. Extension.extension:insuranceUnitPrice
                Slice NameinsuranceUnitPrice
                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, 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.

                ShortĐơn giá do quỹ BHYT thanh toán (DON_GIA_BH)
                Control0..1
                44. Extension.extension:insuranceUnitPrice.extension
                Control0..0
                46. Extension.extension:insuranceUnitPrice.url
                Fixed ValueinsuranceUnitPrice
                48. Extension.extension:insuranceUnitPrice.value[x]
                ShortĐơn giá BHYT thanh toán (VND)
                Control1..?
                TypeMoney
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                50. Extension.extension:insuranceLineAmount
                Slice NameinsuranceLineAmount
                Definition

                Thành tiền do quỹ BHYT thanh toán của dòng chi phí (THANH_TIEN_BH) theo QĐ 3176/QĐ-BYT. Với thuốc: THANH_TIEN_BH = SO_LUONG × DON_GIA × TYLE_TT_BH/100 (Bảng 2 STT 21). Với DVKT/VTYT: THANH_TIEN_BH = SO_LUONG × DON_GIA_BH × TYLE_TT_DV/100 × TYLE_TT_BH/100 (Bảng 3 STT 20), làm tròn 2 chữ số thập phân. Khi vắng mặt, hệ thống tiếp nhận có thể suy ra từ THANH_TIEN_BV × TYLE_TT_BH/100 (đúng khi DON_GIA_BH = DON_GIA_BV và TYLE_TT_DV = 100); ghi giá trị tường minh khi DON_GIA_BH khác DON_GIA_BV hoặc có tỷ lệ đặc thù.

                ShortThành tiền do quỹ BHYT thanh toán của dòng chi phí (THANH_TIEN_BH)
                Control0..1
                52. Extension.extension:insuranceLineAmount.extension
                Control0..0
                54. Extension.extension:insuranceLineAmount.url
                Fixed ValueinsuranceLineAmount
                56. Extension.extension:insuranceLineAmount.value[x]
                ShortThành tiền BHYT thanh toán (VND)
                Control1..?
                TypeMoney
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                58. Extension.url
                Fixed Valuehttp://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info
                60. Extension.value[x]
                Control0..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, Procedure, Claim.item, 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; không dùng trên DeviceUseStatement vì DeviceUseStatement là ghi nhận sử dụng lâm sàng. 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 (29/10/2024); NĐ 188/2025/NĐ-CP (trần thanh toán BHYT 45 tháng lương cơ sở).

                ShortThông tin chi phí BHYT — Insurance Cost Info Extension
                Control0..*
                This element is affected by the following invariants: ele-1
                Is Modifierfalse
                Invariantsele-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.

                ShortUnique id for inter-element referencing
                Control0..1
                Typestring
                Is Modifierfalse
                XML FormatIn the XML format, this property is represented as an attribute.
                Summaryfalse
                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.

                ShortAdditional 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.

                Control0..*
                TypeExtension
                Is Modifierfalse
                Summaryfalse
                Alternate Namesextensions, user content
                Invariantsele-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())
                SlicingThis element introduces a set of slices on Extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 6. Extension.extension:scope
                  Slice Namescope
                  Definition

                  An Extension

                  ShortPhạm vi BHYT (PHAM_VI): 1=trong DM, 2=ngoài DM, 3=NĐ 70/2015/NĐ-CP
                  Control0..1
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-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.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  10. Extension.extension:scope.extension
                  Definition

                  An Extension

                  ShortExtension
                  Control0..0
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-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())
                  SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 12. Extension.extension:scope.url
                    Definition

                    Source of the definition for the extension code - a logical name or a URL.

                    Shortidentifies 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.

                    Control1..1
                    Typeuri
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    Fixed Valuescope
                    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).

                    ShortValue of extension
                    Control1..1
                    BindingUnless 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)
                    TypeCodeableConcept
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    16. Extension.extension:paymentRatio
                    Slice NamepaymentRatio
                    Definition

                    An Extension

                    ShortTỷ lệ thanh toán BHYT (TYLE_TT) — VD: 100, 80, 50
                    Control0..1
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-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.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    20. Extension.extension:paymentRatio.extension
                    Definition

                    An Extension

                    ShortExtension
                    Control0..0
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-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())
                    SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • 22. Extension.extension:paymentRatio.url
                      Definition

                      Source of the definition for the extension code - a logical name or a URL.

                      Shortidentifies 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.

                      Control1..1
                      Typeuri
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      Fixed ValuepaymentRatio
                      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).

                      ShortValue of extension
                      Control1..1
                      Typedecimal
                      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      26. Extension.extension:benefitLevel
                      Slice NamebenefitLevel
                      Definition

                      An Extension

                      ShortMức hưởng BHYT (MUC_HUONG) — VD: 100, 80, 40
                      Control0..1
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-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.

                      ShortUnique id for inter-element referencing
                      Control0..1
                      Typestring
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      30. Extension.extension:benefitLevel.extension
                      Definition

                      An Extension

                      ShortExtension
                      Control0..0
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-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())
                      SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 32. Extension.extension:benefitLevel.url
                        Definition

                        Source of the definition for the extension code - a logical name or a URL.

                        Shortidentifies 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.

                        Control1..1
                        Typeuri
                        Is Modifierfalse
                        XML FormatIn the XML format, this property is represented as an attribute.
                        Summaryfalse
                        Fixed ValuebenefitLevel
                        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).

                        ShortValue of extension
                        Control1..1
                        Typedecimal
                        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                        Is Modifierfalse
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        36. Extension.extension:paymentCeiling
                        Slice NamepaymentCeiling
                        Definition

                        An Extension

                        ShortMức trần thanh toán BHYT của dòng chi phí (T_TRANTT)
                        Control0..1
                        TypeExtension
                        Is Modifierfalse
                        Summaryfalse
                        Invariantsele-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.

                        ShortUnique id for inter-element referencing
                        Control0..1
                        Typestring
                        Is Modifierfalse
                        XML FormatIn the XML format, this property is represented as an attribute.
                        Summaryfalse
                        40. Extension.extension:paymentCeiling.extension
                        Definition

                        An Extension

                        ShortExtension
                        Control0..0
                        TypeExtension
                        Is Modifierfalse
                        Summaryfalse
                        Invariantsele-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())
                        SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                        • value @ url
                        • 42. Extension.extension:paymentCeiling.url
                          Definition

                          Source of the definition for the extension code - a logical name or a URL.

                          Shortidentifies 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.

                          Control1..1
                          Typeuri
                          Is Modifierfalse
                          XML FormatIn the XML format, this property is represented as an attribute.
                          Summaryfalse
                          Fixed ValuepaymentCeiling
                          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.

                          ShortTrần thanh toán BHYT (VND)
                          Control1..1
                          TypeMoney
                          [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                          Is Modifierfalse
                          Summaryfalse
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          46. Extension.extension:servicePaymentRatio
                          Slice NameservicePaymentRatio
                          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, Bảng 3 STT 17) theo QĐ 3176/QĐ-BYT. Khác với paymentRatio (TYLE_TT_BH, Bảng 3 STT 18 — tỷ lệ thanh toán BHYT của thuốc/DVKT/VTYT): 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. Vắng mặt được hiểu là 100. 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).

                          ShortTỷ lệ thanh toán DVKT/giường/công khám (TYLE_TT_DV) — VD: 100, 50, 33
                          Control0..1
                          TypeExtension
                          Is Modifierfalse
                          Summaryfalse
                          Invariantsele-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.

                          ShortUnique id for inter-element referencing
                          Control0..1
                          Typestring
                          Is Modifierfalse
                          XML FormatIn the XML format, this property is represented as an attribute.
                          Summaryfalse
                          50. Extension.extension:servicePaymentRatio.extension
                          Definition

                          An Extension

                          ShortExtension
                          Control0..0
                          TypeExtension
                          Is Modifierfalse
                          Summaryfalse
                          Invariantsele-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())
                          SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                          • value @ url
                          • 52. Extension.extension:servicePaymentRatio.url
                            Definition

                            Source of the definition for the extension code - a logical name or a URL.

                            Shortidentifies 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.

                            Control1..1
                            Typeuri
                            Is Modifierfalse
                            XML FormatIn the XML format, this property is represented as an attribute.
                            Summaryfalse
                            Fixed ValueservicePaymentRatio
                            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).

                            ShortValue of extension
                            Control1..1
                            Typedecimal
                            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                            Is Modifierfalse
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            Summaryfalse
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            56. Extension.extension:insuranceUnitPrice
                            Slice NameinsuranceUnitPrice
                            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, 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.

                            ShortĐơn giá do quỹ BHYT thanh toán (DON_GIA_BH)
                            Control0..1
                            TypeExtension
                            Is Modifierfalse
                            Summaryfalse
                            Invariantsele-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.

                            ShortUnique id for inter-element referencing
                            Control0..1
                            Typestring
                            Is Modifierfalse
                            XML FormatIn the XML format, this property is represented as an attribute.
                            Summaryfalse
                            60. Extension.extension:insuranceUnitPrice.extension
                            Definition

                            An Extension

                            ShortExtension
                            Control0..0
                            TypeExtension
                            Is Modifierfalse
                            Summaryfalse
                            Invariantsele-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())
                            SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                            • value @ url
                            • 62. Extension.extension:insuranceUnitPrice.url
                              Definition

                              Source of the definition for the extension code - a logical name or a URL.

                              Shortidentifies 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.

                              Control1..1
                              Typeuri
                              Is Modifierfalse
                              XML FormatIn the XML format, this property is represented as an attribute.
                              Summaryfalse
                              Fixed ValueinsuranceUnitPrice
                              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)
                              Control1..1
                              TypeMoney
                              [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                              Is Modifierfalse
                              Summaryfalse
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              66. Extension.extension:insuranceLineAmount
                              Slice NameinsuranceLineAmount
                              Definition

                              Thành tiền do quỹ BHYT thanh toán của dòng chi phí (THANH_TIEN_BH) theo QĐ 3176/QĐ-BYT. Với thuốc: THANH_TIEN_BH = SO_LUONG × DON_GIA × TYLE_TT_BH/100 (Bảng 2 STT 21). Với DVKT/VTYT: THANH_TIEN_BH = SO_LUONG × DON_GIA_BH × TYLE_TT_DV/100 × TYLE_TT_BH/100 (Bảng 3 STT 20), làm tròn 2 chữ số thập phân. Khi vắng mặt, hệ thống tiếp nhận có thể suy ra từ THANH_TIEN_BV × TYLE_TT_BH/100 (đúng khi DON_GIA_BH = DON_GIA_BV và TYLE_TT_DV = 100); ghi giá trị tường minh khi DON_GIA_BH khác DON_GIA_BV hoặc có tỷ lệ đặc thù.

                              ShortThành tiền do quỹ BHYT thanh toán của dòng chi phí (THANH_TIEN_BH)
                              Control0..1
                              TypeExtension
                              Is Modifierfalse
                              Summaryfalse
                              Invariantsele-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.

                              ShortUnique id for inter-element referencing
                              Control0..1
                              Typestring
                              Is Modifierfalse
                              XML FormatIn the XML format, this property is represented as an attribute.
                              Summaryfalse
                              70. Extension.extension:insuranceLineAmount.extension
                              Definition

                              An Extension

                              ShortExtension
                              Control0..0
                              TypeExtension
                              Is Modifierfalse
                              Summaryfalse
                              Invariantsele-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())
                              SlicingThis element introduces a set of slices on Extension.extension.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                              • value @ url
                              • 72. Extension.extension:insuranceLineAmount.url
                                Definition

                                Source of the definition for the extension code - a logical name or a URL.

                                Shortidentifies 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.

                                Control1..1
                                Typeuri
                                Is Modifierfalse
                                XML FormatIn the XML format, this property is represented as an attribute.
                                Summaryfalse
                                Fixed ValueinsuranceLineAmount
                                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).

                                ShortThành tiền BHYT thanh toán (VND)
                                Control1..1
                                TypeMoney
                                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                                Is Modifierfalse
                                Summaryfalse
                                Invariantsele-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.

                                Shortidentifies 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.

                                Control1..1
                                Typeuri
                                Is Modifierfalse
                                XML FormatIn the XML format, this property is represented as an attribute.
                                Summaryfalse
                                Fixed Valuehttp://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).

                                ShortValue of extension
                                Control0..0
                                TypeChoice 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 Modifierfalse
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                Summaryfalse
                                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))