Chuyển đến nội dung chính
Kiến trúc hệ thống

FHIR cho BHYT, VNeID và hệ sinh thái Y tế Việt Nam 2026

Áp dụng FHIR vào bối cảnh Việt Nam: ánh xạ thẻ BHYT vào Coverage, hồ sơ thanh toán vào Claim với danh mục DVKT, tích hợp VNeID Sổ Sức Khoẻ Điện tử, theo Quyết định 3516/QĐ-BYT 2025 — kèm extension và profile khuyến nghị.

FHIR cho BHYT, VNeID và hệ sinh thái Y tế Việt Nam 2026

Quyết định 3516/QĐ-BYT (11/2025) đặt nền cho hệ sinh thái dữ liệu y tế Việt Nam giai đoạn 2025-2030 với data làm trung tâm. Bài này tập trung vào áp dụng FHIR thực tế cho 3 trụ cột: BHYT, VNeID Sổ Sức Khoẻ Điện tử, và HSDT quốc gia.

1. Bức tranh tổng

flowchart TB
    subgraph Citizen[Người dân]
        VNeID[App VNeID<br/>Sổ Sức Khoẻ Điện tử]
    end
    
    subgraph Provider[Cơ sở y tế]
        HIS[HIS / EMR]
        LIS[LIS]
        RIS[RIS / PACS]
        FHIR_Local[FHIR Gateway<br/>HAPI / Cloud]
    end
    
    subgraph Government[Hệ thống quốc gia]
        HSDT[HSDT Quốc gia]
        BHYT[BHXH - BHYT điện tử]
        DVKT[Cổng giám định DVKT]
        DanhMuc[Cổng danh mục<br/>thuốc, DVKT, ICD]
    end
    
    HIS -->|HL7 v2| FHIR_Local
    LIS -->|HL7 v2| FHIR_Local
    RIS -->|DICOM + meta| FHIR_Local
    
    FHIR_Local -->|FHIR R4| HSDT
    FHIR_Local -->|FHIR Coverage/Claim| BHYT
    FHIR_Local -->|XML/JSON XML2 hiện tại| DVKT
    DanhMuc -.terminology.-> FHIR_Local
    
    HSDT -->|FHIR API| VNeID
    BHYT -.thẻ BHYT.-> VNeID

2. Mã định danh quốc gia

Việt Nam có nhiều ID, mỗi loại có namespace URI riêng (đề xuất):

IDURI system đề xuấtResource
CCCD (Căn cước công dân)http://moh.gov.vn/sid/cccdPatient.identifier (use=official)
Số định danh cá nhân (12 số trong CCCD)urn:oid:CCCD-PINNhư trên
Mã thẻ BHYThttp://moh.gov.vn/sid/bhytCoverage.identifier
Mã hồ sơ y tế (MR nội bộ)http://benhvien.vn/<id>/sid/mrPatient.identifier (use=usual)
CCPHN (chứng chỉ hành nghề)http://moh.gov.vn/sid/ccphnPractitioner.identifier
Mã cơ sở y tếhttp://moh.gov.vn/sid/cosoyteOrganization.identifier
Mã VNeIDhttp://vneid.gov.vn/sid/useridPatient.identifier (link Sổ SKĐT)
"identifier": [
  {"use": "official", "system": "http://moh.gov.vn/sid/cccd", "value": "001234567890"},
  {"use": "secondary", "system": "http://moh.gov.vn/sid/bhyt", "value": "DN1234567890123"},
  {"use": "secondary", "system": "http://vneid.gov.vn/sid/userid", "value": "vne-abc-123"},
  {"use": "usual", "system": "http://benhvien.vn/CSY-001/sid/mr", "value": "HN12345"}
]

3. BHYT — Coverage

Thẻ BHYT mang nhiều thông tin: nhóm đối tượng, mức hưởng, thời hạn, nơi đăng ký KCB ban đầu.

{
  "resourceType": "Coverage",
  "status": "active",
  "type": {"coding": [{"system": "http://moh.gov.vn/CodeSystem/loai-bao-hiem", "code": "BHYT"}]},
  "policyHolder": {"reference": "Patient/vn-001"},
  "subscriber": {"reference": "Patient/vn-001"},
  "subscriberId": "DN1234567890123",
  "beneficiary": {"reference": "Patient/vn-001"},
  "relationship": {"coding": [{"code": "self"}]},
  "period": {"start": "2026-01-01", "end": "2026-12-31"},
  "payor": [{"reference": "Organization/bhxh-vn"}],
  "class": [
    {
      "type": {"coding": [{"system": "http://moh.gov.vn/CodeSystem/nhom-dt", "code": "DN", "display": "Doanh nghiệp"}]},
      "value": "DN"
    },
    {
      "type": {"coding": [{"code": "muc-huong"}]},
      "value": "80"
    }
  ],
  "extension": [
    {
      "url": "http://moh.gov.vn/StructureDefinition/noi-dk-kcb-ban-dau",
      "valueReference": {"reference": "Organization/bv-cho-ray"}
    },
    {
      "url": "http://moh.gov.vn/StructureDefinition/ngay-du-5nam",
      "valueDate": "2031-01-01"
    }
  ]
}

