Cohorts as a Pentaho Reporting Data Source
Pentaho Reporting Community Edition (CE) includes the Pentaho Report Designer, Pentaho Reporting Engine, Pentaho Reporting SDK and the common reporting libraries shared with the entire Pentaho BI Platform. This suite of open-source reporting tools allows you to create relational and analytical reports from a wide range of data-sources and output types including: PDF, Excel, HTML, Text, Rich-Text-File and XML and CSV outputs of your data. The OpenFormula/Excel-formula expressions help you to create more dynamic reports exactly the way you want them. The open architecture and powerful API and extension points makes Pentaho Reporting a prime candidate for integration with OpenMRS.
Cohorts in OpenMRS are the building blocks of an Indicator Report. A cohort is a group of people who meet a certain condition or conditions. When one creates a Cohort Query, such as “number of pediatric patients on ARVs”, the result is a list of patients who meet those criteria (pediatric and on ARV). You can find more information on cohort queries, indicator reports and such here.
The first development effort of interest is to develop a native data source provider for OpenMRS cohort queries inside of Pentaho Report Designer. This would give any implementer familiar with the Pentaho toolset the ability to access OpenMRS cohort queries directly within Pentaho Report Designer and layout pixel perfect reports simply within the design tool.
A second phase to this project could be the development of a Pentaho Reporting OpenMRS module (similar to the BIRT or JasperReports OpenMRS module) that harnesses the Pentaho Reportinng SDK and allows report generation directly from the OpenMRS system.
Implement cohort queries as a datasource provider by extending the Pentaho Reporting datasource APIs.
Expose the new cohort datasource provider to the Pentaho Report Designer as a datasource selection option.
Add the cohort datasource provider to the Pentaho BI Server to enable the execution of cohort sourced reports in the server.
Pentaho Reporting SDK Java development
OpenMRS Reporting Module API development