Skip to content

Releases: NHSDigital/manage-vaccinations-in-schools

v6.1.0

24 Nov 16:52
05dc8fe

Choose a tag to compare

Full Changelog: v6.0.0...v6.1.0

Cohort uploads

  • Add a file size limit on imports (MAV-2039) - Implemented file size limits on import uploads to prevent performance issues with excessively large files

FHIR Imms API

  • Remove sync status content for records not recorded in Mavis (MAV-2089) - Removed sync status information for vaccination records that were not originally recorded in Mavis
  • MAV-2652: Fixed issue where Imms FHIR API search jobs were failing in Mavis
  • MAV-2659: Fixed issue preventing vaccination records from syncing to the Immunisation API

Platform & Operations improvements

  • Database refactoring (MAV-2579, MAV-2593, MAV-2627) - Continued database optimisation work including replacing programmes table with programmes enum, simplifying session dates column, and refactoring how locations are associated with teams
  • School data fixes (MAV-2590) - Created script to correct school data for BLMK and N&W regions

Bug fixes

  • MAV-2646: Fixed issue where the new import mechanism was not triggering re-review for school moves when 2 files were uploaded before being approved
  • MAV-2648: Fixed issue where a child who had moved to Unknown school but was still showing in a session appeared in future imports as a school move from Unknown to Unknown

Post-release tasks

PR #5289:

  • Onboard the following teams (bin/mavis teams onboard):
    • birmingham
    • haringey
    • harrogate
    • harrow
    • havering
    • herefordshire
    • islington
    • scarborough
    • thirsk
    • worcestershire
    • york

PR #5235:

  • Run data_migrations:set_team_location

PR #5258:

  • turn on import_limit_row_count feature flag

v6.0.0

21 Nov 15:59
c46a4f5

Choose a tag to compare

Full Changelog: v5.10.0...v6.0.0

Enabling MMR

  • Add MMR to all teams (MAV-2493) - Enabling functionality for MMR vaccine in Mavis built in and hidden in previous releases

Cohorting/ Eligibility/ Vaccination History

  • MAV-2070: MAVIS will now check MMR eligibility using the Green Book rules. Children must have had two valid doses: - The first after their first birthday, and - The second at least 28 days later and after 15 months of age.

  • MAV-2067: This ticket is to add the 2 MMR vaccines (Priorix and MMRProVax) approved for use. Both share the same SNOMED procedure code.

  • MAV-2082: This change replaces the single "Programme outcome" field with four clearer vaccination statuses: Not eligible, Eligible, Due, and Vaccinated. This helps teams better understand each child's current vaccination status and reduces ambiguity in reporting and planning. This adds the eligibility criteria for MMR, ensuring that the patients are given the right statuses. To achieve this, vaccination status labels are being updated for all programmes to clearly distinguish between the various statuses. For MMR specifically, new statuses will show whether a child is due or eligible for the first or second dose. This change impacts all programmes.

Consent (parent journey)

  • MAV-2068: A new MMR vaccination programme is being introduced in MAVIS to support catch-ups in line with the national SAIS specification. This allows SAIS teams to assess MMR status and offer vaccinations alongside existing programmes (HPV, Td/IPV, MenACWY) or in community clinics.

  • MAV-2430: Research with parents found that the consent process for MMR and other vaccination programmes could be clearer and more supportive, particularly for those choosing not to consent. This update adds clearer wording and helpful hints to make the consent journey easier to understand and less discouraging for parents who refuse consent.

  • MAV-2379: Clearer messaging is being added to consent confirmation emails for MMR and flu vaccines to make it obvious to parents which vaccine type they've agreed to particularly whether it contains gelatine or not.

  • MAV-2074: This change adds the consent process for the MMR vaccination. Parents can now give or refuse consent online, and they'll be asked if they are happy for their child to have a vaccine that contains gelatine. SAIS teams can also record verbal consent for MMR in MAVIS.

  • MAV-2384: A PDF version of the consent form that SAIS teams can print out or share with schools.

  • MAV-2445: All live consent request emails normally include the child's name in the subject line, as this helps parents recognise the message and respond more quickly. It was identified that the MMR consent request email did not include the child's name. This change updates the MMR consent email template so the child's name appears in the subject line (e.g. "Consent for [Child's Name] to receive the MMR vaccine").

  • MAV-2446: Parents currently receive a "Vaccination confirmed" email after their child receives an MMR vaccination. This change adds variable content to the confirmation email to clearly inform parents that a second dose of MMR is needed for full protection. The additional text will only appear when a child has received their first dose of MMR.

