# text.div
Generated Narrative: StructureMap vn-sm-bhyt-xml15-tuberculosis

map "http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml15-tuberculosis" = "BHYTXML15TuberculosisLMStructureMap"

// Generated StructureMap scaffold for Bảng 15 quản lý điều trị bệnh lao — XML15 Tuberculosis Treatment Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML15TuberculosisLM.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 15 quản lý điều trị bệnh lao — XML15 Tuberculosis Treatment Logical Model
uses "http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml15TuberculosisLm" alias BHYTXML15TuberculosisLM as target

// Rows are derived from tuberculosis Condition/EpisodeOfCare/CarePlan/MedicationStatement resources, patient identity data and HIV co-infection clinical resources shared with the XML6 HIV/AIDS table. 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 MapBHYTXML15TuberculosisLM(source sourceBundle : BHYTSubmissionBundle, target targetRow : BHYTXML15TuberculosisLM) {
  // Target field: MA_LK - Mã liên kết hồ sơ (khóa chính liên kết Bảng 1) FHIR path: VNCoreClaim.identifier[MALK].value
  sourceBundle.entry 0..* as maLkSource -> targetRow.maLk "maLk";
  // Target field: STT - Số thứ tự dòng FHIR path: Derived export row order for tuberculosis treatment rows
  sourceBundle.entry 0..* as sttSource -> targetRow.stt "stt";
  // Target field: MA_BN - Mã người bệnh tại cơ sở KBCB FHIR path: VNCorePatient.identifier[MRN].value
  sourceBundle.entry 0..* as maBnSource -> targetRow.maBn "maBn";
  // Target field: HO_TEN - Họ tên người bệnh FHIR path: VNCorePatient.name.text
  sourceBundle.entry 0..* as hoTenSource -> targetRow.hoTen "hoTen";
  // Target field: SO_CCCD - Số CCCD/số định danh cá nhân/hộ chiếu/giấy khai sinh FHIR path: VNCorePatient.identifier[CCCD].value | VNCorePatient.identifier[HC].value | VNCorePatient.identifier[GKS].value Mapping note: Người nước ngoài ghi số hộ chiếu (identifier[HC]); để 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).
  sourceBundle.entry 0..* as soCccdSource -> targetRow.soCccd "soCccd";
  // Target field: PHANLOAI_LAO_VITRI - Phân loại lao theo vị trí giải phẫu (1=Lao phổi; 2=Lao ngoài phổi) FHIR path: VNCoreCondition.bodySite | future tuberculosis-site-classification extension
  sourceBundle.entry 0..* as phanLoaiLaoViTriSource -> targetRow.phanLoaiLaoViTri "phanLoaiLaoViTri";
  // Target field: PHANLOAI_LAO_TS - Phân loại lao theo tiền sử điều trị (1=Lao mới; 2=Tái phát; 3=Thất bại; 4=Điều trị lại sau bỏ trị; 5=Điều trị lại khác; 6=Không rõ tiền sử) FHIR path: VNCoreCondition | future tuberculosis-treatment-history-classification extension
  sourceBundle.entry 0..* as phanLoaiLaoTsSource -> targetRow.phanLoaiLaoTs "phanLoaiLaoTs";
  // Target field: PHANLOAI_LAO_HIV - Phân loại lao theo tình trạng nhiễm HIV (1=Lao/HIV(+); 2=Lao/HIV(-); 3=Không rõ tình trạng HIV) FHIR path: VNCoreCondition | future tuberculosis-HIV-status-classification extension
  sourceBundle.entry 0..* as phanLoaiLaoHivSource -> targetRow.phanLoaiLaoHiv "phanLoaiLaoHiv";
  // Target field: PHANLOAI_LAO_VK - Phân loại lao theo bằng chứng vi khuẩn học (1=Có bằng chứng vi khuẩn học; 2=Không có bằng chứng vi khuẩn học) FHIR path: VNCoreCondition | future tuberculosis-bacteriological-evidence extension
  sourceBundle.entry 0..* as phanLoaiLaoVkSource -> targetRow.phanLoaiLaoVk "phanLoaiLaoVk";
  // Target field: PHANLOAI_LAO_KT - Phân loại lao theo tình trạng kháng thuốc (1=Kháng đơn thuốc; 2=Kháng nhiều thuốc; 3=Đa kháng thuốc; 4=Kháng Rifampicin; 5=Tiền siêu kháng; 6=Siêu kháng thuốc) FHIR path: VNCoreCondition | future tuberculosis-drug-resistance-classification extension
  sourceBundle.entry 0..* as phanLoaiLaoKtSource -> targetRow.phanLoaiLaoKt "phanLoaiLaoKt";
  // Target field: LOAI_DTRI_LAO - Loại điều trị lao (0=Không điều trị lao; 1=Điều trị lao tiềm ẩn; 2=Điều trị lao nhạy cảm thuốc; 3=Điều trị lao kháng thuốc) FHIR path: VNCoreEpisodeOfCare.type | VNCoreCarePlan.category
  sourceBundle.entry 0..* as loaiDtriLaoSource -> targetRow.loaiDtriLao "loaiDtriLao";
  // Target field: NGAYBD_DTRI_LAO - Ngày bắt đầu điều trị lao/lao tiềm ẩn tại cơ sở KBCB (yyyymmdd) FHIR path: VNCoreEpisodeOfCare.period.start | VNCoreCarePlan.period.start
  sourceBundle.entry 0..* as ngayBdDtriLaoSource -> targetRow.ngayBdDtriLao "ngayBdDtriLao";
  // Target field: PHACDO_DTRI_LAO - Mã phác đồ điều trị lao (1-8 lao nhạy cảm thuốc; 9-19 lao kháng thuốc; 20-27 lao tiềm ẩn) FHIR path: VNCoreCarePlan.category | VNCoreMedicationStatement.medicationCodeableConcept | future tuberculosis-regimen extension Mapping note: Sửa đổi toàn bộ, danh mục mã mở rộng 1-27 theo QĐ 3176/QĐ-BYT: nhóm A1/A2/A1a/A2a/B1/B2/B2a/cá thể (1-8), nhóm kháng thuốc C1a..E/cá thể khác (9-19), nhóm lao tiềm ẩn 6H/9H..khác (20-27).
  sourceBundle.entry 0..* as phacDoDtriLaoSource -> targetRow.phacDoDtriLao "phacDoDtriLao";
  // Target field: NGAYKT_DTRI_LAO - Ngày kết thúc điều trị lao/lao tiềm ẩn tại cơ sở KBCB (yyyymmdd) FHIR path: VNCoreEpisodeOfCare.period.end | VNCoreCarePlan.period.end Mapping note: Để trống khi chưa kết thúc điều trị.
  sourceBundle.entry 0..* as ngayKtDtriLaoSource -> targetRow.ngayKtDtriLao "ngayKtDtriLao";
  // Target field: KET_QUA_DTRI_LAO - Kết quả điều trị lao (1=Khỏi; 2=Hoàn thành điều trị; 3=Thất bại; 4=Chết; 5=Không theo dõi được (bỏ); 6=Không đánh giá) FHIR path: VNCoreEpisodeOfCare | future tuberculosis-treatment-outcome extension
  sourceBundle.entry 0..* as ketQuaDtriLaoSource -> targetRow.ketQuaDtriLao "ketQuaDtriLao";
  // Target field: MA_CSKCB - Mã cơ sở KBCB nơi người bệnh đến khám, điều trị FHIR path: VNCoreEncounter.serviceProvider.resolve().identifier[CSKCB].value | VNCoreClaim.provider.resolve().identifier[CSKCB].value
  sourceBundle.entry 0..* as maCskcbSource -> targetRow.maCskcb "maCskcb";
  // Target field: NGAYKD_HIV - Ngày khẳng định nhiễm HIV (yyyymmdd) FHIR path: VNCoreCondition.onsetDateTime | Observation.effectiveDateTime Mapping note: Tái dùng map của trường NGAYKD_HIV Bảng 6 (XML6). Để trống trong trường hợp điều trị phơi nhiễm.
  sourceBundle.entry 0..* as ngayKdHivSource -> targetRow.ngayKdHiv "ngayKdHiv";
  // Target field: BDDT_ARV - Ngày đầu tiên người bệnh nhận thuốc ARV (yyyymmdd) FHIR path: VNCoreMedicationStatement.effectiveDateTime | VNCoreMedicationAdministration.effectiveDateTime Mapping note: Thời điểm đầu tiên nhận thuốc ARV theo hồ sơ bệnh án; phân biệt với CTX qua MedicationStatement.medicationCodeableConcept (ARV).
  sourceBundle.entry 0..* as bddtArvSource -> targetRow.bddtArv "bddtArv";
  // Target field: NGAY_BAT_DAU_DT_CTX - Ngày bắt đầu điều trị Cotrimoxazol (CTX) (yyyymmdd) FHIR path: VNCoreMedicationStatement.effectiveDateTime | VNCoreMedicationAdministration.effectiveDateTime Mapping note: Thời điểm bắt đầu điều trị dự phòng Cotrimoxazol; phân biệt với ARV qua MedicationStatement.medicationCodeableConcept (Cotrimoxazole).
  sourceBundle.entry 0..* as ngayBatDauDtCtxSource -> targetRow.ngayBatDauDtCtx "ngayBatDauDtCtx";
  // Target field: DU_PHONG - Trường dự phòng (bổ sung: dữ liệu chữ ký số của cơ sở KBCB) FHIR path: VNCoreProvenance.signature.data Mapping note: Theo bản sửa đổi QĐ 3176/QĐ-BYT, trường dự phòng nay dùng để ghi dữ liệu chữ ký số của cơ sở KBCB (NĐ 137/2024/NĐ-CP).
  sourceBundle.entry 0..* as duPhongSource -> targetRow.duPhong "duPhong";
}

