SlideShare a Scribd company logo
OpenMRS CDA Generator Module
Intern
• Vaibhav Agarwal
Primary Mentor
• Suranga Nath Kasturirathne
Backup Mentor
• Jeremy Keiper
Project Description
• The aim of our module is to support the
generation of CDA (Clinical Document
Architecture) documents from OpenMRS
• Our goal for the summer was to generate a
valid CDA APHP message
What, Why and How
• CDA is an XML based standard for the exchange of
health information.
• CDA is straight-forward to implement, and provides
a mechanism for incremental semantic
interoperability.
We selected the MDHT API to produce CDA because
• It’s easier
• Adequate
• Provides functionalities such as validation and
consumption of documents.
Design
Design
Overall Accomplishments
• Flexibility to Add/Edit/Delete CDA document
types and sections.
• Populated answers for all sections of a APHP CDA
message.
• Identified and listed out LOINC codes, SNOMED
codes and new concepts that our module needs.
• Produced a fully valid CDA message.
• Produced an error page to report errors in a CDA
message.
• Refined CDA Message
Next Steps for the Project
Outstanding tasks
• Need to write Junit tests and complete wiki
documentation.
• Need to work with the MVP CIEL Dictionary team
to update the Dictionary with LOINC codes,
SNOMED codes and new concepts CDA needs
Next Steps for the Project
Future Enhancements/Improvements?
• Ability to Add/Edit/Delete CDA Document
types and Sections through User Interface.
• create clients to consume CDA’s by hitting a
REST Web Service with a patient identifier to
download their CDA.
• Invoke Gazelle Validator via a web service call
Demo
The demo includes
1. Export CDA Form validation
2. Generate CDA message
3. Generate CDA with Null Observations
4. Intentionally add error to show how our code
catches it and report to error page
Demo
Take Away from GSoC?
Technical skills
• MDHT API
• Learning to work with IHE profiles and requirements
• OpenMRS Concept Dictionary (about Concepts)
• Spring MVC Framework
• Junit
• Git
• Maven, Hibernate
• Liquibase
• XML
Take Away from GSoC?
Project/People skills
• Patience
• Etiquette (Especially email etiquette)
• Real time experience on SDLC
• Communication
• Effective utilization of resources (mailing list, IRC ,
Documentation, mentors help, community members help)
• Made lot of friends and Met cool people out there!
• Had Fun!
Resources
• Wiki Page: https://wiki.openmrs.org/display/projects/OpenMRS+CDA+Generator
• Source Code: https://github.com/openmrs/openmrs-module-cdagenerator
• Blog Url : http://kmitvaibhav.wordpress.com/
• OpenMRS IRC Nickname: VaibhavAgarwal
• OpenMRS Mail: vaibhavhp@openmrs.org
• GMail: kmit.vaibhav@gmail.com
OpenMRS CDA Generator Presentation Slides

More Related Content

Similar to OpenMRS CDA Generator Presentation Slides

SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
w2fong
 
VidyaBhooshanMishra_CV
VidyaBhooshanMishra_CVVidyaBhooshanMishra_CV
VidyaBhooshanMishra_CV
Landis+Gyr
 
Rajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot netRajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot net
Rajendran m
 
Swetha-IBMCertifiedWMQ_WMB
Swetha-IBMCertifiedWMQ_WMBSwetha-IBMCertifiedWMQ_WMB
Swetha-IBMCertifiedWMQ_WMB
shwetha mukka
 

Similar to OpenMRS CDA Generator Presentation Slides (20)

Resume
ResumeResume
Resume
 
Technical Without Code
Technical Without CodeTechnical Without Code
Technical Without Code
 
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
Cloud and Network Transformation using DevOps methodology : Cisco Live 2015
 
SWAPNIL Patki
SWAPNIL PatkiSWAPNIL Patki
SWAPNIL Patki
 
Resume
ResumeResume
Resume
 
