Skip to main content

MR–OPV Vaccination Module


1. Introduction

1.1 Overview

The MR–OPV Vaccination Module is a dedicated component within SEIR ZM designed to capture, validate, and transmit session-level Measles–Rubella (MR) and Oral Polio Vaccine (OPV) vaccination data from the field to the central system.

This document serves as a reference guide for all stakeholders, including development teams, implementing partners, program managers, and third-party vendors. It explains the module’s purpose, functionality, workflows, data structures, and integration points in a clear and implementation-agnostic manner.

The module is built to ensure:

  • Standardized data collection across all administrative levels
  • Support for both Fixed and Outreach vaccination sessions
  • Accurate reporting through validation and system checks
  • Seamless backend integration via RESTful APIs

2. Purpose of the MR–OPV Module

The MR–OPV module is designed to:

  • Digitally capture session-level MR and OPV vaccination data
  • Support Fixed and Outreach vaccination sessions
  • Enable near real-time reporting from the field
  • Maintain standardized administrative hierarchy (District → Town → UC)
  • Provide clean, analyzable data to IRD and EPI Sindh

3. Scope

In Scope

  • Session-based MR–OPV vaccination reporting
  • Administrative hierarchy selection
  • Coverage data capture
  • GPS and timestamp capture
  • API-based data submission

4. Stakeholders & Users

StakeholderRole
VaccinatorData entry and submission
Field SupervisorData verification
District / Town TeamsMonitoring & oversight
IRD Technical TeamBackend, analytics & validation
EPI Sindh ManagementProgram oversight

5. Functional Overview

The MR–OPV module consists of a single-session data entry form that captures vaccination coverage at a site level and submits it to the SEIR ZM backend.


6. MR–OPV Data Entry Form – Detailed Field Specification

6.1 Administrative Hierarchy

FieldTypeDescriptionMandatory
DistrictDropdownSelect districtYes
Town / TalukaDropdownFiltered by districtYes
Union CouncilDropdownFiltered by townYes

6.2 Session Details

FieldTypeDescriptionMandatory
Session TypeDropdownFixed / OutreachYes
Site NameTextVaccination site nameYes
OnsiteCheckboxOnsite vaccination indicatorYes

6.3 Vaccination Coverage

FieldTypeDescriptionMandatory
MR CoverageNumericTotal MR doses administeredYes
OPV CoverageNumericTotal OPV doses administeredYes

6.4 System-Captured Fields

FieldSourceDescription
LatitudeGPSAuto-captured
LongitudeGPSAuto-captured
TimestampSystemEpoch (milliseconds)

7. Use Case Diagrams & Descriptions

7.1 Use Case Actors

  • Vaccinator
  • SEIR ZM System
  • Backend API

7.2 Primary Use Cases

Use Case 1: Submit MR–OPV Vaccination Session

Actor: Vaccinator
Description: Vaccinator records MR and OPV coverage for a completed session.

Preconditions:

  • User is authenticated
  • Administrative master data available
  • GPS enabled

Main Flow:

  1. Vaccinator opens MR–OPV form
  2. Selects district, town, and UC
  3. Selects session type (Fixed / Outreach)
  4. Enters site name
  5. Enters MR and OPV coverage
  6. System captures GPS and timestamp
  7. Vaccinator submits the form
  8. System validates and sends data to backend API

Postconditions:

  • Data stored successfully in SEIR ZM

Use Case 2: Validation Failure

Actor: System

Scenario: Missing or invalid input data

Flow:

  1. User submits incomplete/invalid form
  2. System highlights validation errors
  3. Submission blocked until corrected

8. Process Flow Diagrams

8.1 MR–OPV Data Submission Flow


9. API Integration

9.1 Endpoint Details

  • Method: POST
  • Endpoint: /mrest/mr-opv/vaccination
  • Environment: Staging

9.2 Request Body

{
"ucId": 101,
"districtId": 5,
"townId": 12,
"siteName": "Community Health Center",
"latitude": 24.8607,
"longitude": 67.0011,
"eventType": "Outreach",
"timestamp": 1762168905000,
"coverageMR": 45,
"coverageOPV": 20054,
"onsite": false
}

9.3 API Field Mapping

FieldDescription
ucIdUnion Council identifier
districtIdDistrict identifier
townIdTown / Taluka identifier
siteNameVaccination site name
latitudeGPS latitude
longitudeGPS longitude
eventTypeFixed / Outreach
timestampEpoch milliseconds
coverageMRMR coverage count
coverageOPVOPV coverage count
onsiteOnsite indicator

10. Validation Rules

  • Mandatory fields must not be empty
  • Coverage values must be numeric and non-negative
  • GPS must be available before submission
  • Session type must be selected
  • Administrative hierarchy must follow sequence

11. Roles & Permissions

The MR–OPV module follows a role-based access control (RBAC) mechanism to ensure that only authorized users can access and submit MR–OPV campaign data.

11.1 Roles Definition

Role NameDescription
VaccinatorRoutine vaccinator responsible for entering campaign and routine vaccination data
MR–OPV VaccinatorDedicated vaccinator role restricted to MR–OPV campaign activities only

11.2 Permissions Mapping

RolePermission CodePermission Description
VaccinatorADD_MROPV_CAMPAIGNAllows routine vaccinators to add and submit MR–OPV campaign data
MR–OPV VaccinatorONLY_MROPV_CAMPAIGNAllows access exclusively to MR–OPV campaign module

11.3 Access Control Rules

  • Users with the Vaccinator role and ADD_MROPV_CAMPAIGN permission can:

    • View MR–OPV module
    • Add and submit MR–OPV session data
    • Access other routine vaccination modules as permitted
  • Users with the MR–OPV Vaccinator role and ONLY_MROPV_CAMPAIGN permission can:

    • Access only the MR–OPV module
    • Submit MR–OPV campaign data
    • Not access other vaccination modules

12. Risks & Mitigations

RiskMitigation
Incorrect coverage entryField validation & supervision
GPS unavailableUser prompt & retry
Duplicate submissionsBackend checks