Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.8.0 - Draft for Community Review
Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam - Draft for Community Review (v0.8.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-xml12-medical-assessment | Phiên bản: 0.8.0 | ||||
| Computable Name: BHYTXML12MedicalAssessmentLMStructureMap | |||||
| Định danh khác: OID:2.25.161089673617632664299011809196868855799.43.4 | |||||
Generated StructureMap scaffold for Bảng 12 giám định y khoa — XML12 Medical Assessment Logical Model. Source semantics come from the logical model mapping annotations in BHYTXML12MedicalAssessmentLM.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-xml12-medical-assessment" = "BHYTXML12MedicalAssessmentLMStructureMap" // Generated StructureMap scaffold for Bảng 12 giám định y khoa — XML12 Medical Assessment Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML12MedicalAssessmentLM.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 12 giám định y khoa — XML12 Medical Assessment Logical Model uses "http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml12MedicalAssessmentLm" alias BHYTXML12MedicalAssessmentLM as target // Rows are derived from medical-assessment Composition/DocumentReference, Patient/Coverage identity data and structured assessment Observations. 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 MapBHYTXML12MedicalAssessmentLM(source sourceBundle : BHYTSubmissionBundle, target targetRow : BHYTXML12MedicalAssessmentLM) { // Target field: NGUOI_CHU_TRI - Người chủ trì FHIR path: VNCoreComposition.author.resolve().identifier.value | VNCorePractitioner.identifier.value sourceBundle.entry 0..* as nguoiChuTriSource -> targetRow.nguoiChuTri "nguoiChuTri"; // Target field: CHUC_VU - Chức vụ FHIR path: VNCorePractitionerRole.code | VNCorePractitioner.qualification.code sourceBundle.entry 0..* as chucVuSource -> targetRow.chucVu "chucVu"; // Target field: NGAY_HOP - Ngày họp FHIR path: VNCoreComposition.event.period.start | VNCoreDocumentReference.context.period.start sourceBundle.entry 0..* as ngayHopSource -> targetRow.ngayHop "ngayHop"; // Target field: HO_TEN - Họ tên người được giám định FHIR path: VNCorePatient.name sourceBundle.entry 0..* as hoTenSource -> targetRow.hoTen "hoTen"; // Target field: NGAY_SINH - Ngày sinh FHIR path: VNCorePatient.birthDate sourceBundle.entry 0..* as ngaySinhSource -> targetRow.ngaySinh "ngaySinh"; // Target field: SO_CCCD - Số CCCD/số định danh cá nhân/hộ chiếu/giấy khai sinh của người được giám định FHIR path: VNCorePatient.identifier[CCCD].value | VNCorePatient.identifier[HC].value | VNCorePatient.identifier[GKS].value Mapping note: Copy pattern XML15: ghi số định danh cá nhân trên thẻ căn cước/CCCD/giấy chứng nhận căn cước/giấy khai sinh; người nước ngoài ghi số hộ chiếu (identifier[HC]); trẻ sơ sinh dùng 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). Sửa đổi toàn bộ diễn giải, đổi kiểu chuỗi và kích thước tối đa n theo QĐ 4750/QĐ-BYT (trong chuẩn QĐ 3176/QĐ-BYT). sourceBundle.entry 0..* as soCccdSource -> targetRow.soCccd "soCccd"; // Target field: NGAY_CAP_CCCD - Ngày cấp CCCD FHIR path: VNCorePatient.identifier[CCCD].period.start sourceBundle.entry 0..* as ngayCapCccdSource -> targetRow.ngayCapCccd "ngayCapCccd"; // Target field: NOI_CAP_CCCD - Nơi cấp CCCD FHIR path: VNCorePatient.identifier[CCCD].assigner.display sourceBundle.entry 0..* as noiCapCccdSource -> targetRow.noiCapCccd "noiCapCccd"; // Target field: DIA_CHI - Địa chỉ FHIR path: VNCorePatient.address.text sourceBundle.entry 0..* as diaChiSource -> targetRow.diaChi "diaChi"; // Target field: MATINH_CU_TRU - Mã tỉnh cư trú FHIR path: VNCorePatient.address.extension[province].valueCoding.code sourceBundle.entry 0..* as maTinhCuTruSource -> targetRow.maTinhCuTru "maTinhCuTru"; // Target field: MAHUYEN_CU_TRU - Mã huyện cư trú legacy FHIR path: VNCorePatient.address.district sourceBundle.entry 0..* as maHuyenCuTruSource -> targetRow.maHuyenCuTru "maHuyenCuTru"; // Target field: MAXA_CU_TRU - Mã xã cư trú FHIR path: VNCorePatient.address.extension[ward].valueCoding.code sourceBundle.entry 0..* as maXaCuTruSource -> targetRow.maXaCuTru "maXaCuTru"; // 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: NGHE_NGHIEP - Nghề nghiệp FHIR path: VNCorePatient.extension[occupation].valueCodeableConcept.coding.code sourceBundle.entry 0..* as ngheNghiepSource -> targetRow.ngheNghiep "ngheNghiep"; // Target field: DIEN_THOAI - Điện thoại FHIR path: VNCorePatient.telecom.where(system='phone').value sourceBundle.entry 0..* as dienThoaiSource -> targetRow.dienThoai "dienThoai"; // Target field: MA_DOI_TUONG - Mã đối tượng FHIR path: VNCoreServiceRequest.reasonCode | future giám-định đối-tượng (MA_DOI_TUONG) category extension Mapping note: Mã đối tượng giám định y khoa. Danh mục mã: BB=Bệnh binh; BHXH1L=Hưởng BHXH 1 lần; BNN=Bệnh nghề nghiệp; CĐHH=Chất độc hóa học; KNLĐH=Nghỉ hưu trước tuổi; KNLĐT=Tuất; NKT=Người khuyết tật; NVQS=Khám tuyển nghĩa vụ quân sự; TB=Thương binh; TH=Giám định tổng hợp; TNLĐ=Tai nạn lao động. Một đối tượng có từ 2 mã trở lên thì liệt kê các mã, phân cách bằng dấu chấm phẩy. Chưa có code system mã đối tượng giám định nên đích mã hoá để future theo QĐ 3176/QĐ-BYT. sourceBundle.entry 0..* as maDoiTuongSource -> targetRow.maDoiTuong "maDoiTuong"; // Target field: KHAM_GIAM_DINH - Khám giám định FHIR path: VNCoreClinicalImpression | future loại-khám-giám-định (KHAM_GIAM_DINH) code extension Mapping note: Danh mục mã loại khám giám định: 1=Khám giám định lần đầu; 2=Khám giám định lại; 3=Khám giám định tái phát; 4=Khám phúc quyết (vượt khả năng chuyên môn/đối tượng không đồng ý/theo đề nghị của Cục QLKCB, Cục Người có công, BHXH); 5=Khám phúc quyết lần cuối; 6=Khám bổ sung; 7=Khám vết thương còn sót; 8=Giám định tổng hợp. Chưa có code system riêng nên đích mã hoá để future theo QĐ 3176/QĐ-BYT. sourceBundle.entry 0..* as khamGiamDinhSource -> targetRow.khamGiamDinh "khamGiamDinh"; // Target field: SO_BIEN_BAN - Số biên bản FHIR path: VNCoreDocumentReference.identifier.value | VNCoreComposition.identifier.value sourceBundle.entry 0..* as soBienBanSource -> targetRow.soBienBan "soBienBan"; // Target field: TYLE_TTCT_CU - Tỷ lệ tổn thương cơ thể cũ FHIR path: VNCoreObservation.valueQuantity sourceBundle.entry 0..* as tyleTtctCuSource -> targetRow.tyleTtctCu "tyleTtctCu"; // Target field: DANG_HUONG_CHE_DO - Đang hưởng chế độ FHIR path: VNCoreClinicalImpression | future đang-hưởng-chế-độ (DANG_HUONG_CHE_DO) extension Mapping note: QĐ 4750/QĐ-BYT sửa đổi: đổi kiểu chuỗi, tăng kích thước tối đa lên 10. Danh mục mã chế độ đang hưởng: 1=Thương binh; 2=Bệnh, tật; 3=Bệnh nghề nghiệp; 4=Tai nạn lao động; 5=Chất độc hoá học; 6=Bệnh binh; 7=Khác. Đang hưởng cùng lúc nhiều chế độ thì ghi các mã, phân cách bằng dấu chấm phẩy; để trống nếu không thuộc chế độ nêu trên. Chưa có code system riêng nên đích mã hoá để future theo QĐ 3176/QĐ-BYT. sourceBundle.entry 0..* as dangHuongCheDoSource -> targetRow.dangHuongCheDo "dangHuongCheDo"; // Target field: NGAY_CHUNG_TU - Ngày chứng từ FHIR path: VNCoreDocumentReference.date | VNCoreComposition.date sourceBundle.entry 0..* as ngayChungTuSource -> targetRow.ngayChungTu "ngayChungTu"; // Target field: SO_GIAY_GIOI_THIEU - Số giấy giới thiệu FHIR path: VNCoreDocumentReference.relatesTo.target.identifier.value | VNCoreDocumentReference.identifier.value sourceBundle.entry 0..* as soGiayGioiThieuSource -> targetRow.soGiayGioiThieu "soGiayGioiThieu"; // Target field: NGAY_DE_NGHI - Ngày đề nghị FHIR path: VNCoreServiceRequest.authoredOn | VNCoreDocumentReference.context.period.start sourceBundle.entry 0..* as ngayDeNghiSource -> targetRow.ngayDeNghi "ngayDeNghi"; // Target field: MA_DONVI - Mã đơn vị FHIR path: VNCoreOrganization.identifier.value | VNCoreDocumentReference.custodian.resolve().identifier.value sourceBundle.entry 0..* as maDonviSource -> targetRow.maDonvi "maDonvi"; // Target field: GIOI_THIEU_CUA - Giới thiệu của FHIR path: VNCoreDocumentReference.relatesTo.target.display | VNCoreServiceRequest.requester.display sourceBundle.entry 0..* as gioiThieuCuaSource -> targetRow.gioiThieuCua "gioiThieuCua"; // Target field: KET_QUA_KHAM - Kết quả khám của Hội đồng giám định y khoa FHIR path: VNCoreClinicalImpression.summary | VNCoreDiagnosticReport.conclusion Mapping note: Kết quả khám của Hội đồng Giám định y khoa, thể hiện trong Biên bản giám định y khoa. Kiểu chuỗi kích thước n theo QĐ 3176/QĐ-BYT. sourceBundle.entry 0..* as ketQuaKhamSource -> targetRow.ketQuaKham "ketQuaKham"; // Target field: SO_VAN_BAN_CAN_CU - Số văn bản căn cứ FHIR path: VNCoreDocumentReference.identifier.value | VNCoreComposition.identifier.value sourceBundle.entry 0..* as soVanBanCanCuSource -> targetRow.soVanBanCanCu "soVanBanCanCu"; // Target field: TYLE_TTCT_MOI - Tỷ lệ tổn thương cơ thể mới FHIR path: VNCoreObservation.valueQuantity sourceBundle.entry 0..* as tyleTtctMoiSource -> targetRow.tyleTtctMoi "tyleTtctMoi"; // Target field: TONG_TYLE_TTCT - Tổng tỷ lệ tổn thương cơ thể FHIR path: VNCoreObservation.valueQuantity sourceBundle.entry 0..* as tongTyleTtctSource -> targetRow.tongTyleTtct "tongTyleTtct"; // Target field: DANG_KHUYETTAT - Dạng khuyết tật FHIR path: VNCoreClinicalImpression.finding | future dạng-khuyết-tật (DANG_KHUYETTAT) extension Mapping note: Mã dạng khuyết tật theo Mẫu số 01 ban hành kèm TT 01/2019/TT-BLĐTBXH (ngày 02/01/2019): 1=Khuyết tật vận động; 2=Khuyết tật nghe, nói; 3=Khuyết tật nhìn; 4=Khuyết tật thần kinh, tâm thần; 5=Khuyết tật trí tuệ; 6=Khuyết tật khác. Chỉ ghi trong trường hợp khám giám định người khuyết tật. Chưa có code system dạng khuyết tật nên đích mã hoá để future theo QĐ 3176/QĐ-BYT. sourceBundle.entry 0..* as dangKhuyetTatSource -> targetRow.dangKhuyetTat "dangKhuyetTat"; // Target field: MUC_DO_KHUYETTAT - Mức độ khuyết tật FHIR path: VNCoreClinicalImpression.finding | future mức-độ-khuyết-tật (MUC_DO_KHUYETTAT) extension Mapping note: Mã mức độ khuyết tật theo Mẫu số 01 ban hành kèm TT 01/2019/TT-BLĐTBXH (ngày 02/01/2019): 1=Thực hiện được; 2=Thực hiện được nhưng cần trợ giúp; 3=Không thực hiện được; 4=Không xác định được. Chỉ ghi trong trường hợp khám giám định người khuyết tật. Chưa có code system mức độ khuyết tật nên đích mã hoá để future theo QĐ 3176/QĐ-BYT. sourceBundle.entry 0..* as mucDoKhuyetTatSource -> targetRow.mucDoKhuyetTat "mucDoKhuyetTat"; // Target field: DE_NGHI - Nội dung đề nghị của Hội đồng giám định y khoa FHIR path: VNCoreClinicalImpression.summary | VNCoreDiagnosticReport.conclusion Mapping note: Nội dung đề nghị/kết luận của Hội đồng Giám định y khoa. Ánh xạ tới phần biện luận/kết luận tự do; kiểu chuỗi kích thước n theo QĐ 3176/QĐ-BYT. sourceBundle.entry 0..* as deNghiSource -> targetRow.deNghi "deNghi"; // Target field: DUOC_XACDINH - Ghi chú được xác định về nhu cầu người theo dõi, trợ giúp, chăm sóc FHIR path: VNCoreClinicalImpression.summary | future được-xác-định (DUOC_XACDINH) note extension Mapping note: Ghi chú được xác định theo khoản 2 Điều 4 TT 56/2017/TT-BYT: áp dụng cho trường hợp không tự kiểm soát hoặc không tự thực hiện được các hoạt động đi lại, mặc quần áo, vệ sinh cá nhân và những việc khác phục vụ nhu cầu sinh hoạt cá nhân hằng ngày mà cần có người theo dõi, trợ giúp, chăm sóc hoàn toàn. Trường điều kiện; chưa có phần tử chuyên biệt nên đích mã hoá để future extension theo QĐ 3176/QĐ-BYT. sourceBundle.entry 0..* as duocXacDinhSource -> targetRow.duocXacDinh "duocXacDinh"; // Target field: DU_PHONG - Trường dữ liệu dự phòng FHIR path: future dự-phòng (DU_PHONG) extension Mapping note: Trường dữ liệu dự phòng khi cần theo QĐ 3176/QĐ-BYT; diễn giải Bảng 12 không gán mục đích cụ thể (khác Bảng 1 là chiều cao cm và các bảng chữ ký số), nên đích mã hoá để future extension. sourceBundle.entry 0..* as duPhongSource -> targetRow.duPhong "duPhong"; }