Friday, May 30, 2014

GSoC Week 2: Designing database schema for store module data

In this week i had the weekly call with Pascal as usual. As discussed in that, i was mainly working on designing the database schemas for the new module data to be stored. As the first steps i have come up with the following schema for the new tables that will be used in storing system indicators as used memory, heap memory, free memory etc. Since it is bad practice to define a separate table to each indicator and as it is hard to scale that with time the following design is agreed. We first store metic_name with an id called  metric_id in seperate table for all metics. Then another table is used to store real data values against metirc name and id as below.

Metircs Types Table
[ metric_id, time_stamp, metric_value ]

Metic Values Table

[ metric_id, metric_name, metric_type ]

I am now going to follow this way and create the first set of tables and try to store memory data here.

In addition we discussed on handling historical data. As we can't store previous data forever since database is growing, we are going to have a periodical call to calculate the aggregate value of each metric and it will be moved to a seperate table.

I also sent a request to add my new module into OpenMRS reporsitory this week.


Friday, May 23, 2014

Beginning coding with GSoC - Adding a new module

This week started the coding for Google Summer of Code project. As the first task i started writing the new module structure using maven archetype document reference in [1]. Also i discussed with my mentors Pascal and Jan through mail about the first set of indicators to implement and how to do that. Since this is the first week i still didn't start coding for the indicators but focused on creating the now module and adding it to github. As agreed by three of us the new module will be named as openmrs-module-metrics. 

Below are few snapshots from the module home page. I will be adding this to github soon and will be starting the coding from next week as planned.


 [Module Link from OpenMRS Home]




                                                [Module Home Page]

[1] https://wiki.openmrs.org/display/docs/Creating+Your+First+Module

Sunday, May 18, 2014

Community Bonding Period of GSoC

During the community bonding period, i had two calls with my mentors Pascal and Jan. In first one we introduced ourselves and discussed about project requirements. As per my mentors guidance, i created a google doc where we will be discussing and adding project requirements and added it into OpenMRS wiki here.

GSoC Project Requirements:

https://wiki.openmrs.org/display/projects/System+Performance+and+Utilization+Module+Requirements

In the second week we identified few main indicators that needed to be searched and tried to implement as first phase and my mentor, pascal requested me to find out how that data can be captured and presented therefore i spent the week on them. Also learnt on how to write a new OpenMRS module as below since it will be my first task to get started with project.

How t write a new module:

https://wiki.openmrs.org/display/docs/Creating+Your+First+Module

Wednesday, May 7, 2014

Beginning GSoC 2014 with OpenMRS


It was a wonderful news that after months of hard work i have been selected to Google Summer of Code with OpenMRS. This is my first time in the GSoC. Here is a short description about my project as it will be a help for you to understand that how it works in OpenMRS.

My project is to develop a system performance and utilization module [1]. It's a new OpenMRS module which can supply information on system performance and utilization in order to monitor reliability and impact of the electronic medical record system installation.This module can be used to monitor OpenMRS and transfer specific system indications.

So far, I have already started creating mock GUI's and now I'm going to start the cording part from mid of this month.I have already fixed some bugs in the code earlier. Last week I addressed the GSoC 2014 developer forum to introduce myself to others.

In this week I started the project discussion with my primary mentor Pascal Brandt and backup mentor Jan Flower. We agreed to have this conversation on every week. I hope it will be a good help for make my way to success.
                                  
Finally i would like to make a note here that  I consider working with OpenMRS community is a big merit for me.