opensrp / opensrp-client-path

Other
6 stars 6 forks source link

Build Status Coverage Status Codacy Badge

Dristhi

Introduction

OpenSRP Path is an app that handles infant records from child birth to 5 years of age. This mainly includes monitoring child weight, vaccination schedules and other supplements that have been proven to prevent diseases and/or improve infant growth and health.

Its main focus is Infant Health

Features

The OpenSRP Path App enables providers to:

  1. Record patient immunisations
  2. Register new patients
  3. Record vaccine stock
  4. Record patient weights over time
  5. Review patient immunisation & weight history
  6. Determine patient health status based on weight
  7. Determine patient health vulnerability based on adherance to immunization schedule
  8. Determine patient health from above factors
  9. Record side-effects caused by treatments
  10. Follow-up with patients in the field
  11. Perform stock management of vaccines
  12. Submit HIA 2 forms monthly
  13. Verify HIA 2 forms monthly
  14. Administer to patients from different zones

Android Studio Setup - (Developer Setup)

Pre-requisites

  1. Make sure you have Java 1.7 to 1.8 installed
  2. Make sure you have Android Studio installed or download it from here

Testing devices

  1. Use a physical Android device to run the app
  2. Use the Android Emulator that comes with the Android Studio installation (Slow & not advisable)
  3. Use Genymotion Android Emulator
    • Go here and register for genymotion account if none. Free accounts have limitations which are not counter-productive
    • Download your OS Version of VirtualBox at here
    • Install VirtualBox
    • Download Genymotion & Install it
    • Sign in to the genymotion app
    • Create a new Genymotion Virtual Device
      • Preferrable & Stable Choice - API 22(Android 5.1.0), Screen size of around 800 X 1280, 1024 MB Memory --> eg. Google Nexus 7, Google Nexus 5

Cont.. Android Studio Setup

  1. Import the project into Android Studio by: Import a gradle project option All the plugins required are explicitly stated therefore can work with any Android Studio version - Just enable it to download any packages not available offline
  2. Open Genymotion and Run the Virtual Device created previously.
  3. Run the app on Android Studio and chose the Genymotion Emulator

App Walkthrough (End-User)

  1. (Optional) Open the app, open the app menu > Settings > Change url to your server-url:port. eg Point to Ona OpenSRP test server at http://46.101.51.199:8080/opensrp.

Note Ona OpenSRP test server may not be up. You can follow this Docker Setup and this Docker Compose Setup guide for setting up your OpenSRP and OpenMRS Server.

Settings Page

  1. Login using Sample Credentials(Provider Credentials) eg.

    Username: biddemo Password: Linda123

    Note: If the genymotion emulator crashes on pressing the Login button, use the Enter Key on your keyboard - (Reason for Crash) Genymotion emulator seems to have a bug

    Login Page

  2. An activity with a list of patients (Child/Woman) is displayed with the following information. List of patients Screenshot

4.1 Click on a patient

This opens a page which contains the immunisation history in a vaccine card.

Other details

As shown below:

Patient Details

4.2 Click on the Health Facility Name

A dropdown menu appears with a list of the Health Facility Zones + Health Facility. The health facility name is the first, the rest are branches/zones of the health facility.

Health Facility Dropdown Menu

When chosen:

  • A Health Facility - A list of patients in that health facility from the various health zones will be shown. Arranged in descending order with the latest patient to be served at the to.
  • A Health Facility Zone - A list of patients in the specific Health Facility zone(Branch of the Health Facility) is shown. Arranged in descending order with the latest patient to be served at the to.

4.3 Click on the Plus Icon

A form to add a new patient to the current chosen Health Facility OR Health Facility Zone is openned.

As show below: New Patient Form

The following details can be added:

4.4 Click on the search icon

This opens another activity where the provider can perform an Advanced Search or Global Search of a patient.

Advanced Search

This patient search enables one to search using other conditions or characteristics.

Advanced Search Page Screenshot

Global Search

The global search enables the provider to search for a patient outside and inside the current health facility zone using the Advanced Search above

4.5 Use the search bar

The search bar enables the provider to search for a patient by name or ZEIR ID.

4.6 Click on the Scan QR Code Button

Another activity will open and enable the phone camera for which one can scan the patient ID's QR Code as shown below. After the scan is complete, a patient(s) who matches the ZEIR ID scanned will be displayed.

QR Code Scan Screenshot

In case a match is not found

QR Code Scan Match Not Found Screenshot

5. Slide Menu

There is a slide menu on the left in the Main Menu. This slide menu displays:

6.1 Stock Control

Coming soon...

Project Dependencies (Developer)

This project depends on the following OpenSRP modules/libraries:

  1. OpenSRP Client native form
  2. OpenSRP Client Core
  3. OpenSRP Client Immunization
  4. OpenSRP Client Growth Monitoring

Folder Structure

opensrp-client-path
|__ opensrp-path
   |_ build
   |_ src
      |_ androidTest
      |_ main
         |_ assets 
             |_ fonts
             |_ json.form
         |_ java
             |_org.smartregister.path (main package)
             |_utils
   |_ test

Tests

The project mainly uses Junit & Mockito for tests which are all placed in the test folder