Interaktion: Update von Metadaten, Löschen von Dokumenten

Herstellung von Dokumentenkontext

Der Client muss zunächst die URL der DocumentReference ermitteln, auf die das Update angewendet werden soll. Hierzu kann die Interaktion 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 docStatuserwiesen, 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 -> 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 -> 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), 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.

Hinweis Experimentelle Funktion
Die Löschung vorläufiger Dokumente mittels $update-metadata ist experimentell. Entwickler, die diese Funktionalität nutzen, sind gebeten, im Chat ein Feedback zu hinterlassen, ob sich diese Funktion implementierbar/nützlich oder komplex/problematisch erwiesen hat. Abhängig von der Rückmeldung kann dieses Feature in späteren Releases entweder verbindlich gemacht oder entfernt werden.

OperationDefinition $update-metadata

Invocations

URL: [base]/DocumentReference/[id]/$update-metadata

Parameters (In)

NameCardinalityTypeBindingDocumentation
docStatus1..1codeCompositionStatus (required)

new value for element docStatus

Expected behaviour:
  • Servers SHALL update the DocumentReference.docStatus with the submitted values
  • Servers SHALL ensure that DocumentReference.text reflects this change

Beispiel

[base]/DocumentReference/example/$update-metadata?docStatus=final