Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide
0.9.0 - Draft for Community Review
Hướng dẫn triển khai FHIR cốt lõi Việt Nam — VN Core FHIR Implementation Guide - Local Development build (v0.9.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Draft tại thời điểm 2026-04-28 |
<StructureMap xmlns="http://hl7.org/fhir">
<id value="vn-sm-bhyt-xml14-follow-up-appointment"/>
<language value="vi"/>
<text>
<status value="generated"/>
<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">
<b>map</b><span style="color: navy"> "</span>http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml14-follow-up-appointment<span style="color: navy">" = "</span>BHYTXML14FollowUpAppointmentLMStructureMap<span style="color: navy">"
</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>
<span style="color: navy">// </span><span style="color: green">FHIR-native source bundle profile used by the repository round-trip adapter.</span>
<b>uses</b><span style="color: navy"> "</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">" </span><b>alias </b>BHYTSubmissionBundle <b>as </b><b>source</b>
<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>
<b>uses</b><span style="color: navy"> "</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">" </span><b>alias </b>BHYTXML14FollowUpAppointmentLM <b>as </b><b>target</b>
<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>
<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"> {
</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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">maLkSource</span><span style="color: navy"><b> -> </b></span>targetRow.maLk <i>"maLk"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">soGiayhenKlSource</span><span style="color: navy"><b> -> </b></span>targetRow.soGiayhenKl <i>"soGiayhenKl"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">maCskcbSource</span><span style="color: navy"><b> -> </b></span>targetRow.maCskcb <i>"maCskcb"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">hoTenSource</span><span style="color: navy"><b> -> </b></span>targetRow.hoTen <i>"hoTen"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">ngaySinhSource</span><span style="color: navy"><b> -> </b></span>targetRow.ngaySinh <i>"ngaySinh"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">gioiTinhSource</span><span style="color: navy"><b> -> </b></span>targetRow.gioiTinh <i>"gioiTinh"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">diaChiSource</span><span style="color: navy"><b> -> </b></span>targetRow.diaChi <i>"diaChi"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">maTheBhytSource</span><span style="color: navy"><b> -> </b></span>targetRow.maTheBhyt <i>"maTheBhyt"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">gtTheDenSource</span><span style="color: navy"><b> -> </b></span>targetRow.gtTheDen <i>"gtTheDen"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">ngayVaoSource</span><span style="color: navy"><b> -> </b></span>targetRow.ngayVao <i>"ngayVao"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">ngayVaoNoiTruSource</span><span style="color: navy"><b> -> </b></span>targetRow.ngayVaoNoiTru <i>"ngayVaoNoiTru"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">ngayRaSource</span><span style="color: navy"><b> -> </b></span>targetRow.ngayRa <i>"ngayRa"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">ngayHenKlSource</span><span style="color: navy"><b> -> </b></span>targetRow.ngayHenKl <i>"ngayHenKl"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">chanDoanRvSource</span><span style="color: navy"><b> -> </b></span>targetRow.chanDoanRv <i>"chanDoanRv"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">maBenhChinhSource</span><span style="color: navy"><b> -> </b></span>targetRow.maBenhChinh <i>"maBenhChinh"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">maBenhKtSource</span><span style="color: navy"><b> -> </b></span>targetRow.maBenhKt <i>"maBenhKt"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">maBenhYhctSource</span><span style="color: navy"><b> -> </b></span>targetRow.maBenhYhct <i>"maBenhYhct"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">maDoituongKcbSource</span><span style="color: navy"><b> -> </b></span>targetRow.maDoituongKcb <i>"maDoituongKcb"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">maBacsiSource</span><span style="color: navy"><b> -> </b></span>targetRow.maBacsi <i>"maBacsi"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">maTtdvSource</span><span style="color: navy"><b> -> </b></span>targetRow.maTtdv <i>"maTtdv"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">ngayCtSource</span><span style="color: navy"><b> -> </b></span>targetRow.ngayCt <i>"ngayCt"</i><span style="color: navy">;</span>
<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>
sourceBundle.entry 0<span style="color: navy">..</span>*<b> as </b><span style="color: maroon">duPhongSource</span><span style="color: navy"><b> -> </b></span>targetRow.duPhong <i>"duPhong"</i><span style="color: navy">;</span>
<span style="color: navy">}
</span></pre></div>
</text>
<extension
url="http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-legal-basis">
<valueCoding>
<system
value="http://fhir.hl7.org.vn/core/CodeSystem/vn-legal-document-ref-cs"/>
<code value="QD-3176-2024"/>
</valueCoding>
</extension>
<url
value="http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml14-follow-up-appointment"/>
<identifier>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:oid:2.25.161089673617632664299011809196868855799.43.6"/>
</identifier>
<version value="0.9.0"/>
<name value="BHYTXML14FollowUpAppointmentLMStructureMap"/>
<title
value="Bảng 14 giấy hẹn khám lại — XML14 Follow-up Appointment Logical Model — StructureMap"/>
<status value="draft"/>
<experimental value="false"/>
<date value="2026-04-28"/>
<publisher value="Omi HealthTech / VN Core FHIR Community Initiative"/>
<contact>
<name value="Omi HealthTech / VN Core FHIR Community Initiative"/>
<telecom>
<system value="url"/>
<value value="https://hl7.org.vn"/>
</telecom>
<telecom>
<system value="email"/>
<value value="info@hl7.org.vn"/>
</telecom>
</contact>
<contact>
<name value="Omi HealthTech (OmiGroup)"/>
<telecom>
<system value="url"/>
<value value="https://omihealthtech.vn"/>
</telecom>
<telecom>
<system value="url"/>
<value value="https://omigroup.vn"/>
</telecom>
<telecom>
<system value="email"/>
<value value="info@hl7.org.vn"/>
</telecom>
</contact>
<description
value="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 value="urn:iso:std:iso:3166"/>
<code value="VN"/>
<display value="Viet Nam"/>
</coding>
</jurisdiction>
<purpose
value="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
value="http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-bhyt-submission-bundle"/>
<mode value="source"/>
<alias value="BHYTSubmissionBundle"/>
<documentation
value="FHIR-native source bundle profile used by the repository round-trip adapter."/>
</structure>
<structure>
<url
value="http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml14FollowUpAppointmentLm"/>
<mode value="target"/>
<alias value="BHYTXML14FollowUpAppointmentLM"/>
<documentation
value="Bảng 14 giấy hẹn khám lại — XML14 Follow-up Appointment Logical Model"/>
</structure>
<group>
<name value="MapBHYTXML14FollowUpAppointmentLM"/>
<typeMode value="none"/>
<documentation
value="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 value="sourceBundle"/>
<type value="BHYTSubmissionBundle"/>
<mode value="source"/>
<documentation value="VN Core BHYT submission bundle."/>
</input>
<input>
<name value="targetRow"/>
<type value="BHYTXML14FollowUpAppointmentLM"/>
<mode value="target"/>
<documentation
value="Bảng 14 giấy hẹn khám lại — XML14 Follow-up Appointment Logical Model"/>
</input>
<rule>
<name value="maLk"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="maLkSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="maLk"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="soGiayhenKl"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="soGiayhenKlSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="soGiayhenKl"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="maCskcb"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="maCskcbSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="maCskcb"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="hoTen"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="hoTenSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="hoTen"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="ngaySinh"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="ngaySinhSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="ngaySinh"/>
</target>
<documentation
value="Target field: NGAY_SINH - Ngày sinh (ghi theo trường NGAY_SINH Bảng 1) FHIR path: VNCorePatient.birthDate"/>
</rule>
<rule>
<name value="gioiTinh"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="gioiTinhSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="gioiTinh"/>
</target>
<documentation
value="Target field: GIOI_TINH - Giới tính (ghi theo trường GIOI_TINH Bảng 1) FHIR path: VNCorePatient.gender"/>
</rule>
<rule>
<name value="diaChi"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="diaChiSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="diaChi"/>
</target>
<documentation
value="Target field: DIA_CHI - Địa chỉ (ghi theo trường DIA_CHI Bảng 1) FHIR path: VNCorePatient.address.text"/>
</rule>
<rule>
<name value="maTheBhyt"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="maTheBhytSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="maTheBhyt"/>
</target>
<documentation
value="Target field: MA_THE_BHYT - Mã thẻ BHYT (ghi theo trường MA_THE_BHYT Bảng 1) FHIR path: VNCoreCoverage.identifier[BHYT].value"/>
</rule>
<rule>
<name value="gtTheDen"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="gtTheDenSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="gtTheDen"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="ngayVao"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="ngayVaoSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="ngayVao"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="ngayVaoNoiTru"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="ngayVaoNoiTruSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="ngayVaoNoiTru"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="ngayRa"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="ngayRaSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="ngayRa"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="ngayHenKl"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="ngayHenKlSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="ngayHenKl"/>
</target>
<documentation
value="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."/>
</rule>
<rule>
<name value="chanDoanRv"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="chanDoanRvSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="chanDoanRv"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="maBenhChinh"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="maBenhChinhSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="maBenhChinh"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="maBenhKt"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="maBenhKtSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="maBenhKt"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="maBenhYhct"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="maBenhYhctSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="maBenhYhct"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="maDoituongKcb"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="maDoituongKcbSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="maDoituongKcb"/>
</target>
<documentation
value="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."/>
</rule>
<rule>
<name value="maBacsi"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="maBacsiSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="maBacsi"/>
</target>
<documentation
value="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)."/>
</rule>
<rule>
<name value="maTtdv"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="maTtdvSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="maTtdv"/>
</target>
<documentation
value="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)."/>
</rule>
<rule>
<name value="ngayCt"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="ngayCtSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="ngayCt"/>
</target>
<documentation
value="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"/>
</rule>
<rule>
<name value="duPhong"/>
<source>
<context value="sourceBundle"/>
<min value="0"/>
<max value="*"/>
<element value="entry"/>
<variable value="duPhongSource"/>
</source>
<target>
<context value="targetRow"/>
<contextType value="variable"/>
<element value="duPhong"/>
</target>
<documentation
value="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"/>
</rule>
</group>
</StructureMap>