ELGA e-Diagnose R4 (Draft), published by ELGA GmbH. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7Austria/ELGA-e-Diagnose-R4/ and changes regularly. See the Directory of published versions
Dieses Kapitel beschreibt die lesenden Zugriffe auf Listen sowie auf die Einzelressourcen Diagnosen, Prozeduren oder Allergien und Intoleranzen. Je nach Anwendungsfall stehen unterschiedliche Interaktionen zur Verfügung.
Sub_UC_eDiag_01_01 - Vergangene Versionen einer Liste abrufen (List-History-Read)
Der History Read dient ausschließlich der Anzeige historischer Versionen einer Liste. Die Fachanwendung stellt bereits persistierte historische Search-Bundles unverändert bereit. Der Zugriff erfolgt lesend und ermöglicht keine nachfolgende Bearbeitung der Liste.
Ablauf
Der GDA fürht ein GET (Suche) auf den List-Typ aus.
Die Fachanwendung prüft, ob Listen entsprechend der Suchparameter vorhanden sind.
Werden keine Listen gebunden, wird ein leeres Ergebnis zurückgeliefert.
Wird zumindest eine Liste gefunden, liefert die Fachanwendung ein Search-Bundle zurück.
Dieses Search-Bundle enthält:
die List-Ressource
alle referenzierten Ressourcen (Patient, Practitioner, Condition, Procedure, AllergyIntolerance)
Beim List History Read erfolgt keine Veränderung von Flags, Status oder Inhalten durch die Fachanwendung.
Der Zugriff dient ausschließlich der Anzeige bzw. Informationsabfrage von aktueller oder historischer Listversionen.
Sequenzdiagramm
Beispiele für Zugriffe mittels Suchparameter:
Aktuelle Listenversion der relevanten Diagnosen (Conditions) mit dem Suchparameter Patient abrufen: GET [base]/Patient/[id]/List?_include=List:patient&_include=List:source&_include:iterate=List:item&_count=1&_sort=-date&code=http://loinc.org|11450-4
Alle Listenversionen der relevanten Operationen (Procedures) mit dem Suchparameter Patient abrufen: GET [base]/Patient/[id]/List?_include=List:patient&_include=List:source&_include:iterate=List:item&_sort=-date&code=http://loinc.org|47519-4
Sub_UC_eDiag_01_02 - Liste und zugehörige Ressourcen abrufen (List-Read)
List Read dient dem Abruf der Liste und der Vorbereitung einer nachfolgenden Änderung.
Ablauf
Der GDA führt einen POST $list-read aus.
Die Fachanwendung prüft auf Existenz der Liste/n für die angegebene Patientin bzw. den angegebenen Patienten.
Ist keine Liste vorhanden, wird dieser erstellt und eine leere Liste mit dem emptyReason notstarted wird zurückgeliefert.
Existiert bereits eine Liste, wird von der Fachanwendung aus diesem ein Search-Bundle zur Auslieferung bereitgestellt. Die Inhalte werden von der Fachanwendung wie folgt aufbereitet:
Falls der vorherige GDA neue Listeneinträge hinzugefügt hat (List.entry.flag hat den Wert new), werden diese auf unchanged gesetzt.
Falls der vorherige GDA Listenneinträge beendet hat (deren List.entry.flag haben den Wert removed), werden diese Einträge aus der Liste entfernt, siehe Workflowmanagement.
Falls der vorherige GDA alle vorhandenen Einträge mit removed gekennzeichnet hat, wird List.emptyReason mit nilknown zurückgeliefert, um nachfolgenden GDA zu signalisieren, dass der Patient zum Zeitpunkt des letzten Schreibens keine Einträge hatte.
Die Fachanwendung liefert an den GDA die Liste inkl. ETag für Optimistic Locking und alle referenzierten Ressourcen.
Ziel ist ein neutraler, weiterbearbeitbarer Zustand für den abrufenden GDA.
Sequenzdiagramm
Sub_UC:eDiag_01_03 - Diagnosen, Prozeduren sowie Allergien und Intoleranzen als Einzelressource lesen und suchen (Read/Search)
Read/Search ermöglicht den gezielten lesenden Zugriff auf Diagnosen, Prozeduren sowie Allergien und Intoleranzen eines Patienten. Über die Interaktion können sowohl alle vorhandenen Ressourcen eines Ressourcentyps als auch durch Angabe von Suchparametern eingeschränkte Ergebnismengen abgerufen werden.
Die Fachanwendung stellt die vorhandenen Ressourcen des gewählten Ressourcentyps als Search-Bundle bereit. Der Zugriff erfolgt ausschließlich lesend; Änderungen an Status, Inhalten oder Listenzuordnungen werden durch diese Interaktion nicht durchgeführt.
Anwendungsbeispiele
Die Read/Search-Interaktion kann beispielsweise für folgende Szenarien verwendet werden:
Gesamtansicht: Abruf aller vorhandenen Diagnosen, Prozeduren oder Allergien und Intoleranzen eines Patienten.
Gezielte Suche: Einschränkung der Ergebnismenge durch Suchparameter, z. B. Suche nach bestimmten Diagnosen oder Ressourcen mit bestimmten Merkmalen.
Mit der gezielten Suche kann auch der Verlauf einer Krankheit dargestellt werden, indem nach allen Ressourcen (eines Typs) gesucht wird, die denselben Business-Identifier haben.
Auswahl für Folgeoperationen: Ermittlung einzelner Ressourcen, die anschließend gelöscht ($delete) oder storniert ($storno) werden sollen.
Ablauf
Der GDA oder ELGA-Teilnehmer wählt den gewünschten Ressourcentyp (Condition, Procedure oder AllergyIntolerance) aus.
Der GDA oder ELGA-Teilnehmer führt ein GET auf /Patient/[id]/Condition/, /Patient/[id]/Procedure/ und/oder /Patient/[id]/AllergyIntolerance/ aus, siehe Transaktionen.
Optional können Suchparameter angegeben werden, um die Treffermenge einzuschränken.
Die Fachanwendung führt die Suche anhand der angegebenen Kriterien durch.
Die Fachanwendung liefert ein Search-Bundle mit den gefundenen Ressourcen zurück.
Sind keine Ressourcen vorhanden bzw. entsprechen keine Ressourcen den Suchkriterien, wird ein Search-Bundle ohne Einträge zurückgeliefert.