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 Viet Nam flag

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

Tình huống lâm sàng

Tình huống lâm sàng — Clinical Scenarios

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.


Tình huống 1: Khám ngoại trú — Thanh toán BHYT

Bối cảnh

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.

Luồng dữ liệu FHIR

  ┌───────────┐    ┌───────────┐    ┌──────────────┐    ┌──────────────┐
  │ 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.


Bước 1: Đăng ký bệnh nhân — VNCorePatient

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


Bước 2: Xác minh thẻ BHYT — VNCoreCoverage

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


Bước 3: Tạo lượt khám — VNCoreEncounter

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-progressfinished 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 4: Chẩn đoán — VNCoreCondition

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


Bước 5: Chỉ định xét nghiệm — VNCoreServiceRequest

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


Bước 6: Kết quả xét nghiệm — VNCoreObservationLab

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


Bước 7: Kê đơn thuốc — VNCoreMedicationRequest

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ợ medicationReference khi cần link đến resource Medication riêng (có thêm SNOMED CT, số đăng ký thuốc).


Bước 8: Thanh toán BHYT — VNCoreClaim

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 ExampleClaimBHYT minh 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


Bước 9: Phản hồi thanh toán — VNCoreClaimResponse

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


Tổng kết luồng dữ liệu

  ┌────────────────────────────────────────────────────────────────────┐
  │                    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               │
  └────────┴──────────────────────────────────────────────────────────┘

Resources tham gia

# 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ự kiến trong phiên bản tiếp theo

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.


English Summary

This page demonstrates a complete outpatient visit with BHYT (Vietnamese national health insurance) payment using VN Core FHIR profiles.

Scenario overview

  • Patient: Nguyen Van An (male, born 1985, CCCD 001085012345)
  • Setting: Outpatient visit at Cho Ray Hospital
  • Chief complaint: Fever, cough, dyspnea
  • Diagnosis: Pneumonia (ICD-10 J18.9)

Clinical workflow (9 steps)

  1. Patient registration (VNCorePatient) — CCCD identifier, CCCD-based BHYT number per ND 188/2025
  2. Insurance verification (VNCoreCoverage) — BHYT card validation, beneficiary type, primary care facility
  3. Encounter creation (VNCoreEncounter) — Outpatient encounter with insurance visit type (MALYDO)
  4. Diagnosis (VNCoreCondition) — Pneumonia J18.9 per ICD-10 VN (QD 4469)
  5. Lab order (VNCoreServiceRequest) — Fasting glucose request (LOINC 1558-6)
  6. Lab results (VNCoreObservationLab) — Glucose 6.8 mmol/L, flagged High (LOINC 14771-0)
  7. ePrescription (VNCoreMedicationRequest) — Amoxicillin 500mg, 3 times daily for 7 days
  8. Insurance claim (VNCoreClaim) — Claim submission with consultation, lab, and medication items
  9. Claim response (VNCoreClaimResponse) — BHXH adjudication result

Resources involved

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.

Planned scenarios (v0.2.0)

Additional scenarios covering inpatient care, referral and cross-facility transfers, traditional medicine (YHCT), and emergency care are planned for the next release.