ELGA e-Diagnose R4 (Draft) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
Dieses Kapitel beschreibt die Schreiboperationen der e-Diagnose-Fachanwendung. Im Mittelpunkt stehen die Aktualisierung von Summary-Listen sowie die Erfassung, Zuordnung, Entfernung, Stornierung und Löschung von medizinischen Einzeleinträgen (Ressourcen).
Interaktionen auf Einzelressourcen
Eintrag erfassen
Sub:UC_02_01
Der GDA erfasst einen neuen Eintrag über die e-Diagnose-Fachanwendung. Ein neuer Eintrag ist standardmäßig nicht Teil der Summary-Liste, kann aber in Folge durch Sub:UC_02_03 zur Summary-Liste hinzugefügt werden.
Ablauf
Der GDA wählt den gewünschten Ressourcentyp (Condition, Procedure oder AllergyIntolerance) aus.
Der GDA erstellt einen neuen Eintrag und erfasst die erforderlichen fachlichen Informationen.
Der GDA führt ein POST auf
/Condition,
/Procedure oder
/AllergyIntolerance
aus und übermittelt die neue Ressource an die e-Diagnose Fachanwendung.
Die Fachanwendung validiert die übermittelte Ressource.
Ist die Validierung erfolgreich, wird die neue Ressource gespeichert und dem GDA eine erfolgreiche Erstellung mittels HTTP 201 Created bestätigt. Ist die Validierung nicht erfolgreich, wird die Ressource nicht gespeichert. Die Fachanwendung liefert ein OperationOutcome mit den aufgetretenen Validierungsfehlern zurück.
Sequenzdiagramm
Eintrag stornieren
Sub:UC_02_02
Der GDA kann eine oder mehrere Einträge aufgrund einer falschen Eingabe stornieren. Dabei ist es irrelevant, ob ein zu stornierender Eintrag in der Summary-List referenziert wird oder nicht. Im Zuge der Stornierung kann der GDA einen Vermerk festhalten.
Ablauf
Um einen Eintrag zu stornieren, führt der GDA die $entered-in-error-Operation auf den zu stornierenden Eintrag aus.
Optional kann der GDA einen Grund für die Stornierung angeben, der durch die Fachanwendung in den zu stornierenden Eintrag übernommen wird.
Für den zu stornierenden Eintrag speichert die Fachanwendung, welcher GDA den Eintrag storniert hat sowie den Zeitpunkt der Stornierung.
Sollte der zu stornierende Eintrag Teil der aktuellen Summary-Liste gewesen sein, erstellt die Fachanwendung eine neue Version der Summary-Liste ohne den stornierten Eintrag.
Der GDA kann über die Gesamtansicht bestehende Einträge fachlich "bearbeiten".
Dabei ist es wichtig hervorzuheben, dass Daten bestehender Einträge nicht im Sinne eines Updates verändert werden können. Die Daten können nur in einen neuen Eintrag übernommen und vor dem Speichern in der e-Diagnose Fachanwendung angepasst werden.
Im Unterschied zur Bearbeitung innerhalb einer Summary-Liste erfolgt die Änderung hier unabhängig von der aktuellen Zuordnung in eine Summary-Liste. Die Bearbeitung betrifft die referenzierte medizinische Ressource.
Dieser Use-Case beschreibt die fachliche Bestätigung einer initialisierten, leeren Summary-Liste durch den GDA und die anschließende Speicherung in der e-Diagnose Fachanwendung.
Eine leere Summary-Liste mit dem Wert emptyReason = nilknown bedeutet, dass für den Patienten derzeit keine Summary-Einträge vorliegen. Der Status dokumentiert somit explizit das Fehlen von Summary-Einträgen und ist von einer noch nicht befüllten Liste emptyReason = notstarted zu unterscheiden.
Die Fachanwendung liefert das SearchSet-Bundle zurück. Auch in diesem Fall hat List.meta.versionId den Wert 123.
GDA 2 macht fachliche Änderungen an der Summary-Liste.
GDA 2 aktualisiert zuerst mittels $write-Operation die Summary-Liste.
Im Rahmen der Validierung der übermittelten Summary-Liste prüft die Fachanwendung, ob der mitgeschickte If-Match-Header mit der aktuellen versionId der Summary-Liste übereinstimmt.
Die Prüfung verläuft erfolgreich, weil beide den Wert 123 haben. Die Änderungen werden übernommen und die neue Version der Summary-Liste wird persistiert. Dabei erhält die Summary-Liste die neue List.meta.version mit dem Wert 124.
GDA 2 erhält die Meldung, dass die Aktualisierung erfolgreich durchgeführt wurde.
Anschließend will GDA 1 mittels $write-Operation ebenfalls seine Version der Summary-Liste speichern.
Die Fachanwendung validiert erneut die übermittelte Summary-Liste. Die Prüfung schlägt fehl, weil die aktuelle Summary-Liste in der Fachanwendung mittlerweile die List.meta.versionId mit dem Wert 124 besitzt. Die Fachanwendung lehnt das Speichern ab.
GDA 1 erhält eine Fehlermeldung, dass zwischenzeitlich eine Version der Liste gespeichert wurde.
GDA 1 muss erneut die aktuelle Summary-Liste abrufen, die zwischenzeitlich vorgenommenen Änderungen prüfen und gegebenenfalls seine Änderungen erneut durchführen, bevor ein neuer Schreibvorgang erfolgen kann.
Der GDA möchte einen bestehenden Eintrag in die Summary-Liste aufnehmen.
Ablauf
Der GDA ruft die aktuelle Summary-Liste ab und erhält das entsprechende SearchSet-Bundle.
Der GDA wählt den bestehenden Eintrag aus.
Der GDA fügt den Eintrag als List.entry in die Liste ein.
List.entry.item referenziert den bestehenden Eintrag.
Der GDA führt die $write-Operation aus und übermittelt die aktualisierte Liste an die Fachanwendung.
Sequenzdiagramm
Eintrag aus Summary-Liste entfernen
Sub:UC_02_06
Ein bestehender Eintrag kann aus der Summary-Liste entfernt werden, ohne dass die Ressource selbst gelöscht oder geändert wird. Hierzu wird die Referenz auf die Ressource aus der Summary-Liste entfernt. Die Ressource bleibt weiterhin verfügbar und kann zu einem späteren Zeitpunkt erneut in die Summary-Liste aufgenommen werden.
Ablauf
Der GDA ruft die aktuelle Summary-Liste ab und erhält das entsprechende SearchSet-Bundle.
Der GDA entfernt den Eintrag oder die Einträge aus der Summary-Liste. Das bedeutet, dass der entsprechende List.entry entfernt wird.
Der GDA führt die $write-Operation aus und übermittelt die aktualisierte Liste an die Fachanwendung.
Sequenzdiagramm
Reihenfolge der Einträge in der Summary-Liste ändern
Sub:UC_02_07
Der GDA kann die Reihenfolge der Einträge innerhalb einer Summary-Liste ändern. Dabei werden ausschließlich die Listeneinträge neu angeordnet; die referenzierten Ressourcen und deren fachliche Inhalte bleiben unverändert. Durch das Speichern entsteht eine neue Version der Summary-Liste.
Ablauf
Der GDA führt ein POST $list-read aus und erhält das aktuelle Search-Bundle.
Der GDA ordnet die Einträge der Summary-Liste in die gewünschte Reihenfolge.
Der GDA führt einen POST $list-write aus und übermittelt die aktualisierte Summary-Liste.
Die Fachanwendung speichert die neue Reihenfolge als aktuelle Version der Summary-Liste. Die referenzierten Ressourcen bleiben unverändert.
Eintrag in der Summary-Liste bearbeiten
Sub:UC_02_08
Dieser Use-Case beschreibt die fachliche Bearbeitung von Einträgen einer Summary-Liste. Ein berechtigter GDA kann alle bestehenden (eigene und fremde) Einträge "bearbeiten".
Dabei ist es wichtig hervorzuheben, dass Daten bestehender Einträge nicht im Sinne eines Updates verändert werden können. Die Daten können nur in einen neuen Eintrag übernommen und vor dem Speichern in der e-Diagnose Fachanwendung angepasst werden.
Durch die Verwendung eines bereits bestehenden Business-Identifier wird bei der Bearbeitung die Zuordnung einer alten Version zu einer neuen Version einer Ressource ermöglicht. Dadurch bleibt die Verbindung zwischen den Einträgen erhalten.
Die tatsächliche Reihenfolge der Bearbeitungsschritte kann variieren.