Skip to content

Releases: NHSDigital/manage-vaccinations-in-schools

v7.6.0

27 Mar 14:44
c2140f3

Choose a tag to compare

v7.6.0 Pre-release
Pre-release

Full Changelog: v7.5.0...v7.6.0

Simplify clinics and vaccination recording

  • Record a new vaccination from the child record page (MAV-3187) - Added the ability to record a vaccination directly from a child's record page, replacing the need to find children through a clinic session
  • Explicit school unknown and home-schooled locations (MAV-3159) - Replaced the generic clinic location with separate "school unknown" and "home-schooled" locations, with a data migration for existing records
  • Download and reupload offline spreadsheet for clinic vaccinations (MAV-3900) - Added the ability to download offline spreadsheets from unknown school, home-educated school, and invited-to-clinic views, and reupload them using a new "clinic" session ID
  • Send consent request from child record page (MAV-5308) - Added a "Send consent request" button on the child record page for children who have been invited to a clinic and need consent

Notifications

  • Move session and clinic invitation rendering into Mavis (MAV-4114) - Moved session reminder and clinic invitation email and text rendering from GOV.UK Notify templates into the Mavis codebase, completing the comms migration
  • Store subject and body of each email and SMS sent (MAV-3934) - Added storage of the full rendered content of every sent email and SMS in the database, enabling future display of message bodies in the activity log

General improvements

  • Use primary source for national reporting records (MAV-5326) - Updated national reporting to use the primary source flag when selecting vaccination records for reporting
  • Prevent searching per programme for vaccination records before September 2025 (MAV-5066) - Disabled per-programme Imms API search for vaccination records dated before September 2025 to avoid incorrect vaccination status during the MMR data migration period
  • Accept Imms API records whose dose sequence exceeds internal limits (MAV-4848) - Changed Imms API record imports to save records with a dose sequence exceeding Mavis's maximum with a nil dose sequence instead of failing

Bug fixes

  • MAV-5056: Fixed logic for sending initial clinic invitations and subsequent reminders so only the correct action appears on the child record page
  • MAV-5059: Fixed child count on the Schools page not matching the Children page count for "No known school" after archiving children
  • MAV-5060: Fixed wording difference for an allergic reaction health question between the MMR/MMRV online and verbal forms and the PDF form
  • MAV-5564: Fixed clinic consent request emails having unpopulated placeholders for location and date

v7.5.0

24 Mar 09:25
7d66315

Choose a tag to compare

Full Changelog: v7.4.0...v7.5.0

General improvements

  • Enable Imms API search in production for remaining programmes (MAV-5171) - Enabled the Imms API search feature flag in production for HPV, Td/IPV, MenACWY, MMR and MMRV programmes
  • Fix reporting codes for lower position arm anatomical sites (MAV-5175) - Updated anatomical site codes in CarePlus and SystmOne reports for lower arm position vaccinations to correctly reference the upper arm/deltoid instead of the forearm
  • Move triage outcomes and vaccination confirmations rendering into Mavis (MAV-4112, MAV-4113) - Moved triage outcome and vaccination confirmation email and text rendering from GOV.UK Notify templates into the Mavis codebase, continuing the comms migration
  • Allow editing of school year groups (MAV-5172) - Added the ability to edit year groups for schools and school sites, reducing reliance on GIAS data which can lag behind real-world changes
  • Make SAIS side of Mavis more accessible (MAV-1379) - Improved accessibility across the SAIS interface including page structure, heading hierarchy, error summaries, visually hidden link context, and unique page titles
  • Update label for gelatine-related refusal reason (MAV-5296) - Updated the wording of the gelatine-related refusal reason to clarify that it reflects a parent's concern about vaccine ingredients

