SlideShare a Scribd company logo
1 of 12
Integration Secrets:
OpenClinica, OpenXData, SOAP Web Services, and much more




                                        Tom Hickerson
                                 Senior Tier-2 Engineer
                                      OpenClinica LLC
                                           April 7, 2012
Hello.world();
About your presenter today:

 First studied in USSR, St.
  Petersburg’s Herzen Institute, 1991
 First came to Kharkov in 1995
 First worked with Java in 1998
 First worked with Java EE in 2002
 First worked for OpenClinica in 2003
 First worked with Spring in 2008
Problem.setLocale(“Africa”);
University of Bergen is running
clinical trials in rural Africa, to collect
vaccine information:

• No infrastructure
• No bandwidth
• Very little technology (i.e. no
  iPhones, iPads, etc)
Tools.setJavaME(true);
Open-source form creation for use
with JavaME and mobile phones
Ability to collect data:

• On a desktop computer
• On a basic java-enabled phone,
  (e.g. Nokia 1680 ~$35)
• Or capture geo-tagged &
  multimedia data (e.g. Nokia 2710
  ~$150)

http://www.openxdata.org/
Tools.setOpenClinica(true);
Open-source clinical data
management:

•   Data management
•   Discrepancy Management
•   Data Export
•   Regulated User Access
•   Study/Patient Management
•   Currently only through a
    desktop/laptop computer
    connected to the Internet

http://www.openclinica.com/
likeWebService(true,false);
OpenClinica already has several
web services out of the box, passing
data in XML using SOAP

OpenXData also uses XML to define
the forms and the data that is
captured

Project Manager: “Easy! All we have
to do is write a web service!”

Developer: …
Problem.difStandards(true);
OpenClinica uses CDISC ODM             OpenXData uses the Xforms
XML, a standard in the clinical data   standard, as set forth by W3C:
space:                                 http://www.w3.org/TR/2003/REC-
                                       xforms-
http://www.cdisc.org/odm               20031014/index.html#contents
Tools.addMappingTool(true);
U of Bergen and I have been
working on a mapping layer
between OpenClinica and
OpenXData, changing one form of
XML to another:

https://github.com/mapkon/oc-
conversion-tools/

The secret ingredient to mapping –
Groovy, a dynamic language based
on the JVM.
Problem.applyFix(Tools);

                         XML SOAP
                                     conver
          OpenClinica                 sion
                                              OpenXData




                While OpenClinica and
                OpenXData are very similar,
                the conversion tool is not
Tools.focusOnFix(true);
conver                 Servlet
 sion
                      Groovy code

                         Unit tests

         SoapClient
                      ServiceImpl      Transform   Xforms
            Impl
                              Transform.xsl
Problem.isFixSolved(?);
Working with open-source has its own set of challenges:

1.   Providing too much data (500 Mb!)
2.   XML standards with different purposes
3.   Not enough functionality in current web services
4.   In short, progress is being made, but it is slow.

Lessons learned: regular communication is key (daily stand-ups, staying
in touch via Skype, IM, etc) and issues need to be raised right away.
Any Questions?

Thanks to:
   GlobalLogic
   University of Bergen
   The OpenXData Team
   The OpenClinica Team

More Related Content

Similar to Integration stories with OpenClinica and OpenXData

JavaClassPresentation
JavaClassPresentationJavaClassPresentation
JavaClassPresentationjuliasceasor
 
PowerPoint
PowerPointPowerPoint
PowerPointVideoguy
 
Java - OOPS and Java Basics
Java - OOPS and Java BasicsJava - OOPS and Java Basics
Java - OOPS and Java BasicsVicter Paul
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...David Peyruc
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.WO Community
 
SoapUI : Day18 : Webservice- Groovy in soapui : datasink
SoapUI : Day18 : Webservice- Groovy in soapui : datasinkSoapUI : Day18 : Webservice- Groovy in soapui : datasink
SoapUI : Day18 : Webservice- Groovy in soapui : datasinkTesting World
 
MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxVeerannaKotagi1
 
There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014jbandi
 
A CASE STUDY JAVA IS SECURE PROGRAMMING LANGUAGE
A CASE STUDY  JAVA IS SECURE PROGRAMMING LANGUAGEA CASE STUDY  JAVA IS SECURE PROGRAMMING LANGUAGE
A CASE STUDY JAVA IS SECURE PROGRAMMING LANGUAGENathan Mathis
 
New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011philogb
 
Global Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastGlobal Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastSammy Fung
 
Intro to-technologies-Green-City-Hackathon-Athens
Intro to-technologies-Green-City-Hackathon-AthensIntro to-technologies-Green-City-Hackathon-Athens
Intro to-technologies-Green-City-Hackathon-AthensStoitsis Giannis
 

Similar to Integration stories with OpenClinica and OpenXData (20)

JavaClassPresentation
JavaClassPresentationJavaClassPresentation
JavaClassPresentation
 
PowerPoint
PowerPointPowerPoint
PowerPoint
 
amar_java_resume (1)
amar_java_resume (1)amar_java_resume (1)
amar_java_resume (1)
 
