Mentors : @f4ww4z @gcliff @vibhorchinda17
Student : @rishabh997
cc : @mozzy @suthagar23
Overview
OpenMRS is based on the principle that information should be stored in a way that makes it easy to summarize and analyze. OpenMRS is a client-server application, which means it is designed to work in an environment where many client computers access the same information on a server. Considering the services offered by a hospital, an Android application can help doctors, patients, and other staff a lot with its mobility and ease of use, without them having to start the OpenMRS web app on a desktop computer
Objectives
- Adding new Modules that are present in the reference application like Allergy Module, Admission Form, mark patient deceased.
- Migrate native SQL database to Room library
- Migrate Java to Kotlin (Migrated 20% codebase)
- Create a new UI for the entire app
- Standardize code quality
Presentations
Issues
Blogs
- Community Interaction
- Introduction to OpenSource
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7
- Week 8: Migration to Room Guide
- Week 9
- Week 10
- Week 11
- Week 12
Resources
- Youtube link to Final presentation
- Google Sheets link
- Figma Where the entire new UI was designed
- Talks thread: Marking patient deceased discussion
- Talks Thread: Fetching global properties
- Talks Thread: Creating a diagnosis using REST
Future Works
There are many things that need to be worked on in Android Client. I am listing a few of them which will be implemented as part of Android Client 2.9x.
- Migrate the remaining 80% codebase to kotlin.
- Start converting MVP pattern to MVVM as it follows the new standard guideline brought by Google.
- Re-design Home screen with a better UI.
- Add the password-reset feature.
- Create a diagnosis using REST.
- Implement the Appointment Scheduling Module.
- Mark Patient deceased using a non-coded response.
- Add dropdown options to switch between Uganda EMR and Reference application
Thoughts on GSoC
GSoC was one of the best experiences that I ever had. There was an immense amount of knowledge to be gained and it taught me how great minds from different parts of the world work to make a product alive.
Thanks to my mentors who always came to my rescue and guided me throughout the journey. My coding standards have greatly improved and my experience with Android has been great.
The part I enjoyed most was migration tasks as you just feel how the lines of codes decrease using newer and newer libraries. Especially, when I reduced the 7500 line to mere 1500 lines using Room.
I would love to contribute to Android client in the future and guide the new enthusiast and pass on the knowledge I gained to them by volunteering as a Mentor for GSoC 2021.