Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
1992216
Enable cross-account backups
bogsi17 Jun 20, 2025
d8b3d02
Update disaster recovery documentation
bogsi17 Jun 23, 2025
d84127f
Update recovery process documentation
bogsi17 Jun 25, 2025
3f4bfcf
Fix destroy workflow
bogsi17 Jun 25, 2025
8f90232
Update documentation
bogsi17 Jun 25, 2025
922d5ba
Validate DB connection in internal healthcheck
TheOneFromNorway Jun 26, 2025
7ebf2b8
Upgrade major AWS terraform provider version
bogsi17 Jul 3, 2025
4ee4a15
Bump flipper-ui from 1.3.4 to 1.3.5
dependabot[bot] Jul 4, 2025
c9dae22
Bump faker from 3.5.1 to 3.5.2
dependabot[bot] Jul 4, 2025
46fb766
Bump solargraph from 0.55.4 to 0.56.0
dependabot[bot] Jul 4, 2025
6fc520f
Merge pull request #3880 from nhsuk/dependabot/bundler/next/solargrap…
MartinVanIJcken Jul 7, 2025
42bc460
Merge pull request #3877 from nhsuk/dependabot/bundler/next/flipper-u…
MartinVanIJcken Jul 7, 2025
1e52855
Merge pull request #3878 from nhsuk/dependabot/bundler/next/faker-3.5.2
MartinVanIJcken Jul 7, 2025
5edc8c4
Merge pull request #3802 from nhsuk/enable_remote_backups
benilovj Jul 7, 2025
8927c81
Bump aws-sdk-s3 from 1.191.0 to 1.192.0
dependabot[bot] Jul 7, 2025
bab2f50
Merge pull request #3881 from nhsuk/dependabot/bundler/next/aws-sdk-s…
benilovj Jul 7, 2025
6255c30
Bump solargraph-rails from 1.1.0 to 1.2.0
dependabot[bot] Jul 7, 2025
59e1c1c
Merge pull request #3879 from nhsuk/dependabot/bundler/next/solargrap…
benilovj Jul 7, 2025
a7becdf
Merge pull request #3828 from nhsuk/validate_db_connection_in_interna…
TheOneFromNorway Jul 8, 2025
4625239
Merge pull request #3873 from nhsuk/aws_provider_version_upgrade
TheOneFromNorway Jul 8, 2025
c907ab4
Add side effects to vaccines
thomasleese Jun 19, 2025
4d6ab08
Expose vaccine side effects as personalisation
thomasleese Jun 19, 2025
34f6328
Seed vaccine side effects
thomasleese Jun 19, 2025
4d1b887
Change session reminder template to point to generic reminder
murugapl Jul 8, 2025
829feef
Merge pull request #3785 from nhsuk/vaccine-side-effects
murugapl Jul 8, 2025
0498ee0
Merge pull request #3894 from nhsuk/session-reminder-template
murugapl Jul 8, 2025
5bc6e4f
Changes needed for successful terraform apply
TheOneFromNorway Jul 8, 2025
26d1997
Merge pull request #3895 from nhsuk/update_deploy_permissions
bogsi17 Jul 8, 2025
a4ec95b
Fix flaky search form test
thomasleese Jul 9, 2025
60c5b9a
Merge pull request #3900 from nhsuk/fix-flaky-search-form-test
thomasleese Jul 9, 2025
65182af
Bump faraday from 2.13.1 to 2.13.2
dependabot[bot] Jul 9, 2025
ae9bcc0
Bump phonelib from 0.10.9 to 0.10.10
dependabot[bot] Jul 9, 2025
03e7e89
Bump pagy from 9.3.4 to 9.3.5
dependabot[bot] Jul 9, 2025
829baf4
Bump flipper-active_record from 1.3.4 to 1.3.5
dependabot[bot] Jul 9, 2025
0760ee7
Bump aws-sdk-ec2 from 1.533.0 to 1.536.0
dependabot[bot] Jul 9, 2025
7277ed4
Bump esbuild from 0.25.5 to 0.25.6
dependabot[bot] Jul 9, 2025
e0fba1a
Merge pull request #3887 from nhsuk/dependabot/npm_and_yarn/next/esbu…
thomasleese Jul 9, 2025
9f5c1b7
Merge pull request #3888 from nhsuk/dependabot/bundler/next/aws-sdk-e…
thomasleese Jul 9, 2025
b417606
Merge pull request #3892 from nhsuk/dependabot/bundler/next/faraday-2…
thomasleese Jul 9, 2025
671c22b
Merge pull request #3889 from nhsuk/dependabot/bundler/next/pagy-9.3.5
thomasleese Jul 9, 2025
7d8a9f3
Merge pull request #3890 from nhsuk/dependabot/bundler/next/flipper-a…
thomasleese Jul 9, 2025
4446fbb
Merge pull request #3891 from nhsuk/dependabot/bundler/next/phonelib-…
thomasleese Jul 9, 2025
fca17b7
Improve data replication deployment
bogsi17 Jul 7, 2025
cbf7080
Merge pull request #3899 from nhsuk/data_replication_improvements
bogsi17 Jul 9, 2025
60198f9
Add Session#eligible_programmes_for
thomasleese Jul 9, 2025
21d07ae
Get programmes for GOV.UK Notify personalisation
thomasleese Jul 9, 2025
cadfd6c
Merge pull request #3903 from nhsuk/govuk-notify-personalisation-prog…
thomasleese Jul 9, 2025
d533c1d
Add nhs_immunisations_api_synced_at to ...
misaka Jun 25, 2025
c8a27f5
Add SyncVaccinationRecordToNHSEJob
misaka Jun 25, 2025
bbe2491
Add mavis vaccination-records sync cli command
misaka Jun 25, 2025
3583ab2
Simplify error handling in imms api
misaka Jul 2, 2025
aa26b14
Add nhs_immunisations_api_id to vaccination record
misaka Jun 30, 2025
119557d
Add nhs_immunisations_api_etag to vaccinations
misaka Jul 9, 2025
b1a9976
Record info when syncing vaccination record
misaka Jul 9, 2025
fc991b2
Add feature flag for immunisations fhir api
misaka Jul 3, 2025
e2b7d21
Set default dose sequence for flu to 1
misaka Jul 4, 2025
f7bc93c
Show dose number against Flu vaccination records
mikejamesthompson Jul 8, 2025
11b1987
Merge pull request #3841 from nhsuk/fhir-create-job
misaka Jul 9, 2025
163a083
Merge pull request #3882 from nhsuk/default-flu-dose
misaka Jul 9, 2025
d3d40e6
Add feature flag for sending vaccination records
misaka Jul 6, 2025
8a1b9ba
Add EnqueueSyncVaccinationRecordToNHSE
misaka Jul 7, 2025
b39ec21
Send vaccination records to NHSE on recording
misaka Jul 6, 2025
b4186b9
Send vaccinations to NHS on offline import
misaka Jul 7, 2025
353df87
Merge pull request #3896 from nhsuk/send-vaccination-records-to-imms-api
misaka Jul 9, 2025
fe6e088
Bump rubocop-govuk from 5.1.15 to 5.1.16
dependabot[bot] Jul 9, 2025
064df17
Bump aws-sdk-ec2 from 1.536.0 to 1.537.0
dependabot[bot] Jul 9, 2025
46d61fb
Merge pull request #3910 from nhsuk/dependabot/bundler/next/rubocop-g…
thomasleese Jul 10, 2025
8da8412
Merge pull request #3911 from nhsuk/dependabot/bundler/next/aws-sdk-e…
thomasleese Jul 10, 2025
652e1eb
Revert "Get programmes for GOV.UK Notify personalisation"
thomasleese Jul 10, 2025
361bf25
Limit programmes to those that are safe to vaccinate
thomasleese Jul 10, 2025
cf58321
Merge pull request #3912 from nhsuk/personalisation-eligible-programmes
thomasleese Jul 10, 2025
7b99d8e
Add Patient#approved_vaccine_methods
thomasleese Jul 10, 2025
0c83de4
Use Patient#approved_vaccine_methods
thomasleese Jul 10, 2025
9513cfe
Merge pull request #3914 from nhsuk/delivery-method-vaccine-side-effects
thomasleese Jul 10, 2025
78db476
Add vaccine_is_injection and vaccine_is_nasal
thomasleese Jul 10, 2025
c4963e6
Merge pull request #3916 from nhsuk/personalisation-vaccine-method
thomasleese Jul 10, 2025
d5ba563
Bump @playwright/test from 1.53.2 to 1.54.0
dependabot[bot] Jul 10, 2025
2a9dd9b
Merge pull request #3928 from nhsuk/dependabot/npm_and_yarn/next/play…
thomasleese Jul 11, 2025
ff382f8
Bump playwright-core from 1.53.2 to 1.54.0
dependabot[bot] Jul 11, 2025
b4cfe97
Merge pull request #3927 from nhsuk/dependabot/npm_and_yarn/next/play…
thomasleese Jul 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 51 additions & 81 deletions .github/workflows/data-replication-pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: Data replication pipeline
run-name: ${{ inputs.action }} data replication resources for ${{ inputs.environment }}
run-name: ${{ inputs.deployment_type }} for data replication resources for ${{ inputs.environment }}

