{
  "resourceType" : "StructureMap",
  "id" : "vn-sm-bhyt-xml6-hiv-care",
  "language" : "vi",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap vn-sm-bhyt-xml6-hiv-care</b></p><a name=\"vn-sm-bhyt-xml6-hiv-care\"> </a><a name=\"hcvn-sm-bhyt-xml6-hiv-care\"> </a><pre class=\"fml\">\r\n<b>map</b><span style=\"color: navy\"> &quot;</span>http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml6-hiv-care<span style=\"color: navy\">&quot; = &quot;</span>BHYTXML6HIVCareLMStructureMap<span style=\"color: navy\">&quot;\r\n\r\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Generated StructureMap scaffold for Bảng 6 hồ sơ HIV/AIDS — XML6 HIV/AIDS Care Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML6HIVCareLM.fsh` and remain aligned with the Python BHYT round-trip export adapter.</span>\r\n\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-vn-core-bhyt-submission-bundle.html\" title=\"Bundle hồ sơ thanh toán BHYT — VN Core BHYT Submission Bundle\">http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-bhyt-submission-bundle</a><span style=\"color: navy\">&quot; </span><b>alias </b>BHYTSubmissionBundle <b>as </b><b>source</b> <span style=\"color: navy\">// </span><span style=\"color: green\">FHIR-native source bundle profile used by the repository round-trip adapter.</span>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-bhytXml6HivCareLm.html\" title=\"Bảng 6 hồ sơ HIV/AIDS — XML6 HIV/AIDS Care Logical Model\">http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml6HivCareLm</a><span style=\"color: navy\">&quot; </span><b>alias </b>BHYTXML6HIVCareLM <b>as </b><b>target</b> <span style=\"color: navy\">// </span><span style=\"color: green\">Bảng 6 hồ sơ HIV/AIDS — XML6 HIV/AIDS Care Logical Model</span>\r\n\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Rows are derived from HIV/AIDS/TB clinical resources and supporting documents. This table was previously mis-numbered in draft FSH and must not be confused with discharge documents. 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`.</span>\r\n<b>group </b>MapBHYTXML6HIVCareLM<span style=\"color: navy\">(</span><b>source</b> <span style=\"color: maroon\">sourceBundle</span><span style=\"color: navy\"> : </span>BHYTSubmissionBundle, <b>target</b> <span style=\"color: maroon\">targetRow</span><span style=\"color: navy\"> : </span>BHYTXML6HIVCareLM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  sourceBundle.entry<b> as </b><span style=\"color: maroon\">maLkSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maLk <i>&quot;maLk&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_LK - Mã liên kết hồ sơ FHIR path: VNCoreClaim.identifier[MALK].value</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">sttSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.stt <i>&quot;stt&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: STT - Số thứ tự dòng FHIR path: Derived export row order for HIV care rows</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">maTheBhytSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maTheBhyt <i>&quot;maTheBhyt&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_THE_BHYT - Mã thẻ BHYT FHIR path: VNCoreCoverage.identifier[BHYT].value</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">ngaySinhSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.ngaySinh <i>&quot;ngaySinh&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAY_SINH - Ngày sinh FHIR path: VNCorePatient.birthDate</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">gioiTinhSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.gioiTinh <i>&quot;gioiTinh&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: GIOI_TINH - Giới tính FHIR path: VNCorePatient.gender</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">diaChiSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.diaChi <i>&quot;diaChi&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: DIA_CHI - Địa chỉ cư trú FHIR path: VNCorePatient.address.text</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">maTinhCuTruSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maTinhCuTru <i>&quot;maTinhCuTru&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MATINH_CU_TRU - Mã tỉnh cư trú FHIR path: VNCorePatient.address.extension[province].valueCoding.code</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">maHuyenCuTruSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maHuyenCuTru <i>&quot;maHuyenCuTru&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MAHUYEN_CU_TRU - Mã huyện cư trú legacy FHIR path: VNCorePatient.address.district</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">maXaCuTruSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maXaCuTru <i>&quot;maXaCuTru&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MAXA_CU_TRU - Mã xã cư trú FHIR path: VNCorePatient.address.extension[ward].valueCoding.code</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">ngayKdHivSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.ngayKdHiv <i>&quot;ngayKdHiv&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAYKD_HIV - Ngày khẳng định HIV FHIR path: VNCoreCondition.onsetDateTime | VNCoreObservation.effectiveDateTime Mapping note: The local OHP validator marks NGAYKD_HIV required, but its rule text notes the legal/source exception for exposure prophylaxis. Keep optional until the exception is confirmed in the normative source.</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">lyDoChuyenPhacDoSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.lyDoChuyenPhacDo <i>&quot;lyDoChuyenPhacDo&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: LY_DO_CHUYEN_PHAC_DO - Lý do chuyển phác đồ FHIR path: VNCoreMedicationRequest.reasonCode | VNCoreDocumentReference.category | future HIV workflow extension</span>\r\n  sourceBundle.entry<b> as </b><span style=\"color: maroon\">maCskcbSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maCskcb <i>&quot;maCskcb&quot;</i><span style=\"color: navy\">;</span> <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_CSKCB - Mã cơ sở KCB FHIR path: VNCoreEncounter.serviceProvider.resolve().identifier[CSKCB].value | VNCoreClaim.provider.resolve().identifier[CSKCB].value</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "url" : "http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml6-hiv-care",
  "version" : "0.5.0",
  "name" : "BHYTXML6HIVCareLMStructureMap",
  "title" : "Bảng 6 hồ sơ HIV/AIDS — XML6 HIV/AIDS Care Logical Model — StructureMap",
  "status" : "draft",
  "experimental" : false,
  "date" : "2026-04-28",
  "publisher" : "Omi HealthTech / VN Core FHIR Community Initiative",
  "contact" : [{
    "name" : "Omi HealthTech / VN Core FHIR Community Initiative",
    "telecom" : [{
      "system" : "url",
      "value" : "https://hl7.org.vn"
    },
    {
      "system" : "email",
      "value" : "info@hl7.org.vn"
    }]
  },
  {
    "name" : "Omi HealthTech (OmiGroup)",
    "telecom" : [{
      "system" : "url",
      "value" : "https://omihealthtech.vn"
    },
    {
      "system" : "url",
      "value" : "https://omigroup.vn"
    },
    {
      "system" : "email",
      "value" : "healthtech@omigroup.vn"
    }]
  }],
  "description" : "Generated StructureMap scaffold for Bảng 6 hồ sơ HIV/AIDS — XML6 HIV/AIDS Care Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML6HIVCareLM.fsh` and remain aligned with the Python BHYT round-trip export adapter.",
  "jurisdiction" : [{
    "coding" : [{
      "system" : "urn:iso:std:iso:3166",
      "code" : "VN",
      "display" : "Viet Nam"
    }]
  }],
  "purpose" : "Publish canonical, reviewable FHIR-to-BHYT XML mapping artifacts for XML1-XML12 without duplicating field-level mapping semantics across FSH, wiki, and export code.",
  "structure" : [{
    "url" : "http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-bhyt-submission-bundle",
    "mode" : "source",
    "alias" : "BHYTSubmissionBundle",
    "documentation" : "FHIR-native source bundle profile used by the repository round-trip adapter."
  },
  {
    "url" : "http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml6HivCareLm",
    "mode" : "target",
    "alias" : "BHYTXML6HIVCareLM",
    "documentation" : "Bảng 6 hồ sơ HIV/AIDS — XML6 HIV/AIDS Care Logical Model"
  }],
  "group" : [{
    "name" : "MapBHYTXML6HIVCareLM",
    "typeMode" : "none",
    "documentation" : "Rows are derived from HIV/AIDS/TB clinical resources and supporting documents. This table was previously mis-numbered in draft FSH and must not be confused with discharge documents. 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`.",
    "input" : [{
      "name" : "sourceBundle",
      "type" : "BHYTSubmissionBundle",
      "mode" : "source",
      "documentation" : "VN Core BHYT submission bundle."
    },
    {
      "name" : "targetRow",
      "type" : "BHYTXML6HIVCareLM",
      "mode" : "target",
      "documentation" : "Bảng 6 hồ sơ HIV/AIDS — XML6 HIV/AIDS Care Logical Model"
    }],
    "rule" : [{
      "name" : "maLk",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maLkSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maLk"
      }],
      "documentation" : "Target field: MA_LK - Mã liên kết hồ sơ FHIR path: VNCoreClaim.identifier[MALK].value"
    },
    {
      "name" : "stt",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "sttSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "stt"
      }],
      "documentation" : "Target field: STT - Số thứ tự dòng FHIR path: Derived export row order for HIV care rows"
    },
    {
      "name" : "maTheBhyt",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maTheBhytSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maTheBhyt"
      }],
      "documentation" : "Target field: MA_THE_BHYT - Mã thẻ BHYT FHIR path: VNCoreCoverage.identifier[BHYT].value"
    },
    {
      "name" : "ngaySinh",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "ngaySinhSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "ngaySinh"
      }],
      "documentation" : "Target field: NGAY_SINH - Ngày sinh FHIR path: VNCorePatient.birthDate"
    },
    {
      "name" : "gioiTinh",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "gioiTinhSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "gioiTinh"
      }],
      "documentation" : "Target field: GIOI_TINH - Giới tính FHIR path: VNCorePatient.gender"
    },
    {
      "name" : "diaChi",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "diaChiSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "diaChi"
      }],
      "documentation" : "Target field: DIA_CHI - Địa chỉ cư trú FHIR path: VNCorePatient.address.text"
    },
    {
      "name" : "maTinhCuTru",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maTinhCuTruSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maTinhCuTru"
      }],
      "documentation" : "Target field: MATINH_CU_TRU - Mã tỉnh cư trú FHIR path: VNCorePatient.address.extension[province].valueCoding.code"
    },
    {
      "name" : "maHuyenCuTru",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maHuyenCuTruSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maHuyenCuTru"
      }],
      "documentation" : "Target field: MAHUYEN_CU_TRU - Mã huyện cư trú legacy FHIR path: VNCorePatient.address.district"
    },
    {
      "name" : "maXaCuTru",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maXaCuTruSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maXaCuTru"
      }],
      "documentation" : "Target field: MAXA_CU_TRU - Mã xã cư trú FHIR path: VNCorePatient.address.extension[ward].valueCoding.code"
    },
    {
      "name" : "ngayKdHiv",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "ngayKdHivSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "ngayKdHiv"
      }],
      "documentation" : "Target field: NGAYKD_HIV - Ngày khẳng định HIV FHIR path: VNCoreCondition.onsetDateTime | VNCoreObservation.effectiveDateTime Mapping note: The local OHP validator marks NGAYKD_HIV required, but its rule text notes the legal/source exception for exposure prophylaxis. Keep optional until the exception is confirmed in the normative source."
    },
    {
      "name" : "lyDoChuyenPhacDo",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "lyDoChuyenPhacDoSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "lyDoChuyenPhacDo"
      }],
      "documentation" : "Target field: LY_DO_CHUYEN_PHAC_DO - Lý do chuyển phác đồ FHIR path: VNCoreMedicationRequest.reasonCode | VNCoreDocumentReference.category | future HIV workflow extension"
    },
    {
      "name" : "maCskcb",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maCskcbSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maCskcb"
      }],
      "documentation" : "Target field: MA_CSKCB - Mã cơ sở KCB FHIR path: VNCoreEncounter.serviceProvider.resolve().identifier[CSKCB].value | VNCoreClaim.provider.resolve().identifier[CSKCB].value"
    }]
  }]
}