GSoC 2019 — Nigeria Telemedicine App — Final Evaluation

Project Title: Nigeria Telemedicine App

Overview

Nigeria Telemedicine App is a lightweight, easy to use telemedicine mobile app developed to make health services more accessible to the Nigerian population. Users can register themselves on the OpenMRS server providing basic details like their name, phone number. All this can be done within a minute as there is no wasting time in login and verification etc. After successful registration, the user will receive a call from a doctor as early as possible.

The project involved me developing an Android application as well as a reverse proxy for the app. Both of these tasks were successfully completed.

Objectives

  1. To develop an android app from scratch that allows the user to register himself/herself on the OpenMRS server.
  • Devising suitable architecture for the app that makes it easy to maintain the app in the long run and is also easier for other contributors to understand and contribute. (COMPLETED)
  • Using the latest jetpack components with Kotlin. The app uses ViewModel, LiveData, View and Data binding. (COMPLETED)
  • Implementing the dashboard, register patient and help functionalities into the app. (COMPLETED)
  • Creating a new user role on the OpenMRS that had the minimum possible privileges required to register a patient on the server. All patient registrations via the app are made by this user. (COMPLETED)
  • Adding Firebase Crash analytics for monitoring app crashes. (COMPLETED)
  • Adding suitable Unit tests to the app. (PENDING)

2. Implementing a proxy server that serves as a mediator between our app and the OpenMRS server to improve the security of our servers.

  • Learning about python, Flask, Gunicorn, and Docker. (COMPLETED)
  • Developed the Flask app and served it using Gunicorn. (COMPLETED)
  • Created the docker image for the app. (COMPLETED)
  • Adding the docker container to the main infrastructure’s docker-compose. (COMPLETED)
  • Deploying the app (COMPLETED).

Contributions

  • Repositories
  1. https://github.com/openmrs/openmrs-contrib-telemedicine-app
  2. https://github.com/openmrs/openmrs-contrib-telemedicine-proxy
  • Pull Requests
  1. https://github.com/openmrs/openmrs-contrib-telemedicine-app/pulls?utf8=✓&q=
  2. https://github.com/openmrs/openmrs-contrib-telemedicine-proxy/commits/master

Weekly Blog Posts

  1. Beginners Guide to Google Summer of Code.
  2. My GSoC journey week — #1
  3. My GSoC journey week — #2
  4. My GSoC journey week — #3
  5. My GSoC journey week — #4
  6. My GSoC journey week — #5
  7. My GSoC journey week — #6
  8. My GSoC journey week — #7
  9. My GSoC journey week — #8
  10. My GSoC journey week — #9
  11. My GSoC journey week — #10
  12. My GSoC journey week — #11
  13. My GSoC journey week — #12

Resources

  1. Mid-term presentation
  1. Talk thread

Future Works

We can surely improve the unit tests the app has and also increase the code coverage for the tests. Also in the future, we plan to integrate many new features in the project like adding some logic to our backend proxy for further improving the security and adding more personalized features to the android app.

Thoughts on GSoC

GSoC was such an amazing experience that I will never ever forget. I got to learn so much from this program throughout the summer. I had thought that GSoC would be hardcore coding all the time but it turned out to be very different. It was a mix of coding, documenting, testing, interacting with others, design/UX and blogging. All these aspects of GSoC made my GSoC experience even more involving and interesting. OpenMRS is a wonderful organization with amazing mentors and community support. My mentors @isears and @levine were extremely helpful throughout the summer and this project would not have been a success without him. I will continue contributing to OpenMRS and to OpenSource in general.

4 Likes