<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="collectionforsharing-profile" />
  <url value="http://fhir.xt.dev/StructureDefinition/CollectionForSharing" />
  <version value="1.0.0" />
  <name value="CollectionForSharing" />
  <status value="active" />
  <date value="2025-01-15T09:02:07.2457432+00:00" />
  <publisher value="x-tention Informationstechnologie GmbH" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="fhir.profiling@x-tention.com" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="A list that collects patient data for sharing with healthcare providers. The data belongs to one patient record. Each data entry may also belong to multiple other collections. The collection may be shared with multiple providers. All data, except for XDS documents, are included by reference." />
  <copyright value="x-tention Informationstechnologie GmbH" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="List" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/List" />
  <derivation value="constraint" />
  <differential>
    <element id="List.identifier">
      <path value="List.identifier" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="List.identifier.type">
      <path value="List.identifier.type" />
      <min value="1" />
    </element>
    <element id="List.identifier.type.coding">
      <path value="List.identifier.type.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="List.identifier.type.coding.system">
      <path value="List.identifier.type.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.xt.dev/CodeSystem/IdentifierType" />
    </element>
    <element id="List.identifier.type.coding.code">
      <path value="List.identifier.type.coding.code" />
      <min value="1" />
      <fixedCode value="COLI" />
    </element>
    <element id="List.identifier.system">
      <path value="List.identifier.system" />
      <min value="1" />
      <fixedUri value="urn:ietf:rfc:3986" />
    </element>
    <element id="List.identifier.value">
      <path value="List.identifier.value" />
      <short value="Collection ID" />
      <definition value="urn-encoded OID that identifies the collection" />
      <min value="1" />
    </element>
    <element id="List.identifier.period">
      <path value="List.identifier.period" />
      <max value="0" />
    </element>
    <element id="List.identifier.assigner">
      <path value="List.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="List.mode">
      <path value="List.mode" />
      <fixedCode value="working" />
    </element>
    <element id="List.title">
      <path value="List.title" />
      <min value="1" />
    </element>
    <element id="List.code">
      <path value="List.code" />
      <min value="1" />
    </element>
    <element id="List.code.coding">
      <path value="List.code.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="List.code.coding.system">
      <path value="List.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.xt.dev/CodeSystem/ListPurpose" />
    </element>
    <element id="List.code.coding.code">
      <path value="List.code.coding.code" />
      <min value="1" />
      <fixedCode value="patient-collection" />
    </element>
    <element id="List.code.text">
      <path value="List.code.text" />
      <max value="0" />
    </element>
    <element id="List.subject">
      <path value="List.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
      </type>
    </element>
    <element id="List.subject.reference">
      <path value="List.subject.reference" />
      <min value="1" />
    </element>
    <element id="List.subject.type">
      <path value="List.subject.type" />
      <min value="1" />
      <fixedUri value="Patient" />
    </element>
    <element id="List.date">
      <path value="List.date" />
      <min value="1" />
    </element>
    <element id="List.source">
      <path value="List.source" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="List.source.extension:sourcePatientRepresentative">
      <path value="List.source.extension" />
      <sliceName value="sourcePatientRepresentative" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.xt.dev/StructureDefinition/SourcePatientRepresentative" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="List.source.reference">
      <path value="List.source.reference" />
      <min value="1" />
    </element>
    <element id="List.orderedBy">
      <path value="List.orderedBy" />
      <min value="1" />
    </element>
    <element id="List.orderedBy.coding">
      <path value="List.orderedBy.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="List.orderedBy.coding.system">
      <path value="List.orderedBy.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/list-order" />
    </element>
    <element id="List.orderedBy.coding.code">
      <path value="List.orderedBy.coding.code" />
      <min value="1" />
      <fixedCode value="entry-date" />
    </element>
    <element id="List.orderedBy.text">
      <path value="List.orderedBy.text" />
      <max value="0" />
    </element>
    <element id="List.entry">
      <path value="List.entry" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="item.type" />
        </discriminator>
        <rules value="closed" />
      </slicing>
    </element>
    <element id="List.entry:xdsDocumentEntry">
      <path value="List.entry" />
      <sliceName value="xdsDocumentEntry" />
    </element>
    <element id="List.entry:xdsDocumentEntry.deleted">
      <path value="List.entry.deleted" />
      <max value="0" />
    </element>
    <element id="List.entry:xdsDocumentEntry.date">
      <path value="List.entry.date" />
      <min value="1" />
    </element>
    <element id="List.entry:xdsDocumentEntry.item.type">
      <path value="List.entry.item.type" />
      <min value="1" />
      <fixedUri value="DocumentReference" />
    </element>
    <element id="List.entry:xdsDocumentEntry.item.identifier">
      <path value="List.entry.item.identifier" />
      <min value="1" />
    </element>
    <element id="List.entry:xdsDocumentEntry.item.identifier.use">
      <path value="List.entry.item.identifier.use" />
      <fixedCode value="usual" />
    </element>
    <element id="List.entry:xdsDocumentEntry.item.identifier.type">
      <path value="List.entry.item.identifier.type" />
      <max value="0" />
    </element>
    <element id="List.entry:xdsDocumentEntry.item.identifier.system">
      <path value="List.entry.item.identifier.system" />
      <min value="1" />
    </element>
    <element id="List.entry:xdsDocumentEntry.item.identifier.value">
      <path value="List.entry.item.identifier.value" />
      <min value="1" />
    </element>
    <element id="List.entry:xdsDocumentEntry.item.identifier.period">
      <path value="List.entry.item.identifier.period" />
      <max value="0" />
    </element>
    <element id="List.entry:xdsDocumentEntry.item.identifier.assigner">
      <path value="List.entry.item.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="List.entry:conditionEntry">
      <path value="List.entry" />
      <sliceName value="conditionEntry" />
    </element>
    <element id="List.entry:conditionEntry.deleted">
      <path value="List.entry.deleted" />
      <max value="0" />
    </element>
    <element id="List.entry:conditionEntry.date">
      <path value="List.entry.date" />
      <min value="1" />
    </element>
    <element id="List.entry:conditionEntry.item">
      <path value="List.entry.item" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Condition" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="List.entry:conditionEntry.item.reference">
      <path value="List.entry.item.reference" />
      <min value="1" />
    </element>
    <element id="List.entry:conditionEntry.item.type">
      <path value="List.entry.item.type" />
      <min value="1" />
      <fixedUri value="Condition" />
    </element>
    <element id="List.entry:procedureEntry">
      <path value="List.entry" />
      <sliceName value="procedureEntry" />
    </element>
    <element id="List.entry:procedureEntry.deleted">
      <path value="List.entry.deleted" />
      <max value="0" />
    </element>
    <element id="List.entry:procedureEntry.date">
      <path value="List.entry.date" />
      <min value="1" />
    </element>
    <element id="List.entry:procedureEntry.item">
      <path value="List.entry.item" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Procedure" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="List.entry:procedureEntry.item.reference">
      <path value="List.entry.item.reference" />
      <min value="1" />
    </element>
    <element id="List.entry:procedureEntry.item.type">
      <path value="List.entry.item.type" />
      <min value="1" />
      <fixedUri value="Procedure" />
    </element>
    <element id="List.entry:observationEntry">
      <path value="List.entry" />
      <sliceName value="observationEntry" />
    </element>
    <element id="List.entry:observationEntry.deleted">
      <path value="List.entry.deleted" />
      <max value="0" />
    </element>
    <element id="List.entry:observationEntry.date">
      <path value="List.entry.date" />
      <min value="1" />
    </element>
    <element id="List.entry:observationEntry.item">
      <path value="List.entry.item" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Observation" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="List.entry:observationEntry.item.reference">
      <path value="List.entry.item.reference" />
      <min value="1" />
    </element>
    <element id="List.entry:observationEntry.item.type">
      <path value="List.entry.item.type" />
      <min value="1" />
      <fixedUri value="Observation" />
    </element>
    <element id="List.entry:encounterEntry">
      <path value="List.entry" />
      <sliceName value="encounterEntry" />
    </element>
    <element id="List.entry:encounterEntry.deleted">
      <path value="List.entry.deleted" />
      <max value="0" />
    </element>
    <element id="List.entry:encounterEntry.date">
      <path value="List.entry.date" />
      <min value="1" />
    </element>
    <element id="List.entry:encounterEntry.item">
      <path value="List.entry.item" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Encounter" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="List.entry:encounterEntry.item.reference">
      <path value="List.entry.item.reference" />
      <min value="1" />
    </element>
    <element id="List.entry:encounterEntry.item.type">
      <path value="List.entry.item.type" />
      <fixedUri value="Encounter" />
    </element>
    <element id="List.entry:questionnaireResponseEntry">
      <path value="List.entry" />
      <sliceName value="questionnaireResponseEntry" />
    </element>
    <element id="List.entry:questionnaireResponseEntry.deleted">
      <path value="List.entry.deleted" />
      <max value="0" />
    </element>
    <element id="List.entry:questionnaireResponseEntry.date">
      <path value="List.entry.date" />
      <min value="1" />
    </element>
    <element id="List.entry:questionnaireResponseEntry.item">
      <path value="List.entry.item" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="List.entry:questionnaireResponseEntry.item.reference">
      <path value="List.entry.item.reference" />
      <min value="1" />
    </element>
    <element id="List.entry:questionnaireResponseEntry.item.type">
      <path value="List.entry.item.type" />
      <min value="1" />
      <fixedUri value="QuestionnaireResponse" />
    </element>
    <element id="List.entry:appointmentEntry">
      <path value="List.entry" />
      <sliceName value="appointmentEntry" />
    </element>
    <element id="List.entry:appointmentEntry.deleted">
      <path value="List.entry.deleted" />
      <max value="0" />
    </element>
    <element id="List.entry:appointmentEntry.date">
      <path value="List.entry.date" />
      <min value="1" />
    </element>
    <element id="List.entry:appointmentEntry.item">
      <path value="List.entry.item" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Appointment" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="List.entry:appointmentEntry.item.reference">
      <path value="List.entry.item.reference" />
      <min value="1" />
    </element>
    <element id="List.entry:appointmentEntry.item.type">
      <path value="List.entry.item.type" />
      <min value="1" />
      <fixedUri value="Appointment" />
    </element>
    <element id="List.entry:taskEntry">
      <path value="List.entry" />
      <sliceName value="taskEntry" />
    </element>
    <element id="List.entry:taskEntry.deleted">
      <path value="List.entry.deleted" />
      <max value="0" />
    </element>
    <element id="List.entry:taskEntry.date">
      <path value="List.entry.date" />
      <min value="1" />
    </element>
    <element id="List.entry:taskEntry.item">
      <path value="List.entry.item" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Task" />
        <aggregation value="referenced" />
      </type>
    </element>
    <element id="List.entry:taskEntry.item.reference">
      <path value="List.entry.item.reference" />
      <min value="1" />
    </element>
    <element id="List.entry:taskEntry.item.type">
      <path value="List.entry.item.type" />
      <min value="1" />
      <fixedUri value="Task" />
    </element>
    <element id="List.emptyReason">
      <path value="List.emptyReason" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>