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: Kết quả giải quyết BHYT VN Core — VN Core ClaimResponse Profile

URL chính thức: http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-claim-response Phiên bản: 0.10.0
Computable Name: VNCoreClaimResponse
Định danh khác: OID:2.25.161089673617632664299011809196868855799.42.35

Profile ClaimResponse cho Việt Nam. Kết quả xử lý yêu cầu thanh toán BHYT.

Đây là nơi nhận kết quả giám định của cơ quan bảo hiểm xã hội (ADR-0021 quyết định D6). Cơ quan bảo hiểm xã hội trả kết quả giám định chứ không phát hành ExplanationOfBenefit; ClaimResponse.item.adjudication trong FHIR R4 vốn đã là 1..* nên chịu được toàn bộ kết quả theo từng dòng. ExplanationOfBenefit lùi về vai trò tuỳ chọn, hướng người bệnh — dùng khi cần trình bày lại chi phí trên Sổ sức khoẻ điện tử.

Bao gồm adjudication chi tiết: tổng đề nghị, đủ điều kiện, cùng chi trả, BHYT thanh toán. Cặp đôi với VNCoreClaim — Claim là yêu cầu, ClaimResponse là kết quả. Một đợt KCB được biểu diễn bằng một Claim với một MA_LK; Claim có thể mang nhiều insurance khi người bệnh được cấp thẻ mới giữa đợt hoặc có đồng thời nhiều thẻ/quyền lợi, và đúng một mục là focal = true. Một ClaimResponse phản hồi toàn bộ hồ sơ đó. Claim.related vẫn là quan hệ tuỳ chọn theo ngữ nghĩa FHIR prior/associated; VN Core không đặt nghĩa vụ hỗ trợ tối thiểu và không dùng phần tử này để hướng dẫn chia đợt hoặc sinh MA_LK mới. Luồng điều chỉnh/bổ sung chưa được VN Core 0.10.0 quy định mô hình FHIR. Mã phản hồi gateway như XML1_ID được biểu diễn bằng identifier slice riêng; không thay thế MA_LK của Claim/Bundle. Căn cứ:

  • QĐ 130/QĐ-BYT → QĐ 4750/QĐ-BYT → QĐ 3176/QĐ-BYT (chuẩn dữ liệu BHXH hiện hành)
  • QĐ 697/QĐ-BYT (19/3/2026) — Mẫu bảng kê chi phí KCB
  • TT 12/2026/TT-BTC — Điều 10–12 và Mẫu 09/BH về giám định, thông báo kết quả/từ chối và quyết toán; lựa chọn ClaimResponse là mapping FHIR cục bộ
  • Luật 51/2024/QH15 (27/11/2024) — sửa đổi Luật BHYT, hiệu lực 01/7/2025
  • NĐ 188/2025/NĐ-CP — ban hành 01/7/2025, hiệu lực 15/8/2025 — Hướng dẫn Luật BHYT
  • NĐ 90/2026/NĐ-CP (ban hành 30/03/2026, hiệu lực 15/05/2026 — đang áp dụng) — xử phạt VPHC y tế, tham chiếu khi hồ sơ giám định/thanh toán sai lệch Nguồn thiết kế: OHP Data Processor (ClaimResponse adjudication mapping).

Usages:

You can also check for usages in the FHIR IG Statistics

Các dạng xem hình thức của nội dung hồ sơ

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ClaimResponse C 0..* ClaimResponse Response to a claim predetermination or preauthorization
Constraints: vn-claim-response-error-outcome-coherent, vn-claim-response-denied-complete, vn-claim-response-itemized, vn-claim-response-total-matches-items, vn-claim-response-reduction-evidenced, vn-claim-response-reduction-evidenced-nested, vn-claim-response-reduction-evidenced-header, vn-claim-response-adjudication-unique-category, vn-claim-response-correlation-anchor, vn-claim-response-money-vnd
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier SO 0..* Identifier Định danh kết quả xử lý, bao gồm mã phản hồi gateway nếu có
Slice: Unordered, Open by value:system
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... identifier:gatewayResponseId SO 0..1 Identifier Mã phản hồi Cổng tiếp nhận BHYT (XML1_ID)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://fhir.hl7.org.vn/core/CodeSystem/vn-identifier-type-cs
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: BHYT_XML1_ID
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://fhir.hl7.org.vn/core/sid/bhyt-gateway-response-id
..... value SΣ 1..1 string Giá trị XML1_ID hoặc mã phản hồi tương đương
Example General: 123456
... type SOΣ 1..1 CodeableConcept Loại: institutional (nội trú) | professional (ngoại trú)
Binding: ClaimTypeCodes (extensible): The type or discipline-style of the claim.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... use SOΣ 1..1 code Mục đích: claim | preauthorization | predetermination
Binding: Use (required): Claim, preauthorization, predetermination.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... patient SOΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... created SOΣ 1..1 dateTime Ngày tạo kết quả
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... insurer SOΣ 1..1 Reference(Organization) Cơ quan BHXH giải quyết
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... request SOΣ 0..1 Reference(Yêu cầu thanh toán KCB VN Core — VN Core Claim Profile) Yêu cầu thanh toán gốc (VNCoreClaim)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... outcome SOΣ 1..1 code Kết quả: queued | complete | error | partial
Binding: ClaimProcessingCodes (required): The result of the claim processing.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... item SO 0..* BackboneElement Kết quả từng dòng chi phí
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence S 1..1 positiveInt Claim item instance identifier
.... adjudication S 1..* BackboneElement Phân bổ chi phí: đề nghị, đủ ĐK, cùng chi trả, BHYT thanh toán
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:legalEvidence S 0..* (Complex) Căn cứ pháp lý của kết quả giám định (bắt buộc khi từ chối/thu hồi)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... category S 1..1 CodeableConcept Loại: submitted | eligible | copay | benefit | denied | recovered
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
..... reason S 0..1 CodeableConcept Lý do của kết quả giám định — bắt buộc khi category là denied hoặc recovered
Binding: Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet (extensible)
..... amount S 0..1 Money Số tiền (VND, đơn vị đồng — xem quy ước đơn vị tiền bên dưới)
... total SOΣ 0..* BackboneElement Tổng adjudication
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... category SΣ 1..1 CodeableConcept Loại tổng: submitted | eligible | copay | benefit hoặc category BHYT cục bộ
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
.... amount SΣ 1..1 Money Financial total for the category
... payment 0..1 BackboneElement Thông tin thanh toán
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 1..1 CodeableConcept Partial or complete payment
Binding: ExamplePaymentTypeCodes (example): The type (partial, complete) of the payment.
.... amount 1..1 Money Số tiền BHXH thanh toán
... error SO 0..* BackboneElement Lỗi xử lý khiến hồ sơ không adjudicate được
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence S 0..1 positiveInt Dòng chi phí liên quan nếu có
.... detailSequence S 0..1 positiveInt Detail sequence number
.... subDetailSequence S 0..1 positiveInt Subdetail sequence number
.... code S 1..1 CodeableConcept Mã lỗi xử lý
Binding: Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet (extensible)

doco Documentation for this format
NameBên giám định BHYT (Adjudicator)Bên gửi hồ sơ BHYT (Submitter)doco
.. ClaimResponse
... Slices for identifier
.... identifier:gatewayResponseId
... status
... type
... patient
... created
... insurer
... request
... outcome
... item
... total
... error

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ClaimResponse.identifier:gatewayResponseId.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
ClaimResponse.identifier:gatewayResponseId.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
ClaimResponse.status Base required Financial Resource Status Codes 📍4.0.1 FHIR Std.
ClaimResponse.type Base extensible Claim Type Codes 📍4.0.1 FHIR Std.
ClaimResponse.use Base required Use 📍4.0.1 FHIR Std.
ClaimResponse.outcome Base required Claim Processing Codes 📍4.0.1 FHIR Std.
ClaimResponse.item.adjudication.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.item.adjudication.​reason Base extensible Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet 📦0.10.0 This IG
ClaimResponse.total.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.payment.​type Base example Example Payment Type Codes 📍4.0.1 FHIR Std.
ClaimResponse.error.​code Base extensible Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet 📦0.10.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error ClaimResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ClaimResponse 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 error ClaimResponse 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 error ClaimResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ClaimResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vn-claim-response-adjudication-unique-category error ClaimResponse Trong một cụm adjudication (header, item, chi tiết, chi tiết phụ, dòng bổ sung và các tầng con của nó), mỗi category HL7 chuẩn chỉ xuất hiện một lần — hợp đồng mapping OHP mà phép so sánh giảm-tiền dựa vào. Within each adjudication set every standard HL7 category SHALL appear at most once. adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct() and item.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct())
vn-claim-response-correlation-anchor error ClaimResponse Kết quả giám định đang hiệu lực phải đối soát được BẰNG GIÁ TRỊ THẬT: request phải là reference giải quyết được (không display-only) hoặc identifier phải có value — Identifier rỗng/Reference chỉ có display không đối soát được với hồ sơ nào (siết round 3, 13/08/2026). An active ClaimResponse SHALL carry a resolvable request reference or an identifier WITH a value. status != 'active' or request.reference.exists() or identifier.value.exists()
vn-claim-response-denied-complete error ClaimResponse Khoản tiền bị từ chối hoặc bị thu hồi phải có số tiền không âm, lý do và ít nhất một căn cứ pháp lý. A denied or recovered amount SHALL carry a non-negative amount, a reason and at least one legal basis. (adjudication | item.adjudication | item.detail.adjudication | item.detail.subDetail.adjudication | addItem.adjudication | addItem.detail.adjudication | addItem.detail.subDetail.adjudication).where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).all(amount.value.exists() and amount.value >= 0 and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists())
vn-claim-response-error-outcome-coherent error ClaimResponse Có lỗi xử lý thì outcome phải là `error`. When a processing error is present, outcome SHALL be `error`. error.empty() or outcome = 'error'
vn-claim-response-itemized error ClaimResponse Phản hồi giám định phải liệt kê từng dòng chi phí, trừ khi kết quả là lỗi kỹ thuật. An adjudication response SHALL be itemized unless its outcome is an error. outcome = 'error' or item.exists()
vn-claim-response-money-vnd error ClaimResponse Mọi khoản tiền của kết quả giám định phải dùng VND. Every monetary amount in the adjudication result SHALL use VND. descendants().ofType(Money).all(currency = 'VND')
vn-claim-response-reduction-evidenced error ClaimResponse Dòng chi phí có số đủ điều kiện thấp hơn số đề nghị phải mang bằng chứng tường minh: hoặc kết quả từ chối/thu hồi (category denied/recovered kèm lý do và căn cứ), hoặc dòng eligible mang lý do + căn cứ pháp lý (khoản ngoài phạm vi hưởng) — không được giảm tiền im lặng. An item whose eligible amount is lower than submitted SHALL carry either an explicit denied/recovered adjudication or a reason plus legal basis on the eligible adjudication. item.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-reduction-evidenced-header error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho cả adjudication cấp tổng thể của ClaimResponse. The reduction-evidence rule SHALL also hold on the header-level ClaimResponse.adjudication. adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()
vn-claim-response-reduction-evidenced-nested error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho MỌI đường adjudication còn lại: dòng chi tiết, chi tiết phụ, dòng bổ sung và chi tiết/chi tiết phụ của dòng bổ sung — hậu kiểm 13/08/2026 chỉ ra addItem.detail/subDetail chưa được phủ. The reduction-evidence rule SHALL hold on item.detail, item.detail.subDetail, addItem, addItem.detail and addItem.detail.subDetail adjudications. item.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and item.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-total-matches-items error ClaimResponse Mỗi tổng theo mã adjudication chuẩn phải bằng tổng các dòng cùng mã. Each total for a standard adjudication category SHALL equal the sum of the matching item adjudications. item.empty() or ((total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.aggregate($this + $total, 0)))

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ClaimResponse C 0..* ClaimResponse Response to a claim predetermination or preauthorization
Constraints: vn-claim-response-error-outcome-coherent, vn-claim-response-denied-complete, vn-claim-response-itemized, vn-claim-response-total-matches-items, vn-claim-response-reduction-evidenced, vn-claim-response-reduction-evidenced-nested, vn-claim-response-reduction-evidenced-header, vn-claim-response-adjudication-unique-category, vn-claim-response-correlation-anchor, vn-claim-response-money-vnd
... Slices for identifier SO 0..* Identifier Định danh kết quả xử lý, bao gồm mã phản hồi gateway nếu có
Slice: Unordered, Open by value:system
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... identifier:gatewayResponseId SO 0..1 Identifier Mã phản hồi Cổng tiếp nhận BHYT (XML1_ID)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
..... type 0..1 CodeableConcept Description of identifier
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://fhir.hl7.org.vn/core/CodeSystem/vn-identifier-type-cs
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: BHYT_XML1_ID
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://fhir.hl7.org.vn/core/sid/bhyt-gateway-response-id
..... value S 1..1 string Giá trị XML1_ID hoặc mã phản hồi tương đương
... status SO 1..1 code Trạng thái kết quả: active | cancelled | draft | entered-in-error
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... type SO 1..1 CodeableConcept Loại: institutional (nội trú) | professional (ngoại trú)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... patient SO 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... created SO 1..1 dateTime Ngày tạo kết quả
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... insurer SO 1..1 Reference(Organization) Cơ quan BHXH giải quyết
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... request SO 0..1 Reference(Yêu cầu thanh toán KCB VN Core — VN Core Claim Profile) Yêu cầu thanh toán gốc (VNCoreClaim)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... outcome SO 1..1 code Kết quả: queued | complete | error | partial
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... item SO 0..* BackboneElement Kết quả từng dòng chi phí
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... itemSequence S 1..1 positiveInt Claim item instance identifier
.... adjudication S 1..* BackboneElement Phân bổ chi phí: đề nghị, đủ ĐK, cùng chi trả, BHYT thanh toán
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:legalEvidence S 0..* (Complex) Căn cứ pháp lý của kết quả giám định (bắt buộc khi từ chối/thu hồi)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence
..... category S 1..1 CodeableConcept Loại: submitted | eligible | copay | benefit | denied | recovered
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
..... reason S 0..1 CodeableConcept Lý do của kết quả giám định — bắt buộc khi category là denied hoặc recovered
Binding: Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet (extensible)
..... amount S 0..1 Money Số tiền (VND, đơn vị đồng — xem quy ước đơn vị tiền bên dưới)
... total SO 0..* BackboneElement Tổng adjudication
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... category S 1..1 CodeableConcept Loại tổng: submitted | eligible | copay | benefit hoặc category BHYT cục bộ
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
.... amount S 1..1 Money Financial total for the category
... payment 0..1 BackboneElement Thông tin thanh toán
.... amount 1..1 Money Số tiền BHXH thanh toán
... error SO 0..* BackboneElement Lỗi xử lý khiến hồ sơ không adjudicate được
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... itemSequence S 0..1 positiveInt Dòng chi phí liên quan nếu có
.... detailSequence S 0..1 positiveInt Detail sequence number
.... subDetailSequence S 0..1 positiveInt Subdetail sequence number
.... code S 1..1 CodeableConcept Mã lỗi xử lý
Binding: Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet (extensible)

doco Documentation for this format
NameBên giám định BHYT (Adjudicator)Bên gửi hồ sơ BHYT (Submitter)doco
.. ClaimResponse
... Slices for identifier
.... identifier:gatewayResponseId
... status
... type
... patient
... created
... insurer
... request
... outcome
... item
... total
... error

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
ClaimResponse.item.adjudication.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.item.adjudication.​reason Base extensible Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet 📦0.10.0 This IG
ClaimResponse.total.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.error.​code Base extensible Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet 📦0.10.0 This IG

Constraints

Id Grade Path(s) Description Expression
vn-claim-response-adjudication-unique-category error ClaimResponse Trong một cụm adjudication (header, item, chi tiết, chi tiết phụ, dòng bổ sung và các tầng con của nó), mỗi category HL7 chuẩn chỉ xuất hiện một lần — hợp đồng mapping OHP mà phép so sánh giảm-tiền dựa vào. Within each adjudication set every standard HL7 category SHALL appear at most once. adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct() and item.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct())
vn-claim-response-correlation-anchor error ClaimResponse Kết quả giám định đang hiệu lực phải đối soát được BẰNG GIÁ TRỊ THẬT: request phải là reference giải quyết được (không display-only) hoặc identifier phải có value — Identifier rỗng/Reference chỉ có display không đối soát được với hồ sơ nào (siết round 3, 13/08/2026). An active ClaimResponse SHALL carry a resolvable request reference or an identifier WITH a value. status != 'active' or request.reference.exists() or identifier.value.exists()
vn-claim-response-denied-complete error ClaimResponse Khoản tiền bị từ chối hoặc bị thu hồi phải có số tiền không âm, lý do và ít nhất một căn cứ pháp lý. A denied or recovered amount SHALL carry a non-negative amount, a reason and at least one legal basis. (adjudication | item.adjudication | item.detail.adjudication | item.detail.subDetail.adjudication | addItem.adjudication | addItem.detail.adjudication | addItem.detail.subDetail.adjudication).where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).all(amount.value.exists() and amount.value >= 0 and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists())
vn-claim-response-error-outcome-coherent error ClaimResponse Có lỗi xử lý thì outcome phải là `error`. When a processing error is present, outcome SHALL be `error`. error.empty() or outcome = 'error'
vn-claim-response-itemized error ClaimResponse Phản hồi giám định phải liệt kê từng dòng chi phí, trừ khi kết quả là lỗi kỹ thuật. An adjudication response SHALL be itemized unless its outcome is an error. outcome = 'error' or item.exists()
vn-claim-response-money-vnd error ClaimResponse Mọi khoản tiền của kết quả giám định phải dùng VND. Every monetary amount in the adjudication result SHALL use VND. descendants().ofType(Money).all(currency = 'VND')
vn-claim-response-reduction-evidenced error ClaimResponse Dòng chi phí có số đủ điều kiện thấp hơn số đề nghị phải mang bằng chứng tường minh: hoặc kết quả từ chối/thu hồi (category denied/recovered kèm lý do và căn cứ), hoặc dòng eligible mang lý do + căn cứ pháp lý (khoản ngoài phạm vi hưởng) — không được giảm tiền im lặng. An item whose eligible amount is lower than submitted SHALL carry either an explicit denied/recovered adjudication or a reason plus legal basis on the eligible adjudication. item.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-reduction-evidenced-header error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho cả adjudication cấp tổng thể của ClaimResponse. The reduction-evidence rule SHALL also hold on the header-level ClaimResponse.adjudication. adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()
vn-claim-response-reduction-evidenced-nested error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho MỌI đường adjudication còn lại: dòng chi tiết, chi tiết phụ, dòng bổ sung và chi tiết/chi tiết phụ của dòng bổ sung — hậu kiểm 13/08/2026 chỉ ra addItem.detail/subDetail chưa được phủ. The reduction-evidence rule SHALL hold on item.detail, item.detail.subDetail, addItem, addItem.detail and addItem.detail.subDetail adjudications. item.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and item.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-total-matches-items error ClaimResponse Mỗi tổng theo mã adjudication chuẩn phải bằng tổng các dòng cùng mã. Each total for a standard adjudication category SHALL equal the sum of the matching item adjudications. item.empty() or ((total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.aggregate($this + $total, 0)))
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ClaimResponse C 0..* ClaimResponse Response to a claim predetermination or preauthorization
Constraints: vn-claim-response-error-outcome-coherent, vn-claim-response-denied-complete, vn-claim-response-itemized, vn-claim-response-total-matches-items, vn-claim-response-reduction-evidenced, vn-claim-response-reduction-evidenced-nested, vn-claim-response-reduction-evidenced-header, vn-claim-response-adjudication-unique-category, vn-claim-response-correlation-anchor, vn-claim-response-money-vnd
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier SO 0..* Identifier Định danh kết quả xử lý, bao gồm mã phản hồi gateway nếu có
Slice: Unordered, Open by value:system
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... identifier:gatewayResponseId SO 0..1 Identifier Mã phản hồi Cổng tiếp nhận BHYT (XML1_ID)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://fhir.hl7.org.vn/core/CodeSystem/vn-identifier-type-cs
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: BHYT_XML1_ID
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://fhir.hl7.org.vn/core/sid/bhyt-gateway-response-id
..... value SΣ 1..1 string Giá trị XML1_ID hoặc mã phản hồi tương đương
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... status ?!SOΣ 1..1 code Trạng thái kết quả: active | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... type SOΣ 1..1 CodeableConcept Loại: institutional (nội trú) | professional (ngoại trú)
Binding: ClaimTypeCodes (extensible): The type or discipline-style of the claim.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... subType 0..1 CodeableConcept More granular claim type
Binding: ExampleClaimSubTypeCodes (example): A more granular claim typecode.
... use SOΣ 1..1 code Mục đích: claim | preauthorization | predetermination
Binding: Use (required): Claim, preauthorization, predetermination.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... patient SOΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... created SOΣ 1..1 dateTime Ngày tạo kết quả
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... insurer SOΣ 1..1 Reference(Organization) Cơ quan BHXH giải quyết
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... requestor 0..1 Reference(Practitioner | PractitionerRole | Organization) Party responsible for the claim
... request SOΣ 0..1 Reference(Yêu cầu thanh toán KCB VN Core — VN Core Claim Profile) Yêu cầu thanh toán gốc (VNCoreClaim)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... outcome SOΣ 1..1 code Kết quả: queued | complete | error | partial
Binding: ClaimProcessingCodes (required): The result of the claim processing.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... disposition 0..1 string Disposition Message
... preAuthRef 0..1 string Preauthorization reference
... preAuthPeriod 0..1 Period Preauthorization reference effective period
... payeeType 0..1 CodeableConcept Party to be paid any benefits payable
Binding: Claim Payee Type Codes (example): A code for the party to be reimbursed.
... item SO 0..* BackboneElement Kết quả từng dòng chi phí
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence S 1..1 positiveInt Claim item instance identifier
.... noteNumber 0..* positiveInt Applicable note numbers
.... adjudication S 1..* BackboneElement Phân bổ chi phí: đề nghị, đủ ĐK, cùng chi trả, BHYT thanh toán
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:legalEvidence S 0..* (Complex) Căn cứ pháp lý của kết quả giám định (bắt buộc khi từ chối/thu hồi)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... category S 1..1 CodeableConcept Loại: submitted | eligible | copay | benefit | denied | recovered
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
..... reason S 0..1 CodeableConcept Lý do của kết quả giám định — bắt buộc khi category là denied hoặc recovered
Binding: Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet (extensible)
..... amount S 0..1 Money Số tiền (VND, đơn vị đồng — xem quy ước đơn vị tiền bên dưới)
..... value 0..1 decimal Non-monetary value
.... detail 0..* BackboneElement Adjudication for claim details
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... detailSequence 1..1 positiveInt Claim detail instance identifier
..... noteNumber 0..* positiveInt Applicable note numbers
..... adjudication 1..* See adjudication (ClaimResponse) Detail level adjudication details
..... subDetail 0..* BackboneElement Adjudication for claim sub-details
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... subDetailSequence 1..1 positiveInt Claim sub-detail instance identifier
...... noteNumber 0..* positiveInt Applicable note numbers
...... adjudication 0..* See adjudication (ClaimResponse) Subdetail level adjudication details
... addItem 0..* BackboneElement Insurer added line items
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence 0..* positiveInt Item sequence number
.... detailSequence 0..* positiveInt Detail sequence number
.... subdetailSequence 0..* positiveInt Subdetail sequence number
.... provider 0..* Reference(Practitioner | PractitionerRole | Organization) Authorized providers
.... productOrService 1..1 CodeableConcept Billing, service, product, or drug code
Binding: USCLSCodes (example): Allowable service and product codes.
.... modifier 0..* CodeableConcept Service/Product billing modifiers
Binding: ModifierTypeCodes (example): Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.
.... programCode 0..* CodeableConcept Program the product or service is provided under
Binding: ExampleProgramReasonCodes (example): Program specific reason codes.
.... serviced[x] 0..1 Date or dates of service or product delivery
..... servicedDate date
..... servicedPeriod Period
.... location[x] 0..1 Place of service or where product was supplied
Binding: ExampleServicePlaceCodes (example): Place of service: pharmacy, school, prison, etc.
..... locationCodeableConcept CodeableConcept
..... locationAddress Address
..... locationReference Reference(Location)
.... quantity 0..1 SimpleQuantity(4.0.1) Count of products or services
.... unitPrice 0..1 Money Fee, charge or cost per item
.... factor 0..1 decimal Price scaling factor
.... net 0..1 Money Total item cost
.... bodySite 0..1 CodeableConcept Anatomical location
Binding: OralSiteCodes (example): The code for the teeth, quadrant, sextant and arch.
.... subSite 0..* CodeableConcept Anatomical sub-location
Binding: SurfaceCodes (example): The code for the tooth surface and surface combinations.
.... noteNumber 0..* positiveInt Applicable note numbers
.... adjudication 1..* See adjudication (ClaimResponse) Added items adjudication
.... detail 0..* BackboneElement Insurer added line details
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... productOrService 1..1 CodeableConcept Billing, service, product, or drug code
Binding: USCLSCodes (example): Allowable service and product codes.
..... modifier 0..* CodeableConcept Service/Product billing modifiers
Binding: ModifierTypeCodes (example): Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.
..... quantity 0..1 SimpleQuantity(4.0.1) Count of products or services
..... unitPrice 0..1 Money Fee, charge or cost per item
..... factor 0..1 decimal Price scaling factor
..... net 0..1 Money Total item cost
..... noteNumber 0..* positiveInt Applicable note numbers
..... adjudication 1..* See adjudication (ClaimResponse) Added items detail adjudication
..... subDetail 0..* BackboneElement Insurer added line items
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... productOrService 1..1 CodeableConcept Billing, service, product, or drug code
Binding: USCLSCodes (example): Allowable service and product codes.
...... modifier 0..* CodeableConcept Service/Product billing modifiers
Binding: ModifierTypeCodes (example): Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.
...... quantity 0..1 SimpleQuantity(4.0.1) Count of products or services
...... unitPrice 0..1 Money Fee, charge or cost per item
...... factor 0..1 decimal Price scaling factor
...... net 0..1 Money Total item cost
...... noteNumber 0..* positiveInt Applicable note numbers
...... adjudication 1..* See adjudication (ClaimResponse) Added items detail adjudication
... adjudication 0..* See adjudication (ClaimResponse) Header-level adjudication
... total SOΣ 0..* BackboneElement Tổng adjudication
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... category SΣ 1..1 CodeableConcept Loại tổng: submitted | eligible | copay | benefit hoặc category BHYT cục bộ
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
.... amount SΣ 1..1 Money Financial total for the category
... payment 0..1 BackboneElement Thông tin thanh toán
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 1..1 CodeableConcept Partial or complete payment
Binding: ExamplePaymentTypeCodes (example): The type (partial, complete) of the payment.
.... adjustment 0..1 Money Payment adjustment for non-claim issues
.... adjustmentReason 0..1 CodeableConcept Explanation for the adjustment
Binding: PaymentAdjustmentReasonCodes (example): Payment Adjustment reason codes.
.... date 0..1 date Expected date of payment
.... amount 1..1 Money Số tiền BHXH thanh toán
.... identifier 0..1 Identifier Business identifier for the payment
... fundsReserve 0..1 CodeableConcept Funds reserved status
Binding: Funds Reservation Codes (example): For whom funds are to be reserved: (Patient, Provider, None).
... formCode 0..1 CodeableConcept Printed form identifier
Binding: Form Codes (example): The forms codes.
... form 0..1 Attachment Printed reference or actual form
... processNote 0..* BackboneElement Note concerning adjudication
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... number 0..1 positiveInt Note instance identifier
.... type 0..1 code display | print | printoper
Binding: NoteType (required): The presentation types of notes.
.... text 1..1 string Note explanatory text
.... language 0..1 CodeableConcept Language of the text
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... communicationRequest 0..* Reference(CommunicationRequest) Request for additional information
... insurance 0..* BackboneElement Patient insurance information
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence 1..1 positiveInt Insurance instance identifier
.... focal 1..1 boolean Coverage to be used for adjudication
.... coverage 1..1 Reference(Coverage) Insurance information
.... businessArrangement 0..1 string Additional provider contract number
.... claimResponse 0..1 Reference(ClaimResponse) Adjudication results
... error SO 0..* BackboneElement Lỗi xử lý khiến hồ sơ không adjudicate được
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence S 0..1 positiveInt Dòng chi phí liên quan nếu có
.... detailSequence S 0..1 positiveInt Detail sequence number
.... subDetailSequence S 0..1 positiveInt Subdetail sequence number
.... code S 1..1 CodeableConcept Mã lỗi xử lý
Binding: Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet (extensible)

doco Documentation for this format
NameBên giám định BHYT (Adjudicator)Bên gửi hồ sơ BHYT (Submitter)doco
.. ClaimResponse
... Slices for identifier
.... identifier:gatewayResponseId
... status
... type
... patient
... created
... insurer
... request
... outcome
... item
... total
... error

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ClaimResponse.language Base preferred Common Languages 📍4.0.1 FHIR Std.
ClaimResponse.identifier:gatewayResponseId.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
ClaimResponse.identifier:gatewayResponseId.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
ClaimResponse.status Base required Financial Resource Status Codes 📍4.0.1 FHIR Std.
ClaimResponse.type Base extensible Claim Type Codes 📍4.0.1 FHIR Std.
ClaimResponse.subType Base example Example Claim SubType Codes 📍4.0.1 FHIR Std.
ClaimResponse.use Base required Use 📍4.0.1 FHIR Std.
ClaimResponse.outcome Base required Claim Processing Codes 📍4.0.1 FHIR Std.
ClaimResponse.payeeType Base example PayeeType 📍4.0.1 FHIR Std.
ClaimResponse.item.adjudication.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.item.adjudication.​reason Base extensible Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet 📦0.10.0 This IG
ClaimResponse.addItem.​productOrService Base example USCLS Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​modifier Base example Modifier type Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​programCode Base example Example Program Reason Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​location[x] Base example Example Service Place Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​bodySite Base example Oral Site Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​subSite Base example Surface Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​detail.productOrService Base example USCLS Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​detail.modifier Base example Modifier type Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​detail.subDetail.productOrService Base example USCLS Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​detail.subDetail.modifier Base example Modifier type Codes 📍4.0.1 FHIR Std.
ClaimResponse.total.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.payment.​type Base example Example Payment Type Codes 📍4.0.1 FHIR Std.
ClaimResponse.payment.​adjustmentReason Base example Payment Adjustment Reason Codes 📍4.0.1 FHIR Std.
ClaimResponse.fundsReserve Base example FundsReserve 📍4.0.1 FHIR Std.
ClaimResponse.formCode Base example Forms 📍4.0.1 FHIR Std.
ClaimResponse.processNote.​type Base required NoteType 📍4.0.1 FHIR Std.
ClaimResponse.processNote.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
ClaimResponse.error.​code Base extensible Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet 📦0.10.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error ClaimResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ClaimResponse 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 error ClaimResponse 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 error ClaimResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ClaimResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vn-claim-response-adjudication-unique-category error ClaimResponse Trong một cụm adjudication (header, item, chi tiết, chi tiết phụ, dòng bổ sung và các tầng con của nó), mỗi category HL7 chuẩn chỉ xuất hiện một lần — hợp đồng mapping OHP mà phép so sánh giảm-tiền dựa vào. Within each adjudication set every standard HL7 category SHALL appear at most once. adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct() and item.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct())
vn-claim-response-correlation-anchor error ClaimResponse Kết quả giám định đang hiệu lực phải đối soát được BẰNG GIÁ TRỊ THẬT: request phải là reference giải quyết được (không display-only) hoặc identifier phải có value — Identifier rỗng/Reference chỉ có display không đối soát được với hồ sơ nào (siết round 3, 13/08/2026). An active ClaimResponse SHALL carry a resolvable request reference or an identifier WITH a value. status != 'active' or request.reference.exists() or identifier.value.exists()
vn-claim-response-denied-complete error ClaimResponse Khoản tiền bị từ chối hoặc bị thu hồi phải có số tiền không âm, lý do và ít nhất một căn cứ pháp lý. A denied or recovered amount SHALL carry a non-negative amount, a reason and at least one legal basis. (adjudication | item.adjudication | item.detail.adjudication | item.detail.subDetail.adjudication | addItem.adjudication | addItem.detail.adjudication | addItem.detail.subDetail.adjudication).where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).all(amount.value.exists() and amount.value >= 0 and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists())
vn-claim-response-error-outcome-coherent error ClaimResponse Có lỗi xử lý thì outcome phải là `error`. When a processing error is present, outcome SHALL be `error`. error.empty() or outcome = 'error'
vn-claim-response-itemized error ClaimResponse Phản hồi giám định phải liệt kê từng dòng chi phí, trừ khi kết quả là lỗi kỹ thuật. An adjudication response SHALL be itemized unless its outcome is an error. outcome = 'error' or item.exists()
vn-claim-response-money-vnd error ClaimResponse Mọi khoản tiền của kết quả giám định phải dùng VND. Every monetary amount in the adjudication result SHALL use VND. descendants().ofType(Money).all(currency = 'VND')
vn-claim-response-reduction-evidenced error ClaimResponse Dòng chi phí có số đủ điều kiện thấp hơn số đề nghị phải mang bằng chứng tường minh: hoặc kết quả từ chối/thu hồi (category denied/recovered kèm lý do và căn cứ), hoặc dòng eligible mang lý do + căn cứ pháp lý (khoản ngoài phạm vi hưởng) — không được giảm tiền im lặng. An item whose eligible amount is lower than submitted SHALL carry either an explicit denied/recovered adjudication or a reason plus legal basis on the eligible adjudication. item.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-reduction-evidenced-header error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho cả adjudication cấp tổng thể của ClaimResponse. The reduction-evidence rule SHALL also hold on the header-level ClaimResponse.adjudication. adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()
vn-claim-response-reduction-evidenced-nested error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho MỌI đường adjudication còn lại: dòng chi tiết, chi tiết phụ, dòng bổ sung và chi tiết/chi tiết phụ của dòng bổ sung — hậu kiểm 13/08/2026 chỉ ra addItem.detail/subDetail chưa được phủ. The reduction-evidence rule SHALL hold on item.detail, item.detail.subDetail, addItem, addItem.detail and addItem.detail.subDetail adjudications. item.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and item.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-total-matches-items error ClaimResponse Mỗi tổng theo mã adjudication chuẩn phải bằng tổng các dòng cùng mã. Each total for a standard adjudication category SHALL equal the sum of the matching item adjudications. item.empty() or ((total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.aggregate($this + $total, 0)))

Summary

Mandatory: 0 element(2 nested mandatory elements)
Must-Support: 26 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the values of ClaimResponse.identifier

Dạng xem phần tử chính

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ClaimResponse C 0..* ClaimResponse Response to a claim predetermination or preauthorization
Constraints: vn-claim-response-error-outcome-coherent, vn-claim-response-denied-complete, vn-claim-response-itemized, vn-claim-response-total-matches-items, vn-claim-response-reduction-evidenced, vn-claim-response-reduction-evidenced-nested, vn-claim-response-reduction-evidenced-header, vn-claim-response-adjudication-unique-category, vn-claim-response-correlation-anchor, vn-claim-response-money-vnd
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier SO 0..* Identifier Định danh kết quả xử lý, bao gồm mã phản hồi gateway nếu có
Slice: Unordered, Open by value:system
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... identifier:gatewayResponseId SO 0..1 Identifier Mã phản hồi Cổng tiếp nhận BHYT (XML1_ID)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://fhir.hl7.org.vn/core/CodeSystem/vn-identifier-type-cs
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: BHYT_XML1_ID
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://fhir.hl7.org.vn/core/sid/bhyt-gateway-response-id
..... value SΣ 1..1 string Giá trị XML1_ID hoặc mã phản hồi tương đương
Example General: 123456
... type SOΣ 1..1 CodeableConcept Loại: institutional (nội trú) | professional (ngoại trú)
Binding: ClaimTypeCodes (extensible): The type or discipline-style of the claim.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... use SOΣ 1..1 code Mục đích: claim | preauthorization | predetermination
Binding: Use (required): Claim, preauthorization, predetermination.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... patient SOΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... created SOΣ 1..1 dateTime Ngày tạo kết quả
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... insurer SOΣ 1..1 Reference(Organization) Cơ quan BHXH giải quyết
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... request SOΣ 0..1 Reference(Yêu cầu thanh toán KCB VN Core — VN Core Claim Profile) Yêu cầu thanh toán gốc (VNCoreClaim)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... outcome SOΣ 1..1 code Kết quả: queued | complete | error | partial
Binding: ClaimProcessingCodes (required): The result of the claim processing.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... item SO 0..* BackboneElement Kết quả từng dòng chi phí
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence S 1..1 positiveInt Claim item instance identifier
.... adjudication S 1..* BackboneElement Phân bổ chi phí: đề nghị, đủ ĐK, cùng chi trả, BHYT thanh toán
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:legalEvidence S 0..* (Complex) Căn cứ pháp lý của kết quả giám định (bắt buộc khi từ chối/thu hồi)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... category S 1..1 CodeableConcept Loại: submitted | eligible | copay | benefit | denied | recovered
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
..... reason S 0..1 CodeableConcept Lý do của kết quả giám định — bắt buộc khi category là denied hoặc recovered
Binding: Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet (extensible)
..... amount S 0..1 Money Số tiền (VND, đơn vị đồng — xem quy ước đơn vị tiền bên dưới)
... total SOΣ 0..* BackboneElement Tổng adjudication
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... category SΣ 1..1 CodeableConcept Loại tổng: submitted | eligible | copay | benefit hoặc category BHYT cục bộ
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
.... amount SΣ 1..1 Money Financial total for the category
... payment 0..1 BackboneElement Thông tin thanh toán
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 1..1 CodeableConcept Partial or complete payment
Binding: ExamplePaymentTypeCodes (example): The type (partial, complete) of the payment.
.... amount 1..1 Money Số tiền BHXH thanh toán
... error SO 0..* BackboneElement Lỗi xử lý khiến hồ sơ không adjudicate được
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence S 0..1 positiveInt Dòng chi phí liên quan nếu có
.... detailSequence S 0..1 positiveInt Detail sequence number
.... subDetailSequence S 0..1 positiveInt Subdetail sequence number
.... code S 1..1 CodeableConcept Mã lỗi xử lý
Binding: Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet (extensible)

doco Documentation for this format
NameBên giám định BHYT (Adjudicator)Bên gửi hồ sơ BHYT (Submitter)doco
.. ClaimResponse
... Slices for identifier
.... identifier:gatewayResponseId
... status
... type
... patient
... created
... insurer
... request
... outcome
... item
... total
... error

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ClaimResponse.identifier:gatewayResponseId.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
ClaimResponse.identifier:gatewayResponseId.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
ClaimResponse.status Base required Financial Resource Status Codes 📍4.0.1 FHIR Std.
ClaimResponse.type Base extensible Claim Type Codes 📍4.0.1 FHIR Std.
ClaimResponse.use Base required Use 📍4.0.1 FHIR Std.
ClaimResponse.outcome Base required Claim Processing Codes 📍4.0.1 FHIR Std.
ClaimResponse.item.adjudication.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.item.adjudication.​reason Base extensible Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet 📦0.10.0 This IG
ClaimResponse.total.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.payment.​type Base example Example Payment Type Codes 📍4.0.1 FHIR Std.
ClaimResponse.error.​code Base extensible Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet 📦0.10.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error ClaimResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ClaimResponse 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 error ClaimResponse 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 error ClaimResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ClaimResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vn-claim-response-adjudication-unique-category error ClaimResponse Trong một cụm adjudication (header, item, chi tiết, chi tiết phụ, dòng bổ sung và các tầng con của nó), mỗi category HL7 chuẩn chỉ xuất hiện một lần — hợp đồng mapping OHP mà phép so sánh giảm-tiền dựa vào. Within each adjudication set every standard HL7 category SHALL appear at most once. adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct() and item.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct())
vn-claim-response-correlation-anchor error ClaimResponse Kết quả giám định đang hiệu lực phải đối soát được BẰNG GIÁ TRỊ THẬT: request phải là reference giải quyết được (không display-only) hoặc identifier phải có value — Identifier rỗng/Reference chỉ có display không đối soát được với hồ sơ nào (siết round 3, 13/08/2026). An active ClaimResponse SHALL carry a resolvable request reference or an identifier WITH a value. status != 'active' or request.reference.exists() or identifier.value.exists()
vn-claim-response-denied-complete error ClaimResponse Khoản tiền bị từ chối hoặc bị thu hồi phải có số tiền không âm, lý do và ít nhất một căn cứ pháp lý. A denied or recovered amount SHALL carry a non-negative amount, a reason and at least one legal basis. (adjudication | item.adjudication | item.detail.adjudication | item.detail.subDetail.adjudication | addItem.adjudication | addItem.detail.adjudication | addItem.detail.subDetail.adjudication).where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).all(amount.value.exists() and amount.value >= 0 and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists())
vn-claim-response-error-outcome-coherent error ClaimResponse Có lỗi xử lý thì outcome phải là `error`. When a processing error is present, outcome SHALL be `error`. error.empty() or outcome = 'error'
vn-claim-response-itemized error ClaimResponse Phản hồi giám định phải liệt kê từng dòng chi phí, trừ khi kết quả là lỗi kỹ thuật. An adjudication response SHALL be itemized unless its outcome is an error. outcome = 'error' or item.exists()
vn-claim-response-money-vnd error ClaimResponse Mọi khoản tiền của kết quả giám định phải dùng VND. Every monetary amount in the adjudication result SHALL use VND. descendants().ofType(Money).all(currency = 'VND')
vn-claim-response-reduction-evidenced error ClaimResponse Dòng chi phí có số đủ điều kiện thấp hơn số đề nghị phải mang bằng chứng tường minh: hoặc kết quả từ chối/thu hồi (category denied/recovered kèm lý do và căn cứ), hoặc dòng eligible mang lý do + căn cứ pháp lý (khoản ngoài phạm vi hưởng) — không được giảm tiền im lặng. An item whose eligible amount is lower than submitted SHALL carry either an explicit denied/recovered adjudication or a reason plus legal basis on the eligible adjudication. item.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-reduction-evidenced-header error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho cả adjudication cấp tổng thể của ClaimResponse. The reduction-evidence rule SHALL also hold on the header-level ClaimResponse.adjudication. adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()
vn-claim-response-reduction-evidenced-nested error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho MỌI đường adjudication còn lại: dòng chi tiết, chi tiết phụ, dòng bổ sung và chi tiết/chi tiết phụ của dòng bổ sung — hậu kiểm 13/08/2026 chỉ ra addItem.detail/subDetail chưa được phủ. The reduction-evidence rule SHALL hold on item.detail, item.detail.subDetail, addItem, addItem.detail and addItem.detail.subDetail adjudications. item.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and item.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-total-matches-items error ClaimResponse Mỗi tổng theo mã adjudication chuẩn phải bằng tổng các dòng cùng mã. Each total for a standard adjudication category SHALL equal the sum of the matching item adjudications. item.empty() or ((total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.aggregate($this + $total, 0)))

