@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/vnPublishedPriceContentLm> a fhir:StructureDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:Resource.id [ fhir:value "vnPublishedPriceContentLm"] ;
  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 vnPublishedPriceContentLm</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-vnPublishedPriceContentLm-definitions.html#vnPublishedPriceContentLm\" title=\"Logical model đặc tả nghĩa vụ niêm yết giá mà Luật Khám bệnh, chữa bệnh số 15/2023/QH15 đặt lên cơ sở khám bệnh, chữa bệnh, đọc cùng định nghĩa 'giá niêm yết' của pháp luật về giá — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile bảng giá dịch vụ.#xA;#xA;Luật 15/2023/QH15 Điều 60 khoản 4 buộc cơ sở khám bệnh, chữa bệnh: 'Niêm yết giá dịch vụ khám bệnh, chữa bệnh, giá dịch vụ chăm sóc, hỗ trợ theo yêu cầu tại cơ sở và trên Hệ thống thông tin về quản lý hoạt động khám bệnh, chữa bệnh.' Nghĩa vụ có hai vế — niêm yết TẠI CƠ SỞ và niêm yết TRÊN HỆ THỐNG THÔNG TIN — nên mức giá phải tồn tại ở dạng dữ liệu, không chỉ ở bảng dán tường.#xA;#xA;VBHN 25/VBHN-VPQH Điều 29 khoản 1 định nghĩa: 'Niêm yết giá là hình thức công khai về giá. Giá niêm yết là giá mua, giá bán hàng hóa, dịch vụ đã bao gồm các loại thuế, phí và lệ phí (nếu có)'. Khoản 2 đòi niêm yết 'bảo đảm rõ ràng và không gây nhầm lẫn cho khách hàng về mức giá'; khoản 3 cấm bán cao hơn giá niêm yết. Ba khoản ấy cùng nói một điều với mô hình dữ liệu: phải có ĐÚNG MỘT mức giá xác định, đã gồm thuế phí, để đối chiếu được với số tiền thực thu. / Logical model for the price publication obligation of Law 15/2023/QH15 read together with the price law definition of a listed price.\">vnPublishedPriceContentLm</a><a name=\"vnPublishedPriceContentLm\"> </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\">Nghĩa vụ niêm yết giá dịch vụ khám bệnh, chữa bệnh — 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_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-vnPublishedPriceContentLm-definitions.html#vnPublishedPriceContentLm.giaNiemYet\" title=\"Mức giá dịch vụ đã niêm yết\">giaNiemYet</a><a name=\"vnPublishedPriceContentLm.giaNiemYet\"> </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\">Mức giá dịch vụ đã niêm yết</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_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: white; background-color: inherit\" title=\"Primitive Data Type\" class=\"hierarchy\"/> <a href=\"StructureDefinition-vnPublishedPriceContentLm-definitions.html#vnPublishedPriceContentLm.giaNiemYet.mucGiaCongBo\" title=\"Mức giá công bố cho một đơn vị dịch vụ\">mucGiaCongBo</a><a name=\"vnPublishedPriceContentLm.giaNiemYet.mucGiaCongBo\"> </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#decimal\">decimal</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ức giá công bố cho một đơn vị dịch vụ</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 "L-15-2023" ]
     ]
  ], [
     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 "VBHN-25-2026" ]
     ]
  ] ;
  fhir:StructureDefinition.url [ fhir:value "http://fhir.hl7.org.vn/core/StructureDefinition/vnPublishedPriceContentLm"] ;
  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.225" ]
  ] ;
  fhir:StructureDefinition.version [ fhir:value "0.10.0"] ;
  fhir:StructureDefinition.name [ fhir:value "VNPublishedPriceContentLM"] ;
  fhir:StructureDefinition.title [ fhir:value "Nghĩa vụ niêm yết giá dịch vụ khám bệnh, chữa bệnh — 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ả nghĩa vụ niêm yết giá mà Luật Khám bệnh, chữa bệnh số 15/2023/QH15 đặt lên cơ sở khám bệnh, chữa bệnh, đọc cùng định nghĩa 'giá niêm yết' của pháp luật về giá — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile bảng giá dịch vụ.\n\nLuật 15/2023/QH15 Điều 60 khoản 4 buộc cơ sở khám bệnh, chữa bệnh: 'Niêm yết giá dịch vụ khám bệnh, chữa bệnh, giá dịch vụ chăm sóc, hỗ trợ theo yêu cầu tại cơ sở và trên Hệ thống thông tin về quản lý hoạt động khám bệnh, chữa bệnh.' Nghĩa vụ có hai vế — niêm yết TẠI CƠ SỞ và niêm yết TRÊN HỆ THỐNG THÔNG TIN — nên mức giá phải tồn tại ở dạng dữ liệu, không chỉ ở bảng dán tường.\n\nVBHN 25/VBHN-VPQH Điều 29 khoản 1 định nghĩa: 'Niêm yết giá là hình thức công khai về giá. Giá niêm yết là giá mua, giá bán hàng hóa, dịch vụ đã bao gồm các loại thuế, phí và lệ phí (nếu có)'. Khoản 2 đòi niêm yết 'bảo đảm rõ ràng và không gây nhầm lẫn cho khách hàng về mức giá'; khoản 3 cấm bán cao hơn giá niêm yết. Ba khoản ấy cùng nói một điều với mô hình dữ liệu: phải có ĐÚNG MỘT mức giá xác định, đã gồm thuế phí, để đối chiếu được với số tiền thực thu. / Logical model for the price publication obligation of Law 15/2023/QH15 read together with the price law definition of a listed price."] ;
  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/published-price-content-fhir" ] ;
     fhir:StructureDefinition.mapping.name [ fhir:value "VN Core FHIR mapping" ] ;
     fhir:StructureDefinition.mapping.comment [ fhir:value "Ánh xạ sang VNCoreChargeItemDefinition — bảng giá dịch vụ đã công bố của cơ sở." ]
  ] ;
  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/vnPublishedPriceContentLm"] ;
  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 "vnPublishedPriceContentLm" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPublishedPriceContentLm" ] ;
       fhir:ElementDefinition.short [ fhir:value "Nghĩa vụ niêm yết giá dịch vụ khám bệnh, chữa bệnh — Logical Model" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Logical model đặc tả nghĩa vụ niêm yết giá mà Luật Khám bệnh, chữa bệnh số 15/2023/QH15 đặt lên cơ sở khám bệnh, chữa bệnh, đọc cùng định nghĩa 'giá niêm yết' của pháp luật về giá — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile bảng giá dịch vụ.\n\nLuật 15/2023/QH15 Điều 60 khoản 4 buộc cơ sở khám bệnh, chữa bệnh: 'Niêm yết giá dịch vụ khám bệnh, chữa bệnh, giá dịch vụ chăm sóc, hỗ trợ theo yêu cầu tại cơ sở và trên Hệ thống thông tin về quản lý hoạt động khám bệnh, chữa bệnh.' Nghĩa vụ có hai vế — niêm yết TẠI CƠ SỞ và niêm yết TRÊN HỆ THỐNG THÔNG TIN — nên mức giá phải tồn tại ở dạng dữ liệu, không chỉ ở bảng dán tường.\n\nVBHN 25/VBHN-VPQH Điều 29 khoản 1 định nghĩa: 'Niêm yết giá là hình thức công khai về giá. Giá niêm yết là giá mua, giá bán hàng hóa, dịch vụ đã bao gồm các loại thuế, phí và lệ phí (nếu có)'. Khoản 2 đòi niêm yết 'bảo đảm rõ ràng và không gây nhầm lẫn cho khách hàng về mức giá'; khoản 3 cấm bán cao hơn giá niêm yết. Ba khoản ấy cùng nói một điều với mô hình dữ liệu: phải có ĐÚNG MỘT mức giá xác định, đã gồm thuế phí, để đối chiếu được với số tiền thực thu. / Logical model for the price publication obligation of Law 15/2023/QH15 read together with the price law definition of a listed price." ] ;
       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 "vnPublishedPriceContentLm.giaNiemYet" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPublishedPriceContentLm.giaNiemYet" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mức giá dịch vụ đã niêm yết" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mức giá dịch vụ đã niêm yết" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Invariant của profile đích đã buộc `propertyGroup.priceComponent.where(type = 'base').count() = 1` — đúng một thành phần giá gốc. Ràng buộc ấy khớp với khoản 2 và 3 Điều 29 VBHN 25/VBHN-VPQH: nhiều mức giá cùng lúc thì trái yêu cầu niêm yết 'không gây nhầm lẫn cho khách hàng về mức giá', và không xác định được đâu là mức mà cơ sở 'không được bán cao hơn'." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPublishedPriceContentLm.giaNiemYet" ] ;
         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 "VNCoreChargeItemDefinition" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPublishedPriceContentLm.giaNiemYet.id" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPublishedPriceContentLm.giaNiemYet.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 "vnPublishedPriceContentLm.giaNiemYet.extension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPublishedPriceContentLm.giaNiemYet.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 "vnPublishedPriceContentLm.giaNiemYet.modifierExtension" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPublishedPriceContentLm.giaNiemYet.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 "vnPublishedPriceContentLm.giaNiemYet.mucGiaCongBo" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPublishedPriceContentLm.giaNiemYet.mucGiaCongBo" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mức giá công bố cho một đơn vị dịch vụ" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mức giá công bố cho một đơn vị dịch vụ" ] ;
       fhir:ElementDefinition.comment [ fhir:value "'Giá niêm yết là giá mua, giá bán hàng hóa, dịch vụ đã bao gồm các loại thuế, phí và lệ phí (nếu có)' — mấu chốt là hai chữ đã bao gồm: đây là số tiền cuối cùng người bệnh đối chiếu, không phải giá trước thuế. Trên profile là thành phần `base` của nhóm giá; các thành phần khác (chi phí trực tiếp, tiền lương, quản lý, khấu hao theo TT 21/2024/TT-BYT) là cấu thành tuỳ chọn, không thay thế mức `base`." ] ;
       fhir:ElementDefinition.min [ fhir:value "1"^^xsd:nonNegativeInteger ] ;
       fhir:ElementDefinition.max [ fhir:value "1" ] ;
       fhir:ElementDefinition.base [
         fhir:ElementDefinition.base.path [ fhir:value "vnPublishedPriceContentLm.giaNiemYet.mucGiaCongBo" ] ;
         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 "decimal" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreChargeItemDefinition.propertyGroup.priceComponent[base].amount" ]
       ]
     ]
  ] ;
  fhir:StructureDefinition.differential [
     fhir:StructureDefinition.differential.element [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPublishedPriceContentLm" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPublishedPriceContentLm" ] ;
       fhir:ElementDefinition.short [ fhir:value "Nghĩa vụ niêm yết giá dịch vụ khám bệnh, chữa bệnh — Logical Model" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Logical model đặc tả nghĩa vụ niêm yết giá mà Luật Khám bệnh, chữa bệnh số 15/2023/QH15 đặt lên cơ sở khám bệnh, chữa bệnh, đọc cùng định nghĩa 'giá niêm yết' của pháp luật về giá — làm bảng chỉ tiêu văn bản để đối chiếu cardinality của profile bảng giá dịch vụ.\n\nLuật 15/2023/QH15 Điều 60 khoản 4 buộc cơ sở khám bệnh, chữa bệnh: 'Niêm yết giá dịch vụ khám bệnh, chữa bệnh, giá dịch vụ chăm sóc, hỗ trợ theo yêu cầu tại cơ sở và trên Hệ thống thông tin về quản lý hoạt động khám bệnh, chữa bệnh.' Nghĩa vụ có hai vế — niêm yết TẠI CƠ SỞ và niêm yết TRÊN HỆ THỐNG THÔNG TIN — nên mức giá phải tồn tại ở dạng dữ liệu, không chỉ ở bảng dán tường.\n\nVBHN 25/VBHN-VPQH Điều 29 khoản 1 định nghĩa: 'Niêm yết giá là hình thức công khai về giá. Giá niêm yết là giá mua, giá bán hàng hóa, dịch vụ đã bao gồm các loại thuế, phí và lệ phí (nếu có)'. Khoản 2 đòi niêm yết 'bảo đảm rõ ràng và không gây nhầm lẫn cho khách hàng về mức giá'; khoản 3 cấm bán cao hơn giá niêm yết. Ba khoản ấy cùng nói một điều với mô hình dữ liệu: phải có ĐÚNG MỘT mức giá xác định, đã gồm thuế phí, để đối chiếu được với số tiền thực thu. / Logical model for the price publication obligation of Law 15/2023/QH15 read together with the price law definition of a listed price." ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPublishedPriceContentLm.giaNiemYet" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPublishedPriceContentLm.giaNiemYet" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mức giá dịch vụ đã niêm yết" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mức giá dịch vụ đã niêm yết" ] ;
       fhir:ElementDefinition.comment [ fhir:value "Invariant của profile đích đã buộc `propertyGroup.priceComponent.where(type = 'base').count() = 1` — đúng một thành phần giá gốc. Ràng buộc ấy khớp với khoản 2 và 3 Điều 29 VBHN 25/VBHN-VPQH: nhiều mức giá cùng lúc thì trái yêu cầu niêm yết 'không gây nhầm lẫn cho khách hàng về mức giá', và không xác định được đâu là mức mà cơ sở 'không được bán cao hơ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 "BackboneElement" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreChargeItemDefinition" ]
       ]
     ], [
       fhir:index -1 ;
       fhir:Element.id [ fhir:value "vnPublishedPriceContentLm.giaNiemYet.mucGiaCongBo" ] ;
       fhir:ElementDefinition.path [ fhir:value "vnPublishedPriceContentLm.giaNiemYet.mucGiaCongBo" ] ;
       fhir:ElementDefinition.short [ fhir:value "Mức giá công bố cho một đơn vị dịch vụ" ] ;
       fhir:ElementDefinition.definition [ fhir:value "Mức giá công bố cho một đơn vị dịch vụ" ] ;
       fhir:ElementDefinition.comment [ fhir:value "'Giá niêm yết là giá mua, giá bán hàng hóa, dịch vụ đã bao gồm các loại thuế, phí và lệ phí (nếu có)' — mấu chốt là hai chữ đã bao gồm: đây là số tiền cuối cùng người bệnh đối chiếu, không phải giá trước thuế. Trên profile là thành phần `base` của nhóm giá; các thành phần khác (chi phí trực tiếp, tiền lương, quản lý, khấu hao theo TT 21/2024/TT-BYT) là cấu thành tuỳ chọn, không thay thế mức `base`." ] ;
       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 "decimal" ]
       ] ;
       fhir:ElementDefinition.mapping [
         fhir:index -1 ;
         fhir:ElementDefinition.mapping.identity [ fhir:value "vn-fhir" ] ;
         fhir:ElementDefinition.mapping.map [ fhir:value "VNCoreChargeItemDefinition.propertyGroup.priceComponent[base].amount" ]
       ]
     ]
  ] .

# - ontology header ------------------------------------------------------------

<http://fhir.hl7.org.vn/core/StructureDefinition/vnPublishedPriceContentLm.ttl> a owl:Ontology ;
  owl:imports fhir:fhir.ttl .

# -------------------------------------------------------------------------------------

