HL7 Vietnam VN Core FHIR Implementation Guide

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

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

Phần mở rộng: Phân đoạn thẻ và mức hưởng trên bảng kê — Cost Statement Card Segment

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

Bản quyền/Pháp lý: Bộ Y tế Việt Nam — QĐ 697/QĐ-BYT (19/03/2026), mẫu bảng kê chi phí khám bệnh, chữa bệnh.

Một phân đoạn của bảng kê chi phí: một thẻ BHYT (hoặc không thẻ) trong một khoảng thời gian với một mức hưởng.

Mẫu bảng kê của QĐ 697/QĐ-BYT lặp phần chi phí theo từng thẻ và từng mức hưởng trong cùng một đợt khám chữa bệnh — một người có thể đổi thẻ giữa đợt, hoặc cùng một thẻ đổi mức hưởng khi đủ điều kiện (NĐ 188/2025/NĐ-CP Điều 21). Extension này biểu diễn đúng cách lặp đó.

Khác biệt cốt lõi so với vn-ext-coverage-benefit-stage (dùng trên Claim, đã ngừng): coverage ở đây là 0..1. QĐ 697/QĐ-BYT Phần Hai hướng dẫn lập bảng kê cho người không có thẻ bảo hiểm y tế — trường hợp đó phân đoạn không có Coverage nào và mức hưởng để trống. Đây chính là điều Claim không biểu diễn được vì Claim.insurance là 1..* (xem ADR-0021).

Context of Use

    This extension may be used on the following element(s)

Usage info

Usages:

You can also check for usages in the FHIR IG Statistics

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

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension C 0..* Extension Phân đoạn thẻ và mức hưởng trên bảng kê — Cost Statement Card Segment
Constraints: vn-cost-statement-segment-benefit-range
... extension 2..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:sequence S 1..1 Extension Khoá thứ tự phân đoạn — Segment sequence key
..... extension 0..0 Extension
..... url 1..1 uri "sequence"
..... value[x] 1..1 positiveInt Value of extension
.... extension:coverage S 0..1 Extension Thẻ BHYT của phân đoạn — BHYT card of this segment
..... extension 0..0 Extension
..... url 1..1 uri "coverage"
..... value[x] 1..1 Reference(Thẻ BHYT VN Core — VN Core Coverage Profile) Value of extension
.... extension:period S 1..1 Extension Khoảng thời gian của phân đoạn — Segment period
..... extension 0..0 Extension
..... url 1..1 uri "period"
..... value[x] 1..1 Period Value of extension
...... start S 1..1 dateTime Starting time with inclusive boundary
...... end S 1..1 dateTime End time with inclusive boundary, if not ongoing
.... extension:benefitLevel S 0..1 Extension Mức hưởng BHYT của phân đoạn, 0–100 — BHYT benefit level
..... extension 0..0 Extension
..... url 1..1 uri "benefitLevel"
..... value[x] 1..1 decimal Value of extension
... url 1..1 uri "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment"

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
vn-cost-statement-segment-benefit-range error Extension Mức hưởng của phân đoạn phải nằm trong khoảng 0–100. The segment benefit level SHALL be between 0 and 100. extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100)
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension C 0..* Extension Phân đoạn thẻ và mức hưởng trên bảng kê — Cost Statement Card Segment
Constraints: vn-cost-statement-segment-benefit-range
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:sequence S 1..1 Extension Khoá thứ tự phân đoạn — Segment sequence key
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "sequence"
..... value[x] 1..1 positiveInt Value of extension
.... extension:coverage S 0..1 Extension Thẻ BHYT của phân đoạn — BHYT card of this segment
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "coverage"
..... value[x] 1..1 Reference(Thẻ BHYT VN Core — VN Core Coverage Profile) Value of extension
.... extension:period S 1..1 Extension Khoảng thời gian của phân đoạn — Segment period
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "period"
..... value[x] 1..1 Period Value of extension
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... start SΣC 1..1 dateTime Starting time with inclusive boundary
...... end SΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
.... extension:benefitLevel S 0..1 Extension Mức hưởng BHYT của phân đoạn, 0–100 — BHYT benefit level
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "benefitLevel"
..... value[x] 1..1 decimal Value of extension
... url 1..1 uri "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment"

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vn-cost-statement-segment-benefit-range error Extension Mức hưởng của phân đoạn phải nằm trong khoảng 0–100. The segment benefit level SHALL be between 0 and 100. extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100)

