ISiK Dokumentenaustausch Implementierungsleitfaden
Version 6.0.0-rc - ci-build

: Update document metadata - XML Representation

Active as of 2025-12-17

Raw xml | Download


<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="UpdateMetadata"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: OperationDefinition UpdateMetadata</b></p><a name="UpdateMetadata"> </a><a name="hcUpdateMetadata"> </a><p>URL: [base]/DocumentReference/[id]/$update-metadata</p><h3>Parameters</h3><table class="grid"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>docStatus</td><td/><td>1..1</td><td><a href="http://hl7.org/fhir/R4/datatypes.html#code">code</a></td><td><a href="http://hl7.org/fhir/R4/valueset-composition-status.html">CompositionStatus</a> (Required)</td><td><div><p>new value for element <code>docStatus</code></p>
</div></td></tr></table><div><pre><code>Expected behaviour:
</code></pre>
<ul>
<li>Servers SHALL update the DocumentReference.docStatus with the submitted values</li>
<li>Servers SHALL ensure that DocumentReference.text reflects this change</li>
</ul>
</div></div>
  </text>
  <url
       value="https://gematik.de/fhir/isik/OperationDefinition/UpdateMetadata"/>
  <version value="6.0.0-rc"/>
  <name value="UpdateMetadata"/>
  <title value="Update document metadata"/>
  <status value="active"/>
  <kind value="operation"/>
  <experimental value="false"/>
  <date value="2025-12-17"/>
  <publisher value="gematik GmbH"/>
  <contact>
    <name value="gematik GmbH"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.gematik.de"/>
    </telecom>
  </contact>
  <description
               value="
## Interaktion: Update von Metadaten, Löschen von Dokumenten

Die Operation ``UpdateMetadata`` ermöglicht es, unkritische Metadaten gezielt und kontrolliert zu aktualisieren oder vorläufige Dokumente durch Setzen des Status entered-in-error zuverlässig zu löschen, ohne ein neues Dokument anlegen zu müssen.

### Herstellung von Dokumentenkontext
Der Client muss zunächst die URL der DocumentReference ermitteln, auf die das Update angewendet werden soll. Hierzu kann die Interaktion {{pagelink:Dokumentenabfrage, text:Dokumentenabfrage}} verwendet werden.

### Metadatenupdate
Das Update der Metadaten erfolgt mittels der `$update-metadata` Operation.
Hinweis: Der zum Zeitpunkt der Erstellung dieser Spezifikation vorliegende IHE-MHD-Implementierungsleitfaden sieht kein Metadatenupdate vor. Hier müsste stets ein neues Dokument übermittelt werden.

Für den ISiK Use Case als maßgeblich relevant und unkritisch in Bezug auf die Versionierung hat sich jedoch das Element `docStatus`erwiesen, welches im IHE-Kontext keine Berücksichtigung findet. Im einrichtungsinternen Dokumentenaustausch kommt es häufig vor, dass sich der Status eines Dokumentes ändert (z.b. `preliminary` -&gt; `final`), ohne dass dies Auswirkungen auf den Inhalt hat. Die Anlage eines neuen Dokumentes wäre in diesem Kontext nicht effizient.

Ebenso erlaubt diese Operation, vorläufige Dokumente durch ein Update von docStatus zu *löschen* (`preliminary` -&gt; `entered-in-error` ). 

Wenn Dokumenten-Server $update-metadata unterstützen, dann MÜSSEN Dokumenten-Server das *Löschen* von vorläufigen Dokumenten unterstützen, d.h. dann MÜSSEN Server bei einem Update auf den Status `entered-in-error` auch den Code in `DocumentReference.status` auf  `entered-in-error` setzen und dafür Sorge tragen, dass diese Dokumente bei Suchanfragen nicht mehr als Ergebnisse zurückgegeben werden (siehe [Search Related Safety Checks](https://hl7.org/fhir/R4/safety.html)), es sei denn der Client sucht *explizit* nach gelöschten Dokumenten (z.B. `/DocumentReference?status=entered-in-error`). 

Sobald ein Dokument den Status `final` erreicht hat, MUSS ein Server  die Änderungen von Metadaten NICHT mehr zulassen (d.h. ein Server KANN in diesem Fall die Löschung finaler Dokumente erlauben, MUSS es aber nicht. Der Server KANN in diesem Fall auch eine Fehlermeldung ausgeben).

Finale Dokumente SOLLEN nur noch mit MHD-konformen Methoden aktualisiert bzw. gelöscht werden, indem sie durch eine neue bzw. leere Version ersetzt werden. 
Ein Client SOLL in diesem Fall eine erneute Dokumentenbereitstellung durchführen, mit Referenz auf das zu ersetzende Dokument in `DocumentReference.relatesTo.target` und dem Code `replaces` in `DocumentReference.relatesTo.code`.
"/>
  <affectsState value="true"/>
  <code value="update-metadata"/>
  <comment
           value="
    Expected behaviour:
* Servers SHALL update the DocumentReference.docStatus with the submitted values
* Servers SHALL ensure that DocumentReference.text reflects this change
"/>
  <resource value="DocumentReference"/>
  <system value="false"/>
  <type value="false"/>
  <instance value="true"/>
  <parameter>
    <name value="docStatus"/>
    <use value="in"/>
    <min value="1"/>
    <max value="1"/>
    <documentation value="new value for element `docStatus`"/>
    <type value="code"/>
    <binding>
      <strength value="required"/>
      <valueSet value="http://hl7.org/fhir/ValueSet/composition-status"/>
    </binding>
  </parameter>
</OperationDefinition>