Platform & Operations improvements

  • Improve performance of reporting totals endpoint (MAV-3406) - Improved the performance of the reporting totals endpoint to prevent timeouts with large data volumes
  • Improve performance of CLI tools (MAV-5182) - Improved the performance of CLI tools by restricting the scope of PatientTeamUpdater
  • Fix ActiveRecord exports for web service (MAV-5297) - Fixed ActiveRecord metrics initialisation timing so metrics are correctly collected in the web service
  • Tune indices for patient search (MAV-5299) - Added database indices on patient name fields to improve search and background job performance
  • MAV-5317: Fixed Falcon container crashing in HTTPS mode due to directory write restrictions in ECS

Bug fixes

  • MAV-5054: Fixed race condition causing 422 errors when syncing MMR vaccination records to the Imms FHIR API
  • MAV-5057: Fixed MMR and MMRV PDF consent forms missing the blood/plasma transfusion health question
  • MAV-5303: Fixed superfluous extra lines appearing in consent request and reminder emails for single-date sessions and Year 8 HPV cohorts

v7.4.0

17 Mar 18:39
623e108

Choose a tag to compare

Full Changelog: v7.3.0...v7.4.0

Vaccination reporting

  • Code and CLI tool to generate new type of CarePlus report (MAV-4626) - Added a new automated CarePlus report format with required fields and a CLI tool for testing report generation
  • Show a banner for national reporting users explaining the cut-off date (MAV-3867) - Added a banner on the national reporting uploads page to inform users about the reporting cut-off date

General improvements

  • Remove review screen feature flag and redundant code (MAV-3066) - Removed the import review screen feature flag and associated redundant code, making the review screen permanently enabled
  • Move consent requests and reminders rendering into Mavis (MAV-4111) - Moved consent request and reminder email and text rendering from GOV.UK Notify templates into the Mavis codebase, continuing the comms migration
  • Change homepage and navigation for support team (MAV-4847) - Updated the homepage and navigation for support team users to restrict access to ops tools only
  • Fix MMR status computation with mixed performed_at types (MAV-5061) - Fixed MMR vaccination status being incorrectly computed when vaccination records had mixed Date and TimeWithZone performed_at types
  • Remove vaccination_record_organisation source from PatientTeam (MAV-5067) - Removed the now-obsolete vaccination_record_organisation source from patient-team relationships as a cleanup following the earlier PatientTeamUpdater change

Platform & Operations improvements

  • Revert CITEXT column type (MAV-5183) - Reverted the case-insensitive column type change for patient names that was causing patient similarity searches to be significantly slower
  • Export ActiveRecord metrics (MAV-5185) - Added export of ActiveRecord metrics for improved database monitoring
  • Persist scaled web service in production (MAV-5187) - Persisted the scaled web service configuration in production
  • MAV-5188: Fixed connection timeouts for users caused by database connection pool exhaustion

Bug fixes

  • MAV-1189: Fixed error when creating a patient from a consent form where a patient with the same NHS number already exists in the service
  • MAV-3896: Fixed users being able to attempt recording a 2nd dose of MMRV without first marking the child as attending
  • MAV-4094: Fixed historical vaccination uploads showing in the activity log on the vaccination date instead of the upload date

Post-release tasks

PR #6219:

  • Change the support team to be of type support instead of point_of_care.

v7.3.0

13 Mar 12:33
7fe89e6

Choose a tag to compare

Full Changelog: v7.2.0...v7.3.0

Vaccination reporting

  • Add CarePlus report model for traceability and link to vaccination records (MAV-4625) - Added a new database model to support automated CarePlus reporting, storing report details such as academic year, programme type, and reporting period
  • Update CarePlus MenACWY vaccine code (MAV-4105) - Updated the vaccine code used for MenACWY in CarePlus reports
  • Add LA list to regional reports (MAV-4628) - Added a list of local authorities to regional reports