Dạng xem Differential

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ClaimResponse C 0..* ClaimResponse Response to a claim predetermination or preauthorization
Constraints: vn-claim-response-error-outcome-coherent, vn-claim-response-denied-complete, vn-claim-response-itemized, vn-claim-response-total-matches-items, vn-claim-response-reduction-evidenced, vn-claim-response-reduction-evidenced-nested, vn-claim-response-reduction-evidenced-header, vn-claim-response-adjudication-unique-category, vn-claim-response-correlation-anchor, vn-claim-response-money-vnd
... Slices for identifier SO 0..* Identifier Định danh kết quả xử lý, bao gồm mã phản hồi gateway nếu có
Slice: Unordered, Open by value:system
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... identifier:gatewayResponseId SO 0..1 Identifier Mã phản hồi Cổng tiếp nhận BHYT (XML1_ID)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
..... type 0..1 CodeableConcept Description of identifier
Required Pattern: At least the following
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://fhir.hl7.org.vn/core/CodeSystem/vn-identifier-type-cs
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: BHYT_XML1_ID
..... system 1..1 uri The namespace for the identifier value
Fixed Value: http://fhir.hl7.org.vn/core/sid/bhyt-gateway-response-id
..... value S 1..1 string Giá trị XML1_ID hoặc mã phản hồi tương đương
... status SO 1..1 code Trạng thái kết quả: active | cancelled | draft | entered-in-error
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... type SO 1..1 CodeableConcept Loại: institutional (nội trú) | professional (ngoại trú)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... patient SO 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... created SO 1..1 dateTime Ngày tạo kết quả
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... insurer SO 1..1 Reference(Organization) Cơ quan BHXH giải quyết
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... request SO 0..1 Reference(Yêu cầu thanh toán KCB VN Core — VN Core Claim Profile) Yêu cầu thanh toán gốc (VNCoreClaim)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... outcome SO 1..1 code Kết quả: queued | complete | error | partial
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... item SO 0..* BackboneElement Kết quả từng dòng chi phí
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... itemSequence S 1..1 positiveInt Claim item instance identifier
.... adjudication S 1..* BackboneElement Phân bổ chi phí: đề nghị, đủ ĐK, cùng chi trả, BHYT thanh toán
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:legalEvidence S 0..* (Complex) Căn cứ pháp lý của kết quả giám định (bắt buộc khi từ chối/thu hồi)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence
..... category S 1..1 CodeableConcept Loại: submitted | eligible | copay | benefit | denied | recovered
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
..... reason S 0..1 CodeableConcept Lý do của kết quả giám định — bắt buộc khi category là denied hoặc recovered
Binding: Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet (extensible)
..... amount S 0..1 Money Số tiền (VND, đơn vị đồng — xem quy ước đơn vị tiền bên dưới)
... total SO 0..* BackboneElement Tổng adjudication
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... category S 1..1 CodeableConcept Loại tổng: submitted | eligible | copay | benefit hoặc category BHYT cục bộ
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
.... amount S 1..1 Money Financial total for the category
... payment 0..1 BackboneElement Thông tin thanh toán
.... amount 1..1 Money Số tiền BHXH thanh toán
... error SO 0..* BackboneElement Lỗi xử lý khiến hồ sơ không adjudicate được
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... itemSequence S 0..1 positiveInt Dòng chi phí liên quan nếu có
.... detailSequence S 0..1 positiveInt Detail sequence number
.... subDetailSequence S 0..1 positiveInt Subdetail sequence number
.... code S 1..1 CodeableConcept Mã lỗi xử lý
Binding: Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet (extensible)

doco Documentation for this format
NameBên giám định BHYT (Adjudicator)Bên gửi hồ sơ BHYT (Submitter)doco
.. ClaimResponse
... Slices for identifier
.... identifier:gatewayResponseId
... status
... type
... patient
... created
... insurer
... request
... outcome
... item
... total
... error

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
ClaimResponse.item.adjudication.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.item.adjudication.​reason Base extensible Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet 📦0.10.0 This IG
ClaimResponse.total.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.error.​code Base extensible Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet 📦0.10.0 This IG

Constraints

Id Grade Path(s) Description Expression
vn-claim-response-adjudication-unique-category error ClaimResponse Trong một cụm adjudication (header, item, chi tiết, chi tiết phụ, dòng bổ sung và các tầng con của nó), mỗi category HL7 chuẩn chỉ xuất hiện một lần — hợp đồng mapping OHP mà phép so sánh giảm-tiền dựa vào. Within each adjudication set every standard HL7 category SHALL appear at most once. adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct() and item.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct())
vn-claim-response-correlation-anchor error ClaimResponse Kết quả giám định đang hiệu lực phải đối soát được BẰNG GIÁ TRỊ THẬT: request phải là reference giải quyết được (không display-only) hoặc identifier phải có value — Identifier rỗng/Reference chỉ có display không đối soát được với hồ sơ nào (siết round 3, 13/08/2026). An active ClaimResponse SHALL carry a resolvable request reference or an identifier WITH a value. status != 'active' or request.reference.exists() or identifier.value.exists()
vn-claim-response-denied-complete error ClaimResponse Khoản tiền bị từ chối hoặc bị thu hồi phải có số tiền không âm, lý do và ít nhất một căn cứ pháp lý. A denied or recovered amount SHALL carry a non-negative amount, a reason and at least one legal basis. (adjudication | item.adjudication | item.detail.adjudication | item.detail.subDetail.adjudication | addItem.adjudication | addItem.detail.adjudication | addItem.detail.subDetail.adjudication).where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).all(amount.value.exists() and amount.value >= 0 and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists())
vn-claim-response-error-outcome-coherent error ClaimResponse Có lỗi xử lý thì outcome phải là `error`. When a processing error is present, outcome SHALL be `error`. error.empty() or outcome = 'error'
vn-claim-response-itemized error ClaimResponse Phản hồi giám định phải liệt kê từng dòng chi phí, trừ khi kết quả là lỗi kỹ thuật. An adjudication response SHALL be itemized unless its outcome is an error. outcome = 'error' or item.exists()
vn-claim-response-money-vnd error ClaimResponse Mọi khoản tiền của kết quả giám định phải dùng VND. Every monetary amount in the adjudication result SHALL use VND. descendants().ofType(Money).all(currency = 'VND')
vn-claim-response-reduction-evidenced error ClaimResponse Dòng chi phí có số đủ điều kiện thấp hơn số đề nghị phải mang bằng chứng tường minh: hoặc kết quả từ chối/thu hồi (category denied/recovered kèm lý do và căn cứ), hoặc dòng eligible mang lý do + căn cứ pháp lý (khoản ngoài phạm vi hưởng) — không được giảm tiền im lặng. An item whose eligible amount is lower than submitted SHALL carry either an explicit denied/recovered adjudication or a reason plus legal basis on the eligible adjudication. item.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-reduction-evidenced-header error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho cả adjudication cấp tổng thể của ClaimResponse. The reduction-evidence rule SHALL also hold on the header-level ClaimResponse.adjudication. adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()
vn-claim-response-reduction-evidenced-nested error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho MỌI đường adjudication còn lại: dòng chi tiết, chi tiết phụ, dòng bổ sung và chi tiết/chi tiết phụ của dòng bổ sung — hậu kiểm 13/08/2026 chỉ ra addItem.detail/subDetail chưa được phủ. The reduction-evidence rule SHALL hold on item.detail, item.detail.subDetail, addItem, addItem.detail and addItem.detail.subDetail adjudications. item.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and item.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-total-matches-items error ClaimResponse Mỗi tổng theo mã adjudication chuẩn phải bằng tổng các dòng cùng mã. Each total for a standard adjudication category SHALL equal the sum of the matching item adjudications. item.empty() or ((total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.aggregate($this + $total, 0)))

