For the past 7 weeks I’ve been contributing to OpenMRS as part of GCI 2015.

I first heard about Google Code-in (GCI) in a local news article about the two times consecutive winner Ignacio Rodriguez. The story was very inspiring; so much that I decided to participate myself.


Before the contest started I was researching about all the organizations of GCI. The moment I learned about OpenMRS I knew what I was going to choose. The idea of writing code while saving lives blew my mind. The programming language I was most familiar with was Java so seeing that they used it a lot was also a big plus. It was the perfect choice.

The contest starts and I decide to tackle on the easy tasks first. I introduced myself to the community, fixed some critical issues on OpenMRS sonarqube, made some refactoring to class names, did QA, and some other cool stuff. Now, at this phase of the contest I was focused on getting tasks done quickly; this made me screw up on a task where I had to design an information packet. I thought I could create a nice design but in the rush of getting it done I just justified some texts, changed some colors, and added an OpenMRS logo. You should never have this quantity mentality. This is a good example of what happens.

I knew I had to change so I started thinking about quality. I made an open web app for the OWA module that allows you to search concepts within OpenMRS using the REST services.

https://github.com/Vincentes/openmrs-owa-search-concept

One of the tasks I did next was the Windows Phone task. I was looking at this task for a long time thinking I couldn’t do it but after a few days I decided to give it a try. I wanted an app that worked not just on Windows Phone but on all platforms. After a few days of research I came across the Ionic framework. It was perfect for the job.

https://github.com/Vincentes/OpenMRS-Mobile

I was quite happy with the result. While it meets the task’s requirements I am not finished with it. I’m planning on adding new features and polishing the UI. It has a lot of work to be done.

After this task I started polishing the data import tool’s UI. I thought that a really good way to improve it would be adding translations. I added Italian, Spanish, and Portuguese with international help. I was also planning on adding French but the pull request was closed as some translations were missing.

I then decided to do some tutorial videos. At first I didn’t have a microphone so I had to use my laptop’s built-in microphone but later I was able to acquire one. This is a list of the videos I made.

  1. How to install OpenMRS Enterprise (Ubuntu 14.04)
  2. How to create an OpenMRS Web App for the OWA module
  3. OpenMRS OWA Module Overview
  4. OpenMRS Cómo instalar y usar el módulo de OWA

By the end of GCI I have 15+ tasks completed. In a small amount of time a lot of things have been learned. I’ve learned a lot of AngularJS, Spring, Git, and Ionic. I also learned how open source works by participating in an open source environment. The contest is ending and I am left with a quality mindset.

Thank you OpenMRS!

I discovered an amazing community.