Skip to content

It's cohort-imports not cohort_imports#6628

Open
misaka wants to merge 44 commits intonextfrom
fix-cohort-imports-url
Open

It's cohort-imports not cohort_imports#6628
misaka wants to merge 44 commits intonextfrom
fix-cohort-imports-url

Conversation

@misaka
Copy link
Copy Markdown
Collaborator

@misaka misaka commented Apr 17, 2026

/cohort_imports/:id -> /cohort-imports/:id with an added redirect in case anyone is passing these URLs around.

MAV-6734

thomasleese and others added 30 commits April 16, 2026 13:52
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
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
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
This reduces the risk of supply chain attacks where the tag points to a
different commit implicitly without us being aware.

Jira-Issue: MAV-5897
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
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.
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
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.
…undle-link-mismatch

Suppress warning for `immunization.target` mismatch
…tions

Improve date validations on imports
Only consider today’s Gillick assessments as valid
We've seen some evidence that the batching queries generated by
`PatientStatusUpdater#update_programme_statuses!` are (at least sometimes) slow
in production, potentially because of a bunch of sequential scans relating to
JOINs generated by the call to `ActiveRecord::QueryMethods#includes`.

The call to `#includes` is necessary in order to trigger eager loading of
associations to avoid N+1 queries when calling
`Patient::ProgrammeStatus#assign`. However, this is only relevant for the batch
queries which make the model instances available within each batch; not for the
batching queries which just work out which model IDs to include in a given
batch.

Thus we can simplify the batching queries without changing the overall
behaviour by using `ActiveRecord::Batches#in_batches` [1] instead of
`#find_in_batches` and moving the call to `#includes` onto the batch relation.

Note that as per the `ActiveRecord::QueryMethods#includes` docs [2]:

> A separate query is performed for each association, unless a join is required
> by conditions.

This means that the JOINs were only being generated on the batching queries
when the patient scope included a condition, e.g. when associated with an
`ImmunisationImport`. Given the instance of `PatientStatusUpdaterJob` scheduled
overnight [3] uses the default arguments, its batching query is *unscoped* and
thus it may not directly benefit from any performance improvements made by the
changes in this commit.

[1]: https://api.rubyonrails.org/v8.1.3/classes/ActiveRecord/Batches.html#method-i-in_batches
[2]: https://api.rubyonrails.org/v8.1.3/classes/ActiveRecord/QueryMethods.html#method-i-includes
[3]: https://github.com/NHSDigital/manage-vaccinations-in-schools/blob/6895ee514a018aaa507a460e332a32b3d9e8b6a1/config/sidekiq.yml#L70-L73

Co-authored-by: Chris Lowis <chris.lowis@gofreerange.com>
Co-authored-by: Chris Roos <chris.roos@gofreerange.com>
…atient-status-updater

Simplify batching query in PatientStatusUpdater
Pin all GitHub Actions to commit SHAs for security
jhenderson and others added 14 commits April 16, 2026 21:40
…nders

Previously, HPV, doubles, flu, MMR(V) used separate templates for the first
reminder and for second-and-beyond reminders. Those templates had only
minor differences, which made them harder to maintain and increased the
risk that improvements made to one version would not be applied to the
other.

This change updates reminder template selection so school consent
reminders always use the unified consent_school_reminder_* templates,
regardless of whether the reminder is the first one or a later one.

Jira-Issue: MAV-2841
…r-templates

Use one template for all school consent reminders and subsequent reminders
Bumps [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials) from a89a83ec143615402a01f672b6e172b7b1875000 to ec61189d14ec14c8efccab744f656cffd0e33f37.
- [Release notes](https://github.com/aws-actions/configure-aws-credentials/releases)
- [Changelog](https://github.com/aws-actions/configure-aws-credentials/blob/main/CHANGELOG.md)
- [Commits](aws-actions/configure-aws-credentials@a89a83e...ec61189)

---
updated-dependencies:
- dependency-name: aws-actions/configure-aws-credentials
  dependency-version: ec61189d14ec14c8efccab744f656cffd0e33f37
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [falcon](https://github.com/socketry/falcon) from 0.55.2 to 0.55.3.
- [Release notes](https://github.com/socketry/falcon/releases)
- [Changelog](https://github.com/socketry/falcon/blob/main/releases.md)
- [Commits](socketry/falcon@v0.55.2...v0.55.3)

---
updated-dependencies:
- dependency-name: falcon
  dependency-version: 0.55.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [parallel_tests](https://github.com/grosser/parallel_tests) from 5.6.0 to 5.7.0.
- [Changelog](https://github.com/grosser/parallel_tests/blob/master/CHANGELOG.md)
- [Commits](grosser/parallel_tests@v5.6.0...v5.7.0)

---
updated-dependencies:
- dependency-name: parallel_tests
  dependency-version: 5.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…xt/aws-actions/configure-aws-credentials-ec61189d14ec14c8efccab744f656cffd0e33f37

Bump aws-actions/configure-aws-credentials from a89a83ec143615402a01f672b6e172b7b1875000 to ec61189d14ec14c8efccab744f656cffd0e33f37
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 94527f2e458b27549849d47d273a16bec83a01e9 to 37802adc94f370d6bfd71619e3f0bf239e1f3b78.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](astral-sh/setup-uv@94527f2...37802ad)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 37802adc94f370d6bfd71619e3f0bf239e1f3b78
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…xt/astral-sh/setup-uv-37802adc94f370d6bfd71619e3f0bf239e1f3b78

Bump astral-sh/setup-uv from 94527f2e458b27549849d47d273a16bec83a01e9 to 37802adc94f370d6bfd71619e3f0bf239e1f3b78
Add columns for careplus namespace, username and password to team model
* Currently uses the mock service until access to the real service is granted
* Sets the Careplus URL for each environment
* Extracts logic to send requests into Careplus::Client

Jira-Issue: MAV-5884
Add CLI tool which sends a given CSV to careplus service
Somehow we added the path to view cohort imports as '/cohort_imports'. Probably
my fault, as usual.

Jira-Issue: MAV-6734
@misaka misaka requested a review from a team as a code owner April 17, 2026 14:30
@misaka misaka added the bug Something isn't working label Apr 17, 2026
@misaka misaka added this to the v8.2.0 milestone Apr 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants