Hintergrund zur Datenübertragung im MIO DiGA Device Toolkit
Für die Übertragung der Übertragbaren FHIR®-Ressourcen des MIO DiGA Device Toolkit, werden sowohl PULL als auch PUSH Konzepte unterstützt.
Die Übertragung per PULL-Prinzip wird durch eine Suchanfrage per GET Request von dem DiGA-Backend an das Backend der GeräteherstellerInnen mit anschließender Antwort als SearchsetBundle umgesetzt.
Für die Implementierung der Übertragung und Suche werden sichere Kommunikationswege welche die Requests unterstützen (z.B. HTTPS) vorausgesetzt. Die aktuell ausstehende explizite technische Festlegung der zu verwendenden Technologien und Sicherheitsmaßnahmen durch das Bundesinstitut für Arzneimittel und Medizinprodukte (BfArM), das Bundesamt für Sicherheit in der Informationstechnik (BSI) und den Bundesbeauftragten für den Datenschutz und die Informationsfreiheit (BfDI) ist bei der Umsetzung zu berücksichtigen.
Hintergrund zur FHIR-API für Suche und Transactions
Dafür sind die Struktur und Funktionalität der bereitgestellten Such-API und die Suchanfragen entsprechend der FHIR-Search-API umzusetzen.
Die verwendbaren und zu unterstützenden Suchparameter sind im Bereich FHIR® Suchparameter spezifiziert.
In unserer Spezifikation sind beispielhafte Anfragen angegeben, mehr Beispiele können der FHIR-Spezifikation entnommen werden.
Beispiele für die Befüllung der übertragbaren Bundles der Typen Searchset, Transaction-Request und Transaction-Response können ebenfalls der FHIR-Spezifikation entnommen werden.
Es ist aktuell keine "Chained Search" (verkettete Suche) vorgesehen.
Suchlogik welche über die spezifizierten Suchparameter hinausgeht (bspw. Suchen aller Observations zu einem Device, jedoch nicht per UUID sondern per Device serialNumber) kann vom suchenden System dementsprechend nicht als gegeben betrachtet werden und muss gegebenenfalls durch mehrere separate Suchanfragen realisiert werden.
Umgang mit Fehlern / Warnungen / Hinweisen zum Ausgang einer Anfrage
Die Antwort (Response) auf eine Anfrage (Request) enthält ist mit Informationen über den Ausgang der Anfrage (Erfolg, Warnungen, Hinweise etc.) zu befüllen.
Bei einem Searchset-Bundle kann dies durch ein OperationOutcome im Bundle.entry.resource Element sowie leere Suchergebnisse abgebildet werden, Beispiele dazu können der FHIR-Spezifikation entnommen werden.
Bei einer Transaction-Response kann das Bundle.entry.reponse.outcome Element Warnungen und Hinweise enthalten. Details können der FHIR-Spezifikation entnommen werden.
OperationOutcomes sind von uns nicht weiter ausspezifiziert, als Referenz dient die FHIR-Spezifikation.