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

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 

Recently uploaded (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 

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