Summary

Complex Extension: Một phân đoạn của bảng kê chi phí: một thẻ BHYT (hoặc không thẻ) trong một khoảng thời gian với một mức hưởng. Mẫu bảng kê của QĐ 697/QĐ-BYT lặp phần chi phí theo từng thẻ và từng mức hưởng trong cùng một đợt khám chữa bệnh — một người có thể đổi thẻ giữa đợt, hoặc cùng một thẻ đổi mức hưởng khi đủ điều kiện (NĐ 188/2025/NĐ-CP Điều 21). Extension này biểu diễn đúng cách lặp đó. Khác biệt cốt lõi so với vn-ext-coverage-benefit-stage (dùng trên Claim, đã ngừng): coverage ở đây là 0..1. QĐ 697/QĐ-BYT Phần Hai hướng dẫn lập bảng kê cho người không có thẻ bảo hiểm y tế — trường hợp đó phân đoạn không có Coverage nào và mức hưởng để trống. Đây chính là điều Claim không biểu diễn được vì Claim.insurance là 1..* (xem ADR-0021).

  • sequence: positiveInt: Số nguyên dương định danh duy nhất phân đoạn trong cùng bảng kê. Mỗi dòng chi phí trỏ về một sequence qua vn-ext-cost-statement-line-segment.
  • coverage: Reference: Tham chiếu Coverage thật của phân đoạn. ĐỂ TRỐNG khi người bệnh không có thẻ BHYT (QĐ 697/QĐ-BYT Phần Hai) hoặc tự chi trả toàn bộ — không được tạo Coverage giả để lấp chỗ.
  • period: Period: Khoảng thời gian liên tục mà thẻ và mức hưởng của phân đoạn áp dụng. Ngày thực hiện của mỗi dòng chi phí phải nằm trong khoảng này.
  • benefitLevel: decimal: Mức hưởng tính theo phần trăm. ĐỂ TRỐNG khi phân đoạn không có thẻ BHYT; cột (8) của mẫu khi đó mặc định bằng 0 theo QĐ 697/QĐ-BYT Phần Hai.

Dạng xem DifferentialDifferential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension C 0..* Extension Phân đoạn thẻ và mức hưởng trên bảng kê — Cost Statement Card Segment
Constraints: vn-cost-statement-segment-benefit-range
... extension 2..* Extension Extension
... Slices for extension Content/Rules for all slices
.... extension:sequence S 1..1 Extension Khoá thứ tự phân đoạn — Segment sequence key
..... extension 0..0 Extension
..... url 1..1 uri "sequence"
..... value[x] 1..1 positiveInt Value of extension
.... extension:coverage S 0..1 Extension Thẻ BHYT của phân đoạn — BHYT card of this segment
..... extension 0..0 Extension
..... url 1..1 uri "coverage"
..... value[x] 1..1 Reference(Thẻ BHYT VN Core — VN Core Coverage Profile) Value of extension
.... extension:period S 1..1 Extension Khoảng thời gian của phân đoạn — Segment period
..... extension 0..0 Extension
..... url 1..1 uri "period"
..... value[x] 1..1 Period Value of extension
...... start S 1..1 dateTime Starting time with inclusive boundary
...... end S 1..1 dateTime End time with inclusive boundary, if not ongoing
.... extension:benefitLevel S 0..1 Extension Mức hưởng BHYT của phân đoạn, 0–100 — BHYT benefit level
..... extension 0..0 Extension
..... url 1..1 uri "benefitLevel"
..... value[x] 1..1 decimal Value of extension
... url 1..1 uri "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment"

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
vn-cost-statement-segment-benefit-range error Extension Mức hưởng của phân đoạn phải nằm trong khoảng 0–100. The segment benefit level SHALL be between 0 and 100. extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100)

