VN Core FHIR Implementation Guide — Bộ Hướng dẫn Triển khai FHIR Cốt lõi cho Việt Nam
0.1.0 - STU1 Draft
VN Core FHIR Implementation Guide — Bộ Hướng dẫn Triển khai FHIR Cốt lõi cho Việt Nam - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Trang này minh họa cách sử dụng VN Core FHIR IG qua tình huống lâm sàng thực tế, từ khi bệnh nhân đăng ký khám đến khi thanh toán BHYT.
Bệnh nhân Nguyễn Văn An (nam, sinh 15/03/1985, CCCD 001085012345) đến khám ngoại trú tại Bệnh viện Chợ Rẫy với triệu chứng sốt, ho, khó thở. Bệnh nhân có thẻ BHYT đúng tuyến.
┌───────────┐ ┌───────────┐ ┌──────────────┐ ┌──────────────┐
│ 1. PATIENT│───▶│2. COVERAGE│───▶│ 3. ENCOUNTER │───▶│ 4. CONDITION │
│ Đăng ký │ │ Thẻ BHYT │ │ Lượt khám │ │ Chẩn đoán │
└───────────┘ └───────────┘ └──────┬───────┘ └──────────────┘
│
┌──────────────────────┬┴───────────────────┐
│ │ │
┌─────▼──────┐ ┌──────────▼───┐ ┌──────────▼──────┐
│5. SERVICE │ │6. OBSERVATION│ │7. MEDICATION │
│ REQUEST │ │ Kết quả XN │ │ REQUEST │
│ Chỉ định │ │ │ │ Đơn thuốc │
└────────────┘ └──────────────┘ └─────────────────┘
┌─────────────┐ ┌─────────────────┐
│ 8. CLAIM │───▶│ 9. CLAIM │
│ Yêu cầu TT│ │ RESPONSE │
│ BHYT │ │ Phản hồi TT │
└─────────────┘ └─────────────────┘
Ghi chú: Sơ đồ trên thể hiện 9 bước chính trong tình huống ngoại trú. Các resources hỗ trợ (Organization, Practitioner) không hiển thị trong sơ đồ nhưng được tham chiếu từ nhiều bước.
Tiếp nhận tạo/cập nhật hồ sơ bệnh nhân với thông tin nhân khẩu học.
| FHIR Element | Giá trị | Ghi chú |
|---|---|---|
identifier[CCCD] |
001085012345 |
NamingSystem: vn-cccd-ns |
identifier[BHYT] |
001085012345 |
Format mới: CCCD 12 số (NĐ 188/2025, từ 15/8/2025) |
name.text |
"Nguyễn Văn An" | Họ tên đầy đủ (MS) |
name.family |
"Nguyễn" | Họ |
name.given |
["Văn", "An"] | Tên đệm + tên |
gender |
male |
|
birthDate |
1985-03-15 |
|
address.state |
"Hà Nội" | Text tự do |
address.extension[province] |
01 = "Hà Nội" |
VNProvinceCS (NQ 202/2025) |
address.extension[ward] |
00008 = "Phường Ngọc Hà" |
VNWardCS |
extension[ethnicity] |
01 = "Kinh" |
VNEthnicityCS (121/TCTK) |
Profile: VNCorePatient
Example: ExamplePatientNguyenVanAn
Kiểm tra và ghi nhận thông tin thẻ BHYT.
| FHIR Element | Giá trị | Ghi chú |
|---|---|---|
identifier |
001085012345 |
Số thẻ BHYT format mới (CCCD 12 số) |
status |
active |
|
type |
BHYT | |
beneficiary |
Reference(Patient) | Bệnh nhân |
payor |
Reference(Organization/BHXH) | Cơ quan BHXH |
period.start |
2025-08-01 |
Hiệu lực từ |
period.end |
2026-07-31 |
Hiệu lực đến |
extension[bhytCardType] |
DN = "Người lao động trong doanh nghiệp" |
Loại đối tượng (NĐ 146/2018) |
extension[primaryCareFacility] |
Reference(Organization/ChoRay) | Nơi ĐKKCB ban đầu |
Profile: VNCoreCoverage
Example: ExampleCoverageBHYTNew
Khi bệnh nhân vào phòng khám, hệ thống tạo Encounter.
| FHIR Element | Giá trị | Ghi chú |
|---|---|---|
status |
in-progress → finished |
Trạng thái lượt khám |
class |
AMB |
Ngoại trú (ambulatory) |
subject |
Reference(Patient) | |
period.start |
2026-03-19T08:30:00+07:00 |
Giờ bắt đầu |
period.end |
2026-03-19T11:00:00+07:00 |
Giờ kết thúc |
serviceProvider |
Reference(Organization/ChoRay) | BV Chợ Rẫy |
extension[insuranceVisitType] |
5 = "Khám chữa bệnh ban đầu" |
MALYDO (QĐ 3176) |
Profile: VNCoreEncounter
Example: ExampleEncounterOutpatient
Bác sĩ khám và chẩn đoán: Viêm phổi (J18.9).
| FHIR Element | Giá trị | Ghi chú |
|---|---|---|
clinicalStatus |
active |
|
verificationStatus |
confirmed |
|
category |
encounter-diagnosis |
|
code.coding[0] |
ICD-10 VN J18.9 = "Viêm phổi, không xác định" |
VN ICD-10 CS (QĐ 4469) |
subject |
Reference(Patient) | |
encounter |
Reference(Encounter) | |
recordedDate |
2026-03-19 |
|
recorder |
Reference(Practitioner) | BS khám |
Profile: VNCoreCondition
Example: ExampleConditionPneumonia
BS chỉ định xét nghiệm glucose máu lúc đói.
| FHIR Element | Giá trị | Ghi chú |
|---|---|---|
status |
active |
|
intent |
order |
|
category |
XN = "Xét nghiệm" |
VNServiceRequestCategoryCS |
code.coding[0] |
LOINC 1558-6 = "Fasting glucose [Mass/volume] in Serum or Plasma" |
LOINC VN (QĐ 1227) |
code.text |
"Glucose máu lúc đói" | |
subject |
Reference(Patient) | |
encounter |
Reference(Encounter) | |
requester |
Reference(Practitioner) | BS chỉ định |
performerType |
01 = "Hóa sinh" |
VNSpecialtyVS |
Profile: VNCoreServiceRequest
Example: ExampleServiceRequestLabGlucose
Phòng xét nghiệm trả kết quả.
| FHIR Element | Giá trị | Ghi chú |
|---|---|---|
status |
final |
|
category |
laboratory |
|
code |
LOINC 14771-0 = "Fasting glucose [Moles/volume] in Serum or Plasma" |
Đúng cho đơn vị mmol/L |
subject |
Reference(Patient) | |
encounter |
Reference(Encounter) | |
effectiveDateTime |
2026-03-19T07:30:00+07:00 |
Thời điểm lấy mẫu (sáng sớm, lúc đói) |
valueQuantity |
6.8 mmol/L | Kết quả — cao hơn giới hạn trên |
referenceRange.low |
3.9 mmol/L | Giới hạn dưới |
referenceRange.high |
6.1 mmol/L | Giới hạn trên |
interpretation |
H = "High" |
Cao — gợi ý cần theo dõi đường huyết |
Profile: VNCoreObservationLab
Example: ExampleObservationLabGlucose
BS kê đơn thuốc điện tử.
| FHIR Element | Giá trị | Ghi chú |
|---|---|---|
status |
active |
|
intent |
order |
|
medicationCodeableConcept |
ATC J01CA04 = "Amoxicillin" |
Mã ATC |
subject |
Reference(Patient) | |
encounter |
Reference(Encounter) | |
requester |
Reference(Practitioner) | BS kê đơn |
dosageInstruction.text |
"Uống 500mg x 3 lần/ngày, sau ăn" | Hướng dẫn sử dụng |
dosageInstruction.timing |
3 lần/ngày x 7 ngày | |
dosageInstruction.doseAndRate |
500 mg | |
dispenseRequest.quantity |
21 viên |
Profile: VNCoreMedicationRequest
Example: ExampleMedicationRequestAmoxicillin
Lưu ý: Example FSH dùng
medicationCodeableConcept(inline). Profile cũng hỗ trợmedicationReferencekhi cần link đến resource Medication riêng (có thêm SNOMED CT, số đăng ký thuốc).
Khi kết thúc lượt khám, hệ thống tạo yêu cầu thanh toán BHYT.
| FHIR Element | Giá trị minh họa | Ghi chú |
|---|---|---|
status |
active |
|
type |
institutional |
|
use |
claim |
|
patient |
Reference(Patient) | |
provider |
Reference(Organization/ChoRay) | CSKCB |
insurance.coverage |
Reference(Coverage/BHYT) | Thẻ BHYT |
item[0].productOrService |
"Khám bệnh" | Phí khám |
item[1].productOrService |
"XN Glucose" | Chi phí XN |
item[2].productOrService |
"Amoxicillin 500mg x 21" | Chi phí thuốc |
Lưu ý: Example
ExampleClaimBHYTminh họa Claim cho lượt nội trú (viêm ruột thừa, tổng 14.370.000 VND) với đầy đủ 14 nhóm chi phí theo QĐ 697/QĐ-BYT. Claim ngoại trú đơn giản hơn — chỉ có 2-3 item (khám, XN, thuốc).
Profile: VNCoreClaim
Cơ quan BHXH xử lý và phản hồi yêu cầu thanh toán.
| FHIR Element | Giá trị minh họa | Ghi chú |
|---|---|---|
status |
active |
|
type |
institutional |
|
use |
claim |
|
patient |
Reference(Patient) | |
outcome |
complete |
Xử lý hoàn tất |
request |
Reference(Claim) | Tham chiếu Claim bước 8 |
Profile: VNCoreClaimResponse
┌────────────────────────────────────────────────────────────────────┐
│ TIMELINE — Lượt khám ngoại trú BHYT │
├────────┬──────────────────────────────────────────────────────────┤
│ 07:30 │ Observation → Lấy mẫu XN glucose (lúc đói, sáng sớm) │
│ 08:30 │ Patient + Coverage → Đăng ký, xác minh BHYT │
│ 08:35 │ Encounter (in-progress) → Bắt đầu lượt khám │
│ 08:45 │ Condition → BS chẩn đoán Viêm phổi J18.9 │
│ 08:50 │ ServiceRequest → Chỉ định XN Glucose │
│ 09:00 │ Observation → Kết quả XN: 6.8 mmol/L (High) │
│ 09:30 │ MedicationRequest → Kê đơn Amoxicillin │
│ 10:00 │ Encounter (finished) → Kết thúc khám │
│ 10:05 │ Claim → Yêu cầu thanh toán BHYT │
│ 10:10 │ ClaimResponse → BHXH phản hồi: chấp nhận │
└────────┴──────────────────────────────────────────────────────────┘
| # | Resource | Profile | Vai trò |
|---|---|---|---|
| 1 | Patient | VNCorePatient | Hồ sơ bệnh nhân |
| 2 | Coverage | VNCoreCoverage | Thẻ BHYT |
| 3 | Organization | VNCoreOrganization | BV Chợ Rẫy |
| 4 | Practitioner | VNCorePractitioner | Bác sĩ khám |
| 5 | Encounter | VNCoreEncounter | Lượt khám ngoại trú |
| 6 | Condition | VNCoreCondition | Chẩn đoán ICD-10 |
| 7 | ServiceRequest | VNCoreServiceRequest | Chỉ định XN |
| 8 | Observation | VNCoreObservationLab | Kết quả XN |
| 9 | MedicationRequest | VNCoreMedicationRequest | Đơn thuốc |
| 10 | Claim | VNCoreClaim | Yêu cầu thanh toán |
| 11 | ClaimResponse | VNCoreClaimResponse | Phản hồi BHXH |
Các tình huống dưới đây đang được xây dựng và dự kiến phát hành trong v0.2.0 (Q3/2026). Phản hồi từ cộng đồng và bên triển khai sẽ giúp xác định thứ tự ưu tiên.
| Tình huống | Mô tả | Profiles bổ sung |
|---|---|---|
| Tình huống 2: Nội trú | Nhập viện, chuyển khoa, xuất viện, thanh toán 14 nhóm chi phí theo QĐ 697/QĐ-BYT | Encounter (inpatient), Claim (14 item categories) |
| Tình huống 3: Chuyển tuyến | Giấy chuyển viện, KCB trái tuyến, mức thanh toán BHYT theo NĐ 188/2025 | DocumentReference (giấy chuyển viện), Coverage (trái tuyến) |
| Tình huống 4: Y học cổ truyền | Chẩn đoán YHCT kèm Tây y, bát cương biện chứng, huyệt vị châm cứu | Condition (YHCT), Observation (YHCT), Procedure |
| Tình huống 5: Cấp cứu | KCB cấp cứu, xử lý khi chưa có thẻ BHYT hoặc chưa xác định danh tính | Encounter (emergency), Coverage (cấp cứu) |
Mọi góp ý xin gửi qua GitHub Issues.
This page demonstrates a complete outpatient visit with BHYT (Vietnamese national health insurance) payment using VN Core FHIR profiles.
The scenario demonstrates 11 interlinked FHIR resources across VN Core profiles (Patient, Coverage, Organization, Practitioner, Encounter, Condition, ServiceRequest, Observation, MedicationRequest, Claim, ClaimResponse), representing the complete data flow from registration to insurance payment in a Vietnamese hospital.
Additional scenarios covering inpatient care, referral and cross-facility transfers, traditional medicine (YHCT), and emergency care are planned for the next release.