Skip to content

Commit fd7ae8e

Browse files
authored
Merge pull request #6658 from NHSDigital/has-refusal-follow-up-requested
Make "Follow-up requested" a sub-status of "Has a refusal"
2 parents 664e61c + 9767f22 commit fd7ae8e

9 files changed

Lines changed: 38 additions & 13 deletions

File tree

app/components/app_patient_search_form_component.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
# frozen_string_literal: true
22

33
class AppPatientSearchFormComponent < ViewComponent::Base
4-
# Remove these statuses once implemented.
5-
HIDDEN_PROGRAMME_STATUSES = %w[needs_consent_request_failed].freeze
4+
# Remove these statuses once implemented or fully migrated.
5+
HIDDEN_PROGRAMME_STATUSES = %w[
6+
needs_consent_follow_up_requested
7+
needs_consent_request_failed
8+
].freeze
69

710
def initialize(
811
form,

app/components/app_session_actions_component.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,16 @@ def no_consent_response_row
8181
def follow_up_requested_row
8282
count =
8383
patients.has_programme_status(
84-
"needs_consent_follow_up_requested",
84+
"has_refusal_follow_up_requested",
8585
programme: programmes,
8686
academic_year:
8787
).count
8888

8989
href =
9090
session_patients_path(
9191
session,
92-
programme_status_group: "needs_consent",
93-
programme_statuses: %w[needs_consent_follow_up_requested]
92+
programme_status_group: "has_refusal",
93+
programme_statuses: %w[has_refusal_follow_up_requested]
9494
)
9595

9696
generate_row(:children_with_follow_up_requested, count:, href:)

app/lib/status_generator/programme.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ def status
7474
:has_refusal_consent_conflicts
7575
elsif should_be_has_refusal_consent_refused?
7676
:has_refusal_consent_refused
77-
elsif should_be_needs_consent_follow_up_requested?
78-
:needs_consent_follow_up_requested
77+
elsif should_be_has_refusal_follow_up_requested?
78+
:has_refusal_follow_up_requested
7979
elsif should_be_needs_consent_request_failed?
8080
:needs_consent_request_failed
8181
elsif should_be_needs_consent_request_scheduled?
@@ -232,7 +232,7 @@ def should_be_has_refusal_consent_refused?
232232
consent_status == :refused
233233
end
234234

235-
def should_be_needs_consent_follow_up_requested?
235+
def should_be_has_refusal_follow_up_requested?
236236
consent_status == :follow_up_requested
237237
end
238238

app/models/patient/programme_status.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ class Patient::ProgrammeStatus < ApplicationRecord
103103

104104
HAS_REFUSAL_STATUSES = {
105105
"has_refusal_consent_conflicts" => 20,
106-
"has_refusal_consent_refused" => 21
106+
"has_refusal_consent_refused" => 21,
107+
"has_refusal_follow_up_requested" => 22
107108
}.freeze
108109

109110
NEEDS_TRIAGE_STATUSES = { "needs_triage" => 30 }.freeze

config/locales/status.en.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ en:
6060
has_refusal_consent_conflicts: Has a refusal
6161
has_refusal_consent_refused: Has a refusal
6262
needs_consent: Needs consent
63+
has_refusal_follow_up_requested: Has a refusal
6364
needs_consent_follow_up_requested: Needs consent
6465
needs_consent_no_response: Needs consent
6566
needs_consent_request_failed: Needs consent
@@ -88,6 +89,7 @@ en:
8889
has_refusal_consent_conflicts: orange
8990
has_refusal_consent_refused: orange
9091
needs_consent: blue
92+
has_refusal_follow_up_requested: orange
9193
needs_consent_follow_up_requested: blue
9294
needs_consent_no_response: blue
9395
needs_consent_request_failed: blue
@@ -108,6 +110,7 @@ en:
108110
cannot_vaccinate_unwell: Child unwell
109111
has_refusal_consent_conflicts: Conflicting consent
110112
has_refusal_consent_refused: Consent refused
113+
has_refusal_follow_up_requested: Follow-up requested
111114
needs_consent_follow_up_requested: Follow-up requested
112115
needs_consent_no_response: No response
113116
needs_consent_request_failed: Request failed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# frozen_string_literal: true
2+
3+
class UpdateFollowUpRequestedProgrammeStatus < ActiveRecord::Migration[8.1]
4+
def up
5+
PatientStatusUpdater.call(
6+
patient_scope:
7+
Patient.has_programme_status(
8+
"needs_consent_follow_up_requested",
9+
programme: Programme.all,
10+
academic_year: AcademicYear.current
11+
)
12+
)
13+
end
14+
15+
def down
16+
raise ActiveRecord::IrreversibleMigration
17+
end
18+
end

spec/factories/patient_programme_statuses.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@
5353
status { "has_refusal_consent_conflicts" }
5454
end
5555

56-
trait :needs_consent_follow_up_requested do
56+
trait :has_refusal_follow_up_requested do
5757
consent_status { "follow_up_requested" }
58-
status { "needs_consent_follow_up_requested" }
58+
status { "has_refusal_follow_up_requested" }
5959
end
6060

6161
trait :needs_consent_no_contact_details do

spec/factories/patients.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@
242242
programmes.map do |programme|
243243
association(
244244
:patient_programme_status,
245-
:needs_consent_follow_up_requested,
245+
:has_refusal_follow_up_requested,
246246
patient: instance,
247247
programme:,
248248
academic_year:

spec/lib/status_generator/programme_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@
368368
its(:disease_types) { should be_nil }
369369
its(:dose_sequence) { should eq(1) }
370370
its(:location_id) { should be_nil }
371-
its(:status) { should be(:needs_consent_follow_up_requested) }
371+
its(:status) { should be(:has_refusal_follow_up_requested) }
372372
its(:vaccine_methods) { should be_nil }
373373
its(:without_gelatine) { should be_nil }
374374
end

0 commit comments

Comments
 (0)