Write Code. Save Lives.

OpenMRS participated in its 5th year as a mentoring organization for Google Summer of Code™ in 2011. We enjoyed participating in this great program in the last 4 years and were even more excited about the projects and mentors we had 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, and Malaria.

Accepted Students and Mentors

Project

Student

Mentor

Backup Mentor

Results

Enabling SMART Apps in OpenMRS

Passed!

Universal Search Box



Passed!

General Feedback Mechanism



Passed!

Enhance Patient Matching Module Project



Passed!

Enhance Module Maven Archetype

Passed!

Improved Person Attribute Types



Passed!

Update HTMLFormEntry WYSIWYG Editor



Passed!

Metadata Sharing

Passed!

Laboratory Information System Interoperability



Passed!

Human Resources Module



Passed!

Database messages.properties Editor





Passed!

Connect NCD Module to Messaging Module



Passed!

Expanding on Coded Value Sources in obs



Passed!

Localization of Initial Setup and Update Wizards



Passed!

Atlas Module



Passed!

10 Next Steps for Accepted Students

If you have been accepted as a student, congratulations! Please make sure to complete the following tasks as soon as possible. Ask your mentor for help if you need it.

  1. If you don't have one yet, get an OpenMRS ID and create your user profile page. Upload an avatar photo. Make sure you are subscribed to the developer mailing list.
  2. If you haven't read it yet, read the GSoC Student Guide.
  3. Contact your mentor immediately and create a communication plan for now through the time of final evaluations. You should communicate once each week, if not more frequently. Determine the best way to communicate (e-mail, IRC, IM, Skype, telephone, etc.). Post the communication plan in your personal space on the OpenMRS wiki.
  4. Get OpenMRS installed and running. Read Developer Guide, Getting 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.
  5. Get a development environment installed and running.
  6. Review our Conventions page. If you have quesitons about anything you read, contact your mentor or anyone the community.
  7. Set up a blog for GSoC. Send the URL to Unknown User (michael). If you don't have a blog yet, you can create one for free at WordPress.com or Blogger.com.
  8. Browse the current OpenMRS code specific to your project. Browse other GSoC organizations and the pages they have for their students. We want to be the best!
  9. Review the requirements for your project together with your mentor and agree on the final list of requirements with your mentor.
  10. Submit a formal written proposal and project timeline to your mentor. Make sure your mentor agrees with both. Post them in your personal space on the OpenMRS wiki.

I didn't get accepted. Why not?

First of all, thank you to everyone who worked hard on submitting a proposal to OpenMRS. We received many excellent proposals, but unfortunately, it's not possible to accept everyone. If you're interested in being even more competitive next year, read "Being Turned Down" in the GSoC Student Guide (in fact, the entire student guide is useful) and consider the tips it suggests. Also look at our "tips for students" section of this page for more ideas.

Expectations

What we expect of students:

What students should expect of OpenMRS during the summer:

What we expect of mentors:

Program Timeline

We will follow the official Google timeline for the program. In summary:

Project Presentations

Group

1st Presentation

2nd Presentation

A

9 June

28 July

B

23 June

11 August

C

14 July

25 August

Tips for applicants and accepted students

We're happy you're interested in working on OpenMRS during Summer of Code 2011. Here are some tips that we prepared to help your application process be easier and more successful. These are all things you can do today to start getting involved.

Basically: Become an active contributor in our community. The sooner you do this, the more familiar we'll be with your name and your work.

Specifically:

  1. Join our developers mailing list. Read its archive from recent weeks to learn about what's been going on lately in our developer community.
  2. To start, install OpenMRS (just like a user would) and learn a bit about how it works. If you have problems, write the developers mailing list and we'll help you work through them.
  3. Want to get more involved? 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.
  4. Join our Developers Forum every Thursday to learn about the latest activities & work happening in our community. You can participate by telephone, Skype, or even just on IRC.
  5. Interact with our community. Continue to ask smart questions (what?) on our mailing list or hang out on IRC to ask and answer questions about being an OpenMRS developer, or about the potential projects listed above.

You may notice that we refer to "smart questions" several times on this page. When you write to the developers mailing list, hundreds of people will see your message. Because there are many messages sent on the list, it's important to be courteous. That means asking clear questions, as well as trying to limit the number of mails you send. Please read and understand How To Ask Questions The Smart Way before you hit "send"! We want to help you be a successful contributor to OpenMRS, and keeping these tips in mind will help. Thanks!

Potential students should take time to read the GSoC Student Guide.

Helpful Community Resources

Application questions

We asked the following questions on student applications:

  1. Who are you? What are you studying?
  2. Please provide the URL to your OpenMRS ID personal profile page. (If you don't have one yet, please create one.)
  3. Why are you the right person for this task?
  4. Do you have any other commitments we should know about?
  5. List your Java experience.
  6. List your web interface experience.
  7. List any previous experience working with open source projects. (This experience is not a requirement.)
  8. Please provide links to websites created by you and/or source code examples.
  9. Do you have experience with Spring/Hibernate/DWR/HL7/Tomcat/MySQL/AOP? (Experience with any/all is not a requirement.)
  10. What is your preferred method of contact and how should we reach you with it? (phone, email, Skype, IRC, IM, etc.)
  11. If you have visited our IRC channel, please include your IRC nickname in your application.
  12. If you have added any patches to tickets, please include the ticket numbers.

Questions?