Consent (SAIS) and triaging consent responses

  • MAV-2425: When recording triage for the MMR programme, nurses will now need to choose whether the child can safely receive the gelatine-containing or non-gelatine MMR vaccine. This could lead to uncertainty or delays if a child had religious, cultural, or medical reasons to avoid gelatine-based vaccines.

  • MAV-2290: MMR is a live vaccine and should not be given within 4 weeks of another live vaccine (e.g. previous MMR, nasal flu, yellow fever) unless both are given on the same day. This change updates MAVIS to better manage children who must wait before receiving their next MMR dose.

  • MAV-2075: When recording triage for the MMR programme, nurses will now need to choose whether the child can safely receive the gelatine-containing or non-gelatine MMR vaccine. This could lead to uncertainty or delays if a child had religious, cultural, or medical reasons to avoid gelatine-based vaccines.

  • MAV-2303: Nurses can now manually triage MMR patients even if the consent responses say no triage needed. This allows them to review and act on new or important medical information added by parents or received after consent was submitted. Other vaccination programmes are not affected.

Recording and reporting vaccinations / Dashboard and Programme View

  • MAV-2347: The pre-screening questions shown before vaccination are being updated to better reflect what nurses actually review in practice.

  • MAV-2296: This update adds the basic functionality needed to record MMR vaccinations. It filters vaccine options so that only suitable vaccines are shown based on whether the patient can have vaccines containing gelatine. The current version does not yet include the ability to pick the correct dose (for example, first or second dose) when recording the vaccination.

  • MAV-2426: When recording MMR vaccinations, they should be only offered the appropriate product (with or without gelatine) based on the consent and the triage status.

  • MAV-2448: Allow SAIS teams to record MMR vaccinations offline and import them back into Mavis when they're back online.

  • MAV-2103: This change adds standardised MMR vaccine side effect information to MAVIS, following the approved content in the clinical prototype. This ensures that both parents and staff receive accurate, consistent, and updated information when recording or reviewing consent.

v5.10.0

21 Nov 15:55
c46a4f5

Choose a tag to compare

Full Changelog: v5.9.0...v5.10.0

Get Mavis ready for Cohorting

  • Preview potential data issues before finalisation (MAV-906) - Added a new preview step after processing class or cohort lists that shows how many new records, import issues, and school moves will be created, allowing users to abort if there's a problem without creating erroneous records
  • MAV-2626: Fixed issue where reviewing a 20K import file returned a 504 error
  • MAV-2588: Fixed issue where imports went to review state before PDS match jobs finished

FHIR Imms API

  • Sync doubles and MMR records to the API (MAV-2487) - Added support for syncing diphtheria/tetanus/polio (doubles) and MMR vaccination records to the Immunisation API
  • Search for HPV, doubles and MMR records from the API (MAV-2488) - Added support for searching HPV, diphtheria/tetanus/polio (doubles), and MMR vaccination records from the Immunisation API
  • Deduplicate Imms API records (MAV-2442) - Implemented deduplication to prevent creating duplicate records in the Immunisation API when a Mavis record already exists
  • MAV-2550: Fixed issue where delete requests were being sent to the Imms API even though a record was already deleted

Platform & Operations improvements

  • Database performance optimisation (MAV-2634) - Optimized archived patient check with partial index for improved query performance
  • Database refactoring (MAV-2578, MAV-2587, MAV-2592, MAV-2597) - Continued database optimisation work including replacing programmes table with programmes enum, removing session date references, simplifying session dates column, and adding programme year groups to sessions

Bug fixes

  • MAV-2604: Fixed issue where the review screen incorrectly showed extra school moves for children during class list imports
  • MAV-2636: Fixed issue where cached school move count could diverge from actual count
  • MAV-2644: Fixed issue where school move count differed between the heading and the page when unmatched consent response was created

Post-release tasks

PR #5219:

  • Run data_migrations:sync_location_programme_year_groups

v5.9.0

19 Nov 17:19
20d24ea

Choose a tag to compare

Full Changelog: v5.8.0...v5.9.0

Prep for FHIR Imms API Flu Search and remaining programmes and bulk upload

  • Programme-based feature flagging (MAV-2489, MAV-2490) - Feature flags can now be configured per vaccination programme for sync and search operations
  • MAV-2583: Removed per-organisation feature flagging for Imms API search, simplifying configuration
  • MAV-2462: Mavis Upload users now see a tailored homepage and navigation designed specifically for upload workflows

