Vaccinations
VetCarePress includes a dedicated vaccination management system for recording administered vaccines, scheduling future vaccinations, and sending automated reminders to pet owners. Vaccinations use the vcp_vaccination custom post type, separate from standard medical records.
Auto-Generated Titles
Vaccination post titles are automatically generated in the format:
Patient Name — Vaccination — Date
This ensures consistent, searchable titles across all vaccination records without manual entry.
Key Fields
Each vaccination record contains the following fields:
| Field | Description |
|---|---|
| Patient | The patient receiving the vaccination |
| Vaccine Type | Type of vaccine (from vcp_vaccination_type taxonomy) |
| Product | Specific product/brand name (from vcp_vaccine_product taxonomy) |
| Manufacturer | Vaccine manufacturer (from vcp_vaccine_manufacturer taxonomy) |
| Date Given | Date the vaccination was administered |
| Scheduled Date | Planned date for a future vaccination |
| Next Due Date | When the next dose is due (auto-calculated or manual) |
| Batch/Lot Number | Manufacturer batch or lot number for traceability |
| Site | Injection site on the animal |
| Route | Route of administration (e.g., subcutaneous, intramuscular) |
| Notes | Free-text notes |
Two Operating Modes
Vaccinations support two distinct modes:
- Record Administration — Used when a vaccination has already been given. The Date Given field is populated, and the record is immediately marked as Administered.
- Schedule for Later — Used to plan a future vaccination appointment. Only the Scheduled Date is set, and the record remains in Scheduled status until administered.
Status System
Each vaccination displays a color-coded status badge based on its current state:
| Status | Color | Condition |
|---|---|---|
| Draft | — | Post is in draft status |
| Administered | Green | date_given is set |
| Overdue | Red | scheduled_date is in the past and date_given is not set |
| Due Soon | Yellow | scheduled_date is within the configured due_soon_days threshold |
| Scheduled | Blue | scheduled_date is in the future beyond the Due Soon threshold |
Admin Columns
The vaccination list table in WP-Admin displays:
- Title — Auto-generated vaccination title
- Patient — Linked patient name
- Vaccine Type — Type of vaccine administered or scheduled
- Status — Color-coded status badge
- Date Given — Date of administration (if applicable)
- Due/Scheduled Date — Next due or scheduled date
All date columns are sortable.
Creating Vaccinations
Vaccinations can be created through two interfaces:
- WP-Admin — Navigate to the Vaccinations menu and use the
VaccinationMetaboxon the edit screen. - Staff Dashboard — Use the vaccination form modal accessible from the patient profile.
Automated Reminders
The VaccinationReminderService automatically sends notifications to pet owners before upcoming vaccination due dates. Reminders can be delivered via email, SMS, or both, and are fully configurable.
Further Reading
Vaccination Types
Vaccination Types
VetCarePress uses three related taxonomies to classify vaccinations. Together, they provide a structured way to record what vaccine was given, which product was used, and who manufactured it.
Taxonomy Overview
| Taxonomy | Slug | Purpose |
|---|---|---|
| Vaccine Type | vcp_vaccination_type |
Category of vaccine (e.g., Rabies, DAP) |
| Vaccine Product | vcp_vaccine_product |
Specific product or brand name |
| Vaccine Manufacturer | vcp_vaccine_manufacturer |
Manufacturer of the product |
Vaccine Type (vcp_vaccination_type)
Vaccine types represent the category of vaccination. Each type term carries the following metadata:
_vcp_default_interval_weeks— Default recurrence interval in weeks. When a vaccination of this type is recorded, the Next Due Date is auto-calculated by adding this interval to the Date Given._vcp_vaccine_core— Boolean flag indicating whether the vaccine is classified as core (recommended for all animals) or non-core (situational). Core vaccines are flagged for easy identification in the admin interface.
Vaccine Product (vcp_vaccine_product)
Vaccine products represent specific brand-name products. This allows clinics to track exactly which commercial product was administered, which is important for adverse reaction reporting and inventory management.
Vaccine Manufacturer (vcp_vaccine_manufacturer)
Vaccine manufacturers identify the company that produced the vaccine. This supports traceability alongside the Batch/Lot Number field on individual vaccination records.
Default Types Seeded on Activation
VetCarePress seeds a standard set of vaccine types on first activation, based on WSAVA 2024 vaccination guidelines. These defaults cover common species:
Canine
- DAP (Distemper, Adenovirus, Parvovirus)
- Rabies
- Leptospira 4-way
- Bordetella bronchiseptica
- Borrelia burgdorferi (Lyme)
- CIV H3N2/H3N8 (Canine Influenza)
Feline
- FVRCP (Rhinotracheitis, Calicivirus, Panleukopenia)
- FeLV (Feline Leukemia Virus)
- FIV (Feline Immunodeficiency Virus)
- Chlamydophila felis
- Rabies
Equine
- EEE/WEE (Eastern/Western Equine Encephalomyelitis)
- Tetanus
- West Nile Virus
- EIV (Equine Influenza)
- EHV-1/4 (Rhinopneumonitis)
- Strangles (Streptococcus equi)
Rabbit
- RHDV2 (Rabbit Hemorrhagic Disease Virus 2)
- Myxomatosis
Ferret
- CDV (Canine Distemper Virus)
Default Interval and Auto-Calculation
Each vaccine type defines a default interval in weeks. When a vaccination is recorded:
- The system reads the
_vcp_default_interval_weeksmeta from the selected vaccine type. - The interval is added to the Date Given to produce a suggested Next Due Date.
- Staff can accept the calculated date or override it manually.
This ensures consistent follow-up scheduling without requiring staff to remember recurrence intervals for every vaccine.
Core vs Non-Core Identification
The _vcp_vaccine_core flag allows clinics to distinguish between:
- Core vaccines — Recommended for all animals of a given species regardless of circumstances.
- Non-core vaccines — Recommended based on the individual animal’s risk factors, lifestyle, or geographic location.
This distinction is visible in admin listings and can inform reminder priorities.
Managing Taxonomies
All three vaccination taxonomies are editable through the standard WordPress taxonomy editors in WP-Admin. Additionally, when creating or editing a vaccination record from the Staff Dashboard, staff can use the Select2 taxonomy search field to find existing terms or create new ones inline via the "Add New" option.
Related Pages
Scheduling & Reminders
Scheduling & Reminders
VetCarePress includes an automated vaccination reminder system that notifies pet owners before upcoming vaccination due dates. The system handles scheduling, reminder delivery, and duplicate prevention.
Scheduling Vaccinations
When recording a vaccination, the Next Due Date determines when the follow-up is needed:
- Auto-calculated — The system reads the selected vaccine type’s
_vcp_default_interval_weeksmeta and adds that interval to the Date Given. - Manually entered — Staff can override the calculated date or enter a custom Next Due Date.
Setting a Next Due Date effectively creates a scheduled follow-up. The system tracks this date and uses it to trigger reminders and status changes.
Reminder Service
The VaccinationReminderService handles all automated reminder delivery. It runs daily via WP-Cron, hooked to the vcp_cleanup_expired scheduled event.
How Reminders Work
- The daily cron job queries all vaccination records with upcoming due dates.
- For each record, the service checks against the configured lead days (e.g., 7 days before due, 1 day before due).
- If a reminder is due, the service sends a notification to the patient’s owner via the configured channel (email, SMS, or both).
- Each sent reminder is tracked to prevent duplicate delivery. A reminder for a specific vaccination and lead-day combination is only sent once.
Configuration
Reminder settings are managed under Settings > Vaccination tab in WP-Admin.
| Setting | Key | Description | Default |
|---|---|---|---|
| Enable Reminders | vcp_vaccination_reminder_enabled |
Master toggle for the reminder system | Enabled |
| Lead Days | — | Days before due date to send reminders (comma-separated) | 7, 1 |
| Channel | — | Notification delivery method: email, sms, or both | |
| Due Soon Threshold | — | Days before due date to flag as "Due Soon" in admin columns | 30 |
| Email Template | — | Customizable email body with placeholders | Default template |
| SMS Template | — | Customizable SMS body with placeholders | Default template |
Lead Days Configuration
Lead days are entered as a comma-separated list of integers representing the number of days before the due date when a reminder should be sent. The settings page provides an interactive tag widget for adding and removing individual lead-day values.
For example, with lead days set to 7,1:
- A reminder is sent 7 days before the vaccination is due.
- A second reminder is sent 1 day before the vaccination is due.
Notification Delivery
Reminders are delivered through the same NotificationService used by other VetCarePress notifications:
- Email — Sent via
wp_mail(). Uses the configured email template with placeholder substitution for patient name, vaccine type, due date, and clinic details. - SMS — Sent via Twilio or Vonage, depending on the configured SMS provider. Uses the configured SMS template with the same placeholder substitution.
All deliveries are logged in the notification log for audit and troubleshooting purposes.
Requirements for SMS Reminders
For SMS reminders to be delivered successfully:
- An SMS provider must be configured under Settings > SMS (Twilio or Vonage credentials).
- The patient’s owner (customer) must have a phone number on file.
- The reminder channel must be set to "sms" or "both".
If any of these conditions are not met, the SMS reminder is skipped silently. Email reminders (if configured) are unaffected.