on:
workflow_dispatch:
Expand All @@ -15,18 +15,17 @@ on:
- qa
- sandbox-alpha
- sandbox-beta
deployment_type:
description: Deployment type
required: true
type: choice
options:
- Deployment with DB recreation
- Application only deployment
image_tag:
description: Docker image tag to deploy
required: false
type: string
action:
description: Action to perform on data replication env
required: true
type: choice
options:
- Destroy
- Recreate
default: Recreate
db_snapshot_arn:
description: ARN of the DB snapshot to use (optional)
required: false
Expand All @@ -50,8 +49,8 @@ concurrency:
group: deploy-data-replica-${{ inputs.environment }}

jobs:
prepare:
if: ${{ inputs.action == 'Recreate' }}
prepare-db-replica:
if: ${{ inputs.deployment_type == 'Deployment with DB recreation' }}
name: Prepare data replica
runs-on: ubuntu-latest
permissions:
Expand Down Expand Up @@ -95,58 +94,13 @@ jobs:
terraform init -backend-config="env/${{ inputs.environment }}-backend.hcl" -upgrade
DB_SECRET_ARN=$(terraform output --raw db_secret_arn)
echo "DB_SECRET_ARN=$DB_SECRET_ARN" >> $GITHUB_OUTPUT
- name: ECR login
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
- name: Get docker image digest
id: get-docker-image-digest
run: |
set -e
DOCKER_IMAGE="${{ steps.login-ecr.outputs.registry }}/mavis/webapp:${{ inputs.image_tag || github.sha }}"
docker pull "$DOCKER_IMAGE"
DOCKER_DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' "$DOCKER_IMAGE")
DIGEST="${DOCKER_DIGEST#*@}"
echo "DIGEST=$DIGEST" >> $GITHUB_OUTPUT
outputs:
SNAPSHOT_ARN: ${{ steps.get-latest-snapshot.outputs.SNAPSHOT_ARN }}
DB_SECRET_ARN: ${{ steps.get-db-secret-arn.outputs.DB_SECRET_ARN }}
DOCKER_DIGEST: ${{ steps.get-docker-image-digest.outputs.DIGEST }}

