From 33a241d495c82be2da640b1730b7ad20b2045689 Mon Sep 17 00:00:00 2001 From: Lakshmi Murugappan Date: Thu, 17 Apr 2025 11:23:34 +0100 Subject: [PATCH] Update pre-screening logic to use last available answer for each question Update pre-screening initialisation logic to retrieve the most recent answer for each question from the same day, instead of only using the last pre-screening performed. This ensures that relevant answers are translated across pre-screenings, even if a specific vaccine does not have a particular question. --- app/components/app_patient_page_component.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/components/app_patient_page_component.rb b/app/components/app_patient_page_component.rb index bdff845aca..21f5e7318e 100644 --- a/app/components/app_patient_page_component.rb +++ b/app/components/app_patient_page_component.rb @@ -56,19 +56,21 @@ def vaccination_records end def default_vaccinate_form - pre_screening = + today_pre_screenings = patient_session .pre_screenings .joins(:session_date) .merge(SessionDate.today) .order(created_at: :desc) - .first + + feeling_well = today_pre_screenings.any?(&:feeling_well) || nil + not_pregnant = today_pre_screenings.any?(&:not_pregnant) || nil VaccinateForm.new( patient_session:, programme:, - feeling_well: pre_screening&.feeling_well, - not_pregnant: pre_screening&.not_pregnant + feeling_well:, + not_pregnant: ) end end