<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="94d3f606-acc3-48b0-9e46-16afd3e2ee72" />
  <meta>
    <lastUpdated value="2018-02-05T15:27:43.857+01:00" />
  </meta>
  <url value="http://devices.fhir.org/StructureDefinition/NumericObservation" />
  <name value="NumericObservation" />
  <title value="Numeric Observation Profile" />
  <status value="draft" />
  <date value="2017-11-25T10:06:04.018+01:00" />
  <description value="StructureDefinition for a Numeric Observation resource" />
  <fhirVersion value="3.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" />
      <constraint>
        <key value="pocd-obs-1" />
        <severity value="error" />
        <human value="If there is no value a dataAbsentReason shall be present" />
        <expression value="value.exists() or dataAbsentReason.exists()" />
      </constraint>
    </element>
    <element id="Observation.extension">
      <path value="Observation.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.extension:measurementStatus">
      <path value="Observation.extension" />
      <sliceName value="measurementStatus" />
      <short value="Measurement status" />
      <definition value="The Measurement Status extension provides more detailed status information about observed values. It gets a code from the Measurement Status value set." />
      <type>
        <code value="Extension" />
        <profile value="http://devices.fhir.org/StructureDefinition/observation-measurement-status" />
      </type>
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <short value="Numeric type" />
      <definition value="Observation.code shall have a coding from the ISO/IEEE 11073 MDC metrics nomenclature. The Rosetta Terminology Mapping Management System (RTMMS) lists available codes. Depending on the type of measurement, the Vital Signs profiles may require an additional LOINC code." />
    </element>
    <element id="Observation.code.coding">
      <path value="Observation.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Observation.code.coding:11073MDC">
      <path value="Observation.code.coding" />
      <sliceName value="11073MDC" />
      <short value="11073 MDC code" />
      <definition value="Code defined by the ISO/IEEE 11073-10101 Nomenclature" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.code.coding:11073MDC.system">
      <path value="Observation.code.coding.system" />
      <min value="1" />
      <fixedUri value="urn:iso:std:iso:11073:10101" />
    </element>
    <element id="Observation.code.coding:11073MDC.code">
      <path value="Observation.code.coding.code" />
      <min value="1" />
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <definition value="Observation.subject shall be present and refer to a Patient resource or PoC Device resource." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://devices.fhir.org/StructureDefinition/PoCDevice" />
      </type>
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <definition value="Either Observation.valueQuantity or Observation.valueRatio or, if there is no value, Observation.dataAbsentReason shall be present. Values shall have a UCUM unit code." />
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
    </element>
    <element id="Observation.value[x]:valueQuantity">
      <path value="Observation.value[x]" />
      <sliceName value="valueQuantity" />
      <type>
        <code value="Quantity" />
      </type>
      <condition value="pocd-obs-1" />
    </element>
    <element id="Observation.value[x]:valueQuantity.value">
      <path value="Observation.value[x].value" />
      <min value="1" />
    </element>
    <element id="Observation.value[x]:valueQuantity.system">
      <path value="Observation.value[x].system" />
      <fixedUri value="http://unitsofmeasure.org" />
    </element>
    <element id="Observation.value[x]:valueRatio">
      <path value="Observation.value[x]" />
      <sliceName value="valueRatio" />
      <type>
        <code value="Ratio" />
      </type>
      <condition value="pocd-obs-1" />
    </element>
    <element id="Observation.value[x]:valueRatio.numerator.value">
      <path value="Observation.value[x].numerator.value" />
      <min value="1" />
    </element>
    <element id="Observation.value[x]:valueRatio.numerator.system">
      <path value="Observation.value[x].numerator.system" />
      <fixedUri value="http://unitsofmeasure.org" />
    </element>
    <element id="Observation.value[x]:valueRatio.denominator.value">
      <path value="Observation.value[x].denominator.value" />
      <min value="1" />
    </element>
    <element id="Observation.value[x]:valueRatio.denominator.system">
      <path value="Observation.value[x].denominator.system" />
      <fixedUri value="http://unitsofmeasure.org" />
    </element>
    <element id="Observation.dataAbsentReason">
      <path value="Observation.dataAbsentReason" />
      <condition value="pocd-obs-1" />
    </element>
    <element id="Observation.device">
      <path value="Observation.device" />
      <definition value="Observation.device shall be present and refer to the Numeric DeviceMetric resource where this observation belongs to." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://devices.fhir.org/StructureDefinition/NumericDeviceMetric" />
      </type>
    </element>
  </differential>
</StructureDefinition>