@@ -10,7 +10,7 @@ namespace :vaccines do
1010 all_data . each_value do |data |
1111 next if type . present? && data [ "type" ] != type
1212
13- programme = Programme . find ( data [ "type" ] )
13+ programme_type = data . fetch ( "type" )
1414
1515 vaccine =
1616 Vaccine . find_or_initialize_by (
@@ -20,34 +20,35 @@ namespace :vaccines do
2020 vaccine . brand = data [ "brand" ]
2121 vaccine . contains_gelatine = data [ "contains_gelatine" ]
2222 vaccine . discontinued = data . fetch ( "discontinued" , false )
23+ vaccine . disease_types = data [ "disease_types" ]
2324 vaccine . dose_volume_ml = data [ "dose_volume_ml" ]
2425 vaccine . manufacturer = data [ "manufacturer" ]
2526 vaccine . method = data [ "method" ]
26- vaccine . upload_name = data [ "upload_name" ]
2727 vaccine . nivs_name = data [ "nivs_name" ]
28+ vaccine . programme_type = programme_type
2829 vaccine . snomed_product_term = data [ "snomed_product_term" ]
29- vaccine . disease_types = data [ "disease_types" ]
30- vaccine . programme = programme
30+ vaccine . upload_name = data [ "upload_name" ]
3131
32- vaccine . side_effects = side_effects_for ( programme , data [ "method" ] )
32+ vaccine . side_effects = side_effects_for ( programme_type , data [ "method" ] )
3333
3434 vaccine . save!
3535
3636 next if vaccine . health_questions . exists?
3737
3838 ActiveRecord ::Base . transaction do
39- if programme . flu?
39+ case programme_type
40+ when "flu"
4041 create_flu_health_questions ( vaccine )
41- elsif programme . hpv?
42+ when " hpv"
4243 create_hpv_health_questions ( vaccine )
43- elsif programme . menacwy?
44+ when " menacwy"
4445 create_menacwy_health_questions ( vaccine )
45- elsif programme . mmr?
46+ when " mmr"
4647 create_mmr_health_questions ( vaccine )
47- elsif programme . td_ipv?
48+ when " td_ipv"
4849 create_td_ipv_health_questions ( vaccine )
4950 else
50- raise UnsupportedProgramme , programme
51+ raise UnsupportedProgramme , Programme . find ( programme_type )
5152 end
5253 end
5354 end
@@ -84,8 +85,9 @@ namespace :vaccines do
8485 end
8586end
8687
87- def side_effects_for ( programme , method )
88- if programme . flu?
88+ def side_effects_for ( programme_type , method )
89+ case programme_type
90+ when "flu"
8991 if method == "nasal"
9092 %w[ runny_blocked_nose headache tiredness loss_of_appetite ]
9193 else
@@ -100,7 +102,7 @@ def side_effects_for(programme, method)
100102 unwell
101103 ]
102104 end
103- elsif programme . hpv?
105+ when " hpv"
104106 %w[
105107 swelling
106108 headache
@@ -111,7 +113,7 @@ def side_effects_for(programme, method)
111113 loss_of_appetite
112114 unwell
113115 ]
114- elsif programme . menacwy?
116+ when " menacwy"
115117 %w[
116118 drowsy
117119 feeling_sick
@@ -123,9 +125,9 @@ def side_effects_for(programme, method)
123125 swelling
124126 unwell
125127 ]
126- elsif programme . mmr?
128+ when " mmr"
127129 %w[ swollen_glands raised_blotchy_rash ]
128- elsif programme . td_ipv?
130+ when " td_ipv"
129131 %w[
130132 drowsy
131133 feeling_sick
@@ -137,7 +139,7 @@ def side_effects_for(programme, method)
137139 unwell
138140 ]
139141 else
140- raise UnsupportedProgramme , programme
142+ raise UnsupportedProgramme , Programme . find ( programme_type )
141143 end
142144end
143145
0 commit comments