<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://example.org/fhir/StructureDefinition/SirirajPatientObservation" />
  <name value="SirirajPatientObservation" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation">
      <path value="Observation" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.extension">
      <path value="Observation.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.extension:active-type">
      <path value="Observation.extension" />
      <sliceName value="active-type" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://example.org/fhir/StructureDefinition/SirirajPatientObservationTypeExtension" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Observation.extension:active-type.value[x].coding.system">
      <path value="Observation.extension.value[x].coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.identifier">
      <path value="Observation.identifier" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="ข้อมูลอ้างอิงพื่อระบุตัวตน และใช้สำหรับอ้างอิงในการค้นหา" />
      <definition value="ข้อมูลอ้างอิงพื่อระบุตัวตน และใช้สำหรับอ้างอิงในการค้นหา" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.identifier:sliceNationalID">
      <path value="Observation.identifier" />
      <sliceName value="sliceNationalID" />
      <label value="หมายเลขบัตรประชาชน" />
      <short value="หมายเลขบัตรประชาชน (National ID.)" />
      <definition value="หมายเลขบัตรประชาชนสำหรับอ้างอิงพื่อระบุตัวตน และใช้สำหรับอ้างอิงในการค้นหา" />
    </element>
    <element id="Observation.identifier:sliceNationalID.system">
      <path value="Observation.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.identifier:sliceNationalID.value">
      <path value="Observation.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.identifier:sliceHospitalNo">
      <path value="Observation.identifier" />
      <sliceName value="sliceHospitalNo" />
      <label value="หมายเลขผู้ป่วย" />
      <short value="หมายเลขผู้ป่วย (Hospital No.)" />
      <definition value="หมายเลขที่โรงพยาบาลออกให้ผู้ป่วยสำหรับอ้างอิงพื่อระบุตัวตน และใช้สำหรับอ้างอิงในการค้นหา" />
    </element>
    <element id="Observation.identifier:sliceHospitalNo.system">
      <path value="Observation.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.identifier:sliceHospitalNo.value">
      <path value="Observation.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.identifier:sliceVisitNo">
      <path value="Observation.identifier" />
      <sliceName value="sliceVisitNo" />
      <label value="หมายเลขเข้ารับบริการ" />
      <short value="หมายเลขเข้ารับบริการ (Visit No.)" />
      <definition value="หมายเลขที่โรงพยาบาลออกให้ผู้ป่วยในการเข้ารับบริการสำหรับอ้างอิงพื่อระบุตัวตน และใช้สำหรับอ้างอิงในการค้นหา" />
    </element>
    <element id="Observation.identifier:sliceVisitNo.system">
      <path value="Observation.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.identifier:sliceVisitNo.value">
      <path value="Observation.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.identifier:sliceServiceNo">
      <path value="Observation.identifier" />
      <sliceName value="sliceServiceNo" />
      <label value="หมายเลขการสั่งตรวจ" />
      <short value="หมายเลขการสั่งตรวจ (Service No.)" />
      <definition value="หมายเลขที่โรงพยาบาลออกให้ผู้ป่วยในการสั่งวัดสัญญาณชีพสำหรับอ้างอิงพื่อระบุตัวตน และใช้สำหรับอ้างอิงในการค้นหา" />
    </element>
    <element id="Observation.identifier:sliceServiceNo.system">
      <path value="Observation.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.identifier:sliceServiceNo.value">
      <path value="Observation.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.status">
      <path value="Observation.status" />
      <definition value="สถานะการวัดสัญญาณชีพ &lt;br&gt;&#xD;&#xA;   1. registered = การมีอยู่ของการสังเกตได้รับการจดทะเบียน แต่ยังไม่มีผลลัพธ์ใด ๆ &lt;br&gt;&#xD;&#xA;   2. preliminary = เป็นข้อสังเกตเบื้องต้น ข้อมูลอาจไม่สมบูรณ์หรือไม่ได้รับการยืนยัน &lt;br&gt;&#xD;&#xA;   3. final = การสังเกตเสร็จสมบูรณ์และไม่จําเป็นต้องดําเนินการเพิ่มเติม &lt;br&gt;&#xD;&#xA;   4. amended   ข้อมูลมีการแก้ไข หรือเพิ่มเติมหลังจากการออกผล&lt;br&gt;&#xD;&#xA;   5. cancelled  มีการแก้ไขข้อมูลที่ผิดพลาดหลังจากการออกผล&lt;br&gt;&#xD;&#xA;   6. entered-in-error  &lt;br&gt;&#xD;&#xA;   7. unknown  ไม่ทราบแหล่งที่มาของข้อมูล&lt;br&gt;" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.category">
      <path value="Observation.category" />
      <label value="ประเภทของการสังเกตุการณ์" />
      <short value="ประเภทของการสังเกตุการณ์ (Observation type)" />
      <definition value="ประเภทของการสังเกตุการณ์ (Observation type)" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.category.coding.system">
      <path value="Observation.category.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.category.coding.code">
      <path value="Observation.category.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.category.coding.display">
      <path value="Observation.category.coding.display" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Observation.code:sliceIoinc">
      <path value="Observation.code" />
      <sliceName value="sliceIoinc" />
      <short value="แหล่งอ้างอิงมาตรฐานสำหรับการระบุการตรวจวัด" />
      <definition value="แหล่งอ้างอิงมาตรฐานสากลสำหรับการระบุการตรวจวัด การสังเกต และเอกสารด้านสุขภาพ" />
    </element>
    <element id="Observation.code:sliceIoinc.coding.system">
      <path value="Observation.code.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code:sliceIoinc.coding.code">
      <path value="Observation.code.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code:sliceSnomed">
      <path value="Observation.code" />
      <sliceName value="sliceSnomed" />
      <short value="แหล่งอ้างอิงระบบจัดการคำศัพท์ทางการแพทย์" />
    </element>
    <element id="Observation.code:sliceSnomed.coding.system">
      <path value="Observation.code.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code:sliceSnomed.coding.code">
      <path value="Observation.code.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.subject.reference">
      <path value="Observation.subject.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.subject.display">
      <path value="Observation.subject.display" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.encounter">
      <path value="Observation.encounter" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.encounter.reference">
      <path value="Observation.encounter.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.performer">
      <path value="Observation.performer" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Observation.performer:SlicePractitioner">
      <path value="Observation.performer" />
      <sliceName value="SlicePractitioner" />
      <label value="ผู้ปฏิบัติงาน" />
      <short value="ผู้ปฏิบัติงาน (Practitioner)" />
      <definition value="ผู้ปฏิบัติงาน ซึ่งอาจหมายถึง &lt;br&gt;&#xD;&#xA;  1. แพทย์&lt;br&gt;&#xD;&#xA;  2. พยาบาล&lt;br&gt;&#xD;&#xA;  3. หรืออื่น ๆ ที่รับผิดชอบ" />
    </element>
    <element id="Observation.performer:SlicePractitioner.reference">
      <path value="Observation.performer.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.performer:SlicePractitioner.display">
      <path value="Observation.performer.display" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.performer:SliceLocation">
      <path value="Observation.performer" />
      <sliceName value="SliceLocation" />
      <label value="สถานที่ปฏิบัติงาน" />
      <short value="สถานที่ปฏิบัติงาน (Clinic, Ward or Location of activity)" />
      <definition value="สถานที่ปฏิบัติงาน ซึ่งอาจหมายถึง &lt;br&gt;&#xD;&#xA;  1. คลินิก (Clinic)&lt;br&gt;&#xD;&#xA;  2. หอผู้ป่วย (Ward)&lt;br&gt;  &#xD;&#xA;  3. หรืออื่น ๆ ที่รับผิดชอบ" />
    </element>
    <element id="Observation.performer:SliceLocation.reference">
      <path value="Observation.performer.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.performer:SliceLocation.display">
      <path value="Observation.performer.display" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.derivedFrom">
      <path value="Observation.derivedFrom" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.derivedFrom.reference">
      <path value="Observation.derivedFrom.reference" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.derivedFrom.display">
      <path value="Observation.derivedFrom.display" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.code.coding.system">
      <path value="Observation.component.code.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.code.coding.code">
      <path value="Observation.component.code.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.value[x]">
      <path value="Observation.component.value[x]" />
      <type>
        <code value="Quantity" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.value[x].value">
      <path value="Observation.component.value[x].value" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.value[x].unit">
      <path value="Observation.component.value[x].unit" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.value[x].system">
      <path value="Observation.component.value[x].system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.value[x].code">
      <path value="Observation.component.value[x].code" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.interpretation">
      <path value="Observation.component.interpretation" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.interpretation.coding.system">
      <path value="Observation.component.interpretation.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.interpretation.coding.code">
      <path value="Observation.component.interpretation.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.interpretation.coding.display">
      <path value="Observation.component.interpretation.coding.display" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.referenceRange">
      <path value="Observation.component.referenceRange" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Observation#Observation.referenceRange" />
    </element>
  </differential>
</StructureDefinition>