Each month, we highlight one of the contributors in the OpenMRS community, giving you the opportunity to learn more about the people involved in the project. This month, we’re featuring Roger Friedman, a long-time contributor to the project from the United States. OpenMRS community manager Michael Downey had a chat with Roger to talk about his experiences, and the interview is below. More information about the Contributor of the Month program is available on the OpenMRS wiki. We welcome your feedback about the program and your nominations of fellow contributors!
MD: Hi Roger. Congratulations on being our February 2013 contributor of the month. You’ve been involved in the project for several years, but for the benefit of those who don’t know you, tell us a little about yourself, and how you first heard about OpenMRS.
RF: I was born in Washington, DC. My father was an electronic engineer on some of the first computers built after World War II. I learned programming from going into work with him during the summer starting when I was 13. I got my BS in Applied Math from Brown University in Providence, RI. I have lived in Atlanta since 1970. I’ve been married 24 years and have a 21 year old son who’s in college.
I first learned about OpenMRS when I began working as a contractor in the Global AIDS Program (GAP) of the US Centers for Disease Control (CDC) about 6 years ago. GAP has been involved with OpenMRS virtually from the beginning. Because of my technical background, one of my responsibilities was to follow developments at OpenMRS and bring forward issues relating to HIV/AIDS treatment and monitoring.
MD: Tell us about some of your contributions to OpenMRS over the years.
RF: I have worked on modules for Human Resources and Laboratory, both of which became Google Summer of Code projects. The Laboratory module is being developed in conjunction with the Raxa project in India. The Raxa project is making extensive use of REST web services, so I have contributed code and design to that module. I worked on the vocabulary for the HL7 transfer message on which the HIV module developed by WHO was based. I worked on two implementations of OpenMRS, an HIV system in Panama and a TB system in the Dominican Republic. I worked on the definition of the SDMX standard for exchanging aggregate health data, which is the basis for exchanging data between OpenMRS and DHIS2. I frequently contribute to design discussions and meetings and it has been my pleasure to attend 4 implementers meetings over the years.
MD: That’s quite an impressive list. What kind of challenges have you faced as you took on some of those tasks?
RF: Personally, the greatest challenge has been the technology. I came to OpenMRS from a VB/.NET background and have had to learn all the J2EE tools and patterns on my own. I still don’t consider myself very competent. The open source philosophy that code is king means that I have to struggle to keep up.
MD: That may be true for open source projects generally, but I’m guessing you’ve found a lot of value in the health care aspects of contributing to OpenMRS.
RF: That’s right. The biggest benefit is the ability to work with others and make an impact on public health in developing countries. There are some really top notch developers working on OpenMRS and I’ve learned a lot from them. At the same time, there is a wealth of experience with the representation of medical knowledge and with health care delivery in developing countries.
MD: When you started working at the CDC, your work involved OpenMRS. Is there still a connection between your “day job” and the project today?
RF: Yes, I’m lucky enough to get paid to work on OpenMRS. My work involves the more systemic aspects of public health, such as the monitoring and evaluation of health programs, measuring and controlling the spread of disease, enabling the management of health facilities to improve service quality and reduce cost, and fostering a culture of organized gathering of information for decision-making. My method for doing this involves supporting service delivery in a patient-centric manner at the facility level and extracting useful information from the service delivery system for use in these other applications.
MD: What are you doing with OpenMRS these days? What projects or initiatives do you find particularly interesting or exciting? Are there other types of projects you’d like to work on within OpenMRS if you had the right chance?
RF: I’m trying to learn more about OpenMRS reporting tools, and trying to figure out why it’s such a problem for me to learn! I’m interested in “more out of the box” and “flattening the learning curve” activities. I have always been interested in development practices, so I am interested in seeing how continuous integration works. I dislike the agile methodology and would like to see more problem definition and analysis in the process. Personally, I’d love to attend a boot camp or mentee opportunity to get my skills up.
As it grows, I think OpenMRS faces some strategic issues: updating the UI for point-of-service data entry, integrating single-facility systems into networks of systems with shared resources, replacing the permissions system with something that allows greater compartmentalization and HIPPA compliance, supporting a wider range of clinical services and diagnostic techniques out of the box, and creating systematic deployment strategies that would give decision-makers confidence that particular objectives could be achieved with a particular combination of time and resources.
MD: What advice would you give people new to OpenMRS who are interested in contributing?
RF: Remember that you don’t have to be a programmer to contribute to OpenMRS. You can contribute to translation, documentation, design, testing and feature prioritization. Blog your learning experience, we really benefit from it–you can only do something for the first time once!
When you go to the doctor, keep your eyes open as to what is going on. Accompany relatives or friends when they need to go to the clinic or hospital. Find a nurse or doctor or medical student with whom you can discuss their work. Watch where and how information is generated and used. Look at the websites of the facility and of your local public health agency. Read and study health informatics.
Learn the community tools–the mailing lists, the wiki, the IRC channel, JIRA tickets, and weekly meetings. Read about concepts and the data model in the wiki. Use the demo system, look at the global properties. See if you can find ways to make the demo system correspond to your experience at the local clinic. Look at XForms and see if you can create one.
If you’re a developer, get to know the basic technologies–Spring MVC, SQL, Hibernate, Eclipse or IntelliJ IDEA, Maven, Git, HTML, JavaScript, jQuery. Don’t dive too deep, you’ll get plenty of opportunity to extend your knowledge. Get your development environment up and running. Set a breakpoint in the API where some object is being saved, then single-step through the whole process. Build “your first module” using the Maven archetype. Try to add a feature using test-driven development. Learn the work process for claiming a ticket, working the ticket, and getting a code review.
Ask for help often, but in a way that respects others’ time. Make an effort to solve it yourself, state what you’re having a problem with and what you’ve tried, ask for suggestions of what to look at, and do the work yourself as much as possible. Don’t be afraid of appearing ignorant. We all rely on the help of others which we repay by helping others when we can!
MD: Those are some really great tips and I have a feeling that they’ll be quite useful for newcomers. Thanks again for your time, Roger. I think we can all learn a lot from your experiences and I’m glad you took some time to share some of them today.
Congratulations to Roger Friedman, our February 2013 Contributor of the Month!
[embedplusvideo height=”281″ width=”450″ standard=”http://www.youtube.com/v/MEpyHOc0Cz0?fs=1″ vars=”ytid=MEpyHOc0Cz0&width=450&height=281&start=&stop=&rs=w&hd=0&autoplay=0&react=0&chapters=¬es=” id=”ep2009″ /]
I always appreciate Roger’s contributions to the OpenMRS community. Go Roger!
Congratulations, Roger!!! We’re thankful for all your contributions!
Congratz Roger!
Roger Dodger ftw!