<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="HiisCatalogEntry" />
  <url value="https://fhir.bfarm.de/StructureDefinition/HiisCatalogEntry" />
  <version value="3.1.0-TEST" />
  <name value="HiisCatalogEntry" />
  <title value="HiisCatalogEntry" />
  <status value="draft" />
  <description value="Definition of an entry in the HIIS catalog representing a medical aid, an implant, or an interface for a medical aid or implant." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="CatalogEntry" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/CatalogEntry" />
  <derivation value="constraint" />
  <differential>
    <element id="CatalogEntry">
      <path value="CatalogEntry" />
      <short value="HIIS Catalog Entry" />
      <definition value="Represents an entry in the HIIS catalog." />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.extension">
      <path value="CatalogEntry.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.extension:history">
      <path value="CatalogEntry.extension" />
      <sliceName value="history" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.bfarm.de/StructureDefinition/HiisCatalogEntryHistory" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.identifier">
      <path value="CatalogEntry.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <short value="Catalog Entry IDs" />
      <definition value="Contains values for unique identification of the catalog entry." />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.identifier:url">
      <path value="CatalogEntry.identifier" />
      <sliceName value="url" />
      <short value="URL to Catalog Entry" />
      <definition value="Contains the URL to the catalog entry in the HIIS catalog." />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.identifier:url.system">
      <path value="CatalogEntry.identifier.system" />
      <min value="1" />
      <fixedUri value="urn:ietf:rfc:3986" />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.identifier:url.value">
      <path value="CatalogEntry.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.type">
      <path value="CatalogEntry.type" />
      <short value="Entry Type" />
      <definition value="The type of the catalog entry (e.g., whether it is a medical aid or a medical aid interface)." />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.type.coding">
      <path value="CatalogEntry.type.coding" />
      <type>
        <code value="Coding" />
        <profile value="https://fhir.bfarm.de/StructureDefinition/CodingHiisCatalogEntryType" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.orderable">
      <path value="CatalogEntry.orderable" />
      <short value="Orderability" />
      <definition value="Indicates whether the medical aid or medical aid interface linked to the catalog entry is orderable or prescribable." />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.referencedItem">
      <path value="CatalogEntry.referencedItem" />
      <short value="Medical Aid / Medical Aid Interface" />
      <definition value="The reference to the medical aid (HiisPersonalHealthDeviceDefinition) or the medical aid interface (HiisDeviceDataRecorderDefinition)." />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.referencedItem.extension">
      <path value="CatalogEntry.referencedItem.extension" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.referencedItem.extension:deviceDefinition">
      <path value="CatalogEntry.referencedItem.extension" />
      <sliceName value="deviceDefinition" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.bfarm.de/StructureDefinition/HiisCatalogEntryReferencedItemLink" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.status">
      <path value="CatalogEntry.status" />
      <short value="Listing Status" />
      <definition value="Represents the status of the entry in the directory." />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.bfarm.de/ValueSet/HiisCatalogEntryStatus" />
      </binding>
    </element>
    <element id="CatalogEntry.validityPeriod">
      <path value="CatalogEntry.validityPeriod" />
      <short value="Validity Period" />
      <definition value="The period during which the catalog entry is or was valid; may include a start date (e.g., inclusion in the directory) and an end date (e.g., removal from the directory)." />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.validityPeriod.start">
      <path value="CatalogEntry.validityPeriod.start" />
      <short value="First Day of Validity" />
      <definition value="The date of the first inclusion in the directory." />
      <mustSupport value="true" />
    </element>
    <element id="CatalogEntry.validityPeriod.end">
      <path value="CatalogEntry.validityPeriod.end" />
      <short value="Last Day of Validity" />
      <definition value="The last day of validity in the directory." />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>