plan-destroy:
name: Plan destruction job
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ env.aws_role }}
aws-region: eu-west-2
- name: Install terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: 1.11.4
- name: Terraform Plan
run: |
set -e
terraform init -backend-config="env/${{ inputs.environment }}-backend.hcl" -upgrade
terraform plan -destroy -var-file="env/${{ inputs.environment }}.tfvars" -var="image_digest=filler_value" \
-var="db_secret_arn=filler_value" -var="imported_snapshot=filler_value" \
-out ${{ runner.temp }}/tfplan_destroy | tee ${{ runner.temp }}/tf_stdout
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: tfplan_destroy_infrastructure-${{ inputs.environment }}
path: ${{ runner.temp }}/tfplan_destroy

destroy:
name: Destroy data replication infrastructure
prepare-webapp:
name: Prepare webapp
runs-on: ubuntu-latest
needs: plan-destroy
environment: ${{ inputs.environment }}
permissions:
id-token: write
steps:
Expand All @@ -157,32 +111,35 @@ jobs:
with:
role-to-assume: ${{ env.aws_role }}
aws-region: eu-west-2
- name: Install terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: 1.11.4
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: tfplan_destroy_infrastructure-${{ inputs.environment }}
path: ${{ runner.temp }}
- name: Terraform Destroy
id: destroy
- name: ECR login
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
- name: Get docker image digest
id: get-docker-image-digest
run: |
set -e
terraform init -backend-config="env/${{ inputs.environment }}-backend.hcl" -upgrade
terraform apply ${{ runner.temp }}/tfplan_destroy
DOCKER_IMAGE="${{ steps.login-ecr.outputs.registry }}/mavis/webapp:${{ inputs.image_tag || github.sha }}"
docker pull "$DOCKER_IMAGE"
DOCKER_DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' "$DOCKER_IMAGE")
DIGEST="${DOCKER_DIGEST#*@}"
echo "DIGEST=$DIGEST" >> $GITHUB_OUTPUT
outputs:
DOCKER_DIGEST: ${{ steps.get-docker-image-digest.outputs.DIGEST }}

