<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://example.org/fhir/StructureDefinition/SirirajPatientCoverage" />
  <name value="SirirajPatientCoverage" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Coverage" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Coverage" />
  <derivation value="constraint" />
  <differential>
    <element id="Coverage.extension">
      <path value="Coverage.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Coverage.extension:active-type">
      <path value="Coverage.extension" />
      <sliceName value="active-type" />
      <short value="Extensions Element : activeType" />
      <definition value="Extension Element : active-type ใช้สำหรับแสดงประเภทของข้อมูล (resource data type) ซึ่งมี 2 ประเภท คือ &lt;br&gt;&#xD;&#xA;1. person  =   คือสิทธิ์ที่เป็นสิทธิ์เริ่มต้นของผู้ใช้บริการ ( Default rights )  &lt;br&gt;&#xD;&#xA;2. visit      =   คือสิทธิ์ที่ที่มาใช้บริการในครั้งปัจจุบัน ( Current usage rights )  &lt;br&gt;&#xD;&#xA;และ active-type ยังเป็น search parameter สำหรับการค้นหาข้อมูล (search for information) ด้วย &lt;br&gt;&#xD;&#xA;&#xD;&#xA;หมายเหตุ   ในอนาคตอาจเพิ่มประเภทของข้อมูลสิทธิ์อีก 2 ประเภท คือ &lt;br&gt;&#xD;&#xA;history  =   คือการสรุปสิทธิ์ที่เคยมีการใช้งานทั้งหมดของผู้ม่ใช้บริการ ( Usage rights History )  &lt;br&gt;&#xD;&#xA;last       =   คือสิทธิ์ที่มีการใช้งานครั้งสุดท้ายที่มีการปิด visit / admit ไปแล้วก่อนครั้งปัจจุบัน ( Usage last rights )" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="https://example.org/fhir/StructureDefinition/SirirajPatientCoverageTypeExtension" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Coverage.status">
      <path value="Coverage.status" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.type">
      <path value="Coverage.type" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.type.coding.system">
      <path value="Coverage.type.coding.system" />
      <short value="Terminology Source Reference" />
      <definition value="แหล่งอ้างอิงสำหรับข้อมูลกลุ่มสิทธิ์ (Reference source for permission group information)" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.type.coding.code">
      <path value="Coverage.type.coding.code" />
      <short value="รหัสของกลุ่มสิทธิ์" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.type.coding.display">
      <path value="Coverage.type.coding.display" />
      <short value="ชื่อของกลุ่มสิทธิ์" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.type.text">
      <path value="Coverage.type.text" />
      <short value="ข้อความที่ระบุประเภทข้อมูล" />
      <definition value="ข้อความที่ระบุประเภทข้อมูล &lt;br&gt;&#xD;&#xA;     - กลุ่มสิทธิ์   หรือ &lt;br&gt;&#xD;&#xA;     - category" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.beneficiary">
      <path value="Coverage.beneficiary" />
      <short value="ผู้รับผลประโยชน์ตามสิทธิ์" />
      <definition value="ผู้รับผลประโยชน์ตามสิทธิ์ หมายถึงผู้ป่วย หรือในบางกรณีอาจหมายถึงผู้รับสิทธิ์สืบทอด  เช่น &lt;br&gt;&#xD;&#xA;   - ผู้ป่วยที่เป็นทารกแรกคลอด  &lt;br&gt;&#xD;&#xA;   - ผู้ป่วยที่รับสืบทอดสิทธิ์จากบุตร หรือบิดา มารดาที่เป็นข้าราชการ" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.beneficiary.reference">
      <path value="Coverage.beneficiary.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.beneficiary.type">
      <path value="Coverage.beneficiary.type" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.beneficiary.identifier">
      <path value="Coverage.beneficiary.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.beneficiary.identifier.system">
      <path value="Coverage.beneficiary.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.beneficiary.identifier.value">
      <path value="Coverage.beneficiary.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.period">
      <path value="Coverage.period" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.period.start">
      <path value="Coverage.period.start" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.period.end">
      <path value="Coverage.period.end" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.payor">
      <path value="Coverage.payor" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.class">
      <path value="Coverage.class" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.class.extension">
      <path value="Coverage.class.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Coverage.class.extension:rights-type">
      <path value="Coverage.class.extension" />
      <sliceName value="rights-type" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://example.org/fhir/StructureDefinition/SirirajCoverageClassExtension" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Coverage.class.extension:rights-type.value[x].coding.code">
      <path value="Coverage.class.extension.value[x].coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.class.extension:rights-type.value[x].coding.display">
      <path value="Coverage.class.extension.value[x].coding.display" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.class.type.coding.system">
      <path value="Coverage.class.type.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.class.type.coding.code">
      <path value="Coverage.class.type.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Coverage.class.type.coding.display">
      <path value="Coverage.class.type.coding.display" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>