Dạng xem SnapshotView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ClaimResponse C 0..* ClaimResponse Response to a claim predetermination or preauthorization
Constraints: vn-claim-response-error-outcome-coherent, vn-claim-response-denied-complete, vn-claim-response-itemized, vn-claim-response-total-matches-items, vn-claim-response-reduction-evidenced, vn-claim-response-reduction-evidenced-nested, vn-claim-response-reduction-evidenced-header, vn-claim-response-adjudication-unique-category, vn-claim-response-correlation-anchor, vn-claim-response-money-vnd
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier SO 0..* Identifier Định danh kết quả xử lý, bao gồm mã phản hồi gateway nếu có
Slice: Unordered, Open by value:system
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... identifier:gatewayResponseId SO 0..1 Identifier Mã phản hồi Cổng tiếp nhận BHYT (XML1_ID)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Required Pattern: At least the following
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... coding 1..* Coding Code defined by a terminology system
Fixed Value: (Complex)
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... system 1..1 uri Identity of the terminology system
Fixed Value: http://fhir.hl7.org.vn/core/CodeSystem/vn-identifier-type-cs
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: BHYT_XML1_ID
....... display 0..1 string Representation defined by the system
....... userSelected 0..1 boolean If this coding was chosen directly by the user
...... text 0..1 string Plain text representation of the concept
..... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: http://fhir.hl7.org.vn/core/sid/bhyt-gateway-response-id
..... value SΣ 1..1 string Giá trị XML1_ID hoặc mã phản hồi tương đương
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... status ?!SOΣ 1..1 code Trạng thái kết quả: active | cancelled | draft | entered-in-error
Binding: FinancialResourceStatusCodes (required): A code specifying the state of the resource instance.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... type SOΣ 1..1 CodeableConcept Loại: institutional (nội trú) | professional (ngoại trú)
Binding: ClaimTypeCodes (extensible): The type or discipline-style of the claim.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... subType 0..1 CodeableConcept More granular claim type
Binding: ExampleClaimSubTypeCodes (example): A more granular claim typecode.
... use SOΣ 1..1 code Mục đích: claim | preauthorization | predetermination
Binding: Use (required): Claim, preauthorization, predetermination.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... patient SOΣ 1..1 Reference(Bệnh nhân VN Core — VN Core Patient Profile) Bệnh nhân
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... created SOΣ 1..1 dateTime Ngày tạo kết quả
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... insurer SOΣ 1..1 Reference(Organization) Cơ quan BHXH giải quyết
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... requestor 0..1 Reference(Practitioner | PractitionerRole | Organization) Party responsible for the claim
... request SOΣ 0..1 Reference(Yêu cầu thanh toán KCB VN Core — VN Core Claim Profile) Yêu cầu thanh toán gốc (VNCoreClaim)
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... outcome SOΣ 1..1 code Kết quả: queued | complete | error | partial
Binding: ClaimProcessingCodes (required): The result of the claim processing.
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
... disposition 0..1 string Disposition Message
... preAuthRef 0..1 string Preauthorization reference
... preAuthPeriod 0..1 Period Preauthorization reference effective period
... payeeType 0..1 CodeableConcept Party to be paid any benefits payable
Binding: Claim Payee Type Codes (example): A code for the party to be reimbursed.
... item SO 0..* BackboneElement Kết quả từng dòng chi phí
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence S 1..1 positiveInt Claim item instance identifier
.... noteNumber 0..* positiveInt Applicable note numbers
.... adjudication S 1..* BackboneElement Phân bổ chi phí: đề nghị, đủ ĐK, cùng chi trả, BHYT thanh toán
..... id 0..1 string Unique id for inter-element referencing
..... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
...... extension:legalEvidence S 0..* (Complex) Căn cứ pháp lý của kết quả giám định (bắt buộc khi từ chối/thu hồi)
URL: http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... category S 1..1 CodeableConcept Loại: submitted | eligible | copay | benefit | denied | recovered
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
..... reason S 0..1 CodeableConcept Lý do của kết quả giám định — bắt buộc khi category là denied hoặc recovered
Binding: Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet (extensible)
..... amount S 0..1 Money Số tiền (VND, đơn vị đồng — xem quy ước đơn vị tiền bên dưới)
..... value 0..1 decimal Non-monetary value
.... detail 0..* BackboneElement Adjudication for claim details
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... detailSequence 1..1 positiveInt Claim detail instance identifier
..... noteNumber 0..* positiveInt Applicable note numbers
..... adjudication 1..* See adjudication (ClaimResponse) Detail level adjudication details
..... subDetail 0..* BackboneElement Adjudication for claim sub-details
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... subDetailSequence 1..1 positiveInt Claim sub-detail instance identifier
...... noteNumber 0..* positiveInt Applicable note numbers
...... adjudication 0..* See adjudication (ClaimResponse) Subdetail level adjudication details
... addItem 0..* BackboneElement Insurer added line items
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence 0..* positiveInt Item sequence number
.... detailSequence 0..* positiveInt Detail sequence number
.... subdetailSequence 0..* positiveInt Subdetail sequence number
.... provider 0..* Reference(Practitioner | PractitionerRole | Organization) Authorized providers
.... productOrService 1..1 CodeableConcept Billing, service, product, or drug code
Binding: USCLSCodes (example): Allowable service and product codes.
.... modifier 0..* CodeableConcept Service/Product billing modifiers
Binding: ModifierTypeCodes (example): Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.
.... programCode 0..* CodeableConcept Program the product or service is provided under
Binding: ExampleProgramReasonCodes (example): Program specific reason codes.
.... serviced[x] 0..1 Date or dates of service or product delivery
..... servicedDate date
..... servicedPeriod Period
.... location[x] 0..1 Place of service or where product was supplied
Binding: ExampleServicePlaceCodes (example): Place of service: pharmacy, school, prison, etc.
..... locationCodeableConcept CodeableConcept
..... locationAddress Address
..... locationReference Reference(Location)
.... quantity 0..1 SimpleQuantity(4.0.1) Count of products or services
.... unitPrice 0..1 Money Fee, charge or cost per item
.... factor 0..1 decimal Price scaling factor
.... net 0..1 Money Total item cost
.... bodySite 0..1 CodeableConcept Anatomical location
Binding: OralSiteCodes (example): The code for the teeth, quadrant, sextant and arch.
.... subSite 0..* CodeableConcept Anatomical sub-location
Binding: SurfaceCodes (example): The code for the tooth surface and surface combinations.
.... noteNumber 0..* positiveInt Applicable note numbers
.... adjudication 1..* See adjudication (ClaimResponse) Added items adjudication
.... detail 0..* BackboneElement Insurer added line details
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... productOrService 1..1 CodeableConcept Billing, service, product, or drug code
Binding: USCLSCodes (example): Allowable service and product codes.
..... modifier 0..* CodeableConcept Service/Product billing modifiers
Binding: ModifierTypeCodes (example): Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.
..... quantity 0..1 SimpleQuantity(4.0.1) Count of products or services
..... unitPrice 0..1 Money Fee, charge or cost per item
..... factor 0..1 decimal Price scaling factor
..... net 0..1 Money Total item cost
..... noteNumber 0..* positiveInt Applicable note numbers
..... adjudication 1..* See adjudication (ClaimResponse) Added items detail adjudication
..... subDetail 0..* BackboneElement Insurer added line items
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... productOrService 1..1 CodeableConcept Billing, service, product, or drug code
Binding: USCLSCodes (example): Allowable service and product codes.
...... modifier 0..* CodeableConcept Service/Product billing modifiers
Binding: ModifierTypeCodes (example): Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.
...... quantity 0..1 SimpleQuantity(4.0.1) Count of products or services
...... unitPrice 0..1 Money Fee, charge or cost per item
...... factor 0..1 decimal Price scaling factor
...... net 0..1 Money Total item cost
...... noteNumber 0..* positiveInt Applicable note numbers
...... adjudication 1..* See adjudication (ClaimResponse) Added items detail adjudication
... adjudication 0..* See adjudication (ClaimResponse) Header-level adjudication
... total SOΣ 0..* BackboneElement Tổng adjudication
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... category SΣ 1..1 CodeableConcept Loại tổng: submitted | eligible | copay | benefit hoặc category BHYT cục bộ
Binding: Loại adjudication BHYT — BHYT Adjudication Category ValueSet (extensible)
.... amount SΣ 1..1 Money Financial total for the category
... payment 0..1 BackboneElement Thông tin thanh toán
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type 1..1 CodeableConcept Partial or complete payment
Binding: ExamplePaymentTypeCodes (example): The type (partial, complete) of the payment.
.... adjustment 0..1 Money Payment adjustment for non-claim issues
.... adjustmentReason 0..1 CodeableConcept Explanation for the adjustment
Binding: PaymentAdjustmentReasonCodes (example): Payment Adjustment reason codes.
.... date 0..1 date Expected date of payment
.... amount 1..1 Money Số tiền BHXH thanh toán
.... identifier 0..1 Identifier Business identifier for the payment
... fundsReserve 0..1 CodeableConcept Funds reserved status
Binding: Funds Reservation Codes (example): For whom funds are to be reserved: (Patient, Provider, None).
... formCode 0..1 CodeableConcept Printed form identifier
Binding: Form Codes (example): The forms codes.
... form 0..1 Attachment Printed reference or actual form
... processNote 0..* BackboneElement Note concerning adjudication
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... number 0..1 positiveInt Note instance identifier
.... type 0..1 code display | print | printoper
Binding: NoteType (required): The presentation types of notes.
.... text 1..1 string Note explanatory text
.... language 0..1 CodeableConcept Language of the text
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... communicationRequest 0..* Reference(CommunicationRequest) Request for additional information
... insurance 0..* BackboneElement Patient insurance information
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence 1..1 positiveInt Insurance instance identifier
.... focal 1..1 boolean Coverage to be used for adjudication
.... coverage 1..1 Reference(Coverage) Insurance information
.... businessArrangement 0..1 string Additional provider contract number
.... claimResponse 0..1 Reference(ClaimResponse) Adjudication results
... error SO 0..* BackboneElement Lỗi xử lý khiến hồ sơ không adjudicate được
ObligationsActor
SHALL:populate-if-known Bên giám định BHYT (Adjudicator)
SHALL:no-error & SHALL:handle Bên gửi hồ sơ BHYT (Submitter)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... itemSequence S 0..1 positiveInt Dòng chi phí liên quan nếu có
.... detailSequence S 0..1 positiveInt Detail sequence number
.... subDetailSequence S 0..1 positiveInt Subdetail sequence number
.... code S 1..1 CodeableConcept Mã lỗi xử lý
Binding: Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet (extensible)

