<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ext-DeviceSettings" />
  <url value="https://roche.com/fhir/iop/StructureDefinition/ext-DeviceSettings" />
  <name value="ExtDeviceSettings" />
  <title value="ext DeviceSettings" />
  <status value="draft" />
  <publisher value="F. Hoffmann-La Roche AG" />
  <description value="This DeviceSettings extension is used to capture the device settings for devices. The device settings extension consist of three blocks: timings; valueCodeableConcept; &amp; Value; which is flexible enough to accomodate all device settings." />
  <copyright value="Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise." />
  <fhirVersion value="5.0.0" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="Device" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension.extension:settingsTime">
      <path value="Extension.extension" />
      <sliceName value="settingsTime" />
      <max value="1" />
    </element>
    <element id="Extension.extension:settingsTime.url">
      <path value="Extension.extension.url" />
      <fixedUri value="settingsTime" />
    </element>
    <element id="Extension.extension:settingsTime.value[x]">
      <path value="Extension.extension.value[x]" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="Extension.extension:settingsCode">
      <path value="Extension.extension" />
      <sliceName value="settingsCode" />
      <max value="1" />
    </element>
    <element id="Extension.extension:settingsCode.url">
      <path value="Extension.extension.url" />
      <fixedUri value="settingsCode" />
    </element>
    <element id="Extension.extension:settingsCode.value[x]">
      <path value="Extension.extension.value[x]" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://roche.com/fhir/iop/ValueSet/device-settings-codes" />
      </binding>
    </element>
    <element id="Extension.extension:settingsValue">
      <path value="Extension.extension" />
      <sliceName value="settingsValue" />
      <max value="1" />
    </element>
    <element id="Extension.extension:settingsValue.url">
      <path value="Extension.extension.url" />
      <fixedUri value="settingsValue" />
    </element>
    <element id="Extension.extension:settingsValue.value[x]">
      <path value="Extension.extension.value[x]" />
      <type>
        <code value="boolean" />
      </type>
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="Range" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="https://roche.com/fhir/iop/StructureDefinition/ext-DeviceSettings" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>