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 chuỗi kê đơn → (liên thông đơn thuốc quốc gia) → cấp phát → (sử dụng) → thanh toán BHYT, nộp lên FHIR server bằng transaction Bundle atomic.
Cùng bộ playbook: Ngoại trú · Cấp cứu · Nội trú.
Điểm khác biệt VN cốt lõi: đơn thuốc điện tử liên thông Hệ thống đơn thuốc quốc gia (mỗi đơn có mã đơn quốc gia); mã thuốc theo ATC + số đăng ký lưu hành + DM thuốc BHYT; phân biệt hóa dược (TT 26/2025) vs YHCT (TT 27/2025); cấp phát nội trú (khoa Dược) vs ngoại trú/nhà thuốc bán lẻ.
Ca minh họa: Nguyễn Văn An (tăng huyết áp) được kê Amlodipine 5mg × 30 viên, cấp phát BHYT 80% tại BV Chợ Rẫy ngày 22/3/2026. Mọi resource là Example Instance thật.
Kê đơn → liên thông đơn quốc gia → cấp phát → (nội trú: sử dụng) → chi phí thuốc trong Claim. Áp dụng cho ngoại trú/cấp cứu/nội trú và nhà thuốc bán lẻ.
Bác sĩ kê đơn (HIS/EMR), Hệ thống đơn thuốc quốc gia (liên thông), khoa Dược/nhà thuốc (cấp phát), điều dưỡng (sử dụng nội trú), cổng BHXH.
TT 26/2025/TT-BYT (kê đơn hóa dược ngoại trú, hiệu lực 01/7/2025; Điều 12 liên thông đơn quốc gia + lĩnh thuốc trong 05 ngày); TT 27/2025/TT-BYT (thuốc dược liệu/YHCT BHYT); Luật Dược 105/2016 + Luật 44/2024; NĐ 163/2025/NĐ-CP; QĐ 3176/QĐ-BYT (MA_THUOC, SO_DANG_KY, NGAY_CAP, NGAY_TH_YL); QĐ 697/QĐ-BYT (chi phí thuốc).
| # | Resource | Profile | Ghi chú VN | |—|—|—|—| | P1 | Bệnh nhân | VNCorePatient | CCCD/VNeID | | P2 | Bác sĩ kê đơn | VNCorePractitioner | CCHN bắt buộc cho kê đơn | | P3 | Cơ sở/nhà thuốc | VNCoreOrganization | mã cơ sở/nhà thuốc | | P4 | Thẻ BHYT (nếu có) | VNCoreCoverage | mức hưởng | | P5 | Danh mục thuốc | VNCoreMedication | ATC + số ĐKLH + mã thuốc BHYT |
Chuỗi kê đơn → cấp phát nộp atomic bằng transaction Bundle. Ví dụ: Bundle-ExampleBundlePharmacyDispenseTransaction (Patient, Coverage, Encounter, MedicationRequest, MedicationDispense — PUT update-as-create). Đơn thuốc điện tử trọn bộ: ExampleBundleEPrescription. Chi tiết pattern xem Playbook Nội trú §5.
MedicationRequest(kê đơn) ──▶ [Liên thông Hệ thống đơn thuốc quốc gia: gán mã đơn]
│ identifier (mã đơn quốc gia), requester (CCHN), medicationCodeableConcept (ATC + mã BHYT)
▼
MedicationDispense(cấp phát) ── authorizingPrescription ─▶ (lại) MedicationRequest
│ whenHandedOver (NGAY_CAP), quantity, performer (dược sĩ/khoa/nhà thuốc)
▼
(nội trú) MedicationAdministration(sử dụng) ── request ─▶ MedicationRequest
▼
(BHYT) Claim.item.category = "thuốc" ─▶ ClaimResponse/EOB
| # | Bước | Profile | Element chính | Example |
|—|—|—|—|—|
| 1 | Thuốc (danh mục) | VNCoreMedication | code (ATC + số ĐKLH + mã BHYT), dạng bào chế | Amlodipine |
| 2 | Kê đơn | VNCoreMedicationRequest | medicationCodeableConcept, dosageInstruction, requester (CCHN), intent=order | Hypertension · YHCT: YHCT |
| 3 | Mã đơn quốc gia | MedicationRequest.identifier | system = http://fhir.hl7.org.vn/core/sid/don-thuoc-quoc-gia (14 ký tự — VNPrescriptionCode NamingSystem) | QĐ 808/2022 |
| 4 | Cấp phát | VNCoreMedicationDispense | authorizingPrescription→MedicationRequest, whenHandedOver, quantity, performer.actor | OutpatientBHYT · Nội trú |
| 5 | Sử dụng (nội trú) | VNCoreMedicationAdministration | effective[x] (NGAY_TH_YL), request→MedicationRequest | Nội trú |
| 6 | BHYT | VNCoreClaim | item.category = thuốc (QĐ 697) | BHYTSubmission |
ATC; số đăng ký lưu hành (VD/VS/QLĐB); DM thuốc BHYT; đơn vị UCUM; đường dùng (vn-medication-route-vs); YHCT vị thuốc/bài thuốc (QĐ 2552/3080, TT 27/2025).
requester là Practitioner có CCHN.authorizingPrescription trỏ đúng MedicationRequest — không "cấp phát mồ côi" cho cấp phát ngoại trú/bán lẻ (VN-RULE-MED-002); nội trú gắn y lệnh khi có.request khép chuỗi (VN-RULE-MED-003).quantity cấp phát ≤ số lượng kê (trừ quy tắc riêng).Ví dụ OperationOutcome — cấp phát mồ côi:
{"resourceType":"OperationOutcome","issue":[{"severity":"error","code":"required",
"details":{"coding":[{"system":"http://fhir.hl7.org.vn/core/CodeSystem/vn-validation-rule-cs","code":"VN-RULE-MED-002"}],
"text":"MedicationDispense.authorizingPrescription là bắt buộc cho cấp phát ngoại trú/bán lẻ để bảo toàn chuỗi BHYT"},
"expression":["Bundle.entry[4].resource.authorizingPrescription"]}]}
| GAP | Ảnh hưởng | Priority |
|—|—|—|
| Medication.batch (số lô/hạn dùng) | ✅ Đã đánh dấu MS trong VNCoreMedication (batch.lotNumber, batch.expirationDate) | resolved |
| System mã đơn thuốc quốc gia | ✅ Đã bổ sung VNPrescriptionCode NamingSystem (QĐ 808/2022) | resolved |
| MedicationStatement (tiền sử dùng thuốc) | ✅ Đã bổ sung VNCoreMedicationStatement | resolved |
✅ MedicationAdministration (sử dụng thuốc nội trú) đã có — VNCoreMedicationAdministration.
| Nếu cần | Đọc tiếp | |—|—| | Sử dụng thuốc nội trú | Playbook Nội trú | | Quy ước OperationOutcome | OperationOutcome & Registry | | Danh mục định danh | Registry định danh |
Pharmacy integration playbook covering the prescribe → (national ePrescription interoperability) → dispense → administer → BHYT chain, submitted as an atomic transaction Bundle (ExampleBundlePharmacyDispenseTransaction) over a real hypertension Amlodipine case. Key Vietnamese specifics: national ePrescription linkage with a national prescription code, drug coding by ATC + marketing-authorization number + BHYT drug list, and hóa dược (TT 26/2025) vs YHCT (TT 27/2025). The dispense→prescription link (authorizingPrescription) is enforced for outpatient/retail dispensing (VN-RULE-MED-002) to keep the reimbursement chain intact; inpatient administration is covered by VNCoreMedicationAdministration. All previously noted gaps (Medication.batch, national prescription-code system, MedicationStatement) are now resolved.