Java - OOPS and Java Basics
Java - OOPS and Java BasicsJava - OOPS and Java Basics
Java - OOPS and Java Basics
 
Resume
ResumeResume
Resume
 
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
tranSMART Community Meeting 5-7 Nov 13 - Session 1: Chilly-Mazarin Meeting Ob...
 
CV_Kazim_Gohar
CV_Kazim_GoharCV_Kazim_Gohar
CV_Kazim_Gohar
 
SAPUI5Role
SAPUI5RoleSAPUI5Role
SAPUI5Role
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
 
SoapUI : Day18 : Webservice- Groovy in soapui : datasink
SoapUI : Day18 : Webservice- Groovy in soapui : datasinkSoapUI : Day18 : Webservice- Groovy in soapui : datasink
SoapUI : Day18 : Webservice- Groovy in soapui : datasink
 
CV_Tomasz_Stempkowicz_EN
CV_Tomasz_Stempkowicz_ENCV_Tomasz_Stempkowicz_EN
CV_Tomasz_Stempkowicz_EN
 
Java 2 computer science.pptx
Java 2 computer science.pptxJava 2 computer science.pptx
Java 2 computer science.pptx
 
Izadi_cv
Izadi_cvIzadi_cv
Izadi_cv
 
java slides
java slidesjava slides
java slides
 
MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptx
 
There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014There is something about JavaScript - Choose Forum 2014
There is something about JavaScript - Choose Forum 2014
 
A CASE STUDY JAVA IS SECURE PROGRAMMING LANGUAGE
A CASE STUDY  JAVA IS SECURE PROGRAMMING LANGUAGEA CASE STUDY  JAVA IS SECURE PROGRAMMING LANGUAGE
A CASE STUDY JAVA IS SECURE PROGRAMMING LANGUAGE
 
New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011New Tools for Visualization in JavaScript - Sept. 2011
New Tools for Visualization in JavaScript - Sept. 2011
 
Global Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastGlobal Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 Forecast
 
Intro to-technologies-Green-City-Hackathon-Athens
Intro to-technologies-Green-City-Hackathon-AthensIntro to-technologies-Green-City-Hackathon-Athens
Intro to-technologies-Green-City-Hackathon-Athens
 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

Integration stories with OpenClinica and OpenXData

  • 1. Integration Secrets: OpenClinica, OpenXData, SOAP Web Services, and much more Tom Hickerson Senior Tier-2 Engineer OpenClinica LLC April 7, 2012
  • 2. Hello.world(); About your presenter today:  First studied in USSR, St. Petersburg’s Herzen Institute, 1991  First came to Kharkov in 1995  First worked with Java in 1998  First worked with Java EE in 2002  First worked for OpenClinica in 2003  First worked with Spring in 2008
  • 3. Problem.setLocale(“Africa”); University of Bergen is running clinical trials in rural Africa, to collect vaccine information: • No infrastructure • No bandwidth • Very little technology (i.e. no iPhones, iPads, etc)
  • 4. Tools.setJavaME(true); Open-source form creation for use with JavaME and mobile phones Ability to collect data: • On a desktop computer • On a basic java-enabled phone, (e.g. Nokia 1680 ~$35) • Or capture geo-tagged & multimedia data (e.g. Nokia 2710 ~$150) http://www.openxdata.org/
  • 5. Tools.setOpenClinica(true); Open-source clinical data management: • Data management • Discrepancy Management • Data Export • Regulated User Access • Study/Patient Management • Currently only through a desktop/laptop computer connected to the Internet http://www.openclinica.com/
  • 6. likeWebService(true,false); OpenClinica already has several web services out of the box, passing data in XML using SOAP OpenXData also uses XML to define the forms and the data that is captured Project Manager: “Easy! All we have to do is write a web service!” Developer: …
  • 7. Problem.difStandards(true); OpenClinica uses CDISC ODM OpenXData uses the Xforms XML, a standard in the clinical data standard, as set forth by W3C: space: http://www.w3.org/TR/2003/REC- xforms- http://www.cdisc.org/odm 20031014/index.html#contents
  • 8. Tools.addMappingTool(true); U of Bergen and I have been working on a mapping layer between OpenClinica and OpenXData, changing one form of XML to another: https://github.com/mapkon/oc- conversion-tools/ The secret ingredient to mapping – Groovy, a dynamic language based on the JVM.
  • 9. Problem.applyFix(Tools); XML SOAP conver OpenClinica sion OpenXData While OpenClinica and OpenXData are very similar, the conversion tool is not
  • 10. Tools.focusOnFix(true); conver Servlet sion Groovy code Unit tests SoapClient ServiceImpl Transform Xforms Impl Transform.xsl
  • 11. Problem.isFixSolved(?); Working with open-source has its own set of challenges: 1. Providing too much data (500 Mb!) 2. XML standards with different purposes 3. Not enough functionality in current web services 4. In short, progress is being made, but it is slow. Lessons learned: regular communication is key (daily stand-ups, staying in touch via Skype, IM, etc) and issues need to be raised right away.
  • 12. Any Questions? Thanks to:  GlobalLogic  University of Bergen  The OpenXData Team  The OpenClinica Team