# title
Bảng 15 quản lý điều trị bệnh lao — XML15 Tuberculosis Treatment Logical Model — StructureMap

# publisher
Omi HealthTech / VN Core FHIR Community Initiative

# contact[].name
Omi HealthTech / VN Core FHIR Community Initiative

# description
Generated StructureMap scaffold for Bảng 15 quản lý điều trị bệnh lao — XML15 Tuberculosis Treatment Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML15TuberculosisLM.fsh` and remain aligned with the Python BHYT round-trip export adapter.

# purpose
Publish canonical, reviewable FHIR-to-BHYT XML mapping artifacts for XML1-XML15 without duplicating field-level mapping semantics across FSH, wiki, and export code.

# structure[].documentation
FHIR-native source bundle profile used by the repository round-trip adapter.

# structure[].documentation
Bảng 15 quản lý điều trị bệnh lao — XML15 Tuberculosis Treatment Logical Model

# group[].documentation
Rows are derived from tuberculosis Condition/EpisodeOfCare/CarePlan/MedicationStatement resources, patient identity data and HIV co-infection clinical resources shared with the XML6 HIV/AIDS table. 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[].input[].documentation
Bảng 15 quản lý điều trị bệnh lao — XML15 Tuberculosis Treatment Logical Model

# group[].rule[].documentation
Target field: MA_LK - Mã liên kết hồ sơ (khóa chính liên kết Bảng 1) FHIR path: VNCoreClaim.identifier[MALK].value

# group[].rule[].documentation
Target field: STT - Số thứ tự dòng FHIR path: Derived export row order for tuberculosis treatment rows

# group[].rule[].documentation
Target field: MA_BN - Mã người bệnh tại cơ sở KBCB FHIR path: VNCorePatient.identifier[MRN].value

# group[].rule[].documentation
Target field: HO_TEN - Họ tên người bệnh FHIR path: VNCorePatient.name.text

# group[].rule[].documentation
Target field: SO_CCCD - Số CCCD/số định danh cá nhân/hộ chiếu/giấy khai sinh FHIR path: VNCorePatient.identifier[CCCD].value | VNCorePatient.identifier[HC].value | VNCorePatient.identifier[GKS].value Mapping note: Người nước ngoài ghi số hộ chiếu (identifier[HC]); để 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).

# group[].rule[].documentation
Target field: PHANLOAI_LAO_VITRI - Phân loại lao theo vị trí giải phẫu (1=Lao phổi; 2=Lao ngoài phổi) FHIR path: VNCoreCondition.bodySite | future tuberculosis-site-classification extension

# group[].rule[].documentation
Target field: PHANLOAI_LAO_TS - Phân loại lao theo tiền sử điều trị (1=Lao mới; 2=Tái phát; 3=Thất bại; 4=Điều trị lại sau bỏ trị; 5=Điều trị lại khác; 6=Không rõ tiền sử) FHIR path: VNCoreCondition | future tuberculosis-treatment-history-classification extension

# group[].rule[].documentation
Target field: PHANLOAI_LAO_HIV - Phân loại lao theo tình trạng nhiễm HIV (1=Lao/HIV(+); 2=Lao/HIV(-); 3=Không rõ tình trạng HIV) FHIR path: VNCoreCondition | future tuberculosis-HIV-status-classification extension

# group[].rule[].documentation
Target field: PHANLOAI_LAO_VK - Phân loại lao theo bằng chứng vi khuẩn học (1=Có bằng chứng vi khuẩn học; 2=Không có bằng chứng vi khuẩn học) FHIR path: VNCoreCondition | future tuberculosis-bacteriological-evidence extension

# group[].rule[].documentation
Target field: PHANLOAI_LAO_KT - Phân loại lao theo tình trạng kháng thuốc (1=Kháng đơn thuốc; 2=Kháng nhiều thuốc; 3=Đa kháng thuốc; 4=Kháng Rifampicin; 5=Tiền siêu kháng; 6=Siêu kháng thuốc) FHIR path: VNCoreCondition | future tuberculosis-drug-resistance-classification extension

# group[].rule[].documentation
Target field: LOAI_DTRI_LAO - Loại điều trị lao (0=Không điều trị lao; 1=Điều trị lao tiềm ẩn; 2=Điều trị lao nhạy cảm thuốc; 3=Điều trị lao kháng thuốc) FHIR path: VNCoreEpisodeOfCare.type | VNCoreCarePlan.category

# group[].rule[].documentation
Target field: NGAYBD_DTRI_LAO - Ngày bắt đầu điều trị lao/lao tiềm ẩn tại cơ sở KBCB (yyyymmdd) FHIR path: VNCoreEpisodeOfCare.period.start | VNCoreCarePlan.period.start

# group[].rule[].documentation
Target field: PHACDO_DTRI_LAO - Mã phác đồ điều trị lao (1-8 lao nhạy cảm thuốc; 9-19 lao kháng thuốc; 20-27 lao tiềm ẩn) FHIR path: VNCoreCarePlan.category | VNCoreMedicationStatement.medicationCodeableConcept | future tuberculosis-regimen extension Mapping note: Sửa đổi toàn bộ, danh mục mã mở rộng 1-27 theo QĐ 3176/QĐ-BYT: nhóm A1/A2/A1a/A2a/B1/B2/B2a/cá thể (1-8), nhóm kháng thuốc C1a..E/cá thể khác (9-19), nhóm lao tiềm ẩn 6H/9H..khác (20-27).

# group[].rule[].documentation
Target field: NGAYKT_DTRI_LAO - Ngày kết thúc điều trị lao/lao tiềm ẩn tại cơ sở KBCB (yyyymmdd) FHIR path: VNCoreEpisodeOfCare.period.end | VNCoreCarePlan.period.end Mapping note: Để trống khi chưa kết thúc điều trị.

# group[].rule[].documentation
Target field: KET_QUA_DTRI_LAO - Kết quả điều trị lao (1=Khỏi; 2=Hoàn thành điều trị; 3=Thất bại; 4=Chết; 5=Không theo dõi được (bỏ); 6=Không đánh giá) FHIR path: VNCoreEpisodeOfCare | future tuberculosis-treatment-outcome extension

# group[].rule[].documentation
Target field: MA_CSKCB - Mã cơ sở KBCB nơi người bệnh đến khám, điều trị FHIR path: VNCoreEncounter.serviceProvider.resolve().identifier[CSKCB].value | VNCoreClaim.provider.resolve().identifier[CSKCB].value

# group[].rule[].documentation
Target field: NGAYKD_HIV - Ngày khẳng định nhiễm HIV (yyyymmdd) FHIR path: VNCoreCondition.onsetDateTime | Observation.effectiveDateTime Mapping note: Tái dùng map của trường NGAYKD_HIV Bảng 6 (XML6). Để trống trong trường hợp điều trị phơi nhiễm.

# group[].rule[].documentation
Target field: BDDT_ARV - Ngày đầu tiên người bệnh nhận thuốc ARV (yyyymmdd) FHIR path: VNCoreMedicationStatement.effectiveDateTime | VNCoreMedicationAdministration.effectiveDateTime Mapping note: Thời điểm đầu tiên nhận thuốc ARV theo hồ sơ bệnh án; phân biệt với CTX qua MedicationStatement.medicationCodeableConcept (ARV).

# group[].rule[].documentation
Target field: NGAY_BAT_DAU_DT_CTX - Ngày bắt đầu điều trị Cotrimoxazol (CTX) (yyyymmdd) FHIR path: VNCoreMedicationStatement.effectiveDateTime | VNCoreMedicationAdministration.effectiveDateTime Mapping note: Thời điểm bắt đầu điều trị dự phòng Cotrimoxazol; phân biệt với ARV qua MedicationStatement.medicationCodeableConcept (Cotrimoxazole).

# group[].rule[].documentation
Target field: DU_PHONG - Trường dự phòng (bổ sung: dữ liệu chữ ký số của cơ sở KBCB) FHIR path: VNCoreProvenance.signature.data Mapping note: Theo bản sửa đổi QĐ 3176/QĐ-BYT, trường dự phòng nay dùng để ghi dữ liệu chữ ký số của cơ sở KBCB (NĐ 137/2024/NĐ-CP).