Wednesday, July 24, 2013

Reporting REST Module – Current Status

                           

                             This document describes the operations that I have implemented and the operations that are to implemented.


  •    In ReportDefinitionResource class, “baseCohort” was added to the representation. In                        ReportDefinitionResource class, “dataSetDefintion” was added to the representation.


  •  In DataSetDefinitionResource class, “columnNames” was added to the representation. In the Design page it only has the “name” attribute under the “columnNames”. But in the DataSetMetaDataConvertor class has 3 attributes as name,lable,dataType under the “columnNames”. So I added lable,dataType in addition to the name attribute under the “columnNames”.

  •  I added a new ReportResource class as in the design page. All necessary methods have overriden in that class.  Special attributes like ContentType, Extension,Contentes were added to the representation.

          GET/ ReportResource
          GET/ ReportResource/uuid were implemented.
          Purge/delete/save operations are not yet implemented.

  • I added a new ReportProcessorResource class as in the design page. I added few special attributes to the representation like ProcessorType, Configuration, ProcessorMode, RunOnSuccess, RunOnError

          GET/reportProcessor
          GET/ reportProcessor /uuid were implemented.
          DELETE operation is not yet implemented.


  •   In ReportRequestResource class

     GET/reportRequest
     GET/ reportRequest?recent=
     Were implemented.  reportDefinition/ isProcessAutomatically/schedule attributes are added to the                   representation.
           POST/ reportRequest should be implemented.

  •  I added a new DataSetRequestResource class as in the design page.

          It now supports
          GET/ DataSetRequest
          DELETE/ DataSetRequest /uuid
          POST/ DataSetRequest
          GET/ DataSetRequest /uuid

          Currently GET/ DataSetRequest /uuid only give the status of the DataSetRequest. It should be                       modified to give the result of the DataSetRequest, if it is COMPLETE.                       

  • I added a new CohortRequestResource class as in the design page.

         It now supports
         GET/ CohortRequest
         DELETE/ CohortRequest /uuid
         POST /CohortRequest
         GET/ CohortRequest /uuid

        Currently GET/ CohortRequest /uuid only give the status of the CohortRequest. It should be modified           to give the result of the DataSetRequest, if it is COMPLETE.           


Friday, July 19, 2013

Getting ready for the Mid

This week I started to working on DataSetRequestResource class CohortRequestResource class. There is no any notion about a DataSetRequest or a CohortRequest in the Reporting Module. So I had to implement these resources with the help of the existing resources. As decided in the conversation with Michael Seaton and Darius Jazayeri, I wrapped Cohort/DataSet definition in a report request and process it as a Report request. 
This week I implemented DELETE DataSetRequest or a CohortRequest,
GET DataSetRequest or a CohortRequest and POST DataSetRequest or a CohortRequest.
But still there is bit more works to do in these classes. 
After finishing these works I am planning to write test cases for my classes, in next week. Some re factoring needs to the code. I hope I will able to fill the javadoc for the classes.
I hope that would be great, if OpenMRS has  some guidelines for the interns to get a idea for them, about how the coding should go. Specially telling whether javadocs are needed for the new code. Or mentioning the need of writing test cases. 

Friday, July 12, 2013

It's 4th week......

It is almost a month, since we are being working as interns in OpenMRS.

This week few interesting things happened. As usual few discussions arranged with Lluis, Mike and Rafal.

I added two new files to the Reporting.rest module. ReportResource and ReportProcessorResource files were added to the module. All the operation were implemented.

Few questions arose because, some proposed Reporting.rest operations are not supported from the reporting API. And some classes like CohortRequest and DataSetRequest are not present in the Reporting module. There are some design  problems regarding this two classes. Mike proposed to discuss this topic in a design call or in dev list.

So in next few days I should try to contact the relating people and try to figure out how we can handle this problem. In the software development life cycle.. which is generally design , development , evolution., I feel it is time to do dome Designing works again...!

Friday, July 5, 2013

3rd week.... Many more to come.....

Third week of the Google Summer Of Code. Things are getting much more interested.
Spent lot of time with the code. Finally I added few new features to the Reporting rest module.
Actually reporting rest module is depend on the reporting module, Webservices.rest and OpenMRS core.

I hope I will get a good understand about the architecture of the OpenMRS after this project.
Actually I should appreciate the contribution of Lluis's and Roger. Roger has many good Designing's in his mind. He always look for the quality of the final product. I think that is essential for a good product.
Next week I have to do many things. I hope to spend the weekend by debugging the code.
I believe that will also help me to be more familiar with writing test cases for the reporting rest.