Article
„R-Scriptlets“ für i2b2-Endanwender
Search Medline for
Authors
Published: | September 4, 2014 |
---|
Outline
Text
Einleitung und Fragestellung: Der wachsende Umfang und die Qualität elektronisch dokumentierter klinischer Routinedaten bietet zunehmende Chancen einer sekundären Nutzung für wissenschaftliche Zwecke. Hierbei zielt die öffentlich geförderte Open-Source-Plattform „Informatics for Integrating Biology & the Bedside“ (i2b2) auf eine Zusammenführung und die anschließende interaktive Analyse von Patientendaten ab. i2b2-Endanwender können innerhalb so erschlossener Daten dann unabhängig von Programmierkenntnissen über eine grafische Oberfläche (GUI) in einem Webclient recherchieren.
Die i2b2-Plattform unterstützt nativ allerdings noch keine vielfältigen Statistikmethoden. Dies wäre insbesondere für erweiterte Abfragemöglichkeiten der Patientendaten [1], die Durchführung retrospektiver Studien und die Hypothesengenerierung wünschenswert. Bisherige Ansätze [2], [3] zur Ergänzung solcher Methoden erforderten allerdings für jede zusätzliche Statistikfunktion einen relativ hohen Entwicklungsaufwand sowie Kenntnisse in Programmiersprachen wie z.B. JAVA oder JavaScript.
Ziel dieser Arbeit war es daher, das Open-Source-Statistikpaket R in i2b2 so zu integrieren, dass man beliebige Statistikmethoden in Form von in R kodierten Erweiterungen (im Folgenden R-Scriptlets genannt) definieren kann. Diese R-Scriptlets können eine oder mehrere logisch zusammengehörige Statistikfunktionen enthalten und werden selbstständig von einem Scriptlet-Entwickler geschrieben. Ein Endanwender soll diese Scriptlets genauso wie i2b2 über die grafische Oberfläche des Webclients bedienen können. Dabei stehen ihm Möglichkeiten zur flexiblen Definition der Eingabedaten und einer weiteren Parametrierung zur Verfügung. Dieses zwischen Endanwendern und Scriptlet-Entwicklern differenzierende Rollenmodell trägt dabei dem zunehmend interdisziplinären Charakter bei der Erstellung medizinischer Studien Rechnung und basiert auf den von Murphy et al. definierten i2b2-Anwendergruppen [4].
Für die Integration von R unter Berücksichtigung dieses Rollenmodells war es notwendig, eine Plattform zu schaffen, die als Schnittstelle zwischen i2b2 und R-Scriptlets fungiert, und welche dem Scriptlet-Entwickler dabei möglichst viele Aufgaben automatisiert abnimmt.
Material und Methoden: Hauptgegenstand dieser Arbeit war die Entwicklung der Software GIRI (Generic Integration of R into I2b2), die sich aus einer Client- und einer Server-Komponente zusammensetzt.
Als Client dient ein i2b2-Webclient-Plugin, mit dessen Hilfe Eingabedaten spezifiziert und resultierende statistische Auswertungen betrachtet werden können. Als Eingaben dienen hierbei (a) beliebige Patientenmengen, die ein Anwender interaktiv in i2b2 auswählen kann, (b) beliebige Merkmale aus dem i2b2-Ontologiebaum und (c) der Inhalt zusätzlicher Eingabeelemente (Textfelder oder Drop-Down-Listen) zur optionalen Parametrierung der Scriptlets. Auswertungen können Textelemente, Tabellenelemente und Diagramme enthalten, wobei sämtliche Tabellen als csv- und Diagramme als svg-Dateien exportierbar sind. Zusätzlich lässt sich das R-Environment herunterladen, um es interaktiv weiterzubearbeiten. Etwaige Laufzeit-Fehler werden direkt in der GUI angezeigt.
Die i2b2-Software folgt einer Architektur, die aus einzelnen unabhängigen Komponenten – i2b2-Cells genannt – gebildet wird. Cells erfüllen jeweils bestimmte Aufgaben und kommunizieren untereinander über Webservices. So ist etwa die Clinical-Research-Chart-Cell (CRC-Cell) für die Speicherung der Patientendaten in einer Datenbank zuständig.
Für die Server-Komponente von GIRI wurde eine neue i2b2-Cell (die GIRI-Cell) implementiert, die für die statistischen Berechnungen mit R zuständig ist. Dazu nimmt sie Anfragen an ihren Webservice vom Client entgegen und verarbeitet die darin definierten Eingabedaten. Patientenmengen und Merkmale sind hier zunächst durch eindeutige Bezeichner benannt, so dass die zugehörigen Patientendaten daraufhin von der CRC-Cell angefordert werden müssen. Im Anschluss startet die GIRI-Cell eine R-Session und initialisiert die angeforderten Patientendaten darin. Für die statistische Auswertung wird dann die innerhalb des Scriptlets definierte R-Syntax ausgeführt. Schließlich extrahiert die GIRI-Cell die Ergebnisdaten aus der R-Session und sendet sie zum Client zurück.
Einzelne R-Scriptlets erweitern GIRI um zusätzliche statistische Methoden. Ein Scriptlet besteht dabei zum einen aus der die Auswertung definierenden R-Syntax und zum anderen aus einer optionalen XML-Konfigurationsdatei.
Innerhalb der R-Syntax kann man über festgelegte Variablennamen auf die vorinitialisierten Eingabedaten zugreifen. Zur Verarbeitung dieser Daten lässt sich hierbei von sämtlichen R-Funktionen Gebrauch machen. Für die Ausgabe werden R-Datenstrukturen wiederum in Variablen abgelegt, deren Namen einer pragmatischen Konvention folgen. Alle im Scriptlet erzeugten Grafiken werden dem Anwender ebenfalls automatisch mit angezeigt.
In der optionalen XML-Konfigurationsdatei lassen sich weitere Einstellungen bezüglich des R-Scriptlets festlegen. So werden hierin unter Anderem der Name, eine Beschreibung und eventuell zusätzliche Eingabeelemente definiert. Um das Scriptlet für GIRI sichtbar zu machen, genügt es, diese beiden Dateien in einem hierfür vorgesehenem Ordner auf dem Server zu speichern.
Zur praktischen Testung und Demonstration der GIRI-Funktionalität sind innerhalb kürzester Zeit mehrere R-Scriptlets entstanden. Neben flexibel einsetzbaren Kaplan-Meier-Auswertungen zur Ereigniszeitanalyse gestatten einfache Scriptlets beispielsweise die Berechnung von Altersquantilen oder die Häufigkeitsverteilungen von bestimmten (vom Endanwender frei definierbaren) Laborwerten zweier Vergleichsgruppen.
Ergebnisse und Diskussion: GIRI erlaubt eine flexible und vielfältige Auswertung und Visualisierung der i2b2-Daten. Dies ermöglicht zum Beispiel eine beliebig komplexe Abfrage von Patientendaten, was für eine differenzierte Auswahl von Studienteilnehmern hilfreich ist. Retrospektive Studien können unter Zuhilfenahme von spezialisierten Routinen der induktiven Statistik erstellt werden. Durch die schnelle und einfache Entwicklung von R-Scriptlets lassen sich rasch eigene Anforderungen z.B. zur Exploration der Daten umsetzen. Das i2b2-Webclient-Plugin bedarf dabei keiner weiteren Installation externer Programme und bietet eine intuitive GUI-Bedienung. Ein Endanwender kann die Ausführung der GIRI-Scriptlets also mit in der i2b2-Oberfläche integrierten grafischen Bedienelementen kontrollieren, während ein Scriptlet-Entwickler zur Definition neuer Auswertungsmethoden lediglich Kenntnisse in R besitzen muss.
Eine vergleichbare Zielsetzung wie GIRI hatte die R Engine Cell [2] der Universität Pavia. Für jede neue Erweiterung muss ein Scriptlet-Entwickler hier jedoch zum einen JAVA-Code für den Backend-Teil schreiben und zum anderen ein eigenes Webclient-Plugin in JavaScript entwickeln. Das ist relativ aufwändig und erfordert Programmierkenntnisse. Zudem werden Rohdaten unnötigerweise zunächst von der CRC-Cell zum Webclient-Plugin und von dort wieder zur R Engine Cell befördert, was zu Performance-Einbußen führen kann.
Ein weiteres ähnliches Projekt ist rgate [3] der University of Kansas, das auf der R Engine Cell basiert und die aufgetretenen Probleme zu lösen versucht. Auch hier muss jedoch ein eigenes Webclient-Plugin für jede Erweiterung entwickelt werden. Darüber hinaus ist bei diesem Ansatz der Direktzugriff auf die Datenbank der CRC-Cell kritisch zu betrachten, da hierbei die robusten i2b2-Schnittstellen umgangen werden.
GIRI soll zeitnah als Open-Source-Software der i2b2-Community zur Verfügung gestellt werden. Ebenfalls anzustreben ist eine öffentliche Plattform, auf der unterschiedlichste R-Scriptlets ausgetauscht werden können, um deren Wiederverwertung bei häufigen Anwendungsfällen zu ermöglichen.
Literatur
- 1.
- Meystre SM, Deshmukh VG, Mitchell J. A clinical use case to evaluate the i2b2 Hive: predicting asthma exacerbations. AMIA Annu Symp Proc. 2009 Nov 14;2009:442-6.
- 2.
- Segagni D, Ferrazzi F, Larizza C, Tibollo V, Napolitano C, Priori SG, Bellazzi R. R engine cell: integrating R into the i2b2 software infrastructure. J Am Med Inform Assoc. 2011 May 1;18(3):314-7. DOI: 10.1136/jamia.2010.007914
- 3.
- Connolly DW, Adagarla B, Keighley J, Waitman LR. Integrating R efficiently to allow secure, interactive analysis within a clinical data warehouse. The 8th International useR Conference; 2012.
- 4.
- Murphy SN, Mendis M, Hackett K, Kuttan R, Pan W, Phillips LC, Gainer V, Berkowicz D, Glaser JP, Kohane I, Chueh HC. Architecture of the open-source clinical research chart from Informatics for Integrating Biology and the Bedside. AMIA Annu Symp Proc. 2007 Oct 11:548-52.