4. Hồ sơ thanh toán — Claim

{
  "resourceType": "Claim",
  "status": "active",
  "type": {"coding": [{"system": "http://moh.gov.vn/CodeSystem/loai-claim", "code": "BHYT-OUTPATIENT"}]},
  "use": "claim",
  "patient": {"reference": "Patient/vn-001"},
  "billablePeriod": {"start": "2026-05-07T08:00:00+07:00", "end": "2026-05-07T11:00:00+07:00"},
  "created": "2026-05-07T11:30:00+07:00",
  "insurer": {"reference": "Organization/bhxh-vn"},
  "provider": {"reference": "Organization/bv-cho-ray"},
  "priority": {"coding": [{"code": "normal"}]},
  "diagnosis": [{
    "sequence": 1,
    "diagnosisCodeableConcept": {"coding": [{"system": "http://hl7.org/fhir/sid/icd-10", "code": "E11.9"}]},
    "type": [{"coding": [{"code": "principal"}]}]
  }],
  "insurance": [{"sequence": 1, "focal": true, "coverage": {"reference": "Coverage/cov-001"}}],
  "item": [
    {
      "sequence": 1,
      "productOrService": {"coding": [{"system": "http://moh.gov.vn/CodeSystem/dvkt", "code": "21.0001", "display": "Khám lâm sàng nội tiết"}]},
      "servicedDate": "2026-05-07",
      "quantity": {"value": 1},
      "unitPrice": {"value": 50000, "currency": "VND"},
      "net": {"value": 50000, "currency": "VND"}
    },
    {
      "sequence": 2,
      "productOrService": {"coding": [{"system": "http://moh.gov.vn/CodeSystem/dvkt", "code": "23.1234", "display": "HbA1c"}]},
      "servicedDate": "2026-05-07",
      "quantity": {"value": 1},
      "unitPrice": {"value": 80000, "currency": "VND"},
      "net": {"value": 80000, "currency": "VND"}
    }
  ],
  "total": {"value": 130000, "currency": "VND"}
}

Currency VND (ISO 4217). DVKT codes ánh xạ từ Thông tư danh mục DVKT của Bộ Y tế.

Lưu ý: cổng giám định BHYT hiện tại (XML 4210) chưa nhận FHIR native — bạn cần một bước transform FHIR Claim → XML schema BHYT. Đây là cơ hội để Bộ ban hành chuẩn FHIR-based trong tương lai.

5. VNeID Sổ Sức Khoẻ Điện tử

VNeID là app công dân, được Thủ tướng phát động Sổ Sức Khoẻ Điện tử 10/2024. Tới 1/2026 đã có 34+ triệu Sổ.

5.1 Architecture đề xuất

sequenceDiagram
    participant BV as Bệnh viện
    participant FHIR as FHIR Gateway
    participant HSDT as HSDT Quốc gia
    participant API as VNeID API
    participant App as VNeID App
    
    BV->>FHIR: POST Bundle (Patient, Encounter, ...)
    FHIR->>HSDT: Forward Bundle
    HSDT->>HSDT: Lưu trữ + ánh xạ CCCD ↔ VNeID userId
    
    App->>API: Login (eKYC + biometric)
    App->>API: Yêu cầu Sổ SKĐT
    API->>HSDT: GET Patient/$everything?patient.identifier=cccd|...
    HSDT-->>API: Bundle (mọi resource liên quan)
    API-->>App: Hiển thị Sổ SKĐT

5.2 Consent

VNeID app sẽ là kênh consent chính cho công dân:

{
  "resourceType": "Consent",
  "status": "active",
  "scope": {"coding": [{"system": "...consent-scope", "code": "patient-privacy"}]},
  "category": [{"coding": [{"system": "...consent-category", "code": "INFAO"}]}],
  "patient": {"reference": "Patient/vn-001"},
  "dateTime": "2026-05-07T11:00:00+07:00",
  "performer": [{"reference": "Patient/vn-001"}],
  "policy": [{"uri": "https://vneid.gov.vn/policy/share-medical-record"}],
  "provision": {
    "type": "permit",
    "period": {"start": "2026-05-07", "end": "2027-05-07"},
    "actor": [{
      "role": {"coding": [{"code": "PRCP", "display": "recipient"}]},
      "reference": {"reference": "Organization/bv-cho-ray"}
    }],
    "action": [{"coding": [{"code": "access"}]}, {"coding": [{"code": "disclose"}]}]
  }
}

6. Phòng khám/bệnh viện kết nối HSDT

6.1 Profile khuyến nghị

Việt Nam nên kế thừa IPS (International Patient Summary) + thêm extension VN. Cấu trúc IG đề xuất:

  • http://moh.gov.vn/fhir/ig/vn-core/StructureDefinition/VN-Patient — extends Patient, must-support identifier (CCCD), extension (dan-toc, ton-giao, noi-sinh)
  • VN-Encounter — must-support class, serviceProvider, extension nguon-kinh-phi (BHYT/Tự túc/Bảo hiểm khác)
  • VN-Condition-BHYT — bind code vào ValueSet ICD-10 BHYT
  • VN-MedicationRequest — bind vào danh mục thuốc BHYT
  • VN-Coverage-BHYT — bind các code đối tượng/mức hưởng

6.2 Extension phổ biến cần định nghĩa

[
  {"url": ".../dan-toc", "valueCoding": {"system": "...", "code": "01"}},
  {"url": ".../ton-giao", "valueCoding": {...}},
  {"url": ".../nghe-nghiep", "valueCoding": {...}},
  {"url": ".../noi-sinh", "valueAddress": {...}},
  {"url": ".../vneid-userid", "valueIdentifier": {"system": "http://vneid.gov.vn/sid/userid", "value": "..."}}
]

7. Quy trình tích hợp HSDT

flowchart LR
    A[BV register vào HSDT<br/>nhận client_id/secret] --> B[OAuth2 client_credentials<br/>lấy access_token]
    B --> C{Loại event}
    C -->|Patient mới| D[POST Patient<br/>conditional create<br/>identifier=CCCD]
    C -->|Khám/nhập viện| E[POST Bundle transaction<br/>Encounter + Condition + Observation]
    C -->|Đơn thuốc| F[POST MedicationRequest]
    C -->|Kết quả XN| G[POST DiagnosticReport + Observation]
    D --> H[Sync với VNeID]
    E --> H
    F --> H
    G --> H

8. Mapping HL7 v2 → FHIR cho VN

Hầu hết HIS bệnh viện gửi HL7 v2. Ví dụ ADT^A04 (registration ngoại trú):

SegmentResource FHIRNote VN
MSH(metadata)source = sending facility
EVN(event)A04 → Encounter.status="arrived"
PIDPatientidentifier CCCD ưu tiên
PD1Patient.generalPractitionerbác sĩ gia đình
NK1Patient.contactngười liên hệ khẩn
PV1Encounterclass=AMB, location, attender
IN1Coveragemã BHYT, mức hưởng
GT1Accountthông tin thanh toán

Mirth Connect script JavaScript transform v2 → FHIR Bundle là kỹ năng có giá trị cao trên thị trường VN.

9. Roadmap triển khai cho 1 bệnh viện

gantt
    title Roadmap triển khai FHIR cho 1 bệnh viện
    dateFormat YYYY-MM
    section Foundation
    Khảo sát data hiện trạng       :2026-01, 2M
    Chọn FHIR Server (HAPI/Azure)  :2026-02, 1M
    section Pilot
    Bridge HL7 v2 ADT/ORU → FHIR   :2026-03, 3M
    Pilot 1 khoa nội tiết           :2026-05, 2M
    section Production
    Mở rộng full HIS                :2026-07, 4M
    Tích hợp HSDT/BHYT              :2026-10, 3M
    section VNeID
    Tích hợp Sổ SKĐT                :2027-01, 3M

10. Câu hỏi thường gặp

Q: Bộ Y tế đã ban hành IG FHIR chưa?
A: Tới 5/2026 chưa có IG chính thức cho VN. Cộng đồng đang khởi xướng VN Core IG dựa trên IPS. Quyết định 3516/QĐ-BYT mở đường cho việc này.

Q: Khi nào có FHIR API của BHXH?
A: BHXH vẫn dùng schema XML giám định 4210 (XML2). Chuyển sang FHIR là roadmap dài hạn theo chiến lược chuyển đổi số.

Q: VNeID có FHIR endpoint công khai cho ứng dụng bên thứ 3?
A: Hiện tại VNeID chưa public FHIR API cho third-party. Theo dõi Cục C06 và Bộ Y tế để cập nhật.

Q: Phí license SNOMED CT cho VN?
A: VN chưa là member SNOMED International. Có thể dùng cho R&D miễn phí, production cần đàm phán license hoặc dùng cloud có sẵn license (Azure).

Kết luận

FHIR là chuẩn để Việt Nam liên thông y tế quốc gia thực sự. Hôm nay: bridge v2 → FHIR ở edge bệnh viện, nắm chặt CCCD/BHYT/VNeID identifier, viết VN Core IG. Mai: full FHIR-native từ HIS đến BHXH.

Bài tiếp: FHIR Profiling và Implementation Guide với FSH/SUSHI.

DUY TRAN
Tác giả

DUY TRAN

Pursuing an AI-first mindset and intelligent system architecture. I build solutions by combining technology, creativity, and the ability to see structure in chaos — the foundation for becoming a Solution Architect.

Bình luận

Bài viết liên quan