GSoC 2020 - OpenMRS Android Client v2.9+ : Final Presentation

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

  1. Adding new Modules that are present in the reference application like Allergy Module, Admission Form, mark patient deceased.
  2. Migrate native SQL database to Room library
  3. Migrate Java to Kotlin (Migrated 20% codebase)
  4. Create a new UI for the entire app
  5. Standardize code quality

Presentations

Issues

Blogs

  1. Community Interaction
  2. Introduction to OpenSource
  3. Week 1
  4. Week 2
  5. Week 3
  6. Week 4
  7. Week 5
  8. Week 6
  9. Week 7
  10. Week 8: Migration to Room Guide
  11. Week 9
  12. Week 10
  13. Week 11
  14. Week 12

Resources

  1. Youtube link to Final presentation
  2. Google Sheets link
  3. Figma Where the entire new UI was designed
  4. Talks thread: Marking patient deceased discussion
  5. Talks Thread: Fetching global properties
  6. 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.

  1. Migrate the remaining 80% codebase to kotlin.
  2. Start converting MVP pattern to MVVM as it follows the new standard guideline brought by Google.
  3. Re-design Home screen with a better UI.
  4. Add the password-reset feature.
  5. Create a diagnosis using REST.
  6. Implement the Appointment Scheduling Module.
  7. Mark Patient deceased using a non-coded response.
  8. 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.

5 Likes

yayy :star_struck: @rishabh997 It was great working with you !!

1 Like

Overall amazing work you’ve done @rishabh997 . Always responding to our comments and making some serious quality code. Would love to see you mentor GSoC 2021 :clap:

@gcliff @vibhorchinda17 as backup mentors, do you guys have any feedback?

2 Likes

@rishabh997 i want to thank you for the work that you have done towards improve openmrs android client :partying_face:

1 Like

Thanks a lot. I am planning to release final 2.8x for android client before moving to 2.9x :grin:

1 Like