General improvements

  • Consent PDF form for MMRV (MAV-2847) - Added a downloadable PDF consent form for MMRV sessions, distinct from the existing MMR form
  • Send clinic invitations to home-schooled and school unknown children (MAV-3428, MAV-3886) - Added a new page for manually sending clinic invitations to children with no known school or who are home-schooled, with a count of children due vaccination who have not yet been invited
  • Move consent confirmation rendering into Mavis (MAV-3933) - Moved consent confirmation email and text rendering from GOV.UK Notify templates into the Mavis codebase, continuing the comms migration started in v7.1.0
  • Update status colours (MAV-4422) - Updated status tag and session overview colours across the application for improved consistency
  • Improve vaccination record import duplication validation error message (MAV-4827) - Improved the error message shown when duplicate rows are detected during vaccination record imports
  • Add purpose column to notification log entries (MAV-4087) - Added a purpose column to notification log entries to categorise outbound emails and SMS by type, with a backfill data migration for existing records

Platform & Operations improvements

  • Automate post-deployment steps (MAV-4101) - Added automation for post-deployment feature flag and data migration steps
  • Improve patient lookup performance (MAV-3435) - Improved the performance of patient search and lookup queries
  • Replace Thruster/Puma with Falcon (MAV-3446) - Replaced the Thruster/Puma web server with Falcon for improved performance
  • Speed up deployments to test environments (MAV-3850) - Reduced deployment times for test environments
  • MAV-3307: Fixed BulkRemoveParentRelationshipsJob not being throttled

Bug fixes

  • MAV-3892: Fixed the "Send manual reminders" button on clinic sessions not doing anything when clicked
  • MAV-3947: Fixed dose sequence not being visible or editable for vaccination records created before the dose sequence change
  • MAV-3950: Fixed vaccination records without a vaccine brand breaking report downloads
  • MAV-4629: Fixed the new "invited to clinic" filter being missing from the Children page

v7.2.0

10 Mar 12:17
a7fd930

Choose a tag to compare

Full Changelog: v7.1.0...v7.2.0

Vaccination recording

  • Explicitly record dose sequence for MenACWY (MAV-3425) - Added explicit dose sequence recording for MenACWY vaccinations

Patient record management

  • Build new child record designs (MAV-2854, MAV-3834, MAV-3836, MAV-3837, MAV-3838) - Redesigned child record pages with programme tabs, sessions split across programme tabs, vaccination record sections, and programme activity timeline
  • Remove vaccination record organisation as source for patient-team association (MAV-3875) - Removed the vaccination record organisation as a data source for determining patient-team relationships
  • MAV-3409: Fixed "Already had vaccine" not being recorded in the activity log

Schools and sites management

  • Ability to edit school sites (MAV-3270) - Added the ability to edit school site details from the team schools page
  • Add school to team (MAV-3271) - Added a UI for adding schools directly to a team from the team schools page
  • Update hint text for school question search field (MAV-3410) - Updated the hint text on school search fields in the consent form and add school wizard

Imports and uploads

  • Don't generate school moves when uploading cohort records with unknown school (MAV-3920) - Prevented school moves from being generated when a cohort upload has "school unknown" for a child already at a known school in another team
  • Paginate completed and incompleted imports pages (MAV-4086) - Added pagination to the completed and incompleted imports pages for teams with large numbers of imports
  • Limit display of errors to 100 when viewing imports with invalid rows (MAV-4623) - Limited the display of row validation errors to 100 on import pages to prevent timeouts on large imports
  • MAV-3408: Fixed vaccination record uploads with duplicate rows not being rejected

Clinic invitations

  • Display and allow filtering on whether a child has been invited to a clinic (MAV-3885) - Added a clinic invitation filter and display showing which programmes a child has been invited to
  • MAV-3925: Fixed parents being able to inadvertently find out a child has been vaccinated under Gillick when invited to a clinic

Notifications

  • Add purpose column to notification log entries (MAV-4087) - Added a purpose column to notification log entries to categorise outbound emails and SMS by type, with a backfill data migration for existing records

Platform & Operations improvements

  • Allow db:seed in sandbox environments (MAV-3856) - Enabled database seeding in sandbox environments for testing and development
  • Improve logging of jobs (MAV-4085) - Improved logging for background jobs to aid debugging and monitoring
  • MAV-3307: Fixed BulkRemoveParentRelationshipsJob not being throttled

