Releases: NHSDigital/manage-vaccinations-in-schools
Releases · NHSDigital/manage-vaccinations-in-schools
v3.1.1
Full Changelog: v3.1.0...v3.1.1
Bug fixes
- MAV-1799: Fixed class list import school moves - Class list import now creates school moves for children not present in import
- MAV-1800: Fixed automatic registration acceptance - Registration is now automatically accepted when uploading a class list
- MAV-1804: Fixed reporting section availability - Resolved issue where reporting section of Mavis was unavailable
- MAV-1801: Fixed patient merging with PDS imports - Patients can now be merged if they've been imported using the new PDS mechanism
- MAV-1810: Fixed programmes page display - Hidden vaccination and patient counts from programmes page
v3.1.0
Full Changelog: v3.0.0...v3.1.0
Improvements to the performance and accuracy of the PDS integration
- PDS rate limit increase (MAV-382) - Increased PDS rate limit for better system performance
- NHS number lookup enhancement (MAV-1390) - NHS numbers are now looked up for all imported records before matching
- Redis/Valkey infrastructure setup (MAV-1238) - Set up Redis/Valkey on AWS to support background job improvements
- Job queueing system upgrade (MAV-1243) - Replaced GoodJob with Sidekiq for job queueing of PDS lookup jobs
- Deploy monitoring pipeline (MAV-1791) - Implemented deploy monitoring pipeline for better deployment oversight
v3.0.0
Mavis v3.0.0 adds:
- Support for the school-aged flu vaccination programme.
- Academic year "rollover" features to help SAIS teams transition from one school year to the next.
Flu programme support
Cohort uploads and vaccination history uploading
Summary of changes
- Mavis supports uploading of cohorts of children attending all school years between Reception to Year 11 (inclusive) and home-schooled children of the equivalent age
- Seasonal vaccinations administered in the previous academic year are hidden in patient record views for clarity. The data for those vaccinations is still stored in the Mavis database
- Mavis disallows uploading of historical flu vaccinations from previous seasons
Related tickets
- Hide previous academic year's vaccinations for seasonal programmes (MAV-1359)
- Flu cohort includes additional year groups in some/all SEN schools for different SAIS teams (MAV-1429)
- Disallow uploading of flu vaccinations from previous academic years (SystmOne format) (MAV-1599)
- Disallow uploading of flu vaccinations from previous academic years (NIVS format) (MAV-1547)
Consent (parents' journey)
Summary of changes
- Flu-specific communications have been implemented throughout the journey, including customised consent requests, reminders, and confirmation messages via email and text. Session reminders now include side effects information specific to the vaccines each child has consent for
- Mavis now supports flu vaccinations with separate health question sets for nasal spray and injected vaccines. Most health questions trigger nurse triage when answered "yes", but certain questions (such as "Has your child been diagnosed with asthma?", other medical conditions, and extra support needs) are configured not to require triage. For asthma specifically, triage is only triggered if follow-up questions about oral steroids or ICU admission are answered "yes"
- Parents can select their preferred vaccination method (nasal spray or injection) during consent, and the system displays the appropriate health questions based on their choice. The consent workflow ensures parents are asked about alternative vaccine options at the right time
- The service provides clear confirmation messages tailored to whether consent was given or refused for flu vaccinations, and sends post-vaccination communications to confirm whether vaccinations were administered
- Offline consent forms are now available specifically for flu vaccinations to support paper-based workflows where needed
Related tickets
- Updated session reminder text message with conditional content (MAV-1564)
- Comms confirming vaccs happened or didn't happen: flu (MAV-1529)
- Comms confirming vaccs will happen after triage: flu-specific changes (MAV-1525)
- Confirmation consent given email: flu (MAV-1503)
- Session reminder email: make side effects specific to what child is eligible for and other improvements (MAV-1355)
- Update parental consent confirmation page (MAV-1339)
- Add Flu health questions (MAV-1336)
- Add offline consent form for Flu (MAV-1325)
- Flu-specific consent request and reminder comms (emails and texts) (MAV-1277)
- Flu: ask preferred vaccination method in parental consent (MAV-1235)
- Store side effects on vaccines (MAV-1354)
- Refactor parental consent data model to allow for consent methods (MAV-1273)
- Store vaccination method on consents (MAV-1230)
- Restore ability to have health questions with follow ups (MAV-1176)
Triage
Summary of changes
- Nurses can now select which vaccine method (nasal spray or injection) they are triaging for when reviewing patient health responses. This allows separate triage decisions for each vaccine type when a child has consent for both methods
- Triage status tags throughout the system now display the vaccine method alongside the status, such as "Needs triage - Nasal spray" or "Safe to vaccinate - Injection". This appears in activity logs, patient cards, and the triage tab
- The triage form includes delivery method-specific hints under card labels and visual dividers between vaccine types, helping nurses make appropriate decisions for each vaccine method
- Patient search results now show the vaccination method, making it easier to identify which vaccine type each child requires during triage review
Related Tickets
- Update activity log and triage status tags to show vaccine method (MAV-1500)
- Add delivery method-specific hints and divider to flu triage form (MAV-1413)
- Preparation for Flu: choose a vaccine method when triaging (MAV-1285)
Consent (recorded by SAIS)
Summary of changes
- Flu-specific health questions are available for nurses to use when recording verbal or paper-based consent responses, matching the questions asked of parents in the online consent journey. This includes asthma screening questions, with Mavis preventing the recording of contradictory responses (such as answering "no" to the asthma diagnosis whilst answering "yes" to asthma-related follow-up questions)
- Nurses can now record parents' flu vaccination preferences during the "Get consent response" workflow, with four clear options: consent for nasal spray only, consent for injected vaccine only, consent for either vaccine, or no consent. This ensures accurate recording of parental preferences when consent is given verbally
- The system automatically manages consent status when multiple consent responses exist for the same child with different vaccination method preferences, preventing conflicting information and ensuring the most appropriate vaccine is administered based on parental choice
- Patient records and session views now clearly display which vaccination method was consented to, with visual tags showing "Nasal spray" or "Injected vaccine" alongside the consent status. This appears on patient cards, the consent tab, and individual patient session pages
Related tickets
- Flu-specific and vaccination method-specific questions in the SAIS consent flow (MAV-1598)
- Update consent section on patient session pages (MAV-1474)
- Update display of consented vaccine method for flu (MAV-1473)
- Add vaccination method to patient search results (MAV-1352)
- Preparation for Flu: ask preferred vaccination method in "Get consent response" flow (MAV-1267)
- Preparation for Flu: show vaccination method for each consent on UI (MAV-1234)
- Preparation for Flu programme: update consent status according to vaccination method (MAV-1231)
Recording vaccinations
Summary of changes
- Patient lists can be filtered by vaccination method (nasal or injection)
- Flu-specific pre-screening questions are asked before recording any flu vaccination to ensure children haven't developed new contraindications since consent was given
- The flu vaccination recording workflow now enforces parent consent preferences, varying the flow based on whether consent was given for nasal spray or injection
- The system prevents recording of inconsistent method and site combinations (such as recording an injection site for a nasal vaccine)
- The system displays clear warnings if a nurse attempts to record a vaccination method that doesn't match the consent
- Flu vaccinations can now be recorded with half-dose or full-dose options, particularly important for nasal spray administration
- All vaccination records now capture which protocol (PGD or prescription) was used for authorisation, with this information visible when confirming, viewing, or editing records
- Flu dose sequences now default to 1 for simplified recording of single-dose vaccines, and vaccination delivery method labels have been updated for clarity
- Post-vaccination communications to parents confirm whether flu vaccinations were administered successfully
<img width="431" height="461" alt="c...
v2.18.0
Full Changelog: v2.17.0...v2.18.0
Preparation for Rollover
- Flu schools integration (MAV-1120) - Added flu primary and SEN schools into Mavis for all SAIS teams
- New organisational structure setup (MAV-1664) - Set up Hertfordshire, Coventry and Leicestershire with new organisation and team structure
- Programme table enhancements (MAV-1754) - Programme table on global child view now shows unsuccessful vaccination attempts
- Academic year filter defaults (MAV-1760) - Academic year filters on sessions list now default to the upcoming year during preparation period
- Combined status display (MAV-1765) - Programme and session statuses are now combined into one status for clearer overview
Bug fixes
- MAV-1759: Fixed preparation period patient uploads - Patients with obsolete school info are now correctly placed in "school unknown" rather than being added immediately to clinics
Preparation for Immunisations API integration bug fixes
- MAV-1764: Fixed Gillick competent consent API updates - Resolved issue where consent changes were not updating API correctly under specific circumstances
General bug fixes
- MAV-1763: Fixed team selection after logout - Users can now choose a different team after logging out and back in
Post deploy tasks
- Download and import latest schools
bin/mavis gias downloadbin/mavis gias import
- Then run task to migrate teams to workgroups and add their schools
bin/rails migrate_teams
v2.17.0
Full Changelog: v2.16.0...v2.17.0
Preparation for rollover
- Preparation start date update (MAV-1725) - Updated the preparation start date to 18 August 2025
- Year group display improvements (MAV-1757) - Improved how a child's year group is displayed during the preparation period
Preparation for the flu programme
- Finalised flu product codes (MAV-1728) - Added Viatris to finalised flu product and procedure codes
Preparation for Immunisations API integration
- API rate limiting (MAV-1739) - Added rate limiting to Immunisations API calls for better system stability
- MAV-1735: Fixed API sync warning display - Resolved issue where API sync warning message was incorrectly displayed under certain circumstances
Changes to existing features
- Team sectioning within organisations (MAV-1280) - Introduced sectioning of teams within an organisation for better structure
Bug fixes
v2.16.0
Full Changelog: v2.15.0...v2.16.0
Preparation for rollover
- Manual clinic enrollment (MAV-278) - Children can now be moved into clinics manually
- Selective community clinic enrollment (MAV-1430) - Children are no longer added to all community clinics by default
- Academic year session filtering (MAV-1507) - Sessions views now only show sessions for the current academic year
- Global child view enhancements (MAV-1516) - Eligible programmes are now shown on the global child view
- Session statistics fixes (MAV-1520) - Fixed calculation of session stats in the programme sessions view
- Catch-up cohort display improvements (MAV-1679) - Better display of catch-up cohort members who were vaccinated in previous academic years in session tabs
Preparation for Immunisations API integration improvements (MAV-1005)
- NHS number sync warnings (MAV-1604) - Added warnings about Immunisations API sync in sessions for children missing NHS numbers
- Invalidated NHS number filtering (MAV-1720) - Records for children with invalidated NHS numbers are no longer sent to the Immunisations FHIR API
- MAV-1747: Fixed MenACWY sync message - MenACWY vaccination with notification refused now shows consistent sync message
General improvements
- Flu consent expiration tracking (MAV-1711) - Expiration of flu consent is now shown in activity log
- Database table renaming (MAV-1715) - Renamed Triage database table to Triages for consistency
Bug fixes
- MAV-1738: Fixed Important Notices count mismatch - Resolved number mismatch between tab and blue header
v2.15.0
Full Changelog: v2.14.0...v2.15.0
Post-deploy tasks
bin/rails archive_deceased_patientsbin/rails archive_moved_out_of_cohort_patients
Preparation for rollover
- Archive child option (MAV-1506) - Replaced "remove from cohort" with an "archive child" option
- Aged-out children relocation (MAV-1512) - Aged-out children are automatically moved from their old school on preparation start date
- Search for aged-out children (MAV-1513) - Added search functionality in the children list for aged-out children
- Archived children exclusion (MAV-1515) - Archived children are excluded from next year's sessions and programme counts
Preparation for the Immunisations API integration
- Parent notification flags (MAV-1674) - Added flags for self-consenting patients who don't want their parents notified of vaccination
- Immunisations API logging (MAV-1719) - Actions taken in Immunisations API integration code are now logged in application logs
Bug fixes for Immunisations API integration
- MAV-1708: Fixed self-consent parent notification display - Child's preference around notifying parent of vaccination is now displayed for self-consent
Bug fixes
- MAV-1228: Fixed deceased children in sessions - Children with date of death are prevented from being added back to sessions
- MAV-1532: Fixed death notice display - Notice of death is now shown for patients without vaccinations
- MAV-1716: Fixed archived child view - Resolved half blank screen when viewing archived children
- MAV-1718: Fixed patient merge crash - Resolved crash when merging patients with deleted vaccination records
v2.14.0
Features in preparation for Immunisations API integration
- Self-consent privacy protection (MAV-1596) - Vaccination records for self-consented patients who don't want their parents to know are no longer sent to the Immunisations API
Preparation for Rollover
- Enhanced patient import during preparation (MAV-1700) - Users can now choose which academic year to import patients into during the preparation period
- Improved school assignment for aged-out children (MAV-1511) - On preparation start date, children who have aged out of their school but aren't in all SAIS programmes now have their school set to "school unknown"
- Programme-year specific data isolation (MAV-1514) - Consent responses, health information, and triages are now tied to specific programme-years and not shown when viewing next year's programmes
- Automated vaccination record creation (MAV-1517) - Second-hand vaccination records are automatically created for all children with an "already vaccinated" consent response before the preparation start date
- Flexible parent notification for refusals (MAV-1586) - Added option to not notify parents when completing a verbal refusal
Rollover Bug fixes
- MAV-1695: Fixed import tab count display - Import tab now shows the number of import issues rather than total imports
Bug fixes
- MAV-1215: Fixed NHS number corruption in Excel exports - NHS numbers copied from Mavis are no longer corrupted when saved with incorrect file encoding
- MAV-1710: Fixed session count calculation - Resolved issue where session counts for 2025 were showing greater than 100%
- MAV-1709: API sync status is visible in prod
v2.13.0
Full Changelog: v2.12.0...v2.13.0
Changes to existing features
- Make it easier to tell apart schools with the same name (MAV-1131) - Schools with identical names can now be differentiated
- Searchable, filterable sessions page (MAV-1703) - Sessions page is now filterable and searchable, making it easier to find and manage vaccination sessions
Preparation for Rollover
- Bulk session creation for NHSE (MAV-1293) - NHS England can now create sessions in bulk on behalf of providers, streamlining programme setup and administration
- Academic year transition filters (MAV-1508) - Sessions view now includes filters for current or next academic year during the preparation period, improving programme year visibility
- Streamlined programme-year interface (MAV-1509) - Cohorts and vaccinations tabs are now hidden in all programme-years for a cleaner user interface
- Automated academic year progression (MAV-1510) - On preparation start date, children's form groups are automatically removed and their academic year incremented, including taught up/down adjustments
Bug fixes
- MAV-691: Fixed clinic name casing discrepancies - Resolved character casing inconsistencies in CLINIC_NAME field that prevented successful vaccination data imports
- MAV-1240: Improved long batch name display - Better rendering of long batch names to prevent display issues and improve readability
- MAV-1694: Fixed nurse consent relationship validation - Nurses can no longer give consent for a child without selecting their relationship to the child
- MAV-1696: Added missing gelatine refusal option - "Contains gelatine" is now available as a refusal option in the nurse consent journey for flu vaccinations
- MAV-1699: Fixed consent form matching for refusals - Consent forms are now correctly matched when submitting refusal with "other" or "gelatine" reasons
Under the hood changes
- API endpoint reorganisation (MAV-1692) - Moved testing API endpoints from /api/... to /api/testing/... for better organisation and security
v2.12.0
Full Changelog: v2.11.0...v2.12.0
Features in preparation for Immunisations API integration
- Immunisation API status display (MAV-1411) - Users can now see the status of Immunisation FHIR API records against vaccination records for better data transparency and troubleshooting
Features in preparation for rollover
- Programme-year visibility (MAV-1563) - New programme-years are now shown on the preparation start date, improving academic year transition visibility
- Academic year data protection (MAV-1567) - Vaccination record administration dates can no longer be changed to a different academic year, maintaining data integrity and programme accuracy
Changes to existing features
- Added ability to disable session registration (MAV-1292) - Sessions can now be created without requiring registration, providing greater flexibility for different vaccination delivery models
- Improved data import handling of capitalisation differences (MAV-1084) - System now automatically accepts capitalisation differences during imports
- Make it possible to tell apart schools with identical names (MAV-1131) - Schools with identical names can now be differentiated to prevent confusion and ensure accurate session allocation
- Administering clinician recorded in the SystmOne export (MAV-1082) - Added administering nurse information to the notes field in the SystmOne export
Bug fixes
- MAV-558: Fixed back button functionality in vaccination recording - Back button now works correctly on the final page when recording vaccination administration date
- MAV-249: Fixed vaccination recording navigation - Back link now takes users to the correct page during vaccination recording workflow
- MAV-1656: Fixed flu vaccination method switching - Nurses can now switch from injection to nasal spray vaccination even after selecting an injection site
- MAV-1666: Fixed flu vaccination upload restrictions - Flu vaccinations with dose sequence greater than 1 can now be uploaded correctly
Under the hood changes
- Academic year programme support (MAV-267) - Implemented foundational changes to support programmes per academic year, enabling better programme management and data organisation
- Improved monitoring capabilities (MAV-1438) - Set up Amazon Managed Grafana for improved system monitoring and performance insights
- Security improvements (MAV-1576, MAV-1577, MAV-1580) - Enhanced security with ECS read-only filesystem access, improved VPC security groups, and application load balancer configured to drop invalid HTTP headers
- Infrastructure optimisation MAV-1582) - Removed unused IAM roles and AWS infrastructure resources, updated ECR lifecycle policy to reduce infrastructure costs and improve system efficiency