Auf Grundlage der Anwendungsszenarien und den dort abgeleiteten Anforderungen (siehe Beschreibung von Anwendungsfällen) lassen sich Implementierungsansätze ableiten. Im Nachfolgenden werden diese Implementierungsansätze in Form von abstrahierten Workflows, die den Charakter einer Musterlösung aufweisen, näher vorgestellt. Die Grundlage für die Definition eines Workflows bilden die sogenannten Capabilities.
Anhand der Anwendungsszenarien wird deutlich, dass Fragebögen auf verschiedene Arten und Weisen erhoben, verarbeitet und angezeigt sowie zu verschiedenen Zwecken verwendet werden können.
Das Modul muss also die übergeordnete Anforderung erfüllen, Fragebögen möglichst flexibel für unterschiedliche Zwecken, bei gleichzeitiger Wahrung der semantischen Konsistenz und über verschiedene Anwendungsfälle hinweg, bereitzustellen. Um diese Anforderung zu erfüllen, muss zusätzlich zur Definition eines standardisierten Fragebogens spezifiziert werden, zu welchem Zweck dieser einsetzt werden soll, besser, durch die Unterstützung welcher Fähigkeiten der intendierte Zweck erfüllt wird.
Deshalb wurden folgende Fähigkeiten (Capabilities), die zur Definition eines Fragebogens hinzugezogen werden können und beliebig kombinierbar sind, festgelegt:
collectable (erfassbar): Wie Daten von Nutzern eingegeben werdenpopulatable (vorausfüllbar): Wie existierende Daten geladen werdencalculatable (berechenbar): Wie Scores aus Daten berechnet werdendisplayable (anzeigbar): Wie Daten/Ergebnisse dargestellt werdenextractable (extrahierbar): Wie Daten aus dem Fragebogenformat in andere FHIR-Ressourcen überführt werdenDer Standard-Workflow orientiert sich an der FHIR-Kernspezifikation und den vorgesehen FHIR Ressourcen zur Definition von Fragebögen, zur Abbildung von Antwortbögen sowie zur Extraktion erhobener Antworten als weiterverarbeitbare Wertangabe.
Ablauf:
Verwendete Capabilities: displayable, collectable
Beispiel: Erhebung von Symptomschwere mit EORTC-QLQ-Fragebögen begleitend zu und folgend auf eine/r Strahlentherapie/Systemtherapie-Behandlung in der Onkologie
Dieses Workflow-Pattern fokussiert eine direkte, d.h. nicht zeitversetzte, Beantwortung eines Fragebogens über ein User Interface (UI) und einer Score-Berechnung in nach erfolgter Eingabe der Antworten.
Ablauf:
Verwendete Capabilities: [collectable, calculatable, displayable, extractable]
Beispiel: DiGA-Smartphone-App mit In-App-Scoreberechnung
Dieses Workflow-Pattern fokussiert die alleinige Beantwortung eines Fragebogens über ein User Interface auf Clienseite und einer anschließenden Score-Berechnung und Speicherung auf Serverseite.
Ablauf:
Verwendete Capabilities:
[collectable][populatable, calculatable, extractable]Beispiel: Leichtgewichtige mobile PRO-App
Dieses Workflow-Pattern beschreibt die erneute, ggf. über einen Dienst automatisiert ausgeführte, Score-Berechnung ohne weitere Nutzerinteraktion.
Ablauf:
Verwendete Capabilities: [populatable, calculatable, extractable]
Beispiel: Migration auf neue Scoring-Algorithmen oder Datenharmonisierung
Im Zusammenhang mit der Versorgung eines Patienten oder der Analyse von Kohortendaten erfolgt eine Einsicht einzelner oder aggregierter Datensätze ohne Neuberechnung.
Ablauf:
Verwendete Capabilities: [populatable, displayable]
Beispiel: Arzt-Dashboard im KIS
Im Zusammenhang mit der Versorgung eines Patienten findet eine reine Datenerfassung ohne Berechnungen, z.B. nachträgliche Transkription, statt.
Ablauf:
Verwendete Capabilities: [collectable, extractable]
Beispiel: Papier-zu-Digital-Erfassung
Anhand der verschiedenen Workflow-Pattern wird ersichtlich, dass unterschiedliche Repräsentationsformen für die Darstellung eines Scores gibt.
Die grundlegende Repräsentationsform für einen berechneten Score ist die Abbildung als eigenständiges Item in einem FHIR QuestionnaireResponse. Falls für die weiterführenden Analysen nur der Score und nicht die tatsächlichen Antworten relevant sind, lässt sich der berechnete Score aus dem FHIR QuestionnaireResponse extrahieren und als FHIR Observation darstellen. Ein auf diese Weise extrahierter und gespeicherter Score kann, sofern empirisch validierte Regeln zum Mapping auf einen domänenspezifischen T-Score existieren und definiert wurden, auf den domänenspezifiscne T-Score abbilden.
Auf diese Weise kann eine Instrument-unabhängige Auswertung und ein domänenspzifischer Vergleich der erhobenen Daten durchgeführt werden.
Scores werden mittels FHIRPath-Expressions berechnet:
// Einfache Summe
%resource.item.answer.value.ordinal().sum()
// Gewichtete Summe mit Selektion
%resource.item.where(linkId.matches('^item-[1-9]$')).answer.value.ordinal().sum()
// Mit Variablen für komplexe Berechnungen
%rawScore = %resource.item.answer.value.ordinal().sum()
iif(%rawScore < 5, 'minimal', iif(%rawScore < 10, 'mild', 'moderate'))
Vorausfüllung aus existierenden Daten:
// Einzelnes Item
iif(%sourceResponse.exists(), %sourceResponse.item.where(linkId='q1').answer.value, {})
// Mit Fallback
%sourceResponse.item.where(linkId='q1').answer.value | {}
Die Transformation erfolgt über SDC-Extraction-Extensions oder server-seitige Logik:
* item.extension[observationExtract] = true
* item.code = $LNC#44261-6 "PHQ-9 total score"
Die Auswahl der Capabilities sollte sich nach dem Anwendungsfall richten:
[collectable, calculatable, displayable][collectable] (minimaler Footprint)[populatable, calculatable, extractable][displayable]