Sunday, September 22, 2013

Wrapping up all the work

As reaching the hard deadline of the pencil down day, I have clear up the code and, write tests and finished writing the documents. As requested by the Lluis previously i have created separate pull requested for my Reporting.REST module works.

I have created separate branches for each pull requested.


Repository for the Pentaho data integration for the OpenMRS https://github.com/sashrika/openmrs-contrib-reportingpdiplugin.

pull request for the PDI plugin https://github.com/djazayeri/openmrs-contrib-reportingpdiplugin/pull/1

Additional documents 


project page for the Reporting.REST module https://wiki.openmrs.org/display/projects/Reporting+REST+web+services+Enhancements+-+Project+Plan

Documentation on Reporting.REST  : https://wiki.openmrs.org/display/~sashrika/Reporting.REST+enhancements

Design page for the PDI plugin https://wiki.openmrs.org/display/~sashrika/Pentaho+Data+Integration+for+OpenMRS+project+page

User manual for the PDI plugin :
https://wiki.openmrs.org/display/~sashrika/PDI+plugin+for+OpenMRS+-+User+Manual

You Tube Video for PDI plugin

You Tube Video for Reporting.REST web services
http://www.youtube.com/watch?v=vUNcBO14c0s

Sunday, September 15, 2013

Finishing PDI plugin

As mentioned in the Proposal page, I finished works in the PDI plugin.

Now it can pull data from OpenMRS server via it Reporting.REST web services.
The PDI plugin now can get EvaluatedReportDefinition data, EvaluatedCohortDefinition data and EvaluatedDataSetDefinition data to the Pentaho Spoon. It is working like a Input step.

You can also give parameters for the execution.

Guidelines for use Pentaho Data Integration plugin


  • Buid the Project using maven
  • Go to the project folder in your machine
  • In "openmrs-contrib-reportingpdiplugin\target\classes" there will be a plugin.xml file and openmrs_logo_tiny.png file. Copy both files to a seperate folder.
  • Go to "openmrs-contrib-reportingpdiplugin\target" there will be a openmrs-contrib-reportingpdiplugin-1.0-SNAPSHOT.jar. Copy that file to the previous folder.
  • Go to Pentaho installation folder. go to "design-tools\data-integration\plugins\steps folder" in the installation folder.
  • past your folder to that location.
  • Restart spoon.
  • click File->new transformation
  • In the transformation window click "input"
  • "OpenMRS lookup" step will be shown in the list.
  • Drag and drop that icon to the workspace.



  • Double click on the icon
  • A diolog box will be opened.
  • set server url,password and username.

  • if you want to get the evaluated data of a report definition, put the uuid of the report definition in the ReportDefinition text area.

  • if you want to get the evaluated data of a cohort definition, put the uuid of the cohort definition in the CohortDefinition text area.

  • if you want to get the evaluated data of a DataSet definition, put the uuid of the DataSet definition in the DataSetDefinition text area.

  • if you want to get the evaluated data of a DataSet definition along with a Cohort Definition, put the uuid of the DataSet definition in the DataSetDefinition text area, and put the uuid of the Cohort Definition in the CohortDefinition text area.

  • If any definition require parameters, give the parameters in the Parameter text area.
          Eg:-
          minAge=10;maxAge=31

  • parameters should separate by a ";". you should use the "name" of the parameter. not the "label" of that parameter.



  • Then you can perform any transformation to the OpenMRS data which is given by the OpenMRS step plugin.







Sunday, September 8, 2013

Finishing minor works in the Reporting.REST

I realized that I need to finish the EvaluatedReportResource in Reporting.REST module. We need to pull Evaluated Report data in tabular format for do transformations in the Pentaho Data Integration. 
So I completed the EvaluatedReportResource  and also the Report/Cohort/DataSet Requests classes. 


Data Sets are shown independently. 
I added search queried like

GET q={definitionName}
GET user={requestBy}
GET recent={hours}



in Request Resources. This Week I hope to finish the major parts in the pentaho project.