HL7 Vietnam VN Core FHIR Implementation Guide

Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.6.0 - Draft for Community Review Viet Nam cờ

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

Playbook Ngoại trú

Playbook Ngoại trú — KCB ngoại trú (Outpatient)

Hợp đồng tích hợp đầu–cuối cho một lượt khám ngoại trú: đăng ký → khám → cận lâm sàng → kê đơn → thanh toán BHYT, nộp lên FHIR server bằng một transaction Bundle atomic.

Trang này là integration spec. Walkthrough lâm sàng kể chuyện ở Tình huống lâm sàng (Tình huống 1). Cùng bộ playbook: Nội trú · Cấp cứu · Dược.

Ca minh họa: Nguyễn Văn An (CCCD 001085012345, BHYT loại DN 80%) khám ngoại trú đúng tuyến tại BV Chợ Rẫy ngày 19/3/2026 vì sốt/ho/khó thở; chẩn đoán viêm phổi J18.9, xét nghiệm glucose, kê Amoxicillin. Mọi resource là Example Instance thật.

1. Phạm vi

KCB ngoại trú có/không BHYT: khám, cận lâm sàng (XN/CĐHA), kê đơn, thủ thuật ngoại trú. Không bao gồm nhập viện (→ Nội trú) hay cấp cứu (→ Cấp cứu).

2. Actor & hệ thống

HIS/EMR ngoại trú (chủ luồng), LIS, RIS/PACS, khoa Dược, cổng giám định BHXH.

3. Căn cứ pháp lý

TT 13/2025/TT-BYT (bệnh án điện tử); QĐ 3176/QĐ-BYT (MALYDO/KETQUA/MA_LUOT_KCB); NĐ 188/2025/NĐ-CP (BHYT, đúng tuyến); QĐ 697/QĐ-BYT (bảng kê chi phí); QĐ 4469/QĐ-BYT (ICD-10 VN); QĐ 1227/QĐ-BYT (cận lâm sàng).

4. Điều kiện tiên quyết

| # | Resource | Profile | Ghi chú VN | |—|—|—|—| | P1 | Cơ sở + khoa | VNCoreOrganization + VNCoreOrganizationDepartment | mã cơ sở KCB; hạng/tuyến | | P2 | Phòng khám | VNCoreLocation | poli/phòng khám | | P3 | Bác sĩ | VNCorePractitioner | số CCHN | | P4 | Bệnh nhân | VNCorePatient | CCCD/VNeID | | P5 | Thẻ BHYT | VNCoreCoverage | số thẻ; nơi ĐKKCB ban đầu (đúng tuyến) |

5. Cơ chế nộp — Transaction Bundle

Một lượt khám = một transaction Bundle (type=transaction), áp dụng atomic. Ví dụ: Bundle-ExampleBundleOutpatientTransaction (8 entry PUT update-as-create). Hai pattern entry (PUT update-as-create — mặc định, idempotent; POST + ifNoneExist) và 3 loại Bundle (transaction nộp / document bệnh án / collection BHYT) — xem chi tiết tại Playbook Nội trú §5.

6. Sơ đồ luồng

Patient ─▶ Coverage ─▶ Encounter(AMB) ─▶ Condition(J18.9)
                            │
        ┌────────────────────┼─────────────────────┐
        ▼                    ▼                     ▼
 ServiceRequest(XN) ▶ Specimen ▶ Observation   MedicationRequest   (CĐHA: ImagingStudy ▶ DiagReport)
        ▼
 Encounter(finished + treatmentOutcome) ─▶ Claim(BHYT) ─▶ ClaimResponse/EOB
        └───────────── gói trong 1 transaction Bundle ─────────────┘

7. Các bước gửi dữ liệu

