Wiki Spaces


Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack


Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Write Code. Save Lives.

OpenMRS is participating as a mentoring organization for Google Summer of Code™ in 2015. We've enjoyed participating in this great program in the last 8 years and are extremely excited about the projects and mentorship opportunities available this year. Coding for OpenMRS is a great way to practice your coding skills and, at the same time, help benefit people in developing countries who are on the front lines of the battle against HIV/AIDS, TB, Malaria, and other public health challenges. For a more detailed history of who were are and what we do, please see here.

titleOn this page ....
Table of Contents
exclude(Personal|Company|Write Code. Save Lives.)
titleCurrent Status

Congratulations GSoC 2015 projects are complete! Stay tuned for final evaluation announcements on 31 August, and join discussions on OpenMRS Talk at:! See below for information about our successful projects.

Program Timeline

We will follow the official Google timeline for the program. Please refer to it for all official dates. In summary:

  • 2 March: List of accepted mentoring organizations published on the Google Summer of Code 2015 site
  • 16-27 March: Student application period
  • 27 April: Accepted student proposals announced on the Google Summer of Code 2015 site
  • 27 April to 24 May: Students get to know mentors, read documentation, get up to speed to begin working on their projects
  • 25 May: Students begin coding for their Google Summer of Code projects
  • 26 June - 3 July: Mentors and students submit mid-term evaluations
  • 17 August: "Pencils down" date
  • 31 August: Final results of Google Summer of Code 2015 announced


Google Summer of Code at OpenMRS

Watch this short video to learn more! 

Widget Connector


Students, Projects, & Mentors

ProjectStudentMentor Backup Mentor Final Result
OpenMRS 2.x SDK
Profile picture
Dmytro Trifonov
Profile picture
Rafal Korytkowski
Profile picture
Robby O'ConnorPassed!
Chart Search for the
Reference Application - Phase 2
Profile picture
Kaweesi Joseph
Profile picture
Daniel Kayiwa
Profile picture
Sri Maurya KummamuruPassed!
Implement the OAuth2 Support
for Web Services APIs
Profile picture
Mayank Sharma
Profile picture
Harsha Kumara
Profile picture
Suranga KasthurirathnePassed!
Support Laboratory Data
Exchange with FHIR
Profile picture
Milan Karunarathne
Profile picture
Judy Gichoya
Profile picture
Harsha KumaraPassed!
Data Import using eSaude
Data Migration Tool
Profile picture
Nyah Check
Profile picture
Valerio Joao
Profile picture
Pascal BrandtPassed!
Integrate Registration Module
with a Master Patient Index
Profile picture
Roman Zayats
Profile picture
Darius Jazayeri
Profile picture
Mike SeatonPassed!
Add Support for
Open Web Apps
Profile picture
Sandeep Raparthi
Profile picture
Namrata Nehete
Profile picture
Saptarshi PurkayasthaPassed!
Consuming FHIR Resources
for OpenMRS
Profile picture
Sashrika Waidyarathna
Profile picture
Suranga Kasthurirathne
Profile picture
Vaibhav AgarwalPassed!
Cohort Module
Profile picture
Sharon Varghese
Profile picture
Maimoona K
Profile picture
Darius JazayeriPassed!
Migration of Legacy UI to the module 
Profile picture
Tharunya Pati
Profile picture
Burke Mamlin 
Profile picture
Wyclif LuyimaPassed!
System Performance and
Utilization Module
Profile picture
Vineet Kumar
Profile picture
Pascal Brandt
Profile picture
Jan FlowersPassed!
OpenMRS ID v2.1
Platform Improvements
Profile picture
Weihua Cheung
Profile picture
Robby O'Connor
Profile picture
Elliott WilliamsPassed!
Client Extensions
Profile picture
Yousef Hamza
Profile picture
Harsha Siriwardena
Profile picture
Burke MamlinPassed!
REST Documentation Generator Project
Profile picture
Zakaria Amine
Profile picture
Wyclif Luyima
Profile picture
Rafal KorytkowskiPassed!

10 Steps for Accepted Students

