Vaccine Dispensing (for COVID-19 & other vaccines)

This work was kindly sponsored by the New Zealand Ministry of Foreign Affairs and Trade

This chapter describes the main dispensing process. Other relevant pages include:


mSupply mobile has handled dispensing since 2019, and cold chain equipment monitoring since version 7 (March 2021).

Now it also has a specific workflow for vaccine dispensing. This differs from normal dispensing in several important ways

  • Patient registration collects a lot more data than what is typically required for dispensing a prescription, such as
    • Has the patient ever had Covid-19 before?
    • Is the patient pregnant?
    • Is the patient lactating?
    • Has the patient ever had an adverse reaction to a vaccine previously?
  • The dispensing workflow is greatly simplified
    • When an existing patient is chosen, the extra information fields are chosen, as many of them are time-dependent, so the current value for the field might be different from the saved value. For instance, the patient might not have been pregnant when they were recorded in the system some weeks or months ago, but they are now.
    • Only items marked as vaccines are shown, so there is no need to type in the item name- you simply choose from the list.
    • The dispensed quantity is always one, so no quantity field needs filling out.
    • The vaccine batch and VVM status are shown, and the batch used can be selected.
    • If using multi-dose vials, the batch with an open vial is chosen by default.
    • You can record that the patient refused vaccination.
    • You can record who the vaccinator was.
  • Adverse Reaction Reporting is added to the system.
    • The adverse reaction reporting data that is collected is configurable on the server, so can vary depending on the vaccination campaign being run at the time. Further documentation is available here


Setup is technical and needs to be done carefully. We know you're careful ;-)

Here are the instructions

Using the module

Once Setup is complete, you'll end up with an mobile navigation screen that looks like this:

Step one: Patient details

Note that each step has a Cancel button which will cancel the process You can also press on any one of the three steps along the top of the window after they’ve been completed to revisit that step and edit details if needed.

Selecting a patient

  • Search by last name, first name and Date of birth
    • In the example below, we've entered the first and last name exactly, and the date of birth. Amazingly, there is only one match!
  • When typing, we look up in your local database first. If the patient still doesn’t come up, click the Search online button, which will use the same search information you have already entered and send a request to your cloud server to see if the patient exists anywhere in your system.
    • NOTE: Requires the internet
    • If you still can’t find the patient, click “New Patient”
    • If you do find your patient, click on the row to go to step 2

Step two: Add or edit patient information

After choosing a patient, you're shown the standard mSupply information for the patient in the left-hand panel, and any extra information that you have configured in the right-hand panel.

Step three: Dispense a vaccine

  • Here you can select who the vaccinator is - these will be set up on your primary server
  • You can also select which vaccine you are giving to the patient. The one which was dispensed most recently will be auto-selected for you.
  • You can also select which batch the patient received. The batch which is open and with the most recent expiry will be auto-selected for you.
  • Alternatively, you can select REFUSE VACCINE which will note that the patient refused to be vaccinated
  • Tapping Confirm will send you back to the menu page.
  • Tapping OK & Next will allow you to vaccinate another patient.

Refused vaccinations

If the patient refuses to be vaccinated, then check the Refused vaccine checkbox at top-right.

A note will be recorded on the patient's file with the date of refusal.

Adverse Reactions

You can record an adverse drug reaction (ADR), or specifically in this case, an Adverse event from immunisation (AEFI). As this is not restricted to vaccines, the functionality is described in a separate page here

  • en/mobile/user_guide/vaccine_dispensing.txt
  • Last modified: 2021/03/30 08:21
  • by Craig Drown