Android client for OpenMRS
Java Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
art Remove DS Store and remove 1000 Jun 9, 2016
checkstyle AC-18: Migrated project for ant. Aug 27, 2014
copyright AC-62: Updated files with copyrights. Added license file. Oct 31, 2014
gradle/wrapper AC-213 - Apply MVP - PatientDashboardActivity Oct 24, 2016
openmrs-client AC-294 Ability to filter patients by Given/Middle/Family names at the… Jan 18, 2017
play_resources Merge pull request #46 from openmrs/AC-63 Nov 5, 2014
pmd AC-18: Migrated project for ant. Aug 27, 2014
.gitignore Remove DS Store and remove 1000 Jun 9, 2016
.travis.yml Update .travis.yml Nov 24, 2016 Update Aug 24, 2016 AC-308: Update README on GitHub (#295) Jan 16, 2017 AC-18: Migrated project for ant. Aug 27, 2014
build.gradle Updated Gradle version from 2.2.2 to 2.2.3 (#264) Dec 23, 2016 Added Lint check to Travis-CI builds Jan 12, 2017
build.xml AC-18: Migrated project for ant. Aug 27, 2014
checkstyle.xml AC-18: Migrated project for ant. Aug 27, 2014
custom_rules.xml Removed unnecessary slash char. Apr 2, 2015
google_play.json.gpg Back to json Jun 9, 2016 Added ActiveAndroid ORM and offline form schema sync. Aug 1, 2016
gradlew Added listings Jun 9, 2016
gradlew.bat Added latest SQLCipher aar. Target SDK set to 22 for now. Feb 9, 2016
pmd.xml AC-18: Migrated project for ant. Aug 27, 2014 AC-87: Incorrect positioning fixed Feb 9, 2015
release.keystore.gpg Use gpg for encryption May 6, 2016
settings.gradle removed odkcollect module from settings.gradle Dec 20, 2016


OpenMRS Android Client

Build Status Demo Server GitHub version Codacy Badge IRC

Table of Contents


The purpose of this project is to provide an OpenMRS 2.x client for Android devices. The app is designed to cover most of the functionality currently on the web application. The app communicates with OpenMRS instances using REST. It supports working offline (without network connection). The database on the device is encrypted and password protected to secure patient data. For more information on the client, visit

Key Features

  • Connect to OpenMRS server and sync all data
  • Register and Edit patients
  • Record Visits and Encounters
  • View patient data (Details, Diagnoses, Visits, and Vitals)
  • Offline access


Login Dashboard Register Patient

GSoC 2016

The project has been selected as a candidate for Google Summer of Code 2016. Please visit the project's page for more details:

For a detailed description of all work done during GSoC 2016, please checkout the file.


We use JIRA to track issues and monitor project development. Refer to this link to view all issues and project summary: Android Client JIRA To get started contributing, try working on introductory issues in JIRA and check out OpenMRS Pull Request Tips. Also, before creating a pull request, please run code review tools (Lint) and all tests.

Code Style

The coding conventions used by OpenMRS are outlined here.

Model pattern

We are following Google's MVP sample for this application's development.

Quick Start

As of February 2016, this project has been migrated to gradle to work successfully with Android Studio.

Steps to set up:

  1. Fork the repository and clone your fork.
  2. From the Android Studio menu select File > New > Import Project. Alternatively, from the Welcome screen, select Import project.
  3. Navigate to the folder where you have cloned this repo and select the build.gradle file inside. Select "Import".
  4. Done! Wait for dependencies to load and download from Maven, then you're ready to go!
  5. Make sure that you have the latest SDK and build tools downloaded, as we always build against the latest release.

In-depth tutorial


Demo Server

The demo test server dedicated for the client is (

Demo Username : admin
Demo Password : Admin123


We follow the sprint model for development. Read more about it here: OpenMRS Sprints.

In order to release the application, go to releases and click the Draft a new release button. It will create a new version tag in the repository and build the app. The tag name will be used as the version number for this release.

If you want to release a new major or minor version, please be sure to update the applicationVersion variable in build.gradle prior to the release.

Release Notes

Version 2.5


  1. Log in offline
  2. Coded fields in forms
  3. Edit forms
  4. Edit patients
  5. Lots of bug fixes

Version 2.4


  1. Added merging patients registered offline
  2. Find Patient storyboard refactoring
  3. Fixed bugs


Version 2.6 (next release)


  1. Add/Edit/View Patient Photo
  2. Lint Code Review Integration
  3. Asynchronous Data Synchronization

User Manual

Check this link for the manual: Version 2.x


This project is licensed under the OpenMRS Public License, see the copyright file for details.