OpenMRS Android Client Project 2.8+



Primary mentor

@Fawwaz Yusran

Backup mentor

@Chathuranga Muthukuda

Assigned to

@Deepak Prasad


Abstract

The current OpenMRS Android client needs serious performance and other improvements. The goal of the Android client is to provide an alternative to access a hospital's OpenMRS instance by just using the provider's Android devices. See the full Android client guide for more info.

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. This will improve the productivity and efficiency of the hospital workflow.

Skills Needed

Android, Java, Gradle, SQLite

Completed Objectives

  1. Provider Module: Provider Module is a large feature request by the community. More information here: In Progress

    Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
    Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

      See PR #603 , and #PR 611
    https://talk.openmrs.org/t/suggestion-for-openmrs-android-client/4134 
    https://talk.openmrs.org/t/android-client-gsoc-2016-project-ideas/4903/10 
    https://talk.openmrs.org/t/android-client-gsoc-2016-project-ideas/4903/12


  2. Visual improvements:  Completed

    • Settings screen can be improved . See PR #604 .

      Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

    • Make application layout more compatible with different screen sizes. See PR #607.

      Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

    • Added Dark Mode 

      Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  3. Performance improvements:   Completed

    • app is lagging in some scenarios ex: when navigating through tabs. investigate the ways of decreasing the response time. See PR #564 .

      Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

  4. Backend improvements: Completed

    • Replace the old ActiveAndroid framework with Android Room. See

      Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

    • Migrate to AndroidX. See PR #481

    • Add Kotlin Dependency. See PR #581.

      Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Remaining Objectives

  1. Security improvement: 

    • Forgot password option.

Extra Credit

Analytics - https://talk.openmrs.org/t/google-analytics-for-android-client/6070/3 

We need to create a way for the Android app to collect important usage data and report it back to the local server, so that the sysadmin can look at the Analytics. The extra credit will be for making the Analytics viewing system on both the app and the admin panel. Note: We will not use Google Analytics but will develop our own system so that we can have the data in the local openmrs server.

Resources