@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/vnPersonalDataConsentRecordLm> a fhir:StructureDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:Resource.id [ fhir:value "vnPersonalDataConsentRecordLm"] ;
  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 vnPersonalDataConsentRecordLm</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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm\" title=\"Logical model đặc tả nội dung mà Nghị định 356/2025/NĐ-CP (ban hành 31/12/2025, hiệu lực 01/01/2026) BUỘC phải có trong bản ghi sự đồng ý của chủ thể dữ liệu và trong thông báo vi phạm quy định bảo vệ dữ liệu cá nhân — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của nhóm profile đồng ý và thông báo vi phạm.#xA;#xA;Điều 6 khoản 1 nêu nguyên văn: 'Các phương thức xin sự đồng ý của chủ thể dữ liệu cá nhân phải bảo đảm khả năng kiểm chứng được về việc xác định chủ thể dữ liệu cá nhân đã thực hiện sự đồng ý, thời điểm và nội dung được đồng ý.' Ba thông tin ấy là điều kiện để sự đồng ý KIỂM CHỨNG ĐƯỢC — thiếu một trong ba thì bản ghi không chứng minh được gì. Khoản 2 buộc lưu trữ sự đồng ý và đặt trách nhiệm chứng minh lên bên kiểm soát dữ liệu khi có tranh chấp; khoản 4 buộc thông báo rõ cho chủ thể khi dữ liệu cần xử lý là dữ liệu cá nhân NHẠY CẢM — mọi dữ liệu sức khoẻ đều thuộc nhóm này.#xA;#xA;Điều 28 khoản 1 liệt kê bốn nhóm nội dung của thông báo vi phạm: (a) mô tả tính chất vi phạm gồm thời gian, địa điểm, hành vi, tổ chức/cá nhân, các loại dữ liệu và số lượng dữ liệu liên quan; (b) chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhân; (c) mô tả hậu quả, thiệt hại có thể xảy ra; (d) mô tả biện pháp giải quyết, giảm thiểu tác hại. / Logical model for the consent record and data-breach notification content required by Decree 356/2025/NĐ-CP.\">vnPersonalDataConsentRecordLm</a><a name=\"vnPersonalDataConsentRecordLm\"> </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\">Bản ghi sự đồng ý và thông báo vi phạm dữ liệu cá nhân (NĐ 356/2025/NĐ-CP) — 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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.suDongY\" title=\"Bản ghi sự đồng ý của chủ thể dữ liệu cá nhân\">suDongY</a><a name=\"vnPersonalDataConsentRecordLm.suDongY\"> </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\">Bản ghi sự đồng ý của chủ thể dữ liệu cá nhâ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_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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.suDongY.chuTheDuLieu\" title=\"Chủ thể dữ liệu cá nhân đã thực hiện sự đồng ý\">chuTheDuLieu</a><a name=\"vnPersonalDataConsentRecordLm.suDongY.chuTheDuLieu\"> </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\">Chủ thể dữ liệu cá nhân đã thực hiện sự đồ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_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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.suDongY.thoiDiemDongY\" title=\"Thời điểm đồng ý\">thoiDiemDongY</a><a name=\"vnPersonalDataConsentRecordLm.suDongY.thoiDiemDongY\"> </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 đồ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_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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.suDongY.noiDungDuocDongY\" title=\"Nội dung được đồng ý\">noiDungDuocDongY</a><a name=\"vnPersonalDataConsentRecordLm.suDongY.noiDungDuocDongY\"> </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\">Nội dung được đồ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_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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.suDongY.phuongThucDongY\" title=\"Phương thức thể hiện sự đồng ý\">phuongThucDongY</a><a name=\"vnPersonalDataConsentRecordLm.suDongY.phuongThucDongY\"> </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\">Phương thức thể hiện sự đồ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_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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.suDongY.thongBaoDuLieuNhayCam\" title=\"Đã thông báo dữ liệu cần xử lý là dữ liệu cá nhân nhạy cảm\">thongBaoDuLieuNhayCam</a><a name=\"vnPersonalDataConsentRecordLm.suDongY.thongBaoDuLieuNhayCam\"> </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#boolean\">boolean</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\">Đã thông báo dữ liệu cần xử lý là dữ liệu cá nhân nhạy cảm</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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.thongBaoViPham\" title=\"Nội dung thông báo vi phạm quy định bảo vệ dữ liệu cá nhân\">thongBaoViPham</a><a name=\"vnPersonalDataConsentRecordLm.thongBaoViPham\"> </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\">Nội dung thông báo vi phạm quy định bảo vệ dữ liệu cá nhâ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_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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.thongBaoViPham.tinhChatViPham\" title=\"Mô tả tính chất của việc vi phạm\">tinhChatViPham</a><a name=\"vnPersonalDataConsentRecordLm.thongBaoViPham.tinhChatViPham\"> </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\">Mô tả tính chất của việc vi phạm</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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.thongBaoViPham.chiTietLienLac\" title=\"Chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhân\">chiTietLienLac</a><a name=\"vnPersonalDataConsentRecordLm.thongBaoViPham.chiTietLienLac\"> </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\">Chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhâ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_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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.thongBaoViPham.hauQuaThietHai\" title=\"Mô tả hậu quả, thiệt hại có thể xảy ra\">hauQuaThietHai</a><a name=\"vnPersonalDataConsentRecordLm.thongBaoViPham.hauQuaThietHai\"> </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\">Mô tả hậu quả, thiệt hại có thể xảy ra</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-vnPersonalDataConsentRecordLm-definitions.html#vnPersonalDataConsentRecordLm.thongBaoViPham.bienPhapGiaiQuyet\" title=\"Mô tả biện pháp giải quyết, giảm thiểu tác hại\">bienPhapGiaiQuyet</a><a name=\"vnPersonalDataConsentRecordLm.thongBaoViPham.bienPhapGiaiQuyet\"> </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\">Mô tả biện pháp giải quyết, giảm thiểu tác hại</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 "ND-356-2025" ]
     ]
  ], [
     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 "L-91-2025" ]
     ]
  ] ;
  fhir:StructureDefinition.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/vnPersonalDataConsentRecordLm"] ;
  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.219" ]
  ] ;
  fhir:StructureDefinition.version [ fhir:value "0.10.0"] ;
  fhir:StructureDefinition.name [ fhir:value "VNPersonalDataConsentRecordLM"] ;
  fhir:StructureDefinition.title [ fhir:value "Bản ghi sự đồng ý và thông báo vi phạm dữ liệu cá nhân (NĐ 356/2025/NĐ-CP) — 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ả nội dung mà Nghị định 356/2025/NĐ-CP (ban hành 31/12/2025, hiệu lực 01/01/2026) BUỘC phải có trong bản ghi sự đồng ý của chủ thể dữ liệu và trong thông báo vi phạm quy định bảo vệ dữ liệu cá nhân — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của nhóm profile đồng ý và thông báo vi phạm.\n\nĐiều 6 khoản 1 nêu nguyên văn: 'Các phương thức xin sự đồng ý của chủ thể dữ liệu cá nhân phải bảo đảm khả năng kiểm chứng được về việc xác định chủ thể dữ liệu cá nhân đã thực hiện sự đồng ý, thời điểm và nội dung được đồng ý.' Ba thông tin ấy là điều kiện để sự đồng ý KIỂM CHỨNG ĐƯỢC — thiếu một trong ba thì bản ghi không chứng minh được gì. Khoản 2 buộc lưu trữ sự đồng ý và đặt trách nhiệm chứng minh lên bên kiểm soát dữ liệu khi có tranh chấp; khoản 4 buộc thông báo rõ cho chủ thể khi dữ liệu cần xử lý là dữ liệu cá nhân NHẠY CẢM — mọi dữ liệu sức khoẻ đều thuộc nhóm này.\n\nĐiều 28 khoản 1 liệt kê bốn nhóm nội dung của thông báo vi phạm: (a) mô tả tính chất vi phạm gồm thời gian, địa điểm, hành vi, tổ chức/cá nhân, các loại dữ liệu và số lượng dữ liệu liên quan; (b) chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhân; (c) mô tả hậu quả, thiệt hại có thể xảy ra; (d) mô tả biện pháp giải quyết, giảm thiểu tác hại. / Logical model for the consent record and data-breach notification content required by Decree 356/2025/NĐ-CP."] ;
  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/personal-data-consent-record-fhir" ] ;
     fhir:StructureDefinition.mapping.name [ fhir:value "VN Core FHIR mapping" ] ;
     fhir:StructureDefinition.mapping.comment [ fhir:value "Bản ghi sự đồng ý ánh xạ sang VNCoreConsent; thông báo vi phạm sang VNCoreCompositionBreachNotification." ]
  ] ;
  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/vnPersonalDataConsentRecordLm"] ;
  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 "vnPersonalDataConsentRecordLm" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm" ] ;
       fhir:ElementDefinition.short [ fhir:value "Bản ghi sự đồng ý và thông báo vi phạm dữ liệu cá nhân (NĐ 356/2025/NĐ-CP) — Logical Model" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Logical model đặc tả nội dung mà Nghị định 356/2025/NĐ-CP (ban hành 31/12/2025, hiệu lực 01/01/2026) BUỘC phải có trong bản ghi sự đồng ý của chủ thể dữ liệu và trong thông báo vi phạm quy định bảo vệ dữ liệu cá nhân — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của nhóm profile đồng ý và thông báo vi phạm.\n\nĐiều 6 khoản 1 nêu nguyên văn: 'Các phương thức xin sự đồng ý của chủ thể dữ liệu cá nhân phải bảo đảm khả năng kiểm chứng được về việc xác định chủ thể dữ liệu cá nhân đã thực hiện sự đồng ý, thời điểm và nội dung được đồng ý.' Ba thông tin ấy là điều kiện để sự đồng ý KIỂM CHỨNG ĐƯỢC — thiếu một trong ba thì bản ghi không chứng minh được gì. Khoản 2 buộc lưu trữ sự đồng ý và đặt trách nhiệm chứng minh lên bên kiểm soát dữ liệu khi có tranh chấp; khoản 4 buộc thông báo rõ cho chủ thể khi dữ liệu cần xử lý là dữ liệu cá nhân NHẠY CẢM — mọi dữ liệu sức khoẻ đều thuộc nhóm này.\n\nĐiều 28 khoản 1 liệt kê bốn nhóm nội dung của thông báo vi phạm: (a) mô tả tính chất vi phạm gồm thời gian, địa điểm, hành vi, tổ chức/cá nhân, các loại dữ liệu và số lượng dữ liệu liên quan; (b) chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhân; (c) mô tả hậu quả, thiệt hại có thể xảy ra; (d) mô tả biện pháp giải quyết, giảm thiểu tác hại. / Logical model for the consent record and data-breach notification content required by Decree 356/2025/NĐ-CP." ] ;
       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 "vnPersonalDataConsentRecordLm.suDongY" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY" ] ;
       fhir:ElementDefinition.short [ fhir:value "Bản ghi sự đồng ý của chủ thể dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Bản ghi sự đồng ý của chủ thể dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Khoản 2: 'Bên kiểm soát dữ liệu, bên kiểm soát và xử lý dữ liệu cá nhân phải LƯU TRỮ sự đồng ý của chủ thể dữ liệu. Trong trường hợp có tranh chấp, trách nhiệm chứng minh sự đồng ý thuộc về bên kiểm soát dữ liệu.' Nghĩa vụ lưu trữ và nghĩa vụ chứng minh đi cùng nhau — bản ghi thiếu một trong ba thông tin dưới đây thì không gánh được trách nhiệm chứng minh ấy." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY" ] ;
         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 "VNCoreConsent" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.id" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.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 "vnPersonalDataConsentRecordLm.suDongY.extension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.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 "vnPersonalDataConsentRecordLm.suDongY.modifierExtension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.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 "vnPersonalDataConsentRecordLm.suDongY.chuTheDuLieu" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.chuTheDuLieu" ] ;
       fhir:ElementDefinition.short [ fhir:value "Chủ thể dữ liệu cá nhân đã thực hiện sự đồng ý" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Chủ thể dữ liệu cá nhân đã thực hiện sự đồng ý" ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.chuTheDuLieu" ] ;
         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 "VNCoreConsent.patient" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thoiDiemDongY" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thoiDiemDongY" ] ;
       fhir:ElementDefinition.short [ fhir:value "Thời điểm đồng ý" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Thời điểm đồng ý" ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thoiDiemDongY" ] ;
         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 "VNCoreConsent.dateTime" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.noiDungDuocDongY" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.noiDungDuocDongY" ] ;
       fhir:ElementDefinition.short [ fhir:value "Nội dung được đồng ý" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Nội dung được đồng ý" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Phạm vi xử lý mà chủ thể đã đồng ý — trên Consent nó là cây `provision` với loại cho phép hoặc từ chối, mục đích xử lý và phạm vi 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 "vnPersonalDataConsentRecordLm.suDongY.noiDungDuocDongY" ] ;
         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 "VNCoreConsent.provision" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.phuongThucDongY" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.phuongThucDongY" ] ;
       fhir:ElementDefinition.short [ fhir:value "Phương thức thể hiện sự đồng ý" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Phương thức thể hiện sự đồng ý" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điều 6 khoản 1 liệt kê năm phương thức: bằng văn bản; bằng cuộc gọi ghi âm; cú pháp đồng ý qua tin nhắn điện thoại; qua thư điện tử hoặc trang thông tin điện tử, nền tảng, ứng dụng có thiết lập kỹ thuật xin sự đồng ý; và các phương thức khác 'có thể in, sao chép bằng văn bản, bao gồm cả dưới dạng điện tử hoặc định dạng kiểm chứng được'. Phương thức phải ghi lại vì chính nó quyết định bản ghi có kiểm chứng được hay không." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.phuongThucDongY" ] ;
         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 "VNCoreConsent.extension[consentMethod]" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thongBaoDuLieuNhayCam" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thongBaoDuLieuNhayCam" ] ;
       fhir:ElementDefinition.short [ fhir:value "Đã thông báo dữ liệu cần xử lý là dữ liệu cá nhân nhạy cảm" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Đã thông báo dữ liệu cần xử lý là dữ liệu cá nhân nhạy cảm" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điều 6 khoản 4: 'Đối với việc xin sự đồng ý xử lý dữ liệu cá nhân NHẠY CẢM, chủ thể dữ liệu phải được thông báo rằng dữ liệu cần xử lý là dữ liệu cá nhân nhạy cảm.' min = 0 vì nghĩa vụ gắn với loại dữ liệu; nhưng trong phạm vi IG này nó gần như luôn áp — Luật 91/2025/QH15 xếp dữ liệu sức khoẻ vào nhóm nhạy cảm, nên mọi Consent cho dữ liệu lâm sàng đều rơi vào khoản 4." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thongBaoDuLieuNhayCam" ] ;
         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 "boolean" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham" ] ;
       fhir:ElementDefinition.short [ fhir:value "Nội dung thông báo vi phạm quy định bảo vệ dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Nội dung thông báo vi phạm quy định bảo vệ dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.comment [ fhir:value "min = 0 vì thông báo chỉ phát sinh KHI có vi phạm; nhưng khi phát sinh thì đủ bốn nhóm nội dung của Điều 28 khoản 1 là bắt buộc. Model dừng ở mức bốn nhóm ấy: chưa có bằng chứng rằng từng ô của Mẫu 08 hay từng section hiện có của profile đều là nghĩa vụ riêng." ] ;
       fhir:ElementDefinition.min [ fhir:value "0"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham" ] ;
         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 "VNCoreCompositionBreachNotification" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.id" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.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 "vnPersonalDataConsentRecordLm.thongBaoViPham.extension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.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 "vnPersonalDataConsentRecordLm.thongBaoViPham.modifierExtension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.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 "vnPersonalDataConsentRecordLm.thongBaoViPham.tinhChatViPham" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.tinhChatViPham" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mô tả tính chất của việc vi phạm" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mô tả tính chất của việc vi phạm" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điểm a: 'bao gồm: thời gian, địa điểm, hành vi, tổ chức, cá nhân, các loại dữ liệu cá nhân và số lượng dữ liệu liên quan' — bảy thành phần trong MỘT nhóm nội dung, không phải bảy trường độc lập." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.tinhChatViPham" ] ;
         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 "VNCoreCompositionBreachNotification.section" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.chiTietLienLac" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.chiTietLienLac" ] ;
       fhir:ElementDefinition.short [ fhir:value "Chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điểm b cho phép ba khả năng: bộ phận bảo vệ dữ liệu cá nhân, nhân sự bảo vệ dữ liệu cá nhân, hoặc tổ chức/cá nhân cung cấp dịch vụ bảo vệ dữ liệu cá nhân." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.chiTietLienLac" ] ;
         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 "VNCoreCompositionBreachNotification.author" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.hauQuaThietHai" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.hauQuaThietHai" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mô tả hậu quả, thiệt hại có thể xảy ra" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mô tả hậu quả, thiệt hại có thể xảy ra" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điểm c nói 'có thể xảy ra' — nghĩa vụ mô tả rủi ro dự kiến, không phải thiệt hại đã xác định. Không được để trống với lý do chưa đánh giá xong." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.hauQuaThietHai" ] ;
         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 "VNCoreCompositionBreachNotification.section.text" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.bienPhapGiaiQuyet" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.bienPhapGiaiQuyet" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mô tả biện pháp giải quyết, giảm thiểu tác hại" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mô tả biện pháp giải quyết, giảm thiểu tác hại" ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.bienPhapGiaiQuyet" ] ;
         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 "VNCoreCompositionBreachNotification.section.entry" ]
       ]
     ]
  ] ;
  fhir:StructureDefinition.differential [
     fhir:StructureDefinition.differential.element [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm" ] ;
       fhir:ElementDefinition.short [ fhir:value "Bản ghi sự đồng ý và thông báo vi phạm dữ liệu cá nhân (NĐ 356/2025/NĐ-CP) — Logical Model" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Logical model đặc tả nội dung mà Nghị định 356/2025/NĐ-CP (ban hành 31/12/2025, hiệu lực 01/01/2026) BUỘC phải có trong bản ghi sự đồng ý của chủ thể dữ liệu và trong thông báo vi phạm quy định bảo vệ dữ liệu cá nhân — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của nhóm profile đồng ý và thông báo vi phạm.\n\nĐiều 6 khoản 1 nêu nguyên văn: 'Các phương thức xin sự đồng ý của chủ thể dữ liệu cá nhân phải bảo đảm khả năng kiểm chứng được về việc xác định chủ thể dữ liệu cá nhân đã thực hiện sự đồng ý, thời điểm và nội dung được đồng ý.' Ba thông tin ấy là điều kiện để sự đồng ý KIỂM CHỨNG ĐƯỢC — thiếu một trong ba thì bản ghi không chứng minh được gì. Khoản 2 buộc lưu trữ sự đồng ý và đặt trách nhiệm chứng minh lên bên kiểm soát dữ liệu khi có tranh chấp; khoản 4 buộc thông báo rõ cho chủ thể khi dữ liệu cần xử lý là dữ liệu cá nhân NHẠY CẢM — mọi dữ liệu sức khoẻ đều thuộc nhóm này.\n\nĐiều 28 khoản 1 liệt kê bốn nhóm nội dung của thông báo vi phạm: (a) mô tả tính chất vi phạm gồm thời gian, địa điểm, hành vi, tổ chức/cá nhân, các loại dữ liệu và số lượng dữ liệu liên quan; (b) chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhân; (c) mô tả hậu quả, thiệt hại có thể xảy ra; (d) mô tả biện pháp giải quyết, giảm thiểu tác hại. / Logical model for the consent record and data-breach notification content required by Decree 356/2025/NĐ-CP." ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY" ] ;
       fhir:ElementDefinition.short [ fhir:value "Bản ghi sự đồng ý của chủ thể dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Bản ghi sự đồng ý của chủ thể dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Khoản 2: 'Bên kiểm soát dữ liệu, bên kiểm soát và xử lý dữ liệu cá nhân phải LƯU TRỮ sự đồng ý của chủ thể dữ liệu. Trong trường hợp có tranh chấp, trách nhiệm chứng minh sự đồng ý thuộc về bên kiểm soát dữ liệu.' Nghĩa vụ lưu trữ và nghĩa vụ chứng minh đi cùng nhau — bản ghi thiếu một trong ba thông tin dưới đây thì không gánh được trách nhiệm chứng minh ấy." ] ;
       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 "VNCoreConsent" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.chuTheDuLieu" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.chuTheDuLieu" ] ;
       fhir:ElementDefinition.short [ fhir:value "Chủ thể dữ liệu cá nhân đã thực hiện sự đồng ý" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Chủ thể dữ liệu cá nhân đã thực hiện sự đồng ý" ] ;
       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 "VNCoreConsent.patient" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thoiDiemDongY" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thoiDiemDongY" ] ;
       fhir:ElementDefinition.short [ fhir:value "Thời điểm đồng ý" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Thời điểm đồng ý" ] ;
       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 "VNCoreConsent.dateTime" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.noiDungDuocDongY" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.noiDungDuocDongY" ] ;
       fhir:ElementDefinition.short [ fhir:value "Nội dung được đồng ý" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Nội dung được đồng ý" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Phạm vi xử lý mà chủ thể đã đồng ý — trên Consent nó là cây `provision` với loại cho phép hoặc từ chối, mục đích xử lý và phạm vi 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 "VNCoreConsent.provision" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.phuongThucDongY" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.phuongThucDongY" ] ;
       fhir:ElementDefinition.short [ fhir:value "Phương thức thể hiện sự đồng ý" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Phương thức thể hiện sự đồng ý" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điều 6 khoản 1 liệt kê năm phương thức: bằng văn bản; bằng cuộc gọi ghi âm; cú pháp đồng ý qua tin nhắn điện thoại; qua thư điện tử hoặc trang thông tin điện tử, nền tảng, ứng dụng có thiết lập kỹ thuật xin sự đồng ý; và các phương thức khác 'có thể in, sao chép bằng văn bản, bao gồm cả dưới dạng điện tử hoặc định dạng kiểm chứng được'. Phương thức phải ghi lại vì chính nó quyết định bản ghi có kiểm chứng được hay không." ] ;
       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 "VNCoreConsent.extension[consentMethod]" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thongBaoDuLieuNhayCam" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.suDongY.thongBaoDuLieuNhayCam" ] ;
       fhir:ElementDefinition.short [ fhir:value "Đã thông báo dữ liệu cần xử lý là dữ liệu cá nhân nhạy cảm" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Đã thông báo dữ liệu cần xử lý là dữ liệu cá nhân nhạy cảm" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điều 6 khoản 4: 'Đối với việc xin sự đồng ý xử lý dữ liệu cá nhân NHẠY CẢM, chủ thể dữ liệu phải được thông báo rằng dữ liệu cần xử lý là dữ liệu cá nhân nhạy cảm.' min = 0 vì nghĩa vụ gắn với loại dữ liệu; nhưng trong phạm vi IG này nó gần như luôn áp — Luật 91/2025/QH15 xếp dữ liệu sức khoẻ vào nhóm nhạy cảm, nên mọi Consent cho dữ liệu lâm sàng đều rơi vào khoản 4." ] ;
       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 "boolean" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham" ] ;
       fhir:ElementDefinition.short [ fhir:value "Nội dung thông báo vi phạm quy định bảo vệ dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Nội dung thông báo vi phạm quy định bảo vệ dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.comment [ fhir:value "min = 0 vì thông báo chỉ phát sinh KHI có vi phạm; nhưng khi phát sinh thì đủ bốn nhóm nội dung của Điều 28 khoản 1 là bắt buộc. Model dừng ở mức bốn nhóm ấy: chưa có bằng chứng rằng từng ô của Mẫu 08 hay từng section hiện có của profile đều là nghĩa vụ riê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 "BackboneElement" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreCompositionBreachNotification" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.tinhChatViPham" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.tinhChatViPham" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mô tả tính chất của việc vi phạm" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mô tả tính chất của việc vi phạm" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điểm a: 'bao gồm: thời gian, địa điểm, hành vi, tổ chức, cá nhân, các loại dữ liệu cá nhân và số lượng dữ liệu liên quan' — bảy thành phần trong MỘT nhóm nội dung, không phải bảy trường độc lập." ] ;
       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 "VNCoreCompositionBreachNotification.section" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.chiTietLienLac" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.chiTietLienLac" ] ;
       fhir:ElementDefinition.short [ fhir:value "Chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Chi tiết liên lạc của bộ phận hoặc nhân sự bảo vệ dữ liệu cá nhân" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điểm b cho phép ba khả năng: bộ phận bảo vệ dữ liệu cá nhân, nhân sự bảo vệ dữ liệu cá nhân, hoặc tổ chức/cá nhân cung cấp dịch vụ bảo vệ dữ liệu cá nhâ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 "VNCoreCompositionBreachNotification.author" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.hauQuaThietHai" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.hauQuaThietHai" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mô tả hậu quả, thiệt hại có thể xảy ra" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mô tả hậu quả, thiệt hại có thể xảy ra" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Điểm c nói 'có thể xảy ra' — nghĩa vụ mô tả rủi ro dự kiến, không phải thiệt hại đã xác định. Không được để trống với lý do chưa đánh giá xong." ] ;
       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 "VNCoreCompositionBreachNotification.section.text" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.bienPhapGiaiQuyet" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPersonalDataConsentRecordLm.thongBaoViPham.bienPhapGiaiQuyet" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mô tả biện pháp giải quyết, giảm thiểu tác hại" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mô tả biện pháp giải quyết, giảm thiểu tác hại" ] ;
       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 "VNCoreCompositionBreachNotification.section.entry" ]
       ]
     ]
  ] .

# - ontology header ------------------------------------------------------------

<http://fhir.hl7.org.vn/core/StructureDefinition/vnPersonalDataConsentRecordLm.ttl> a owl:Ontology ;
  owl:imports fhir:fhir.ttl .

# -------------------------------------------------------------------------------------

