HL7 Vietnam VN Core FHIR Implementation Guide

Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide
0.10.0 - Draft for Community Review Viet Nam cờ

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.10.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Mô hình logic: Bảng 1 tổng hợp KCB BHYT — Logical Model - Ánh xạ

Draft tại thời điểm 2026-09-22

Ánh xạ cho bhytXml1SummaryLm mô hình logic.

Mappings to Structures in this Implementation Guide

No Mappings Found

Mappings to other Structures

No Mappings Found

Other Mappings

NameVN Core FHIR mappingdoco
.. bhytXml1SummaryLm
... maLk
VNCoreClaim.identifier[MALK].value
... stt
Derived export row order
... maBn
VNCorePatient.identifier[MRN].value
... hoTen
VNCorePatient.name.text
... soCccd
VNCorePatient.identifier[CCCD].value | VNCorePatient.identifier[HC].value | VNCorePatient.identifier[GKS].value
Ghi số CCCD/số định danh cá nhân trên thẻ căn cước hoặc giấy khai sinh; người nước ngoài ghi số hộ chiếu (identifier[HC]); trẻ sơ sinh dùng số trên giấy khai sinh (identifier[GKS]); để trống trong trường hợp bất khả kháng (trẻ sơ sinh, người mất ý thức/tâm thần không lấy được số định danh). Đổi kiểu chuỗi và kích thước n theo QĐ 4750/QĐ-BYT.
... ngaySinh
VNCorePatient.birthDate
... gioiTinh
VNCorePatient.gender
Mã nguồn là 1/2/3 (nam/nữ/chưa xác định) theo QĐ 130/QĐ-BYT, KHÔNG phải mã của AdministrativeGender. Phải chuyển qua ConceptMap/vn-cm-gender-to-administrative-gender trước khi ghi vào Patient.gender.
... nhomMau
future blood-group Observation (LOINC 883-9 ABO group; 10331-7 Rh)
Nhóm máu của người bệnh, tối đa 5 ký tự, chỉ ghi khi có thông tin (bổ sung theo QĐ 4750/QĐ-BYT). VN Core chưa có profile Observation nhóm máu chuyên biệt nên đánh dấu future.
... maQuocTich
VNCorePatient.extension[citizenship].valueCodeableConcept.coding.code
Mã nguồn là mã quốc tịch 3 chữ số do Bộ Công an ban hành, KHÔNG phải ISO 3166. Phải chuyển sang hệ mã mà extension[citizenship] bind, hoặc ghi kèm đúng system của mã nguồn.
... maDanToc
VNCorePatient.extension[ethnicity].valueCodeableConcept.coding.code
... maNgheNghiep
VNCorePatient.extension[occupation].valueCodeableConcept.coding.code
... diaChi
VNCorePatient.address.text
... maTinhCuTru
VNCorePatient.address.extension[province].valueCoding.code
Giữ mã tỉnh nguồn và ngày hồ sơ. Sau khi xác định hệ mã nhà nước, dùng vn-province-cs; binding history hỗ trợ mã đã thu nhận. Không tự đổi mã lịch sử sang tỉnh hiện hành. Tên/hiệu lực theo ngày cần giai đoạn đã xác minh; thiếu căn cứ giữ địa chỉ text và báo không đủ căn cứ.
... maHuyenCuTru
VNCorePatient.address.district
Address.district là tên huyện dạng string. Nếu nguồn dùng mã TMS hoặc mã ghép tỉnh+huyện năm chữ số, chỉ chuyển qua registry có scheme và edition tường minh sang mã nhà nước ba chữ số. Tra tên trong vn-district-cs theo ngày hồ sơ khi có bằng chứng; thiếu căn cứ giữ text nguồn, không lấy display hiện hành làm tên lịch sử. Việc đổi cách biểu diễn mã không chứng minh hiệu lực hoặc địa giới.
... maXaCuTru
VNCorePatient.address.extension[ward].valueCoding.code
Giữ mã xã nguồn gồm năm chữ số và ngày hồ sơ; dùng vn-ward-cs sau khi xác định đúng hệ mã. Binding history không buộc đổi mã xã cũ sang xã mới. Tra tên/tỉnh quản lý theo giai đoạn có bằng chứng; thiếu căn cứ giữ text nguồn, không tự suy từ tên hoặc mã hiện hành.
... dienThoai
VNCorePatient.telecom.where(system='phone').value
... maTheBhyt
VNCoreCoverage.identifier[BHYT].value | VNCorePatient.identifier[BHYT].value
OHP/QD3176 export validator permits up to 2 BHYT card values; map repeated cards to focal/supplemental Coverage entries.
... maDkbd
VNCoreCoverage.extension[primaryCareFacility].valueReference.identifier.value
OHP/QD3176 export validator permits up to 2 values aligned with multiple BHYT cards; this remains the registered primary care facility, not MA_CSKCB.
... gtTheTu
VNCoreCoverage.period.start
OHP/QD3176 export validator permits up to 2 values aligned with multiple BHYT cards.
... gtTheDen
VNCoreCoverage.period.end
OHP/QD3176 export validator permits up to 2 values aligned with multiple BHYT cards.
... ngayMienCct
VNCoreCoverage | future copay-exemption-start-date extension
Thời điểm người bệnh đủ điều kiện hưởng chế độ miễn cùng chi trả: 8 ký tự yyyymmdd nếu đã cấp giấy miễn cùng chi trả, 12 ký tự yyyymmddHHMM nếu chưa cấp giấy; để trống nếu không đủ cơ sở xác định. Liên quan trần cùng chi trả luỹ kế theo NĐ 188/2025/NĐ-CP; VN Core chưa có extension ngày miễn cùng chi trả trên Coverage.
... lyDoVv
VNCoreEncounter.reasonCode | VNCoreEncounter.reasonReference.resolve().code
... lyDoVnt
VNCoreEncounter.hospitalization.admitSource | VNCoreEncounter.reasonCode
Conditionally required for selected inpatient/day-treatment MA_LOAI_KCB values.
... maLyDoVnt
VNCoreEncounter.hospitalization.admitSource.coding.code
... chanDoanVao
VNCoreEncounter.reasonCode | VNCoreComposition.section[chiefComplaint].text
... chanDoanRv
VNCoreCondition.code.text | VNCoreComposition.section[diagnosis].text
... maBenhChinh
VNCoreClaim.diagnosis.where(type='principal').diagnosisCodeableConcept | VNCoreCondition.code
[MULTI-INSTANCE] Bệnh chính và bệnh kèm theo là HAI Condition khác nhau. Bệnh chính và bệnh kèm theo là HAI Condition riêng, phân biệt bằng Encounter.diagnosis.rank (rank=1 cho bệnh chính); không dồn vào một Condition.code.
... maBenhKt
VNCoreClaim.diagnosis.where(type!='principal').diagnosisCodeableConcept | VNCoreCondition.code
[MULTI-INSTANCE] Bệnh chính và bệnh kèm theo là HAI Condition khác nhau. Bệnh chính và bệnh kèm theo là HAI Condition riêng, phân biệt bằng Encounter.diagnosis.rank (rank=1 cho bệnh chính); không dồn vào một Condition.code.
... maBenhYhct
VNCoreClaim.diagnosis.diagnosisCodeableConcept.coding.code | VNCoreConditionDiagnosis.code.coding[yhct].code
... maPtttQt
VNCoreProcedure.code.coding.code
Mã ICD-9-CM (VNICD9CMCS; QĐ 4440/QĐ-BYT, nay thay bằng QĐ 387/QĐ-BYT). Nhiều PT/TT thì các mã phân cách bằng ';'; chỉ ghi khi người bệnh có thực hiện phẫu thuật, thủ thuật. KHÔNG nhầm với MA_PTTT (mã phương thức thanh toán, Bảng 2/3 STT 36/40).
... maDoituongKcb
VNCoreClaim.subType
Do not map to Coverage.extension[bhytCardType]; this is visit classification, not the insured/card group.
... maNoiDi
VNCoreEncounter.hospitalization.origin.resolve().identifier[CSKCB].value
... maNoiDen
VNCoreEncounter.hospitalization.destination.resolve().identifier[CSKCB].value
... maTaiNan
VNCoreClaim.accident.type
... ngayVao
VNCoreEncounter.period.start | VNCoreClaim.billablePeriod.start
Đính chính 16/08/2026: trước đây ngayVao và ngayRa CÙNG trỏ VNCoreClaim.created. Claim.created là ngày LẬP hồ sơ yêu cầu (1..1) nên không thể mang cả hai mốc; kỳ khám chữa bệnh thuộc Claim.billablePeriod.
... ngayVaoNoiTru
VNCoreEncounter.hospitalization | future admission instant extension
... ngayRa
VNCoreEncounter.period.end | VNCoreClaim.billablePeriod.end
Xem ghi chú tại NGAY_VAO: kỳ KCB đi vào Claim.billablePeriod, không phải Claim.created.
... giayChuyenTuyen
VNCoreServiceRequest.identifier.value | VNCoreDocumentReference.identifier.value
Số giấy chuyển tuyến/chuyển cơ sở KBCB nơi chuyển người bệnh đi hoặc số giấy hẹn khám lại (nếu có). Ghi theo trường GIAY_CHUYEN_TUYEN Bảng 13 (BHYTXML13ReferralLM) — liên kết phiếu chuyển tuyến ServiceRequest.
... soNgayDtri
Derived from VNCoreEncounter.period.start/end | VNCoreEncounter.length.value
... ppDieuTri
VNCoreProcedure.category | future treatment-method (PP_DIEU_TRI) extension
Ghi phương pháp điều trị theo TT 18/2022/TT-BYT (nội khoa, ngoại khoa, xạ trị, hoá trị hoặc xạ trị + nội khoa). VN Core chưa có slice/extension chuyên biệt ở cấp đợt điều trị nên đánh dấu future.
... ketQuaDtri
VNCoreEncounter.extension[treatmentOutcome].valueCodeableConcept
... maLoaiRv
VNCoreEncounter.hospitalization.dischargeDisposition
... ghiChu
VNCoreComposition.section[dischargeSummary].text
Lời dặn của bác sĩ hoặc nhân viên y tế đối với người bệnh sau khi kết thúc lần KBCB; ghi vào phần tóm tắt ra viện/hướng điều trị tiếp của bệnh án điện tử (TT 13/2025/TT-BYT).
... ngayTtoan
VNCoreExplanationOfBenefit.created | VNCoreClaimResponse.created
... tThuoc
VNCoreClaim.extension[costSummary].extension[totalMedication].valueMoney.value | VNCoreExplanationOfBenefit.total.where(category='medication-subtotal').amount.value
... tVtyt
VNCoreClaim.extension[costSummary].extension[totalSupplies].valueMoney.value | VNCoreExplanationOfBenefit.total.where(category='supplies-subtotal').amount.value
... tTongchiBv
VNCoreClaim.total.value | VNCoreExplanationOfBenefit.total.amount
... tTongchiBh
VNCoreExplanationOfBenefit.total.where(category='eligible').amount.value | VNCoreClaimResponse.total.where(category='eligible').amount.value
... tBntt
VNCoreClaim.extension[costSummary].extension[totalPatientSelfPay].valueMoney.value | Derived from VNCoreClaimResponse.total.where(category='submitted').amount - .where(category='eligible').amount
... tBncct
VNCoreClaim.extension[costSummary].extension[totalPatientCopay].valueMoney.value | VNCoreClaimResponse.total.where(category='copay').amount.value | VNCoreExplanationOfBenefit.total.where(category='copay').amount.value
... tBhtt
VNCoreClaim.extension[costSummary].extension[totalInsurance].valueMoney.value | VNCoreClaimResponse.total.where(category='benefit').amount.value | VNCoreExplanationOfBenefit.total.where(category='benefit').amount.value
... tNguonkhac
VNCoreClaim.extension[costSummary].extension[totalOtherFund].valueMoney.value | VNCoreExplanationOfBenefit.total.where(category='other-fund').amount.value
... tBhttGdv
VNCoreClaim.extension[costSummary] | future totalInsuranceFeeForService sub-extension
Số tiền quỹ BHYT thanh toán đối với các khoản chi ngoài định suất hoặc ngoài DRG (là T_BHTT tại Bảng 2, Bảng 3 đối với chi phí có MA_PTTT = '1' — Phí dịch vụ). VNCoreExtClaimCostSummary chưa có sub-extension chuyên biệt cho khoản này nên đánh dấu future.
... namQt
VNCoreClaim.extension[paymentPeriod].extension[year]
... thangQt
VNCoreClaim.extension[paymentPeriod].extension[month]
... maLoaiKcb
VNCoreEncounter.type
... maKhoa
VNCoreClaim.item.extension[department].valueCodeableConcept.coding.code | VNCoreEncounter.serviceType
... maCskcb
VNCoreEncounter.serviceProvider.resolve().identifier[CSKCB].value | VNCoreClaim.provider.resolve().identifier[CSKCB].value
Actual visit/submission provider. Do not fall back to MA_DKBD on Coverage.
... maKhuvuc
VNCoreCoverage | future BHYT living-area (K1/K2/K3) extension
Mã nơi sinh sống của người bệnh ghi trên thẻ BHYT (danh mục mã cố định K1/K2/K3). VN Core chưa có extension mã khu vực sinh sống trên Coverage.
... canNang
VNCoreObservationBodyWeight.value[x]
[MULTI-INSTANCE] Cân nặng NGƯỜI BỆNH và cân nặng CON là hai Observation trên hai chủ thể khác nhau, không phải hai giá trị của một Observation: `subject` của chỉ tiêu này là người bệnh, còn của CAN_NANG_CON là trẻ mới sinh. Token thêm 07/09/2026 khi đích ánh xạ đổi từ `valueQuantity.value` sang `value[x]` — cách viết cũ không phân giải được nên cổng LM MAPPING TARGETS chưa từng thấy cặp tranh chấp này.
... canNangCon
VNCoreObservationBodyWeight.value[x] | future newborn-birth-weight extension
[MULTI-INSTANCE] Cân nặng người bệnh và cân nặng con là hai Observation trên hai chủ thể khác nhau. Cân nặng con mới sinh, đơn vị gram; subject là trẻ mới sinh (RelatedPerson/Patient liên kết), không phải người bệnh mẹ. Chỉ ghi khi sinh con; sinh từ 2 con trở lên ghi lần lượt, phân cách bằng dấu chấm phẩy ';'.
... namNamLienTuc
VNCoreCoverage | future five-year-continuous-participation date extension
Thời điểm người bệnh tham gia BHYT đủ 05 năm liên tục, 8 ký tự yyyymmdd (mốc hưởng quyền lợi 5 năm liên tục). VN Core chưa có extension mốc 5 năm liên tục trên Coverage.
... ngayTaiKham
VNCoreServiceRequest.occurrenceDateTime | Appointment.start
... maHsba
VNCoreComposition.identifier.value | VNCoreDocumentReference.identifier.value
... maTtdv
VNCoreComposition.author.resolve().identifier.value | VNCoreDocumentReference.author.resolve().identifier.value | VNCoreProvenance.signature.who.resolve().identifier.value
... duPhong
VNCoreObservationBodyHeight.value[x]
Theo bản sửa đổi, bổ sung QĐ 4750/QĐ-BYT: trường dự phòng Bảng 1 dùng để ghi chiều cao người bệnh (đơn vị cm), bắt buộc trong trường hợp sử dụng chỉ số này để chẩn đoán, điều trị. Riêng Bảng 1 khác các bảng khác (DU_PHONG thường dùng cho dữ liệu chữ ký số theo QĐ 3176/QĐ-BYT).

doco Documentation for this format