Vaccination (IAP schedule)
Use the vaccination card to see IAP schedule status from date of birth, record doses with batch details, void wrong entries and send due-dose reminders when WhatsApp reminders are enabled.
Who can do this: Practitioners and nurses with immunization.read and immunization.write record and void doses. Receptionists with immunization.read can view due lists. Patients or parents can view the portal card.
Where: Patient details Vaccination card, visit workspace Vaccination tab, patient portal My vaccinations (/patient/vaccinations).

Before you start
- Enable the Vaccination module.
- Save the patient's Date of Birth. Without DOB, due dates cannot be calculated.
- Keep vaccine name, dose number, date, batch number, manufacturer, site and route ready.
- Turn on
vaccination.reminders.enabledand configure WhatsApp before using Send reminder.
Review the vaccination card
- Open the patient details page or a visit.
- Open Vaccination card or the Vaccination tab. Result: The card shows Given, Due, Overdue, Upcoming or Age limit passed for each dose.
- Read the summary, for example
overdueoverdue ·duedue now. - Check the schedule note: Schedule
idvversion— always verify against the vaccination card.
The schedule data is IAP ACVIP 2023 and marked clinical-review pending in the source. Always verify against the child's physical or digital vaccination card.
Record a dose given at your clinic
- Click Record dose on the dose row.
- Set Date given.
- Enter Batch no.. This is required for doses given At this clinic.
- Fill Manufacturer, Site and Route if known.
- Leave Given as At this clinic.
- Click Save dose. Result: The toast says Dose recorded. Advisory warnings such as Given before the minimum age are shown when applicable.
Record a dose from an old card
- Click Record dose.
- Set Date given from the old card.
- Change Given to Elsewhere (from card).
- Enter available manufacturer, site, route or notes.
- Click Save dose. Result: The dose is recorded without requiring a batch number.
Void a wrong dose
- Find the recorded dose.
- Click Void.
- Enter a reason.
- Confirm. Result: The dose is voided and the deterministic slot can be reused by recording the correct dose.
Send a vaccine reminder
- Find a Due or Overdue dose.
- Click Send reminder.
Result: If reminders are enabled, the toast says
countreminder(s) sent. The reminder is deduplicated per patient, vaccine, dose and due date. - If the button shows Vaccine reminders are turned off for this clinic, ask the owner to enable the setting and WhatsApp.
Automatic daily reminders
When vaccine reminders are on (setting vaccination.reminders.enabled and WhatsApp in your plan), the platform also
sends due / overdue vaccine reminders automatically every morning (between 9:00 and 11:30 IST) to children under 18
with a phone number. Each dose is reminded once per due date; a failed message is retried on the next days (at most
3 attempts). Patients (or parents) who have opted out of reminders in their consent preferences are never
messaged — neither automatically nor with the Send reminder button.
Patient portal view
- Ask the parent to open the patient portal.
- They choose My vaccinations. Result: The same vaccination card is visible read-only.

Troubleshooting
| Problem / message | What it means | What to do |
|---|---|---|
| Add the date of birth to see due dates. | DOB is missing. | Edit the patient and add Date of Birth. |
REQUIRED Batch number is required for doses given here | Clinic dose is missing batch number. | Enter Batch no. or choose Elsewhere (from card). |
IN_FUTURE Cannot be in the future | Date given is after today. | Correct the date. |
GIVEN_BEFORE_BIRTH Cannot be before the date of birth | Dose date is before DOB. | Correct DOB or dose date. |
UNKNOWN_VACCINE_DOSE Unknown vaccine or dose number for this schedule | The dose row does not exist in the schedule. | Reload the card and choose a valid row. |
DOSE_ALREADY_RECORDED This dose is already recorded | A non-voided record already exists for this vaccine and dose. | Void the wrong record first, or do not re-record. |
FORMAT Expected a date (YYYY-MM-DD) | The asOf schedule date is malformed. | Use a valid date. |
Given before the minimum age or BELOW_MIN_AGE | Advisory warning from the schedule engine. | Verify with the doctor before accepting the record. |
Shorter than the minimum interval or INTERVAL_SHORT | Dose was given too soon after prior dose. | Verify catch-up advice. |
Previous dose not recorded or PREVIOUS_DOSE_MISSING | Earlier dose is missing. | Add the previous dose from the old card if it exists. |
Given after the age limit or AFTER_MAX_AGE | Dose is beyond maximum age. | Verify clinically before recording. |
| Vaccine reminders are turned off for this clinic | System setting or WhatsApp module is off. | Enable vaccine reminders and WhatsApp configuration. |
| You do not have permission for this action. | Missing immunization permission. | Ask the owner for immunization.read or immunization.write. |