Dạng xem Snapshot

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Extension C 0..* Extension Phân đoạn thẻ và mức hưởng trên bảng kê — Cost Statement Card Segment
Constraints: vn-cost-statement-segment-benefit-range
... id 0..1 string Unique id for inter-element referencing
... Slices for extension 2..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:sequence S 1..1 Extension Khoá thứ tự phân đoạn — Segment sequence key
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "sequence"
..... value[x] 1..1 positiveInt Value of extension
.... extension:coverage S 0..1 Extension Thẻ BHYT của phân đoạn — BHYT card of this segment
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "coverage"
..... value[x] 1..1 Reference(Thẻ BHYT VN Core — VN Core Coverage Profile) Value of extension
.... extension:period S 1..1 Extension Khoảng thời gian của phân đoạn — Segment period
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "period"
..... value[x] 1..1 Period Value of extension
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... start SΣC 1..1 dateTime Starting time with inclusive boundary
...... end SΣC 1..1 dateTime End time with inclusive boundary, if not ongoing
.... extension:benefitLevel S 0..1 Extension Mức hưởng BHYT của phân đoạn, 0–100 — BHYT benefit level
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0 Extension
Slice: Unordered, Open by value:url
..... url 1..1 uri "benefitLevel"
..... value[x] 1..1 decimal Value of extension
... url 1..1 uri "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-cost-statement-segment"

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vn-cost-statement-segment-benefit-range error Extension Mức hưởng của phân đoạn phải nằm trong khoảng 0–100. The segment benefit level SHALL be between 0 and 100. extension.where(url = 'benefitLevel').value.ofType(decimal).all($this >= 0 and $this <= 100)

Summary

Complex Extension: Một phân đoạn của bảng kê chi phí: một thẻ BHYT (hoặc không thẻ) trong một khoảng thời gian với một mức hưởng. Mẫu bảng kê của QĐ 697/QĐ-BYT lặp phần chi phí theo từng thẻ và từng mức hưởng trong cùng một đợt khám chữa bệnh — một người có thể đổi thẻ giữa đợt, hoặc cùng một thẻ đổi mức hưởng khi đủ điều kiện (NĐ 188/2025/NĐ-CP Điều 21). Extension này biểu diễn đúng cách lặp đó. Khác biệt cốt lõi so với vn-ext-coverage-benefit-stage (dùng trên Claim, đã ngừng): coverage ở đây là 0..1. QĐ 697/QĐ-BYT Phần Hai hướng dẫn lập bảng kê cho người không có thẻ bảo hiểm y tế — trường hợp đó phân đoạn không có Coverage nào và mức hưởng để trống. Đây chính là điều Claim không biểu diễn được vì Claim.insurance là 1..* (xem ADR-0021).

  • sequence: positiveInt: Số nguyên dương định danh duy nhất phân đoạn trong cùng bảng kê. Mỗi dòng chi phí trỏ về một sequence qua vn-ext-cost-statement-line-segment.
  • coverage: Reference: Tham chiếu Coverage thật của phân đoạn. ĐỂ TRỐNG khi người bệnh không có thẻ BHYT (QĐ 697/QĐ-BYT Phần Hai) hoặc tự chi trả toàn bộ — không được tạo Coverage giả để lấp chỗ.
  • period: Period: Khoảng thời gian liên tục mà thẻ và mức hưởng của phân đoạn áp dụng. Ngày thực hiện của mỗi dòng chi phí phải nằm trong khoảng này.
  • benefitLevel: decimal: Mức hưởng tính theo phần trăm. ĐỂ TRỐNG khi phân đoạn không có thẻ BHYT; cột (8) của mẫu khi đó mặc định bằng 0 theo QĐ 697/QĐ-BYT Phần Hai.

 

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