D2.1 i2b2 Wizard
Transcription
D2.1 i2b2 Wizard
Integrated Data Repository Toolkit (IDRT) TMF-Projekt V091-MI_03 Deliverable 2.1: Bereitstellung integrierte Installation, Administration Sebastian Mate Jan Christoph Prof. Dr. Hans-Ulrich Prokosch Dr. Thomas Ganslandt Autoren Autor 1: Sebastian Mate Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Medizinische Informatik Krankenhausstraße 12 91054 ERLANGEN Telefon +49 9131/85-26785 Fax +49 9131/85-26754 E-Mail: Sebastian.Mate@imi.med.uni-erlangen.de Webseite: http://www.imi.med.uni-erlangen.de Autor 2: Jan Christoph Friedrich-Alexander-Universität Erlangen-Nürnberg Krankenhausstraße 12 91054 ERLANGEN Telefon +49 9131/85-26726 Fax +49 9131/85-26754 E-Mail: jan.christoph@uk-erlangen.de Webseite: http://www.imi.med.uni-erlangen.de Autor 3: Prof. Dr. Hans-Ulrich Prokosch Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Medizinische Informatik Krankenhausstraße 12 91054 ERLANGEN Telefon +49 9131/85-26701 Fax +49 9131/85-36799 E-Mail: Hans-Ulrich.Prokosch@uk-erlangen.de Webseite: http://www.imi.med.uni-erlangen.de sowie: Medizinisches Zentrum für Informations- und Kommunikationstechnik Krankenhausstraße 12 91054 ERLANGEN Autor 4: Dr. Thomas Ganslandt Medizinisches Zentrum für Informations- und Kommunikationstechnik Krankenhausstraße 12 91054 ERLANGEN Telefon +49 9131/85-26753 Fax +49 9131/85-26754 E-Mail: Thomas.Ganslandt@uk-erlangen.de Webseite: http://www.uk-erlangen.de Abschlussbericht Projektname, Projekt-Nr. XY, Monat Jahr 2 / 11 Inhaltsverzeichnis Autoren ......................................................................................................................... 2 Inhaltsverzeichnis ........................................................................................................... 3 Einleitung ...................................................................................................................... 4 Methode ........................................................................................................................ 5 Ergebnisse ..................................................................................................................... 6 Diskussion und Ausblick .................................................................................................. 9 Literatur ...................................................................................................................... 10 Anhänge ...................................................................................................................... 11 Abschlussbericht Projektname, Projekt-Nr. XY, Monat Jahr 3 / 11 Einleitung Im Jahr 2009 wurden im Rahmen des TMF-Projekts V054-01 „IT-Strategie“ [1, 2] international frei verfügbare IT-Lösungen hinsichtlich deren Verwendbarkeit für die deutsche Forschungslandschaft evaluiert (siehe: http://www.tmf-ev.de/Themen/Projekte/V054_01_ IT_Strategie.aspx). Die neben caBIG ebenso evaluierte Software i2b2 (Informatics for Integrating Biology and the Bedside) wurde für verschiedene Anwendungsszenarien als nützlich deklariert. Daraufhin hat sich neben dem Einsatz von i2b2 an diversen deutschen Universitäten eine deutsche i2b2-Community gebildet, die sich, vernetzt durch die TMF, bisher zu drei i2b2-Workshops zusammengefunden hat. Sowohl im Rahmen des IT-Strategie-Projekts, der Workshops und in der Literatur [3, 4] wurde jedoch immer wieder die komplizierte, zeitaufwändige und schwer reproduzierbare Installation bemängelt. Bereits im Rahmen des IT-Strategie-Projekts wurde damit begonnen, die Installation durch Skripte zu automatisieren. Diese Automatismen zeigten sich jedoch nicht für typische Anwendungen in der Praxis tauglich. Beispielsweise wurde bereits im ITStrategie-Projekt darauf hingewiesen, dass weitere Lösungen zur Administration von i2b2Servern (i2b2-Projektverwaltung, Ontologie-Verwaltung und –Erzeugung) geschaffen werden müssen. Im Rahmen einer studentischen Vorarbeit am Lehrstuhl für Medizinische Informatik der Friedrich-Alexander-Universität wurde das Skript aus dem IT-Strategie-Projekt im Jahre 2010 neu implementiert und stark erweitert. Fortan „i2b2-Wizard“ genannt, ermöglichte es neben der reinen i2b2-Installation auch die Administration. Da das vorliegende IDRT-Projekt den „Aufbau eines integrierten Werkzeugpakets auf Basis bewährter, etablierter Komponenten“ beabsichtigt, soll dieser i2b2-Wizard weiterentwickelt und neben i2b2 selbst als eine zentrale Kernkomponente in das IDRT-Softwarepaket eingebunden werden. Methode Innerhalb des Arbeitspakets „AP2.1 Bereitstellung integrierte Installation, Administration“ sollte ein integriertes Setup- und Administrationstool für das i2b2-System entwickelt werden. Aufgrund der bereits erfolgten Vorarbeiten in Erlangen sollte in AP2.1 keine neue Software geschaffen werden. Stattdessen sollte der existierende i2b2-Wizard entsprechend der Anforderungen des IDRT-Projekts verbessert und erweitert werden. Dies entspricht auch dem übergeordneten Ziel des IDRT-Projekts, in dem „basierend auf frei verfügbaren ITKomponenten […] eine nachhaltig nutzbare […] Plattform für die Zusammenführung und Abfrage heterogener Datenbestände […] geschaffen werden [soll].“ [IDRT Projektantrag]. Im Rahmen eines 3. deutschen i2b2-Workshops, der zum Kick-Off des IDRT-Projekt am 27.02.2012 in Berlin durch die TMF organisiert wurde, konnten weitere Anforderungen und Anwenderbedürfnisse an eine solche Plattform ermittelt werden (vgl. Deliverable D1.1). Bezüglich AP2.1 konnten in einem Hands-On-Tutorial gegen Ende des Workshops interessierte Teilnehmer eine i2b2-Instanz auf der Basis des i2b2-Wizards installieren und Verbesserungspotenziale am i2b2-Wizard aufgedeckt und diskutiert werden. Der i2b2-Wizard wird als Bash-Shellscript bereitgestellt. Zu Demonstrationszwecken wird er darüber hinaus zusammen mit den anderen IDRT-Komponenten als virtuelle Maschine zur Verfügung gestellt. Deliverable D1.1: Anforderungsanalyse, Integrated Data Repository Toolkit (IDRT), März 2012 5 / 11 Ergebnisse Im Rahmen dieser Arbeit wurde mit dem i2b2-Wizard ein Bash-Programm (siehe: https://www.gnu.org/software/bash/) weiterentwickelt, das den kompletten „Lebenszyklus“ einer i2b2-Instanz abdeckt. Dies betrifft sowohl die Vorbereitung der Linux-Installation, das Herunterladen von benötigter Software, die Installation, Pflege und Administration des i2b2Systems sowie eine automatische Fehlererkennung und – im beschränkten Rahmen – automatischen Fehlerkorrektur: Durch die ausgiebige Nutzung des Tools „dialog“ (siehe: http://hightek.org/dialog/) arbeitet die Software vollständig Menü-gesteuert. Diese Benutzeroberfläche ist jedoch vollständig textbasiert, wodurch sie sich insbesondere auch über SSH-Verbindungen einsetzen lässt. Die Software unterstützt die vollständige Installation eines i2b2-Servers: o Es wird erkannt, ob erforderliche Softwarepakete von Dritt-Herstellern fehlen (d. h. Software, die nicht im Repository der Linux-Distribution enthalten ist, z.B. Oracle XE). Falls erforderlich, werden diese automatisch von dem Skript heruntergeladen und entpackt. o Das Skript unterstützt darüber hinaus die automatische Überprüfung und, falls erforderlich, die Installation von benötigten Softwarepakten aus den Repositories der jeweiligen Linux-Distribution. Grundsätzlich wurde das Skript für Ubuntu 10.04 entwickelt; es ist jedoch leicht möglich, weitere DebianDistributionen zu unterstützen, insofern die Paket-Namen im Skript ergänzt werden. Durch die Kapselung der Repository-Softwareinstallation in eigenständige Funktionen kann das Skript auch für weitere Distributionen ergänzt werden. Exemplarisch wurde eine partielle Unterstützung für CentOS umgesetzt. o Das Skript hält in einem Verzeichnis eine vollständige i2b2-Serverkonfiguration (jedoch ohne die Oracle-Datenbankinhalte) vor, die bei der Verwendung des i2b2-Wizards ständig aktualisiert wird. Beim Deployen des i2b2-Quellcodes wird diese Konfiguration dazu verwendet, den i2b2-Quellcode vorab auf die aktuelle Serverkonfiguration zu aktualisieren. Dies ermöglicht es, die Konfiguration des Applikationsserver im Notfall binnen Sekunden wieder herzustellen. Wird auch der Inhalt der Oracle-Datenbank berücksichtigt, kann der i2b2Server auch recht einfach auf eine neue Hardware migriert werden, was jedoch etwas manuelle Arbeit erfordert. o Das Skript übernimmt auch sämtliche administrativen Arbeiten, die in Bezug mit der Oracle-Datenbank stehen. Hierzu gehört beispielweise das bedarfsweise Prüfen, Anlegen und Löschen von Datenbankschemata, die Erzeugung von Tabellen und deren Einträgen, usw. Die Software übernimmt auch administrative Aufgaben, die im Betrieb des i2b2Servers ständig anfallen: o Das Anlegen und Löschen von neuen i2b2-Projekten und i2b2-Benutzerkonten sowie die Registrierung von i2b2-Benutzern für i2b2-Projekte o Illustration, wie Daten ins i2b2 importiert werden können („i2b2-Wizard ETL“, diese Funktion ist jedoch nicht Gegenstand des ETL-Prozesses, der im IDRTProjekt entwickelt werden soll) o Das Laden oder Entfernen der „offiziellen“ Demodaten der i2b2-Entwickler o Diverse andere administrative Aufgaben wie zum Beispiel Unterstützung bei der Netzwerkkonfiguration (menübasierte Auswahl des erforderlichen Netzwerk-Interfaces), die Festlegung von Datenbankpasswörtern, der Hive-ID, usw. Deliverable D1.1: Anforderungsanalyse, Integrated Data Repository Toolkit (IDRT), März 2012 6 / 11 Bei der Auswahl einer Aufgabe über das Menü werden sämtliche erforderliche andere Aufgaben (Dependencies) durch das Skript automatisch rekursiv aufgelöst. Beispiel: wird das Skript zum allerersten Mal gestartet und sofort versucht, einen neuen Benutzer anzulegen, erkennt das Skript automatisch, dass es erst noch Software herunterladen und installieren muss. Nachdem der Anwender die Benutzerangaben eingegeben hat, erfolgen diese Arbeitsschritte durch das Skript automatisch im Hintergrund ohne weitere Benutzerinteraktion. Das Skript ist seit längerer Zeit für die Installation (jedoch noch nicht für die Administration) von SHRINE vorbereitet. In der hier vorliegenden Version wird SHRINE jedoch nicht unterstützt, da die aktuelle SHRINE-Version nicht mit i2b2 1.6 zusammenarbeitet. Sobald SHRINE von seinen Entwicklern aktualisiert wird, kann die SHRINEUnterstützung im i2b2-Wizard wieder aktiviert werden. Änderungen am i2b2-Wizard im Rahmen des IDRT-Projekts Im Rahmen dieser Arbeit konnten einige der Anforderungen der deutschen i2b2Community, welche im dritten deutschen i2b2-Workshop genannt wurden, umgesetzt wurden. Beispielsweise wurde mit dem Ziel der besseren Benutzerführung die MenüStruktur (Benutzer- und Projekte-Menü) und die Anzeige des JBoss/SHRINE-Status verbessert. Es hat sich gezeigt, dass die Auswahl einer „offiziellen“ Unterstützung von Ubuntu-Linux durch den i2b2-Wizard zwar von vielen Anwendern begrüßt wird, jedoch nicht immer im Einklang mit den IT-Richtlinien in den einzelnen Instituten steht. Beispielsweise sollen Server (wie der für i2b2) häufig virtualisiert werden und die Rechenzentren der Institute stellen hierfür ausgesuchte Linux-Distributionen (z. B. CentOS, SuSE-Linux) bereit, die dann auch automatisch durch das Rechenzentrum administriert werden. Im Rahmen des Wechsels von Version 1 auf 2 wurde der Quellcode des i2b2-Wizards fast vollständig refokturiert und das Programm modularisiert. Einzelne Module (Shell-Skripte) werden nun abhängig von der Systemkonfiguration beim Programmstart in das Hauptskript eingebunden. Dadurch wird eine Unterstützung für weitere Betriebssysteme und Linux-Distributionen möglich; ebenso können verschiedene i2b2-Versionen von ein und demselben i2b2-Wizard installiert und administriert werden. Da die Skripte grundsätzlich vor- und rückwärtskompatibel sind, kann beispielsweise nur der i2b2-Wizard aktualisiert werden, ohne jedoch die i2b2-Version zu ändern. So kann ein möglicherweise gut funktionierendes i2b2 beibehalten und trotzdem von den Verbesserungen der neuen i2b2-Wizard-Version profitiert werden. Des Weiteren wurden die Datenbankroutinen modularisiert und in diesem Zuge (experimentelle) Unterstützung für Microsoft SQL-Server integriert. Eine weitere Änderung ist die Möglichkeit, gewisse administrative i2b2Datenbankschemata (üblicherweise mit I2B2PM und I2B2HIVE bezeichnet) nach eigenen Wünschen zu bezeichnen. Weiterhin wurden Funktionen zur automatischen Fehlererkennung stark verbessert. So wird nun auch der JBoss-Start überwacht und im Falle eines Fehlers eine Fehlermeldung und dann das JBoss-Log angezeigt. Darüber hinaus wurde eine Erkennung der Verwendung falscher Passwörter eingebaut. So prüft der i2b2-Wizard nun zunächst, ob er eine Datenbankverbindung aufbauen kann, bevor er eine Datenbankoperation durchführt. Einen großen Anteil der Änderungen am i2b2-Wizard im Rahmen des IRDT-Projekts stellen jedoch viele kleine Fehlerkorrekturen und allgemeine Verbesserungen dar (z. B. hinsichtlich der zukünftigen Maintainance des Tools). Die folgende Abbildung visualisiert die ÄnDeliverable D1.1: Anforderungsanalyse, Integrated Data Repository Toolkit (IDRT), März 2012 7 / 11 derungen zwischen Version 1.3.6 (letzte Version ohne IDRT-Features) und Version 1.4.1 (erste Version mit IDRT-Features). Man beachte die geänderten Zeilen, die auf dem Balken rechts durch rot dargestellt ersichtlich sind. Deliverable D1.1: Anforderungsanalyse, Integrated Data Repository Toolkit (IDRT), März 2012 8 / 11 Diskussion und Ausblick Durch die Verwendung des i2b2-Wizards wird den Anwendern erheblich vereinfacht, eine i2b2-Instanz zu installieren und zu administrieren, da das Tool einen Großteil der dafür erforderlichen Konfigurationsschritte reproduzierbar in Programmcode abbildet und vor dem Anwender „versteckt“. Nachdem damit die – neben der Datenaufbereitung – größte Hürde am i2b2-System überwunden wird, ist zu erhoffen, dass das i2b2-System weiterhin an Popularität gewinnt, insbesondere im deutschsprachigen Anwenderraum. Für Anwender außerhalb Deutschlands ist sicherlich die Tatsache interessant, dass der i2b2Wizard zwar grundsätzlich in das IDRT-Softwarepaket integriert wurde, jedoch nicht an dieses gekoppelt ist. Es ist weiterhin möglich, den i2b2-Wizard auch ohne die sonstigen IDRTKomponenten zu benutzen. Für eine breitere Unterstützung anderer Linux-Distributionen neben dem „offiziell“ unterstützten Ubuntu-Linux ist jedoch auch die internationale i2b2-Community gefragt. Insbesondere Interesse für eine Unterstützung für SuSE-Linux und CentOS wurde bereits des Öfteren in der i2b2-Community bekundet. Es bleibt zu hoffen, dass das Tool auch in Zukunft weitergepflegt und –entwickelt werden kann – sei es durch Feedback aus der Community oder das Aufgreifen des Projekts durch die Community selbst. Durch die GPL2-Lizenz ist dies ohne weiteres möglich. Deliverable D1.1: Anforderungsanalyse, Integrated Data Repository Toolkit (IDRT), März 2012 9 / 11 Literatur 1. Prokosch HU (2009) Abschlussbericht TMF-Projekt V054-01 IT-Strategie 2. Mate S (2009) Evaluation von i2b2 am Universitätsklinikum Erlangen. Studienarbeit, Friedrich-Alexander-Universität Erlangen-Nürnberg 3. Deshmukh VG, Meystre SM, Mitchell JA (2009) Evaluating the Informatics for Integrating Biology and the Bedside System for Clinical Research. BMC Medical Research Methodology 9:70 4. Ganslandt T, Mate S, Helbing K, Sax U, Prokosch H (2011) Unlocking Data for Clinical Research - The German i2b2 Experience. Applied Clinical Informatics 2(1):116-127 Deliverable D1.1: Anforderungsanalyse, Integrated Data Repository Toolkit (IDRT), März 2012 10 / 11 Anhänge i2b2-Wizard Anleitung Präsentation mit „Installations Walk-Through“ Deliverable D1.1: Anforderungsanalyse, Integrated Data Repository Toolkit (IDRT), März 2012 11 / 11 i2b2 Wizard Chair of Medical Informatics, University of Erlangen-Nuremberg, Germany and the IDRT team Contact: Sebastian.Mate@imi.med.uni-erlangen.de May 16, 2012 Contents 1 Introduction 2 2 Copyright and Licensing 3 3 How to start 3 4 VirtualBox VM Setup 4 5 Linux Installation 5 5.1 Ubuntu Linux 10.04.x Desktop Edition . . . . . . . . . . . . . . . . . . . . 5 5.2 Ubuntu Linux 10.04.x Server Edition Some Hints . . . . . . . . . . . . . 7 6 i2b2 Wizard Installation 7 7 How i2b2 Wizard works important things you need to know 9 8 i2b2 Wizard Quick-Start 10 9 All i2b2 Wizard Functions 12 9.1 Setting The Default Parameters . . . . . . . . . . . . . . . . . . . . . . . . 12 9.2 Automatic Software Download 13 9.3 Automatic Software Installation . . . . . . . . . . . . . . . . . . . . . . . . 14 9.4 Updating the server IP address . . . . . . . . . . . . . . . . . . . . . . . . 14 9.5 Loading or Dropping I2B2HIVE and I2B2PM . . . . . . . . . . . . . . . . 16 9.6 Creating a new i2b2 Project . . . . . . . . . . . . . . . . . . . . . . . . . . 16 9.7 Removing an i2b2 Project . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 9.8 Creating an i2b2 User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 9.9 Removing an i2b2 User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 9.10 Assigning an User to a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 9.11 Loading and Removing the Boston Demodata . . . . . . . . . . . . . . . . 18 9.12 Building the i2b2 Source Code . . . . . . . . . . . . . . . . . . . . . . . . 19 9.13 Controlling the JBoss Process . . . . . . . . . . . . . . . . . . . . . . . . . 19 9.14 Creating a Separate JBoss Linux User . . . . . . . . . . . . . . . . . . . . 20 9.15 Running ETL-Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 10 Using the i2b2 Wizard ETL Approach 21 1 Introduction The Wizard for Simplied i2b2 Administration or i2b2 Wizard is a bash-based program to manage your i2b2 instance. Instead of working with the i2b2 source code, you can use a semi-graphical menu system to install i2b2, create i2b2 projects, create users and much more. Special Features: • Semi-graphical program to install and congure i2b2 • Full i2b2 installation support Automatic download and extraction of required software packages Automatic installation of Linux software packages Automatic conguration and compilation of the i2b2 source code Automatic handling of all database stu (schema creation, etc.) • Full support for i2b2 administration Create and remove i2b2 projects and users Load and remove the Boston Demodata Change Hive ID and network interface and database conguration Change various passwords (e. g. from I2B2HIVE and I2B2PM) • Recursive resolving of dependencies for setup targets / administration tasks 2 • Preparation of special template ETL SQL scripts which can be used to load data into the i2b2 Hive, the ETL process can also be triggered directly in i2b2 Wizard (please note that is is not part of the IDRT functionality). • SHRINE Installation (does not cover SHRINE conguration) 2 Copyright and Licensing Copyright (C) 2010-2012 Chair of Medical Informatics, Friedrich-Alexander-University of Erlangen-Nuremberg, Germany Portions by 'Integrated Data Repository Toolkit' project (IDRT) Copyright (C) 2012 Technologie- und Methodenplattform fuer die vernetzte medizinische Forschung e.V. (TMF) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 3 How to start Don't worry: This document appears longish because it describes many things and conguration steps in detail. The use of i2b2 Wizard, however, is easy and straigtforward. If you're alredy experienced in using Linux and if you keep some important properties of i2b2 Wizard in mind, you will be able to install future i2b2 hives in about 60 minutes including the Linux system! Section 4 describes how you can create the VirtualBox virtual machine with Ubunu Linux. It is important to use 1 GB of RAM, a hard disk with at least 16 GB of space and 3 an additional Host-only Adapter network interface if you are using VirtualBox. That's it! Section 5 describes in detail how you can set up the Linux. Currently, only Ubuntu Linux 10.04.x (32 bit desktop or server edition) is ocially supported. Also make sure that you provide more than 1 GB swap space and use English as your system's language. That's all! Section 6 describes how you can use SFTP to copy the i2b2 Wizard installation les and i2b2 source packages onto your virtual machine and how you launch wizard.sh. Very easy! Section 7 explains how i2b2 Wizard works from very top-level view and outlines some very important aspects, for example the one-way communication with the database. Section 8 contains a walk-though and explains the most important functions of i2b2 Wizard. Section 9 explains all functions of i2b2 Wizard in detail. You should read this if you plan to load more than just the provided Demodata ... 4 VirtualBox VM Setup In order to use the i2b2 Wizard, you need either a physical computer or a virtual machine, both running Ubuntu Linux 10.04. In this guide, we use Sun VirtualBox because it is free and works on a variety of operating systems. In addition, a virtual machine has many advantages compared to a physical computer, such as storing the current machine state and reverting to it. 1. Get yourself a copy of VirtualBox from http://www.virtualbox.org and install it. In this guide version 3.1.6 is used (on a Macintosh). 2. Get a copy of Ubuntu Linux 10.04.x from http://www.ubuntu.com. To be more specic: you need the le ubuntu-10.04-desktop-i386.iso. The server edition works too, but is more dicult to install below are some hints regarding this version. The i2b2 Wizard will probably not work with other Linux editions! 3. Launch VirtualBox and choose New . In the new window press Next . Choose a name for your i2b2 instance, for example and Ubuntu . Press Next . 4 i2b2 Server . Below, choose Linux 4. On the next screen, choose 1024 MB of memory. Press 5. Choose choose Next . Create new hard disk , Next . In the new window press Next , Dynamically expanding storage , Next . Choose 16 GB (8 GB is not enough), Next , Finish and Finish . The new virtual machine will be listed in the VirtualBox main window. 6. On the right side of the window in the Details tab you will nd the entry Network (printed in blue color) with one entry: Adapter 1: PCnet-FAST III (NAT) . Click on this blue Network entry. In the new window select the tab Adapter 2 , check Enable Network Adapter and select Attached to: Host-only Adapter . Press OK . The main window should now list Adapter 1 and Adapter 2 below Net- work . 7. Now add the Ubuntu ISO-le. Select the blue Storage entry in the VirtualBox main window. On the left side of the new window in the the CD-icon labeled Storage Tree select Empty . On the right side, click on the yellow/green folder icon. A new window will pop up. Click on Add and choose the ubuntu-10.04- desktop-i386.iso which you have previously downloaded. The entry IDE Secondary Master (CD/DVD): ubuntu-10.04-desktop- i386.iso (699.44 MB) should now be listed in the VirtualBox main window under Storage . 5 Linux Installation 5.1 Ubuntu Linux 10.04.x Desktop Edition 1. Start your new (virtual) machine and wait until the graphical installation manager comes up. Select English on the left side (other languages will probably fail, because this choice aects how the Oracle database is initialized (date format, etc.) and how various Linux tools print messages). Then select 10.04.x LTS . 5 Install Ubuntu Figure 1: Hard disk partitioning with > 1 GB swap space. 2. Choose your keyboard layout. It is OK to choose one dierent to English. Press Forward . 3. The next step is to partition the hard disk manually to get more than 1 GB swap space. Select Select Specify partitions manually (advanced) and press Forward . New Partition Table... and Continue . Select the free space entry in the table above and click on the in Add... button. In the new window enter New partition size in megabytes: the value 1101 and select Use as: swap area . Click OK . A new swap partition with 1101 MB should show up. Again, select the free space entry in the table and click on the Add... button. In the new window enter in Mount point: the value / . Click OK . A new ext4 partition with 15 GB should show up. If the whole partitioning looks like in Figure 1 on page 6 , press 4. In the Forward . Who are you? screen ll in your desired information. Click Next . This will install Ubuntu Linux on your (virtual) machine. press After the installation Restart Now . After the shut-down, hit enter to eject the disc. 6 5. It is a good idea to install the VirtualBox Guest Additions and to assign a static IP address to the VirtualBox Host-Only-Adapter if you have more than one virtual machine in VirtualBox. The Host-Only-Adapter is the interface with the 192.168.56.***-IP. Also install all system updates if the the update-manager pops up. 5.2 Ubuntu Linux 10.04.x Server Edition Some Hints • Partitioning: create two primary partitions: create a 1.1 GB swap partition, and use the rest as Ext4 partition with mount point /. Set the second one to bootable . • Network setup: Modify /etc/network/interfaces. You should have two net- work interfaces (eth0 and eth1 where one is the NAT interface and the other one the vboxnet0 interface), but only one has been congured by the Ubuntu installer. Assuming eth1 is the vboxnet0 interface, the le should contain these contents: ... auto eth0 auto eth1 iface eth0 inet dhcp iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0 Replace 192.168.56.101 with your desired (static) IP address. After the modication, run ifup eth1 to get the interface working. • Adding a repository for Sun Java: Add the following line to /etc/apt/- sources.list: deb http://archive.canonical.com/ubuntu lucid partner After this run apt-get update. 6 i2b2 Wizard Installation All you need to do is to copy the required les to the Ubuntu machine and launch the script wizard.sh. 7 1. Download the required i2b2 les from http://www.i2b2.org. The i2b2 Wizard automatically downloads all required les, however, those from http://www.i2b2.org cannot be downloaded automatically. You need the following les: • i2b2core-src-XXX.zip (i2b2 Hive source code) • i2b2createdb-XXX.zip (Boston Demodata) • i2b2webclient-XXX.zip (i2b2 webclient source code) Here, XXX is a placeholder for the current version. Please note that each version of i2b2 Wizard is designed for a specic i2b2 version. To nd out which i2b2 version you need, open wizard.sh in a text editor and look at the rst few lines. Put these les into the packages folder from the i2b2 Wizard installation directory. If you haven't downloaded the les (because you are unable to do so), i2b2 Wizard will ask you to provide a server path in a later step. If this URL contains the valid i2b2 source code repository, i2b2 Wizard can download all les automatically. If you experience diculties in downloading the i2b2 source code les from the i2b2 website, please contact the developer of i2b2 Wizard. 2. Start your new Ubuntu Linux and log in. source which is required for Sun Java. Select You need to an additional package System => Administration => Software Sources , click on the Other Software . Check ... lucid partner and click on Close , then Reload . 3. Open a Terminal (Applications => Accessories => Terminal ) and type in the following commands: sudo -s (and provide your password) passwd root (assign a password for user 'root') apt-get update apt-get upgrade apt-get install openssh-server This installs the OpenSSH server which allows you to copy the i2b2 Wizard installation les to the Ubuntu machine. 4. Copy all les with SFTP to the Ubuntu machine. On Windows, you can use WinSCP (http://winscp.net), on a Mac the program Cyberduck (http://www.cyberduck.ch) or the excellent MacFusion (http://www.macfusionapp.org, a x for OS X 10.6.3 exists here: http://github.com/downloads/nall/MacFusion2/Macfusion-2.0.4-SL.zip). 8 To connect to your virtual machine, use the Host-Only-Adapter. The Host-OnlyAdapter is the interface with the 192.168.56.***-IP. You can use the command ifcong to nd out the IP. 5. It is highly recommended to create a snapshot of your VirtualBox virtual machine before running the i2b2 Wizard. 7 How i2b2 Wizard works important things you need to know /i2b2wizard-1.x.x/ /i2b2src/ Configured*i2b2*source*code* config/ Project*and*user*configura5on* i2b2%Wizard$ i2b2$ wizard.sh /opt/jboss-4.2.2.GA/ Warning:' one:way!' Create'users' and'i2b2'projects' JBoss*applica5on*server*with*i2b2* webservices* Oracle'DB' Project*and*user*config* i2b2*project*data* Manage'users'and' projects' /var/www/admin official*i2*admin*interface*(h@p:// localhost/admin)* Figure 2: i2b2 Wizard's interaction with the i2b2 and Linux system. Figure 2 on page 9 illustrates how i2b2 Wizard interacts with i2b2 and the overall Linux system. The large white rectangle in the upper left part shows the i2b2 Wizard directory, which contains wizard.sh (the i2b2 Wizard bash program) and, besides others, a cong directory. This cong directory stores the current conguration of your i2b2 hive, i.e. information about all created i2b2 projects, users, passwords, ... everything that can be congured through i2b2 Wizard's menu system. 9 This conguration is used to congure the i2b2 hive source code during deployment (the source code is automatically extracted to /i2b2scr/, then cogured and deployed to /opt/jboss-4.2.2.GA/ by i2b2 Wizard during setup, see gure 2, right part). It is OK to delete /i2b2scr/ and /opt/jboss-4.2.2.GA/ if something gets messed up, because i2b2 Wizard will automatically rebuild these directories whenever necessary. i2b2 Wizard also writes conguration information to the Oracle database (see bottom left part of gure 2). However, it is important to keep in mind is that this a one-way communication only. This means that i2b2 Wizard only writes to the database but never reads it (future versions of i2b2 Wizard might be able to do this). Because these writes happen as soon as they are necessary (e.g. if a new i2b2 project is being set up and therefore a new Oracle database schema has to be created) but are not stored anywhere, it is not possible to rebuild the database from the cong directory afterwards. Therefore it is possible to migrate an i2b2 server to a new physical machine easily just by copying the i2b2 Wizard directory along with the whole Oracle database. Another important implication from the one-way database communication is that it is not possible to convert an existing i2b2 server into an i2b2 Wizard i2b2 server you'll always have to start from scratch (or rebuild the i2b2 Wizard cong directory to match your existing conguration, which is dicult and out of the scope of this manual). 8 i2b2 Wizard Quick-Start Launch the i2b2 Wizard by executing sh wizard.sh as root. If everything is OK, you will be greeted by the i2b2 Wizard after a few seconds (it will probably install the required tool dialog rst), see Figure 3 on page 11: 1. To download and to install the required server software, select System Setup => Install Software . This will take a considerable amount of time depending on your internet connection speed. Please note that this installs Oracle XE. The license is accepted automatically by i2b2 Wizard. 2. Go to the Menu Hive Tasks and select Load I2B2PM and I2B2HIVE . A window will pop up and ask you which network interface is used to communicate with the i2b2 Workbenches, see Figure 5 on page 15. Select the interface with the 192.168.56.***-IP by pressing the space bar. This is the Host-Only-Adapter if you are using VirtualBox. 3. To create an i2b2 project, go to Projects & Users and select Create i2b2 Project . Enter your desired parameters as shown in gure 7 on page 17. 10 Figure 3: The i2b2 Wizard Main Menu. Note that this has also created a new ETL-job, which can be started with Run ETL from the main menu. The corresponding SQL is ETL/scripts/GyrosResearch.sql. Use this le to load real data into your i2b2 project. 4. Now you need to create an i2b2 user. From the main menu, select Projects & Users' => Create i2b2 User . Enter your desired parameters as shown in gure 8 on page 18. This creates an i2b2 user. Please note that the default password is demouser. The password can later be changed in the admin console (http://localhost/admin). To open the webclient, open http://localhost/webclient on your i2b2 Hive. 5. The next step is to assign the user to the project. From the main menu, select Projects & Users'=> Assign User as shown in gure 9 on page 19. For all the roles and permissions please refer to the ocial i2b2 documentation. 6. Deploy the changes and launch JBoss by selecting JBoss from the main menu. 11 JBoss Control => Start 7. You can now log into your new project. However, you need to congure your i2b2 Workbench to match your conguration rst. Modify your i2b2workbench.properties which is located in the i2b2 Workbench directory: writeTimelineFile=yes applicationName=i2b2 messageversion=1.1 demoUser=no I2b2.1=HarvardDemo,REST,http://webservices.i2b2.org/i2b2/rest/PMService/ I2b2.2=i2b2demo,REST,http://192.168.56.101:9090/i2b2/rest/PMService/ Make sure that the Hive-ID is set to i2b2demo and that the IP is correct. You can then connect to your i2b2 Hive. 8. If you want to load the Boston Demodata as well, select Boston Demodata => Load Boston Demodata from the main menu. This creates the project as well as the two i2b2 users i2b2 and demo. Their password is demouser. Please note that loading the Demodata will take very long: about 30 minutes. It is OK if error messages appear after the import (because there are/were errors in the Demodata SQL les). 9. To access the i2b2 Webclient, open http://localhost/webclient (replace localhost with the IP if you want to access it from a dierent machine). 10. To access the i2b2 admin console, open http://localhost/admin (again, replace localhost with the correct IP). 9 All i2b2 Wizard Functions This chapter describes the i2b2 Wizard functions in detail. 9.1 Setting The Default Parameters The i2b2 Wizard allows you to comfortably manage many settings from within the program. To change/update the settings, select System Setup => Set Defaults from the main menu, see gure 4 on page 13. 12 Figure 4: Setting the default parameters. The rst part describes the database connection. Currently only Oracle is supported. If you create new projects, this is are the settings which will be used. Please note that this setting should not be changed after i2b2 projects and users have been created. You can also specify a new Hive ID any time. If you change it, you will have to re-run the task System Setup => Hive Tasks => Update Hive-ID from the main menu. Don't forget to update the conguration in i2b2workbench.properties les as well as the Webclient /var/www/webclient/i2b2_cong_data.js ! If you have already created a separate Linux user for the JBoss process, you can set Use separate JBoss-user to yes and provide the correct login. Please refer to chapter 9.14 on page 20 for details. 9.2 Automatic Software Download Normally the required software packages are downloaded automatically when they are needed. You can trigger this function manually by selecting load Software from the main menu. 13 System Setup => Down- The default database-settings (see chapter 9.1 on page 12) inuence the download of the Oracle XE package: if the IP is set to localhost , it will be downloaded, otherwise not. 9.3 Automatic Software Installation Normally the required software packages are installed automatically when they are needed. You can trigger this function manually by selecting System Setup => Install Soft- ware from the main menu. The default database-settings (see chapter 9.1 on page 12) inuence the installation of the Oracle XE package: if the IP is set to localhost , it will be installed, otherwise not. Note that the licenses for Sun Java 6 and Oracle XE are automatically accepted by the i2b2 Wizard. 9.4 Updating the server IP address In order to allow the i2b2 Workbenches to communicate with the i2b2 webservices, the IP addresse must be written to the table PM_CELL_DATA in I2B2PM. This can be done automatically by selecting System Setup => Hive Tasks => Update Hive-IP from the main menu. Figure 5 on page 15 shows the following screen with the network interface selection. Figure 6 on page 15 explains the background of the networking conguration. In a default VirtualBox Linux installation, there are two network interfaces: the loop-only interface that is used internally by the Linux system and the NAT interface that connects to the internet. However, in order to allow the i2b2 Workbench and Webclient (which is, in fact, running on the physical host computer, not on the server) to connect to the i2b2 server, a host-only network interface has to be created. Therefore, if you are using VirtualBox, select the interface with the 192.168.56.***-IP by pressing the space bar. This is the Host-Only-Adapter. An alternative is to select the loop-only interface (127.0.0.1). In this case, however, the server can only be accessed from within the server itself. This means that you have to run the Workbench inside the VM or open the webclient with a browser running inside the VM. 14 Figure 5: Network Setup. VM#Host( i2b2#Server((VM#Guest)( Workbench( Webclient( 192.168.56.101( Host#Only( Webclient( i2b2# Server( 127.0.0.1( Loop#Only( Your(physical( computer( 10.0.2.15( NAT( Your(VirtualBox( Figure 6: Summary of network interfaces. 15 Internet( 9.5 Loading or Dropping I2B2HIVE and I2B2PM In the Menu System Setup => Hive Tasks two menu items can be found for loading or dropping the schemata I2B2PM and I2B2HIVE: • Load I2B2PM and I2B2HIVE • Drop I2B2PM and I2B2HIVE The rst item loads the schemata, the second one removes them. I2B2PM and I2B2HIVE contain basic administrative data and are required for an i2b2 installation. Note that you should never remove I2B2PM and I2B2HIVE once i2b2 projects and/or users have been created. If you remove I2B2PM and I2B2HIVE, all project and user settings inside the Oracle database are lost and cannot be rebuilt automatically, even from the project and users conguration from i2b2 Wizard, which is in fact kept. Please refer to section 7, which explains this in more detail. The removal of the two schemata is only applicable if you want to x a new i2b2 hive that is not properly working, which should never happen ... 9.6 Creating a new i2b2 Project To create a new i2b2 project, choose Projects & Users => Create i2b2 Project from the main menu. The dialog asks you for a project name and a database password. Do not use any special/foreign characters! This will use the database settings and create a new database schema. The schema's name is composed by removing all spaces from the project name, switching all letters to upper case and adding the prex I2B2. In this case this would result in I2B2PROSTATECANCERDATA. Please note that i2b2 Wizard handles the creation of database schemas in a dierent manner: the tables for the dierent webservices (ONT, WORK, CRC) are all loaded into one schema. Furthermore, a new ETL-job is created. 16 Figure 7: Creating a new i2b2 project. 9.7 Removing an i2b2 Project To remove an i2b2 project, select from the main menu. Projects & Users => Remove i2b2 Project This removes the database schema and all assignments of i2b2 users to this project. 9.8 Creating an i2b2 User To create a new i2b2 user, select Projects & Users => Create i2b2 User from the main menu. This creates an i2b2 user. Please note that the default password is demouser. password can only be changed in the Webclient. To open the webclient, open http://localhost/webclient on your i2b2 Hive. 17 The Figure 8: Creating a new i2b2 user. 9.9 Removing an i2b2 User To remove an i2b2 user, select Projects & Users => Remove i2b2 User from the main menu. This removes all assignments of this to all projects as well. 9.10 Assigning an User to a Project To assign an i2b2 user to a project, select either Projects & Users => Assign User from the main menu. For all the roles and permissions please refer to the ocial i2b2 documentation. 9.11 Loading and Removing the Boston Demodata To load or drop the Boston Demodata use the two functions provided in the Boston Demodata menu. Loading the data creates the project Demo and the two new i2b2 users i2b2 and demo (both having demouser as password). If you want to use the 18 Figure 9: Assigning an i2b2 user to an i2b2 project. Demodata with a dierent i2b2 User, you must assign this user with Projects & Users => Assign User from the main menu. 9.12 Building the i2b2 Source Code The function Build i2b2 from the main menu automatically compiles and deploys the i2b2 webservices. 9.13 Controlling the JBoss Process The JBoss server can be controlled with the functions in the JBoss Control menu. The description on the right side tells you which Linux user is used to run JBoss. To change the user, please refer to chapter 9.14. 19 9.14 Creating a Separate JBoss Linux User By default, the Linux user root is used to run the JBoss server. This is a bad thing and should be avoided. The i2b2 Wizard provides a special function to create a new Linux user which can then be used to run the JBoss process. From the main menu, select System Setup => Create JBoss User . Provide a login name and password to create the user. This automatically switches the setting Use separate JBoss-user to yes in the Congure Defaults Parameters window. 9.15 Running ETL-Scripts Figure 10: Executing the i2b2 Wizard ETL scripts. For every project that is created by i2b2 Wizard, a new ETL-script is created in the ETL/scripts/ directory. You can invoke the scripts by selecting Run ETL from the main menu, see gure 10 on page 20. The entries can be checked and unchecked by pressing the space key. You can use these scripts as templates to load real data into your i2b2 Hive, see next chapter. 20 !"!# $% !!# Figure 11: An exemplary ctitious HIS-sheet. 10 Using the i2b2 Wizard ETL Approach The i2b2 Wizard includes a very simple approach which can be used to load heterogeneous data from a Hospital Information System (HIS) into the i2b2 Hive. For every i2b2 project that is created by i2b2 Wizard, the program creates a ETL SQL-le in the ETL subdirectory. The SQL-le can be executed either by i2b2 Wizard or SQL-Developer. The SQL le contains a few statements to insert a few sample entries into the i2b2 database. Furthermore, it accesses three special staging tables to import data: STG_PATIENTS, STG_OBSERVATIONS and STG_ONTOLOGY. The rst table is used to map patient numbers to case numbers and holds patient demographics. The second table contains the clinical facts data stored in an EAV-format, a format which is often used by clinical systems to store data. The STG_ONTOLOGY table contains a hierarchical description of the attribute collection. It is transformed into the i2b2 Ontology format by the SQL script. Let's assume you have a sheet-based system for clinical data entry and you want to map the data into your i2b2 project. An example sheet is given in gure 11 on page 21. The sheet has the following administrative elements: • a case number for the patient and • a date-eld when the whole sheet was lled in. Furthermore, there are ve attributes: 21 CaseNum RecDate SysAbbr Value 999001 01/01/2010 A_SEV 1 999001 01/01/2010 A_SUCC Yes 999001 01/01/2010 A_DBL Yes 999001 01/01/2010 A_STRT 04/05/2009 999001 01/01/2010 A_END 12/11/2009 Table 1: STG_OBSERVATIONS • Severity with the possible values 1, 2 and 3, • Success with the possible values Yes and No, • Double dose which can be either true or false (= Yes or No), • Start of therapy which can contain an arbitrary date as value and • End of therapy which can contain any date as well. If you export the data from your hospital information system, it might look similar to table 1. This is a typical EAV (Entity-Attribute-Value) table. It exactly represents the data from the above sheet. The column SysAbbr (System Abbreviation) hold an acronym for the attribute's name. For example, A_SEV is used for Severity in our ctitious HIS. The STG_OBSERVATIONS table from i2b2 Wizard is constructed in this way. If you edit your exported HIS data to look like this, you can use Excel and SQL-Developer and upload it into the STG_OBSERVATIONS table. However, i2b2 requires more data. Additional information is required to build the PATIENT_DIMENSION table in i2b2. For this reason (and to map the case number to a patient number - this is very common in Germany because of the accounting system used there) there is a STG_PATIENTS table which looks like table 2. STG_PATIENTS contains our patient from the above sheet screenshot (the rst row) and ve others. The table provides the additional attributes Sex and Age. In order to build a working i2b2 Ontology, you must provide a hierarchy which is used to rank the attribute collection from the STG_OBSERVATIONS table as seen in table 3. Notice how Level1 to Level3 and Value are used to create a folder hierarchy. The 22 PatNum CaseNum Gender Age 10001 999001 F 17 10002 999002 M 20 10003 999003 F 23 10004 999004 M 26 10005 999005 F 29 10006 999006 M 32 Table 2: STG_PATIENTS Level1 Level2 Level3 Value SysAbbr CCode DataType HIS Sp. Treat. Severity 1 A_SEV SEV_A:1 S HIS Sp. Treat. Severity 2 A_SEV SEV_A:2 S HIS Sp. Treat. Severity 3 A_SEV SEV_A:3 S HIS Sp. Treat. Success Yes A_SUCC SUCC_A:YES S HIS Sp. Treat. Success No A_SUCC SUCC_A:NO S HIS Sp. Treat. Double Dose Yes A_DBL DBL_A:YES S HIS Sp. Treat. Double Dose No A_DBL DBL_A:NO S HIS Sp. Treat. Start of Therpy A_STRT THER_A:ST D HIS Sp. Treat. End of Therpy A_END THER_A:END D Table 3: STG_ONTOLOGY 23 Figure 12: The ontology which is derived from the table STG_ONTOLOGY. resulting i2b2 Ontology is shown in gure 12 on page 24. Note that some entries in the tables above have been abbreviated in order to save space; for example: Sp. Treat. is Special Treatment and the prex ATTRB_ from the original tables has been dropped, too. Please note that the provided STG_ONTOLOGY contains an additional Experimental Therapy folder which is not shown in the above table. Also realize how the date-elds are treated dierently. Instead of using 01/01/2010 as START_DATE in OBSERVATION_FACT, the dates 04/05/2009 and 12/11/2009 are used, respectively. Currently only the two data formats S (String) and D (Date) are used in the sample ETL SQL-le. The system is currently not capable of handling oating-point numbers such as laboratory values. Maybe we will add this in future versions ... 24 31.05.2013 Dritter TMF‐i2b2‐Workshop am 27.02.2012 in Berlin i2b2‐Hands‐On‐Tutorial Installation von i2b2 mit dem i2b2‐Wizard Sebastian Mate, Thomas Ganslandt, Hans‐Ulrich Prokosch (und viele andere) Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Willkommen beim Hands‐On‐Tutorial! In dieser Session werden die Teilnehmer einen i2b2‐Server auf Basis des i2b2‐ Wizards installieren. 2 1 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Overview & Motivation Die vom i2b2‐NCBC bereitgestellten Materialien machen einen Start leider nicht gerade einfach: Kompilierte Workbench, der sich mit einem Demo‐Server in Harvard verbindet i2b2 VMware‐Images (CentOS‐Linux, etwa 2GB Download) i2b2‐Quellcode (Java Hive & Workbench, Javascript‐Webclient) Ausführliche Dokumentation (ca. 500 Seiten) Wie angehen, damit die Arbeit nachhaltig bleibt? Die Geschichte aus Erlangen. 3 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Overview & Motivation The first steps were very time consuming: 4 2 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Overview & Motivation Oracleconfiguration PMconfiguration 5 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Overview & Motivation Die vom i2b2‐NCBC bereitgestellten Materialien machen einen Start leider nicht gerade einfach: Kompilierte Workbench, der sich mit einem Demo‐Server in Harvard verbindet i2b2 VMware‐Images (CentOS‐Linux, etwa 2GB Download) i2b2‐Quellcode (Java Hive & Workbench, Javascript‐Webclient) Ausführliche Dokumentation (ca. 500 Seiten) Installation ist sehr zeitaufwändig. Schwierig für Evaluationszwecke. Bedürfnis: Schnelles, reproduzierbares Setup 6 3 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Overview & Motivation Status: January 2009 install_pm.sh PM‐ configuration install_crc.sh install_data.sh install_fr.sh Oracle‐ configuration download.sh install_work.sh install_oracle.sh install_ontology.sh 7 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Overview & Motivation Status: June 2009 install.sh Performs all important tasks: Install server software, build and deploy i2b2 and PSX, configure hive, create ontologies and load clinical data, … Installation on any PC or at the Erlangen Hospital! 8 4 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Overview & Motivation Future goal additional tools: managing the setup “in production” install.sh generic install: server software and i2b2 only Project Setup Ontology Tool 9 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg i2b2‐Wizard: Features “Semi‐graphical” program to install and configure i2b2 Full i2b2 installation support Automatic download and extraction of required software packages Automatic installation of Linux software packages Automatic configuration and compilation of the i2b2 source code Automatic handling of all database stuff (schema creation, etc.) Full support for i2b2 administration Create and remove i2b2 projects and users Load and remove the Boston Demodata Change Hive ID and network interface and database configuration Change various passwords (e. g. from I2B2HIVE and I2B2PM) Recursive resolving of dependencies for setup targets / administration tasks SHRINE Installation (not working with i2b2 1.6) 10 5 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg The Setup – Three Small Steps 1. Install Ubuntu 10.04 with 1.1 GB swap space 2. Configure SSH and copy the setup files to the machine – or download i2b2 Wizard directly on the VM 3. Run wizard.sh 11 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Setup Walk‐Through Erstellung der Linux‐VM für i2b2 Vor dem Workshop wurde eine Linux‐VM bereitgestellt. Die folgenden Folien zeigen die Schritte, die für die Erstellung dieser VM erforderlich waren. 12 6 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Setup Walk‐Through Anlegen der Ubuntu‐Linux‐VM unter VirtualBox: 13 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Die VM sollte mindestens 1GB RAM haben. 14 7 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Die Festplatte sollte mindestens 16 GB Speicherplatz bieten. 15 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg In den Netzwerkeinstellungen muss ein „Host‐Only Ethernet Adapter“ hinzugefügt werden. 16 8 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Netzwerk‐Konfiguration Was soll das mit den vielen Netzwerk‐Interfaces?! VM‐Host i2b2‐Server (VM‐Guest) Workbench Webclient 192.168.56.101 Host‐Only 10.0.2.15 NAT Internet Webclient i2b2‐ Server 127.0.0.1 Loop‐Only Ihr Laptop Ihre VirtualBox 17 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Setup Walk‐Through Installation von Linux Die folgenden Folien zeigen, wie man das Ubuntu‐Linux in der neu angelegten VM installiert. Schritte, bei denen keine Konfiguration erforderlich ist, werden nicht gezeigt. 18 9 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Es muss Englisch als Systemsprache eingestellt werden! 19 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Das Keyboard‐Layout darf aber wieder deutsch sein … 20 10 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Das manuelle Partitionieren ist der komplizierteste Teil … 21 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 22 11 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 23 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Mindestens 1 GB SWAP space 24 12 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 25 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Der Rest wird für / verwendet. 26 13 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 27 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg „i2b2“. Für den Workshop ist das sicher genug. 28 14 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 29 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Setup Walk‐Through Nach dem Start von Linux Die folgenden Folien zeigen, was nach der Linux‐Installation zu erledigen ist. 30 15 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg eth0 aktivieren Falls möglich, die beiden Netzwerkverbindungen aktivieren: eth1 aktivieren 31 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Das frische Linux updaten! 32 16 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 33 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 34 17 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Root‐Passwort setzen (i2b2) i2b2‐Wizard herunterladen 35 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg und entpacken … 36 18 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Hier beginnt der Workshop … Starten … 37 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 38 19 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 39 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Einfach /.1.6.02 anfügen und der i2b2‐Wizard lädt alles selbst herunter. 40 20 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Workshop: Falls jemand offline ist und deswegen die Dateien nicht herunterladen kann, „No“ auswählen und … 41 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg … die Dateien manuell an den richtigen Ort kopieren. 42 21 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 8080 1521 i2b2 i2b2 y 43 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 44 22 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Netzwerk‐Konfiguration Was soll das mit den vielen Netzwerk‐Interfaces?! VM‐Host i2b2‐Server (VM‐Guest) Workbench Webclient 192.168.56.101 Host‐Only 10.0.2.15 NAT Internet Webclient i2b2‐ Server 127.0.0.1 Loop‐Only Ihr Laptop Ihre VirtualBox 45 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Nun den JBoss‐ Applikationsserver starten … 46 23 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Hoppla! Die Konfiguration hat sich geändert. i2b2‐Wizard erledigt aber alles automatisch … 47 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg demouser Nun wird es spannend … 48 24 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Funktioniert! 49 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Hier bitte keine Sonderzeichen verwenden! 50 25 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Neuen Benutzer anlegen: „Main Menu >> User Management“ 51 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg 52 26 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Den neuen Benutzer dem neuen Projekt zuweisen 53 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Nun den JBoss‐ Applikationsserver starten … 54 27 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Nach dem Login mit dem neuen Benutzer findet man das i2b2‐Wizard „Minimal‐ Demo‐Projekt“. 55 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Vorsicht, Einbahnstraße! Der i2b2‐Wizard kann nur in die Oracle‐Datenbank schreiben, sie aber nicht auslesen. Verwendet man parallel andere Konfigurationswerkzeuge, gerät man möglicherweise in Probleme. Außerdem kann man den i2b2‐Wizard nicht mit einem bereits bestehenden i2b2 verwenden … 56 28 31.05.2013 /i2b2wizard-1.3.5/ /i2b2src/ config/ Projekte und Benutzer‐ Konfiguration Konfigurierter i2b2 Quellcode i2b2‐Wizard i2b2 wizard.sh /opt/jboss-4.2.2.GA/ Achtung: Einweg! Benutzer und Projekte anlegen Oracle‐DB Projekte und Benutzer‐ Konfiguration Projekt‐Daten JBoss‐Applikationsserver mit i2b2‐ Webservices /var/www/admin Benutzer und Projekte managen Offizielles i2b2‐Administrations‐ Interface (http://localhost/admin) 57 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Vorsicht, Einbahnstraße! Daraus lassen sich folgende Faustregeln ableiten: Das Admin‐Interface am besten gar nicht benutzen. Soll der Server migriert werden, muss das config‐Verzeichnis und der Inhalt der Oracle‐Datenbank übertragen werden. Wird der i2b2‐Wizard manuell geupdated, muss das config‐ Verzeichnis wiederhergestellt werden. Wenn der i2b2‐Wizard zurückgesetzt wird (z.B. neu entpackt, wobei das config‐Verzeichnis nicht wiederhergestellt wird) muss die Oracle‐ Datenbank vorher geleert werden. Es ist in der Regel nicht möglich, ein i2b2 auf eine größere Major‐ Version zu aktualisieren. 58 29 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Vorsicht, Einbahnstraße! Datenbankeinstellungen: Dürfen nur VOR der Installation von i2b2 geändert werden. Das „system“‐ Login muss dem der Oracle‐ Installation entsprechen! Hive ID: Darf jederzeit geändert werden. Danach „System Setup >> Misc. Tasks >> Update Hive‐ID“ ausführen! JBoss‐Benutzer: Darf nur aktiviert werden, wenn vorher „System Setup >> Create JBoss User“ ausgeführt wurde. Passwörter von I2B2HIVE und I2B2PM: Dürfen nur geändert werden, bevor die beiden Schemata angelegt wurden. 59 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Netzwerksicherheit Vorsicht, wenn der Server mit dem Internet verbunden ist! Einige Softwarekomponenten (z. B. JBoss 4.2.2) sind veraltet. Außerdem wird die Standardkonfiguration der Softwarepakete nicht automatisch geändert/abgesichert (z. B. JBoss Web‐Interface‐Login). Bei einer Standardinstallation ist keine Firewall aktiv! Es kursieren Exploits und Scripte, mit denen derartige „Türen“ automatisch geöffnet werden können. Die Kommunikation zwischen Client und Server erfolgt unverschlüsselt. Lösungsansätze: Firewall‐Konfiguration oder SSH‐Tunnel 60 30 31.05.2013 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Netzwerksicherheit Ubuntu UFW Firewall SSH‐Administration erlauben: ufw allow from XXX.XXX.XXX.XXX to any port 22 Webclient erlauben: ufw allow from XXX.XXX.XXX.XXX to any port 80 Workbench erlauben: ufw allow from XXX.XXX.XXX.XXX to any port 9090 Firewall aktivieren: ufw enable Logging aktivieren und einsehen: ufw logging on tail –f /var/log/syslog 61 Sebastian Mate // Chair Of Medical Informatics // University of Erlangen‐Nuremberg Sonstiges Tipps & Tricks (Workarounds) für den i2b2‐Wizard Falls mal etwas nicht mehr klappt, einfach „System Setup >> Repair Installation“ ausführen. Achtung: Dies setzt alle Änderungen am i2b2 zurück, die außerhalb des i2b2‐Wizards stattgefunden haben! Wenn der Statusbalken beim Starten oder Stoppen von JBoss endlos läuft, erkennt der i2b2‐Wizard den Betriebszustand von JBoss nicht. In diesem Fall einfach den i2b2‐Wizard beenden und sh stop.sh ausführen. ... 62 31