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 Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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