Getting Mavis ready for scaling and cohorting

  • Allow uploads where the help text row is included in the CSV (MAV-1741) - Class list CSV uploads now accept files that include the help text row, removing the need to manually delete this row before uploading
  • Create workgroups for Vaccs UK and Birmingham (MAV-2423)
  • Preview potential data issues before finalisation (MAV-906) - Users can now preview potential data issues before finalising class list uploads, helping to identify problems earlier in the import process

Health questions and consent forms

  • MAV-2535: Updated health questions following feedback from SAIS teams to improve clarity and accuracy
  • MAV-2632: Updated health questions for MMR in downloadable consent forms

Platform & Operations improvements

  • Database performance optimisation (MAV-2633) - Implemented under-the-hood performance optimization for patient lookups
  • Database refactoring (MAV-2577, MAV-2586, MAV-2591) - Replaced programmes table with programmes enum and removed references to session dates as part of ongoing database optimisation
  • MAV-2600: Fixed vaccination reporting dashboard issues with database updates

Bug fixes

  • MAV-2604: Fixed issue where the review screen incorrectly showed extra school moves for children during class list imports
  • School data fixes (MAV-2590) - Created script to correct school data for BLMK and N&W regions

Post-release tasks

PR #5207:

  • Run data_migrations:set_session_dates

PR #5163:

  • Run UpdateReportingAPIPatientProgrammeStatusesToVersion4 migration

PR #5191:

  • Reconfigure the feature flagging:

PR #5165:

  • Reconfigure the feature flagging:

v5.8.0

17 Nov 16:40
d2be874

Choose a tag to compare

Full Changelog: v5.7.0...v5.8.0

FHIR Imms API

  • Vaccination record sync tool (MAV-2345) - Added command-line tool to manually mark vaccination records as synced with the Immunisation API
  • MAV-2531: Fixed issue where a combination of updates left vaccination records uneditable

Bug fixes

  • MAV-2311: Fixed issue where bulk removal of school moves was not possible
  • MAV-2595: Fixed issue where the vaccination table was not shown on the first session date in session overview

Platform & Operations improvements

  • Import validation improvements (MAV-2476) - Imports are now invalidated when two upload rows match the same database record or when multiple records with the same NHS number are found after PDS search
  • GP data download tool (MAV-2499) - Introduced CLI tool to download GP data for improved data management
  • Database performance optimisation (MAV-2484) - Implemented new patient_teams table to significantly speed up patient queries
  • Database refactoring (MAV-2576, MAV-2585) - Replaced programmes table with programmes enum and removed references to session dates as part of ongoing database optimisation
  • PDS lookup optimisation (MAV-2478) - System now checks for postcode before enqueueing PDS lookup jobs to improve efficiency
  • School move management (MAV-2540) - Patients are now automatically removed from schools they have moved out of

Pre-release tasks

PR #5184:

  • Run a sync on patient_teams table using rake task to ensure that it is up to date

Post-release tasks

PR #5199:

  • Run data_migrations:set_location_and_date

PR #5178:

  • Run data_migrations:set_programme_type

PR #5173:

  • Run the deploy-monitoring workflow

v5.7.0

12 Nov 10:03
ce082fa

Choose a tag to compare

Full Changelog: v5.6.0...v5.7.0

Post-release tasks

  • Enable tallying feature flag
  • Enable the imms_api_search_job feature flag

Preparation for MMR

  • MMR tallies split by vaccine type (MAV-2473) - MMR consent tallies now split by vaccine type and show "fully vaccinated" count
  • Incomplete vaccination history triage for MMR (MAV-2475) - Fixed incorrect triage trigger when child has consent and one MMR dose

General improvements & under the hood changes

  • Show useful tallies for children, consents, vaccinations on session overview pages (MAV-2301, MAV-1734, MAV-2522)
  • Show reason for refusal in consent card (MAV-2422) - Consent cards now display the reason when a parent refuses vaccination
  • Add status for vaccinated elsewhere (MAV-2467) - New status available when a patient has been vaccinated at another location
  • Remove extra line in Gillick email section (MAV-2457) - Removed unnecessary line break in Gillick section of email communications
  • Rename pending_changes column (MAV-2491) - Renamed database column for improved clarity
  • Trigger Imms API search on patient merge (MAV-1974) - Immunisations API now searches when patients are merged
  • Prioritise API request jobs (MAV-2350) - API request jobs now prioritised correctly in the queue

