OpenSRP Client Growth Monitoring Library
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Build Status Coverage Status Codacy Badge




This OpenSRP Module/app provides weight recording, updating, editing and charting capabilities. It also provides the z-score of a patient from their weight.


The app has the following features:

  1. It enables one to record the current or past weight
  2. It enables one to edit a patient's weight record
  3. It enables one to view the patient's weight over time on a graph
  4. It enables one to view the z-score
  5. It enables one to determine a patient's weight status from the z-score


The z-score is a score calculated from the weight & age of a patient to determine their weight status i.e. overweight, underweight, average weight ...

This score is calculated using values provided by WHO.

Z-score color codes

Color Meaning Appropriate Z-score
Red Underweight/Overweight -2 and above OR +2 and above
Green Good! 👍 Between -2 and +2
Dark Blue Dangerous weight Over +3 or below -3

You can easily tell the weight status by checking the z-score line on the graph and where it falls within the z-score indicators. The z-score line indicators use the same color-codes above

App Walkthrough

The app is easy to use and has five important screens

  1. When you open the app, the following page is displayed.

Main Page

  • The Top Section has two buttons:

    • Record Weight Button which enables one to record current or past weight

    Record Weight Screenshot Record Past Weight Screenshot

    • Weight Graph Button which displays a dialog with the age respective z-scores over the patients lifetime on a graph. The specific values are also displayed below the graph with the patient's age respective age. Weight Graph Screenshot
  • The Bottom Section displays the last 5 weights recorded in the patient's lifetime.

    • Each row has:

      • The Patient Age eg. 0d
      • The Patient Weight eg. 3.8 kg
      • The Edit Weight Button except the birth weight which cannot be changed

      Edit Weight Screenshot

Developer Documentation

This section will provide a brief description how to build and install the application from the repository source code.


  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

Installation 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

How to install

  1. Import the project into Android Studio by: Import a gradle project option All the plugins required are explicitly stated, therefore it 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 as the Deployment Target