## Interaktion: Update von Metadaten

### 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 (`$submit-document` mit Referenz auf das zu ersetzende Dokument in `DocumentReference.relatesTo`) übermittelt werden.

Für den ISiK-Usecase 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. vorläufig -> final), ohne dass dies Auswirkungen auf den Inhalt hat. Die Anlage eines neuen Dokumentes wäre in diesem Kontext nicht effizient.

Daher spezifiziert ISiK eine geeignete Operation, die das gezielte Ändern des Dokumentenstatus ermöglicht.

### OperationDefinition `$update-metadata`

### Invocations

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

### Parameters (In)

Name | Cardinality | Type | Binding | Documentation
docStatus | 1..1 | code | CompositionStatus (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

Hinweis | Work in Progress!
--- | ---
| Die hier vorliegende Definition der Operation dient als Vorschlag, der auf Basis von Implementierungserfahrungen weiterentwickelt werden soll. Kritik, Feedback und Verbesserungsvorschläge, insbesondere UseCases für das Update weiterer Metadaten-Elemente bitte im ISiK-Community-Chat diskutieren!