{
  "resourceType" : "StructureMap",
  "id" : "vn-sm-bhyt-xml14-follow-up-appointment",
  "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-xml14-follow-up-appointment</b></p><a name=\"vn-sm-bhyt-xml14-follow-up-appointment\"> </a><a name=\"hcvn-sm-bhyt-xml14-follow-up-appointment\"> </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-xml14-follow-up-appointment<span style=\"color: navy\">&quot; = &quot;</span>BHYTXML14FollowUpAppointmentLMStructureMap<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 14 giấy hẹn khám lại — XML14 Follow-up Appointment Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML14FollowUpAppointmentLM.fsh` and remain aligned with the Python BHYT round-trip export adapter.</span>\r\n\r\n<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-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>\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Bảng 14 giấy hẹn khám lại — XML14 Follow-up Appointment Logical Model</span>\r\n<b>uses</b><span style=\"color: navy\"> &quot;</span><a href=\"StructureDefinition-bhytXml14FollowUpAppointmentLm.html\" title=\"Bảng 14 giấy hẹn khám lại — XML14 Follow-up Appointment Logical Model\">http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml14FollowUpAppointmentLm</a><span style=\"color: navy\">&quot; </span><b>alias </b>BHYTXML14FollowUpAppointmentLM <b>as </b><b>target</b>\r\n\r\n<span style=\"color: navy\">// </span><span style=\"color: green\">Rows derive from the follow-up appointment ServiceRequest/DocumentReference (giấy hẹn khám lại), the linked Encounter, Patient/Coverage identity data, diagnosis Conditions and the ordering/signing Practitioner. 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>MapBHYTXML14FollowUpAppointmentLM<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>BHYTXML14FollowUpAppointmentLM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {\r\n</span>  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_LK - Mã liên kết hồ sơ, PRIMARY KEY liên kết Bảng 1 và các bảng khác trong một lần KCB FHIR path: VNCoreClaim.identifier[MALK].value</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<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>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: SO_GIAYHEN_KL - Số giấy hẹn khám lại do cơ sở KBCB cấp theo mẫu số 5 Phụ lục NĐ 75/2023/NĐ-CP FHIR path: VNCoreServiceRequest.identifier.value | VNCoreDocumentReference.identifier.value</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">soGiayhenKlSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.soGiayhenKl <i>&quot;soGiayhenKl&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_CSKCB - Mã cơ sở KBCB nơi cấp giấy hẹn khám lại FHIR path: VNCoreServiceRequest.requester.resolve().identifier[CSKCB].value | VNCoreOrganization.identifier[CSKCB].value</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<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>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: HO_TEN - Họ và tên người bệnh được cấp giấy hẹn khám lại FHIR path: VNCorePatient.name.text</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">hoTenSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.hoTen <i>&quot;hoTen&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAY_SINH - Ngày sinh (ghi theo trường NGAY_SINH Bảng 1) FHIR path: VNCorePatient.birthDate</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<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>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: GIOI_TINH - Giới tính (ghi theo trường GIOI_TINH Bảng 1) FHIR path: VNCorePatient.gender</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<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>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: DIA_CHI - Địa chỉ (ghi theo trường DIA_CHI Bảng 1) FHIR path: VNCorePatient.address.text</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<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>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_THE_BHYT - Mã thẻ BHYT (ghi theo trường MA_THE_BHYT Bảng 1) FHIR path: VNCoreCoverage.identifier[BHYT].value</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<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>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: GT_THE_DEN - Giá trị thẻ đến ngày (ghi theo trường GT_THE_DEN Bảng 1) FHIR path: VNCoreCoverage.period.end</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">gtTheDenSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.gtTheDen <i>&quot;gtTheDen&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAY_VAO - Ngày vào theo định dạng yyyyMMddHHmm (ghi theo trường NGAY_VAO Bảng 1) FHIR path: VNCoreEncounter.period.start | VNCoreClaim.created</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">ngayVaoSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.ngayVao <i>&quot;ngayVao&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAY_VAO_NOI_TRU - Ngày vào nội trú (ghi theo trường NGAY_VAO_NOI_TRU Bảng 1) FHIR path: VNCoreEncounter.hospitalization | future admission instant extension</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">ngayVaoNoiTruSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.ngayVaoNoiTru <i>&quot;ngayVaoNoiTru&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAY_RA - Ngày ra theo định dạng yyyyMMddHHmm (ghi theo trường NGAY_RA Bảng 1) FHIR path: VNCoreEncounter.period.end | VNCoreClaim.created</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">ngayRaSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.ngayRa <i>&quot;ngayRa&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAY_HEN_KL - Thời điểm người bệnh được hẹn khám lại, định dạng yyyymmdd (08 ký tự) FHIR path: VNCoreServiceRequest.occurrenceDateTime | Appointment.start Mapping note: QĐ 3176/QĐ-BYT sửa toàn bộ diễn giải: định dạng còn 08 ký tự yyyymmdd (bỏ giờ phút), thay cho 12 ký tự yyyymmddHHMM theo QĐ 4750/QĐ-BYT cũ. IG chưa có VNCoreAppointment; Appointment.start chỉ là đích tương lai.</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">ngayHenKlSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.ngayHenKl <i>&quot;ngayHenKl&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: CHAN_DOAN_RV - Chẩn đoán ra viện (ghi theo trường CHAN_DOAN_RV Bảng 1) FHIR path: VNCoreCondition.code.text | VNCoreComposition.section[diagnosis].text</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">chanDoanRvSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.chanDoanRv <i>&quot;chanDoanRv&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_BENH_CHINH - Mã bệnh chính, ICD-10 VN (ghi theo trường MA_BENH_CHINH Bảng 1) FHIR path: VNCoreClaim.diagnosis.where(type='principal').diagnosisCodeableConcept | VNCoreCondition.code</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maBenhChinhSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maBenhChinh <i>&quot;maBenhChinh&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_BENH_KT - Mã bệnh kèm theo (ghi theo trường MA_BENH_KT Bảng 1, cho phép nhiều mã) FHIR path: VNCoreClaim.diagnosis.where(type!='principal').diagnosisCodeableConcept | VNCoreCondition.code</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maBenhKtSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maBenhKt <i>&quot;maBenhKt&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_BENH_YHCT - Mã bệnh y học cổ truyền (ghi theo trường MA_BENH_YHCT Bảng 1) FHIR path: VNCoreClaim.diagnosis.diagnosisCodeableConcept.coding.code | VNCoreConditionDiagnosis.code.coding[yhct].code</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maBenhYhctSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maBenhYhct <i>&quot;maBenhYhct&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_DOITUONG_KCB - Mã đối tượng đến KCB (ghi theo trường MA_DOI_TUONG_KCB Bảng 1) FHIR path: VNCoreClaim.subType Mapping note: Do not map to Coverage.extension[bhytCardType]; đây là phân loại lượt KCB, không phải nhóm thẻ/nhóm người tham gia BHYT.</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maDoituongKcbSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maDoituongKcb <i>&quot;maDoituongKcb&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_BACSI - Mã người hành nghề chỉ định người bệnh khám lại (mã hóa theo số GPHN) FHIR path: VNCorePractitioner.identifier[GPHN].value Mapping note: QĐ 3176/QĐ-BYT đổi căn cứ mã hóa từ CCHN sang GPHN. Trường hợp huy động/điều động chống dịch, thiên tai: mã hóa MA_BAC_SI.HD.XXXXX (XXXXX = mã CSKCB cử người đi; nếu không đăng ký hành nghề thì XXXXX = 2 ký tự mã tỉnh nơi ra quyết định huy động + XXX).</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maBacsiSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maBacsi <i>&quot;maBacsi&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_TTDV - Mã người đứng đầu CSKCB (hoặc người được ủy quyền) ký giấy hẹn khám lại, ưu tiên GPHN FHIR path: VNCorePractitioner.identifier[GPHN].value | VNCorePractitioner.identifier[CCCD].value (fallback khi không có GPHN) Mapping note: QĐ 3176/QĐ-BYT ưu tiên mã hóa theo GPHN; nếu không có GPHN thì ghi số CCCD hoặc số định danh cá nhân của người ký. Đổi kiểu dữ liệu sang chuỗi, tăng kích thước tối đa 255 ký tự (trước đây là mã số BHXH).</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maTtdvSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.maTtdv <i>&quot;maTtdv&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAY_CT - Ngày cấp giấy hẹn khám lại, định dạng yyyymmdd (08 ký tự) FHIR path: VNCoreServiceRequest.authoredOn | VNCoreDocumentReference.date</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">ngayCtSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.ngayCt <i>&quot;ngayCt&quot;</i><span style=\"color: navy\">;</span>\r\n  <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: DU_PHONG - Trường dự phòng; theo QĐ 3176/QĐ-BYT dùng để ghi dữ liệu chữ ký số của cơ sở KBCB FHIR path: VNCoreProvenance.signature.data | future chữ-ký-số dự-phòng</span>\r\n  sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">duPhongSource</span><span style=\"color: navy\"><b> -&gt; </b></span>targetRow.duPhong <i>&quot;duPhong&quot;</i><span style=\"color: navy\">;</span>\r\n<span style=\"color: navy\">}\r\n\r\n</span></pre></div>"
  },
  "extension" : [{
    "url" : "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-legal-basis",
    "valueCoding" : {
      "system" : "http://fhir.hl7.org.vn/core/CodeSystem/vn-legal-document-ref-cs",
      "code" : "QD-3176-2024"
    }
  }],
  "url" : "http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml14-follow-up-appointment",
  "identifier" : [{
    "system" : "urn:ietf:rfc:3986",
    "value" : "urn:oid:2.25.161089673617632664299011809196868855799.43.6"
  }],
  "version" : "0.9.0",
  "name" : "BHYTXML14FollowUpAppointmentLMStructureMap",
  "title" : "Bảng 14 giấy hẹn khám lại — XML14 Follow-up Appointment 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" : "info@hl7.org.vn"
    }]
  }],
  "description" : "Generated StructureMap scaffold for Bảng 14 giấy hẹn khám lại — XML14 Follow-up Appointment Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML14FollowUpAppointmentLM.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-XML15 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/bhytXml14FollowUpAppointmentLm",
    "mode" : "target",
    "alias" : "BHYTXML14FollowUpAppointmentLM",
    "documentation" : "Bảng 14 giấy hẹn khám lại — XML14 Follow-up Appointment Logical Model"
  }],
  "group" : [{
    "name" : "MapBHYTXML14FollowUpAppointmentLM",
    "typeMode" : "none",
    "documentation" : "Rows derive from the follow-up appointment ServiceRequest/DocumentReference (giấy hẹn khám lại), the linked Encounter, Patient/Coverage identity data, diagnosis Conditions and the ordering/signing Practitioner. 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" : "BHYTXML14FollowUpAppointmentLM",
      "mode" : "target",
      "documentation" : "Bảng 14 giấy hẹn khám lại — XML14 Follow-up Appointment 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ơ, PRIMARY KEY liên kết Bảng 1 và các bảng khác trong một lần KCB FHIR path: VNCoreClaim.identifier[MALK].value"
    },
    {
      "name" : "soGiayhenKl",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "soGiayhenKlSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "soGiayhenKl"
      }],
      "documentation" : "Target field: SO_GIAYHEN_KL - Số giấy hẹn khám lại do cơ sở KBCB cấp theo mẫu số 5 Phụ lục NĐ 75/2023/NĐ-CP FHIR path: VNCoreServiceRequest.identifier.value | VNCoreDocumentReference.identifier.value"
    },
    {
      "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ở KBCB nơi cấp giấy hẹn khám lại FHIR path: VNCoreServiceRequest.requester.resolve().identifier[CSKCB].value | VNCoreOrganization.identifier[CSKCB].value"
    },
    {
      "name" : "hoTen",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "hoTenSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "hoTen"
      }],
      "documentation" : "Target field: HO_TEN - Họ và tên người bệnh được cấp giấy hẹn khám lại FHIR path: VNCorePatient.name.text"
    },
    {
      "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 (ghi theo trường NGAY_SINH Bảng 1) 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 (ghi theo trường GIOI_TINH Bảng 1) 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ỉ (ghi theo trường DIA_CHI Bảng 1) FHIR path: VNCorePatient.address.text"
    },
    {
      "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 (ghi theo trường MA_THE_BHYT Bảng 1) FHIR path: VNCoreCoverage.identifier[BHYT].value"
    },
    {
      "name" : "gtTheDen",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "gtTheDenSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "gtTheDen"
      }],
      "documentation" : "Target field: GT_THE_DEN - Giá trị thẻ đến ngày (ghi theo trường GT_THE_DEN Bảng 1) FHIR path: VNCoreCoverage.period.end"
    },
    {
      "name" : "ngayVao",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "ngayVaoSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "ngayVao"
      }],
      "documentation" : "Target field: NGAY_VAO - Ngày vào theo định dạng yyyyMMddHHmm (ghi theo trường NGAY_VAO Bảng 1) FHIR path: VNCoreEncounter.period.start | VNCoreClaim.created"
    },
    {
      "name" : "ngayVaoNoiTru",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "ngayVaoNoiTruSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "ngayVaoNoiTru"
      }],
      "documentation" : "Target field: NGAY_VAO_NOI_TRU - Ngày vào nội trú (ghi theo trường NGAY_VAO_NOI_TRU Bảng 1) FHIR path: VNCoreEncounter.hospitalization | future admission instant extension"
    },
    {
      "name" : "ngayRa",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "ngayRaSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "ngayRa"
      }],
      "documentation" : "Target field: NGAY_RA - Ngày ra theo định dạng yyyyMMddHHmm (ghi theo trường NGAY_RA Bảng 1) FHIR path: VNCoreEncounter.period.end | VNCoreClaim.created"
    },
    {
      "name" : "ngayHenKl",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "ngayHenKlSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "ngayHenKl"
      }],
      "documentation" : "Target field: NGAY_HEN_KL - Thời điểm người bệnh được hẹn khám lại, định dạng yyyymmdd (08 ký tự) FHIR path: VNCoreServiceRequest.occurrenceDateTime | Appointment.start Mapping note: QĐ 3176/QĐ-BYT sửa toàn bộ diễn giải: định dạng còn 08 ký tự yyyymmdd (bỏ giờ phút), thay cho 12 ký tự yyyymmddHHMM theo QĐ 4750/QĐ-BYT cũ. IG chưa có VNCoreAppointment; Appointment.start chỉ là đích tương lai."
    },
    {
      "name" : "chanDoanRv",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "chanDoanRvSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "chanDoanRv"
      }],
      "documentation" : "Target field: CHAN_DOAN_RV - Chẩn đoán ra viện (ghi theo trường CHAN_DOAN_RV Bảng 1) FHIR path: VNCoreCondition.code.text | VNCoreComposition.section[diagnosis].text"
    },
    {
      "name" : "maBenhChinh",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maBenhChinhSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maBenhChinh"
      }],
      "documentation" : "Target field: MA_BENH_CHINH - Mã bệnh chính, ICD-10 VN (ghi theo trường MA_BENH_CHINH Bảng 1) FHIR path: VNCoreClaim.diagnosis.where(type='principal').diagnosisCodeableConcept | VNCoreCondition.code"
    },
    {
      "name" : "maBenhKt",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maBenhKtSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maBenhKt"
      }],
      "documentation" : "Target field: MA_BENH_KT - Mã bệnh kèm theo (ghi theo trường MA_BENH_KT Bảng 1, cho phép nhiều mã) FHIR path: VNCoreClaim.diagnosis.where(type!='principal').diagnosisCodeableConcept | VNCoreCondition.code"
    },
    {
      "name" : "maBenhYhct",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maBenhYhctSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maBenhYhct"
      }],
      "documentation" : "Target field: MA_BENH_YHCT - Mã bệnh y học cổ truyền (ghi theo trường MA_BENH_YHCT Bảng 1) FHIR path: VNCoreClaim.diagnosis.diagnosisCodeableConcept.coding.code | VNCoreConditionDiagnosis.code.coding[yhct].code"
    },
    {
      "name" : "maDoituongKcb",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maDoituongKcbSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maDoituongKcb"
      }],
      "documentation" : "Target field: MA_DOITUONG_KCB - Mã đối tượng đến KCB (ghi theo trường MA_DOI_TUONG_KCB Bảng 1) FHIR path: VNCoreClaim.subType Mapping note: Do not map to Coverage.extension[bhytCardType]; đây là phân loại lượt KCB, không phải nhóm thẻ/nhóm người tham gia BHYT."
    },
    {
      "name" : "maBacsi",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maBacsiSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maBacsi"
      }],
      "documentation" : "Target field: MA_BACSI - Mã người hành nghề chỉ định người bệnh khám lại (mã hóa theo số GPHN) FHIR path: VNCorePractitioner.identifier[GPHN].value Mapping note: QĐ 3176/QĐ-BYT đổi căn cứ mã hóa từ CCHN sang GPHN. Trường hợp huy động/điều động chống dịch, thiên tai: mã hóa MA_BAC_SI.HD.XXXXX (XXXXX = mã CSKCB cử người đi; nếu không đăng ký hành nghề thì XXXXX = 2 ký tự mã tỉnh nơi ra quyết định huy động + XXX)."
    },
    {
      "name" : "maTtdv",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "maTtdvSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "maTtdv"
      }],
      "documentation" : "Target field: MA_TTDV - Mã người đứng đầu CSKCB (hoặc người được ủy quyền) ký giấy hẹn khám lại, ưu tiên GPHN FHIR path: VNCorePractitioner.identifier[GPHN].value | VNCorePractitioner.identifier[CCCD].value (fallback khi không có GPHN) Mapping note: QĐ 3176/QĐ-BYT ưu tiên mã hóa theo GPHN; nếu không có GPHN thì ghi số CCCD hoặc số định danh cá nhân của người ký. Đổi kiểu dữ liệu sang chuỗi, tăng kích thước tối đa 255 ký tự (trước đây là mã số BHXH)."
    },
    {
      "name" : "ngayCt",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "ngayCtSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "ngayCt"
      }],
      "documentation" : "Target field: NGAY_CT - Ngày cấp giấy hẹn khám lại, định dạng yyyymmdd (08 ký tự) FHIR path: VNCoreServiceRequest.authoredOn | VNCoreDocumentReference.date"
    },
    {
      "name" : "duPhong",
      "source" : [{
        "context" : "sourceBundle",
        "min" : 0,
        "max" : "*",
        "element" : "entry",
        "variable" : "duPhongSource"
      }],
      "target" : [{
        "context" : "targetRow",
        "contextType" : "variable",
        "element" : "duPhong"
      }],
      "documentation" : "Target field: DU_PHONG - Trường dự phòng; theo QĐ 3176/QĐ-BYT dùng để ghi dữ liệu chữ ký số của cơ sở KBCB FHIR path: VNCoreProvenance.signature.data | future chữ-ký-số dự-phòng"
    }]
  }]
}