plan:
name: Terraform plan
runs-on: ubuntu-latest
needs:
- prepare
- destroy
- prepare-db-replica
- prepare-webapp
if: ${{ !cancelled() &&
(needs.prepare-db-replica.result == 'success' || needs.prepare-db-replica.result == 'skipped') &&
needs.prepare-webapp.result == 'success' }}
env:
SNAPSHOT_ARN: ${{ needs.prepare.outputs.SNAPSHOT_ARN }}
DB_SECRET_ARN: ${{ needs.prepare.outputs.DB_SECRET_ARN }}
DOCKER_DIGEST: ${{ needs.prepare.outputs.DOCKER_DIGEST }}
SNAPSHOT_ARN: ${{ needs.prepare-db-replica.outputs.SNAPSHOT_ARN }}
DB_SECRET_ARN: ${{ needs.prepare-db-replica.outputs.DB_SECRET_ARN || 'arn:aws:secretsmanager:eu-west-2:000000000000:secret:placeholder' }}
DOCKER_DIGEST: ${{ needs.prepare-webapp.outputs.DOCKER_DIGEST }}
REPLACE_DB_CLUSTER: ${{ inputs.deployment_type == 'Deployment with DB recreation' }}
permissions:
id-token: write
steps:
Expand All @@ -200,12 +157,24 @@ jobs:
- name: Terraform Plan
id: plan
run: |
set -e
set -eo pipefail
terraform init -backend-config="env/${{ inputs.environment }}-backend.hcl" -upgrade
terraform plan -var="image_digest=${{ env.DOCKER_DIGEST }}" -var="db_secret_arn=${{ env.DB_SECRET_ARN }}" \
-var="imported_snapshot=${{ env.SNAPSHOT_ARN }}" -var-file="env/${{ inputs.environment }}.tfvars" \
-var='allowed_egress_cidr_blocks=${{ inputs.egress_cidr }}' \
-out ${{ runner.temp }}/tfplan | tee ${{ runner.temp }}/tf_stdout

