@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://fhir.hl7.org.vn/core/StructureDefinition/vnDataTraceabilityRecordLm> a fhir:StructureDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:Resource.id [ fhir:value "vnDataTraceabilityRecordLm"] ;
  fhir:Resource.language [ fhir:value "vi"] ;
  fhir:DomainResource.text [
     fhir:Narrative.status [ fhir:value "extensions" ] ;
     fhir:Narrative.div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureDefinition vnDataTraceabilityRecordLm</b></p><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border: 0px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top;\"><tr style=\"border: 1px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top\"><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"The logical name of the element\">Name</a></th><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Information about the use of the element\">Flags</a></th><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Minimum and Maximum # of times the element can appear in the instance\">Card.</a></th><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px; width: 100px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Reference to the type of the element\">Type</a></th><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Additional information about the element\">Description &amp; Constraints</a><span style=\"float: right\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Legend for this format\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goXBCwdPqAP0wAAAldJREFUOMuNk0tIlFEYhp9z/vE2jHkhxXA0zJCMitrUQlq4lnSltEqCFhFG2MJFhIvIFpkEWaTQqjaWZRkp0g26URZkTpbaaOJkDqk10szoODP//7XIMUe0elcfnPd9zsfLOYplGrpRwZaqTtw3K7PtGem7Q6FoidbGgqHVy/HRb669R+56zx7eRV1L31JGxYbBtjKK93cxeqfyQHbehkZbUkK20goELEuIzEd+dHS+qz/Y8PTSif0FnGkbiwcAjHaU1+QWOptFiyCLp/LnKptpqIuXHx6rbR26kJcBX3yLgBfnd7CxwJmflpP2wUg0HIAoUUpZBmKzELGWcN8nAr6Gpu7tLU/CkwAaoKTWRSQyt89Q8w6J+oVQkKnBoblH7V0PPvUOvDYXfopE/SJmALsxnVm6LbkotrUtNowMeIrVrBcBpaMmdS0j9df7abpSuy7HWehwJdt1lhVwi/J58U5beXGAF6c3UXLycw1wdFklArBn87xdh0ZsZtArghBdAA3+OEDVubG4UEzP6x1FOWneHh2VDAHBAt80IbdXDcesNoCvs3E5AFyNSU5nbrDPZpcUEQQTFZiEVx+51fxMhhyJEAgvlriadIJZZksRuwBYMOPBbO3hePVVqgEJhFeUuFLhIPkRP6BQLIBrmMenujm/3g4zc398awIe90Zb5A1vREALqneMcYgP/xVQWlG+Ncu5vgwwlaUNx+3799rfe96u9K0JSDXcOzOTJg4B6IgmXfsygc7/Bvg9g9E58/cDVmGIBOP/zT8Bz1zqWqpbXIsd0O9hajXfL6u4BaOS6SeWAAAAAElFTkSuQmCC\" alt=\"doco\" style=\"background-color: inherit\"/></a></span></th></tr><tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck1.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_element.gif\" alt=\".\" style=\"background-color: white; background-color: inherit\" title=\"Element\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm\" title=\"Logical model đặc tả thông tin mà Quyết định 2113/QĐ-BYT buộc lưu trong dữ liệu truy vết, và thông tin mà Thông tư 47/2026/TT-BCA buộc có trong nhật ký truy cập hệ thống — Chỉ phần THỨ NHẤT làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile Provenance; phần thứ hai KHÔNG đóng vai trò ấy cho AuditEvent, vì lý do phạm vi nêu bên dưới.#xA;#xA;QĐ 2113/QĐ-BYT, Lớp 4 của mô hình an toàn dữ liệu, nêu nguyên văn: 'Truy vết dữ liệu (Data Lineage): là yêu cầu bắt buộc đối với tất cả hệ thống có chức năng chia sẻ, tích hợp hoặc phân tích dữ liệu. Dữ liệu truy vết phải bảo đảm lưu lại đầy đủ các thông tin sau: nguồn gốc dữ liệu; thời điểm và điều kiện thu thập; các hành động xử lý đã thực hiện; tổ chức hoặc đơn vị thực hiện hành động đó.'#xA;#xA;TT 47/2026/TT-BCA mục 3.9.2.1.4 nêu: 'Nhật ký truy cập hệ thống tối thiểu bao gồm các thông tin: địa chỉ nguồn, địa chỉ đích, tài khoản đích và thời điểm xảy ra sự kiện.' PHẠM VI: TT 47/2026/TT-BCA là QUY CHUẨN cho 'hệ thống thông tin lưu trữ tài liệu điện tử trong các cơ quan Đảng, Nhà nước' (mục 1.1), KHÔNG phải cho cơ sở khám bệnh, chữa bệnh nói chung — nên đây chỉ là căn cứ CÓ ĐIỀU KIỆN, áp khi hệ thống thật sự thuộc phạm vi Quy chuẩn. ĐÍNH CHÍNH 07/09/2026: câu trước đó trong chính Description này nói 'QĐ 2113/QĐ-BYT không quy định gì về nhật ký truy cập' là SAI — phụ lục của quyết định ấy CÓ, ở Lớp 5 'Người dùng an toàn': 'cá nhân truy cập vào hệ thống phải được xác thực định danh... Hệ thống phải ghi nhận đầy đủ lịch sử truy cập và có khả năng kiểm tra, truy vết (audit)', phạm vi tại mục III phủ 'các cơ sở y tế công lập và ngoài công lập'. Đó là nghĩa vụ NĂNG LỰC đúng phạm vi nhưng KHÔNG liệt kê trường — khác hẳn Lớp 4 vốn nói 'là yêu cầu bắt buộc' rồi liệt kê đủ bốn thông tin. Vì vậy MỌI trường của nhóm nhật ký khai 0..1, nhóm này KHÔNG dùng làm bảng chỉ tiêu đối chiếu ở chiều P-A, và ô sổ cái của VNCoreAuditEvent ở trạng thái hoãn.\">vnDataTraceabilityRecordLm</a><a name=\"vnDataTraceabilityRecordLm\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><span style=\"opacity: 0.5\">0</span><span style=\"opacity: 0.5\">..</span><span style=\"opacity: 0.5\">*</span></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://build.fhir.org/types.html#Base\">Base</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Dữ liệu truy vết và nhật ký truy cập (QĐ 2113/QĐ-BYT, TT 47/2026/TT-BCA) — Logical Model</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck11.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_datatype.gif\" alt=\".\" style=\"background-color: #F7F7F7; background-color: inherit\" title=\"Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.truyVetDuLieu\" title=\"Thông tin truy vết phải lưu cho dữ liệu được chia sẻ, tích hợp hoặc phân tích\">truyVetDuLieu</a><a name=\"vnDataTraceabilityRecordLm.truyVetDuLieu\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">1..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#BackboneElement\">BackboneElement</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Thông tin truy vết phải lưu cho dữ liệu được chia sẻ, tích hợp hoặc phân tích</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck110.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vline.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: white; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.truyVetDuLieu.nguonGocDuLieu\" title=\"Nguồn gốc dữ liệu\">nguonGocDuLieu</a><a name=\"vnDataTraceabilityRecordLm.truyVetDuLieu.nguonGocDuLieu\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">1..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Nguồn gốc dữ liệu</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck110.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vline.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: #F7F7F7; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.truyVetDuLieu.thoiDiemThuThap\" title=\"Thời điểm thu thập\">thoiDiemThuThap</a><a name=\"vnDataTraceabilityRecordLm.truyVetDuLieu.thoiDiemThuThap\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">1..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#dateTime\">dateTime</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Thời điểm thu thập</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck110.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vline.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: white; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.truyVetDuLieu.dieuKienThuThap\" title=\"Điều kiện thu thập\">dieuKienThuThap</a><a name=\"vnDataTraceabilityRecordLm.truyVetDuLieu.dieuKienThuThap\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">1..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Điều kiện thu thập</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck110.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vline.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: #F7F7F7; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.truyVetDuLieu.hanhDongXuLy\" title=\"Các hành động xử lý đã thực hiện\">hanhDongXuLy</a><a name=\"vnDataTraceabilityRecordLm.truyVetDuLieu.hanhDongXuLy\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">1..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Các hành động xử lý đã thực hiện</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck100.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vline.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin_end.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: white; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.truyVetDuLieu.donViThucHien\" title=\"Tổ chức hoặc đơn vị thực hiện hành động\">donViThucHien</a><a name=\"vnDataTraceabilityRecordLm.truyVetDuLieu.donViThucHien\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">1..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Tổ chức hoặc đơn vị thực hiện hành động</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck01.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin_end.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_datatype.gif\" alt=\".\" style=\"background-color: #F7F7F7; background-color: inherit\" title=\"Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.nhatKyTruyCap\" title=\"Bản ghi nhật ký truy cập hệ thống\">nhatKyTruyCap</a><a name=\"vnDataTraceabilityRecordLm.nhatKyTruyCap\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">0..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#BackboneElement\">BackboneElement</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Bản ghi nhật ký truy cập hệ thống</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_blank.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: white; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiNguon\" title=\"Địa chỉ nguồn (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)\">diaChiNguon</a><a name=\"vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiNguon\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">0..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Địa chỉ nguồn (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_blank.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: #F7F7F7; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiDich\" title=\"Địa chỉ đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)\">diaChiDich</a><a name=\"vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiDich\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">0..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Địa chỉ đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_blank.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: white; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.nhatKyTruyCap.taiKhoanDich\" title=\"Tài khoản đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)\">taiKhoanDich</a><a name=\"vnDataTraceabilityRecordLm.nhatKyTruyCap.taiKhoanDich\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">0..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Tài khoản đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_blank.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: #F7F7F7; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.nhatKyTruyCap.nguoiSuDung\" title=\"NGƯỜI DÙNG — tài khoản thực hiện thao tác\">nguoiSuDung</a><a name=\"vnDataTraceabilityRecordLm.nhatKyTruyCap.nguoiSuDung\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">0..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#string\">string</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">NGƯỜI DÙNG — tài khoản thực hiện thao tác</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_blank.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: white; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.nhatKyTruyCap.hanhDong\" title=\"HOẠT ĐỘNG — loại thao tác đã thực hiện\">hanhDong</a><a name=\"vnDataTraceabilityRecordLm.nhatKyTruyCap.hanhDong\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">0..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#code\">code</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">HOẠT ĐỘNG — loại thao tác đã thực hiện</td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck000.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_blank.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin_end.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_primitive.png\" alt=\".\" style=\"background-color: #F7F7F7; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnDataTraceabilityRecordLm-definitions.html#vnDataTraceabilityRecordLm.nhatKyTruyCap.thoiDiemSuKien\" title=\"Thời điểm xảy ra sự kiện\">thoiDiemSuKien</a><a name=\"vnDataTraceabilityRecordLm.nhatKyTruyCap.thoiDiemSuKien\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">0..1</td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R4/datatypes.html#dateTime\">dateTime</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">Thời điểm xảy ra sự kiện</td></tr>#xD;\n<tr><td colspan=\"5\" class=\"hierarchy\"><br/><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Legend for this format\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goXBCwdPqAP0wAAAldJREFUOMuNk0tIlFEYhp9z/vE2jHkhxXA0zJCMitrUQlq4lnSltEqCFhFG2MJFhIvIFpkEWaTQqjaWZRkp0g26URZkTpbaaOJkDqk10szoODP//7XIMUe0elcfnPd9zsfLOYplGrpRwZaqTtw3K7PtGem7Q6FoidbGgqHVy/HRb669R+56zx7eRV1L31JGxYbBtjKK93cxeqfyQHbehkZbUkK20goELEuIzEd+dHS+qz/Y8PTSif0FnGkbiwcAjHaU1+QWOptFiyCLp/LnKptpqIuXHx6rbR26kJcBX3yLgBfnd7CxwJmflpP2wUg0HIAoUUpZBmKzELGWcN8nAr6Gpu7tLU/CkwAaoKTWRSQyt89Q8w6J+oVQkKnBoblH7V0PPvUOvDYXfopE/SJmALsxnVm6LbkotrUtNowMeIrVrBcBpaMmdS0j9df7abpSuy7HWehwJdt1lhVwi/J58U5beXGAF6c3UXLycw1wdFklArBn87xdh0ZsZtArghBdAA3+OEDVubG4UEzP6x1FOWneHh2VDAHBAt80IbdXDcesNoCvs3E5AFyNSU5nbrDPZpcUEQQTFZiEVx+51fxMhhyJEAgvlriadIJZZksRuwBYMOPBbO3hePVVqgEJhFeUuFLhIPkRP6BQLIBrmMenujm/3g4zc398awIe90Zb5A1vREALqneMcYgP/xVQWlG+Ncu5vgwwlaUNx+3799rfe96u9K0JSDXcOzOTJg4B6IgmXfsygc7/Bvg9g9E58/cDVmGIBOP/zT8Bz1zqWqpbXIsd0O9hajXfL6u4BaOS6SeWAAAAAElFTkSuQmCC\" alt=\"doco\" style=\"background-color: inherit\"/> Documentation for this format</a></td></tr></table></div>"
  ] ;
  fhir:DomainResource.extension [
     fhir:index -1 ;
     fhir:Extension.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-legal-basis" ] ;
     fhir:Extension.valueCoding [
       fhir:Coding.system [ fhir:value "http://fhir.hl7.org.vn/core/CodeSystem/vn-legal-document-ref-cs" ] ;
       fhir:Coding.code [ fhir:value "QD-2113-2026" ]
     ]
  ], [
     fhir:index -1 ;
     fhir:Extension.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-legal-basis" ] ;
     fhir:Extension.valueCoding [
       fhir:Coding.system [ fhir:value "http://fhir.hl7.org.vn/core/CodeSystem/vn-legal-document-ref-cs" ] ;
       fhir:Coding.code [ fhir:value "TT-47-2026-BCA" ]
     ]
  ], [
     fhir:index -1 ;
     fhir:Extension.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-legal-basis" ] ;
     fhir:Extension.valueCoding [
       fhir:Element.extension [
         fhir:index -1 ;
         fhir:Extension.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/vn-ext-legal-basis-role" ] ;
         fhir:Extension.valueCode [ fhir:value "governing" ]
       ] ;
       fhir:Coding.system [ fhir:value "http://fhir.hl7.org.vn/core/CodeSystem/vn-legal-document-ref-cs" ] ;
       fhir:Coding.code [ fhir:value "TCVN-14423-2025" ]
     ]
  ] ;
  fhir:StructureDefinition.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/vnDataTraceabilityRecordLm"] ;
  fhir:StructureDefinition.identifier [
     fhir:index -1 ;
     fhir:Identifier.system [ fhir:value "urn:ietf:rfc:3986" ] ;
     fhir:Identifier.value [ fhir:value "urn:oid:2.25.161089673617632664299011809196868855799.42.197" ]
  ] ;
  fhir:StructureDefinition.version [ fhir:value "0.10.0"] ;
  fhir:StructureDefinition.name [ fhir:value "VNDataTraceabilityRecordLM"] ;
  fhir:StructureDefinition.title [ fhir:value "Dữ liệu truy vết và nhật ký truy cập (QĐ 2113/QĐ-BYT, TT 47/2026/TT-BCA) — Logical Model"] ;
  fhir:StructureDefinition.status [ fhir:value "draft"] ;
  fhir:StructureDefinition.date [ fhir:value "2026-09-22T23:37:51+07:00"^^xsd:dateTime] ;
  fhir:StructureDefinition.publisher [ fhir:value "Omi HealthTech / VN Core FHIR Community Initiative"] ;
  fhir:StructureDefinition.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:StructureDefinition.description [ fhir:value "Logical model đặc tả thông tin mà Quyết định 2113/QĐ-BYT buộc lưu trong dữ liệu truy vết, và thông tin mà Thông tư 47/2026/TT-BCA buộc có trong nhật ký truy cập hệ thống — Chỉ phần THỨ NHẤT làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile Provenance; phần thứ hai KHÔNG đóng vai trò ấy cho AuditEvent, vì lý do phạm vi nêu bên dưới.\n\nQĐ 2113/QĐ-BYT, Lớp 4 của mô hình an toàn dữ liệu, nêu nguyên văn: 'Truy vết dữ liệu (Data Lineage): là yêu cầu bắt buộc đối với tất cả hệ thống có chức năng chia sẻ, tích hợp hoặc phân tích dữ liệu. Dữ liệu truy vết phải bảo đảm lưu lại đầy đủ các thông tin sau: nguồn gốc dữ liệu; thời điểm và điều kiện thu thập; các hành động xử lý đã thực hiện; tổ chức hoặc đơn vị thực hiện hành động đó.'\n\nTT 47/2026/TT-BCA mục 3.9.2.1.4 nêu: 'Nhật ký truy cập hệ thống tối thiểu bao gồm các thông tin: địa chỉ nguồn, địa chỉ đích, tài khoản đích và thời điểm xảy ra sự kiện.' PHẠM VI: TT 47/2026/TT-BCA là QUY CHUẨN cho 'hệ thống thông tin lưu trữ tài liệu điện tử trong các cơ quan Đảng, Nhà nước' (mục 1.1), KHÔNG phải cho cơ sở khám bệnh, chữa bệnh nói chung — nên đây chỉ là căn cứ CÓ ĐIỀU KIỆN, áp khi hệ thống thật sự thuộc phạm vi Quy chuẩn. ĐÍNH CHÍNH 07/09/2026: câu trước đó trong chính Description này nói 'QĐ 2113/QĐ-BYT không quy định gì về nhật ký truy cập' là SAI — phụ lục của quyết định ấy CÓ, ở Lớp 5 'Người dùng an toàn': 'cá nhân truy cập vào hệ thống phải được xác thực định danh... Hệ thống phải ghi nhận đầy đủ lịch sử truy cập và có khả năng kiểm tra, truy vết (audit)', phạm vi tại mục III phủ 'các cơ sở y tế công lập và ngoài công lập'. Đó là nghĩa vụ NĂNG LỰC đúng phạm vi nhưng KHÔNG liệt kê trường — khác hẳn Lớp 4 vốn nói 'là yêu cầu bắt buộc' rồi liệt kê đủ bốn thông tin. Vì vậy MỌI trường của nhóm nhật ký khai 0..1, nhóm này KHÔNG dùng làm bảng chỉ tiêu đối chiếu ở chiều P-A, và ô sổ cái của VNCoreAuditEvent ở trạng thái hoãn."] ;
  fhir:StructureDefinition.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:StructureDefinition.fhirVersion [ fhir:value "4.0.1"] ;
  fhir:StructureDefinition.mapping [
     fhir:index -1 ;
     fhir:StructureDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
     fhir:StructureDefinition.mapping.uri [ fhir:value "http://fhir.hl7.org.vn/core/mapping/data-traceability-record-fhir" ] ;
     fhir:StructureDefinition.mapping.name [ fhir:value "VN Core FHIR mapping" ] ;
     fhir:StructureDefinition.mapping.comment [ fhir:value "Truy vết dữ liệu ánh xạ sang VNCoreProvenance; nhật ký truy cập sang VNCoreAuditEvent." ]
  ] ;
  fhir:StructureDefinition.kind [ fhir:value "logical"] ;
  fhir:StructureDefinition.abstract [ fhir:value "false"^^xsd:boolean] ;
  fhir:StructureDefinition.type [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/vnDataTraceabilityRecordLm"] ;
  fhir:StructureDefinition.baseDefinition [
     fhir:value "http://hl7.org/fhir/StructureDefinition/Base" ;
     fhir:link <http://hl7.org/fhir/StructureDefinition/Base>
  ] ;
  fhir:StructureDefinition.derivation [ fhir:value "specialization"] ;
  fhir:StructureDefinition.snapshot [
     fhir:Element.extension [
       fhir:index -1 ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version" ] ;
       fhir:Extension.valueString [ fhir:value "4.0.1" ]
     ] ;
     fhir:StructureDefinition.snapshot.element [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm" ] ;
       fhir:ElementDefinition.short [ fhir:value "Dữ liệu truy vết và nhật ký truy cập (QĐ 2113/QĐ-BYT, TT 47/2026/TT-BCA) — Logical Model" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Logical model đặc tả thông tin mà Quyết định 2113/QĐ-BYT buộc lưu trong dữ liệu truy vết, và thông tin mà Thông tư 47/2026/TT-BCA buộc có trong nhật ký truy cập hệ thống — Chỉ phần THỨ NHẤT làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile Provenance; phần thứ hai KHÔNG đóng vai trò ấy cho AuditEvent, vì lý do phạm vi nêu bên dưới.\n\nQĐ 2113/QĐ-BYT, Lớp 4 của mô hình an toàn dữ liệu, nêu nguyên văn: 'Truy vết dữ liệu (Data Lineage): là yêu cầu bắt buộc đối với tất cả hệ thống có chức năng chia sẻ, tích hợp hoặc phân tích dữ liệu. Dữ liệu truy vết phải bảo đảm lưu lại đầy đủ các thông tin sau: nguồn gốc dữ liệu; thời điểm và điều kiện thu thập; các hành động xử lý đã thực hiện; tổ chức hoặc đơn vị thực hiện hành động đó.'\n\nTT 47/2026/TT-BCA mục 3.9.2.1.4 nêu: 'Nhật ký truy cập hệ thống tối thiểu bao gồm các thông tin: địa chỉ nguồn, địa chỉ đích, tài khoản đích và thời điểm xảy ra sự kiện.' PHẠM VI: TT 47/2026/TT-BCA là QUY CHUẨN cho 'hệ thống thông tin lưu trữ tài liệu điện tử trong các cơ quan Đảng, Nhà nước' (mục 1.1), KHÔNG phải cho cơ sở khám bệnh, chữa bệnh nói chung — nên đây chỉ là căn cứ CÓ ĐIỀU KIỆN, áp khi hệ thống thật sự thuộc phạm vi Quy chuẩn. ĐÍNH CHÍNH 07/09/2026: câu trước đó trong chính Description này nói 'QĐ 2113/QĐ-BYT không quy định gì về nhật ký truy cập' là SAI — phụ lục của quyết định ấy CÓ, ở Lớp 5 'Người dùng an toàn': 'cá nhân truy cập vào hệ thống phải được xác thực định danh... Hệ thống phải ghi nhận đầy đủ lịch sử truy cập và có khả năng kiểm tra, truy vết (audit)', phạm vi tại mục III phủ 'các cơ sở y tế công lập và ngoài công lập'. Đó là nghĩa vụ NĂNG LỰC đúng phạm vi nhưng KHÔNG liệt kê trường — khác hẳn Lớp 4 vốn nói 'là yêu cầu bắt buộc' rồi liệt kê đủ bốn thông tin. Vì vậy MỌI trường của nhóm nhật ký khai 0..1, nhóm này KHÔNG dùng làm bảng chỉ tiêu đối chiếu ở chiều P-A, và ô sổ cái của VNCoreAuditEvent ở trạng thái hoãn." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "*" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "Base" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "*" ]
       ] ;
       fhir:ElementDefinition.isModifier [ fhir:value "false"^^xsd:boolean ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu" ] ;
       fhir:ElementDefinition.short [ fhir:value "Thông tin truy vết phải lưu cho dữ liệu được chia sẻ, tích hợp hoặc phân tích" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Thông tin truy vết phải lưu cho dữ liệu được chia sẻ, tích hợp hoặc phân tích" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Văn bản nói 'yêu cầu BẮT BUỘC đối với tất cả hệ thống có chức năng chia sẻ, tích hợp hoặc phân tích dữ liệu' — một IG trao đổi dữ liệu nằm trọn trong phạm vi ấy. Truy vết còn 'phải được tổ chức thành hệ thống tập trung hoặc tích hợp với giải pháp SIEM/DAM để phục vụ kiểm toán và cảnh báo sự cố', tức là dữ liệu này phải rút ra được, không chỉ nằm rải trong từng resource." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "BackboneElement" ]
       ] ;
       fhir:ElementDefinition.constraint [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ele-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "All FHIR elements must have a @value or children" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "hasValue() or (children().count() > id.count())" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "@value|f:*|h:div" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Element>
         ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.id" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.id" ] ;
       fhir:ElementDefinition.representation [
         fhir:value "xmlAttr" ;
         fhir:index -1
       ] ;
       fhir:ElementDefinition.short [ fhir:value "Unique id for inter-element referencing" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "Element.id" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:Element.extension [
           fhir:index -1 ;
           fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type" ] ;
           fhir:Extension.valueUrl [ fhir:value "string" ]
         ] ;
         fhir:ElementDefinition.type.code [ fhir:value "http://hl7.org/fhirpath/System.String" ]
       ] ;
       fhir:ElementDefinition.isModifier [ fhir:value "false"^^xsd:boolean ] ;
       fhir:ElementDefinition.isSummary [ fhir:value "false"^^xsd:boolean ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "rim" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "n/a" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.extension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.extension" ] ;
       fhir:ElementDefinition.slicing [
         fhir:ElementDefinition.slicing.discriminator [
           fhir:index -1 ;
           fhir:ElementDefinition.slicing.discriminator.type [ fhir:value "value" ] ;
           fhir:ElementDefinition.slicing.discriminator.path [ fhir:value "url" ]
         ] ;
         fhir:ElementDefinition.slicing.description [ fhir:value "Extensions are always sliced by (at least) url" ] ;
         fhir:ElementDefinition.slicing.rules [ fhir:value "open" ]
       ] ;
       fhir:ElementDefinition.short [ fhir:value "Additional content defined by implementations" ] ;
       fhir:ElementDefinition.definition [ fhir:value "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." ] ;
       fhir:ElementDefinition.comment [ fhir:value "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." ] ;
       fhir:ElementDefinition.alias [
         fhir:value "extensions" ;
         fhir:index -1
       ], [
         fhir:value "user content" ;
         fhir:index -1
       ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "*" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "Element.extension" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "*" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "Extension" ]
       ] ;
       fhir:ElementDefinition.constraint [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ele-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "All FHIR elements must have a @value or children" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "hasValue() or (children().count() > id.count())" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "@value|f:*|h:div" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Element>
         ]
       ], [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ext-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "Must have either extensions or value[x], not both" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "extension.exists() != value.exists()" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Extension" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Extension>
         ]
       ] ;
       fhir:ElementDefinition.isModifier [ fhir:value "false"^^xsd:boolean ] ;
       fhir:ElementDefinition.isSummary [ fhir:value "false"^^xsd:boolean ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "rim" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "n/a" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.modifierExtension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.modifierExtension" ] ;
       fhir:ElementDefinition.short [ fhir:value "Extensions that cannot be ignored even if unrecognized" ] ;
       fhir:ElementDefinition.definition [ fhir:value "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." ] ;
       fhir:ElementDefinition.comment [ fhir:value "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." ] ;
       fhir:ElementDefinition.requirements [ fhir:value "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension)." ] ;
       fhir:ElementDefinition.alias [
         fhir:value "extensions" ;
         fhir:index -1
       ], [
         fhir:value "user content" ;
         fhir:index -1
       ], [
         fhir:value "modifiers" ;
         fhir:index -1
       ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "*" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "BackboneElement.modifierExtension" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "*" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "Extension" ]
       ] ;
       fhir:ElementDefinition.constraint [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ele-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "All FHIR elements must have a @value or children" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "hasValue() or (children().count() > id.count())" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "@value|f:*|h:div" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Element>
         ]
       ], [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ext-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "Must have either extensions or value[x], not both" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "extension.exists() != value.exists()" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Extension" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Extension>
         ]
       ] ;
       fhir:ElementDefinition.isModifier [ fhir:value "true"^^xsd:boolean ] ;
       fhir:ElementDefinition.isModifierReason [ fhir:value "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" ] ;
       fhir:ElementDefinition.isSummary [ fhir:value "true"^^xsd:boolean ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "rim" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "N/A" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.nguonGocDuLieu" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.nguonGocDuLieu" ] ;
       fhir:ElementDefinition.short [ fhir:value "Nguồn gốc dữ liệu" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Nguồn gốc dữ liệu" ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.nguonGocDuLieu" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.entity.what" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.thoiDiemThuThap" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.thoiDiemThuThap" ] ;
       fhir:ElementDefinition.short [ fhir:value "Thời điểm thu thập" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Thời điểm thu thập" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Sửa 06/09/2026 sau phản biện Fable: `recorded` là lúc GHI bản ghi truy vết, còn văn bản hỏi thời điểm THU THẬP dữ liệu — đó là `occurred[x]`." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.thoiDiemThuThap" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "dateTime" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.occurred[x]" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.dieuKienThuThap" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.dieuKienThuThap" ] ;
       fhir:ElementDefinition.short [ fhir:value "Điều kiện thu thập" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Điều kiện thu thập" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Văn bản ghép 'thời điểm và điều kiện thu thập' trong một cụm nhưng đó là hai thông tin: khi nào lấy, và lấy theo căn cứ nào. Trên Provenance, căn cứ nằm ở `policy` (chính sách hoặc quy định cho phép) và `reason` (lý do xử lý)." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.dieuKienThuThap" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.policy" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.hanhDongXuLy" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.hanhDongXuLy" ] ;
       fhir:ElementDefinition.short [ fhir:value "Các hành động xử lý đã thực hiện" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Các hành động xử lý đã thực hiện" ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.hanhDongXuLy" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.activity" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.donViThucHien" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.donViThucHien" ] ;
       fhir:ElementDefinition.short [ fhir:value "Tổ chức hoặc đơn vị thực hiện hành động" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Tổ chức hoặc đơn vị thực hiện hành động" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Văn bản nói 'tổ chức hoặc đơn vị', tức chủ thể pháp nhân chịu trách nhiệm — trên Provenance là `agent.who` khi tác nhân là tổ chức, hoặc `agent.onBehalfOf` khi người thực hiện hành động thay mặt một tổ chức." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.donViThucHien" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.agent.who" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap" ] ;
       fhir:ElementDefinition.short [ fhir:value "Bản ghi nhật ký truy cập hệ thống" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Bản ghi nhật ký truy cập hệ thống" ] ;
       fhir:ElementDefinition.comment [ fhir:value "MỌI trường của nhóm khai 0..1 — không trường nào bắt buộc, vì chưa có văn bản nào liệt kê nội dung bản ghi nhật ký truy cập cho cơ sở khám bệnh, chữa bệnh. Xem khối chú thích trên để biết sáu căn cứ đã thử và vì sao từng cái bị bác. Nhóm vẫn giữ lại vì nó mô tả đúng hình dạng dữ liệu mà một hệ thống thuộc diện TT 47/2026/TT-BCA phải sinh ra, và vì QĐ 2113/QĐ-BYT Lớp 5 có nghĩa vụ NĂNG LỰC đúng phạm vi y tế (`ghi nhận đầy đủ lịch sử truy cập và có khả năng kiểm tra, truy vết`) dù không liệt kê trường. Ba trường `nguoiSuDung`, `hanhDong`, `trangThai` từng được thêm rồi rút lại trong ngày 07/09/2026: chúng phản ánh bốn thành phần trong ĐỊNH NGHĨA nhật ký hệ thống của Luật 116/2025/QH15 Điều 2 khoản 11, nhưng định nghĩa thuật ngữ không phải nghĩa vụ trường — `trangThai` đã gỡ hẳn, hai trường còn lại giữ ở 0..1 như cấu trúc thiết kế của IG." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "BackboneElement" ]
       ] ;
       fhir:ElementDefinition.constraint [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ele-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "All FHIR elements must have a @value or children" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "hasValue() or (children().count() > id.count())" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "@value|f:*|h:div" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Element>
         ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.id" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.id" ] ;
       fhir:ElementDefinition.representation [
         fhir:value "xmlAttr" ;
         fhir:index -1
       ] ;
       fhir:ElementDefinition.short [ fhir:value "Unique id for inter-element referencing" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "Element.id" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:Element.extension [
           fhir:index -1 ;
           fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type" ] ;
           fhir:Extension.valueUrl [ fhir:value "string" ]
         ] ;
         fhir:ElementDefinition.type.code [ fhir:value "http://hl7.org/fhirpath/System.String" ]
       ] ;
       fhir:ElementDefinition.isModifier [ fhir:value "false"^^xsd:boolean ] ;
       fhir:ElementDefinition.isSummary [ fhir:value "false"^^xsd:boolean ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "rim" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "n/a" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.extension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.extension" ] ;
       fhir:ElementDefinition.slicing [
         fhir:ElementDefinition.slicing.discriminator [
           fhir:index -1 ;
           fhir:ElementDefinition.slicing.discriminator.type [ fhir:value "value" ] ;
           fhir:ElementDefinition.slicing.discriminator.path [ fhir:value "url" ]
         ] ;
         fhir:ElementDefinition.slicing.description [ fhir:value "Extensions are always sliced by (at least) url" ] ;
         fhir:ElementDefinition.slicing.rules [ fhir:value "open" ]
       ] ;
       fhir:ElementDefinition.short [ fhir:value "Additional content defined by implementations" ] ;
       fhir:ElementDefinition.definition [ fhir:value "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." ] ;
       fhir:ElementDefinition.comment [ fhir:value "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." ] ;
       fhir:ElementDefinition.alias [
         fhir:value "extensions" ;
         fhir:index -1
       ], [
         fhir:value "user content" ;
         fhir:index -1
       ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "*" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "Element.extension" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "*" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "Extension" ]
       ] ;
       fhir:ElementDefinition.constraint [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ele-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "All FHIR elements must have a @value or children" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "hasValue() or (children().count() > id.count())" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "@value|f:*|h:div" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Element>
         ]
       ], [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ext-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "Must have either extensions or value[x], not both" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "extension.exists() != value.exists()" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Extension" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Extension>
         ]
       ] ;
       fhir:ElementDefinition.isModifier [ fhir:value "false"^^xsd:boolean ] ;
       fhir:ElementDefinition.isSummary [ fhir:value "false"^^xsd:boolean ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "rim" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "n/a" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.modifierExtension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.modifierExtension" ] ;
       fhir:ElementDefinition.short [ fhir:value "Extensions that cannot be ignored even if unrecognized" ] ;
       fhir:ElementDefinition.definition [ fhir:value "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." ] ;
       fhir:ElementDefinition.comment [ fhir:value "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." ] ;
       fhir:ElementDefinition.requirements [ fhir:value "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension)." ] ;
       fhir:ElementDefinition.alias [
         fhir:value "extensions" ;
         fhir:index -1
       ], [
         fhir:value "user content" ;
         fhir:index -1
       ], [
         fhir:value "modifiers" ;
         fhir:index -1
       ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "*" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "BackboneElement.modifierExtension" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "*" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "Extension" ]
       ] ;
       fhir:ElementDefinition.constraint [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ele-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "All FHIR elements must have a @value or children" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "hasValue() or (children().count() > id.count())" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "@value|f:*|h:div" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Element" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Element>
         ]
       ], [
         fhir:index -1 ;
         fhir:ElementDefinition.constraint.key [ fhir:value "ext-1" ] ;
         fhir:ElementDefinition.constraint.severity [ fhir:value "error" ] ;
         fhir:ElementDefinition.constraint.human [ fhir:value "Must have either extensions or value[x], not both" ] ;
         fhir:ElementDefinition.constraint.expression [ fhir:value "extension.exists() != value.exists()" ] ;
         fhir:ElementDefinition.constraint.xpath [ fhir:value "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])" ] ;
         fhir:ElementDefinition.constraint.source [
           fhir:value "http://hl7.org/fhir/StructureDefinition/Extension" ;
           fhir:link <http://hl7.org/fhir/StructureDefinition/Extension>
         ]
       ] ;
       fhir:ElementDefinition.isModifier [ fhir:value "true"^^xsd:boolean ] ;
       fhir:ElementDefinition.isModifierReason [ fhir:value "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" ] ;
       fhir:ElementDefinition.isSummary [ fhir:value "true"^^xsd:boolean ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "rim" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "N/A" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiNguon" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiNguon" ] ;
       fhir:ElementDefinition.short [ fhir:value "Địa chỉ nguồn (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Địa chỉ nguồn (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiNguon" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.agent.network" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiDich" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiDich" ] ;
       fhir:ElementDefinition.short [ fhir:value "Địa chỉ đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Địa chỉ đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiDich" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.source.observer" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.taiKhoanDich" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.taiKhoanDich" ] ;
       fhir:ElementDefinition.short [ fhir:value "Tài khoản đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Tài khoản đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Tài khoản bị truy cập tới, phân biệt với tài khoản thực hiện truy cập. Trên AuditEvent, tác nhân yêu cầu mang `agent.requestor = true`, còn đối tượng bị tác động nằm ở `entity`." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.taiKhoanDich" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.entity.what" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.nguoiSuDung" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.nguoiSuDung" ] ;
       fhir:ElementDefinition.short [ fhir:value "NGƯỜI DÙNG — tài khoản thực hiện thao tác" ] ;
       fhir:ElementDefinition.definition [ fhir:value "NGƯỜI DÙNG — tài khoản thực hiện thao tác" ] ;
       fhir:ElementDefinition.comment [ fhir:value "QĐ 2113/QĐ-BYT Lớp 5 nói `cá nhân truy cập vào hệ thống phải được xác thực định danh, phân quyền rõ ràng theo vai trò` — nghĩa vụ đúng phạm vi y tế nhưng ở mức NĂNG LỰC. TT 54/2017/TT-BYT nhóm VI tiêu chí 94 mô tả `ghi vết (log) lại toàn bộ tác động của các người dùng trên hệ thống`, nhưng đó là tiêu chí xếp mức, không phải nghĩa vụ. Vì vậy element giữ 0..1. Phân biệt với `taiKhoanDich`: đây là bên THỰC HIỆN, kia là đối tượng BỊ tác động." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.nguoiSuDung" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.agent.who" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.hanhDong" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.hanhDong" ] ;
       fhir:ElementDefinition.short [ fhir:value "HOẠT ĐỘNG — loại thao tác đã thực hiện" ] ;
       fhir:ElementDefinition.definition [ fhir:value "HOẠT ĐỘNG — loại thao tác đã thực hiện" ] ;
       fhir:ElementDefinition.comment [ fhir:value "TT 54/2017/TT-BYT Phụ lục I nhóm VII tiêu chí 116 MÔ TẢ năng lực `ghi vết các chức năng cập nhật dữ liệu vào hệ thống và các chức năng khai thác dữ liệu chính` — tức cả ghi lẫn đọc. Dùng chữ MÔ TẢ chứ không phải BUỘC là có chủ ý (sửa 07/09/2026 sau phản biện): thông tư ấy là thang xếp mức ứng dụng CNTT, Điều 4 khoản 3 nói không đạt tiêu chí thì `xếp ở mức thấp hơn liền kề` chứ không phải vi phạm, nên nó không đặt nghĩa vụ trường. Trên AuditEvent, loại thao tác nằm ở `action` với bộ mã C/R/U/D/E của FHIR. Element giữ 0..1." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.hanhDong" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "code" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.action" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.thoiDiemSuKien" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.thoiDiemSuKien" ] ;
       fhir:ElementDefinition.short [ fhir:value "Thời điểm xảy ra sự kiện" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Thời điểm xảy ra sự kiện" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Thời điểm XẢY RA sự kiện, nên đích là `AuditEvent.period` — FHIR R4 định nghĩa `period` là `The period during which the activity occurred`, còn `recorded` là `The time when the event was recorded`. SỬA 07/09/2026 sau phản biện Codex: bản trước trỏ `recorded` và lấy chính việc `recorded` có min = 1 làm lý do đóng ô — chọn đích vì nó mạnh chứ không vì nó đúng nghĩa, đúng lớp lỗi `XẢY RA ≠ GHI NHẬN` mà cổng Fable từng bắt ở một model khác. Element giữ 0..1: QĐ 2113/QĐ-BYT Lớp 5 buộc `ghi nhận đầy đủ lịch sử truy cập` nhưng đó là nghĩa vụ NĂNG LỰC, không liệt kê trường. TT 47/2026/TT-BCA mục 3.9.1 gắn nghĩa vụ này với ĐỒNG BỘ THỜI GIAN toàn hệ thống — căn cứ bổ sung cho hệ thống thuộc diện Quy chuẩn ấy." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.thoiDiemSuKien" ] ;
         fhir:ElementDefinition.base.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
         fhir:ElementDefinition.base.max [ fhir:value "1" ]
       ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "dateTime" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.period.start" ]
       ]
     ]
  ] ;
  fhir:StructureDefinition.differential [
     fhir:StructureDefinition.differential.element [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm" ] ;
       fhir:ElementDefinition.short [ fhir:value "Dữ liệu truy vết và nhật ký truy cập (QĐ 2113/QĐ-BYT, TT 47/2026/TT-BCA) — Logical Model" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Logical model đặc tả thông tin mà Quyết định 2113/QĐ-BYT buộc lưu trong dữ liệu truy vết, và thông tin mà Thông tư 47/2026/TT-BCA buộc có trong nhật ký truy cập hệ thống — Chỉ phần THỨ NHẤT làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile Provenance; phần thứ hai KHÔNG đóng vai trò ấy cho AuditEvent, vì lý do phạm vi nêu bên dưới.\n\nQĐ 2113/QĐ-BYT, Lớp 4 của mô hình an toàn dữ liệu, nêu nguyên văn: 'Truy vết dữ liệu (Data Lineage): là yêu cầu bắt buộc đối với tất cả hệ thống có chức năng chia sẻ, tích hợp hoặc phân tích dữ liệu. Dữ liệu truy vết phải bảo đảm lưu lại đầy đủ các thông tin sau: nguồn gốc dữ liệu; thời điểm và điều kiện thu thập; các hành động xử lý đã thực hiện; tổ chức hoặc đơn vị thực hiện hành động đó.'\n\nTT 47/2026/TT-BCA mục 3.9.2.1.4 nêu: 'Nhật ký truy cập hệ thống tối thiểu bao gồm các thông tin: địa chỉ nguồn, địa chỉ đích, tài khoản đích và thời điểm xảy ra sự kiện.' PHẠM VI: TT 47/2026/TT-BCA là QUY CHUẨN cho 'hệ thống thông tin lưu trữ tài liệu điện tử trong các cơ quan Đảng, Nhà nước' (mục 1.1), KHÔNG phải cho cơ sở khám bệnh, chữa bệnh nói chung — nên đây chỉ là căn cứ CÓ ĐIỀU KIỆN, áp khi hệ thống thật sự thuộc phạm vi Quy chuẩn. ĐÍNH CHÍNH 07/09/2026: câu trước đó trong chính Description này nói 'QĐ 2113/QĐ-BYT không quy định gì về nhật ký truy cập' là SAI — phụ lục của quyết định ấy CÓ, ở Lớp 5 'Người dùng an toàn': 'cá nhân truy cập vào hệ thống phải được xác thực định danh... Hệ thống phải ghi nhận đầy đủ lịch sử truy cập và có khả năng kiểm tra, truy vết (audit)', phạm vi tại mục III phủ 'các cơ sở y tế công lập và ngoài công lập'. Đó là nghĩa vụ NĂNG LỰC đúng phạm vi nhưng KHÔNG liệt kê trường — khác hẳn Lớp 4 vốn nói 'là yêu cầu bắt buộc' rồi liệt kê đủ bốn thông tin. Vì vậy MỌI trường của nhóm nhật ký khai 0..1, nhóm này KHÔNG dùng làm bảng chỉ tiêu đối chiếu ở chiều P-A, và ô sổ cái của VNCoreAuditEvent ở trạng thái hoãn." ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu" ] ;
       fhir:ElementDefinition.short [ fhir:value "Thông tin truy vết phải lưu cho dữ liệu được chia sẻ, tích hợp hoặc phân tích" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Thông tin truy vết phải lưu cho dữ liệu được chia sẻ, tích hợp hoặc phân tích" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Văn bản nói 'yêu cầu BẮT BUỘC đối với tất cả hệ thống có chức năng chia sẻ, tích hợp hoặc phân tích dữ liệu' — một IG trao đổi dữ liệu nằm trọn trong phạm vi ấy. Truy vết còn 'phải được tổ chức thành hệ thống tập trung hoặc tích hợp với giải pháp SIEM/DAM để phục vụ kiểm toán và cảnh báo sự cố', tức là dữ liệu này phải rút ra được, không chỉ nằm rải trong từng resource." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "BackboneElement" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.nguonGocDuLieu" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.nguonGocDuLieu" ] ;
       fhir:ElementDefinition.short [ fhir:value "Nguồn gốc dữ liệu" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Nguồn gốc dữ liệu" ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.entity.what" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.thoiDiemThuThap" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.thoiDiemThuThap" ] ;
       fhir:ElementDefinition.short [ fhir:value "Thời điểm thu thập" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Thời điểm thu thập" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Sửa 06/09/2026 sau phản biện Fable: `recorded` là lúc GHI bản ghi truy vết, còn văn bản hỏi thời điểm THU THẬP dữ liệu — đó là `occurred[x]`." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "dateTime" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.occurred[x]" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.dieuKienThuThap" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.dieuKienThuThap" ] ;
       fhir:ElementDefinition.short [ fhir:value "Điều kiện thu thập" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Điều kiện thu thập" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Văn bản ghép 'thời điểm và điều kiện thu thập' trong một cụm nhưng đó là hai thông tin: khi nào lấy, và lấy theo căn cứ nào. Trên Provenance, căn cứ nằm ở `policy` (chính sách hoặc quy định cho phép) và `reason` (lý do xử lý)." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.policy" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.hanhDongXuLy" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.hanhDongXuLy" ] ;
       fhir:ElementDefinition.short [ fhir:value "Các hành động xử lý đã thực hiện" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Các hành động xử lý đã thực hiện" ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.activity" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.donViThucHien" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.truyVetDuLieu.donViThucHien" ] ;
       fhir:ElementDefinition.short [ fhir:value "Tổ chức hoặc đơn vị thực hiện hành động" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Tổ chức hoặc đơn vị thực hiện hành động" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Văn bản nói 'tổ chức hoặc đơn vị', tức chủ thể pháp nhân chịu trách nhiệm — trên Provenance là `agent.who` khi tác nhân là tổ chức, hoặc `agent.onBehalfOf` khi người thực hiện hành động thay mặt một tổ chức." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreProvenance.agent.who" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap" ] ;
       fhir:ElementDefinition.short [ fhir:value "Bản ghi nhật ký truy cập hệ thống" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Bản ghi nhật ký truy cập hệ thống" ] ;
       fhir:ElementDefinition.comment [ fhir:value "MỌI trường của nhóm khai 0..1 — không trường nào bắt buộc, vì chưa có văn bản nào liệt kê nội dung bản ghi nhật ký truy cập cho cơ sở khám bệnh, chữa bệnh. Xem khối chú thích trên để biết sáu căn cứ đã thử và vì sao từng cái bị bác. Nhóm vẫn giữ lại vì nó mô tả đúng hình dạng dữ liệu mà một hệ thống thuộc diện TT 47/2026/TT-BCA phải sinh ra, và vì QĐ 2113/QĐ-BYT Lớp 5 có nghĩa vụ NĂNG LỰC đúng phạm vi y tế (`ghi nhận đầy đủ lịch sử truy cập và có khả năng kiểm tra, truy vết`) dù không liệt kê trường. Ba trường `nguoiSuDung`, `hanhDong`, `trangThai` từng được thêm rồi rút lại trong ngày 07/09/2026: chúng phản ánh bốn thành phần trong ĐỊNH NGHĨA nhật ký hệ thống của Luật 116/2025/QH15 Điều 2 khoản 11, nhưng định nghĩa thuật ngữ không phải nghĩa vụ trường — `trangThai` đã gỡ hẳn, hai trường còn lại giữ ở 0..1 như cấu trúc thiết kế của IG." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "BackboneElement" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiNguon" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiNguon" ] ;
       fhir:ElementDefinition.short [ fhir:value "Địa chỉ nguồn (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Địa chỉ nguồn (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.agent.network" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiDich" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.diaChiDich" ] ;
       fhir:ElementDefinition.short [ fhir:value "Địa chỉ đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Địa chỉ đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.source.observer" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.taiKhoanDich" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.taiKhoanDich" ] ;
       fhir:ElementDefinition.short [ fhir:value "Tài khoản đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Tài khoản đích (chỉ bắt buộc với hệ thống thuộc diện TT 47/2026/TT-BCA)" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Tài khoản bị truy cập tới, phân biệt với tài khoản thực hiện truy cập. Trên AuditEvent, tác nhân yêu cầu mang `agent.requestor = true`, còn đối tượng bị tác động nằm ở `entity`." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.entity.what" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.nguoiSuDung" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.nguoiSuDung" ] ;
       fhir:ElementDefinition.short [ fhir:value "NGƯỜI DÙNG — tài khoản thực hiện thao tác" ] ;
       fhir:ElementDefinition.definition [ fhir:value "NGƯỜI DÙNG — tài khoản thực hiện thao tác" ] ;
       fhir:ElementDefinition.comment [ fhir:value "QĐ 2113/QĐ-BYT Lớp 5 nói `cá nhân truy cập vào hệ thống phải được xác thực định danh, phân quyền rõ ràng theo vai trò` — nghĩa vụ đúng phạm vi y tế nhưng ở mức NĂNG LỰC. TT 54/2017/TT-BYT nhóm VI tiêu chí 94 mô tả `ghi vết (log) lại toàn bộ tác động của các người dùng trên hệ thống`, nhưng đó là tiêu chí xếp mức, không phải nghĩa vụ. Vì vậy element giữ 0..1. Phân biệt với `taiKhoanDich`: đây là bên THỰC HIỆN, kia là đối tượng BỊ tác động." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "string" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.agent.who" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.hanhDong" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.hanhDong" ] ;
       fhir:ElementDefinition.short [ fhir:value "HOẠT ĐỘNG — loại thao tác đã thực hiện" ] ;
       fhir:ElementDefinition.definition [ fhir:value "HOẠT ĐỘNG — loại thao tác đã thực hiện" ] ;
       fhir:ElementDefinition.comment [ fhir:value "TT 54/2017/TT-BYT Phụ lục I nhóm VII tiêu chí 116 MÔ TẢ năng lực `ghi vết các chức năng cập nhật dữ liệu vào hệ thống và các chức năng khai thác dữ liệu chính` — tức cả ghi lẫn đọc. Dùng chữ MÔ TẢ chứ không phải BUỘC là có chủ ý (sửa 07/09/2026 sau phản biện): thông tư ấy là thang xếp mức ứng dụng CNTT, Điều 4 khoản 3 nói không đạt tiêu chí thì `xếp ở mức thấp hơn liền kề` chứ không phải vi phạm, nên nó không đặt nghĩa vụ trường. Trên AuditEvent, loại thao tác nằm ở `action` với bộ mã C/R/U/D/E của FHIR. Element giữ 0..1." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "code" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.action" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.thoiDiemSuKien" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnDataTraceabilityRecordLm.nhatKyTruyCap.thoiDiemSuKien" ] ;
       fhir:ElementDefinition.short [ fhir:value "Thời điểm xảy ra sự kiện" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Thời điểm xảy ra sự kiện" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Thời điểm XẢY RA sự kiện, nên đích là `AuditEvent.period` — FHIR R4 định nghĩa `period` là `The period during which the activity occurred`, còn `recorded` là `The time when the event was recorded`. SỬA 07/09/2026 sau phản biện Codex: bản trước trỏ `recorded` và lấy chính việc `recorded` có min = 1 làm lý do đóng ô — chọn đích vì nó mạnh chứ không vì nó đúng nghĩa, đúng lớp lỗi `XẢY RA ≠ GHI NHẬN` mà cổng Fable từng bắt ở một model khác. Element giữ 0..1: QĐ 2113/QĐ-BYT Lớp 5 buộc `ghi nhận đầy đủ lịch sử truy cập` nhưng đó là nghĩa vụ NĂNG LỰC, không liệt kê trường. TT 47/2026/TT-BCA mục 3.9.1 gắn nghĩa vụ này với ĐỒNG BỘ THỜI GIAN toàn hệ thống — căn cứ bổ sung cho hệ thống thuộc diện Quy chuẩn ấy." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.type [
         fhir:index -1 ;
         fhir:ElementDefinition.type.code [ fhir:value "dateTime" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreAuditEvent.period.start" ]
       ]
     ]
  ] .

# - ontology header ------------------------------------------------------------

<http://fhir.hl7.org.vn/core/StructureDefinition/vnDataTraceabilityRecordLm.ttl> a owl:Ontology ;
  owl:imports fhir:fhir.ttl .

# -------------------------------------------------------------------------------------

