Vaccine Dispensing Setup

Store settings on your central mSupply server

Your store must be set as a dispensary (go to Special > Show stores and double-click on your store):

Custom invoices button on Navigator

Ensure that your store has visibility of at least one item that is a vaccine:

Custom invoices button on Navigator

If you want to record when a patient has refused a vaccine, you need to create a patient event with the code 'RV'. Otherwise, no record will be created:

Custom invoices button on Navigator

Custom invoices button on Navigator

If you want to record extra patient information during vaccinations, get in contact with The mSupply Foundation as we have no interface for you to create the forms, yet.

To setup vaccinators then choose Special > Show vaccinators from the menus:

Custom invoices button on Navigator Custom invoices button on Navigator

The standard mSupply mobile interface looks like this:

Custom invoices button on Navigator

After completing the setup described above, log in to mSupply mobile and synchronise once, and then your interface will look like this, now showing vaccine dispensing as an option:

Custom invoices button on Navigator

Patient Extra Information Setup

We use the JSON-Schema standard to define both what information can be shown, and the constraints on that information.

Constraints can include:

  • If information is compulsory
  • The type of value (e.g. only a number)
  • Minimum and Maximum values
  • Default values

Once an agreed set of information has been defined, contact us to upload the form onto your server. In future versions of mSupply you will be able to do this process yourself.

Below is an example of a JSON schema. The schema and the resulting user interface can be viewed here.

Example Schema

{
  "type": "object",
  "title": "Extra information",
  "properties": {
    "respondentContactData": {
      "title": "Respondent Contact Data",
      "description": "Contact data of the respondent if the respondent is not the patient.",
      "type": "object",
      "properties": {
        "firstName": {
          "title": "First Name",
          "description": "The first name of the respondent",
          "type": "string",
          "maxLength": 2,
          "errorMessage": "Hey! That name is way too long, buddy!"
        },
        "lastName": {
          "title": "Last Name",
          "description": "The last name of the respondent",
          "type": "string",
          "minLength": 50,
          "errorMessage": "Hey! That name is way too short, buddy!"
        },
        "relationshipToPatient": {
          "title": "Relationship to patient",
          "description": "The relationship between the respondent and patient",
          "type": "string",
          "enum": [
            "Mother",
            "Father",
            "Sister",
            "Brother",
            "Aunty",
            "Uncle",
            "Grandmother",
            "Grandfather",
            "Friend/Neighbour",
            "Other"
          ]
        }
      }
    },
    "patientClinicalData": {
      "title": "Patient Clinical Data",
      "description": "The patient's clinical data",
      "type": "object",
      "properties": {
        "comorbiditiesImmunocompromised": {
          "title": "Comorbidities / Immunocompromised",
          "description": "The patient's comorbidities",
          "type": "string",
          "enum": [
            "Diabetes",
            "Hypertension",
            "Asthma",
            "Cancer (all types)",
            "Cerebral Vascular Accident",
            "Chronic Kidney Disease",
            "Chronic Obstructive Airway Disease",
            "Immunocompromised",
            "Rheumatic Heart Disease",
            "Ischemic Heart Disease",
            "Other"
          ]
        },
        "previousSeriousAllergicReactions": {
          "title": "Previous serious allergic reactions",
          "description": "Has the patient had any serious allergic reactions in the past?",
          "type": "boolean",
          "default": false
        },
        "previousAdverseEventsFollowingImmunisation": {
          "title": "Previous adverse events following immunisation",
          "description": "Has the patient had any adverse effects following an immunisation in the past?",
          "type": "boolean",
          "default": false
        },
        "currentlyPregnant": {
          "title": "Currently Pregnant",
          "description": "Is the patient currently pregnant?",
          "type": "boolean",
          "default": false
        },
        "currentlyLactating": {
          "title": "currentlyLactating",
          "description": "Is the patient currently lactating?",
          "type": "boolean",
          "default": false
        }
      }
    },
    "Covid 19 Status": {
      "type": "object",
      "properties": {
        "everTestedPositiveForCOVID19": {
          "type": "boolean",
          "default": false,
          "description": "Has the patient ever tested positive for COVID-19'",
          "title": "Ever tested positive for COVID-19"
        },
        "Date of diagnosis": {
          "title": "Date of diagnosis",
          "format": "date",
          "type": "string"
        }
      }
    },
    "Covid 19 Vaccination Data": {
      "type": "object",
      "properties": {
        "Covid-19 Vaccine Type": {
          "type": "string",
          "enum": [
            "Astra-zeneca",
            "Pfizer",
            "Moderna",
            "Johnson & Johnson"
          ],
          "title": "COVID-19 Vaccine type",
          "description": "The type of COVID-19 vaccine the patient is receiving",
          "default": "Astra-zeneca"
        },
        "Date COVID-19 vaccine dose 1": {
          "type": "string",
          "format": "date",
          "title": "Date COVID-19 vaccine dose 1",
          "description": "The date of the patient's first Covid-19 vaccine",
          "errorMessage": "Error message"
        },
        "Date COVID-19 vaccine dose 2": {
          "type": "string",
          "format": "date",
          "title": "Date COVID-19 vaccine dose 2",
          "description": "The date of the patient's second Covid-19 vaccine"
        },
        "Any AEFI experienced": {
          "type": "boolean",
          "default": false,
          "title": "Any AEFI experienced",
          "description": "Has the patient experienced any AEFI"
        },
        "Reporting form for AEFI if AEFI experienced": {
          "type": "string",
          "title": "Reporting form for AEFI if AEFI experienced",
          "description": "I dunno what this is"
        }
      }
    }
  }
}