OpenSRP Client Immunization Library
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Build Status Coverage Status Codacy Badge


Table of Contents


OpenSRP Client Immunization Module/App provides access to patients' immunization records which can be either be updated or retrieved.


  1. It enables the provider to update a patient's immunization records
  2. It enables the provider to view a patient's immunization records
  3. It enables the provider to undo an update on a patient's immunization record within 12 hours of updating the record
  4. It enables the provider to easily update multiple immunization records at the same time

App Walkthrough

  1. On openning the app, the patient's vaccine card is displayed.

Main Page Main Page 2

The vaccine card has:

  • The Patient's basic details

    • Name
    • Picture
    • ID
    • Age
    • Birthdate

    Patient's Basic Details

  • Recurring immunization Services

    Recurring Services Screenshot

  • Periodic immunization Services eg. At Birth, 6 weeks, 10 weeks

    Periodic Immunization Services Screenshot

Each of the immunization services are color-coded indicating their status

Service Status
Color Meaning
Green Administered/Given recently
Red Overdue
Blue Due soon (Due today OR Within 10 days after due-date )
Light Blue Upcoming
White Upcoming but not anytime soon
  1. Updating service status

    2.1 Click on any of the service buttons to update the immunization service status

    Updating Immunization Status Screenshot Updating Immunization Status Screenshot 2 Updating Immunization Status Screenshot 3

    Depending on the service being updated, different options will be available.

    2.2 In case, you need to update several service statuses at once, click on the Record all button in the time-respective services box.

    The following dialog will be shown:

    Updating multiple services statuses at once

  2. Once a service status has been updated, you can undo the action within 12 hours.

An Undo button as shown below appears beside the service button.

Undo button Screenshot

  1. On clicking the Undo button, the following dialog box will be shown:

Undo Dialog Screenshot

  1. To view the patient's immunization history between birth and 5 years, click on the Patient's Details box at the top of the page:

Patient's Details box Screenshot

The following page will be shown:

Patient's Under Five Immunization history Patient's Under Five Immunization history

This page shows all the patient's scheduled immunization services from birth to 5 years of age.

For each immunization service, the following is shown:

  • Vaccination abbreviation eg. OPV 0, BCG, Penta 1
  • status color
  • The date
    • The service is scheduled to be provided
    • The service was provided
  • An Edit button in case the service was recorded within the last 12 hours

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