Post on 28-Aug-2018
©
OpenClinica in an Integrated
Translational Environment
Using OpenClinica to the max
Marinel Cavelaars & Jacob Rousseau
CTMM-TraIT / VU University Medical Center
©#OC14Boston
Presentation outline
Overview TraIT
Overview TraIT OpenClinica deployment:
OpenClinica environments
Performance concerns
Integration issues
Integration: Trusted Third Party, Single sign-on
Interoperability: link to images, data upload, link with EHR,
link with DWH
2
©#OC14Boston
CTMM TraIT project aim
Sustainable research IT infrastructure for biomedical research
projects:
Facilitate the collection, storage, analysis, archiving and securing
of the data generated in Dutch medical research projects
Accelerate translational research; facilitate multi-center
collaboration and data sharing within translational research
projects
3
©#OC14Boston
TraIT amendment 3, 2014: 30 partners
Growing TraIT project team
4
©#OC14Boston
Scope of TraITTraIT typically supports
Translational biomedical research, i.e. customer projects normally
include a clinical data component
Projects that are either multi-center or multi-domain (clinical, imaging,
biobanking, experimental)
Investigator-driven studies or clinical registries
Late-stage product trials leading directly to an FDA/EMEA registration
dossier are not within the regular scope of TraIT
Patient safety shall not directly depend on the information in TraIT
systems
Projects initiated from The Netherlands (including foreign partners)
5
©#OC14Boston
Division in work packages
Five data generating
work packages
Data integration & analysis
across the four platforms
Shared service center for
hardware, training & support
6
©#OC14Boston
High-level TraIT data flows
Translational Research (IT)
Samples (IT)
Hospital (IT)data
domainsclinical
imaging
experimen
t
biobanking
integrated
data
translational
research
workspace
Public Data
TranSMART
CBM
BMIA
XNAT
e.g. R
T
T
P
Open
Clinica
Various
solutions
HIS
PACS
LIS
BIMS
7
©#OC14Boston
Uptake of TraIT OpenClinica
0
10
20
30
40
50
60
70
80
90
100
July 2008 Oct
2011
Oct
2012Start DeCoDe
OpenClinica Start TraIT
OpenClinica
Oct
2013 June
2014
num
ber
of stu
die
s
Pre TraIT effect:multicenterVUmc studies
Also multicenterstudies other Dutch UMC’s
91 studies
131 sites496 users
©#OC14Boston
TraIT OpenClinica services
Hosting OpenClinica environments via professional provider
Application and Change Management by TraIT technical support staff
OpenClinica user supportVia TraIT servicedesk (Topdesk / Email / Tel)User TrainingUser Manuals and Documentation
Costs of hosting and (user) support are currently covered by the CTMM-TraIT project. A business model is being developed for the period after January 2016.
9
©#OC14Boston
OpenClinica-related deliverables for 2014
Twenty-three standard CRFs including concept mapping
OpenClinica Data Importer improvements (e.g. integration with Web Services)
Link to EHR’s for automated data upload into OpenClinica
New/improved OpenClinica features
Dynamic links in CRF (e.g. link to image): OC version 3.3!
Web services improvement for (fully automated) data upload
Authorization more granular: on Event or CRF level
Link/data pipeline between OpenClinica and TranSMART DWH
Integration OpenClinica with external subject id provider (Trusted Third Party;
TTP)
Interoperability between scheduling tool (Logis) and OpenClinica
10
©#OC14Boston
CTMM TraIT – Applications
Clinical data
OpenClinica
TraIT-wide
Trusted Third
Party
Imaging
BMIA & XNAT (Pacs)
Data integration
TranSMART
Experimental Data
Phenotype-DB
Pathology Imaging
tEPIS
Biobanking
Biospecimen catalogus /
workflow sample request
11
©#OC14Boston
OpenClinica.nl
12
©#OC14Boston
OpenClinica environments
Production 1 – single instance / multiple active studies
Production 2 – single instance / one large non-active
study
Sandbox – for study and CRF development
Acceptance – for technical tests and problem solution
Test / Development – for feature testing and
development
13
©#OC14Boston
Typical setup VM’s
VM1
Apache 2.2
Web-server
VM2
Tomcat 6.0.32
MirthConnect 2.20
VM3
Postgres
8.4.12
Internet
AJP 1.3 JDBC
14
©#OC14Boston
Statistics
Approximately 220 users per month (50 per workday)
Mostly Dutch users
91 studies / 496 users
Small investigator initiated studies (n subjects < 100)
Small / medium registration studies (n subjects < 5000)
Large registration study (n subjects = 177509)
Total subjects in the production environment: 19265
AWstats ( http://awstats.sourceforge.net/ )
Overview of users and visit details
15
©#OC14Boston
Performance issues
16
©#OC14Boston
Performance issues
Factors likely to play a role but not investigated in detail yet:
Suboptimal OpenClinica source code from a performance point
of view
Complex database queries and sub-optimal joins
Load on OpenClinica. Several factors may play a role:
Number of data objects in the database (increases with
increasing number of studies)
Number of concurrent users
Complexity of CRFs (Java-scripting, rules, large amount of items per
CRF)
It is always difficult to pin-point the causes of performance problems;
other factors may be relevant as well.
17
©#OC14Boston
Performance factors
Factors currently identified to play a role in the performance:
Indexing of tables in the database: adding an index in Jan 2014
solved export performance issue
Local factors (on client side): browser type and version,
institute’s firewall, operating system (windows version),
computer disc space, memory and CPU
Virtual Machine configuration
Web-front end configuration (Images / CSS / Javascript cache)
18
©#OC14Boston
Performance measurements
Performed from a single client behind a typical hospital
firewall
One to eight concurrent users running the same
Selenium script
Create subjects and add data in a simple study
Create subjects and add data in a complex study
Navigate through the study (Subject matrix, audit log etc)
Run as JUnit tests concurrently with a special runner
and headless FireFox with X virtual frame buffer (Xvfb)
19
©#OC14Boston
Measurements points
Tomcat log with a valve
Postgres log (configuration option to log all queries and
their duration)
Browser plugins (WebDeveloper and Firebug)
VM-ware
JUnit script duration (client-side)
20
©#OC14Boston
Stress measurements -Tomcat - total duration of scripts per number of concurrent users
0
100000
200000
300000
400000
500000
600000
1 2 3 4 5 6 7
total duration [ms]
21
©#OC14Boston
Stress measurements -clientside
22
©#OC14Boston
Scaling / optimization ideas Multiple OpenClinica instances with load balancing on
the web-server
VM improvements
Upgrade of Postgres
Hardware
Multi-threaded
Database optimization ( indexes )
Code improvement ( Hibernate )
23
©#OC14Boston
ICT TraIT – Clinical data acquisition
work-package
OpenClinica
Trusted
Third Party
BMIA
(Pacs)
tranSMART
Logis
EHR-systems
SurfConext
MirthConnect
OCDataImporterI2B2
tEPIS Pathology
imaging
Open Clinica Web services
24
©#OC14Boston
Trusted Third Party Integration
To enable secure matching of Personal Identifying
Information such as Social Security Number or Hospital
ID’s with OpenClinica studySubjectID’s
In cooperation with CTMM-TraIT partner Custodix.be
Legislation (Dutch) disallows the transport of
unencrypted SSN. HIS ID’s however are allowed over
SSL.
25
©#OC14Boston
TTP technical implementation
Subject registration with Hospital Information System number /
Social Security Number
OpenClinicaTrusted
Third
Party
Client
Browser
Internet
Web-service
adapter
26
©#OC14Boston
New study parameter option
27
©#OC14Boston
OCDataImporter
OpenClinica
Trusted
Third Party
BMIA
(Pacs)
tranSMART
Logis
EHR-systems
SurfConext
MirthConnect
OCDataImporterI2B2
tEPIS Pathology
imaging
Open Clinica Web services
28
©#OC14Boston
OCDataImporter
Developed since 2012 by Cuneyt Parlayan (CTMM-
DeCoDe project; VU University Medical Center)
Tool to convert tab-delimited files to ODM
Design considerations
Consistency and data-format checks to enable automated uploads
Clear error reporting
To be used by data managers
Automated column name to items matching
To be downloaded from
OpenClinica WIKI wiki.openclinica.com
29
©#OC14Boston
OCDataImporter
Windows UI-application
Loading of the study meta-data file and a CSV-file
Automatically map of columns to OpenClinica data items
Integration of WS-calls for subject creation and event creation &
scheduling. OpenClinica code must be adapted to allow (OC version
3.4?):
Single WS-operation to create subject, create and schedule
event
Configurable event status after upload
Query event status for single subject
Automated operational mode for automated ETL
OCWS tool for use with MirthConnect
30
©#OC14Boston
OCDataImporter
31
©#OC14Boston
Integration with EHR-system
OpenClinica
Trusted
Third Party
BMIA
(Pacs)
tranSMART
Logis
EHR-systems
SurfConext
MirthConnect
OCDataImporterI2B2
tEPIS Pathology
imaging
Open Clinica Web services
32
©#OC14Boston
EHR integration
Use MirthConnect input channels
HL7 v2 or v3
Export from a hospital system e.g. CSV
IHE Retrieve Form for Data capture (RFD)
Use the TraIT applications OCWS or OCDataImporter to
convert the messages to ODM
Import into OpenClinica either by Web-services or by a
scheduled import job
33
©#OC14Boston
Integration with imaging systems
34
OpenClinica
Trusted
Third Party
BMIA
(Pacs)
tranSMART
Logis
EHR-systems
SurfConext
MirthConnect
OCDataImporterI2B2
tEPIS Pathology
imaging
Open Clinica Web services
©#OC14Boston
Integration image archives
www.bmia.nl (BioMedical Image Archive) is a CTMM-
TraIT PACS
Specific use case: store radiologist assessments of images
in an OpenClinica CRF
Development with OpenClinica LLC of a ‘parameterized
link’ where item values and study fields can be substituted
and displayed in the CRF
35
©#OC14Boston
Parameterized link
<a href="http://www.acc.bmia.nl/restViewer.php?
pid=${studySubject}
&study=${item['SCAN_TYPE']}
&series=${item['DICOM_SERIES']}|Corrected
&debug=1
&subject=${studySubject}
&studyName=${studyName}
&event=${eventName}”
target="_blank">Review Image</a>
Entered in the left / right item text fields in the CRF in OpenClinica
version 3.3:
36
©#OC14Boston
Demo parameterized link
37
©#OC14Boston
Demo parameterized link
_http://www.acc.bmia.nl/restViewer.php?pid=P0039C0006I1319777
&study=PETCT&series=CT12062012105757|Corrected
&debug=1&subject=P0039C0006I1319777&studyName=TestParameterizedLinks
&event=Radiologist_Review&ordinal=1&crfName=TPL_CRF&crfVer=0.19
38
©#OC14Boston
Single sign-on
39
OpenClinica
Trusted
Third Party
BMIA
(Pacs)
tranSMART
Logis
EHR-systems
SurfConext
MirthConnect
OCDataImporterI2B2
tEPIS Pathology
imaging
Open Clinica Web services
©#OC14Boston
Single Sign-On
Currently investigating the possibilities for a single sign-
on for all TraIT applications
Using the Dutch national university network Surfnet and the
SAML 2.0 federated sign-on ( SurfConext )
Single user registry which is maintained by the participating
universities and institutions
Possibly develop a portal solution for single sign-on to all
CTMM-TraIT applications
Add a custom implementation of the existing (Spring-
based) authentication manager
40
©#OC14Boston
Export / storage on Data Warehouse System
41
OpenClinica
Trusted
Third Party
BMIA
(Pacs)
tranSMART
Logis
EHR-systems
SurfConext
MirthConnect
OCDataImporterI2B2
tEPIS Pathology
imaging
Open Clinica Web services
©#OC14Boston
Transferring clinical study data from OpenClinica to
tranSMART enables:
the analysis of the study data (e.g. statistics)
the integration with other data (e.g. genomics)
cross-study analysis
tranSMART uses the database format i2b2 in which data is imported via tabular text files
Ideally, we create an automated conversion from ODM to i2b2
Purpose
42
©#OC14Boston
Data flow and tools
ODM
file(s)
OpenClinica
ODM export
OC-
concepts
based
tabular
data
TM-
concepts
based
tabular
data
ODM2Tabular
translator
concept
translator and
filter
OC tranSMART
OC-TM
concept
mapping
tranSMART
clinical data
upload
tranSMART
clinical data
upload
43
©#OC14Boston
Model interventional study
44
©#OC14Boston
Model observational study
45
©#OC14Boston
Acknowledgements
The OC14 organizers, e.g. Ben Baumann, Cal Collins, Rob Ritberg
OpenClinica developers and testers, Alicia Goodwin, Chris Connor,
Douglas Rodrigues, Krikor Krumlian, Hiroaki Honshuku, Steve
DiBona, Jamuna Nyayapathi, and others ...
TraIT participants, Trial Data Solutions (Gerben Rienk Visser &
Annelies Rotte), Cuneyt Parlayan, Jacob Rousseau, Marinel
Cavelaars, Henk Verheul, Jeroen Beliën, Annemarie Verburg, Rita
Azevedo, Ruud Ross, Sander de Ridder, Jan-Willen Boiten, Johan
van Soest, Ward Blondé, Arjan van der Velde, and many more….
46
©#OC14Boston
Content of tabular data
subj01 43 Yes 408 Deceased ..
subj02 67 No Living ..
subj03 29 No 173 Deceased ..
.. .. .. .. .. ..
1 SUBJ_ID
2 Subjects+Age
4 EndPoints+days to death
5 Endpoints+vital status
.. ..
observations file
column–concept mapping file
A column contains the observations of a specific concept
One of the columns contains the subject-id's
A row contains the observations of a single subject
A separate file contains the mapping between columns, concept paths (a path in the ontology tree in tranSMART's data explorer UI), and ontology terms (not yet in OC)
Unmapped columns are not uploaded
47
©#OC14Boston
OC based tabular data
Observation file can be build from ODM file.
Concept paths in mapping file can only be based on Open
Clinica concepts (Event, Form, …) which also can be
found in the ODM file.
Uploading these files directly in tranSMART would result in an
Open Clinica style ontology tree
1 SUBJ_ID
2 Patient Information+Age
3 Patient Information+Married
4 Closing Event+survival time
5 Closing Event+survival status
.. ..
subj01 43 Yes 408 Deceased ..
subj02 67 No Living ..
subj03 29 No 173 Deceased ..
.. .. .. .. .. ..
observations file
column–concept mapping file
48
©#OC14Boston
OC-TM concept mapping
Optional step to translate OC concepts to desired TM concepts
A concept mapping file is study specific
Initial effort to create a concept mapping file
A concept mapping file can be reused for subsequent uploads
Unmapped OC concepts are not uploaded
SUBJ_ID SUBJ_ID
Patient Information+Age Subjects+Age
Patient Information+Married
Closing Event+survival time EndPoints+days to death
Closing Event+survival status Endpoints+vital status
.. ..
example OC-TM concept mapping file
49
©#OC14Boston
TOC – 1/2 Overview TraIT -> Marinel
Overview deployment:
4 production environments
Sandbox – for study / CRF development
Archive – for closed studies
Acceptance – for technical tests and problem solution
Production
Overview number of studies + short history of OC in the VUmc
AV-stats display
-- bij mij er uit
Integration issues
Dutch legislation
Security / privacy
TTP, Logis, WP3 / WP2, SurfConnext, EHR-systems Make the CTP work also for other work-packages. Could be used as
a hospital-wide ID/HIS/BSN anonymizer. Install as a reverse proxy matching the TraIT urls: www.bmia.nl ; www.openclinica.nl
Illustration with IST / SOLL
Multiple hospitals challanges
Performance
Load balancing
177K study
Multi-threaded
Indices
50
©#OC14Boston
TOC – 2/2 Upload
OCDataImporter
MirthConnect / OCWS
Addition of WS-functionality -> Query to retrieve study event status for a singe subject.!!!!!
Performance idea's:
Add multipe TC instances on a single VM and use session-sharing
Or: multiple VM's with 1 single TC instance
TODO's:
Add the graph of the development of number of studies over time
Add a screen shot of AWStats
51