CIDR_BLOCKS='${{ inputs.egress_cidr }}'
PLAN_ARGS=(
"plan"
"-var=image_digest=${{ env.DOCKER_DIGEST }}"
"-var=db_secret_arn=${{ env.DB_SECRET_ARN }}"
"-var=imported_snapshot=${{ env.SNAPSHOT_ARN }}"
"-var-file=env/${{ inputs.environment }}.tfvars"
"-var=allowed_egress_cidr_blocks=$CIDR_BLOCKS"
"-out=${{ runner.temp }}/tfplan"
)

if [ "${{ env.REPLACE_DB_CLUSTER }}" = "true" ]; then
PLAN_ARGS+=("-replace" "aws_rds_cluster.cluster")
fi
terraform "${PLAN_ARGS[@]}" | tee ${{ runner.temp }}/tf_stdout
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
Expand All @@ -216,6 +185,7 @@ jobs:
name: Terraform apply
runs-on: ubuntu-latest
needs: plan
if: ${{ !cancelled() && needs.plan.result == 'success' }}
environment: ${{ inputs.environment }}
permissions:
id-token: write
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/destroy-infrastructure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,9 @@ jobs:
run: |
set -e
terraform init -backend-config="env/${{ inputs.environment }}-backend.hcl" -upgrade
if terraform state list | grep -q 'aws_rds_cluster.aurora_cluster'; then
echo "DB cluster exsits: removing delete protection"
CLUSTER_IDENTIFIER=$(grep -oP 'db_cluster\s*=\s*"\K[^"]+' env/${{ inputs.environment }}.tfvars)
aws rds modify-db-cluster --db-cluster-identifier "$CLUSTER_IDENTIFIER" --no-deletion-protection
if terraform state list | grep -q 'aws_rds_cluster.core'; then
echo "DB cluster exists: removing delete protection"
aws rds modify-db-cluster --db-cluster-identifier mavis-${{ inputs.environment }} --no-deletion-protection
echo "DB cluster delete protection removed: proceeding to delete stage"
else
echo "DB cluster not in state: proceeding to delete stage"
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ WORKDIR /rails

# Install base packages
RUN apt-get update -qq && \
apt-get install --no-install-recommends -y curl libjemalloc2 libvips libicu-dev postgresql-client && \
apt-get install --no-install-recommends -y curl libjemalloc2 libvips libicu-dev postgresql-client jq && \
rm -rf /var/lib/apt/lists /var/cache/apt/archives

