GSoC Week 10(July 21-July 27)

Hi everyone,

I started this week my completing RegisterPatient Fuctionality of the module and solving a bug because of which location for a particular session was not being stored correctly. Now the tasks remaining for the project completion is improving the UI. I focused on improving the initial responsiveness of heavy pages, therefore I am defering(i.e loading them after the initial content has been displayed) Javascript files(those that are not needed for the initial content). Rest of the week i worked mainly on the style guide of the module.

GSoC Week 9(13th-20th July)

This week I had two tasks – to implement the functionality of registrationApp module and the other thing was to figure out a way to reduce the size of large JS files which are used in various pages such as FindPatient Page and PatientDashboard  page. I was thinking along the lines of minifying those JS files and compressing them to reduce the data that has to be transferred over the server as almost all web browsers today support compression and decompression of files. I also had a discussion over the mailing list regarding this topics where I got valued inputs for Darius, Burke and Lluis. While i got to know from Burke that OpenMRS already has GZiP turned on, so all files between the server and the browser are automatically compressed and decompressed. So the size of the pages would already be reduced to some extent.

Now the next step in making this module more light weight would be to focus on the initial responsiveness of specific high value pages( an advice given by Darius).

Meanwhile, I also completed the above mentioned task of implementing RegistrationApp module. 

Now from the next week onwards I’ll start with the style guide of the module, while continuing my efforts to find out ways to reduce size of large JS files.

I am adding screenshots of various pages.

Login Index Find_patient RegisterPatient Dashboard


GSoC Week 8

This week I continued with adding apps on the home page of the module and implementing their respective functionalities.  The apps have the same functionality as the ones in the coreapps module. The issue now is to decrease page size. These pages currently use a lot of javascript. They involve downloading large library files of JQuery. The options  I see now are to minify all other javascript files. However this would not reduce the page sizes a lot. 

The other thing I wanted to try out in the coming week is to try if it is possible to send compressed versions of these files (and whether or not it is a good option), as if it is, it would help in reducing the page size by almost 80%. 

In the next week, I also have to add functionality of registrationApp module in the Lite module itself as currently it uses registrationApp module for registering patient.

My latest commits can be found here

Week 7

Hi everyone, this week I had to start configuring apps on the home page of the module. The apps I had to configure were to have the same functionality as the Registration App and CoreApps module. The only difference was that the size of the pages should be much smaller than currently used in these apps. The way I saw it I had two options:

1. The first one was to use two extra modules corresponding to Registertration App module and coreapps module with the only difference being the amount of Javascript and css used in the page views. I modified the page views of these modules to see what can be the minimum size of the pages while achieving the required functionality. I tried doing that and these are the screenshots



The above screenshot shows the register patient App page with a size of 20KBs only.


2. The first approach while easy to implement doesnt look quite right. Making new versions of coreapps module and registerpatient app module and making the light module depend on them is not necessary when the same thing can be achieved via a single module. So I moved to this approach which tries to combine the functionality of coreapps module, registration module and of course reference application. I successfully had written the code for Find patient App and in the coming two week will try to implement the functionality of all the apps. The Image of the home page shows two Find Patient App, one of them is the one that is dependent on the coreapps  module and the other one which is a part of the Lite module.