AbhishekKapuria
AbhishekKapuriaAbhishekKapuria
AbhishekKapuria
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
 
Abstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere PortalAbstracting the UI Layer for WebSphere Portal
Abstracting the UI Layer for WebSphere Portal
 
Sai_Resume
Sai_ResumeSai_Resume
Sai_Resume
 
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
#SPFestSea azr302 The SharePoint Framework and the #MicrosoftGraph under ster...
 
SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016SanDiego_DevOps_Meetup_9212016
SanDiego_DevOps_Meetup_9212016
 
VidyaBhooshanMishra_CV
VidyaBhooshanMishra_CVVidyaBhooshanMishra_CV
VidyaBhooshanMishra_CV
 
Sibananda_DotNet
Sibananda_DotNetSibananda_DotNet
Sibananda_DotNet
 
Rajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot netRajendran M 2+ years of Exp in Dot net
Rajendran M 2+ years of Exp in Dot net
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Swetha-IBMCertifiedWMQ_WMB
Swetha-IBMCertifiedWMQ_WMBSwetha-IBMCertifiedWMQ_WMB
Swetha-IBMCertifiedWMQ_WMB
 
Ramesh Resume
Ramesh ResumeRamesh Resume
Ramesh Resume
 
KarthikSNOW_CV
KarthikSNOW_CVKarthikSNOW_CV
KarthikSNOW_CV
 
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
(SPOT205) 5 Lessons for Managing Massive IT Transformation Projects
 
CV - Abhijit
CV - AbhijitCV - Abhijit
CV - Abhijit
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 

Recently uploaded (20)

Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 

OpenMRS CDA Generator Presentation Slides

  • 1. OpenMRS CDA Generator Module Intern • Vaibhav Agarwal Primary Mentor • Suranga Nath Kasturirathne Backup Mentor • Jeremy Keiper
  • 2. Project Description • The aim of our module is to support the generation of CDA (Clinical Document Architecture) documents from OpenMRS • Our goal for the summer was to generate a valid CDA APHP message
  • 3. What, Why and How • CDA is an XML based standard for the exchange of health information. • CDA is straight-forward to implement, and provides a mechanism for incremental semantic interoperability. We selected the MDHT API to produce CDA because • It’s easier • Adequate • Provides functionalities such as validation and consumption of documents.
  • 6. Overall Accomplishments • Flexibility to Add/Edit/Delete CDA document types and sections. • Populated answers for all sections of a APHP CDA message. • Identified and listed out LOINC codes, SNOMED codes and new concepts that our module needs. • Produced a fully valid CDA message. • Produced an error page to report errors in a CDA message. • Refined CDA Message
  • 7. Next Steps for the Project Outstanding tasks • Need to write Junit tests and complete wiki documentation. • Need to work with the MVP CIEL Dictionary team to update the Dictionary with LOINC codes, SNOMED codes and new concepts CDA needs
  • 8. Next Steps for the Project Future Enhancements/Improvements? • Ability to Add/Edit/Delete CDA Document types and Sections through User Interface. • create clients to consume CDA’s by hitting a REST Web Service with a patient identifier to download their CDA. • Invoke Gazelle Validator via a web service call
  • 9. Demo The demo includes 1. Export CDA Form validation 2. Generate CDA message 3. Generate CDA with Null Observations 4. Intentionally add error to show how our code catches it and report to error page Demo
  • 10. Take Away from GSoC? Technical skills • MDHT API • Learning to work with IHE profiles and requirements • OpenMRS Concept Dictionary (about Concepts) • Spring MVC Framework • Junit • Git • Maven, Hibernate • Liquibase • XML
  • 11. Take Away from GSoC? Project/People skills • Patience • Etiquette (Especially email etiquette) • Real time experience on SDLC • Communication • Effective utilization of resources (mailing list, IRC , Documentation, mentors help, community members help) • Made lot of friends and Met cool people out there! • Had Fun!
  • 12. Resources • Wiki Page: https://wiki.openmrs.org/display/projects/OpenMRS+CDA+Generator • Source Code: https://github.com/openmrs/openmrs-module-cdagenerator • Blog Url : http://kmitvaibhav.wordpress.com/ • OpenMRS IRC Nickname: VaibhavAgarwal • OpenMRS Mail: vaibhavhp@openmrs.org • GMail: kmit.vaibhav@gmail.com