Post-release tasks

  • Update CarePlus staff type value for Midlands Central and North SAIS teams (MAV-4102) - Updated CarePlus staff type values for Midlands Central and North SAIS teams to support reporting

PR #6141:

  • SchoolMove.where(school: nil, home_educated: false).includes(patient: :changesets).select do changeset = it.patient.changesets.last changeset.import_type == "CohortImport" && changeset.school_move_to_unknown_school_from_another_team? end

PR #6181:

v7.1.0

03 Mar 18:13
ba3dd8c

Choose a tag to compare

Full Changelog: v7.0.0...v7.1.0

MMRV / MMR programme

  • Outbreak consent request toggle for MMR sessions (MAV-2073) - Added ability for SAIS teams to specify whether an MMR session is routine or outbreak-related, sending the appropriate consent request to parents
  • Update SMS consent requests for MMR/MMRV (MAV-3899) - Updated SMS consent request templates for MMR and MMRV programmes to reduce parent confusion
  • MAV-2900: Fixed parental consent confirmation page incorrectly displaying "MMR" instead of "MMR(V)" for eligible children

Consent forms

  • Display 'Nasal spray or injected vaccine' when parent consents to both flu vaccine types (MAV-2569) - Changed 'Chosen vaccine' display from 'No preference' to 'Nasal spray or injected vaccine' when a parent has consented to both flu vaccine options
  • Change wording of refusals due to gelatine (MAV-3377) - Updated gelatine-related refusal reason wording for flu and MMR consent forms
  • Move consent confirmation templates into Mavis (MAV-3882, MAV-3922) - Moved the consent confirmation given email and text templates from GOV.UK Notify into the Mavis codebase with no change in functionality
  • MAV-3330: Fixed consent responses being updated when parent details are changed after submission

Vaccination recording

  • Explicitly record dose sequence for Td/IPV (MAV-3426) - Added explicit dose sequence recording for Td/IPV vaccinations, defaulting to dose 5 with the option to edit

Clinic invitations

  • Track clinic invitation status per programme (MAV-3884) - Added backend tracking of whether a patient has been invited to a clinic for a particular programme
  • Stop sending automatic invitations to clinics (MAV-3887) - Disabled automatic clinic invitation emails and texts for home-schooled and unknown school children, requiring manual invitations instead

Imports and uploads

  • Batch-save patients during vaccination import (MAV-3895) - Improved performance of vaccination record imports by batch-saving patient records
  • MAV-3897: Fixed users being unable to access the Imported records tab on the import re-review screen

Patient record management

  • Rename 'Child's details' to 'Child record' (MAV-3871) - Updated the card title from "Child's details" to "Child record" across the application
  • Refactor patient secondary navigation component (MAV-3872) - Refactored the secondary navigation between child record and activity log pages with no functional changes
  • Update activity log design to use timeline styles (MAV-3873) - Updated the activity log layout to use NHS App timeline styles with a blue bar and circle indicators

Schools and sites management

  • Refactor Add school site wizard (MAV-3876) - Refactored the Add school site wizard with no functional changes

Bug fixes

  • MAV-3431: Fixed GP practice download failing to produce a zip file

Pre-release tasks

PR #6112:

  • ensure all ConsentFormProgramme have disease_types column set: ConsentFormProgramme.where(disease_types: nil).any?

Post-release tasks

PR #6061:

  • Run backfill task: rake data_migration:backfill_consent_parent_details
  • Verify backfill completed successfully by checking consent records have parent_full_name populated

v7.0.0

27 Feb 16:41
471ae17

Choose a tag to compare

Full Changelog: v6.21.0...v7.0.0

FHIR Imms API

  • Enable sync feature flags for the remaining vaccination programmes (MAV-2672) - Enabled API sync feature flags for all remaining vaccination programmes in production

National reporting

  • Create teams in production for national reporting pilot (MAV-3852) - Set up teams in production for the national reporting pilot

