<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="DiPagOperationSubmitPatient" />
  <url value="https://gematik.de/fhir/dipag/OperationDefinition/Submit" />
  <version value="1.3.0" />
  <name value="DiPagSubmit" />
  <status value="active" />
  <kind value="operation" />
  <experimental value="false" />
  <date value="2026-10-01" />
  <affectsState value="true" />
  <code value="invoice-submit" />
  <resource value="Patient" />
  <system value="false" />
  <type value="false" />
  <instance value="true" />
  <parameter>
    <name value="rechnung" />
    <use value="in" />
    <min value="1" />
    <max value="1" />
    <documentation value="Vollständige Digitale Patientenrechnung mit verschiedenen Attachments: 1) Rechnungs-PDF 2) Strukturierte Daten OHNE Signatur. Besteht aus dem Dokument selbst sowie optional der übersteuernden Position des Datamatrix-Codes (barcodePosition in pt)." />
    <part>
      <name value="dokument" />
      <use value="in" />
      <min value="1" />
      <max value="1" />
      <documentation value="Die Digitale Patientenrechnung als DocumentReference. Extensions, die in der Ressource über die profilierten Extensions hinausgehend vorhanden sind, werden abgelehnt (strikte Validierung)." />
      <type value="DocumentReference" />
      <targetProfile value="https://gematik.de/fhir/dipag/StructureDefinition/dipag-dokumentenmetadaten-eingang-patient" />
    </part>
    <part>
      <name value="barcodePosition" />
      <use value="in" />
      <min value="0" />
      <max value="1" />
      <documentation value="Optionale Übersteuerung der Position des Datamatrix-Codes auf dem Dokument. Übersteuert die Default-Position des Fachdienstes. Besteht aus den Sub-Parts x und y (jeweils Quantity in der Einheit pt / typografischer Punkt)." />
      <part>
        <name value="x" />
        <use value="in" />
        <min value="1" />
        <max value="1" />
        <documentation value="X-Position des Datamatrix-Codes in pt (typografischer Punkt)." />
        <type value="decimal" />
      </part>
      <part>
        <name value="y" />
        <use value="in" />
        <min value="1" />
        <max value="1" />
        <documentation value="Y-Position des Datamatrix-Codes in pt (typografischer Punkt)." />
        <type value="decimal" />
      </part>
    </part>
  </parameter>
  <parameter>
    <name value="anhang" />
    <use value="in" />
    <min value="0" />
    <max value="*" />
    <documentation value="Weitere Anhänge zur Digitalen Patientenrechnung als PDF. Besteht aus dem Dokument selbst sowie optional der übersteuernden Position des Datamatrix-Codes (barcodePosition in pt)." />
    <part>
      <name value="dokument" />
      <use value="in" />
      <min value="1" />
      <max value="1" />
      <documentation value="Der Anhang als DocumentReference. Extensions, die in der Ressource über die profilierten Extensions hinausgehend vorhanden sind, werden abgelehnt (strikte Validierung)." />
      <type value="DocumentReference" />
      <targetProfile value="https://gematik.de/fhir/dipag/StructureDefinition/dipag-dokumentenmetadaten-eingang-patient" />
    </part>
    <part>
      <name value="barcodePosition" />
      <use value="in" />
      <min value="0" />
      <max value="1" />
      <documentation value="Optionale Übersteuerung der Position des Datamatrix-Codes auf dem Anhang. Übersteuert die Default-Position des Fachdienstes. Besteht aus den Sub-Parts x und y (jeweils Quantity in der Einheit pt / typografischer Punkt)." />
      <part>
        <name value="x" />
        <use value="in" />
        <min value="1" />
        <max value="1" />
        <documentation value="X-Position des Datamatrix-Codes in pt (typografischer Punkt)." />
        <type value="decimal" />
      </part>
      <part>
        <name value="y" />
        <use value="in" />
        <min value="1" />
        <max value="1" />
        <documentation value="Y-Position des Datamatrix-Codes in pt (typografischer Punkt)." />
        <type value="decimal" />
      </part>
    </part>
  </parameter>
  <parameter>
    <name value="modus" />
    <use value="in" />
    <min value="0" />
    <max value="1" />
    <documentation value="Verarbeitungshinweis für die Digitale Patientenrechnung. Default: normal." />
    <type value="code" />
    <binding>
      <strength value="required" />
      <valueSet value="https://gematik.de/fhir/dipag/ValueSet/dipag-rechnung-submit-modus-vs" />
    </binding>
  </parameter>
  <parameter>
    <name value="angereichertesPDF" />
    <use value="in" />
    <min value="0" />
    <max value="1" />
    <documentation value="Indikation ob nur das durch den FD erstellte Dokumententoken zurückgegeben werden soll oder das gesamte PDF inkl. Dokumententoken. Default: false." />
    <type value="boolean" />
  </parameter>
  <parameter>
    <name value="token" />
    <use value="out" />
    <min value="0" />
    <max value="*" />
    <documentation value="Token(s) zur eineindeutigen Identifizierung der Rechnungsdokumente/-anhänge (unabhängig von returnTokenPDF). Dieser Parameter ist NUR optional falls modus = 'test'." />
    <part>
      <name value="id" />
      <use value="out" />
      <min value="1" />
      <max value="1" />
      <documentation value="Randomisiertes Token zur Identifikation eines Dokumentes." />
      <type value="id" />
    </part>
    <part>
      <name value="docRef" />
      <use value="out" />
      <min value="1" />
      <max value="1" />
      <documentation value="Eindeutiger Identifikatior der Rechnung und Anhänge auf welche sich das Token bezieht." />
      <type value="Identifier" />
    </part>
    <part>
      <name value="angereichertesPDF" />
      <use value="out" />
      <min value="0" />
      <max value="1" />
      <documentation value="PDF mit eingebetteten Token und strukturierten Daten, in Abhängigkeit vom angereichertesPDF-Parameter. Vgl. 4.1 Einreichung per Post des Feature-Dokumentes Digitale Patientenrechnung." />
      <type value="Binary" />
    </part>
  </parameter>
  <parameter>
    <name value="warnungen" />
    <use value="out" />
    <min value="0" />
    <max value="1" />
    <documentation value="Warnhinweise und Fehlern zur Validierung der Digitalen Patientenrechnung. Diese MÜSSEN in jedem Verarbeitungsmodus ausgegeben werden." />
    <type value="OperationOutcome" />
  </parameter>
</OperationDefinition>