OpenMRS Android Client
Table of Contents
- Description
- Screenshots
- GSoC 2017
- Development
- Quick Start
- Demo Server
- Releasing
- Release Notes
- [Version 2.5](#version 2.5)
- [Version 2.4](#version 2.4)
- Objectives
- [Version 2.6](#version 2.6)
- User Manual
- License
- Resources
Description
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 https://wiki.openmrs.org/display/projects/OpenMRS+2.x+Android+Client
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
Screenshots
GSoC 2017
The project has been selected as a candidate for Google Summer of Code 2017. Please visit the Project Wiki Page for more details.
The project was also a part of GSoC 2016, the details of which can be seen in the GSoC_2016.md file.
Development
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:
- Fork the repository and clone your fork.
- From the Android Studio menu select File > New > Import Project. Alternatively, from the Welcome screen, select Import project.
- Navigate to the folder where you have cloned this repo and select the build.gradle file inside. Select "Import".
- Done! Wait for dependencies to load and download from Maven, then you're ready to go!
- Make sure that you have the latest SDK and build tools downloaded, as we always build against the latest release.
Note:
- If you are working behind a proxy, check this to get things working.
- To start development on a local server, type http://10.0.2.2:8080/openmrs (for Android Studio AVD) or http://10.0.3.2:8080/openmrs (for Genymotion) as URL.
Demo Server
The demo test server dedicated to the client is (https://demo.openmrs.org/openmrs/).
Demo Username: admin
Demo Password: Admin123
Releasing
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.6
Summary:
- Add patient picture
- More user-friendly register form
- Filter patients by given/middle/family names at the same time
- Get data from DB in background task
- Lint check to GitHub Pull Requests
- Fixed bugs
Version 2.5
Summary:
- Log in offline
- Coded fields in forms
- Edit forms
- Edit patients
- Lots of bug fixes
Version 2.4
Summary:
- Added merging patients registered offline
- Find Patient storyboard refactoring
- Fixed bugs
Objectives
Version 2.7 (next release)
Goals:
- Users can see and copy logs
- Unsubscription in presenters
- Infinite scrollability for last viewed patients activity
- Visualize progress dialog on a new visit
User Manual
Check this link for the manual: Version 2.x
License
This project is licensed under the OpenMRS Public License, see the copyright file for details.
Resources
- JIRA https://issues.openmrs.org/browse/AC/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel
- Sprint board https://issues.openmrs.org/secure/RapidBoard.jspa?rapidView=60
- Dashboard https://issues.openmrs.org/secure/Dashboard.jspa?selectPageId=12851
- CI https://travis-ci.org/openmrs/openmrs-contrib-android-client
- Google Play https://play.google.com/store/apps/details?id=org.openmrs.mobile