Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.8.0 - Draft for Community Review
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
| Draft tại thời điểm 2026-04-28 |
@prefix fhir: <http://hl7.org/fhir/> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . # - resource ------------------------------------------------------------------- <http://hl7.org/fhir/StructureMap/vn-sm-bhyt-xml2-medication> a fhir:StructureMap ; fhir:nodeRole fhir:treeRoot ; fhir:Resource.id [ fhir:value "vn-sm-bhyt-xml2-medication"] ; fhir:Resource.language [ fhir:value "vi"] ; fhir:DomainResource.text [ fhir:Narrative.status [ fhir:value "generated" ] ; fhir:Narrative.div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureMap vn-sm-bhyt-xml2-medication</b></p><a name=\"vn-sm-bhyt-xml2-medication\"> </a><a name=\"hcvn-sm-bhyt-xml2-medication\"> </a><pre class=\"fml\">#xD;\n<b>map</b><span style=\"color: navy\"> \"</span>http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml2-medication<span style=\"color: navy\">\" = \"</span>BHYTXML2MedicationLMStructureMap<span style=\"color: navy\">\"#xD;\n#xD;\n</span><span style=\"color: navy\">// </span><span style=\"color: green\">Generated StructureMap scaffold for Bảng 2 thuốc BHYT — Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML2MedicationLM.fsh` and remain aligned with the Python BHYT round-trip export adapter.</span>#xD;\n#xD;\n<span style=\"color: navy\">// </span><span style=\"color: green\">FHIR-native source bundle profile used by the repository round-trip adapter.</span>#xD;\n<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>#xD;\n<span style=\"color: navy\">// </span><span style=\"color: green\">Bảng 2 thuốc BHYT — Logical Model</span>#xD;\n<b>uses</b><span style=\"color: navy\"> \"</span><a href=\"StructureDefinition-bhytXml2MedicationLm.html\" title=\"Bảng 2 thuốc BHYT — Logical Model\">http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml2MedicationLm</a><span style=\"color: navy\">\" </span><b>alias </b>BHYTXML2MedicationLM <b>as </b><b>target</b>#xD;\n#xD;\n<span style=\"color: navy\">// </span><span style=\"color: green\">Full QD 3176 XML2 field catalog. MA_NHOM uses the QD 3176 source code system and must be mapped to QD 697/VNCostCategoryCS with a ConceptMap. 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>#xD;\n<b>group </b>MapBHYTXML2MedicationLM<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>BHYTXML2MedicationLM<span style=\"color: navy\">)</span><span style=\"color: navy\"> {#xD;\n</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>#xD;\n 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>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: STT - Số thứ tự dòng FHIR path: VNCoreClaim.item[medicationLine].sequence</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">sttSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.stt <i>\"stt\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_THUOC - Mã thuốc FHIR path: VNCoreMedication.code.coding.code | VNCoreClaim.item[medicationLine].productOrService.coding.code</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maThuocSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.maThuoc <i>\"maThuoc\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_PP_CHEBIEN - Mã phương pháp chế biến FHIR path: VNCoreClaim.item[medicationLine].extension[processingMethod].valueString | VNCoreExplanationOfBenefit.item[medicationLine].extension[processingMethod].valueString | VNCoreMedication.extension[processingMethod].valueString | VNCoreMedicationRequest.extension[processingMethod].valueString | VNCoreMedicationDispense.extension[processingMethod].valueString</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maPpChebienSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.maPpChebien <i>\"maPpChebien\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_CSKCB_THUOC - Mã cơ sở KCB cấp thuốc FHIR path: VNCoreMedicationDispense.performer.actor.resolve().identifier[CSKCB].value | VNCoreMedicationDispense.location.resolve().identifier[CSKCB].value</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maCskcbThuocSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.maCskcbThuoc <i>\"maCskcbThuoc\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_NHOM - Mã nhóm chi phí theo QĐ 3176/QĐ-BYT FHIR path: ConceptMap/vn-cm-bhyt-claim-cost-group-to-cost-category -> VNCoreClaim.item[medicationLine].category.coding.code Mapping note: QD 3176 uses MA_NHOM=4 for medication; StructureMap must first apply the ConceptMap, then populate VNCostCategoryCS#8. Do not assign the QD 3176 code directly to VNCostCategoryCS.</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maNhomSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.maNhom <i>\"maNhom\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: TEN_THUOC - Tên thuốc FHIR path: VNCoreMedication.code.text | VNCoreClaim.item[medicationLine].productOrService.text | display</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tenThuocSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tenThuoc <i>\"tenThuoc\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: DON_VI_TINH - Đơn vị tính FHIR path: VNCoreClaim.item[medicationLine].quantity.unit</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">donViTinhSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.donViTinh <i>\"donViTinh\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: HAM_LUONG - Hàm lượng FHIR path: VNCoreMedication.ingredient.strength | Medication.code.text</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">hamLuongSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.hamLuong <i>\"hamLuong\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: DUONG_DUNG - Đường dùng FHIR path: VNCoreMedicationRequest.dosageInstruction.route</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">duongDungSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.duongDung <i>\"duongDung\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: DANG_BAO_CHE - Dạng bào chế FHIR path: VNCoreMedication.form.coding.code | VNCoreMedication.form.text</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">dangBaoCheSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.dangBaoChe <i>\"dangBaoChe\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: LIEU_DUNG - Liều dùng FHIR path: VNCoreMedicationRequest.dosageInstruction.doseAndRate</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">lieuDungSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.lieuDung <i>\"lieuDung\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: CACH_DUNG - Cách dùng FHIR path: VNCoreMedicationRequest.dosageInstruction.text</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">cachDungSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.cachDung <i>\"cachDung\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: SO_DANG_KY - Số đăng ký thuốc FHIR path: VNCoreMedication.extension[registrationNumber].valueString | VNCoreMedicationRequest.extension[registrationNumber].valueString | VNCoreMedicationDispense.extension[registrationNumber].valueString Mapping note: QĐ 1931/QĐ-BYT (29/06/2026) sửa đổi QĐ 3176/QĐ-BYT: thuốc hiếm được UBND cấp tỉnh cấp phép đơn hàng nhập khẩu mã hóa theo quy ước UBND.YYYY.X.S (YYYY = năm cấp giấy phép, X = số văn bản cấp phép nhập khẩu, S = số thứ tự thuốc trong văn bản cấp phép).</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">soDangKySource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.soDangKy <i>\"soDangKy\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: TT_THAU - Thông tin thầu FHIR path: VNCoreClaim.item[medicationLine].extension[tenderInfo].valueString | VNCoreExplanationOfBenefit.item[medicationLine].extension[tenderInfo].valueString | VNCoreMedication.extension[tenderInfo].valueString | VNCoreMedicationRequest.extension[tenderInfo].valueString | VNCoreMedicationDispense.extension[tenderInfo].valueString</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">ttThauSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.ttThau <i>\"ttThau\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: PHAM_VI - Phạm vi thanh toán FHIR path: VNCoreClaim.item[medicationLine].extension[insuranceCostInfo].extension[scope].valueCodeableConcept</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">phamViSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.phamVi <i>\"phamVi\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: TYLE_TT_BH - Tỷ lệ thanh toán BHYT FHIR path: VNCoreClaim.item[medicationLine].extension[insuranceCostInfo].extension[paymentRatio].valueDecimal</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tyleTtBhSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tyleTtBh <i>\"tyleTtBh\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: SO_LUONG - Số lượng FHIR path: VNCoreClaim.item[medicationLine].quantity.value | VNCoreMedicationDispense.quantity.value</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">soLuongSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.soLuong <i>\"soLuong\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: DON_GIA - Đơn giá FHIR path: VNCoreClaim.item[medicationLine].unitPrice.value</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">donGiaSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.donGia <i>\"donGia\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: THANH_TIEN_BV - Thành tiền bệnh viện FHIR path: VNCoreClaim.item[medicationLine].net.value | VNCoreClaim.item[medicationLine].extension[hospitalLineAmount].valueMoney.value</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">thanhTienBvSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.thanhTienBv <i>\"thanhTienBv\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: THANH_TIEN_BH - Thành tiền BHYT FHIR path: VNCoreClaim.item[medicationLine].extension[insuranceCostInfo].extension[insuranceLineAmount].valueMoney.value</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">thanhTienBhSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.thanhTienBh <i>\"thanhTienBh\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: T_NGUONKHAC_NSNN - Nguồn khác ngân sách nhà nước FHIR path: VNCoreClaim.item[medicationLine].extension[otherFundBreakdown].extension[stateBudget].valueMoney.value | VNCoreExplanationOfBenefit.item[medicationLine].extension[otherFundBreakdown].extension[stateBudget].valueMoney.value Mapping note: Số tiền được ngân sách nhà nước hỗ trợ, tách theo dòng qua sub-extension stateBudget của VNCoreExtOtherFundBreakdown trên Claim.item/EOB.item. Số tiền gộp toàn nguồn khác vẫn ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTFinancialFieldCS#T_NGUONKHAC_NSNN). Căn cứ QĐ 3176/QĐ-BYT.</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tNguonkhacNsnnSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tNguonkhacNsnn <i>\"tNguonkhacNsnn\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: T_NGUONKHAC_VTNN - Nguồn khác viện trợ nước ngoài FHIR path: VNCoreClaim.item[medicationLine].extension[otherFundBreakdown].extension[foreignAid].valueMoney.value | VNCoreExplanationOfBenefit.item[medicationLine].extension[otherFundBreakdown].extension[foreignAid].valueMoney.value Mapping note: Số tiền viện trợ từ tổ chức/cá nhân ngoài lãnh thổ Việt Nam, tách theo dòng qua sub-extension foreignAid của VNCoreExtOtherFundBreakdown trên Claim.item/EOB.item. Số tiền gộp toàn nguồn khác vẫn ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTFinancialFieldCS#T_NGUONKHAC_VTNN). Căn cứ QĐ 3176/QĐ-BYT.</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tNguonkhacVtnnSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tNguonkhacVtnn <i>\"tNguonkhacVtnn\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: T_NGUONKHAC_VTTN - Nguồn khác viện trợ trong nước FHIR path: VNCoreClaim.item[medicationLine].extension[otherFundBreakdown].extension[domesticAid].valueMoney.value | VNCoreExplanationOfBenefit.item[medicationLine].extension[otherFundBreakdown].extension[domesticAid].valueMoney.value Mapping note: Số tiền viện trợ từ tổ chức/cá nhân trong lãnh thổ Việt Nam, tách theo dòng qua sub-extension domesticAid của VNCoreExtOtherFundBreakdown trên Claim.item/EOB.item. Số tiền gộp toàn nguồn khác vẫn ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTFinancialFieldCS#T_NGUONKHAC_VTTN). Căn cứ QĐ 3176/QĐ-BYT.</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tNguonkhacVttnSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tNguonkhacVttn <i>\"tNguonkhacVttn\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: T_NGUONKHAC_CL - Nguồn khác còn lại FHIR path: VNCoreClaim.item[medicationLine].extension[otherFundBreakdown].extension[otherRemaining].valueMoney.value | VNCoreExplanationOfBenefit.item[medicationLine].extension[otherFundBreakdown].extension[otherRemaining].valueMoney.value Mapping note: Số tiền từ các nguồn khác còn lại (ngoài NSNN/VTNN/VTTN), tách theo dòng qua sub-extension otherRemaining của VNCoreExtOtherFundBreakdown trên Claim.item/EOB.item. Số tiền gộp toàn nguồn khác vẫn ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTFinancialFieldCS#T_NGUONKHAC_CL). Căn cứ QĐ 3176/QĐ-BYT.</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tNguonkhacClSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tNguonkhacCl <i>\"tNguonkhacCl\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: T_NGUONKHAC - Tổng nguồn khác FHIR path: VNCoreClaimResponse.item[medicationLine].adjudication.where(category='other-fund').amount.value | VNCoreExplanationOfBenefit.item[medicationLine].adjudication.where(category='other-fund').amount.value | VNCoreClaim.item[medicationLine].extension[otherFundBreakdown] (tổng = stateBudget + foreignAid + domesticAid + otherRemaining) Mapping note: T_NGUONKHAC = T_NGUONKHAC_NSNN + T_NGUONKHAC_VTNN + T_NGUONKHAC_VTTN + T_NGUONKHAC_CL; 4 thành phần được tách theo dòng qua VNCoreExtOtherFundBreakdown trên Claim.item. Tổng gộp toàn nguồn khác ở line-level ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTAdjudicationCategoryCS#other-fund); R4 không có Claim.item.adjudication nên đích tổng là (Claim)Response/EOB.item.adjudication. Công thức giảm trừ lần lượt T_BNTT → T_BNCCT → T_BHTT do StructureMap của exporter xử lý, không encode invariant ở profile. Căn cứ QĐ 3176/QĐ-BYT.</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tNguonkhacSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tNguonkhac <i>\"tNguonkhac\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MUC_HUONG - Mức hưởng FHIR path: VNCoreClaim.item[medicationLine].extension[insuranceCostInfo].extension[benefitLevel].valueDecimal Mapping note: QĐ 1931/QĐ-BYT (29/06/2026) sửa đổi QĐ 3176/QĐ-BYT: kích thước tối đa của MUC_HUONG tại Bảng 2 tăng lên 4 ký tự.</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">mucHuongSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.mucHuong <i>\"mucHuong\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: T_BNTT - Người bệnh tự trả FHIR path: Derived from VNCoreClaimResponse.item[medicationLine].adjudication.where(category='submitted').amount - .where(category='eligible').amount | Derived from VNCoreExplanationOfBenefit.item[medicationLine].adjudication.where(category='submitted').amount - .where(category='eligible').amount</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tBnttSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tBntt <i>\"tBntt\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: T_BNCCT - Người bệnh cùng chi trả FHIR path: VNCoreClaimResponse.item[medicationLine].adjudication.where(category='copay').amount.value | VNCoreExplanationOfBenefit.item[medicationLine].adjudication.where(category='copay').amount.value</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tBncctSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tBncct <i>\"tBncct\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: T_BHTT - Quỹ BHYT thanh toán FHIR path: VNCoreClaimResponse.item[medicationLine].adjudication.where(category='benefit').amount.value | VNCoreExplanationOfBenefit.item[medicationLine].adjudication.where(category='benefit').amount.value</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">tBhttSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.tBhtt <i>\"tBhtt\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_KHOA - Mã khoa FHIR path: VNCoreClaim.item[medicationLine].extension[department].valueCodeableConcept.coding.code</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maKhoaSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.maKhoa <i>\"maKhoa\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_BAC_SI - Mã bác sĩ FHIR path: VNCoreMedicationRequest.requester.resolve().identifier.value | VNCorePractitioner.identifier.value</span>#xD;\n 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>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_DICH_VU - Mã dịch vụ liên quan FHIR path: VNCoreClaim.item[medicationLine].detail.productOrService.coding.code | VNCoreServiceRequest.code</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maDichVuSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.maDichVu <i>\"maDichVu\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAY_YL - Ngày y lệnh FHIR path: VNCoreMedicationRequest.authoredOn</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">ngayYlSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.ngayYl <i>\"ngayYl\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGAY_TH_YL - Ngày thực hiện y lệnh FHIR path: VNCoreMedicationDispense.whenHandedOver | VNCoreMedicationDispense.whenPrepared</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">ngayThYlSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.ngayThYl <i>\"ngayThYl\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: MA_PTTT - Mã phẫu thuật/thủ thuật liên quan FHIR path: VNCoreClaim.procedure.procedureCodeableConcept | VNCoreProcedure.code Mapping note: Procedure context for medication lines when QD 3176 requires linking the drug to a related surgery/procedure; do not infer this from MA_NHOM.</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">maPtttSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.maPttt <i>\"maPttt\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: NGUON_CTRA - Nguồn chi trả FHIR path: VNCoreClaim.item[medicationLine].extension[paymentSource].valueCodeableConcept.coding.code | VNCoreExplanationOfBenefit.item[medicationLine].extension[paymentSource].valueCodeableConcept.coding.code</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">nguonCtraSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.nguonCtra <i>\"nguonCtra\"</i><span style=\"color: navy\">;</span>#xD;\n <span style=\"color: navy\">// </span><span style=\"color: green\">Target field: VET_THUONG_TP - Vết thương tái phát FHIR path: VNCoreClaim.item[medicationLine].extension[recurrentWoundBenefit].valueBoolean | VNCoreExplanationOfBenefit.item[medicationLine].extension[recurrentWoundBenefit].valueBoolean Mapping note: Exporter emits literal `1` only when the line-level recurrentWoundBenefit flag is true; this is not a diagnosis recurrence code.</span>#xD;\n sourceBundle.entry 0<span style=\"color: navy\">..</span>*<b> as </b><span style=\"color: maroon\">vetThuongTpSource</span><span style=\"color: navy\"><b> -> </b></span>targetRow.vetThuongTp <i>\"vetThuongTp\"</i><span style=\"color: navy\">;</span>#xD;\n<span style=\"color: navy\">}#xD;\n#xD;\n</span></pre></div>" ] ; fhir:StructureMap.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureMap/vn-sm-bhyt-xml2-medication"] ; fhir:StructureMap.identifier [ fhir:index -1 ; fhir:Identifier.system [ fhir:value "urn:ietf:rfc:3986" ] ; fhir:Identifier.value [ fhir:value "urn:oid:2.25.161089673617632664299011809196868855799.43.5" ] ] ; fhir:StructureMap.version [ fhir:value "0.8.0"] ; fhir:StructureMap.name [ fhir:value "BHYTXML2MedicationLMStructureMap"] ; fhir:StructureMap.title [ fhir:value "Bảng 2 thuốc BHYT — Logical Model — StructureMap"] ; fhir:StructureMap.status [ fhir:value "draft"] ; fhir:StructureMap.experimental [ fhir:value "false"^^xsd:boolean] ; fhir:StructureMap.date [ fhir:value "2026-04-28"^^xsd:date] ; fhir:StructureMap.publisher [ fhir:value "Omi HealthTech / VN Core FHIR Community Initiative"] ; fhir:StructureMap.contact [ fhir:index -1 ; fhir:ContactDetail.name [ fhir:value "Omi HealthTech / VN Core FHIR Community Initiative" ] ; fhir:ContactDetail.telecom [ fhir:index -1 ; fhir:ContactPoint.system [ fhir:value "url" ] ; fhir:ContactPoint.value [ fhir:value "https://hl7.org.vn" ] ], [ fhir:index -1 ; fhir:ContactPoint.system [ fhir:value "email" ] ; fhir:ContactPoint.value [ fhir:value "info@hl7.org.vn" ] ] ], [ fhir:index -1 ; fhir:ContactDetail.name [ fhir:value "Omi HealthTech (OmiGroup)" ] ; fhir:ContactDetail.telecom [ fhir:index -1 ; fhir:ContactPoint.system [ fhir:value "url" ] ; fhir:ContactPoint.value [ fhir:value "https://omihealthtech.vn" ] ], [ fhir:index -1 ; fhir:ContactPoint.system [ fhir:value "url" ] ; fhir:ContactPoint.value [ fhir:value "https://omigroup.vn" ] ], [ fhir:index -1 ; fhir:ContactPoint.system [ fhir:value "email" ] ; fhir:ContactPoint.value [ fhir:value "info@hl7.org.vn" ] ] ] ; fhir:StructureMap.description [ fhir:value "Generated StructureMap scaffold for Bảng 2 thuốc BHYT — Logical Model. Source semantics come from the logical model mapping annotations in `BHYTXML2MedicationLM.fsh` and remain aligned with the Python BHYT round-trip export adapter."] ; fhir:StructureMap.jurisdiction [ fhir:index -1 ; fhir:CodeableConcept.coding [ fhir:index -1 ; fhir:Coding.system [ fhir:value "urn:iso:std:iso:3166" ] ; fhir:Coding.code [ fhir:value "VN" ] ; fhir:Coding.display [ fhir:value "Viet Nam" ] ] ] ; fhir:StructureMap.purpose [ fhir:value "Publish canonical, reviewable FHIR-to-BHYT XML mapping artifacts for XML1-XML12 without duplicating field-level mapping semantics across FSH, wiki, and export code."] ; fhir:StructureMap.structure [ fhir:index -1 ; fhir:StructureMap.structure.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-bhyt-submission-bundle" ; fhir:link <http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-bhyt-submission-bundle> ] ; fhir:StructureMap.structure.mode [ fhir:value "source" ] ; fhir:StructureMap.structure.alias [ fhir:value "BHYTSubmissionBundle" ] ; fhir:StructureMap.structure.documentation [ fhir:value "FHIR-native source bundle profile used by the repository round-trip adapter." ] ], [ fhir:index -1 ; fhir:StructureMap.structure.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml2MedicationLm" ; fhir:link <http://fhir.hl7.org.vn/core/StructureDefinition/bhytXml2MedicationLm> ] ; fhir:StructureMap.structure.mode [ fhir:value "target" ] ; fhir:StructureMap.structure.alias [ fhir:value "BHYTXML2MedicationLM" ] ; fhir:StructureMap.structure.documentation [ fhir:value "Bảng 2 thuốc BHYT — Logical Model" ] ] ; fhir:StructureMap.group [ fhir:index -1 ; fhir:StructureMap.group.name [ fhir:value "MapBHYTXML2MedicationLM" ] ; fhir:StructureMap.group.typeMode [ fhir:value "none" ] ; fhir:StructureMap.group.documentation [ fhir:value "Full QD 3176 XML2 field catalog. MA_NHOM uses the QD 3176 source code system and must be mapped to QD 697/VNCostCategoryCS with a ConceptMap. 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`." ] ; fhir:StructureMap.group.input [ fhir:index -1 ; fhir:StructureMap.group.input.name [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.input.type [ fhir:value "BHYTSubmissionBundle" ] ; fhir:StructureMap.group.input.mode [ fhir:value "source" ] ; fhir:StructureMap.group.input.documentation [ fhir:value "VN Core BHYT submission bundle." ] ], [ fhir:index -1 ; fhir:StructureMap.group.input.name [ fhir:value "targetRow" ] ; fhir:StructureMap.group.input.type [ fhir:value "BHYTXML2MedicationLM" ] ; fhir:StructureMap.group.input.mode [ fhir:value "target" ] ; fhir:StructureMap.group.input.documentation [ fhir:value "Bảng 2 thuốc BHYT — Logical Model" ] ] ; fhir:StructureMap.group.rule [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "maLk" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "maLkSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "maLk" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MA_LK - Mã liên kết hồ sơ FHIR path: VNCoreClaim.identifier[MALK].value" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "stt" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "sttSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "stt" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: STT - Số thứ tự dòng FHIR path: VNCoreClaim.item[medicationLine].sequence" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "maThuoc" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "maThuocSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "maThuoc" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MA_THUOC - Mã thuốc FHIR path: VNCoreMedication.code.coding.code | VNCoreClaim.item[medicationLine].productOrService.coding.code" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "maPpChebien" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "maPpChebienSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "maPpChebien" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MA_PP_CHEBIEN - Mã phương pháp chế biến FHIR path: VNCoreClaim.item[medicationLine].extension[processingMethod].valueString | VNCoreExplanationOfBenefit.item[medicationLine].extension[processingMethod].valueString | VNCoreMedication.extension[processingMethod].valueString | VNCoreMedicationRequest.extension[processingMethod].valueString | VNCoreMedicationDispense.extension[processingMethod].valueString" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "maCskcbThuoc" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "maCskcbThuocSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "maCskcbThuoc" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MA_CSKCB_THUOC - Mã cơ sở KCB cấp thuốc FHIR path: VNCoreMedicationDispense.performer.actor.resolve().identifier[CSKCB].value | VNCoreMedicationDispense.location.resolve().identifier[CSKCB].value" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "maNhom" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "maNhomSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "maNhom" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MA_NHOM - Mã nhóm chi phí theo QĐ 3176/QĐ-BYT FHIR path: ConceptMap/vn-cm-bhyt-claim-cost-group-to-cost-category -> VNCoreClaim.item[medicationLine].category.coding.code Mapping note: QD 3176 uses MA_NHOM=4 for medication; StructureMap must first apply the ConceptMap, then populate VNCostCategoryCS#8. Do not assign the QD 3176 code directly to VNCostCategoryCS." ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tenThuoc" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tenThuocSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tenThuoc" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: TEN_THUOC - Tên thuốc FHIR path: VNCoreMedication.code.text | VNCoreClaim.item[medicationLine].productOrService.text | display" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "donViTinh" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "donViTinhSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "donViTinh" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: DON_VI_TINH - Đơn vị tính FHIR path: VNCoreClaim.item[medicationLine].quantity.unit" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "hamLuong" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "hamLuongSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "hamLuong" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: HAM_LUONG - Hàm lượng FHIR path: VNCoreMedication.ingredient.strength | Medication.code.text" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "duongDung" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "duongDungSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "duongDung" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: DUONG_DUNG - Đường dùng FHIR path: VNCoreMedicationRequest.dosageInstruction.route" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "dangBaoChe" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "dangBaoCheSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "dangBaoChe" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: DANG_BAO_CHE - Dạng bào chế FHIR path: VNCoreMedication.form.coding.code | VNCoreMedication.form.text" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "lieuDung" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "lieuDungSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "lieuDung" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: LIEU_DUNG - Liều dùng FHIR path: VNCoreMedicationRequest.dosageInstruction.doseAndRate" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "cachDung" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "cachDungSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "cachDung" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: CACH_DUNG - Cách dùng FHIR path: VNCoreMedicationRequest.dosageInstruction.text" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "soDangKy" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "soDangKySource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "soDangKy" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: SO_DANG_KY - Số đăng ký thuốc FHIR path: VNCoreMedication.extension[registrationNumber].valueString | VNCoreMedicationRequest.extension[registrationNumber].valueString | VNCoreMedicationDispense.extension[registrationNumber].valueString Mapping note: QĐ 1931/QĐ-BYT (29/06/2026) sửa đổi QĐ 3176/QĐ-BYT: thuốc hiếm được UBND cấp tỉnh cấp phép đơn hàng nhập khẩu mã hóa theo quy ước UBND.YYYY.X.S (YYYY = năm cấp giấy phép, X = số văn bản cấp phép nhập khẩu, S = số thứ tự thuốc trong văn bản cấp phép)." ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "ttThau" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "ttThauSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "ttThau" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: TT_THAU - Thông tin thầu FHIR path: VNCoreClaim.item[medicationLine].extension[tenderInfo].valueString | VNCoreExplanationOfBenefit.item[medicationLine].extension[tenderInfo].valueString | VNCoreMedication.extension[tenderInfo].valueString | VNCoreMedicationRequest.extension[tenderInfo].valueString | VNCoreMedicationDispense.extension[tenderInfo].valueString" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "phamVi" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "phamViSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "phamVi" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: PHAM_VI - Phạm vi thanh toán FHIR path: VNCoreClaim.item[medicationLine].extension[insuranceCostInfo].extension[scope].valueCodeableConcept" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tyleTtBh" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tyleTtBhSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tyleTtBh" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: TYLE_TT_BH - Tỷ lệ thanh toán BHYT FHIR path: VNCoreClaim.item[medicationLine].extension[insuranceCostInfo].extension[paymentRatio].valueDecimal" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "soLuong" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "soLuongSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "soLuong" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: SO_LUONG - Số lượng FHIR path: VNCoreClaim.item[medicationLine].quantity.value | VNCoreMedicationDispense.quantity.value" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "donGia" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "donGiaSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "donGia" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: DON_GIA - Đơn giá FHIR path: VNCoreClaim.item[medicationLine].unitPrice.value" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "thanhTienBv" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "thanhTienBvSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "thanhTienBv" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: THANH_TIEN_BV - Thành tiền bệnh viện FHIR path: VNCoreClaim.item[medicationLine].net.value | VNCoreClaim.item[medicationLine].extension[hospitalLineAmount].valueMoney.value" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "thanhTienBh" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "thanhTienBhSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "thanhTienBh" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: THANH_TIEN_BH - Thành tiền BHYT FHIR path: VNCoreClaim.item[medicationLine].extension[insuranceCostInfo].extension[insuranceLineAmount].valueMoney.value" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tNguonkhacNsnn" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tNguonkhacNsnnSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tNguonkhacNsnn" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: T_NGUONKHAC_NSNN - Nguồn khác ngân sách nhà nước FHIR path: VNCoreClaim.item[medicationLine].extension[otherFundBreakdown].extension[stateBudget].valueMoney.value | VNCoreExplanationOfBenefit.item[medicationLine].extension[otherFundBreakdown].extension[stateBudget].valueMoney.value Mapping note: Số tiền được ngân sách nhà nước hỗ trợ, tách theo dòng qua sub-extension stateBudget của VNCoreExtOtherFundBreakdown trên Claim.item/EOB.item. Số tiền gộp toàn nguồn khác vẫn ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTFinancialFieldCS#T_NGUONKHAC_NSNN). Căn cứ QĐ 3176/QĐ-BYT." ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tNguonkhacVtnn" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tNguonkhacVtnnSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tNguonkhacVtnn" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: T_NGUONKHAC_VTNN - Nguồn khác viện trợ nước ngoài FHIR path: VNCoreClaim.item[medicationLine].extension[otherFundBreakdown].extension[foreignAid].valueMoney.value | VNCoreExplanationOfBenefit.item[medicationLine].extension[otherFundBreakdown].extension[foreignAid].valueMoney.value Mapping note: Số tiền viện trợ từ tổ chức/cá nhân ngoài lãnh thổ Việt Nam, tách theo dòng qua sub-extension foreignAid của VNCoreExtOtherFundBreakdown trên Claim.item/EOB.item. Số tiền gộp toàn nguồn khác vẫn ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTFinancialFieldCS#T_NGUONKHAC_VTNN). Căn cứ QĐ 3176/QĐ-BYT." ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tNguonkhacVttn" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tNguonkhacVttnSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tNguonkhacVttn" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: T_NGUONKHAC_VTTN - Nguồn khác viện trợ trong nước FHIR path: VNCoreClaim.item[medicationLine].extension[otherFundBreakdown].extension[domesticAid].valueMoney.value | VNCoreExplanationOfBenefit.item[medicationLine].extension[otherFundBreakdown].extension[domesticAid].valueMoney.value Mapping note: Số tiền viện trợ từ tổ chức/cá nhân trong lãnh thổ Việt Nam, tách theo dòng qua sub-extension domesticAid của VNCoreExtOtherFundBreakdown trên Claim.item/EOB.item. Số tiền gộp toàn nguồn khác vẫn ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTFinancialFieldCS#T_NGUONKHAC_VTTN). Căn cứ QĐ 3176/QĐ-BYT." ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tNguonkhacCl" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tNguonkhacClSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tNguonkhacCl" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: T_NGUONKHAC_CL - Nguồn khác còn lại FHIR path: VNCoreClaim.item[medicationLine].extension[otherFundBreakdown].extension[otherRemaining].valueMoney.value | VNCoreExplanationOfBenefit.item[medicationLine].extension[otherFundBreakdown].extension[otherRemaining].valueMoney.value Mapping note: Số tiền từ các nguồn khác còn lại (ngoài NSNN/VTNN/VTTN), tách theo dòng qua sub-extension otherRemaining của VNCoreExtOtherFundBreakdown trên Claim.item/EOB.item. Số tiền gộp toàn nguồn khác vẫn ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTFinancialFieldCS#T_NGUONKHAC_CL). Căn cứ QĐ 3176/QĐ-BYT." ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tNguonkhac" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tNguonkhacSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tNguonkhac" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: T_NGUONKHAC - Tổng nguồn khác FHIR path: VNCoreClaimResponse.item[medicationLine].adjudication.where(category='other-fund').amount.value | VNCoreExplanationOfBenefit.item[medicationLine].adjudication.where(category='other-fund').amount.value | VNCoreClaim.item[medicationLine].extension[otherFundBreakdown] (tổng = stateBudget + foreignAid + domesticAid + otherRemaining) Mapping note: T_NGUONKHAC = T_NGUONKHAC_NSNN + T_NGUONKHAC_VTNN + T_NGUONKHAC_VTTN + T_NGUONKHAC_CL; 4 thành phần được tách theo dòng qua VNCoreExtOtherFundBreakdown trên Claim.item. Tổng gộp toàn nguồn khác ở line-level ánh xạ category 'other-fund' theo ConceptMap vn-cm-bhyt-financial-field-to-adjudication (VNBHYTAdjudicationCategoryCS#other-fund); R4 không có Claim.item.adjudication nên đích tổng là (Claim)Response/EOB.item.adjudication. Công thức giảm trừ lần lượt T_BNTT → T_BNCCT → T_BHTT do StructureMap của exporter xử lý, không encode invariant ở profile. Căn cứ QĐ 3176/QĐ-BYT." ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "mucHuong" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "mucHuongSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "mucHuong" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MUC_HUONG - Mức hưởng FHIR path: VNCoreClaim.item[medicationLine].extension[insuranceCostInfo].extension[benefitLevel].valueDecimal Mapping note: QĐ 1931/QĐ-BYT (29/06/2026) sửa đổi QĐ 3176/QĐ-BYT: kích thước tối đa của MUC_HUONG tại Bảng 2 tăng lên 4 ký tự." ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tBntt" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tBnttSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tBntt" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: T_BNTT - Người bệnh tự trả FHIR path: Derived from VNCoreClaimResponse.item[medicationLine].adjudication.where(category='submitted').amount - .where(category='eligible').amount | Derived from VNCoreExplanationOfBenefit.item[medicationLine].adjudication.where(category='submitted').amount - .where(category='eligible').amount" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tBncct" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tBncctSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tBncct" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: T_BNCCT - Người bệnh cùng chi trả FHIR path: VNCoreClaimResponse.item[medicationLine].adjudication.where(category='copay').amount.value | VNCoreExplanationOfBenefit.item[medicationLine].adjudication.where(category='copay').amount.value" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "tBhtt" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "tBhttSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "tBhtt" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: T_BHTT - Quỹ BHYT thanh toán FHIR path: VNCoreClaimResponse.item[medicationLine].adjudication.where(category='benefit').amount.value | VNCoreExplanationOfBenefit.item[medicationLine].adjudication.where(category='benefit').amount.value" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "maKhoa" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "maKhoaSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "maKhoa" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MA_KHOA - Mã khoa FHIR path: VNCoreClaim.item[medicationLine].extension[department].valueCodeableConcept.coding.code" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "maBacSi" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "maBacSiSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "maBacSi" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MA_BAC_SI - Mã bác sĩ FHIR path: VNCoreMedicationRequest.requester.resolve().identifier.value | VNCorePractitioner.identifier.value" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "maDichVu" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "maDichVuSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "maDichVu" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MA_DICH_VU - Mã dịch vụ liên quan FHIR path: VNCoreClaim.item[medicationLine].detail.productOrService.coding.code | VNCoreServiceRequest.code" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "ngayYl" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "ngayYlSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "ngayYl" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: NGAY_YL - Ngày y lệnh FHIR path: VNCoreMedicationRequest.authoredOn" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "ngayThYl" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "ngayThYlSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "ngayThYl" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: NGAY_TH_YL - Ngày thực hiện y lệnh FHIR path: VNCoreMedicationDispense.whenHandedOver | VNCoreMedicationDispense.whenPrepared" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "maPttt" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "maPtttSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "maPttt" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: MA_PTTT - Mã phẫu thuật/thủ thuật liên quan FHIR path: VNCoreClaim.procedure.procedureCodeableConcept | VNCoreProcedure.code Mapping note: Procedure context for medication lines when QD 3176 requires linking the drug to a related surgery/procedure; do not infer this from MA_NHOM." ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "nguonCtra" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "nguonCtraSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "nguonCtra" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: NGUON_CTRA - Nguồn chi trả FHIR path: VNCoreClaim.item[medicationLine].extension[paymentSource].valueCodeableConcept.coding.code | VNCoreExplanationOfBenefit.item[medicationLine].extension[paymentSource].valueCodeableConcept.coding.code" ] ], [ fhir:index -1 ; fhir:StructureMap.group.rule.name [ fhir:value "vetThuongTp" ] ; fhir:StructureMap.group.rule.source [ fhir:index -1 ; fhir:StructureMap.group.rule.source.context [ fhir:value "sourceBundle" ] ; fhir:StructureMap.group.rule.source.min [ fhir:value "0"^^xsd:integer ] ; fhir:StructureMap.group.rule.source.max [ fhir:value "*" ] ; fhir:StructureMap.group.rule.source.element [ fhir:value "entry" ] ; fhir:StructureMap.group.rule.source.variable [ fhir:value "vetThuongTpSource" ] ] ; fhir:StructureMap.group.rule.target [ fhir:index -1 ; fhir:StructureMap.group.rule.target.context [ fhir:value "targetRow" ] ; fhir:StructureMap.group.rule.target.contextType [ fhir:value "variable" ] ; fhir:StructureMap.group.rule.target.element [ fhir:value "vetThuongTp" ] ] ; fhir:StructureMap.group.rule.documentation [ fhir:value "Target field: VET_THUONG_TP - Vết thương tái phát FHIR path: VNCoreClaim.item[medicationLine].extension[recurrentWoundBenefit].valueBoolean | VNCoreExplanationOfBenefit.item[medicationLine].extension[recurrentWoundBenefit].valueBoolean Mapping note: Exporter emits literal `1` only when the line-level recurrentWoundBenefit flag is true; this is not a diagnosis recurrence code." ] ] ] . # - ontology header ------------------------------------------------------------ <http://hl7.org/fhir/StructureMap/vn-sm-bhyt-xml2-medication.ttl> a owl:Ontology ; owl:imports fhir:fhir.ttl ; owl:versionIRI <http://build.fhir.org/StructureMap/vn-sm-bhyt-xml2-medication.ttl> .
IG © 2026+ Omi HealthTech / VN Core FHIR Community Initiative.
Package hl7.fhir.vn.core#0.8.0 based on FHIR 4.0.1.
Sinh ngày
2026-07-17
Liên kết: Mục lục |
Guide Map |
Báo cáo QA