HL7 Vietnam VN Core FHIR Implementation Guide

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

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

Hồ sơ tài nguyên: Bảng kê chi phí khám bệnh, chữa bệnh — VN Core Cost Statement Invoice - Mô tả chi tiết

Draft tại thời điểm 2026-08-06

Các định nghĩa cho vn-core-cost-statement-invoice hồ sơ tài nguyên

Guidance on how to interpret the contents of this table can be foundhere

0. Invoice
Definition

Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.

ShortInvoice containing ChargeItems from an Account
Control0..*
Is Modifierfalse
Summaryfalse
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty())
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty())
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
vn-cost-statement-segment-sequence-unique: Mỗi sequence phân đoạn phải duy nhất trong bảng kê. Every segment sequence SHALL be unique within the cost statement. (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment').extension.where(url = 'sequence').value.ofType(positiveInt).isDistinct())
vn-cost-statement-line-segment-exists: Mỗi dòng chi phí phải trỏ về một phân đoạn có thật trên bảng kê. Every line SHALL reference an existing segment sequence. (lineItem.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'segmentSequence').value.ofType(positiveInt).all($this in %resource.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment').extension.where(url = 'sequence').value.ofType(positiveInt)))
vn-cost-statement-line-unit-price-required: Dòng chi phí không trỏ ChargeItem phải tự khai đơn vị tính và đơn giá bệnh viện — cột (2) và (4) của mẫu QĐ 697/QĐ-BYT. A line without a ChargeItem reference SHALL carry unit and hospitalUnitPrice. (lineItem.where(chargeItem.ofType(Reference).exists().not()).all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'unit').exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'hospitalUnitPrice').exists()))
vn-cost-statement-money-vnd: Mọi giá trị tiền của bảng kê phải dùng VND. Every monetary value SHALL use VND. (descendants().ofType(Money).all(currency = 'VND'))
vn-cost-statement-line-quantity-amount-required: Dòng chi phí phải có số lượng và thành tiền bệnh viện, trừ nhánh người bệnh tự túc phương tiện vận chuyển. A cost line SHALL carry quantity and hospital amount unless it is a patient-arranged transport line. (lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'transport-actual-one-way').exists() or (priceComponent.where(type = 'base').factor.exists() and priceComponent.where(type = 'base').amount.value.exists())))
vn-cost-statement-transport-line-category: Dòng khai vai trò vận chuyển người bệnh phải thuộc nhóm chi phí vận chuyển (mã 11), và ngược lại. A patient-transport line role and the transport cost category SHALL agree. (lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'lineRole').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'patient-transport').exists() = extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'category').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-category-cs' and code = '11').exists()))
vn-cost-statement-total-sum: Tổng bảng kê phải bằng tổng thành tiền của mọi dòng. The statement total SHALL equal the sum of all line amounts. (totalNet.value.exists() implies totalNet.value = lineItem.priceComponent.where(type = 'base').amount.value.aggregate($total + $this, 0))
vn-cost-statement-issued-allocation-complete: Bảng kê đã phát hành hoặc đã cân đối thì mọi dòng phải có phân bổ bốn nguồn thanh toán (cột 10–13). An issued or balanced statement SHALL allocate every line across the four payment sources. (status.where($this = 'issued' or $this = 'balanced').empty() or lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').exists()))
vn-cost-statement-package-component-category: Thiết bị thành phần chỉ khai trên dòng thuộc nhóm chi phí gói thiết bị y tế (mã 10). Package components SHALL only appear on lines in the medical-device package category. (lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').all(extension.where(url = 'packageComponent').exists() implies extension.where(url = 'category').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-category-cs' and code = '10').exists())))
vn-cost-statement-related-service-exists: Dòng gói thiết bị trỏ tới dịch vụ kỹ thuật nào thì dòng đó phải có thật trên bảng kê. A referenced technical-service line SHALL exist on the same statement. (lineItem.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'relatedServiceSequence').value.ofType(positiveInt).all($this in %resource.lineItem.sequence))
vn-cost-statement-uninsured-line-defaults: Cột số (8) của dòng không có thẻ BHYT phải bằng 0 và cột số (13) phải bằng cột số (7). For every line owned by a segment without Coverage, column 8 SHALL be explicitly 0 and column 13 SHALL equal column 7. (%resource.lineItem.where(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'segmentSequence').value.ofType(positiveInt).intersect(%resource.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment').where(extension.where(url = 'coverage').empty()).extension.where(url = 'sequence').value.ofType(positiveInt)).exists()).all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info').extension.where(url = 'paymentRatio').value.ofType(decimal) = 0 and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').extension.where(url = 'patientSelfPay').value.ofType(Money).value = priceComponent.where(type = 'base').amount.value))
2. Invoice.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Invoice.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the resource. 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.

Control10..*
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 Invoice.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 6. Invoice.extension:segment
    Slice Namesegment
    Definition

    Mỗi phân đoạn là một thẻ BHYT trong một khoảng thời gian với một mức hưởng. Người không có thẻ vẫn có ít nhất một phân đoạn (thường là một; profile để segment 1..* nên không chặn trường hợp bảng kê tách nhiều phân đoạn), nhưng phân đoạn không có coverage thì không được mang benefitLevel.

    ShortPhân đoạn thẻ và mức hưởng của đợt khám
    Control1..*
    This element is affected by the following invariants: ele-1
    TypeExtension(Phân đoạn thẻ và mức hưởng trên bảng kê — Cost Statement Card Segment) (Complex Extension)
    Is Modifierfalse
    Must Supporttrue
    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())
    vn-cost-statement-segment-benefit-range: Mức hưởng của phân đoạn phải nằm trong khoảng 0–100. The segment benefit level SHALL be between 0 and 100. (extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100))
    vn-cost-statement-uninsured-no-benefit: Phân đoạn không có thẻ BHYT thì không được khai mức hưởng. A segment without a Coverage SHALL NOT declare a benefit level. (extension.where(url = 'coverage').empty() implies extension.where(url = 'benefitLevel').empty())
    8. Invoice.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored
    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 Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
    Summaryfalse
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    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())
    10. Invoice.identifier
    Definition

    Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments.

    ShortMã lượt khám chữa bệnh (MA_LK) và số bảng kêBusiness Identifier for item
    NoteThis is a business identifier, not a resource identifier (see discussion)
    Control10..*
    TypeIdentifier
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Requirements

    Allows Identification of this Invoice instance.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    SlicingThis element introduces a set of slices on Invoice.identifier. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ system
    • 12. Invoice.identifier:MALK
      Slice NameMALK
      Definition

      Mã liên kết hồ sơ khám bệnh, chữa bệnh theo QĐ 3176/QĐ-BYT. Bắt buộc và duy nhất một lát: đây là giá trị mà VNCoreCostStatementComposition.identifier phải trùng, và là khoá nối sang các VNCoreClaim của cùng đợt.

      HAI VAI của khoá này, cần phân biệt khi triển khai: với hồ sơ có BHYT, giá trị chính là MA_LK được nộp cho cơ quan bảo hiểm theo QĐ 3176/QĐ-BYT. Với người bệnh KHÔNG có BHYT, bảng kê vẫn bắt buộc lát này nhưng giá trị chỉ đóng vai khoá nối nội bộ của cơ sở giữa bảng kê, bản ký và các hồ sơ cùng đợt — nó sẽ không bao giờ được nộp cho cơ quan bảo hiểm. Cơ sở tự sinh giá trị theo quy tắc của mình; ví dụ ExampleCostStatementUninsured dùng tiền tố LK-UNINSURED-.


      Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments.

      ShortMã liên kết hồ sơ (MA_LK) — khoá nối bảng kê, bản ký và các hồ sơ đề nghị thanh toán của cùng đợtBusiness Identifier for item
      NoteThis is a business identifier, not a resource identifier (see discussion)
      Control10..1*
      TypeIdentifier
      Is Modifierfalse
      Must Supporttrue
      Summarytrue
      Requirements

      Allows Identification of this Invoice instance.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      14. Invoice.identifier:MALK.use
      Definition

      The purpose of this identifier.

      Shortusual | official | temp | secondary | old (If known)
      Comments

      Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

      Control0..1
      BindingThe codes SHALL be taken from IdentifierUsehttp://hl7.org/fhir/ValueSet/identifier-use|4.0.1
      (required to http://hl7.org/fhir/ValueSet/identifier-use|4.0.1)

      Identifies the purpose for this identifier, if known .

      Typecode
      Is Modifiertrue because This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one.
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Requirements

      Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      16. Invoice.identifier:MALK.type
      Definition

      A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

      ShortDescription of identifier
      Comments

      This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

      Control0..1
      BindingUnless not suitable, these codes SHALL be taken from Identifier Type Codeshttp://hl7.org/fhir/ValueSet/identifier-type|4.0.1
      (extensible to http://hl7.org/fhir/ValueSet/identifier-type|4.0.1)

      A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

      TypeCodeableConcept
      Is Modifierfalse
      Summarytrue
      Requirements

      Allows users to make use of identifiers when the identifier system is not known.

      Pattern Value{
        "coding" : [{
          "system" : "http://fhir.hl7.org.vn/core/CodeSystem/vn-identifier-type-cs",
          "code" : "MA_LK"
        }]
      }
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      18. Invoice.identifier:MALK.system
      Definition

      Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

      ShortThe namespace for the identifier value
      Comments

      Identifier.system is always case sensitive.

      Control10..1
      Typeuri
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Requirements

      There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

      Fixed Valuehttp://fhir.hl7.org.vn/core/sid/ma-lk
      ExampleGeneral: http://www.acme.com/identifiers/patient
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      20. Invoice.identifier:MALK.value
      Definition

      The portion of the identifier typically relevant to the user and which is unique within the context of the system.

      ShortGiá trị MA_LKThe value that is unique
      Comments

      If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

      Control10..1
      Typestring
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      ExampleGeneral: 123456
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      22. Invoice.status
      Definition

      The current state of the Invoice.

      ShortTrạng thái bảng kê: draft | issued | balanced | cancelled | entered-in-errordraft | issued | balanced | cancelled | entered-in-error
      Control1..1
      BindingThe codes SHALL be taken from InvoiceStatushttp://hl7.org/fhir/ValueSet/invoice-status|4.0.1
      (required to http://hl7.org/fhir/ValueSet/invoice-status|4.0.1)

      Codes identifying the lifecycle stage of an Invoice.

      Typecode
      Is Modifiertrue because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      24. Invoice.type
      Definition

      Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary).

      ShortLoại bảng kêType of Invoice
      Control0..1
      TypeCodeableConcept
      Is Modifierfalse
      Must Supporttrue
      Summarytrue
      Alternate Namestype
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      26. Invoice.subject
      Definition

      The individual or set of individuals receiving the goods and services billed in this invoice.

      ShortNgười bệnh của lượt khámRecipient(s) of goods and services
      Control10..1
      TypeReference(Bệnh nhân VN Core — VN Core Patient Profile, Patient, Group)
      Is Modifierfalse
      Must Supporttrue
      Summarytrue
      Requirements

      Links the event to the Patient context.

      Alternate Namespatient
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      28. Invoice.recipient
      Definition

      The individual or Organization responsible for balancing of this invoice.

      ShortBên nhận bảng kê — thường là chính người bệnh hoặc người đại diệnRecipient of this invoice
      Control0..1
      TypeReference(Bệnh nhân VN Core — VN Core Patient Profile, Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile, Cơ sở y tế VN Core — VN Core Organization Profile, Organization, Patient, RelatedPerson)
      Is Modifierfalse
      Must Supporttrue
      Must Support TypesNo must-support rules about the choice of types/profiles
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      30. Invoice.date
      Definition

      Date/time(s) of when this Invoice was posted.

      ShortNgày lập bảng kêInvoice date / posting date
      Comments

      The list of types may be constrained as appropriate for the type of charge item.

      Control10..1
      TypedateTime
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      32. Invoice.issuer
      Definition

      The organizationissuing the Invoice.

      ShortCơ sở khám bệnh, chữa bệnh lập bảng kêIssuing Organization of Invoice
      Comments

      Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered.

      Control10..1
      TypeReference(Cơ sở y tế VN Core — VN Core Organization Profile, Organization)
      Is Modifierfalse
      Must Supporttrue
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      34. Invoice.account
      Definition

      Bắt buộc. MA_LK trên identifier là khoá trao đổi với BHXH; account là quan hệ thật trong hệ thống, cho phép truy ngược ra mọi Encounter và ChargeItem của đợt mà không phải so chuỗi.


      Account which is supposed to be balanced with this Invoice.

      ShortTài khoản viện phí của đợt điều trị mà bảng kê này tổng hợpAccount that is being balanced
      Comments

      Systems posting the ChargeItems might not always be able to determine, which accounts the Items need to be places into. It is up to the potprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate.

      Control10..1
      TypeReference(Tài khoản viện phí — VN Core Account, Account)
      Is Modifierfalse
      Must Supporttrue
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      36. Invoice.lineItem
      Definition

      Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource.

      ShortDòng chi phí của bảng kêLine items of this Invoice
      Control10..*
      TypeBackboneElement
      Is Modifierfalse
      Must Supporttrue
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      vn-cost-statement-line-allocation-sum: Thành tiền của dòng phải bằng tổng bốn nguồn thanh toán: quỹ BHYT, người bệnh cùng trả, nguồn khác và người bệnh tự trả. Dòng người bệnh tự túc phương tiện vận chuyển đối chiếu với cột (9) vì không có cột (7). The line amount SHALL equal the sum of the four payment sources; a patient-arranged transport line is checked against column 9 because it has no column 7. (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').exists() implies (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'transport-actual-one-way').exists().not() implies priceComponent.where(type = 'base').amount.value = extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').extension.value.ofType(Money).value.aggregate($total + $this, 0)) and (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'transport-actual-one-way').exists() implies extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info').extension.where(url = 'insuranceLineAmount').value.ofType(Money).value = extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').extension.value.ofType(Money).value.aggregate($total + $this, 0)))
      38. Invoice.lineItem.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.

      Control10..*
      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 Invoice.lineItem.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 40. Invoice.lineItem.extension:calculation
        Slice Namecalculation
        Definition

        Năm trục độc lập cho biết dòng này được hình thành theo cách nào. Cardinality 0..1 vì phần lớn dòng thông thường không cần khai tường minh; nhưng BẮT BUỘC với các nhánh mà công thức mặc định không áp được: vận chuyển (ba cách tính khác nhau), gói thiết bị y tế và stent bổ sung (trần riêng), và mọi dòng thuộc diện miễn trần. Xem invariant vn-cost-statement-line-quantity-amount-required.

        ShortNgữ cảnh tính: vai trò dòng, cơ sở tính, quy tắc trần, miễn trần, bộ công thức
        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(Ngữ cảnh tính chi phí dòng bảng kê — Cost Calculation Context) (Complex Extension)
        Is Modifierfalse
        Must Supporttrue
        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())
        vn-cost-calculation-stent-ordinal: Dòng stent bổ sung phải khai thứ tự trong khoảng 2-4. An additional-stent line SHALL declare an ordinal between 2 and 4. (extension.where(url = 'lineRole').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'additional-stent').empty() or extension.where(url = 'ordinal').value.ofType(positiveInt).where($this >= 2 and $this <= 4).exists())
        vn-cost-calculation-exemption-needs-cap: Chỉ khai miễn trần khi dòng đang áp một quy tắc trần. A cap exemption SHALL NOT be declared on a line with no cap rule. (extension.where(url = 'exemption').empty() or extension.where(url = 'capRule').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'no-cap').empty())
        vn-cost-calculation-transport-basis-coherent: Cơ sở tính vận chuyển và vai trò dòng vận chuyển phải đi cùng nhau. A transport calculation basis and the patient-transport line role SHALL be used together. (extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and (code = 'transport-kilometre' or code = 'transport-fuel' or code = 'transport-actual-one-way')).exists() = extension.where(url = 'lineRole').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'patient-transport').exists())
        42. Invoice.lineItem.extension:line
        Slice Nameline
        Definition

        Ba thuộc tính của một dòng bảng kê mà Invoice.lineItem của FHIR R4 không có sẵn: phân đoạn thẻ mà dòng thuộc về, nhóm chi phí, và ngày hoặc khoảng thực hiện.

        Invoice.lineItem chỉ có sequence, chargeItem[x] và priceComponent. Ba dữ liệu dưới đây là cột bắt buộc của mẫu QĐ 697/QĐ-BYT nên phải bổ sung; số lượng và tiền thì dùng element gốc (priceComponent.factor và priceComponent.amount).

        ShortPhân đoạn thẻ, nhóm chi phí và ngày thực hiện của dòng
        Control1..1
        This element is affected by the following invariants: ele-1
        TypeExtension(Thuộc tính dòng bảng kê chi phí — Cost Statement Line Attributes) (Complex Extension)
        Is Modifierfalse
        Must Supporttrue
        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. Invoice.lineItem.extension:insuranceCostInfo
        Slice NameinsuranceCostInfo
        Definition

        Để trống khi dòng không thuộc phạm vi BHYT trong các trường hợp thông thường. NGOẠI LỆ: dòng thuộc phân đoạn không có coverage — tức bảng kê của người không có thẻ BHYT — PHẢI khai paymentRatio = 0 tường minh theo QĐ 697/QĐ-BYT Phần Hai mục 2, vì trên profile này việc vắng mặt đã mang nghĩa riêng là dòng ngoài phạm vi BHYT. Xem invariant vn-cost-statement-uninsured-line-defaults.

        ShortĐơn giá BH, tỷ lệ thanh toán và thành tiền BH — cột 5, 6, 8, 9
        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(Thông tin chi phí BHYT — Insurance Cost Info Extension) (Complex Extension)
        Is Modifierfalse
        Must Supporttrue
        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())
        vn-insurance-cost-ratio-and-lexical: Các tỷ lệ phải nằm trong khoảng 0-100; chuỗi lexical gốc nếu có phải đi kèm paymentRatio; khoảng hiệu lực trần nếu có phải đi kèm paymentCeiling. Percentage values SHALL be within 0-100; a source lexical string SHALL accompany paymentRatio; a ceiling period SHALL accompany paymentCeiling. (extension.where(url = 'paymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'servicePaymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100) and (extension.where(url = 'paymentRatioSourceLexical').empty() or extension.where(url = 'paymentRatio').exists()) and (extension.where(url = 'paymentCeilingPeriod').empty() or extension.where(url = 'paymentCeiling').exists()))
        46. Invoice.lineItem.extension:linePaymentAllocation
        Slice NamelinePaymentAllocation
        Definition

        Để trống khi dòng chưa phân bổ. Khi có, tổng bốn nguồn phải bằng thành tiền bệnh viện của dòng.

        ShortBốn nguồn thanh toán — cột 10 đến 13
        Control0..1
        This element is affected by the following invariants: ele-1
        TypeExtension(Phân bổ nguồn thanh toán theo dòng — Line Payment Allocation) (Complex Extension)
        Is Modifierfalse
        Must Supporttrue
        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())
        vn-line-payment-allocation-vnd: Mọi khoản tiền phân bổ phải dùng VND. Every allocated Money value SHALL use VND. (extension.value.ofType(Money).all(currency = 'VND'))
        vn-line-payment-allocation-nonnegative: Mọi khoản tiền phân bổ phải lớn hơn hoặc bằng 0. Every allocated Money value SHALL be greater than or equal to zero. (extension.value.ofType(Money).all(value >= 0))
        48. Invoice.lineItem.modifierExtension
        Definition

        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.

        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

        ShortExtensions that cannot be ignored even if unrecognized
        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 Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
        Summarytrue
        Requirements

        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

        Alternate Namesextensions, user content, modifiers
        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())
        50. Invoice.lineItem.sequence
        Definition

        Sequence in which the items appear on the invoice.

        ShortSequence number of line item
        Control10..1
        TypepositiveInt
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        52. Invoice.lineItem.chargeItem[x]
        Definition

        The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference.

        ShortMã dịch vụ, thuốc hoặc vật tư của dòng; dùng Reference(ChargeItem) khi hệ thống đã có ChargeItemReference to ChargeItem containing details of this line item or an inline billing code
        Control1..1
        TypeChoice of: Reference(ChargeItem), CodeableConcept
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Must Supporttrue
        Must Support TypesNo must-support rules about the choice of types/profiles
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        54. Invoice.lineItem.priceComponent
        Definition

        The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.

        ShortThành phần giá của dòng; lát `base` mang số lượng và thành tiền bệnh việnComponents of total line item price
        Control10..*
        TypeBackboneElement
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        SlicingThis element introduces a set of slices on Invoice.lineItem.priceComponent. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ type
        • 56. Invoice.lineItem.priceComponent.modifierExtension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.

          Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

          ShortExtensions that cannot be ignored even if unrecognized
          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 Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
          Summarytrue
          Requirements

          Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

          Alternate Namesextensions, user content, modifiers
          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. Invoice.lineItem.priceComponent.type
          Definition

          This code identifies the type of the component.

          Shortbase | surcharge | deduction | discount | tax | informational
          Control1..1
          BindingThe codes SHALL be taken from InvoicePriceComponentTypehttp://hl7.org/fhir/ValueSet/invoice-priceComponentType|4.0.1
          (required to http://hl7.org/fhir/ValueSet/invoice-priceComponentType|4.0.1)

          Codes indicating the kind of the price component.

          Typecode
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          60. Invoice.lineItem.priceComponent.amount
          Definition

          The amount calculated for this component.

          ShortThành tiền của thành phần, VNDMonetary amount associated with this component
          Comments

          There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

          Control0..1
          TypeMoney
          Is Modifierfalse
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          62. Invoice.lineItem.priceComponent.amount.currency
          Definition

          ISO 4217 Currency Code.

          ShortISO 4217 Currency Code
          Control10..1
          BindingThe codes SHALL be taken from Currencieshttp://hl7.org/fhir/ValueSet/currencies|4.0.1
          (required to http://hl7.org/fhir/ValueSet/currencies|4.0.1)

          A code indicating the currency, taken from ISO 4217.

          Typecode
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Requirements

          A code indicating the currency, taken from ISO 4217.

          Fixed ValueVND
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          64. Invoice.lineItem.priceComponent:base
          Slice Namebase
          Definition

          The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.

          ShortComponents of total line item price
          Control10..1*
          TypeBackboneElement
          Is Modifierfalse
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          66. Invoice.lineItem.priceComponent:base.modifierExtension
          Definition

          May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.

          Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

          ShortExtensions that cannot be ignored even if unrecognized
          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 Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
          Summarytrue
          Requirements

          Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

          Alternate Namesextensions, user content, modifiers
          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. Invoice.lineItem.priceComponent:base.type
          Definition

          This code identifies the type of the component.

          Shortbase | surcharge | deduction | discount | tax | informational
          Control1..1
          BindingThe codes SHALL be taken from InvoicePriceComponentTypehttp://hl7.org/fhir/ValueSet/invoice-priceComponentType|4.0.1
          (required to http://hl7.org/fhir/ValueSet/invoice-priceComponentType|4.0.1)

          Codes indicating the kind of the price component.

          Typecode
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Must Supporttrue
          Summaryfalse
          Fixed Valuebase
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          70. Invoice.lineItem.priceComponent:base.factor
          Definition

          The factor that has been applied on the base price for calculating this component.

          ShortSố lượng của dòng — cột (3) của mẫu; trống ở nhánh người bệnh tự túc phương tiệnFactor used for calculating this component
          Comments

          There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

          Control0..1
          Typedecimal
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          72. Invoice.lineItem.priceComponent:base.amount
          Definition

          The amount calculated for this component.

          ShortThành tiền bệnh viện — cột (7) của mẫu; trống ở nhánh người bệnh tự túc phương tiệnMonetary amount associated with this component
          Comments

          There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

          Control0..1
          TypeMoney
          Is Modifierfalse
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          74. Invoice.lineItem.priceComponent:base.amount.value
          Definition

          Numerical value (with implicit precision).

          ShortNumerical value (with implicit precision)
          Comments

          Monetary values have their own rules for handling precision (refer to standard accounting text books).

          Control10..1
          Typedecimal
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Must Supporttrue
          Summarytrue
          Requirements

          The amount of the currency. The value includes an implicit precision in the presentation of the value.

          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          76. Invoice.lineItem.priceComponent:base.amount.currency
          Definition

          ISO 4217 Currency Code.

          ShortISO 4217 Currency Code
          Control10..1
          BindingThe codes SHALL be taken from Currencieshttp://hl7.org/fhir/ValueSet/currencies|4.0.1
          (required to http://hl7.org/fhir/ValueSet/currencies|4.0.1)

          A code indicating the currency, taken from ISO 4217.

          Typecode
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Requirements

          A code indicating the currency, taken from ISO 4217.

          Fixed ValueVND
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          78. Invoice.totalNet
          Definition

          Invoice total , taxes excluded.

          ShortTổng thành tiền bệnh viện của cả đợt khámNet total of this Invoice
          Comments

          There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

          Control10..1
          TypeMoney
          Is Modifierfalse
          Must Supporttrue
          Summarytrue
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          80. Invoice.totalNet.currency
          Definition

          ISO 4217 Currency Code.

          ShortISO 4217 Currency Code
          Control10..1
          BindingThe codes SHALL be taken from Currencieshttp://hl7.org/fhir/ValueSet/currencies|4.0.1
          (required to http://hl7.org/fhir/ValueSet/currencies|4.0.1)

          A code indicating the currency, taken from ISO 4217.

          Typecode
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Summarytrue
          Requirements

          A code indicating the currency, taken from ISO 4217.

          Fixed ValueVND
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          82. Invoice.totalGross
          Definition

          Invoice total, tax included.

          ShortTổng sau các khoản cộng thêm, nếu cóGross total of this Invoice
          Comments

          There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

          Control0..1
          TypeMoney
          Is Modifierfalse
          Must Supporttrue
          Summarytrue
          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. Invoice
          Invariantsvn-cost-statement-segment-sequence-unique: Mỗi sequence phân đoạn phải duy nhất trong bảng kê. Every segment sequence SHALL be unique within the cost statement. (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment').extension.where(url = 'sequence').value.ofType(positiveInt).isDistinct())
          vn-cost-statement-line-segment-exists: Mỗi dòng chi phí phải trỏ về một phân đoạn có thật trên bảng kê. Every line SHALL reference an existing segment sequence. (lineItem.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'segmentSequence').value.ofType(positiveInt).all($this in %resource.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment').extension.where(url = 'sequence').value.ofType(positiveInt)))
          vn-cost-statement-line-unit-price-required: Dòng chi phí không trỏ ChargeItem phải tự khai đơn vị tính và đơn giá bệnh viện — cột (2) và (4) của mẫu QĐ 697/QĐ-BYT. A line without a ChargeItem reference SHALL carry unit and hospitalUnitPrice. (lineItem.where(chargeItem.ofType(Reference).exists().not()).all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'unit').exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'hospitalUnitPrice').exists()))
          vn-cost-statement-money-vnd: Mọi giá trị tiền của bảng kê phải dùng VND. Every monetary value SHALL use VND. (descendants().ofType(Money).all(currency = 'VND'))
          vn-cost-statement-line-quantity-amount-required: Dòng chi phí phải có số lượng và thành tiền bệnh viện, trừ nhánh người bệnh tự túc phương tiện vận chuyển. A cost line SHALL carry quantity and hospital amount unless it is a patient-arranged transport line. (lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'transport-actual-one-way').exists() or (priceComponent.where(type = 'base').factor.exists() and priceComponent.where(type = 'base').amount.value.exists())))
          vn-cost-statement-transport-line-category: Dòng khai vai trò vận chuyển người bệnh phải thuộc nhóm chi phí vận chuyển (mã 11), và ngược lại. A patient-transport line role and the transport cost category SHALL agree. (lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'lineRole').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'patient-transport').exists() = extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'category').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-category-cs' and code = '11').exists()))
          vn-cost-statement-total-sum: Tổng bảng kê phải bằng tổng thành tiền của mọi dòng. The statement total SHALL equal the sum of all line amounts. (totalNet.value.exists() implies totalNet.value = lineItem.priceComponent.where(type = 'base').amount.value.aggregate($total + $this, 0))
          vn-cost-statement-issued-allocation-complete: Bảng kê đã phát hành hoặc đã cân đối thì mọi dòng phải có phân bổ bốn nguồn thanh toán (cột 10–13). An issued or balanced statement SHALL allocate every line across the four payment sources. (status.where($this = 'issued' or $this = 'balanced').empty() or lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').exists()))
          vn-cost-statement-package-component-category: Thiết bị thành phần chỉ khai trên dòng thuộc nhóm chi phí gói thiết bị y tế (mã 10). Package components SHALL only appear on lines in the medical-device package category. (lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').all(extension.where(url = 'packageComponent').exists() implies extension.where(url = 'category').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-category-cs' and code = '10').exists())))
          vn-cost-statement-related-service-exists: Dòng gói thiết bị trỏ tới dịch vụ kỹ thuật nào thì dòng đó phải có thật trên bảng kê. A referenced technical-service line SHALL exist on the same statement. (lineItem.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'relatedServiceSequence').value.ofType(positiveInt).all($this in %resource.lineItem.sequence))
          vn-cost-statement-uninsured-line-defaults: Cột số (8) của dòng không có thẻ BHYT phải bằng 0 và cột số (13) phải bằng cột số (7). For every line owned by a segment without Coverage, column 8 SHALL be explicitly 0 and column 13 SHALL equal column 7. (%resource.lineItem.where(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'segmentSequence').value.ofType(positiveInt).intersect(%resource.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment').where(extension.where(url = 'coverage').empty()).extension.where(url = 'sequence').value.ofType(positiveInt)).exists()).all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info').extension.where(url = 'paymentRatio').value.ofType(decimal) = 0 and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').extension.where(url = 'patientSelfPay').value.ofType(Money).value = priceComponent.where(type = 'base').amount.value))
          2. Invoice.extension
          Control1..?
          SlicingThis element introduces a set of slices on Invoice.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 4. Invoice.extension:segment
            Slice Namesegment
            Definition

            Mỗi phân đoạn là một thẻ BHYT trong một khoảng thời gian với một mức hưởng. Người không có thẻ vẫn có ít nhất một phân đoạn (thường là một; profile để segment 1..* nên không chặn trường hợp bảng kê tách nhiều phân đoạn), nhưng phân đoạn không có coverage thì không được mang benefitLevel.

            ShortPhân đoạn thẻ và mức hưởng của đợt khám
            Control1..*
            TypeExtension(Phân đoạn thẻ và mức hưởng trên bảng kê — Cost Statement Card Segment) (Complex Extension)
            Must Supporttrue
            Invariantsvn-cost-statement-uninsured-no-benefit: Phân đoạn không có thẻ BHYT thì không được khai mức hưởng. A segment without a Coverage SHALL NOT declare a benefit level. (extension.where(url = 'coverage').empty() implies extension.where(url = 'benefitLevel').empty())
            6. Invoice.identifier
            ShortMã lượt khám chữa bệnh (MA_LK) và số bảng kê
            NoteThis is a business identifier, not a resource identifier (see discussion)
            Control1..?
            Must Supporttrue
            SlicingThis element introduces a set of slices on Invoice.identifier. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ system
            • 8. Invoice.identifier:MALK
              Slice NameMALK
              Definition

              Mã liên kết hồ sơ khám bệnh, chữa bệnh theo QĐ 3176/QĐ-BYT. Bắt buộc và duy nhất một lát: đây là giá trị mà VNCoreCostStatementComposition.identifier phải trùng, và là khoá nối sang các VNCoreClaim của cùng đợt.

              HAI VAI của khoá này, cần phân biệt khi triển khai: với hồ sơ có BHYT, giá trị chính là MA_LK được nộp cho cơ quan bảo hiểm theo QĐ 3176/QĐ-BYT. Với người bệnh KHÔNG có BHYT, bảng kê vẫn bắt buộc lát này nhưng giá trị chỉ đóng vai khoá nối nội bộ của cơ sở giữa bảng kê, bản ký và các hồ sơ cùng đợt — nó sẽ không bao giờ được nộp cho cơ quan bảo hiểm. Cơ sở tự sinh giá trị theo quy tắc của mình; ví dụ ExampleCostStatementUninsured dùng tiền tố LK-UNINSURED-.

              ShortMã liên kết hồ sơ (MA_LK) — khoá nối bảng kê, bản ký và các hồ sơ đề nghị thanh toán của cùng đợt
              NoteThis is a business identifier, not a resource identifier (see discussion)
              Control1..1
              Must Supporttrue
              10. Invoice.identifier:MALK.type
              Pattern Value{
                "coding" : [{
                  "system" : "http://fhir.hl7.org.vn/core/CodeSystem/vn-identifier-type-cs",
                  "code" : "MA_LK"
                }]
              }
              12. Invoice.identifier:MALK.system
              Control1..?
              Fixed Valuehttp://fhir.hl7.org.vn/core/sid/ma-lk
              14. Invoice.identifier:MALK.value
              ShortGiá trị MA_LK
              Control1..?
              Must Supporttrue
              16. Invoice.status
              ShortTrạng thái bảng kê: draft | issued | balanced | cancelled | entered-in-error
              Must Supporttrue
              18. Invoice.type
              ShortLoại bảng kê
              Must Supporttrue
              20. Invoice.subject
              ShortNgười bệnh của lượt khám
              Control1..?
              TypeReference(Bệnh nhân VN Core — VN Core Patient Profile)
              Must Supporttrue
              22. Invoice.recipient
              ShortBên nhận bảng kê — thường là chính người bệnh hoặc người đại diện
              TypeReference(Bệnh nhân VN Core — VN Core Patient Profile, Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile, Cơ sở y tế VN Core — VN Core Organization Profile)
              Must Supporttrue
              Must Support TypesNo must-support rules about the choice of types/profiles
              24. Invoice.date
              ShortNgày lập bảng kê
              Control1..?
              Must Supporttrue
              26. Invoice.issuer
              ShortCơ sở khám bệnh, chữa bệnh lập bảng kê
              Control1..?
              TypeReference(Cơ sở y tế VN Core — VN Core Organization Profile)
              Must Supporttrue
              28. Invoice.account
              Definition

              Bắt buộc. MA_LK trên identifier là khoá trao đổi với BHXH; account là quan hệ thật trong hệ thống, cho phép truy ngược ra mọi Encounter và ChargeItem của đợt mà không phải so chuỗi.

              ShortTài khoản viện phí của đợt điều trị mà bảng kê này tổng hợp
              Control1..?
              TypeReference(Tài khoản viện phí — VN Core Account)
              Must Supporttrue
              30. Invoice.lineItem
              ShortDòng chi phí của bảng kê
              Control1..?
              Must Supporttrue
              Invariantsvn-cost-statement-line-allocation-sum: Thành tiền của dòng phải bằng tổng bốn nguồn thanh toán: quỹ BHYT, người bệnh cùng trả, nguồn khác và người bệnh tự trả. Dòng người bệnh tự túc phương tiện vận chuyển đối chiếu với cột (9) vì không có cột (7). The line amount SHALL equal the sum of the four payment sources; a patient-arranged transport line is checked against column 9 because it has no column 7. (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').exists() implies (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'transport-actual-one-way').exists().not() implies priceComponent.where(type = 'base').amount.value = extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').extension.value.ofType(Money).value.aggregate($total + $this, 0)) and (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'transport-actual-one-way').exists() implies extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info').extension.where(url = 'insuranceLineAmount').value.ofType(Money).value = extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').extension.value.ofType(Money).value.aggregate($total + $this, 0)))
              32. Invoice.lineItem.extension
              Control1..?
              SlicingThis element introduces a set of slices on Invoice.lineItem.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 34. Invoice.lineItem.extension:calculation
                Slice Namecalculation
                Definition

                Năm trục độc lập cho biết dòng này được hình thành theo cách nào. Cardinality 0..1 vì phần lớn dòng thông thường không cần khai tường minh; nhưng BẮT BUỘC với các nhánh mà công thức mặc định không áp được: vận chuyển (ba cách tính khác nhau), gói thiết bị y tế và stent bổ sung (trần riêng), và mọi dòng thuộc diện miễn trần. Xem invariant vn-cost-statement-line-quantity-amount-required.

                ShortNgữ cảnh tính: vai trò dòng, cơ sở tính, quy tắc trần, miễn trần, bộ công thức
                Control0..1
                TypeExtension(Ngữ cảnh tính chi phí dòng bảng kê — Cost Calculation Context) (Complex Extension)
                Must Supporttrue
                36. Invoice.lineItem.extension:line
                Slice Nameline
                ShortPhân đoạn thẻ, nhóm chi phí và ngày thực hiện của dòng
                Control1..1
                TypeExtension(Thuộc tính dòng bảng kê chi phí — Cost Statement Line Attributes) (Complex Extension)
                Must Supporttrue
                38. Invoice.lineItem.extension:insuranceCostInfo
                Slice NameinsuranceCostInfo
                Definition

                Để trống khi dòng không thuộc phạm vi BHYT trong các trường hợp thông thường. NGOẠI LỆ: dòng thuộc phân đoạn không có coverage — tức bảng kê của người không có thẻ BHYT — PHẢI khai paymentRatio = 0 tường minh theo QĐ 697/QĐ-BYT Phần Hai mục 2, vì trên profile này việc vắng mặt đã mang nghĩa riêng là dòng ngoài phạm vi BHYT. Xem invariant vn-cost-statement-uninsured-line-defaults.

                ShortĐơn giá BH, tỷ lệ thanh toán và thành tiền BH — cột 5, 6, 8, 9
                Control0..1
                TypeExtension(Thông tin chi phí BHYT — Insurance Cost Info Extension) (Complex Extension)
                Must Supporttrue
                40. Invoice.lineItem.extension:linePaymentAllocation
                Slice NamelinePaymentAllocation
                Definition

                Để trống khi dòng chưa phân bổ. Khi có, tổng bốn nguồn phải bằng thành tiền bệnh viện của dòng.

                ShortBốn nguồn thanh toán — cột 10 đến 13
                Control0..1
                TypeExtension(Phân bổ nguồn thanh toán theo dòng — Line Payment Allocation) (Complex Extension)
                Must Supporttrue
                42. Invoice.lineItem.sequence
                Control1..?
                Must Supporttrue
                44. Invoice.lineItem.chargeItem[x]
                ShortMã dịch vụ, thuốc hoặc vật tư của dòng; dùng Reference(ChargeItem) khi hệ thống đã có ChargeItem
                [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                Must Supporttrue
                46. Invoice.lineItem.priceComponent
                ShortThành phần giá của dòng; lát `base` mang số lượng và thành tiền bệnh viện
                Control1..?
                Must Supporttrue
                SlicingThis element introduces a set of slices on Invoice.lineItem.priceComponent. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ type
                • 48. Invoice.lineItem.priceComponent.type
                  Must Supporttrue
                  50. Invoice.lineItem.priceComponent.amount
                  ShortThành tiền của thành phần, VND
                  52. Invoice.lineItem.priceComponent.amount.currency
                  Control1..?
                  Fixed ValueVND
                  54. Invoice.lineItem.priceComponent:base
                  Slice Namebase
                  Control1..1
                  Must Supporttrue
                  56. Invoice.lineItem.priceComponent:base.type
                  Must Supporttrue
                  Fixed Valuebase
                  58. Invoice.lineItem.priceComponent:base.factor
                  ShortSố lượng của dòng — cột (3) của mẫu; trống ở nhánh người bệnh tự túc phương tiện
                  Must Supporttrue
                  60. Invoice.lineItem.priceComponent:base.amount
                  ShortThành tiền bệnh viện — cột (7) của mẫu; trống ở nhánh người bệnh tự túc phương tiện
                  Must Supporttrue
                  62. Invoice.lineItem.priceComponent:base.amount.value
                  Control1..?
                  Must Supporttrue
                  64. Invoice.lineItem.priceComponent:base.amount.currency
                  Control1..?
                  Fixed ValueVND
                  66. Invoice.totalNet
                  ShortTổng thành tiền bệnh viện của cả đợt khám
                  Control1..?
                  Must Supporttrue
                  68. Invoice.totalNet.currency
                  Control1..?
                  Fixed ValueVND
                  70. Invoice.totalGross
                  ShortTổng sau các khoản cộng thêm, nếu có
                  Must Supporttrue

                  Guidance on how to interpret the contents of this table can be foundhere

                  0. Invoice
                  Definition

                  Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.

                  ShortInvoice containing ChargeItems from an Account
                  Control0..*
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
                  dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource (contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty())
                  dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated (contained.meta.versionId.empty() and contained.meta.lastUpdated.empty())
                  dom-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
                  dom-6: A resource should have narrative for robust management (text.`div`.exists())
                  vn-cost-statement-segment-sequence-unique: Mỗi sequence phân đoạn phải duy nhất trong bảng kê. Every segment sequence SHALL be unique within the cost statement. (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment').extension.where(url = 'sequence').value.ofType(positiveInt).isDistinct())
                  vn-cost-statement-line-segment-exists: Mỗi dòng chi phí phải trỏ về một phân đoạn có thật trên bảng kê. Every line SHALL reference an existing segment sequence. (lineItem.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'segmentSequence').value.ofType(positiveInt).all($this in %resource.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment').extension.where(url = 'sequence').value.ofType(positiveInt)))
                  vn-cost-statement-line-unit-price-required: Dòng chi phí không trỏ ChargeItem phải tự khai đơn vị tính và đơn giá bệnh viện — cột (2) và (4) của mẫu QĐ 697/QĐ-BYT. A line without a ChargeItem reference SHALL carry unit and hospitalUnitPrice. (lineItem.where(chargeItem.ofType(Reference).exists().not()).all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'unit').exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'hospitalUnitPrice').exists()))
                  vn-cost-statement-money-vnd: Mọi giá trị tiền của bảng kê phải dùng VND. Every monetary value SHALL use VND. (descendants().ofType(Money).all(currency = 'VND'))
                  vn-cost-statement-line-quantity-amount-required: Dòng chi phí phải có số lượng và thành tiền bệnh viện, trừ nhánh người bệnh tự túc phương tiện vận chuyển. A cost line SHALL carry quantity and hospital amount unless it is a patient-arranged transport line. (lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'transport-actual-one-way').exists() or (priceComponent.where(type = 'base').factor.exists() and priceComponent.where(type = 'base').amount.value.exists())))
                  vn-cost-statement-transport-line-category: Dòng khai vai trò vận chuyển người bệnh phải thuộc nhóm chi phí vận chuyển (mã 11), và ngược lại. A patient-transport line role and the transport cost category SHALL agree. (lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'lineRole').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'patient-transport').exists() = extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'category').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-category-cs' and code = '11').exists()))
                  vn-cost-statement-total-sum: Tổng bảng kê phải bằng tổng thành tiền của mọi dòng. The statement total SHALL equal the sum of all line amounts. (totalNet.value.exists() implies totalNet.value = lineItem.priceComponent.where(type = 'base').amount.value.aggregate($total + $this, 0))
                  vn-cost-statement-issued-allocation-complete: Bảng kê đã phát hành hoặc đã cân đối thì mọi dòng phải có phân bổ bốn nguồn thanh toán (cột 10–13). An issued or balanced statement SHALL allocate every line across the four payment sources. (status.where($this = 'issued' or $this = 'balanced').empty() or lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').exists()))
                  vn-cost-statement-package-component-category: Thiết bị thành phần chỉ khai trên dòng thuộc nhóm chi phí gói thiết bị y tế (mã 10). Package components SHALL only appear on lines in the medical-device package category. (lineItem.all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').all(extension.where(url = 'packageComponent').exists() implies extension.where(url = 'category').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-category-cs' and code = '10').exists())))
                  vn-cost-statement-related-service-exists: Dòng gói thiết bị trỏ tới dịch vụ kỹ thuật nào thì dòng đó phải có thật trên bảng kê. A referenced technical-service line SHALL exist on the same statement. (lineItem.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'relatedServiceSequence').value.ofType(positiveInt).all($this in %resource.lineItem.sequence))
                  vn-cost-statement-uninsured-line-defaults: Cột số (8) của dòng không có thẻ BHYT phải bằng 0 và cột số (13) phải bằng cột số (7). For every line owned by a segment without Coverage, column 8 SHALL be explicitly 0 and column 13 SHALL equal column 7. (%resource.lineItem.where(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-line').extension.where(url = 'segmentSequence').value.ofType(positiveInt).intersect(%resource.extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment').where(extension.where(url = 'coverage').empty()).extension.where(url = 'sequence').value.ofType(positiveInt)).exists()).all(extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info').extension.where(url = 'paymentRatio').value.ofType(decimal) = 0 and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').extension.where(url = 'patientSelfPay').value.ofType(Money).value = priceComponent.where(type = 'base').amount.value))
                  2. Invoice.id
                  Definition

                  The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

                  ShortLogical id of this artifact
                  Comments

                  The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

                  Control0..1
                  Typeid
                  Is Modifierfalse
                  Summarytrue
                  4. Invoice.meta
                  Definition

                  The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

                  ShortMetadata about the resource
                  Control0..1
                  TypeMeta
                  Is Modifierfalse
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  6. Invoice.implicitRules
                  Definition

                  A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

                  ShortA set of rules under which this content was created
                  Comments

                  Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

                  Control0..1
                  Typeuri
                  Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  8. Invoice.language
                  Definition

                  The base language in which the resource is written.

                  ShortLanguage of the resource content
                  Comments

                  Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

                  Control0..1
                  BindingThe codes SHOULD be taken from CommonLanguages
                  (preferred to http://hl7.org/fhir/ValueSet/languages|4.0.1)

                  A human language.

                  Additional BindingsPurpose
                  AllLanguagesMax Binding
                  Typecode
                  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()))
                  10. Invoice.text
                  Definition

                  A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

                  ShortText summary of the resource, for human interpretation
                  Comments

                  Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

                  Control0..1
                  TypeNarrative
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesnarrative, html, xhtml, display
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  12. Invoice.contained
                  Definition

                  These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

                  ShortContained, inline Resources
                  Comments

                  This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

                  Control0..*
                  TypeResource
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesinline resources, anonymous resources, contained resources
                  14. Invoice.extension
                  Definition

                  An Extension

                  ShortExtension
                  Control1..*
                  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 Invoice.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 16. Invoice.extension:segment
                    Slice Namesegment
                    Definition

                    Mỗi phân đoạn là một thẻ BHYT trong một khoảng thời gian với một mức hưởng. Người không có thẻ vẫn có ít nhất một phân đoạn (thường là một; profile để segment 1..* nên không chặn trường hợp bảng kê tách nhiều phân đoạn), nhưng phân đoạn không có coverage thì không được mang benefitLevel.

                    ShortPhân đoạn thẻ và mức hưởng của đợt khám
                    Control1..*
                    This element is affected by the following invariants: ele-1
                    TypeExtension(Phân đoạn thẻ và mức hưởng trên bảng kê — Cost Statement Card Segment) (Complex Extension)
                    Is Modifierfalse
                    Must Supporttrue
                    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())
                    vn-cost-statement-segment-benefit-range: Mức hưởng của phân đoạn phải nằm trong khoảng 0–100. The segment benefit level SHALL be between 0 and 100. (extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100))
                    vn-cost-statement-uninsured-no-benefit: Phân đoạn không có thẻ BHYT thì không được khai mức hưởng. A segment without a Coverage SHALL NOT declare a benefit level. (extension.where(url = 'coverage').empty() implies extension.where(url = 'benefitLevel').empty())
                    18. Invoice.modifierExtension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored
                    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 Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
                    Summaryfalse
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    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())
                    20. Invoice.identifier
                    Definition

                    Identifier of this Invoice, often used for reference in correspondence about this invoice or for tracking of payments.

                    ShortMã lượt khám chữa bệnh (MA_LK) và số bảng kê
                    NoteThis is a business identifier, not a resource identifier (see discussion)
                    Control1..*
                    TypeIdentifier
                    Is Modifierfalse
                    Must Supporttrue
                    Summarytrue
                    Requirements

                    Allows Identification of this Invoice instance.

                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    SlicingThis element introduces a set of slices on Invoice.identifier. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ system
                    • 22. Invoice.identifier:MALK
                      Slice NameMALK
                      Definition

                      Mã liên kết hồ sơ khám bệnh, chữa bệnh theo QĐ 3176/QĐ-BYT. Bắt buộc và duy nhất một lát: đây là giá trị mà VNCoreCostStatementComposition.identifier phải trùng, và là khoá nối sang các VNCoreClaim của cùng đợt.

                      HAI VAI của khoá này, cần phân biệt khi triển khai: với hồ sơ có BHYT, giá trị chính là MA_LK được nộp cho cơ quan bảo hiểm theo QĐ 3176/QĐ-BYT. Với người bệnh KHÔNG có BHYT, bảng kê vẫn bắt buộc lát này nhưng giá trị chỉ đóng vai khoá nối nội bộ của cơ sở giữa bảng kê, bản ký và các hồ sơ cùng đợt — nó sẽ không bao giờ được nộp cho cơ quan bảo hiểm. Cơ sở tự sinh giá trị theo quy tắc của mình; ví dụ ExampleCostStatementUninsured dùng tiền tố LK-UNINSURED-.

                      ShortMã liên kết hồ sơ (MA_LK) — khoá nối bảng kê, bản ký và các hồ sơ đề nghị thanh toán của cùng đợt
                      NoteThis is a business identifier, not a resource identifier (see discussion)
                      Control1..1
                      TypeIdentifier
                      Is Modifierfalse
                      Must Supporttrue
                      Summarytrue
                      Requirements

                      Allows Identification of this Invoice instance.

                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      24. Invoice.identifier:MALK.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
                      26. Invoice.identifier:MALK.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 Invoice.identifier.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 28. Invoice.identifier:MALK.use
                        Definition

                        The purpose of this identifier.

                        Shortusual | official | temp | secondary | old (If known)
                        Comments

                        Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

                        Control0..1
                        BindingThe codes SHALL be taken from IdentifierUse
                        (required to http://hl7.org/fhir/ValueSet/identifier-use|4.0.1)

                        Identifies the purpose for this identifier, if known .

                        Typecode
                        Is Modifiertrue because This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one.
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Summarytrue
                        Requirements

                        Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        30. Invoice.identifier:MALK.type
                        Definition

                        A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

                        ShortDescription of identifier
                        Comments

                        This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

                        Control0..1
                        BindingUnless not suitable, these codes SHALL be taken from Identifier Type Codes
                        (extensible to http://hl7.org/fhir/ValueSet/identifier-type|4.0.1)

                        A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

                        TypeCodeableConcept
                        Is Modifierfalse
                        Summarytrue
                        Requirements

                        Allows users to make use of identifiers when the identifier system is not known.

                        Pattern Value{
                          "coding" : [{
                            "system" : "http://fhir.hl7.org.vn/core/CodeSystem/vn-identifier-type-cs",
                            "code" : "MA_LK"
                          }]
                        }
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        32. Invoice.identifier:MALK.system
                        Definition

                        Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

                        ShortThe namespace for the identifier value
                        Comments

                        Identifier.system is always case sensitive.

                        Control1..1
                        Typeuri
                        Is Modifierfalse
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Summarytrue
                        Requirements

                        There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

                        Fixed Valuehttp://fhir.hl7.org.vn/core/sid/ma-lk
                        ExampleGeneral: http://www.acme.com/identifiers/patient
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        34. Invoice.identifier:MALK.value
                        Definition

                        The portion of the identifier typically relevant to the user and which is unique within the context of the system.

                        ShortGiá trị MA_LK
                        Comments

                        If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

                        Control1..1
                        Typestring
                        Is Modifierfalse
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Must Supporttrue
                        Summarytrue
                        ExampleGeneral: 123456
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        36. Invoice.identifier:MALK.period
                        Definition

                        Time period during which identifier is/was valid for use.

                        ShortTime period when id is/was valid for use
                        Control0..1
                        TypePeriod
                        Is Modifierfalse
                        Summarytrue
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        38. Invoice.identifier:MALK.assigner
                        Definition

                        Organization that issued/manages the identifier.

                        ShortOrganization that issued id (may be just text)
                        Comments

                        The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

                        Control0..1
                        TypeReference(Organization)
                        Is Modifierfalse
                        Summarytrue
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        40. Invoice.status
                        Definition

                        The current state of the Invoice.

                        ShortTrạng thái bảng kê: draft | issued | balanced | cancelled | entered-in-error
                        Control1..1
                        BindingThe codes SHALL be taken from InvoiceStatus
                        (required to http://hl7.org/fhir/ValueSet/invoice-status|4.0.1)

                        Codes identifying the lifecycle stage of an Invoice.

                        Typecode
                        Is Modifiertrue because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Must Supporttrue
                        Summarytrue
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        42. Invoice.cancelledReason
                        Definition

                        In case of Invoice cancellation a reason must be given (entered in error, superseded by corrected invoice etc.).

                        ShortReason for cancellation of this Invoice
                        Comments

                        Derived Profiles may choose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled.

                        Control0..1
                        Typestring
                        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()))
                        44. Invoice.type
                        Definition

                        Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary).

                        ShortLoại bảng kê
                        Control0..1
                        TypeCodeableConcept
                        Is Modifierfalse
                        Must Supporttrue
                        Summarytrue
                        Alternate Namestype
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        46. Invoice.subject
                        Definition

                        The individual or set of individuals receiving the goods and services billed in this invoice.

                        ShortNgười bệnh của lượt khám
                        Control1..1
                        TypeReference(Bệnh nhân VN Core — VN Core Patient Profile)
                        Is Modifierfalse
                        Must Supporttrue
                        Summarytrue
                        Requirements

                        Links the event to the Patient context.

                        Alternate Namespatient
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        48. Invoice.recipient
                        Definition

                        The individual or Organization responsible for balancing of this invoice.

                        ShortBên nhận bảng kê — thường là chính người bệnh hoặc người đại diện
                        Control0..1
                        TypeReference(Bệnh nhân VN Core — VN Core Patient Profile, Người liên quan/người giám hộ VN Core — VN Core RelatedPerson Profile, Cơ sở y tế VN Core — VN Core Organization Profile)
                        Is Modifierfalse
                        Must Supporttrue
                        Must Support TypesNo must-support rules about the choice of types/profiles
                        Summarytrue
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        50. Invoice.date
                        Definition

                        Date/time(s) of when this Invoice was posted.

                        ShortNgày lập bảng kê
                        Comments

                        The list of types may be constrained as appropriate for the type of charge item.

                        Control1..1
                        TypedateTime
                        Is Modifierfalse
                        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                        Must Supporttrue
                        Summarytrue
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        52. Invoice.participant
                        Definition

                        Indicates who or what performed or participated in the charged service.

                        ShortParticipant in creation of this Invoice
                        Control0..*
                        TypeBackboneElement
                        Is Modifierfalse
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        54. Invoice.participant.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
                        56. Invoice.participant.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())
                        58. Invoice.participant.modifierExtension
                        Definition

                        May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.

                        Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                        ShortExtensions that cannot be ignored even if unrecognized
                        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 Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                        Summarytrue
                        Requirements

                        Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                        Alternate Namesextensions, user content, modifiers
                        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())
                        60. Invoice.participant.role
                        Definition

                        Describes the type of involvement (e.g. transcriptionist, creator etc.). If the invoice has been created automatically, the Participant may be a billing engine or another kind of device.

                        ShortType of involvement in creation of this Invoice
                        Control0..1
                        TypeCodeableConcept
                        Is Modifierfalse
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        62. Invoice.participant.actor
                        Definition

                        The device, practitioner, etc. who performed or participated in the service.

                        ShortIndividual who was involved
                        Control1..1
                        TypeReference(Practitioner, Organization, Patient, PractitionerRole, Device, RelatedPerson)
                        Is Modifierfalse
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        64. Invoice.issuer
                        Definition

                        The organizationissuing the Invoice.

                        ShortCơ sở khám bệnh, chữa bệnh lập bảng kê
                        Comments

                        Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered.

                        Control1..1
                        TypeReference(Cơ sở y tế VN Core — VN Core Organization Profile)
                        Is Modifierfalse
                        Must Supporttrue
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        66. Invoice.account
                        Definition

                        Bắt buộc. MA_LK trên identifier là khoá trao đổi với BHXH; account là quan hệ thật trong hệ thống, cho phép truy ngược ra mọi Encounter và ChargeItem của đợt mà không phải so chuỗi.

                        ShortTài khoản viện phí của đợt điều trị mà bảng kê này tổng hợp
                        Comments

                        Systems posting the ChargeItems might not always be able to determine, which accounts the Items need to be places into. It is up to the potprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate.

                        Control1..1
                        TypeReference(Tài khoản viện phí — VN Core Account)
                        Is Modifierfalse
                        Must Supporttrue
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        68. Invoice.lineItem
                        Definition

                        Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource.

                        ShortDòng chi phí của bảng kê
                        Control1..*
                        TypeBackboneElement
                        Is Modifierfalse
                        Must Supporttrue
                        Summaryfalse
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        vn-cost-statement-line-allocation-sum: Thành tiền của dòng phải bằng tổng bốn nguồn thanh toán: quỹ BHYT, người bệnh cùng trả, nguồn khác và người bệnh tự trả. Dòng người bệnh tự túc phương tiện vận chuyển đối chiếu với cột (9) vì không có cột (7). The line amount SHALL equal the sum of the four payment sources; a patient-arranged transport line is checked against column 9 because it has no column 7. (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').exists() implies (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'transport-actual-one-way').exists().not() implies priceComponent.where(type = 'base').amount.value = extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').extension.value.ofType(Money).value.aggregate($total + $this, 0)) and (extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-calculation-context').extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'transport-actual-one-way').exists() implies extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-insurance-cost-info').extension.where(url = 'insuranceLineAmount').value.ofType(Money).value = extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-line-payment-allocation').extension.value.ofType(Money).value.aggregate($total + $this, 0)))
                        70. Invoice.lineItem.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
                        72. Invoice.lineItem.extension
                        Definition

                        An Extension

                        ShortExtension
                        Control1..*
                        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 Invoice.lineItem.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                        • value @ url
                        • 74. Invoice.lineItem.extension:calculation
                          Slice Namecalculation
                          Definition

                          Năm trục độc lập cho biết dòng này được hình thành theo cách nào. Cardinality 0..1 vì phần lớn dòng thông thường không cần khai tường minh; nhưng BẮT BUỘC với các nhánh mà công thức mặc định không áp được: vận chuyển (ba cách tính khác nhau), gói thiết bị y tế và stent bổ sung (trần riêng), và mọi dòng thuộc diện miễn trần. Xem invariant vn-cost-statement-line-quantity-amount-required.

                          ShortNgữ cảnh tính: vai trò dòng, cơ sở tính, quy tắc trần, miễn trần, bộ công thức
                          Control0..1
                          This element is affected by the following invariants: ele-1
                          TypeExtension(Ngữ cảnh tính chi phí dòng bảng kê — Cost Calculation Context) (Complex Extension)
                          Is Modifierfalse
                          Must Supporttrue
                          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())
                          vn-cost-calculation-stent-ordinal: Dòng stent bổ sung phải khai thứ tự trong khoảng 2-4. An additional-stent line SHALL declare an ordinal between 2 and 4. (extension.where(url = 'lineRole').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'additional-stent').empty() or extension.where(url = 'ordinal').value.ofType(positiveInt).where($this >= 2 and $this <= 4).exists())
                          vn-cost-calculation-exemption-needs-cap: Chỉ khai miễn trần khi dòng đang áp một quy tắc trần. A cap exemption SHALL NOT be declared on a line with no cap rule. (extension.where(url = 'exemption').empty() or extension.where(url = 'capRule').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'no-cap').empty())
                          vn-cost-calculation-transport-basis-coherent: Cơ sở tính vận chuyển và vai trò dòng vận chuyển phải đi cùng nhau. A transport calculation basis and the patient-transport line role SHALL be used together. (extension.where(url = 'calculationBasis').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and (code = 'transport-kilometre' or code = 'transport-fuel' or code = 'transport-actual-one-way')).exists() = extension.where(url = 'lineRole').value.ofType(CodeableConcept).coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-cost-calculation-axis-cs' and code = 'patient-transport').exists())
                          76. Invoice.lineItem.extension:line
                          Slice Nameline
                          Definition

                          Ba thuộc tính của một dòng bảng kê mà Invoice.lineItem của FHIR R4 không có sẵn: phân đoạn thẻ mà dòng thuộc về, nhóm chi phí, và ngày hoặc khoảng thực hiện.

                          Invoice.lineItem chỉ có sequence, chargeItem[x] và priceComponent. Ba dữ liệu dưới đây là cột bắt buộc của mẫu QĐ 697/QĐ-BYT nên phải bổ sung; số lượng và tiền thì dùng element gốc (priceComponent.factor và priceComponent.amount).

                          ShortPhân đoạn thẻ, nhóm chi phí và ngày thực hiện của dòng
                          Control1..1
                          This element is affected by the following invariants: ele-1
                          TypeExtension(Thuộc tính dòng bảng kê chi phí — Cost Statement Line Attributes) (Complex Extension)
                          Is Modifierfalse
                          Must Supporttrue
                          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())
                          78. Invoice.lineItem.extension:insuranceCostInfo
                          Slice NameinsuranceCostInfo
                          Definition

                          Để trống khi dòng không thuộc phạm vi BHYT trong các trường hợp thông thường. NGOẠI LỆ: dòng thuộc phân đoạn không có coverage — tức bảng kê của người không có thẻ BHYT — PHẢI khai paymentRatio = 0 tường minh theo QĐ 697/QĐ-BYT Phần Hai mục 2, vì trên profile này việc vắng mặt đã mang nghĩa riêng là dòng ngoài phạm vi BHYT. Xem invariant vn-cost-statement-uninsured-line-defaults.

                          ShortĐơn giá BH, tỷ lệ thanh toán và thành tiền BH — cột 5, 6, 8, 9
                          Control0..1
                          This element is affected by the following invariants: ele-1
                          TypeExtension(Thông tin chi phí BHYT — Insurance Cost Info Extension) (Complex Extension)
                          Is Modifierfalse
                          Must Supporttrue
                          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())
                          vn-insurance-cost-ratio-and-lexical: Các tỷ lệ phải nằm trong khoảng 0-100; chuỗi lexical gốc nếu có phải đi kèm paymentRatio; khoảng hiệu lực trần nếu có phải đi kèm paymentCeiling. Percentage values SHALL be within 0-100; a source lexical string SHALL accompany paymentRatio; a ceiling period SHALL accompany paymentCeiling. (extension.where(url = 'paymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'servicePaymentRatio').value.ofType(decimal).all($this >= 0 and $this <= 100) and extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100) and (extension.where(url = 'paymentRatioSourceLexical').empty() or extension.where(url = 'paymentRatio').exists()) and (extension.where(url = 'paymentCeilingPeriod').empty() or extension.where(url = 'paymentCeiling').exists()))
                          80. Invoice.lineItem.extension:linePaymentAllocation
                          Slice NamelinePaymentAllocation
                          Definition

                          Để trống khi dòng chưa phân bổ. Khi có, tổng bốn nguồn phải bằng thành tiền bệnh viện của dòng.

                          ShortBốn nguồn thanh toán — cột 10 đến 13
                          Control0..1
                          This element is affected by the following invariants: ele-1
                          TypeExtension(Phân bổ nguồn thanh toán theo dòng — Line Payment Allocation) (Complex Extension)
                          Is Modifierfalse
                          Must Supporttrue
                          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())
                          vn-line-payment-allocation-vnd: Mọi khoản tiền phân bổ phải dùng VND. Every allocated Money value SHALL use VND. (extension.value.ofType(Money).all(currency = 'VND'))
                          vn-line-payment-allocation-nonnegative: Mọi khoản tiền phân bổ phải lớn hơn hoặc bằng 0. Every allocated Money value SHALL be greater than or equal to zero. (extension.value.ofType(Money).all(value >= 0))
                          82. Invoice.lineItem.modifierExtension
                          Definition

                          May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.

                          Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                          ShortExtensions that cannot be ignored even if unrecognized
                          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 Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                          Summarytrue
                          Requirements

                          Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                          Alternate Namesextensions, user content, modifiers
                          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())
                          84. Invoice.lineItem.sequence
                          Definition

                          Sequence in which the items appear on the invoice.

                          ShortSequence number of line item
                          Control1..1
                          TypepositiveInt
                          Is Modifierfalse
                          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                          Must Supporttrue
                          Summaryfalse
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          86. Invoice.lineItem.chargeItem[x]
                          Definition

                          The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference.

                          ShortMã dịch vụ, thuốc hoặc vật tư của dòng; dùng Reference(ChargeItem) khi hệ thống đã có ChargeItem
                          Control1..1
                          TypeChoice of: Reference(ChargeItem), CodeableConcept
                          [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                          Is Modifierfalse
                          Must Supporttrue
                          Must Support TypesNo must-support rules about the choice of types/profiles
                          Summaryfalse
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          88. Invoice.lineItem.priceComponent
                          Definition

                          The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.

                          ShortThành phần giá của dòng; lát `base` mang số lượng và thành tiền bệnh viện
                          Control1..*
                          TypeBackboneElement
                          Is Modifierfalse
                          Must Supporttrue
                          Summaryfalse
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          SlicingThis element introduces a set of slices on Invoice.lineItem.priceComponent. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                          • value @ type
                          • 90. Invoice.lineItem.priceComponent.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
                            92. Invoice.lineItem.priceComponent.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())
                            94. Invoice.lineItem.priceComponent.modifierExtension
                            Definition

                            May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.

                            Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                            ShortExtensions that cannot be ignored even if unrecognized
                            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 Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                            Summarytrue
                            Requirements

                            Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                            Alternate Namesextensions, user content, modifiers
                            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())
                            96. Invoice.lineItem.priceComponent.type
                            Definition

                            This code identifies the type of the component.

                            Shortbase | surcharge | deduction | discount | tax | informational
                            Control1..1
                            BindingThe codes SHALL be taken from InvoicePriceComponentType
                            (required to http://hl7.org/fhir/ValueSet/invoice-priceComponentType|4.0.1)

                            Codes indicating the kind of the price component.

                            Typecode
                            Is Modifierfalse
                            Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                            Must Supporttrue
                            Summaryfalse
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            98. Invoice.lineItem.priceComponent.code
                            Definition

                            A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.

                            ShortCode identifying the specific component
                            Control0..1
                            TypeCodeableConcept
                            Is Modifierfalse
                            Summaryfalse
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            100. Invoice.lineItem.priceComponent.factor
                            Definition

                            The factor that has been applied on the base price for calculating this component.

                            ShortFactor used for calculating this component
                            Comments

                            There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

                            Control0..1
                            Typedecimal
                            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()))
                            102. Invoice.lineItem.priceComponent.amount
                            Definition

                            The amount calculated for this component.

                            ShortThành tiền của thành phần, VND
                            Comments

                            There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

                            Control0..1
                            TypeMoney
                            Is Modifierfalse
                            Summaryfalse
                            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                            104. Invoice.lineItem.priceComponent.amount.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
                            106. Invoice.lineItem.priceComponent.amount.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 Invoice.lineItem.priceComponent.amount.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                            • value @ url
                            • 108. Invoice.lineItem.priceComponent.amount.value
                              Definition

                              Numerical value (with implicit precision).

                              ShortNumerical value (with implicit precision)
                              Comments

                              Monetary values have their own rules for handling precision (refer to standard accounting text books).

                              Control0..1
                              Typedecimal
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              Requirements

                              The amount of the currency. The value includes an implicit precision in the presentation of the value.

                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              110. Invoice.lineItem.priceComponent.amount.currency
                              Definition

                              ISO 4217 Currency Code.

                              ShortISO 4217 Currency Code
                              Control1..1
                              BindingThe codes SHALL be taken from Currencies
                              (required to http://hl7.org/fhir/ValueSet/currencies|4.0.1)

                              A code indicating the currency, taken from ISO 4217.

                              Typecode
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Summarytrue
                              Requirements

                              A code indicating the currency, taken from ISO 4217.

                              Fixed ValueVND
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              112. Invoice.lineItem.priceComponent:base
                              Slice Namebase
                              Definition

                              The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.

                              ShortComponents of total line item price
                              Control1..1
                              TypeBackboneElement
                              Is Modifierfalse
                              Must Supporttrue
                              Summaryfalse
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              114. Invoice.lineItem.priceComponent:base.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
                              116. Invoice.lineItem.priceComponent:base.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())
                              118. Invoice.lineItem.priceComponent:base.modifierExtension
                              Definition

                              May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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. Applications processing a resource are required to check for modifier extensions.

                              Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                              ShortExtensions that cannot be ignored even if unrecognized
                              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 Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                              Summarytrue
                              Requirements

                              Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                              Alternate Namesextensions, user content, modifiers
                              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())
                              120. Invoice.lineItem.priceComponent:base.type
                              Definition

                              This code identifies the type of the component.

                              Shortbase | surcharge | deduction | discount | tax | informational
                              Control1..1
                              BindingThe codes SHALL be taken from InvoicePriceComponentType
                              (required to http://hl7.org/fhir/ValueSet/invoice-priceComponentType|4.0.1)

                              Codes indicating the kind of the price component.

                              Typecode
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Must Supporttrue
                              Summaryfalse
                              Fixed Valuebase
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              122. Invoice.lineItem.priceComponent:base.code
                              Definition

                              A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.

                              ShortCode identifying the specific component
                              Control0..1
                              TypeCodeableConcept
                              Is Modifierfalse
                              Summaryfalse
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              124. Invoice.lineItem.priceComponent:base.factor
                              Definition

                              The factor that has been applied on the base price for calculating this component.

                              ShortSố lượng của dòng — cột (3) của mẫu; trống ở nhánh người bệnh tự túc phương tiện
                              Comments

                              There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

                              Control0..1
                              Typedecimal
                              Is Modifierfalse
                              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                              Must Supporttrue
                              Summaryfalse
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              126. Invoice.lineItem.priceComponent:base.amount
                              Definition

                              The amount calculated for this component.

                              ShortThành tiền bệnh viện — cột (7) của mẫu; trống ở nhánh người bệnh tự túc phương tiện
                              Comments

                              There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

                              Control0..1
                              TypeMoney
                              Is Modifierfalse
                              Must Supporttrue
                              Summaryfalse
                              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                              128. Invoice.lineItem.priceComponent:base.amount.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
                              130. Invoice.lineItem.priceComponent:base.amount.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 Invoice.lineItem.priceComponent.amount.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                              • value @ url
                              • 132. Invoice.lineItem.priceComponent:base.amount.value
                                Definition

                                Numerical value (with implicit precision).

                                ShortNumerical value (with implicit precision)
                                Comments

                                Monetary values have their own rules for handling precision (refer to standard accounting text books).

                                Control1..1
                                Typedecimal
                                Is Modifierfalse
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                Must Supporttrue
                                Summarytrue
                                Requirements

                                The amount of the currency. The value includes an implicit precision in the presentation of the value.

                                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                134. Invoice.lineItem.priceComponent:base.amount.currency
                                Definition

                                ISO 4217 Currency Code.

                                ShortISO 4217 Currency Code
                                Control1..1
                                BindingThe codes SHALL be taken from Currencies
                                (required to http://hl7.org/fhir/ValueSet/currencies|4.0.1)

                                A code indicating the currency, taken from ISO 4217.

                                Typecode
                                Is Modifierfalse
                                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                Summarytrue
                                Requirements

                                A code indicating the currency, taken from ISO 4217.

                                Fixed ValueVND
                                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                136. Invoice.totalPriceComponent
                                Definition

                                The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated.

                                ShortComponents of Invoice total
                                Control0..*
                                TypeSeettp://hl7.org/fhir/StructureDefinition/Invoice#Invoice.lineItem.priceComponent
                                Is Modifierfalse
                                Summaryfalse
                                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                138. Invoice.totalNet
                                Definition

                                Invoice total , taxes excluded.

                                ShortTổng thành tiền bệnh viện của cả đợt khám
                                Comments

                                There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

                                Control1..1
                                TypeMoney
                                Is Modifierfalse
                                Must Supporttrue
                                Summarytrue
                                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                140. Invoice.totalNet.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
                                142. Invoice.totalNet.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 Invoice.totalNet.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                                • value @ url
                                • 144. Invoice.totalNet.value
                                  Definition

                                  Numerical value (with implicit precision).

                                  ShortNumerical value (with implicit precision)
                                  Comments

                                  Monetary values have their own rules for handling precision (refer to standard accounting text books).

                                  Control0..1
                                  Typedecimal
                                  Is Modifierfalse
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  Requirements

                                  The amount of the currency. The value includes an implicit precision in the presentation of the value.

                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                  146. Invoice.totalNet.currency
                                  Definition

                                  ISO 4217 Currency Code.

                                  ShortISO 4217 Currency Code
                                  Control1..1
                                  BindingThe codes SHALL be taken from Currencies
                                  (required to http://hl7.org/fhir/ValueSet/currencies|4.0.1)

                                  A code indicating the currency, taken from ISO 4217.

                                  Typecode
                                  Is Modifierfalse
                                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                                  Summarytrue
                                  Requirements

                                  A code indicating the currency, taken from ISO 4217.

                                  Fixed ValueVND
                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                  148. Invoice.totalGross
                                  Definition

                                  Invoice total, tax included.

                                  ShortTổng sau các khoản cộng thêm, nếu có
                                  Comments

                                  There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overridden.

                                  Control0..1
                                  TypeMoney
                                  Is Modifierfalse
                                  Must Supporttrue
                                  Summarytrue
                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                                  150. Invoice.paymentTerms
                                  Definition

                                  Payment details such as banking details, period of payment, deductibles, methods of payment.

                                  ShortPayment details
                                  Comments

                                  Derived Profiles may chose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled.

                                  Control0..1
                                  Typemarkdown
                                  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()))
                                  152. Invoice.note
                                  Definition

                                  Comments made about the invoice by the issuer, subject, or other participants.

                                  ShortComments made about the invoice
                                  Control0..*
                                  TypeAnnotation
                                  Is Modifierfalse
                                  Summaryfalse
                                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))