<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="SequenceDocument" />
  <url value="https://demis.rki.de/fhir/igs/StructureDefinition/SequenceDocument" />
  <version value="2.0.3" />
  <name value="SequenceDocument" />
  <title value="Sequenz-Dokument" />
  <status value="active" />
  <date value="2025-11-04" />
  <publisher value="Robert Koch-Institut" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="demis-support@rki.de" />
    </telecom>
  </contact>
  <description value="Das SequenceDocument referenziert die Sequenzdaten im FASTA oder FASTQ Format." />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <version value="ALPHA-2" />
      <code value="DE" />
    </coding>
  </jurisdiction>
  <copyright value="Copyright (C) 2021-2025 Robert Koch-Institut" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="DocumentReference" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/DocumentReference" />
  <derivation value="constraint" />
  <differential>
    <element id="DocumentReference.meta">
      <path value="DocumentReference.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.meta.profile">
      <path value="DocumentReference.meta.profile" />
      <min value="1" />
      <max value="1" />
      <patternCanonical value="https://demis.rki.de/fhir/igs/StructureDefinition/SequenceDocument" />
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.type">
      <path value="DocumentReference.type" />
      <short value="Art des Dokumentes" />
      <definition value="Art des Dokumentes. Der Typ ist grundsätzlich mit dem SNOMED-Code „Molecular sequence data (finding)“ zu belegen." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.type.coding">
      <path value="DocumentReference.type.coding" />
      <min value="1" />
      <max value="1" />
      <patternCoding>
        <system value="http://snomed.info/sct" />
        <code value="41482005" />
        <display value="Molecular sequence data (finding)" />
      </patternCoding>
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.content">
      <path value="DocumentReference.content" />
      <short value="Sequenz" />
      <definition value="Sequenz." />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.content.attachment">
      <path value="DocumentReference.content.attachment" />
      <short value="Referenz auf die Sequenz" />
      <definition value="Referenz auf die Sequenz." />
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.content.attachment.contentType">
      <path value="DocumentReference.content.attachment.contentType" />
      <short value="Format der Sequenz" />
      <definition value="Format der Sequenz. Das jeweils zutreffende Format muss entsprechend dem vorgegebenen ValueSet https://demis.rki.de/fhir/igs/ValueSet/contentType angegeben werden." />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://demis.rki.de/fhir/igs/ValueSet/contentType" />
      </binding>
    </element>
    <element id="DocumentReference.content.attachment.data">
      <path value="DocumentReference.content.attachment.data" />
      <max value="0" />
    </element>
    <element id="DocumentReference.content.attachment.hash">
      <path value="DocumentReference.content.attachment.hash" />
      <short value="SHA256SUM der Genomsequenz" />
      <definition value="SHA256SUM der Genomsequenz. Beispiel: c16516c6d9b1dd9c0f1e8ce8baf43d42031a32fcf75f1d69f16eb4b24df6fecd." />
      <constraint>
        <key value="validSHA256SUM" />
        <severity value="error" />
        <human value="Der Hash muss dem SHA256SUM-Format entsprechen." />
        <expression value="$this.toString().matches('^[A-Fa-f0-9]{64}$')" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="DocumentReference.content.attachment.title">
      <path value="DocumentReference.content.attachment.title" />
      <short value="Dateiname" />
      <definition value="Name der Datei, die mit dieser Sequenz verbunden ist." />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>