3. Introductions
● Who are you? What is your involvement with OpenMRS?
● Why are you here?
● How are you doing reporting and analysis within OpenMRS today?
● What is your goal for this session? What would make this successful for you?
5. Getting Data Out: Use Cases
Period Indicator Reports
Monthly, quarterly, semi-annual, annual reports, typically containing metrics and indicators on program or other data
Aggregate
Database /
DHIS2
6. Getting Data Out: Use Cases
Data Exports
Get out all of the data that you put in, optionally filtered or formatted in certain ways. Support further analysis in tools like
Excel, SAS, Stata, to populate data warehouses, or direct usage.
7. Getting Data Out: Use Cases
Ad-hoc queries and analysis
Able to quickly find patients and data of interest
(cohort analysis, MEQ, clinical follow-up, etc),
and to obtain quick answers to questions about
data in the system
8. Getting Data Out: Use Cases
Formatted reports, interactive dashboards, printable patient summaries, etc.
9. Getting Data Out: Use Cases
What other problems are you trying
to solve?
11. An overview of reporting tools in OpenMRS
Plain old SQL
Direct SQL plays a role in almost all of the reporting solutions to date. The most fundamental of which is simply bypassing
the OpenMRS application itself and going straight in through a tool with an ODBC / JDBC connection.
Pros:
● SQL skills are common
● No application changes necessary
● Able to optimize for speed
Cons:
● Requires knowledge of database schema
● Many “gotchas”, around voided data, etc
● Scripts may not work as expected across versions
● Can get very messy for complicated queries
12. An overview of reporting tools in OpenMRS
Plain old SQL
Direct SQL plays a role in almost all of the reporting solutions to date. The most fundamental of which is simply bypassing
the OpenMRS application itself and going straight in through a tool with an ODBC / JDBC connection.
DEMONSTRATIONS
13. Reporting Compatibility Module (Cohort Builder and Data Export tool)
https://wiki.openmrs.org/display/docs/ReportingCompatibility+Module
Originally part of core OpenMRS application, later moved into a module, this has long been deprecated in favor of a vision
for improved tools that leverage the reporting module API, but these have yet to fully develop. Still a go-to tool for many
OpenMRS implementations
Pros:
● Easy to use, no programming required
● Good for quickly finding patients of interest
● No equivalent replacement tool
Cons:
● Limited support; deprecated
● Not easily extensible
● Cannot parameterize saved queries
An overview of reporting tools in OpenMRS
14. Reporting Compatibility Module (Cohort Builder and Data Export tool)
https://wiki.openmrs.org/display/docs/ReportingCompatibility+Module
Originally part of core OpenMRS application, later moved into a module, this has long been deprecated in favor of a vision
for improved tools that leverage the reporting module API, but these have yet to fully develop. Still a go-to tool for many
OpenMRS implementations
An overview of reporting tools in OpenMRS
DEMONSTRATIONS
15. BIRT Report Module
https://wiki.openmrs.org/display/docs/BIRT+Report+Module+Installation+Guide
This module represented our initial capabilities for integrating with a 3rd party engine to produce nicely formatted reports.
Though still used by a number of implementations, this module has had no active developer support for many years.
Potential future support may exist as an extension to reporting module (https://issues.openmrs.org/browse/REPORT-251)
Pros:
● Leverage full power of BIRT reporting engine
● Produce nice reports in various formats (eg. PDF)
Cons:
● Requires installation of BIRT runtime on server
● Most reports embed SQL into report design
● No longer supported by anyone
An overview of reporting tools in OpenMRS
16. BIRT Report Module
https://wiki.openmrs.org/display/docs/BIRT+Report+Module+Installation+Guide
This module represented our initial capabilities for integrating with a 3rd party engine to produce nicely formatted reports.
Though still used by a number of implementations, this module has had no active developer support for many years.
Potential future support may exist as an extension to reporting module (https://issues.openmrs.org/browse/REPORT-251)
An overview of reporting tools in OpenMRS
DEMONSTRATIONS??
17. Jasper Reports Module
https://wiki.openmrs.org/display/docs/Jasper+Report+Module
Built and maintained by the team behind the OpenHMIS distribution (http://openhmisafrica.org), this module enables nicely-
formatted reports to be produced via the Jasper reports engine, and is used by OpenHMIS for reporting within their
inventory and cashier modules.
Pros:
● Leverage full power of Jasper reporting engine
● Produce nice reports in various formats (eg. PDF)
Cons:
● Most reports embed SQL into report design
An overview of reporting tools in OpenMRS
18. Jasper Reports Module
https://wiki.openmrs.org/display/docs/Jasper+Report+Module
Built and maintained by the team behind the OpenHMIS distribution (http://openhmisafrica.org), this module enables nicely-
formatted reports to be produced via the Jasper reports engine, and is used by OpenHMIS for reporting within their
inventory and cashier modules.
An overview of reporting tools in OpenMRS
DEMONSTRATIONS
ANYONE FROM OpenHMIS?
19. DHIS Report Module
https://wiki.openmrs.org/display/docs/DHIS+Report+Module+-+SHR+Customized+Version
This module aims to enable the extraction of indicator data from OpenMRS to DHIS2. Although currently limited to
supporting direct SQL for each data element, future plans are to broaden the ability to link data elements to calcualtions in
the reporting module: ( https://wiki.openmrs.org/display/~sandeepraparthi/DHISreport+Module+2.0+-+Integration+with+Reporting+Module )
Pros:
● Easy to understand
● Allows implementers to integrate with DHIS2
Cons:
● Reliance on only SQL has limitations and can lead to
errors
An overview of reporting tools in OpenMRS
20. DHIS Report Module
https://wiki.openmrs.org/display/docs/DHIS+Report+Module+-+SHR+Customized+Version
This module aims to enable the extraction of indicator data from OpenMRS to DHIS2. Although currently limited to
supporting direct SQL for each data element, future plans are to broaden the ability to link data elements to calcualtions in
the reporting module: ( https://wiki.openmrs.org/display/~sandeepraparthi/DHISreport+Module+2.0+-+Integration+with+Reporting+Module )
An overview of reporting tools in OpenMRS
DEMONSTRATIONS
Maurya
21. Bahmni Reporting
https://bahmni.atlassian.net/wiki/display/BAH/Reports
Bahmni utilizes Jasper Reports, Dynamic Reports (http://www.dynamicreports.org/), and SQL scripts for it’s reporting
Pros:
● Implementations can add their own custom reports
● Direct SQL scripts can lead to improved performance
● Use of Jasper reports enables formatted output
Cons:
● Focused on reports and exports, not ad hoc analysis?
● Reliance on SQL scripting by implementations?
An overview of reporting tools in OpenMRS
23. Reporting and Reporting REST Module
● https://wiki.openmrs.org/display/docs/Reporting+Module
● https://wiki.openmrs.org/display/docs/Reporting+REST+Web+Services
The core reporting framework supported and maintained by the community, these modules are distributed with the
OpenMRS 2.x release line and is the intended platform upon which future reporting and analysis tools can be designed.
Pros:
● Actively developed and supported by community
● Designed for extensibility and reusability
● Intended for a broader set of use cases than
formatted reports (exports, cohort analysis, etc)
Cons:
● Is not as focused as other modules - lots to learn
● User-facing tool development has lagged behind API
● Documentation needs improvement
An overview of reporting tools in OpenMRS
24. Reporting and Reporting REST Module
● https://wiki.openmrs.org/display/docs/Reporting+Module
● https://wiki.openmrs.org/display/docs/Reporting+REST+Web+Services
The core reporting framework supported and maintained by the community, these modules are distributed with the
OpenMRS 2.x release line and is the intended platform upon which future reporting and analysis tools can be designed.
An overview of reporting tools in OpenMRS
DEMONSTRATIONS
25. Reporting UI Module
https://wiki.openmrs.org/display/docs/Reporting+UI+Module
User interface tools, built within the OpenMRS 2.x Application, and leveraging the reporting module and reporting REST
web services. This is where recent efforts towards building a replacement to the Cohort Builder has happened.
An overview of reporting tools in OpenMRS
27. The Future
● Improved analysis tools (cohort builder, ad hoc query tool)
● Improved report authoring tools (xml reports, domain query language?)
● Data Warehouses / Materialized views
● OHDSI (Odyssey) integration - http://www.ohdsi.org/
● Big Data
● Your ideas and wishlist?
28. Deeper dive into the reporting module
https://github.com/mseaton/openmrs-module-reportingdemo
● Set-up reports automatically in your module / distribution
● Define libraries of reusable queries, calculations, indicators, and other reporting elements
● Create custom report outputs, render reports to various formats
● Configure reports to automatically run on a scheduled basis
● And so much more!
Deeper dive into the other reporting solutions presented here today
● Based on interest and availability of presenters, can dive deeper into hands-on training on other tools
Hands-on Session(s)