Editor's Notes

  1. Hello everybody, greetings My name is Vaibhav Agarwal and welcome to the final presentation on openmrs cda generator module for google summer of code 2014 My primary mentor is Suranga Nath Kasturirathne and backup mentor is Jeremy keiper
  2. The aim of our module is to generate CDA Documents from OpenMRS data on user’s request. CDA stands for Clinical Document Architecture Our work on this module is influenced by OpenHIE plans and they are interested in this module. Our goal for the summer was to produce a good APHP CDA Document
  3. Let’s quickly answers this questions   What is CDA? Clinical Document Architecture (CDA) is a xml based standard for exchange of health information. It is means to achieve interoperability Why CDA? CDA is straight forward to implement and provides a mechanism for incremental semantic interoperability meaning (that is) an implementer can begin with a simple CDA and then add structured data elements over period of time How we are producing CDA Documents? We are using Model driven Health tools (MDHT API) to produce CDA documents for the following reasons i)It is simple ii)it is adequate approach to produce CDA than xml processing and binding techniques iii)it provides functionality to validate the CDA document and consume the CDA document which is important to us.
  4. During this summer our focus was to generate APHP CDA message, but their many type IHE profile or CDA documents types Now question is, will our module allow any other type of CDA Document? Yes. We have designed our module to ensure that our work is flexible for further extension. If someone wants to add new CDA type documents other than APHP our module accommodate this change. So, our design consists of hierarchy of classes or we call them as hierarchy of handler. BaseCdaTypeHandler is base class which contains all attributes necessary for CDA document and all other handlers extend this BaseCdaTypeHandler (example APHP handler, APS handler or some other handler) In our entire code base we are using the reference of BaseCDATypeHandler to make our work as generic as possible. If we want to add a new CDA Document Type all we need to do is create a class, extend from this BasCdaTypeHandler class and use setter methods to add values that’s it! The same design approach is followed for Section as well. There we have BaseCdaSectionhandler and child handlers extending it.
  5. Overall accomplishments during this summer are Flexibility to Add/Edit/Delete CDA document type and sections. Populating answers for all sections of a APHP CDA message. Identified and listed out LOINC codes, SNOMED codes and new concepts our module needs. Fully valid CDA message. Error page to report any errors in CDA message. Generated a good APHP CDA Message.   1-> Ability to Add/Edit/Delete CDA document type and sections programmatically 2->Aphp CDA message includes 9 sections populated answers for this sections from our openmrs data (concepts and observation) 3->CDA document require specific loinc codes and snomed codes. So,Identified and listed all loinc codes ,snomed codes and new concepts we are using in our module. 4->Generated CDA document is fully valid according to MDHT validator code in module and external gazelle validator 5->If CDA Document contains error then it will reported on error page and cda document won’t be generated 6->Generate a good APHP CDA Message is all I can say 
  6. Which part of Project aren’t finished? I need to write few Junit tests and complete wiki documentation .   Need to work with Andy to update MVP CIEL Dictionary with LOINC codes, SNOMED codes and new concepts which our module needs .   I’ll complete this work after soft-pencil down date 11th and would finish before 18th firm pencil down date.
  7. 1->We can Add/Edit/Delete a CDA Documents and Sections Programmatically but not though UI. 2-> Create clients to consume CDAs by hitting a REST Web Service with a patient identifier and cda document type to download their CDA instead of user downloading through administrative tab. 3->We are using gazelle as a external validator in addition to mdht cda validation code in our module. I’m manually using GUI gazelle validator provides to check our cda documents. So, Instead of this we should call gazelle validator via a web service from our module