Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide
0.9.0 - Draft for Community Review
Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide - Draft for Community Review (v0.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Draft tại thời điểm 2026-07-31 |
Ánh xạ cho vnHealthBookVneidLm mô hình logic.
No Mappings Found
No Mappings Found
| Name | VN Core FHIR mapping![]() |
|---|---|
![]() |
|
![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
VNCorePatient.name.text | VNCorePatient.name.family + VNCorePatient.name.given |
![]() ![]() ![]() |
VNCorePatient.birthDate (+ extension[birthTime] nếu ghi giờ) |
![]() ![]() ![]() |
VNCorePatient.gender Mã số 1/2/3 cần ConceptMap sang HL7 AdministrativeGender (male/female/unknown/other). |
![]() ![]() ![]() |
VNCorePatient.extension[ethnicity].value[x] (VNEthnicityCS) |
![]() ![]() ![]() |
VNCorePatient.extension[citizenship].value[x] |
![]() ![]() ![]() |
VNCorePatient.extension[occupation].value[x] |
![]() ![]() ![]() |
VNCorePatient.identifier[CCCD].value | VNCorePatient.identifier.value | VNCorePatient.identifier[HC].value |
![]() ![]() ![]() |
VNCorePatient.identifier[BHYT].value | VNCoreCoverage.subscriberId | VNCoreCoverage.identifier.value |
![]() ![]() ![]() |
VNCoreCoverage (nơi ĐKKCB ban đầu) -> VNCoreOrganization.identifier[CSKCB].value |
![]() ![]() ![]() |
VNCorePatient.telecom.where(system='phone').value |
![]() ![]() |
VNCoreAddress (VNCorePatient.address) |
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
VNCoreAddress.line |
![]() ![]() ![]() |
VNCoreAddress.state Đối chiếu VNProvinceLegacyCS (63 tỉnh cũ); không map thẳng sang bộ mã 34 tỉnh hiện hành mà phải qua ConceptMap sắp xếp ĐVHC. |
![]() ![]() ![]() |
VNCoreAddress.district Đối chiếu VNDistrictLegacyCS; cấp huyện đã bỏ theo mô hình 2 cấp từ 01/07/2025 — chỉ dùng cho dữ liệu legacy. |
![]() ![]() ![]() |
VNCoreAddress.extension[ward].value[x] Đối chiếu mã xã legacy (QĐ 124/2004/QĐ-TTg); không map thẳng sang danh mục xã/phường sau sắp xếp 01/07/2025. |
![]() ![]() |
VNCoreRelatedPerson (VNCorePatient.contact khi không tách resource) |
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
VNCoreRelatedPerson.name.text |
![]() ![]() ![]() |
VNCoreRelatedPerson.relationship |
![]() ![]() ![]() |
VNCoreRelatedPerson.identifier[CCCD].value |
![]() ![]() ![]() |
VNCoreRelatedPerson.telecom.where(system='phone').value |
![]() ![]() |
VNCoreCondition (tiền sử bệnh/dị ứng) + VNCoreEncounter (lịch sử đợt KCB); tiền sử tiêm chủng -> VNCoreImmunization |
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
VNCoreEncounter.period.start + VNCoreEncounter.period.end (đợt KCB trong lịch sử) |
![]() ![]() ![]() |
VNCoreEncounter.serviceProvider.resolve().identifier[CSKCB].value | VNCoreOrganization.identifier[CSKCB].value |
![]() ![]() ![]() |
VNCoreOrganization.name |
![]() ![]() ![]() |
VNCoreCondition.code.text | VNCoreEncounter.diagnosis.condition.resolve().code.text |
![]() ![]() ![]() |
VNCoreCondition.code.coding.code (ICD-10 VN; mã đầu tiên = bệnh chính) Phụ lục 02 QĐ 2733/QĐ-BYT bổ sung nhóm mã tiêm vắc-xin/mũi tiêm vào MA_BENH_CHINH/MA_BENH_KT để hiển thị Tiền sử tiêm chủng — các mã tiêm này ánh xạ VNCoreImmunization thay vì VNCoreCondition. |
![]() ![]() ![]() |
VNCoreCondition.code.text | VNCoreCondition.code.coding.display |
![]() ![]() |
VNCoreEncounter (đợt KCB) + VNCoreCondition (chẩn đoán ra viện) |
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
VNCoreEncounter.serviceProvider.resolve().identifier[CSKCB].value | VNCoreOrganization.identifier[CSKCB].value |
![]() ![]() ![]() |
VNCoreOrganization.name |
![]() ![]() ![]() |
BHYTXML13ReferralLM.maCskcbDi | VNCoreEncounter.hospitalization.origin.resolve().identifier[CSKCB].value | VNCoreEncounter.extension[referralMode] QĐ 3176/QĐ-BYT đổi tên MA_NOI_DI thành MA_CSKCB_DI (multi-value ngăn cách bằng ';'). |
![]() ![]() ![]() |
VNCoreOrganization.name |
![]() ![]() ![]() |
VNCoreEncounter.reasonCode.text | VNCoreCondition (reason for encounter) |
![]() ![]() ![]() |
VNCoreEncounter.class | VNCoreEncounter.type.coding.code |
![]() ![]() ![]() |
VNCoreEncounter.period.start |
![]() ![]() ![]() |
VNCoreEncounter.period.end |
![]() ![]() ![]() |
VNCoreEncounter.extension[treatmentOutcome].value[x] (VNCoreExtTreatmentOutcome) |
![]() ![]() ![]() |
VNCoreEncounter.hospitalization.dischargeDisposition.coding.code MA_LOAI_RV = 2 hoặc 5 là điều kiện trích chuyển Bảng 13 giấy chuyển tuyến (BHYTXML13ReferralLM). |
![]() ![]() ![]() |
BHYTXML13ReferralLM.maCskcbDen | VNCoreEncounter.hospitalization.destination.resolve().identifier[CSKCB].value |
![]() ![]() ![]() |
VNCoreOrganization.name |
![]() ![]() ![]() |
VNCoreCondition.code.text | VNCoreEncounter.diagnosis.condition.resolve().code.text |
![]() ![]() ![]() |
VNCoreCondition.code.coding.code (ICD-10 VN; mã đầu tiên = bệnh chính) |
![]() ![]() ![]() |
VNCoreCondition.code.text | VNCoreCondition.code.coding.display |
![]() ![]() ![]() |
VNCoreEncounter.extension | VNCoreCondition.note.text |
![]() ![]() |
VNCoreDiagnosticReport + VNCoreObservationLab (Bảng 4 = BHYTXML4CLSLM; Bảng 3 = BHYTXML3ServiceLM) |
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
VNCoreDiagnosticReport.category.coding.code | VNCoreServiceRequest.category.coding.code |
![]() ![]() ![]() |
VNCoreDiagnosticReport.category.text |
![]() ![]() ![]() |
VNCoreServiceRequest.code.coding.code | VNCoreDiagnosticReport.code.coding.code |
![]() ![]() ![]() |
VNCoreServiceRequest.code.text | VNCoreDiagnosticReport.code.text |
![]() ![]() ![]() |
BHYTXML4CLSLM.maChiSo | VNCoreObservationLab.code.coding.code |
![]() ![]() ![]() |
VNCoreObservationLab.code.text |
![]() ![]() ![]() |
VNCoreObservationLab.value[x] |
![]() ![]() ![]() |
VNCoreDiagnosticReport.conclusion | VNCoreObservationLab.interpretation.text | VNCoreObservationLab.note.text |
![]() ![]() ![]() |
VNCoreObservationLab.effective[x] | VNCoreDiagnosticReport.effective[x] |
![]() ![]() ![]() |
VNCoreDiagnosticReport.presentedForm.url | VNCoreDiagnosticReport.media.link |
![]() ![]() |
VNCoreMedicationRequest + VNCoreMedicationDispense + VNCoreMedication (Bảng 2 = BHYTXML2MedicationLM) |
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
BHYTXML2MedicationLM.maThuoc | VNCoreMedication.code.coding.code |
![]() ![]() ![]() |
VNCoreMedication.code.text + VNCoreMedication.ingredient.strength |
![]() ![]() ![]() |
VNCoreMedicationDispense.quantity.unit | VNCoreMedicationRequest.dispenseRequest.quantity.unit |
![]() ![]() ![]() |
VNCoreMedicationRequest.dosageInstruction.route |
![]() ![]() ![]() |
VNCoreMedicationDispense.quantity.value | VNCoreMedicationRequest.dispenseRequest.quantity.value |
![]() ![]() ![]() |
VNCoreMedicationRequest.dosageInstruction.doseAndRate |
![]() ![]() ![]() |
VNCoreMedicationRequest.dosageInstruction.text |
![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
VNCoreProcedure.code.coding.code |
![]() ![]() ![]() |
VNCoreProcedure.code.text |
![]() ![]() |
VNCoreComposition (các section tóm tắt) + BHYTXML8TreatmentSummaryLM |
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
|
![]() ![]() ![]() |
BHYTXML8TreatmentSummaryLM.qtBenhly | VNCoreComposition.section[history].text |
![]() ![]() ![]() |
BHYTXML8TreatmentSummaryLM.tomtatKq | VNCoreComposition.section[labResults].text |
![]() ![]() ![]() |
BHYTXML8TreatmentSummaryLM.ppDieuTri | VNCoreComposition.section[dischargeSummary].text |
![]() ![]() ![]() |
VNCoreComposition.section[dischargeSummary].text | VNCoreCarePlan.description Thành phần NGAY_TAI_KHAM ánh xạ BHYTXML14FollowUpAppointmentLM (giấy hẹn khám lại) -> VNCoreServiceRequest.occurrence / future Appointment.start. |
![]() ![]() ![]() |
VNCorePractitioner.name.text | VNCoreEncounter.participant.where(type='ATND').individual.resolve().name.text |
![]() ![]() ![]() |
VNCorePractitioner.telecom.where(system='phone').value |
Documentation for this format | |