Skip to content

Version 7.9.0#6617

Merged
thomasleese merged 173 commits intomainfrom
next
Apr 16, 2026
Merged

Version 7.9.0#6617
thomasleese merged 173 commits intomainfrom
next

Conversation

@thomasleese
Copy link
Copy Markdown
Contributor

No description provided.

alistair-white-horne-tng and others added 30 commits April 1, 2026 11:52
The logic for extracting `dose_sequence` is now as follows:
1. Use `doseNumberPositiveInt`
2. Naively cast `doseNumberString` to an `int`
3. Save the value to the `notes` field, so we can analyse them easily
   in the future, to decide how to best parse them

Jira-Issue: MAV-5716
This improves the content in this banner for clarity

Jira-Issue: MAV-5301
Users won't be given access until near the date, and if they log on a
bit early, then it'll still be useful information for them.

Jira-Issue: MAV-5301
- Refactor to use govuk_summary_list
- Show SNOMED code and side effects
Sometimes the teams need a couple days longer to process vaccination
records before uploading them to NIVS, so we hope to extend the NIVS
"switch-off date" by a couple days.

Jira-Issue: MAV-5301
Add Programme#name_on_nhs_uk with locale lookup. Currently only
Td/IPV has one ("3-in-1 teenage booster"), used to show the
common name parents would recognise.

Jira-Issue: MAV-5749
Use trim_mode: "-" so -%> tags suppress trailing newlines,
avoiding newlines around conditional blocks in templates.

Jira-Issue: MAV-5749
Format programme name for parent-facing comms, including the
NHS.uk common name in parentheses when available (e.g.
"Td/IPV (3-in-1 teenage booster)"). Updates programme_names in
GovukNotifyPersonalisation to use the new helper.

Jira-Issue: MAV-5749
Format a vaccine's side effects as a bulleted list for use in
comms templates.

Jira-Issue: MAV-5749
Add vaccination_record_date and vaccination_record_today_or_date
for formatting vaccination dates in comms templates.

Jira-Issue: MAV-5749
Generic helper that returns the human-readable delivery method
(injection/nasal spray) for a vaccine.

Jira-Issue: MAV-5749
Only maps MMR/MMRV disease types (measles, mumps, rubella,
varicella). Uses I18n.t! so unmapped types raise an error.

Jira-Issue: MAV-5749
Replace vaccination_administered_{hpv,menacwy,td_ipv,flu,mmr} with
a single vaccination_administered template using conditionals for
programme-specific content (flu method line, MMR side-effects
duration, MMR second dose section).

The template uses view helpers and direct model access instead of
GovukNotifyPersonalisation indirection where possible. The notifier
no longer builds per-programme template names.

The "needs more doses" section uses ordinalize (e.g. "2nd dose")
rather than words (e.g. "second dose") to match NHS.uk style.

Old template IDs added to RETIRED_TEMPLATE_IDS for activity log
backwards compatibility.

Jira-Issue: MAV-5749
Update vaccination_not_administered, vaccination_already_had, and
vaccination_administered SMS templates to use programme_name_for_parents,
vaccination_record_today_or_date, vaccine_side_effects_list, and
team_contact_* helpers instead of GovukNotifyPersonalisation methods.

Jira-Issue: MAV-5749
This method is no longer needed — the second dose message content
is now inlined in the unified vaccination_administered template,
using mmr_second_dose_required? for the conditional.

Jira-Issue: MAV-5749
The non-? alias was a leftover from the old Notify template syntax
which couldn't call methods ending in ?. All internal callers now
use mmr_second_dose_required? directly.

Jira-Issue: MAV-5749
batch_name, day_month_year_of_vaccination, today_or_date_of_vaccination,
and vaccine_brand are no longer used by any template — their
functionality has been replaced by view helpers and direct model access
in the unified vaccination_administered template.

Jira-Issue: MAV-5749
This renames the type to `gias_school` to make the distinction between
it and the `generic_school` location type clearer. Specifically, the two
are location types are similar, but are not subsets of each other.

Jira-Issue: MAV-5556
This adds a `school` scope and `school?` predicate on locations which
will group together the two school types (`gias_school` and
`generic_school`).

Jira-Issue: MAV-5556
This reformats the configuration to ensure consistency.

Jira-Issue: MAV-5890
This will be used to enable/disable functionality related to vaccinating
patients over the age of 16. We need this as a feature flag to ensure we
can start to test and deploy some of the new features across multiple
releases.

Jira-Issue: MAV-5890
For HPV, MenACWY, MMR(V), and Td/IPV, only if the feature flag is
enabled.

Jira-Issue: MAV-5890
samcoy3 and others added 26 commits April 15, 2026 12:33
This makes a couple of minor changes to the local authority related
models to tidy up the code.
This fixes a cosmetic issue where a banner which indicates that PII cannot be displayed is not displayed because the show_pii logic short-circuits before setting all member variables.

Jira-Issue: MAV-3019
…codes

Small tidy ups to local authority models
This gives us a significant performance boost because when we provide the
`patients` association as a scope to the `PatientStatusUpdater` directly, when
that scope is used with includes later it creates a join which, we believe,
includes every record in the `immunisation_imports_patients` table before
applying any `import_id = ?` filter. This means that the more patients we've got
connected to imports, the slower this query is.

Jira-Issue: MAV-6231
Pink has been removed as a color in gov-uk tags, and so whenever the timeline page loads with a school move log entry the user currently sees an error.
This change fixes this by using a supported color.
When the NHS Immunisations API reveals a child was vaccinated elsewhere,
the vaccination_already_had email template crashes because
vaccination_record.session is nil for API-sourced records.

Reproduces the NameError reported in MAV-6064.
Vaccination records from the NHS API have no session, so the
team_contact_* helpers crashed calling .subteam on nil.

Change the helpers to accept named parameters and handle sessions
being nil.

Fixes MAV-6064.
Raise ArgumentError if neither or both session: and
vaccination_record: are provided.

Jira-Issue: MAV-6064
…-had-template-error

Parents not notified when NHS API shows their child was vaccinated elsewhere
…updater

Optimise call to status updater in imms import
Pink has been removed as a color in gov-uk tags, and so whenever the timeline page loads with a school move log entry the user currently sees an error. This change fixes this by using a supported color.

Jira-Issue: MAV-6233
Fixes a QA-reported case where a child added to a session made active
today could end up with the programme status "Needs consent - No response"
instead of being treated as "Needs consent - Request not scheduled"

The issue was that `status_should_be_request_not_scheduled?` only checked
whether `send_consent_requests_at` was missing, and did not account for it
already being in the past. That can happen when a new session is created
and activated on the same day.

Jira-Issue: MAV-6059
…sion-add

Handle past consent request dates for active sessions
…chool-move

Fix consent status after moving a child to home education
Bumps [aws-sdk-ecr](https://github.com/aws/aws-sdk-ruby) from 1.124.0 to 1.125.0.
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-ecr/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-ecr
  dependency-version: 1.125.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
This had the potential to cause a bug; previously the job could have
discarded incoming records because they duplicated a not-given record
in Mavis.
…inst-administered

Only dedupe against `administered` in Imms API search job
Should have been included as part of
#6578

Jira-Issue: MAV-5893
…ontent-tweak-2

One further upload format tweak
…tuses-scheduled-not-scheduled

Revert "needs consent request scheduled / not scheduled"
@thomasleese thomasleese requested a review from a team as a code owner April 16, 2026 14:44
@thomasleese thomasleese merged commit be6fad3 into main Apr 16, 2026
90 of 92 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.