HL7 Vietnam VN Core FHIR Implementation Guide

Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.8.0 - Draft for Community Review Viet Nam cờ

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

StructureMap: Bảng 8 tóm tắt hồ sơ bệnh án — XML8 Treatment Summary Logical Model — StructureMap

URL chính thức: http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml8-treatment-summary Phiên bản: 0.8.0
Computable Name: BHYTXML8TreatmentSummaryLMStructureMap
Định danh khác: OID:2.25.161089673617632664299011809196868855799.43.11

Generated StructureMap scaffold for Bảng 8 tóm tắt hồ sơ bệnh án — XML8 Treatment Summary Logical Model. Source semantics come from the logical model mapping annotations in BHYTXML8TreatmentSummaryLM.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-xml8-treatment-summary" = "BHYTXML8TreatmentSummaryLMStructureMap"

// Generated StructureMap scaffold for Bảng 8 tóm tắt hồ sơ bệnh án — XML8 Treatment Summary Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML8TreatmentSummaryLM.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 8 tóm tắt hồ sơ bệnh án — XML8 Treatment Summary Logical Model
uses "http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml8TreatmentSummaryLm" alias BHYTXML8TreatmentSummaryLM as target

// Rows are derived from treatment summary Composition/DocumentReference and the linked Encounter, Condition, Patient and 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 MapBHYTXML8TreatmentSummaryLM(source sourceBundle : BHYTSubmissionBundle, target targetRow : BHYTXML8TreatmentSummaryLM) {
  // 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: MA_LOAI_KCB - Mã loại KCB FHIR path: VNCoreEncounter.type
  sourceBundle.entry 0..* as maLoaiKcbSource -> targetRow.maLoaiKcb "maLoaiKcb";
  // 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: NGUOI_GIAM_HO - Người giám hộ FHIR path: VNCoreRelatedPerson.where(relationship.coding.code='GUARD').name.text | VNCorePatient.contact.name.text
  sourceBundle.entry 0..* as nguoiGiamHoSource -> targetRow.nguoiGiamHo "nguoiGiamHo";
  // Target field: DON_VI - Đơn vị FHIR path: VNCoreOrganization.name | VNCoreDocumentReference.custodian.resolve().name
  sourceBundle.entry 0..* as donViSource -> targetRow.donVi "donVi";
  // Target field: NGAY_VAO - Ngày vào FHIR path: VNCoreEncounter.period.start
  sourceBundle.entry 0..* as ngayVaoSource -> targetRow.ngayVao "ngayVao";
  // Target field: NGAY_RA - Ngày ra FHIR path: VNCoreEncounter.period.end
  sourceBundle.entry 0..* as ngayRaSource -> targetRow.ngayRa "ngayRa";
  // Target field: CHAN_DOAN_VAO - Chẩn đoán vào FHIR path: VNCoreEncounter.reasonCode | VNCoreComposition.section[chiefComplaint|history].text
  sourceBundle.entry 0..* as chanDoanVaoSource -> targetRow.chanDoanVao "chanDoanVao";
  // Target field: CHAN_DOAN_RV - Chẩn đoán ra viện FHIR path: VNCoreCondition.code | VNCoreComposition.section[diagnosis].entry.resolve().code | section.text
  sourceBundle.entry 0..* as chanDoanRvSource -> targetRow.chanDoanRv "chanDoanRv";
  // Target field: QT_BENHLY - Quá trình bệnh lý và diễn biến lâm sàng FHIR path: VNCoreClinicalImpression.summary | VNCoreClinicalImpression.description | VNCoreComposition.section[history].text
  sourceBundle.entry 0..* as qtBenhlySource -> targetRow.qtBenhly "qtBenhly";
  // Target field: TOMTAT_KQ - Tóm tắt kết quả xét nghiệm cận lâm sàng có giá trị chẩn đoán FHIR path: VNCoreDiagnosticReport.conclusion | VNCoreComposition.section[labResults].text
  sourceBundle.entry 0..* as tomtatKqSource -> targetRow.tomtatKq "tomtatKq";
  // Target field: PP_DIEUTRI - Phương pháp điều trị (nội khoa, ngoại khoa, xạ trị, hoá trị hoặc xạ trị + nội khoa) FHIR path: VNCoreProcedure.code | VNCoreComposition.section[procedures].text Mapping note: QĐ 4750/QĐ-BYT sửa toàn bộ diễn giải: ghi phương pháp điều trị theo danh mục nội khoa/ngoại khoa/xạ trị/hoá trị/xạ trị + nội khoa. Chưa siết mã hoá — dùng Procedure.code hoặc narrative; cân nhắc future phương-pháp-điều-trị category extension.
  sourceBundle.entry 0..* as ppDieuTriSource -> targetRow.ppDieuTri "ppDieuTri";
  // Target field: NGAY_SINHCON - Ngày sinh con FHIR path: VNCorePatient.birthDate | VNCoreComposition.section[delivery].entry.resolve().birthDate
  sourceBundle.entry 0..* as ngaySinhConSource -> targetRow.ngaySinhCon "ngaySinhCon";
  // Target field: NGAY_CONCHET - Ngày con chết FHIR path: VNCoreObservation.effectiveDateTime | VNCoreCondition.onsetDateTime
  sourceBundle.entry 0..* as ngayConChetSource -> targetRow.ngayConChet "ngayConChet";
  // Target field: SO_CONCHET - Số con chết FHIR path: VNCoreObservation.valueQuantity
  sourceBundle.entry 0..* as soConChetSource -> targetRow.soConChet "soConChet";
  // Target field: KET_QUA_DTRI - Kết quả điều trị FHIR path: VNCoreEncounter.hospitalization.dischargeDisposition | VNCoreEncounter.extension[treatmentOutcome].valueCodeableConcept
  sourceBundle.entry 0..* as ketQuaDtriSource -> targetRow.ketQuaDtri "ketQuaDtri";
  // Target field: GHI_CHU - Ghi chú (họ tên cha/mẹ/người giám hộ cho trường hợp đặc biệt) FHIR path: VNCoreComposition.section.text | VNCoreDocumentReference.description Mapping note: Chỉ áp dụng cho người mất hoặc bị hạn chế năng lực hành vi dân sự hoặc trẻ em dưới 16 tuổi — ghi đầy đủ họ tên cha/mẹ/người giám hộ theo Phụ lục 4 TT 18/2022/TT-BYT (tham chiếu hoTenCha/hoTenMe/nguoiGiamHo).
  sourceBundle.entry 0..* as ghiChuSource -> targetRow.ghiChu "ghiChu";
  // 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: 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";
}