Please read the acceptance e-mail for specific tasks accepted students should do right away. Generally, after accepted interns are announced, here's what should happen:

  1. Sign in to your email account. Details are in your acceptance email.
  2. Introduce yourself on the GSoC 2015 student introduction page on OpenMRS Talk.
  3. Set up a blog for your work on open source projects, including GSoC. Post the URL on OpenMRS Talk. If you don't have a blog yet, you should create one. You will be required to write a blog post every week about your planning work and project progress during GSoC.
  4. Contact your mentor immediately. Make a plan to communicate with them regularly - at minimum, once each week. Determine the best way to communicate (e-mail, IRC, IM, VoIP, telephone, etc.).  Agree on final requirements with your mentor, and post a formal written proposal including project schedule (timeline) on which you both agree.
  5. Begin attending the weekly Developers Forum to briefly introduce yourself and meet other interns & contributors. Attend as many Developers Forums as your schedule permits.
  6. Spend lots of time in our IRC channel and on OpenMRS Talk with other community members & interns.
  7. If relevant, make sure you have OpenMRS installed and running. (You should have done this already since you were accepted.) Read Developer GuideGetting Started as a Developer, and ask others in the community if you have questions. If you ask questions the smart way, you'll get better responses.
  8. Make sure your development environment is installed and running, and optimized for maximum efficiency. Review our Conventions page.
  9. Review any JIRA issues related to your project and work on some initial bugs or feature development, or work on some general OpenMRS bugs. Ask your mentor for guidance. (This doesn't mean begin your project!)
  10. Browse the current OpenMRS code specific to your project and review the requirements for your project together with your mentor.

Expectations of Students & Mentors

What we expect of students:

  • Become familiar with OpenMRS and your project before the start date.
  • Complete a short required "progress report" each week so we can make sure things are on track and there are no problems with your project.
  • Write at least one blog post every week to help stay on schedule and to share your work publicly.
  • Commit early. Commit often. This is an important value in our open source community - read why.
  • Prepare a mid-term project presentation video about your project's status, progress, and any questions you have for the community.
  • You are now part of our developer community. We want you to feel like part of the team, so we hope you will:

What students should expect of OpenMRS during the summer:

  • You will have fun!
  • You will learn how to work within an open source project – one that's helping people save lives around the world.
  • You will have dedicated time (4-5 hours each week) with an experienced OpenMRS mentor, and will have a backup mentor for questions or problems.
  • If you ask a question the smart way, our community will do its best to help you.
  • The Summer of Code program leaders (both at OpenMRS and Google) will be available if any problems arise between students and mentors.

What we expect of mentors:

  • Help your student be successful. Commit to spending a minimum of 4-5 hours each week with your student answering questions, giving advice, working together, and evaluating his or her progress.
  • Complete a short "progress report" each week to help stay on schedule and catch potential problems early.
  • Read the GSoC Mentoring Manual and ask questions if you have them.
  • Reach out to the Summer of Code project leaders if you have questions or concerns.
  • Have fun and work hard! The highest-performing mentors will get an expenses-paid trip to Google's headquarters in October to geek out with fellow mentors from other open source projects.

Helpful OpenMRS Community Resources

  • Join OpenMRS Talk and sign in regularly to keep track of activities in the OpenMRS Community.
  • If possible, join the Developers Forum (Inactive) every Thursday. You can participate by telephone, VoIP, or even just on IRC.
  • We use JIRA as a tool for issue tracking and project management.
  • Tips for using e-mail:
    • If you have a highly specific question, contact your mentor.
    • Technical discussions, ideas, and requests for feedback should be sent to the entire community on the developers mailing list.
  • IRC discussions in the #OpenMRS channel of Freenode are always fun! Useful for shorter discussions or for large group discussions.
  • Use the OpenMRS wiki often:
    • Be sure to make a user profile page.
    • Every project should have a OpenMRS wiki page where you document your project, progress, technical details, show mock ups, etc.
  • Google Docs — an excellent tool for sharing and collaborating in real time on documents or spreadsheets, when the wiki is not appropriate.
  • Scheduling tools:
    • — to clarify/coordinate times around the world
    • Doodle — to coordinate meeting times for larger groups

Our Technology At-A-Glance

The OpenMRS project is architecture is quite extensive, and incorporates a number of different components, programming languages and frameworks. As an GSoC student, you may be required to work on one or many of these components. Each project is different – consult the mentor and project documentation for details. The OpenMRS Developers Guide covers some of our software's technical architecture in more detail.

Some of the core skills you might be able to use in our projects this year include:

  • Java
  • The Spring Framework
  • The Hibernate Framework
  • JavaScript
  • JQuery
  • Node.js
  • More to come ....

9 Steps Toward Becoming a Successful Applicant

We're happy you were interested in working with OpenMRS during Summer of Code 2015. Here are some tips that we prepared to help your application process be easier and more successful. These are all things you should have begun early to start getting involved.


Get started as a developer in our community right away. The sooner you do this, the more familiar we'll be with your name and with your work. (smile)

Specifically, the 9 steps to do:

  1. First, read the GSoC Student Guide to get familiar with Google Summer of Code.
  2. Create an OpenMRS ID and a personal space on your wiki and tell us about yourself. Here's a great personal wiki page from a MediaWiki student you might want to use as a guide.
  3. Sign in to OpenMRS Talk and introduce yourself to the community in the "Welcome - please introduce yourself!" topic. Check out the GSoC category there for questions and updates.
  4. Join our developers mailing list to keep track of what's going on in our development community. To help control the volume of email our developers received, do not introduce yourself or ask questions about a GSoC project on this mailing list without first contacting its mentor (listed here) directly.
  5. Join our IRC channel and introduce yourself – meet some other community members and tell us about yourself and why OpenMRS is interesting to you. Spend lots of time in IRC getting to know us.
  6. To start, install OpenMRS (just like a user would) and learn a bit about how it works. If you have problems, write to the developers mailing list and we'll help you work through them.
  7. Set up your development environment and fix some simple bugs listed on our Introductory Tickets list. Read Getting Started as a Developer for details on how to do this. This demonstrates that you are self-motivated, makes you familiar to the developer team, and gives you a taste of the development process. Keep track of the issue numbers that you work on. We'll ask you for them in your application.
  8. Join our Developers Forum (Inactive) every Thursday to learn about the latest activities & work happening in our community or join an OpenMRS University call every Wednesday. You can participate by telephone or using your web browser.
  9. Interact with our community. Continue to ask smart questions (what?) on our mailing list or hang out on IRC to ask and answer questions.

When preparing your application, also remember to:

  1. Use the title of the project idea for which you are applying as the title of your application. If you are submitting an application to work on the "Add whirlygigs to OpenMRS" project, then make the title of your application "Add whirlygigs to OpenMRS".
  2. Submit a thoughtful application. Simply regurgitating documentation from the wiki will not impress us. Rather, show that you've thought about the project and provide some ideas on how you would approach the solution. You can ask other people in the community for ideas in advance. The best applications not only refer to one of the GSoC projects, but also demonstrate you have thought about the project by providing a description of how you think you might approach the project, including a rough timeline of the steps involved.

Widget Connector

Application Requirements & Questions

You should have communicated in advance with the potential mentors listed above to prepare one or more project proposals. This proposal must describe in detail how you would plan to approach the project, and must include goals and a draft timeline. In addition to the project proposal, you needed to respond to the following questions:

  1. Who are you? What are you studying?
  2. Why are you the right person for this task?
  3. Describe in detail your software development experience by various technologies. Include all technologies you have used for development projects.
  4. List any previous experience working with open source projects other than OpenMRS. (This experience is not a requirement.)
  5. Provide links to any websites or applications created by you, or other source code examples.
  6. Please provide the URL to your wiki personal space. (If you don't have one yet, please create one.)
  7. You must have made at least one coding contribution to OpenMRS BEFORE submitting your proposal. Please include in your proposal all relevant issue numbers, pull requests, commit links, etc. for these contributions. If you don't include this information, your proposal will not be reviewed. It's not necessary for your pull requests need to be merged. We just want to see that you've made some effort to learn the basics about OpenMRS.
  8. Describe your interactions with our community so far. Include dates of developer forums you have attended, and include any IRC nicknames used when visiting our channel previously.
  9. What is your preferred method of contact and how should we reach you with it? (phone, email, IRC, IM, etc.)
  10. Do you have any other commitments during the program? (Include any and all holidays, vacations, travel, exams, classes, research projects, other work, job offers, etc.)

Widget Connector

Have Additional Questions?