BIRT Report Module Project Timeline

Project schedule


 

  1. Rendering.
  2. Integrate BIRT and Report modules.
  3. Complete integration of BIRT Runtime Release and BIRT module.
  4. BIRT ODA Plug-ins.
  5. Additional RESTful web services implemented.
  6. Testing.
  7. Documentations.

BLOCKER

DESCRIPTION

 


 

Release Milestones


The BIRT 2.0 Release will follow this milestone schedule. 

  • Apr 23 - Student Acceptance
  • Apr 24 - Community Bonding 
    • Getting Familiar
    • Design / Architecture
  • May 21 - Coding Begins
    • Report Renderer
    • BIRT ODA Plugin (getting familiar, simple dataset integration)
    • Data integration
    • API Integration - BIRT Module + Reporting API
    • Edit existing BIRT Module pages to integrate more tightly with reporting module
  • Jul 13 - Midterm Evaluation
    • Edit existing BIRT Module pages to integrate more tightly with reporting module
      • Allow user to create a new report definition
      • Allow user to edit existing report definition
      • Allow user to delete a report definition (and all dependencies)
      • Allow user to download dataset as sample CSV
      • Allow user to download sample .rptdesign file
      • Allow user to upload a new report design to a report definition
      • Allow user to run a report 
      • Allow user to run a report with parameters
      • Allow user to run a report with a cohort filter (?)
  • Aug 20 - Pencils Down

 
 
Getting Familiar (April, May)


  • Read the documentation
  • Learn and use tools (SCM, Deploy, Testing, etc)
  • Checkout the codes (OpenMRS Trunk, BIRT Report Module, Reporting Module, REST Module, and Webservices.rest Module) and give a look
  • Investigate Eclipse BIRT
  • Investigate bugs, tasks and features related to modules in JIRA (BIRT, REPORT, REST, RESTWS)
  • Continue fixing bugs
  • Bond with the community

Design


  • BIRT 2.0 architecture 
  • Bug fixing

Could you elaborate on this ...

Report Renderer


  • Implement a report renderer that can take a report definition and a BIRT report design file or template and produce rendered outputs in appropriate format. [Completed]

BIRT ODA Plugin 


  • BIRT ODA Plugin

Could you discuss what you worked on here.  There were a lot of blockers (lessons learned).

Data Integration


  • Allow user to design a BIRT report using a CSV data source (local filesystem) (HIGH)
    • Get that working within OpenMRS using a static file on the filesysystem
    • Have the BIRT module write the CSV file to the filesystem and use the BIRT Report Design API to rewrite the data source URL
  • Allow user to design a BIRT report using an XML data source (remote file) and get that working within OpenMRS (HIGH)
    • Get that working within OpenMRS using a simple remote file you can link to any file, anywhere (e.g. REST web service, RSS feed) 
    • Get that working within OpenMRS using a dynamic data file provided by OpenMRS (e.g. an XML file provided by the BIRT module)
    • Install the reportingrest module and make sure you can get a response from one of the REST resources
    • Create a report that uses the reportingrest module to query an evaluated dataset from openmrs
    • BIRT might require authentication in order to access the reportingrest module
  • Allow user to download a sample data set in multiple formats CSV, XML (to be used when designing a report)
    • This will allow users to design reports in BIRT to 
  • Provide tools to facilitate authoring and previewing a report within an external BIRT report designer.
    • Allow passing OpenMRS Report Data into BIRT
    • Use webservices (via REST).
    • Use data source (via JDBC).
    • Convert the report data to text files (XML, CSV).
    • Use our own ODA data source
    • Scripting data sources.

Midterm Evaluation


  • Demonstration and Presentation 

UI and Query Text


  • Rewrite BIRT module pages/controllers/service to use Report Module API (MED)
    • Allow user to List, Edit/Update, Create, Preview and Delete reports with BIRT report designs
      • Create BIRT Content (Completed)
      • Edit Report
        • Include link to download dataset as csv
        • implement downloadDataSet controller class to display details for a report definition including datasets
        • Include link to download report
      • Preview Report
      • Delete Report
      • List Report Definition
  • Improve the query for the modifyReport(...) in the BirtTemplateRenderer class
  • Testing, Demonstration and Progress Report  

Use Reporting Module, Renderers, Enhance or Re-create BIRT ODA Plugin 


  • Allow user to render a report in multiple formats (pdf, doc, xls)
    • Create a BirtTemplateRenderer (abstract class) that handles the render method
    • Create a BirtPdfTemplateRenderer, BirtDocTemplateRenderer (subclasses of BirtTemplateRenderer) 
  • Implement everything including any BIRT library dependencies in a module so that someone who wishes to use the BIRT module does not need to install any additional dependencies.
  • Allow user to design a BIRT report using a simple ODA plugin that takes a URL for an openmrs instance and prompts the user for a dataset definition and cohort definition (MED)
  • Allow user to upload a new report design and create the appropriate objects from that (e.g. ReportDefinition, ReportDesign, etc)
    • We might need to prompt the user for a name
    • User should then be able to edit from within the Report Module pages (eventually we'll provide List, Edit and Delete functionality)

Web Service


  • Modify existing services where necessary
  • Implement new RESTful web services
  • Testing, Demonstration and Progress Report

Comprehensive testing


  • Comprehensive testing
  • Demonstration and Progress Report