Bug fixes

  • Patient locations on school move (MAV-2503) - Fixed issue where patient locations weren't removed when child moved schools after being vaccinated

v5.6.0

07 Nov 17:13
4133714

Choose a tag to compare

Full Changelog: v5.5.0...v5.6.0

Preparation for tallying

  • Session overview page reorganisation (MAV-2217) - Improved layout with clearer grouping of information
  • Filter deceased patients from session statistics (MAV-1734) - Deceased patients are now excluded from session tallies and eligibility filters
  • Performance improvements for session overview page (MAV-2435, MAV-2314) - Faster loading times for session pages, especially for large schools

Improving patients record management

  • Require triage for 'any other medical conditions' in Leicestershire (MAV-2480) - 'Any other medical conditions' responses now require triage before PSDs can be created for Leicestershire teams

Scaling and other general improvements

  • CPU capacity increase for background jobs (MAV-2516) - Increased Sidekiq CPU from 1vCPU to 2vCPU
  • Reporting database consent data (MAV-2507) - Added consent information to reporting database view
  • Grafana alerting setup (MAV-1307) - Configured alerts with Slack notifications
  • Deployment rollback detection (MAV-2315) - Added checks to fail deployments if expected version not deployed
  • Reporting service production deployment preparation (MAV-2483) - Added IAM permissions for reporting service deployment

Bug fixes

  • Import issues page timeout (MAV-2444) - Fixed timeout when page contains more than 7,000 issues
  • NHS number sync to Immunisations API (MAV-1590) - Fixed sync issue when changing NHS number to 'not provided'

Post-release tasks

PR #5082:

  • Apply account stack

v5.5.0

05 Nov 17:14
2ae9d6d

Choose a tag to compare

Full Changelog: v5.4.0...v5.5.0

Preparation for MMR

  • Delayed vaccination scheduling (MAV-2290) - Nurses can now triage patients to delay vaccination until a specific date, with appropriate validation for MMR dose timing
  • MMR vaccination confirmation messages (MAV-2446) - Vaccination confirmation messages for MMR now include variable content specific to the vaccine administered

FHIR Imms Flu Search

  • Imms API feature flags (MAV-2463) - Added per-organisation feature flagging for Immunisation API search integration to support controlled rollout
  • Flu vaccination history search (MAV-2264) - Enabled flu vaccination search in production environment through the Immunisation API

Scaling, reporting and other improvements

Global triage page (MAV-2143) - Redesigned global child page to support triage across all programmes and sessions from a single location

  • Global children page search (MAV-2427) - The global children page no longer shows all patients by default, requiring a search to be performed first to improve performance
  • Unmatched consent search (MAV-2428) - Changed the default search behaviour for unmatched consent to improve page loading performance
  • Performance optimisation (MAV-2293, MAV-2006, MAV-2450, MAV-2447) - Multiple performance improvements including caching of patient-team relationships, navigation bar counts, preventing outdated statuses during large patient updates, and improved import concurrency
  • Rails upgrade (MAV-2386) - Upgraded to Rails 8.1 for improved performance and security

Bug fixes

  • MAV-2283: Fixed issue where Patient Specific Directions (PSD) were not being invalidated correctly
  • MAV-2240: Fixed issue where a missing translation appeared when conflicting method flu consent was added after triage
  • MAV-2321: Fixed issue where vaccination status displayed as both "vaccinated" and "refused vaccine" when vaccinating a child who had previously refused
  • MAV-2453: Fixed issue where MMR "delay vaccination to a later date" was using today's date in calculations instead of the vaccination date

v5.4.0

31 Oct 14:40
dd50b4b

Choose a tag to compare

Full Changelog: v5.3.0...v5.4.0

