<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://fhir.synapxe.sg/StructureDefinition/profile-observation" />
  <name value="Observation" />
  <status value="active" />
  <description value="This resource defines the vital signs readings of the patient. Details like the type of vital signs (i.e blood pressure), the readings for each vital sign (i.e systolic blood pressure, diastolic blood pressure), the device guid that took the readings and the subject patient id.&#xD;&#xA;&#xD;&#xA;In the event the readings are missed, the effective period will be used to store the start and end date of the missed readings with the data absent reason as &quot;unknown&quot;." />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation.identifier">
      <path value="Observation.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.instantiates[x]">
      <path value="Observation.instantiates[x]" />
      <max value="0" />
    </element>
    <element id="Observation.basedOn">
      <path value="Observation.basedOn" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.synapxe.sg/StructureDefinition/profile-care-plan" />
      </type>
    </element>
    <element id="Observation.triggeredBy">
      <path value="Observation.triggeredBy" />
      <max value="0" />
    </element>
    <element id="Observation.partOf">
      <path value="Observation.partOf" />
      <max value="0" />
    </element>
    <element id="Observation.status">
      <path value="Observation.status" />
      <short value="final" />
      <fixedCode value="final" />
    </element>
    <element id="Observation.category">
      <path value="Observation.category" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.category.coding">
      <path value="Observation.category.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.category.coding.system">
      <path value="Observation.category.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/observation-category" />
    </element>
    <element id="Observation.category.coding.version">
      <path value="Observation.category.coding.version" />
      <max value="0" />
    </element>
    <element id="Observation.category.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <fixedCode value="vital-signs" />
    </element>
    <element id="Observation.category.coding.display">
      <path value="Observation.category.coding.display" />
      <min value="1" />
      <fixedString value="Vital Signs" />
    </element>
    <element id="Observation.category.coding.userSelected">
      <path value="Observation.category.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.category.text">
      <path value="Observation.category.text" />
      <max value="0" />
    </element>
    <element id="Observation.code.coding">
      <path value="Observation.code.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.code.coding.system">
      <path value="Observation.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.code.coding.version">
      <path value="Observation.code.coding.version" />
      <max value="0" />
    </element>
    <element id="Observation.code.coding.code">
      <path value="Observation.code.coding.code" />
      <min value="1" />
    </element>
    <element id="Observation.code.coding.display">
      <path value="Observation.code.coding.display" />
      <min value="1" />
    </element>
    <element id="Observation.code.coding.userSelected">
      <path value="Observation.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.code.text">
      <path value="Observation.code.text" />
      <max value="0" />
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.synapxe.sg/StructureDefinition/profile-patient" />
      </type>
    </element>
    <element id="Observation.subject.reference">
      <path value="Observation.subject.reference" />
      <min value="1" />
    </element>
    <element id="Observation.subject.type">
      <path value="Observation.subject.type" />
      <max value="0" />
    </element>
    <element id="Observation.subject.identifier">
      <path value="Observation.subject.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.subject.display">
      <path value="Observation.subject.display" />
      <max value="0" />
    </element>
    <element id="Observation.focus">
      <path value="Observation.focus" />
      <max value="0" />
    </element>
    <element id="Observation.encounter">
      <path value="Observation.encounter" />
      <max value="0" />
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="Observation.issued">
      <path value="Observation.issued" />
      <min value="1" />
    </element>
    <element id="Observation.performer">
      <path value="Observation.performer" />
      <max value="0" />
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element id="Observation.dataAbsentReason.coding">
      <path value="Observation.dataAbsentReason.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.dataAbsentReason.coding.system">
      <path value="Observation.dataAbsentReason.coding.system" />
      <max value="0" />
    </element>
    <element id="Observation.dataAbsentReason.coding.version">
      <path value="Observation.dataAbsentReason.coding.version" />
      <max value="0" />
    </element>
    <element id="Observation.dataAbsentReason.coding.code">
      <path value="Observation.dataAbsentReason.coding.code" />
      <min value="1" />
      <fixedCode value="unknown" />
    </element>
    <element id="Observation.dataAbsentReason.coding.display">
      <path value="Observation.dataAbsentReason.coding.display" />
      <max value="0" />
    </element>
    <element id="Observation.dataAbsentReason.coding.userSelected">
      <path value="Observation.dataAbsentReason.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.dataAbsentReason.text">
      <path value="Observation.dataAbsentReason.text" />
      <max value="0" />
    </element>
    <element id="Observation.interpretation">
      <path value="Observation.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.note">
      <path value="Observation.note" />
      <max value="0" />
    </element>
    <element id="Observation.bodySite">
      <path value="Observation.bodySite" />
      <max value="0" />
    </element>
    <element id="Observation.bodyStructure">
      <path value="Observation.bodyStructure" />
      <max value="0" />
    </element>
    <element id="Observation.method">
      <path value="Observation.method" />
      <max value="0" />
    </element>
    <element id="Observation.specimen">
      <path value="Observation.specimen" />
      <max value="0" />
    </element>
    <element id="Observation.device">
      <path value="Observation.device" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Device" />
      </type>
    </element>
    <element id="Observation.device.reference">
      <path value="Observation.device.reference" />
      <max value="0" />
    </element>
    <element id="Observation.device.type">
      <path value="Observation.device.type" />
      <min value="1" />
      <fixedUri value="Device" />
    </element>
    <element id="Observation.device.identifier.use">
      <path value="Observation.device.identifier.use" />
      <max value="0" />
    </element>
    <element id="Observation.device.identifier.type">
      <path value="Observation.device.identifier.type" />
      <max value="0" />
    </element>
    <element id="Observation.device.identifier.system">
      <path value="Observation.device.identifier.system" />
      <min value="1" />
      <fixedUri value="http://fhir.synapxe.sg/NamingSystem/device-guid" />
    </element>
    <element id="Observation.device.identifier.value">
      <path value="Observation.device.identifier.value" />
      <min value="1" />
    </element>
    <element id="Observation.device.identifier.period">
      <path value="Observation.device.identifier.period" />
      <max value="0" />
    </element>
    <element id="Observation.device.identifier.assigner">
      <path value="Observation.device.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Observation.device.display">
      <path value="Observation.device.display" />
      <max value="0" />
    </element>
    <element id="Observation.referenceRange">
      <path value="Observation.referenceRange" />
      <max value="0" />
    </element>
    <element id="Observation.hasMember">
      <path value="Observation.hasMember" />
      <max value="0" />
    </element>
    <element id="Observation.derivedFrom">
      <path value="Observation.derivedFrom" />
      <max value="0" />
    </element>
    <element id="Observation.component.code">
      <path value="Observation.component.code" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component.code.coding">
      <path value="Observation.component.code.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component.code.coding.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.component.code.coding.version">
      <path value="Observation.component.code.coding.version" />
      <max value="0" />
    </element>
    <element id="Observation.component.code.coding.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
    </element>
    <element id="Observation.component.code.coding.display">
      <path value="Observation.component.code.coding.display" />
      <min value="1" />
    </element>
    <element id="Observation.component.code.coding.userSelected">
      <path value="Observation.component.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.component.code.text">
      <path value="Observation.component.code.text" />
      <max value="0" />
    </element>
    <element id="Observation.component.value[x]">
      <path value="Observation.component.value[x]" />
      <min value="1" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element id="Observation.component.value[x].value">
      <path value="Observation.component.value[x].value" />
      <min value="1" />
    </element>
    <element id="Observation.component.value[x].comparator">
      <path value="Observation.component.value[x].comparator" />
      <max value="0" />
    </element>
    <element id="Observation.component.value[x].unit">
      <path value="Observation.component.value[x].unit" />
      <min value="1" />
    </element>
    <element id="Observation.component.value[x].system">
      <path value="Observation.component.value[x].system" />
      <min value="1" />
      <fixedUri value="http://unitsofmeasure.org" />
    </element>
    <element id="Observation.component.value[x].code">
      <path value="Observation.component.value[x].code" />
      <min value="1" />
    </element>
    <element id="Observation.component.dataAbsentReason">
      <path value="Observation.component.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.component.interpretation">
      <path value="Observation.component.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.component.referenceRange">
      <path value="Observation.component.referenceRange" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>