doco Documentation for this format
NameBên giám định BHYT (Adjudicator)Bên gửi hồ sơ BHYT (Submitter)doco
.. ClaimResponse
... Slices for identifier
.... identifier:gatewayResponseId
... status
... type
... patient
... created
... insurer
... request
... outcome
... item
... total
... error

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ClaimResponse.language Base preferred Common Languages 📍4.0.1 FHIR Std.
ClaimResponse.identifier:gatewayResponseId.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
ClaimResponse.identifier:gatewayResponseId.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
ClaimResponse.status Base required Financial Resource Status Codes 📍4.0.1 FHIR Std.
ClaimResponse.type Base extensible Claim Type Codes 📍4.0.1 FHIR Std.
ClaimResponse.subType Base example Example Claim SubType Codes 📍4.0.1 FHIR Std.
ClaimResponse.use Base required Use 📍4.0.1 FHIR Std.
ClaimResponse.outcome Base required Claim Processing Codes 📍4.0.1 FHIR Std.
ClaimResponse.payeeType Base example PayeeType 📍4.0.1 FHIR Std.
ClaimResponse.item.adjudication.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.item.adjudication.​reason Base extensible Issue tầng NGHIỆP VỤ — VN BHYT Adjudication Issue ValueSet 📦0.10.0 This IG
ClaimResponse.addItem.​productOrService Base example USCLS Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​modifier Base example Modifier type Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​programCode Base example Example Program Reason Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​location[x] Base example Example Service Place Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​bodySite Base example Oral Site Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​subSite Base example Surface Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​detail.productOrService Base example USCLS Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​detail.modifier Base example Modifier type Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​detail.subDetail.productOrService Base example USCLS Codes 📍4.0.1 FHIR Std.
ClaimResponse.addItem.​detail.subDetail.modifier Base example Modifier type Codes 📍4.0.1 FHIR Std.
ClaimResponse.total.​category Base extensible Loại adjudication BHYT — BHYT Adjudication Category ValueSet 📦0.10.0 This IG
ClaimResponse.payment.​type Base example Example Payment Type Codes 📍4.0.1 FHIR Std.
ClaimResponse.payment.​adjustmentReason Base example Payment Adjustment Reason Codes 📍4.0.1 FHIR Std.
ClaimResponse.fundsReserve Base example FundsReserve 📍4.0.1 FHIR Std.
ClaimResponse.formCode Base example Forms 📍4.0.1 FHIR Std.
ClaimResponse.processNote.​type Base required NoteType 📍4.0.1 FHIR Std.
ClaimResponse.processNote.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
ClaimResponse.error.​code Base extensible Issue tầng XỬ LÝ — VN BHYT Processing Issue ValueSet 📦0.10.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error ClaimResponse If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ClaimResponse 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 error ClaimResponse 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 error ClaimResponse If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ClaimResponse A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vn-claim-response-adjudication-unique-category error ClaimResponse Trong một cụm adjudication (header, item, chi tiết, chi tiết phụ, dòng bổ sung và các tầng con của nó), mỗi category HL7 chuẩn chỉ xuất hiện một lần — hợp đồng mapping OHP mà phép so sánh giảm-tiền dựa vào. Within each adjudication set every standard HL7 category SHALL appear at most once. adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct() and item.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and item.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct()) and addItem.detail.subDetail.all(adjudication.category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication').code.isDistinct())
vn-claim-response-correlation-anchor error ClaimResponse Kết quả giám định đang hiệu lực phải đối soát được BẰNG GIÁ TRỊ THẬT: request phải là reference giải quyết được (không display-only) hoặc identifier phải có value — Identifier rỗng/Reference chỉ có display không đối soát được với hồ sơ nào (siết round 3, 13/08/2026). An active ClaimResponse SHALL carry a resolvable request reference or an identifier WITH a value. status != 'active' or request.reference.exists() or identifier.value.exists()
vn-claim-response-denied-complete error ClaimResponse Khoản tiền bị từ chối hoặc bị thu hồi phải có số tiền không âm, lý do và ít nhất một căn cứ pháp lý. A denied or recovered amount SHALL carry a non-negative amount, a reason and at least one legal basis. (adjudication | item.adjudication | item.detail.adjudication | item.detail.subDetail.adjudication | addItem.adjudication | addItem.detail.adjudication | addItem.detail.subDetail.adjudication).where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).all(amount.value.exists() and amount.value >= 0 and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists())
vn-claim-response-error-outcome-coherent error ClaimResponse Có lỗi xử lý thì outcome phải là `error`. When a processing error is present, outcome SHALL be `error`. error.empty() or outcome = 'error'
vn-claim-response-itemized error ClaimResponse Phản hồi giám định phải liệt kê từng dòng chi phí, trừ khi kết quả là lỗi kỹ thuật. An adjudication response SHALL be itemized unless its outcome is an error. outcome = 'error' or item.exists()
vn-claim-response-money-vnd error ClaimResponse Mọi khoản tiền của kết quả giám định phải dùng VND. Every monetary amount in the adjudication result SHALL use VND. descendants().ofType(Money).all(currency = 'VND')
vn-claim-response-reduction-evidenced error ClaimResponse Dòng chi phí có số đủ điều kiện thấp hơn số đề nghị phải mang bằng chứng tường minh: hoặc kết quả từ chối/thu hồi (category denied/recovered kèm lý do và căn cứ), hoặc dòng eligible mang lý do + căn cứ pháp lý (khoản ngoài phạm vi hưởng) — không được giảm tiền im lặng. An item whose eligible amount is lower than submitted SHALL carry either an explicit denied/recovered adjudication or a reason plus legal basis on the eligible adjudication. item.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-reduction-evidenced-header error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho cả adjudication cấp tổng thể của ClaimResponse. The reduction-evidence rule SHALL also hold on the header-level ClaimResponse.adjudication. adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()
vn-claim-response-reduction-evidenced-nested error ClaimResponse Quy tắc giảm-tiền-phải-có-bằng-chứng áp cho MỌI đường adjudication còn lại: dòng chi tiết, chi tiết phụ, dòng bổ sung và chi tiết/chi tiết phụ của dòng bổ sung — hậu kiểm 13/08/2026 chỉ ra addItem.detail/subDetail chưa được phủ. The reduction-evidence rule SHALL hold on item.detail, item.detail.subDetail, addItem, addItem.detail and addItem.detail.subDetail adjudications. item.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and item.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists()) and addItem.detail.subDetail.all(adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.empty() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.first() >= adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.first() or adjudication.where(category.coding.where(system = 'http://fhir.hl7.org.vn/core/CodeSystem/vn-bhyt-adjudication-category-cs' and (code = 'denied' or code = 'recovered')).exists()).exists() or adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists() and reason.exists() and extension.where(url = 'http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-adjudication-legal-evidence').exists()).exists())
vn-claim-response-total-matches-items error ClaimResponse Mỗi tổng theo mã adjudication chuẩn phải bằng tổng các dòng cùng mã. Each total for a standard adjudication category SHALL equal the sum of the matching item adjudications. item.empty() or ((total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'submitted').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'eligible').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'benefit').exists()).amount.value.aggregate($this + $total, 0)) and (total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() and item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.exists() implies total.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value = item.adjudication.where(category.coding.where(system = 'http://terminology.hl7.org/CodeSystem/adjudication' and code = 'copay').exists()).amount.value.aggregate($this + $total, 0)))

Summary

Mandatory: 0 element(2 nested mandatory elements)
Must-Support: 26 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the values of ClaimResponse.identifier

 

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