<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="HiisDeviceDataRecorderDefinition" />
  <url value="https://fhir.bfarm.de/StructureDefinition/HiisDeviceDataRecorderDefinition" />
  <version value="3.1.0-TEST" />
  <name value="HiisDeviceDataRecorderDefinition" />
  <title value="HiisDeviceDataRecorderDefinition" />
  <status value="draft" />
  <description value="Definition of an interface (DeviceDataRecorder) for a medical aid or implant in the HIIS catalog." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="DeviceDefinition" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/DeviceDefinition" />
  <derivation value="constraint" />
  <differential>
    <element id="DeviceDefinition">
      <path value="DeviceDefinition" />
      <short value="Medical Aid Interface" />
      <definition value="Represents an interface for medical aids or implants for data recording." />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension">
      <path value="DeviceDefinition.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:endpoint">
      <path value="DeviceDefinition.extension" />
      <sliceName value="endpoint" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.bfarm.de/StructureDefinition/HiisDeviceDataRecorderEndpointLink" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link">
      <path value="DeviceDefinition.extension" />
      <sliceName value="link" />
      <short value="Supported Medical Aids" />
      <definition value="Reference to supported medical aids or implants (HiisPersonalHealthDeviceDefinition)." />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/5.0/StructureDefinition/extension-DeviceDefinition.link" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension">
      <path value="DeviceDefinition.extension.extension" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relation">
      <path value="DeviceDefinition.extension.extension" />
      <sliceName value="relation" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relation.extension">
      <path value="DeviceDefinition.extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relation.value[x]">
      <path value="DeviceDefinition.extension.extension.value[x]" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.bfarm.de/ValueSet/HiisDeviceDefinitionRelationType" />
      </binding>
    </element>
    <element id="DeviceDefinition.extension:link.extension:relation.value[x].system">
      <path value="DeviceDefinition.extension.extension.value[x].system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relation.value[x].code">
      <path value="DeviceDefinition.extension.extension.value[x].code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relation.value[x].display">
      <path value="DeviceDefinition.extension.extension.value[x].display" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relatedDevice">
      <path value="DeviceDefinition.extension.extension" />
      <sliceName value="relatedDevice" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relatedDevice.extension">
      <path value="DeviceDefinition.extension.extension.extension" />
      <min value="2" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relatedDevice.extension:reference">
      <path value="DeviceDefinition.extension.extension.extension" />
      <sliceName value="reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relatedDevice.extension:reference.extension">
      <path value="DeviceDefinition.extension.extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relatedDevice.extension:reference.value[x]">
      <path value="DeviceDefinition.extension.extension.extension.value[x]" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.bfarm.de/StructureDefinition/HiisPersonalHealthDeviceDefinition" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:link.extension:relatedDevice.extension:reference.value[x].reference">
      <path value="DeviceDefinition.extension.extension.extension.value[x].reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.extension:mivSet">
      <path value="DeviceDefinition.extension" />
      <sliceName value="mivSet" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.bfarm.de/StructureDefinition/HiisDeviceDefinitionMivSet" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.identifier">
      <path value="DeviceDefinition.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="Identifiers" />
      <definition value="Contains characteristics for unique identification of the medical aid interface." />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.identifier:hiisId">
      <path value="DeviceDefinition.identifier" />
      <sliceName value="hiisId" />
      <short value="HIIS ID" />
      <definition value="The unique HIIS ID from the HIIS catalog." />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.identifier:hiisId.system">
      <path value="DeviceDefinition.identifier.system" />
      <min value="1" />
      <fixedUri value="https://fhir.bfarm.de/Identifier/HiisId" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.identifier:hiisId.value">
      <path value="DeviceDefinition.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.manufacturer[x]">
      <path value="DeviceDefinition.manufacturer[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.manufacturer[x]:manufacturerReference">
      <path value="DeviceDefinition.manufacturer[x]" />
      <sliceName value="manufacturerReference" />
      <short value="Manufacturer" />
      <definition value="The reference to the manufacturer of the medical aid interface." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.bfarm.de/StructureDefinition/HiisManufacturer" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.manufacturer[x]:manufacturerReference.reference">
      <path value="DeviceDefinition.manufacturer[x].reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.manufacturer[x]:manufacturerReference.display">
      <path value="DeviceDefinition.manufacturer[x].display" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.deviceName">
      <path value="DeviceDefinition.deviceName" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="type" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="Interface Name" />
      <definition value="The name designation of the medical aid interface." />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.deviceName:userFriendlyName">
      <path value="DeviceDefinition.deviceName" />
      <sliceName value="userFriendlyName" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.deviceName:userFriendlyName.name">
      <path value="DeviceDefinition.deviceName.name" />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.deviceName:userFriendlyName.type">
      <path value="DeviceDefinition.deviceName.type" />
      <fixedCode value="user-friendly-name" />
    </element>
    <element id="DeviceDefinition.version">
      <path value="DeviceDefinition.version" />
      <short value="Interface Version" />
      <definition value="The version of the interface." />
      <mustSupport value="true" />
    </element>
    <element id="DeviceDefinition.note">
      <path value="DeviceDefinition.note" />
      <short value="Internal search index (not for client use)" />
      <definition value="For technical reasons (search indexing), the server may map MIV Set data to this element, in particular to note.text. The content is solely part of that technical mapping to support the miv-set search and must not be read or used by clients for any business content, MIV Set interpretation, or other integration purpose." />
    </element>
    <element id="DeviceDefinition.note.text">
      <path value="DeviceDefinition.note.text" />
      <short value="Technical MIV Set mapping (not for client use)" />
      <definition value="Only used internally for search indexing; must not be interpreted or relied upon by clients (see miv-set search, HIIS use cases documentation)." />
    </element>
  </differential>
</StructureDefinition>