<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="HiisDeviceDefinitionMivSet" />
  <url value="https://fhir.bfarm.de/StructureDefinition/HiisDeviceDefinitionMivSet" />
  <version value="3.1.0-TEST" />
  <name value="HiisDeviceDefinitionMivSet" />
  <title value="HiisDeviceDefinitionMivSet" />
  <status value="draft" />
  <description value="Extension for referencing an MIV Set (Mandatory Interoperable Value Set)." />
  <fhirVersion value="4.0.1" />
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="DeviceDefinition" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="MIV Set" />
      <definition value="Contains information about a supported MIV Set including time parameters for interfaces." />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:delayFromRealTime">
      <path value="Extension.extension" />
      <sliceName value="delayFromRealTime" />
      <short value="Delay from Real Time" />
      <definition value="Maximum delay in seconds of the end-to-end synchronization from the Personal Health Device to the Health Record under normal operational conditions. (Only set in HiisDeviceDataRecorderDefinition.)" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:delayFromRealTime.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:delayFromRealTime.url">
      <path value="Extension.extension.url" />
      <fixedUri value="delayFromRealTime" />
    </element>
    <element id="Extension.extension:delayFromRealTime.value[x]">
      <path value="Extension.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Extension.extension:delayFromRealTime.value[x]:valueDuration">
      <path value="Extension.extension.value[x]" />
      <sliceName value="valueDuration" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Duration" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:gracePeriod">
      <path value="Extension.extension" />
      <sliceName value="gracePeriod" />
      <short value="Grace Period" />
      <definition value="Time span a DiGA must wait between two requests for data that affect the same MIV and patient. (Only set in HiisDeviceDataRecorderDefinition.)" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:gracePeriod.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:gracePeriod.url">
      <path value="Extension.extension.url" />
      <fixedUri value="gracePeriod" />
    </element>
    <element id="Extension.extension:gracePeriod.value[x]">
      <path value="Extension.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Extension.extension:gracePeriod.value[x]:valueDuration">
      <path value="Extension.extension.value[x]" />
      <sliceName value="valueDuration" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Duration" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:historicDataPeriod">
      <path value="Extension.extension" />
      <sliceName value="historicDataPeriod" />
      <short value="Historic Data Period" />
      <definition value="Minimum number of days historic data is available at the Device Data Recorder. (Only set in HiisDeviceDataRecorderDefinition.)" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:historicDataPeriod.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:historicDataPeriod.url">
      <path value="Extension.extension.url" />
      <fixedUri value="historicDataPeriod" />
    </element>
    <element id="Extension.extension:historicDataPeriod.value[x]">
      <path value="Extension.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Extension.extension:historicDataPeriod.value[x]:valueDuration">
      <path value="Extension.extension.value[x]" />
      <sliceName value="valueDuration" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Duration" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:mivSet">
      <path value="Extension.extension" />
      <sliceName value="mivSet" />
      <short value="MIV Set Reference" />
      <definition value="Reference to the supported MIV Set." />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:mivSet.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:mivSet.url">
      <path value="Extension.extension.url" />
      <fixedUri value="mivSet" />
    </element>
    <element id="Extension.extension:mivSet.value[x]">
      <path value="Extension.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Extension.extension:mivSet.value[x]:valueReference">
      <path value="Extension.extension.value[x]" />
      <sliceName value="valueReference" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Reference" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:mivSet.value[x]:valueReference.reference">
      <path value="Extension.extension.value[x].reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.extension:mivSet.value[x]:valueReference.display">
      <path value="Extension.extension.value[x].display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="https://fhir.bfarm.de/StructureDefinition/HiisDeviceDefinitionMivSet" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>