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
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
| URL chính thức: http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml11-sick-leave | Phiên bản: 0.10.0 | ||||
| Computable Name: BHYTXML11SickLeaveLMStructureMap | |||||
| Định danh khác: OID:2.25.161089673617632664299011809196868855799.43.3 | |||||
Generated StructureMap scaffold for Bảng 11 giấy chứng nhận nghỉ việc hưởng BHXH — XML11 Sick Leave Logical Model. Source semantics come from the logical model mapping annotations in BHYTXML11SickLeaveLM.fsh and remain aligned with the Python BHYT round-trip export adapter.
Language: vi
map "http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml11-sick-leave" = "BHYTXML11SickLeaveLMStructureMap" // Generated StructureMap scaffold for Bảng 11 giấy chứng nhận nghỉ việc hưởng BHXH — XML11 Sick Leave Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML11SickLeaveLM.fsh` and remain aligned with the Python BHYT round-trip export adapter. // FHIR-native source bundle profile used by the repository round-trip adapter. uses "http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-bhyt-submission-bundle" alias BHYTSubmissionBundle as source // Bảng 11 giấy chứng nhận nghỉ việc hưởng BHXH — XML11 Sick Leave Logical Model uses "http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml11SickLeaveLm" alias BHYTXML11SickLeaveLM as target // Rows are derived from sick-leave DocumentReference/Composition, period, certifying Practitioner, Coverage and parent/guardian data. Generated from logical-model `^mapping` annotations. Fields still missing a field-level `^mapping.map` entry remain outside this StructureMap and are tracked in `wiki/mappings/bhyt-output-data/machine/structuremap-coverage.json`. group MapBHYTXML11SickLeaveLM(source sourceBundle : BHYTSubmissionBundle, target targetRow : BHYTXML11SickLeaveLM) { // Target field: MA_LK - Mã liên kết hồ sơ FHIR path: VNCoreClaim.identifier[MALK].value sourceBundle.entry 0..* as maLkSource -> targetRow.maLk "maLk"; // Target field: SO_CT - Số chứng từ FHIR path: VNCoreDocumentReference.identifier.value | VNCoreComposition.identifier.value sourceBundle.entry 0..* as soCtSource -> targetRow.soCt "soCt"; // Target field: SO_SERI - Số seri FHIR path: VNCoreDocumentReference.identifier.value | VNCoreComposition.identifier.value sourceBundle.entry 0..* as soSeriSource -> targetRow.soSeri "soSeri"; // Target field: SO_KCB - Số KCB FHIR path: VNCoreEncounter.identifier[maLuotKcb].value sourceBundle.entry 0..* as soKcbSource -> targetRow.soKcb "soKcb"; // Target field: DON_VI - Đơn vị FHIR path: VNCoreOrganization.name | VNCoreDocumentReference.custodian.resolve().name sourceBundle.entry 0..* as donViSource -> targetRow.donVi "donVi"; // Target field: MA_BHXH - Mã BHXH FHIR path: VNCorePatient.identifier[BHXH].value | VNCoreCoverage.subscriberId sourceBundle.entry 0..* as maBhxhSource -> targetRow.maBhxh "maBhxh"; // Target field: MA_THE_BHYT - Mã thẻ BHYT FHIR path: VNCoreCoverage.identifier[BHYT].value sourceBundle.entry 0..* as maTheBhytSource -> targetRow.maTheBhyt "maTheBhyt"; // Target field: CHAN_DOAN_RV - Chẩn đoán ra viện FHIR path: VNCoreComposition.section[diagnosis].entry.resolve().code | VNCoreCondition.code | Composition.section.text Mapping note: [MULTI-INSTANCE] Chẩn đoán ra viện, mã đình chỉ thai và nguyên nhân đình chỉ là BA Condition khác nhau trên cùng một lượt điều trị, không phải ba giá trị của một Condition. Ba chỉ tiêu này sinh Condition RIÊNG BIỆT, không ghi đè nhau: chẩn đoán ra viện, mã đình chỉ thai và nguyên nhân đình chỉ là ba mệnh đề lâm sàng khác nhau. sourceBundle.entry 0..* as chanDoanRvSource -> targetRow.chanDoanRv "chanDoanRv"; // Target field: PP_DIEUTRI - Phương pháp điều trị (nội khoa, ngoại khoa, xạ trị, hoá trị hoặc kết hợp) FHIR path: VNCoreComposition.section[dischargeSummary].text | VNCoreProcedure.category | future phương-pháp-điều-trị extension Mapping note: Ghi phương pháp điều trị (nội khoa, ngoại khoa, xạ trị, hoá trị hoặc xạ trị kết hợp nội khoa) theo hướng dẫn TT 18/2022/TT-BYT. QĐ 4750/QĐ-BYT (trong chuẩn QĐ 3176/QĐ-BYT) sửa đổi toàn bộ diễn giải và tăng kích thước tối đa lên n ký tự. Chưa có code system phương pháp điều trị riêng nên đích mã hoá tạm để future extension. sourceBundle.entry 0..* as ppDieuTriSource -> targetRow.ppDieuTri "ppDieuTri"; // Target field: MA_DINH_CHI_THAI - Mã đình chỉ thai FHIR path: VNCoreProcedure.code | VNCoreCondition.code Mapping note: [MULTI-INSTANCE] Chẩn đoán ra viện, mã đình chỉ thai và nguyên nhân đình chỉ là BA Condition khác nhau trên cùng một lượt điều trị, không phải ba giá trị của một Condition. MA_DINH_CHI_THAI='1' (đình chỉ thai nghén) tương ứng với sự tồn tại một VNCoreProcedure đình chỉ thai nghén (termination of pregnancy); '0' là không đình chỉ. Chưa có slice/mã cố định cho thủ thuật đình chỉ thai nên dùng Procedure.code; quan hệ điều kiện với 2 trường chi tiết theo invariant bhyt-xml11-abortion-fields-required (nhất quán nhóm đình chỉ thai với BHYTXML7DischargePaperLM). sourceBundle.entry 0..* as maDinhChiThaiSource -> targetRow.maDinhChiThai "maDinhChiThai"; // Target field: NGUYENNHAN_DINHCHI - Nguyên nhân đình chỉ thai FHIR path: VNCoreProcedure.reasonCode.text | VNCoreProcedure.reasonReference.resolve().code | VNCoreCondition.code Mapping note: [MULTI-INSTANCE] Chẩn đoán ra viện, mã đình chỉ thai và nguyên nhân đình chỉ là BA Condition khác nhau trên cùng một lượt điều trị, không phải ba giá trị của một Condition. Nguyên nhân đình chỉ thai nghén — ghi dạng text hoặc mã ICD-10 chẩn đoán liên quan (VNCoreCondition); trường hợp bất thường/bệnh lý thai nhi tham chiếu danh mục VNFetalSexDisclosureDiseaseVS (căn cứ TT 11/2026/TT-BYT). Bắt buộc khi MA_DINH_CHI_THAI='1' (invariant bhyt-xml11-abortion-fields-required). sourceBundle.entry 0..* as nguyenNhanDinhChiSource -> targetRow.nguyenNhanDinhChi "nguyenNhanDinhChi"; // Target field: TUOI_THAI - Tuổi thai FHIR path: VNCoreProcedure.extension[gestationalAge].valueInteger Mapping note: Tuần tuổi thai thực tế (1–42 tuần). FHIR base không có phần tử tuổi thai trên Procedure nên mã hoá qua extension gestational-age (đã gắn vào VNCoreProcedure từ 0.10.0; thay thế được bằng Observation LOINC 18185-9 khi cần đo lặp). Bắt buộc khi MA_DINH_CHI_THAI='1' (invariant bhyt-xml11-abortion-fields-required). sourceBundle.entry 0..* as tuoiThaiSource -> targetRow.tuoiThai "tuoiThai"; // Target field: SO_NGAY_NGHI - Số ngày nghỉ FHIR path: Derived from VNCoreDocumentReference.context.period | VNCoreComposition.event.period sourceBundle.entry 0..* as soNgayNghiSource -> targetRow.soNgayNghi "soNgayNghi"; // Target field: TU_NGAY - Từ ngày FHIR path: VNCoreDocumentReference.context.period.start sourceBundle.entry 0..* as tuNgaySource -> targetRow.tuNgay "tuNgay"; // Target field: DEN_NGAY - Đến ngày FHIR path: VNCoreDocumentReference.context.period.end sourceBundle.entry 0..* as denNgaySource -> targetRow.denNgay "denNgay"; // Target field: HO_TEN_CHA - Họ tên cha FHIR path: VNCoreRelatedPerson.where(relationship.coding.code='FTH').name.text | VNCorePatient.contact.where(relationship.coding.code='FTH').name.text sourceBundle.entry 0..* as hoTenChaSource -> targetRow.hoTenCha "hoTenCha"; // Target field: HO_TEN_ME - Họ tên mẹ FHIR path: VNCoreRelatedPerson.where(relationship.coding.code='MTH').name.text | VNCorePatient.contact.where(relationship.coding.code='MTH').name.text sourceBundle.entry 0..* as hoTenMeSource -> targetRow.hoTenMe "hoTenMe"; // Target field: MA_TTDV - Mã thủ trưởng đơn vị/người ký FHIR path: VNCoreComposition.attester.party.resolve().identifier.value | VNCoreDocumentReference.authenticator.resolve().identifier.value sourceBundle.entry 0..* as maTtdvSource -> targetRow.maTtdv "maTtdv"; // Target field: MA_BS - Mã bác sĩ FHIR path: VNCoreComposition.author.resolve().identifier.value | VNCorePractitioner.identifier.value sourceBundle.entry 0..* as maBsSource -> targetRow.maBs "maBs"; // Target field: NGAY_CT - Ngày cấp chứng từ FHIR path: VNCoreDocumentReference.date | VNCoreComposition.date sourceBundle.entry 0..* as ngayCtSource -> targetRow.ngayCt "ngayCt"; // Target field: MA_THE_TAM - Mã thẻ tạm FHIR path: VNCoreCoverage.identifier.value Mapping note: Temporary card identifiers are kept as Coverage.identifier until a dedicated temporary-card slice is profiled. sourceBundle.entry 0..* as maTheTamSource -> targetRow.maTheTam "maTheTam"; // Target field: MAU_SO - Mẫu số (mã biểu mẫu giấy tờ) FHIR path: VNCoreDocumentReference.type.coding.code | VNCoreComposition.type.coding.code Mapping note: MAU_SO là MÃ BIỂU MẪU GIẤY TỜ (document form code), KHÔNG phải mẫu số thẻ BHYT. Mã hoá theo VNDocumentFormCS (http://fhir.hl7.org.vn/core/CodeSystem/vn-document-form-cs). Theo QĐ 3176/QĐ-BYT, cơ sở KBCB dùng chuỗi CT07 (VNDocumentFormCS#CT07) để xác định Giấy chứng nhận nghỉ việc hưởng BHXH; nếu để trống thì hệ thống tự điền CT07 (giá trị mặc định). sourceBundle.entry 0..* as mauSoSource -> targetRow.mauSo "mauSo"; }