v6.21.0

25 Feb 16:33
471ae17

Choose a tag to compare

Full Changelog: v6.20.0...v6.21.0

MMRV programme

  • Make the "Already vaccinated" journey work for MMR & MMRV: full journey (MAV-2848) - Implemented complete "Already vaccinated" journey for MMR and MMRV vaccinations
  • Explicitly record dose sequence for MMR(V) (MAV-2937) - Added functionality to explicitly record dose sequence for MMR and MMRV vaccinations
  • Give or refuse consent for MMRV if child born after 1/1/2020 (MAV-3441) - Implemented consent flow for MMRV for children born on or after 1st January 2020
  • Content tweak for recording MMR(V) (MAV-3417) - Updated content and wording when recording MMR(V) vaccinations
  • MAV-3404: Fixed issue where status of MMRV incorrectly stated fully vaccinated after recording 1st dose given
  • MAV-3863: Fixed issue where reminder email was not received for MMRV vaccination when triggered manually
  • MAV-3868: Fixed issue where consent email was not mentioned as MMRV specifically, displaying as MMR(V)
  • MAV-3864: Fixed inconsistent status behaviour when "Record as vaccination given" for MMR(V) forced offline
  • MAV-3869: Fixed issue where when recording as already vaccinated, incorrectly shown as historic vaccination
  • MAV-3888: Fixed issue where MMRV consent reminder emails stated about the MMR vaccine

Imports and uploads

  • Change 'Import' to 'Upload' in 2 places on Imports UI (MAV-3424) - Updated terminology from 'Import' to 'Upload' for consistency
  • MAV-302: Fixed issue where if you finished an upload and reviewed the import issues for that upload, after you'd approved the upload the issues were still visible
  • MAV-3840: Fixed issue where new patient was not attributed to the import in "Keep both records" flow
  • MAV-3866: Fixed issue where imports screen showed wording "import" rather than "upload" which was inconsistent
  • MAV-3405: Fixed issue where when recording already had vaccination at community clinic, incorrectly asked to select a location

Vaccination reporting

  • Add gender column to CarePlus report (MAV-3439) - Added gender column to CarePlus vaccination report
  • MAV-3877: Fixed issue where SystmOne and CarePlus vaccination reports could not be downloaded when already vaccinated records were present

Schools management

  • MAV-3427: Fixed issue where school sites across teams were created incorrectly

National reporting

  • Add new RBAC roles to Mavis nurse and admin roles (MAV-3846) - Added new role-based access control roles to Mavis nurse and admin roles

Platform & Operations improvements

  • Change container health checks (MAV-1865) - Updated container health check configuration for improved monitoring
  • Disable unused image processing in framework configuration (MAV-3848) - Disabled unused image processing functionality in framework configuration for improved performance

Post-release tasks

PR #6050:

  • run rake data_migration:backfill_consent_form_programme_disease_types
  • in the console, check number of consent form programmes with disease types set:
  • Update the labels on templates in Notify to reflect which ones are now live

v6.20.0

19 Feb 17:42
33620e3

Choose a tag to compare

Full Changelog: v6.19.0...v6.20.0

National reporting and Mavis Upload

  • Restrict anatomical site based on vaccination product for national reporting uploads (MAV-3387) - Implemented validation to restrict anatomical site options based on the vaccination product for national reporting uploads
  • Block national reporting uploads if they contain records which were performed before programme started (MAV-3320) - Added validation to prevent uploading vaccination records that were performed before the programme start date
  • Align the content of validation errors between patient imports and vaccination records (MAV-3433) - Aligned validation error messages between patient imports and vaccination records for consistency
  • MAV-3429: Fixed issue where field error message for local_patient fields didn't follow specification
  • MAV-3389: Fixed issue where duplicate vaccination records showed IMMS synced message for both records
  • MAV-2948: Fixed issue where incorrect error message content was shown during upload validation