| # | Bước | Profile | Element chính | Terminology | Example | |—|—|—|—|—|—| | 1 | Lượt khám | VNCoreEncounter | class=AMB, extension[insuranceVisitType] (MALYDO=5 KCB ban đầu), encounterCode | QĐ 3176 | Outpatient | | 2 | Chẩn đoán | VNCoreConditionDiagnosis | code ICD-10 J18.9 (+ SNOMED), category=encounter-diagnosis | QĐ 4469 | Pneumonia | | 3 | Chỉ định XN | VNCoreServiceRequest | intent=order, code LOINC | QĐ 1227 | LabGlucose | | 4 | Mẫu bệnh phẩm | VNCoreSpecimen | type, collection, request | — | SerumChemistry | | 5 | Kết quả XN | VNCoreObservationLab | code LOINC, valueQuantity, interpretation, referenceRange | QĐ 1227 | LabGlucose | | 6 | CĐHA (nhánh) | VNCoreServiceRequestVNCoreImagingStudyVNCoreDiagnosticReportImaging | StudyInstanceUID, resultsInterpreter | — | ChestCT | | 7 | Kê đơn | VNCoreMedicationRequest | medicationCodeableConcept (ATC), dosageInstruction | TT 26/2025 | Amoxicillin | | 8 | Thủ thuật (nếu có) | VNCoreProcedure | code DVKT | TT 23/2024; QĐ 387 | — |

8. Đóng lượt khám

VNCoreEncounter.status = finished + extension[treatmentOutcome] (KETQUA) + Encounter.diagnosis (chẩn đoán chính). Ngoại trú thường không có hospitalization.

9. Tích hợp BHYT/Claim

VNCoreClaim (type=institutional/professional, item.category từ vn-cost-category-vs — khám/XN/CĐHA/thuốc, QĐ 697; ngoại trú thường 2–4 item, đúng 1 thẻ focal=true) → VNCoreClaimResponseVNCoreExplanationOfBenefit → gói gửi VNCoreBHYTSubmissionBundle (ExampleBHYTSubmissionOutpatient, bridge XML 4210).

10. Phụ lục terminology

ICD-10 VN (QĐ 4469), LOINC/cận lâm sàng (QĐ 1227), DVKT (TT 23/2024), MALYDO/KETQUA (QĐ 3176), nhóm chi phí (QĐ 697). Xem Hướng dẫn terminology.

11. Validation checklist + lỗi thường gặp

  • Encounter có subject + serviceProvider + class=AMB (VN-RULE-ENC-001).
  • Mỗi Condition = 1 mã ICD-10 thuộc ValueSet (VN-RULE-CON-001, VN-RULE-TERM-001).
  • Observation.code khớp đơn vị valueQuantity.
  • datetime có offset +07:00; Claim đúng 1 thẻ BHYT focal=true (VN-RULE-CLM-001).

Mã lỗi tra tại Registry quy tắc. Ví dụ OperationOutcome — Encounter thiếu serviceProvider:

{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"required",
"details":{"coding":[{"system":"http://fhir.hl7.org.vn/core/CodeSystem/vn-validation-rule-cs","code":"VN-RULE-ENC-001"}],
"text":"Encounter.serviceProvider là bắt buộc"},"expression":["Bundle.entry[2].resource.serviceProvider"]}]}

12. Khoảng trống profile (GAP)

| GAP | Ảnh hưởng | Priority | |—|—|—| | CarePlan | ✅ Đã bổ sung VNCoreCarePlan (kế hoạch chăm sóc) | resolved | | MedicationStatement (tiền sử dùng thuốc) | ✅ Đã bổ sung VNCoreMedicationStatement | resolved | | ClinicalImpression, Goal | ✅ Đã bổ sung VNCoreClinicalImpression + VNCoreGoal | resolved |

Luồng lõi ngoại trú chạy đủ với profile sẵn có.

Liên hệ với các trang khác

| Nếu cần | Đọc tiếp | |—|—| | Walkthrough kể chuyện | Tình huống lâm sàng | | Cơ chế transaction Bundle chi tiết | Playbook Nội trú | | Quy ước OperationOutcome | OperationOutcome & Registry | | Liên thông BHYT | BHYT Submission |

English Summary

Outpatient integration playbook: end-to-end FHIR workflow for one outpatient visit (registration → exam → diagnostics → prescription → BHYT claim), submitted as a single atomic transaction Bundle (ExampleBundleOutpatientTransaction) over a real pneumonia (J18.9) case. Lists prerequisites, resource sequence anchored on real Example Instances, terminology with Vietnamese legal basis, and a validation checklist referencing the VN-RULE registry.