# Set production environment
Expand Down
39 changes: 20 additions & 19 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ GEM
ast (2.4.3)
attr_required (1.0.2)
aws-eventstream (1.4.0)
aws-partitions (1.1125.0)
aws-partitions (1.1126.0)
aws-sdk-accessanalyzer (1.73.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sigv4 (~> 1.5)
Expand All @@ -124,7 +124,7 @@ GEM
base64
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-ec2 (1.533.0)
aws-sdk-ec2 (1.537.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sigv4 (~> 1.5)
aws-sdk-ecr (1.104.0)
Expand All @@ -139,7 +139,7 @@ GEM
aws-sdk-rds (1.283.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.191.0)
aws-sdk-s3 (1.192.0)
aws-sdk-core (~> 3, >= 3.225.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
Expand Down Expand Up @@ -229,15 +229,15 @@ GEM
factory_bot_rails (6.5.0)
factory_bot (~> 6.5)
railties (>= 6.1.0)
faker (3.5.1)
faker (3.5.2)
i18n (>= 1.8.11, < 2)
faraday (2.13.1)
faraday (2.13.2)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-follow_redirects (0.3.0)
faraday (>= 1, < 3)
faraday-net_http (3.4.0)
faraday-net_http (3.4.1)
net-http (>= 0.5.0)
ferrum (0.17.1)
addressable (~> 2.5)
Expand All @@ -252,14 +252,14 @@ GEM
date_time_precision (>= 0.8)
mime-types (>= 3.0)
nokogiri (>= 1.11.4)
flipper (1.3.4)
flipper (1.3.5)
concurrent-ruby (< 2)
flipper-active_record (1.3.4)
flipper-active_record (1.3.5)
activerecord (>= 4.2, < 9)
flipper (~> 1.3.4)
flipper-ui (1.3.4)
flipper (~> 1.3.5)
flipper-ui (1.3.5)
erubi (>= 1.0.0, < 2.0.0)
flipper (~> 1.3.4)
flipper (~> 1.3.5)
rack (>= 1.4, < 4)
rack-protection (>= 1.5.3, < 5.0.0)
rack-session (>= 1.0.2, < 3.0.0)
Expand Down Expand Up @@ -423,13 +423,13 @@ GEM
webfinger (~> 2.0)
orm_adapter (0.5.0)
ostruct (0.6.2)
pagy (9.3.4)
pagy (9.3.5)
parallel (1.27.0)
parser (3.3.8.0)
ast (~> 2.4.1)
racc
pg (1.5.9)
phonelib (0.10.9)
phonelib (0.10.10)
pp (0.6.2)
prettyprint
prettier_print (1.2.1)
Expand Down Expand Up @@ -552,7 +552,7 @@ GEM
rspec-mocks (~> 3.13)
rspec-support (~> 3.13)
rspec-support (3.13.4)
rubocop (1.76.2)
rubocop (1.77.0)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
Expand All @@ -569,8 +569,8 @@ GEM
rubocop-capybara (2.22.1)
lint_roller (~> 1.1)
rubocop (~> 1.72, >= 1.72.1)
rubocop-govuk (5.1.15)
rubocop (= 1.76.2)
rubocop-govuk (5.1.16)
rubocop (= 1.77.0)
rubocop-ast (= 1.45.1)
rubocop-capybara (= 2.22.1)
rubocop-rails (= 2.32.0)
Expand Down Expand Up @@ -618,7 +618,7 @@ GEM
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.4)
solargraph (0.55.4)
solargraph (0.56.0)
backport (~> 1.2)
benchmark (~> 0.4)
bundler (~> 2.0)
Expand All @@ -630,16 +630,17 @@ GEM
observer (~> 0.1)
ostruct (~> 0.6)
parser (~> 3.0)
prism (~> 1.4)
rbs (~> 3.3)
reverse_markdown (~> 3.0)
rubocop (~> 1.38)
thor (~> 1.0)
tilt (~> 2.0)
yard (~> 0.9, >= 0.9.24)
yard-solargraph (~> 0.1)
solargraph-rails (1.1.0)
solargraph-rails (1.2.0)
activesupport
solargraph
solargraph (= 0.56.0)
splunk-sdk-ruby (1.0.5)
stackprof (0.2.27)
stimulus-rails (1.3.4)
Expand Down
15 changes: 5 additions & 10 deletions app/components/app_vaccinate_form_component.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,11 @@ def url
end

def delivery_method
triage_status = patient.triage_status(programme:)

status =
if triage_status.not_required?
patient.consent_status(programme:)
else
triage_status
end

status.vaccine_method_nasal? ? :nasal_spray : :intramuscular
if patient.approved_vaccine_methods(programme:).include?("nasal")
:nasal_spray
else
:intramuscular
end
end

def dose_sequence
Expand Down
2 changes: 0 additions & 2 deletions app/components/app_vaccination_record_summary_component.rb
Original file line number Diff line number Diff line change
Expand Up @@ -329,8 +329,6 @@ def dose_number_value
end

def dose_number
return nil if @programme.seasonal?

dose_sequence = @vaccination_record.dose_sequence

if dose_sequence.nil?
Expand Down
2 changes: 2 additions & 0 deletions app/controllers/draft_vaccination_records_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@ def handle_confirm

send_vaccination_confirmation(@vaccination_record) if should_notify_parents

EnqueueSyncVaccinationRecordToNHS.call(@vaccination_record)

# In case the user navigates back to try and edit the newly created
# vaccination record.
@draft_vaccination_record.update!(editing_id: @vaccination_record.id)
Expand Down
Loading