Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.6.0 - Draft for Community Review
Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam - Draft for Community Review (v0.6.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Hợp đồng tích hợp cho một lượt cấp cứu: tiếp nhận → triage → xử trí → kết cục (ra viện / nhập viện / chuyển tuyến / tử vong), nộp lên FHIR server bằng một transaction Bundle atomic.
Cùng bộ playbook: Ngoại trú · Nội trú · Dược.
Điểm khác biệt VN cốt lõi: cấp cứu xử lý y tế TRƯỚC, định danh & BHYT SAU. BHYT cấp cứu được hưởng như đúng tuyến tại bất kỳ cơ sở (Luật BHYT 51/2024 Điều 22; NĐ 188/2025). Bệnh nhân có thể chưa rõ danh tính lúc tiếp nhận.
Ca minh họa: Nguyễn Văn An vào cấp cứu BV Chợ Rẫy 20/4/2026 sau tai nạn giao thông, gãy cổ xương đùi S72.0, ổn định qua đêm, chuyển khoa Chấn thương–Chỉnh hình. Ca chưa định danh xem ExamplePatientUnknown.
Tiếp nhận cấp cứu, triage, xử trí ban đầu; kết cục: ra viện / nhập viện (→ Nội trú) / chuyển tuyến / tử vong.
Khoa Cấp cứu (chủ luồng), điều dưỡng triage, LIS/RIS cấp cứu, cổng BHXH (xác minh hồi tố).
TT 13/2025/TT-BYT; QĐ 3176/QĐ-BYT (MALYDO=2 cấp cứu, HTCHUYEN=5); Luật BHYT 51/2024 Điều 22 + NĐ 188/2025/NĐ-CP (cấp cứu hưởng đúng tuyến); QĐ 4469 (ICD-10 VN); QĐ 697 (chi phí).
| # | Hành động | Ghi chú VN |
|—|—|—|
| P1–P3 | Org / Location / Practitioner | như ngoại trú |
| P4 | Định danh bệnh nhân — 2 nhánh | (a) có CCCD/VNeID → VNCorePatient chuẩn; (b) chưa định danh → Patient với identifier tạm (ExamplePatientUnknown), cập nhật/merge khi có CCCD |
| P5 | BHYT — hồi tố | tạo/cập nhật VNCoreCoverage SAU xử trí; insuranceVisitType=Cấp cứu |
Khác SATUSEHAT: Indonesia chỉ cho GET với người không có định danh; VN PHẢI cho POST bằng identifier tạm để không chặn cấp cứu. Khi xuất BHYT thiếu SO_CCCD phải có mã lý do bất khả kháng (VN-RULE-BHYT-001).
Một lượt cấp cứu = một transaction Bundle atomic. Ví dụ: Bundle-ExampleBundleEmergencyTransaction (Patient, Coverage, Encounter EMER, Condition S72.0 — PUT update-as-create). Chi tiết pattern/3 loại Bundle xem Playbook Nội trú §5.
Patient(tạm/CCCD) ─▶ Encounter(EMER, arrived→triaged→in-progress)
▼
Observation(triage: mức ưu tiên + sinh hiệu) ─▶ Condition(S72.0)
▼
ServiceRequest(XN/CĐHA cấp, priority=stat) ▶ Observation/DiagReport
▼
Procedure(xử trí) + MedicationRequest/Dispense(thuốc cấp cứu)
▼
Encounter(finished + treatmentOutcome + dischargeDisposition) ──┬─▶ Ra viện ─▶ Claim(BHYT)
├─▶ Nhập viện ─▶ [Nội trú]
├─▶ Chuyển tuyến ─▶ DocumentReference
└─▶ Tử vong ─▶ Composition(báo tử)
(sau cùng) cập nhật CCCD/BHYT hồi tố nếu lúc đầu định danh tạm
| # | Bước | Profile | Element chính | Example |
|—|—|—|—|—|
| 1 | Tiếp nhận | VNCoreEncounter | class=EMER, status: arrived→…→finished, insuranceVisitType=Cấp cứu, referralMode=Cấp cứu | Emergency |
| 2 | Triage | VNCoreObservationVitalSigns + VNCoreObservationTriageAcuity | sinh hiệu + mức ưu tiên 1–5 (VNTriageAcuityVS, QĐ 01/2008) | Triage cấp độ 2 |
| 3 | Chẩn đoán | VNCoreConditionDiagnosis | ICD-10 S72.0 | FemurFracture |
| 4 | Cận lâm sàng cấp | ServiceRequest/Specimen/Observation/ImagingStudy/DiagnosticReport | priority=stat | — |
| 5 | Xử trí | VNCoreProcedure | DVKT | — |
| 6 | Thuốc cấp cứu | VNCoreMedicationRequest + VNCoreMedicationDispense | whenHandedOver | — |
| 7 | Kết cục | VNCoreEncounter | treatmentOutcome (KETQUA: đỡ/nặng/tử vong), hospitalization.dischargeDisposition | (trong Encounter) |
treatmentOutcome + dischargeDisposition. Nếu chuyển nhập viện → liên kết sang Encounter nội trú (Encounter.partOf hoặc EpisodeOfCare [GAP P2]). Claim cấp cứu: subType=Cấp cứu để giám định áp đúng mức hưởng. Ca chưa định danh: ExampleBHYTSubmissionEmergencyUnknownIdentity (Patient tạm + Coverage tạm + Claim priority=stat).
ICD-10 VN (QĐ 4469), MALYDO/HTCHUYEN/KETQUA (QĐ 3176), nhóm chi phí (QĐ 697), discharge-disposition.
class=EMER + thời điểm arrived có mặt.Mã lỗi tra tại Registry quy tắc; ví dụ OperationOutcome có sẵn: ExampleOperationOutcomeBHYTClaimReview.
| GAP | Ảnh hưởng | Priority |
|—|—|—|
| Observation triage acuity | ✅ Đã bổ sung VNCoreObservationTriageAcuity + VNTriageAcuityCS (5 mức, QĐ 01/2008/QĐ-BYT) | resolved |
| EpisodeOfCare (nối cấp cứu→nội trú) | ✅ Đã bổ sung VNCoreEpisodeOfCare | resolved |
| Quy tắc bệnh nhân chưa định danh + merge | ✅ Đã tài liệu hóa ở Định danh người bệnh & MPI (§3–4) + rule VN-RULE-PAT-004/005 | resolved |
| Nếu cần | Đọc tiếp | |—|—| | Chuyển tiếp nội trú | Playbook Nội trú | | Quy ước OperationOutcome | OperationOutcome & Registry | | Liên thông BHYT | BHYT Submission |
Emergency integration playbook: one emergency visit submitted as a single atomic transaction Bundle (ExampleBundleEmergencyTransaction) over a real traffic-accident femoral-neck-fracture (S72.0) case. Its defining Vietnamese feature is "treat first, identify later": patients may be admitted with a temporary identifier and BHYT linked retroactively (unknown-identity flow: ExamplePatientUnknown) — VN Core must allow POST for unidentified patients (unlike SATUSEHAT's GET-only), and emergency BHYT is reimbursed as in-network per Health Insurance Law Article 22. Previously noted gaps — triage-acuity Observation and unidentified-patient merge rules — are now resolved (VNCoreObservationTriageAcuity; patient-identity-mpi guidance + VN-RULE-PAT-004/005).