Patient record management & schools management

  • MAV-2359: Fixed issue where changesets and search results were attributed to the wrong patient in "Keep both records" flow
  • MAV-1253: Fixed issue where "Keep both records" and "Keep previously uploaded record" flows mixed up parent contact details
  • MAV-248: Fixed issue where there was no entry in the activity log to indicate that another record had been merged
  • Revisit the technical design for ensuring the latest schools are on production (MAV-496) - Reviewed and improved technical design for ensuring the latest school data is available on production

Platform & Operations improvements

  • Wait longer before giving up on import processes (MAV-3844) - Increased timeout duration for import processes to handle larger files
  • Increase sidekiq resources (MAV-3459) - Increased Sidekiq resources for improved background job processing performance

Bug fixes

  • MAV-3412: Fixed issue with missing template names for notify communications
  • MAV-3391: Fixed issue where address for sensitive patient was displayed in session view, minus postcode
  • MAV-3310: Fixed issue where important notices were not being generated on PDS updates
  • MAV-3272: Fixed issue where recording "already vaccinated" flow was incorrect
  • MAV-3170: Fixed error in archiving patient when reason was "duplicate"

Pre-release Tasks

PR NHSDigital/manage-vaccinations-in-schools-infrastructure#10:

Post-release Tasks

PR #5876:

  • Run data migration to unset performed_at_time on vaccination records:
    bin/rails data_migration:unset_vaccination_record_performed_at_time
    

PR #6046:

  • Run rake data_migration:rename_pending_changes_batch_id

v6.19.0

16 Feb 22:51
c4199a9

Choose a tag to compare

Full Changelog: v6.18.0...v6.19.0

Vaccination history and clinic recording

  • Ignore time when matching on existing vaccination records (MAV-3184) - Updated matching logic to ignore time when matching existing vaccination records
  • Update data model to allow time of vaccination to be optional (2/2) (MAV-3362) - Completed update to data model to make vaccination time optional
  • Clear time on imported vaccination records where time was set to midnight (MAV-3183) - Cleared time values on imported vaccination records where time was incorrectly set to midnight

National reporting and Mavis Upload

  • Reconcile the numbers displayed during upload (MAV-2869) - Reconciled and improved clarity of numbers displayed during file upload process
  • Refactor Batch.name to Batch.number (MAV-3230) - Refactored batch name field to batch number for improved clarity
  • Refactor batch name and expiry to be attributes on vaccination record (MAV-3108) - Refactored batch name and expiry to be stored as attributes on vaccination records
  • MAV-3370: Fixed issue where editing national reporting vaccination records required performed_at_time, when it should be optional

Vaccination reporting

  • Add consent status to Mavis reports (MAV-3282) - Added consent status information to Mavis reports for improved data visibility

Platform & Operations improvements

  • Get slack notifications for AWS Health messages (MAV-3082) - Implemented Slack notifications for AWS Health messages for improved monitoring
  • Update reporting service to be H2 compatible (MAV-3309) - Updated reporting service to be compatible with H2 database
  • Remove name column on Batch (MAV-3151) - Under the hood: removed name column from Batch table as part of rename work
  • Remove batch_id column from VaccinationRecord (MAV-3148) - Under the hood: removed batch_id column from VaccinationRecord as part of denormalisation work
  • Don't log Faraday::ServerError (Imms API 502) to Sentry (MAV-2960) - Prevented logging of Imms API 502 errors to Sentry to reduce noise

Bug fixes

  • MAV-3373: Fixed issue where patient merges didn't work when patient to destroy had PatientProgrammeVaccinationSearches
  • MAV-3294: Fixed issue where important notice was not created when child moved from unknown school in one team to another school in a different team
  • MAV-3284: Fixed issue where vaccination already had notification was not sent when the vaccination was performed at another location

Pre-release tasks

PR NHSDigital/manage-vaccinations-in-schools-infrastructure#8

  • Apply the account stack changes by running ./scripts/apply_account_stack.sh production from the root directory of the repository and follow the steps
  • After apply the ssm parameter needs to be manually updated with the slack webhook url