From ee5e53f992598016eab65dcac168ef7f2de225d3 Mon Sep 17 00:00:00 2001 From: Nelson Jovel Date: Tue, 12 Dec 2023 10:53:07 -0800 Subject: [PATCH] chore: Make sure 'hispanic' column only gets applied when using SIS race information --- app/services/survey_item_values.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/app/services/survey_item_values.rb b/app/services/survey_item_values.rb index a5139678..5efe5626 100644 --- a/app/services/survey_item_values.rb +++ b/app/services/survey_item_values.rb @@ -131,13 +131,12 @@ class SurveyItemValues def races @races ||= begin - hispanic = value_from(pattern: /Hispanic\s*Latino/i)&.downcase - race_codes ||= value_from(pattern: /Race\s*self\s*report/i) + race_codes ||= self_report = value_from(pattern: /Race\s*self\s*report/i) race_codes ||= value_from(pattern: /^RACE$/i) race_codes ||= value_from(pattern: %r{What is your race/ethnicity?(Please select all that apply) - Selected Choice}i) race_codes ||= value_from(pattern: /Race Secondary/i) - race_codes ||= value_from(pattern: /Race-\s*SIS/i) - race_codes ||= value_from(pattern: /Race\s*-\s*Qcodes/i) + race_codes ||= sis ||= value_from(pattern: /Race-\s*SIS/i) + race_codes ||= sis ||= value_from(pattern: /Race\s*-\s*Qcodes/i) race_codes ||= value_from(pattern: /RACE/i) || "" race_codes ||= [] race_codes = race_codes.split(",") @@ -146,8 +145,14 @@ class SurveyItemValues end.flatten .reject(&:blank?) .map { |race| Race.qualtrics_code_from(race) }.map(&:to_i) - race_codes = race_codes.reject { |code| code == 5 } if hispanic == "true" && race_codes.count == 1 - race_codes = race_codes.push(4) if hispanic == "true" + + # Only check the secondary hispanic column if we don't have self reported data and are relying on SIS data + if self_report.nil? && sis.present? + hispanic = value_from(pattern: /Hispanic\s*Latino/i)&.downcase + race_codes = race_codes.reject { |code| code == 5 } if hispanic == "true" && race_codes.count == 1 + race_codes = race_codes.push(4) if hispanic == "true" + end + process_races(codes: race_codes) end end