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

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