Version 8.1.0#6677
Merged
thomasleese merged 137 commits intomainfrom Apr 23, 2026
Merged
Conversation
- Ensure main doesn’t encompass navigation - Fix spacing on session layout
* To be used for sending reports to the careplus service Jira-Issue: MAV-5294
This is instigated by an `ImmunisationImport` which silently failed because it parsed `04/02/12` as `4th Feb 0012`, which failed the patient validation on `date_of_birth`'s academic year > 1900. Jira-Issue: MAV-6541
Without this, it's possible to enter a date of birth which will cause a validation error on the `Patient` model, because the `Patient`'s `birth_academic_year` will be < 1900. Jira-Issue: MAV-6541
The Imms API used to have a bug where they referred to `immunization.target` instead of `-immunization.target`. They have since fixed this, but they now include both versions in the `bundle.link` field. We must exclude the deprecated version from the comparison. The unit tests should have been testing this, but the fixtures were set up incorrectly Jira-Issue: MAV-6065
This refactors how the options for the "who" step of the draft consent form are determined to simplify the code, and allow for a more complex set up around self-consent. Jira-Issue: MAV-5915
This adds a method on the `Patient` model that can be used to determine if a child can self-consent, following a competent Gillick assessment. Jira-Issue: MAV-5915
Gillick assessments are only considered valid for the day that they were recorded on. Outside of that, the child needs to be re-assessed before they can self-consent. Jira-Issue: MAV-5915
…ic links on school page
I've renamed this to have a prefix of `pds` as we're going to be adding two more feature flags both related to PDS so it makes sense to group them together. Jira-Issue: MAV-2354
The national reporting teams uses the same vaccination table but requires more details on vaccination records like location and source, whereas full-fat Mavis doesn't need so much information. The new `show_details` arg controls whether to show or hide this info.
This replaces the `enqueue_bulk_updates` setting on `Settings.pds` with a feature flag which makes it easier to be enable/disable the feature without needing an infrastructure deploy. Jira-Issue: MAV-2354
Shows the programme status (heading with colour, contextual detail text, vaccination outcomes table, and action link) for a patient on the session patient show page. This card links to the respective programme tab in the child’s record. Eventually this will be the only card on the page with a coloured heading so various statuses (consent, triage, etc) do not compete for attention and the programme status for the child is reflected right at the top. MAV-4846
This replaces `Settings.pds.enabled` with a feature flag that we can use to quickly enable or disable any PDS related functionality without needing to re-deploy the application. Jira-Issue: MAV-2354
…undle-link-mismatch Suppress warning for `immunization.target` mismatch
…tions Improve date validations on imports
Only consider today’s Gillick assessments as valid
April design review
Fix session layout
When a triage has been performed, the programme card now shows a human-readable summary of the decision (e.g. "Joy, Nurse decided that Oliver is safe to vaccinate.") using the shared triage_summary helper. The delay vaccination case is updated to include the "until" date when present.
This change will make it simpler to delete patients; these foreign key relationships will no longer need to be manually deleted. These objects are considered to be part of the "mechanics" of how the service works, and are only created as part of under-the-hood processes; users don't know that these relationships exist. Many other FK relationships have been left without cascade. These relationships link to objects which the user has created, meaning that they likely need some more careful handling when deleting. `validate: false` is used so that this change doesn't cause a full table lock. This will require a second migration in a subsequent release to validate these foreign keys `access_log_entries`'s FK validation is removed, but not cascaded. It was decided that, because this is a type of audit, these objects should be preserved, and the `patient_id` should be kept, in the same style as the `Audited::Audit`s Jira-Issue: MAV-7064
…vements Patient status updater improvements
Ensure programme status is refreshed once consent requests have been sent. Without this, patients can remain in an out-of-date status after requests go out, which leads to inaccurate status information in the UI and incorrect results when filtering by patient status. Jira-Issue: MAV-7076
…nt summary The total in the top-row red "No consent recorded" box no longer matched the sum of the white boxes beneath it after introducing the newer consent statuses no_contact_details, request_scheduled and request_not_scheduled. This fixes this by including those status enums inconsent_no_response_count query. Jira-Issue: MAV-7075
…-after-consent-request Update patient status after sending consent requests
…-breakdown Fix: reporting app was showing inconsistent child counts in the consent summary
Bumps [faker](https://github.com/faker-ruby/faker) from 3.6.1 to 3.7.1. - [Release notes](https://github.com/faker-ruby/faker/releases) - [Changelog](https://github.com/faker-ruby/faker/blob/main/CHANGELOG.md) - [Commits](faker-ruby/faker@v3.6.1...v3.7.1) --- updated-dependencies: - dependency-name: faker dependency-version: 3.7.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [capybara_accessible_selectors](https://github.com/citizensadvice/capybara_accessible_selectors) from `e204122` to `d518ee5`. - [Release notes](https://github.com/citizensadvice/capybara_accessible_selectors/releases) - [Commits](citizensadvice/capybara_accessible_selectors@e204122...d518ee5) --- updated-dependencies: - dependency-name: capybara_accessible_selectors dependency-version: d518ee5271f60e18a555434160ae02b74e534046 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
…bara_accessible_selectors-d518ee5
Required for ruby 4.0.3 support.
Update to ruby 4.0.3
…delete Add "on delete, cascade" to some `Patient` foreign keys
The JavaScript driver for Capybara was being configured to use Cuprite to drive a browser for JS-enabled specs. However, there are no such specs at the moment and it's not obvious that there have ever been any. When we added `js: true` to an existing feature spec and ran it, we saw an exception, so it's not obvious that it was even working. The feature specs currently use the default Capybara driver which is rack-test. Since this doesn't drive a browser, it doesn't support screenshots, so we removed the `capybara-screenshot` gem as well. `Capybara.asset_host` is only relevant for browser-based specs and so it doesn't need to be set any more. The code that was checking for the browser binary by rescuing `Ferrum::BinaryNotFoundError` is no longer needed, because Ferrum is the lower-level gem used by Cuprite. Currently if a JS-enabled spec is needed it's added to the e2e specs [1] which use Python & Playwright. If we ever need to add JS-enabled specs to this repo, it would probably make sense to use the Playwright driver for Capybara for consistency with the e2e specs. [1]: https://github.com/NHSDigital/manage-vaccinations-in-schools-testing/ Co-authored-by: Chris Lowis <chris.lowis@gofreerange.com>
Follow up to 0f43de1, which fixed the model count but not the aggregate query used by the reporting API. Update the aggregate totals to include the full no-response status set so the breakdown matches the no consent recorded total. Add regression coverage for the aggregate path. Jira-Issue: MAV-7075
…-breakdown-part-2 Fix reporting API consent no-response totals
…river Remove unused Cuprite-related code
Enable reporting tests on PRs
Bumps [aws-actions/amazon-ecr-login](https://github.com/aws-actions/amazon-ecr-login) from 2.1.2 to 2.1.3. - [Release notes](https://github.com/aws-actions/amazon-ecr-login/releases) - [Changelog](https://github.com/aws-actions/amazon-ecr-login/blob/main/CHANGELOG.md) - [Commits](aws-actions/amazon-ecr-login@f2e9fc6...376925c) --- updated-dependencies: - dependency-name: aws-actions/amazon-ecr-login dependency-version: 2.1.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [prettier](https://github.com/prettier/prettier) from 3.8.2 to 3.8.3. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](prettier/prettier@3.8.2...3.8.3) --- updated-dependencies: - dependency-name: prettier dependency-version: 3.8.3 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…xt/aws-actions/amazon-ecr-login-2.1.3
…/prettier-3.8.3
jhenderson
approved these changes
Apr 23, 2026
floehopper
added a commit
that referenced
this pull request
Apr 28, 2026
This method implementation and an invocation from `PatientStatusUpdater#update_programme_statuses!` was originally added in this commit [1] in #6468. Both the implementation and invocation were removed in this commit [2] in #6611. Then the implementation was then re-added without the corresponding invocation in this commit [3] within #6677 which was the "Version 8.1.0" pull request. Since the method is never invoked, it's safe to remove it. [1]: 25e876a [2]: 29460d4 [3]: c66b757
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.