Preparation for MMR programme

  • MMR consent and health questions (MAV-2074) - Parents can now give or refuse consent for MMR vaccinations through digital and verbal consent journeys, including health questions specific to MMR vaccines
  • MMR paper consent form (MAV-2384) - Added downloadable PDF consent form for MMR to support paper-based consent collection
  • MMR gelatine preference tracking (MAV-2425) - Parents can now indicate whether their child can receive vaccines containing gelatine, with individual preferences clearly displayed to SAIS teams
  • MMR vaccination recording with gelatine awareness (MAV-2426) - Vaccinators can clearly see which MMR vaccine type should be administered based on consent and triage decisions, with appropriate product options presented during recording
  • MMR triage for gelatine-free vaccine (MAV-2075) - Nurses can now triage patients to receive only the gelatine-free MMR vaccine when clinically appropriate
  • MMR offline recording (MAV-2448) - Teams can now record MMR vaccinations offline and upload them back to Mavis when connectivity is restored
  • MMR vaccination reports (MAV-2080) - MMR vaccination records can now be exported in both Mavis and CarePlus report formats
  • MMR eligibility determination (MAV-2070) - Mavis now determines MMR eligibility based on Green Book guidance, tracking whether children need their first dose, second dose, or are fully vaccinated
  • Vaccination status display (MAV-2082) - Changed vaccination statuses across all programmes to clearly distinguish between not eligible, eligible, due for vaccination, and vaccinated states, with specific dose information for MMR
  • MMR consent confirmation emails (MAV-2379) - Consent confirmation emails for MMR now clearly state when parents have agreed to the gelatine-free vaccine option
  • MMR consent request emails (MAV-2445) - MMR consent request emails now include the child's name in the subject line to improve response rates
  • MMR vaccination confirmation messages (MAV-2103) - Parents now receive appropriate side effect information for MMR vaccines in confirmation messages
  • Consent refusal journey (MAV-2430) - Updated the consent refusal journey across all programmes to clarify that refusal applies to school-based vaccination, with improved hint text and more detailed questions about alternative vaccination arrangements

Changes to existing features

  • Leicestershire clinic communications (MAV-2274) - Updated clinic invitation communications for Leicestershire Partnership Trust to align with their manual booking process
  • Manual triage for all programmes (MAV-2436) - Nurses can now manually update triage outcomes for HPV, flu and doubles vaccinations when new medical information becomes available after consent submission

Bug fixes

  • MAV-2047: Fixed issue where teams could see and action import issues for children who had moved out of their area after being archived
  • MAV-1249: Fixed issue where dose information showed as 'P' instead of being blank in CarePlus export files, when the vaccination dose sequence isn't set

Post-release tasks

  • Run data_migrations:set_consent_without_gelatine Rake task (can be done in parallel with below, takes about 10 minutes)
  • Run data_migrations:set_triage_without_gelatine Rake task (can be done in parallel with below, takes about 10 minutes)
  • Run Patient.order(:id).in_batches(of: 10_000).each_with_index { |batch, index| puts index; StatusUpdater.call(patient: batch) } in a console (must be run after the first two, takes about an hour)
  • Enable statuses_changed_banner feature flag

v5.3.0

28 Oct 17:19
c6c2579

Choose a tag to compare

Full Changelog: v5.2.3...v5.3.0

Preparation for MMR

  • MMR communications (MAV-2071) - Updated communications with MMR-specific content throughout the parent consent journey
  • MMR batch settings (MAV-2296) - Turned off default batch for MMR vaccinations to better support the MMR workflow
  • Simplified pre-screening (MAV-2347) - Pre-screening questions have been simplified to improve the vaccination recording workflow
  • MMR triage option (MAV-2303) - Added option to triage MMR cases even when status is "no triage needed", providing greater flexibility for clinical decision-making

General improvements

  • Unmatched consent highlighting (MAV-2053) - Sessions now highlight when there are unmatched consent responses, making it easier for teams to identify and resolve consent issues
  • NHS number daily lookup results (MAV-2065) - Search results now display NHS numbers found from the daily PDS lookup, improving patient record management
  • Imms API dose quantity handling (MAV-2318) - Unknown dose quantities from the Imms API are now properly reflected in Mavis vaccination records

Technical improvements

  • Database performance (MAV-2262) - Identified and created missing database indices to improve page loading times
  • PDS feature flags refactoring (MAV-2271) - Refactored feature flags for PDS jobs during import for better maintainability
  • Name normalisation (MAV-2288) - Child names are now normalised on consent forms before searching PDS, improving match rates
  • Background job optimisation (MAV-2420) - Optimised performance of background job that moves aged out patients to unknown school
  • AWS access management (MAV-2250) - Added AWS shell access to Developer role in production account for improved operational support

Bug fixes

  • MAV-2322: Fixed incorrect label for eligible children checkbox
  • MAV-2326: Fixed issue where 'did not consent' tally did not include children in "conflicting consent" state
  • MAV-2351: Fixed issue where users could not "keep both records" if no NHS number was found for upload and existing record

Post-release tasks

PR #4902:

  • Deploy account stack

PR #4820:

  • Run deploy monitoring workflow