Let's get started?
It was around 22:30 Hrs (UTC +5:30), on the night of 4th May 2020, I had just had my dinner and went back to my room. There was an hour left for something that had kept me waiting and waiting for more than a month. It was the time when the Google Summer of Code results would be announced, sharp at 23:30 Hrs . I lay on my bed pondering, “what should I do for the next 60 minutes?”.
After a while of skimming through possible ideas, I figured out I was too nervous to do anything. So, I just decided to stay in that position and think of the entire process I had followed to get to this point, being patient while starting to contribute to open source even though most of the things went over my head, being courageous enough to not leave it in between, and finally to be able to press the “Submit Proposal” button on the dashboard.
I was going through mixed feelings, what would happen if I don’t get in, what would I do if I did and how would the next few months look like. I tried to not get too carried away by all this but I couldn’t really stop myself, for I had definitely put in a great amount of effort and I felt I had a great chance as well. I finally agreed to take this as a part of the experience and rejoice it while it lasted…something I’ve learnt the hard way!
So, after managing to get to 23:15 Hrs, I stood up, had some water to relax myself, made a glass of mango shake which happens to be my favourite summer drink. So, it’s finally 23:25 Hrs and I opened my laptop, staring at the projects page and my mind ticking like a clock, counting every second that passed by.
Google, being very punctual with the timeline, announced the results at sharp 23:30 Hrs. I refreshed the page, searched for my name. No results found for your search is what I got. I refreshed the page again with my heart in my mouth, and searched once more. And then my eyes glowed seeing it there with my preferred org. My happiness knew no bounds, I jumped in excitement, it was the moment I had been dreaming of for 4 months. I got an email from Google, which said: “Congratulations, your proposal with OpenMRS has been accepted!”. I was now a member of the OpenMRS community and looked forward to contributing extensively to their code base :)
What is OpenMRS?
OpenMRS is a Medical Records System to support the delivery of health care, developed for the underprivileged sections of the society. The OpenMRS community is always ready to assist you with any issues you might be facing. The tag line, “Write Code. Save Lives.” , inspires contributing more to this wonderful organization. The community offers a great platform to learn and grow as a developer, with a very systematic and well-defined structure of almost everything from issues to wikis for getting onboarded real quick.
The Project: Improve FHIR Search
FHIR (or Fast Healthcare Interoperability Resources) is a standard for exchanging electronic health records. It describes elements (called resources) and an API (or application programming interface) for implementation of the same. The project comprises of improving the search of the FHIR module of OpenMRS by adding support for the exhaustive list of search parameters specified by the HAPI FHIR library.
The objectives of the project are as follows:
- Adding implementation for the remaining search parameters for the most useful resources including Location, Observation, Encounter, DiagnosticReport, Patient, Person etc.
- Adding implementation for common search parameters including _id and _lastUpdated.
- Adding paging functionality to resources which do not support it currently.
- Implementing the advanced search parameters like _include, _elements and _summary which let you search in a more specific manner.
- Adding support for Lucene indices available for certain resources by implementing LuceneQuery instead of CriteriaQuery.
- Integrating the module with GraphQL as a stretch goal.
Primary Mentor: Ian Bacher
Backup Mentor: Reagan Patrick