Skip to content

Commit 3dec5c2

Browse files
Add a new column to Vaccine called upload_name
Jira-Issue: MAV-2746
1 parent 5754eb8 commit 3dec5c2

7 files changed

Lines changed: 59 additions & 32 deletions

File tree

app/models/vaccine.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
# side_effects :integer default([]), not null, is an Array
1818
# snomed_product_code :string not null
1919
# snomed_product_term :string not null
20+
# upload_name :text
2021
# created_at :datetime not null
2122
# updated_at :datetime not null
2223
#

config/vaccines.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ cell_based_trivalent:
77
manufacturer: Sequirus
88
contains_gelatine: false
99
nivs_name: Sequirus Cell-based Trivalent
10+
upload_name: Sequirus Cell-based Trivalent
1011
dose_volume_ml: 0.5
1112
disease_types: [influenza]
1213
snomed_product_code: 43207411000001105
@@ -21,6 +22,7 @@ fluenz:
2122
manufacturer: AstraZeneca
2223
contains_gelatine: true
2324
nivs_name: AstraZeneca Fluenz
25+
upload_name: AstraZeneca Fluenz
2426
dose_volume_ml: 0.2
2527
disease_types: [influenza]
2628
snomed_product_code: 43208811000001106
@@ -34,6 +36,7 @@ vaxigrip:
3436
manufacturer: Sanofi
3537
contains_gelatine: false
3638
nivs_name: Sanofi Vaxigrip
39+
upload_name: Sanofi Vaxigrip
3740
dose_volume_ml: 0.5
3841
disease_types: [influenza]
3942
snomed_product_code: 45175511000001104
@@ -47,6 +50,7 @@ viatris:
4750
manufacturer: Viatris
4851
contains_gelatine: false
4952
nivs_name: Viatris
53+
upload_name: Viatris
5054
dose_volume_ml: 0.5
5155
disease_types: [influenza]
5256
snomed_product_code: 45354911000001100
@@ -63,6 +67,7 @@ cervarix:
6367
manufacturer: GlaxoSmithKline
6468
contains_gelatine: false
6569
nivs_name: Cervarix
70+
upload_name: Cervarix
6671
dose_volume_ml: 0.5
6772
disease_types: [human_papillomavirus]
6873
snomed_product_code: 12238911000001100
@@ -78,6 +83,7 @@ gardasil:
7883
manufacturer: Merck Sharp & Dohme
7984
contains_gelatine: false
8085
nivs_name: Gardasil
86+
upload_name: Gardasil
8187
dose_volume_ml: 0.5
8288
disease_types: [human_papillomavirus]
8389
snomed_product_code: 10880211000001104
@@ -92,6 +98,7 @@ gardasil_9:
9298
manufacturer: Merck Sharp & Dohme
9399
contains_gelatine: false
94100
nivs_name: Gardasil9
101+
upload_name: Gardasil9
95102
dose_volume_ml: 0.5
96103
disease_types: [human_papillomavirus]
97104
snomed_product_code: 33493111000001108
@@ -108,6 +115,7 @@ menquadfi:
108115
manufacturer: Sanofi
109116
contains_gelatine: false
110117
nivs_name: MenQuadfi
118+
upload_name: MenQuadfi
111119
dose_volume_ml: 0.5
112120
disease_types: [meningitis_a, meningitis_c, meningitis_w, meningitis_y]
113121
snomed_product_code: 39779611000001104
@@ -121,6 +129,7 @@ menveo:
121129
manufacturer: GlaxoSmithKline
122130
contains_gelatine: false
123131
nivs_name: Menveo
132+
upload_name: Menveo
124133
dose_volume_ml: 0.5
125134
disease_types: [meningitis_a, meningitis_c, meningitis_w, meningitis_y]
126135
snomed_product_code: 17188711000001105
@@ -135,6 +144,7 @@ nimenrix:
135144
manufacturer: Pfizer
136145
contains_gelatine: false
137146
nivs_name: Nimenrix
147+
upload_name: Nimenrix
138148
dose_volume_ml: 0.5
139149
disease_types: [meningitis_a, meningitis_c, meningitis_w, meningitis_y]
140150
snomed_product_code: 20517811000001104
@@ -151,6 +161,7 @@ priorix:
151161
manufacturer: GlaxoSmithKline
152162
contains_gelatine: false
153163
nivs_name: Priorix
164+
upload_name: Priorix
154165
dose_volume_ml: 0.5
155166
disease_types: [measles, mumps, rubella]
156167
snomed_product_code: 34925111000001104
@@ -165,6 +176,7 @@ vaxpro:
165176
manufacturer: Merck Sharp & Dohme
166177
contains_gelatine: true
167178
nivs_name: VaxPro
179+
upload_name: VaxPro
168180
dose_volume_ml: 0.5
169181
disease_types: [measles, mumps, rubella]
170182
snomed_product_code: 13968211000001108
@@ -181,6 +193,7 @@ pro_quad :
181193
manufacturer: Merck Sharp & Dohme
182194
contains_gelatine: true
183195
nivs_name: ProQuad
196+
upload_name: ProQuad
184197
dose_volume_ml: 0.5
185198
disease_types: [measles, mumps, rubella, varicella]
186199
snomed_product_code: 45480711000001107
@@ -195,6 +208,7 @@ priorix_tetra:
195208
manufacturer: GlaxoSmithKline
196209
contains_gelatine: false
197210
nivs_name: Priorix-Tetra
211+
upload_name: Priorix-Tetra
198212
dose_volume_ml: 0.5
199213
disease_types: [measles, mumps, rubella, varicella]
200214
snomed_product_code: 45525711000001102
@@ -211,6 +225,7 @@ revaxis:
211225
manufacturer: Sanofi
212226
contains_gelatine: false
213227
nivs_name: Revaxis
228+
upload_name: Revaxis
214229
dose_volume_ml: 0.5
215230
disease_types: [tetanus, diphtheria, polio]
216231
snomed_product_code: 7374511000001107
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# frozen_string_literal: true
2+
3+
class AddUploadNameToVaccine < ActiveRecord::Migration[8.1]
4+
def change
5+
add_column :vaccines, :upload_name, :text
6+
end
7+
end

db/schema.rb

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#
1111
# It's strongly recommended that you check this file into your version control system.
1212

13-
ActiveRecord::Schema[8.1].define(version: 2025_12_01_152312) do
13+
ActiveRecord::Schema[8.1].define(version: 2025_12_03_141545) do
1414
# These are extensions that must be enabled in order to support this database
1515
enable_extension "pg_catalog.plpgsql"
1616
enable_extension "pg_trgm"
@@ -977,6 +977,7 @@
977977
t.string "snomed_product_code", null: false
978978
t.string "snomed_product_term", null: false
979979
t.datetime "updated_at", null: false
980+
t.text "upload_name"
980981
t.index ["manufacturer", "brand"], name: "index_vaccines_on_manufacturer_and_brand", unique: true
981982
t.index ["nivs_name"], name: "index_vaccines_on_nivs_name", unique: true
982983
t.index ["programme_type"], name: "index_vaccines_on_programme_type"
@@ -1281,38 +1282,38 @@
12811282
WHERE ((vr.discarded_at IS NULL) AND (vr.outcome = 1) AND ((vr.source IS NULL) OR (vr.source <> 3)))) child_refused ON (((child_refused.patient_id = p.id) AND (child_refused.programme_type = patient_team_prog.s_programme_type) AND (child_refused.academic_year = tl.academic_year))))
12821283
WHERE ((p.invalidated_at IS NULL) AND (p.restricted_at IS NULL))
12831284
)
1284-
SELECT DISTINCT ON (base_data.patient_id, base_data.programme_type, base_data.team_id, base_data.academic_year) base_data.id,
1285-
base_data.patient_id,
1286-
base_data.patient_gender,
1287-
base_data.programme_type,
1288-
base_data.academic_year,
1289-
base_data.team_id,
1290-
base_data.team_name,
1291-
base_data.is_archived,
1292-
base_data.patient_school_local_authority_code,
1293-
base_data.patient_local_authority_code,
1294-
base_data.patient_school_id,
1295-
base_data.patient_school_urn,
1296-
base_data.patient_school_name,
1297-
base_data.session_location_id,
1298-
base_data.patient_year_group,
1299-
base_data.has_any_vaccination,
1300-
base_data.vaccinated_by_sais_current_year,
1301-
base_data.vaccinated_elsewhere_declared_current_year,
1302-
base_data.vaccinated_elsewhere_recorded_current_year,
1303-
base_data.vaccinated_in_previous_years,
1304-
base_data.sais_vaccinations_count,
1305-
base_data.most_recent_vaccination_month,
1306-
base_data.most_recent_vaccination_year,
1307-
base_data.consent_status,
1308-
base_data.consent_vaccine_methods,
1309-
base_data.parent_refused_consent_current_year,
1310-
base_data.child_refused_vaccination_current_year,
1311-
base_data.vaccinated_nasal_current_year,
1312-
base_data.vaccinated_injection_current_year,
1313-
base_data.outside_cohort
1285+
SELECT DISTINCT ON (patient_id, programme_type, team_id, academic_year) id,
1286+
patient_id,
1287+
patient_gender,
1288+
programme_type,
1289+
academic_year,
1290+
team_id,
1291+
team_name,
1292+
is_archived,
1293+
patient_school_local_authority_code,
1294+
patient_local_authority_code,
1295+
patient_school_id,
1296+
patient_school_urn,
1297+
patient_school_name,
1298+
session_location_id,
1299+
patient_year_group,
1300+
has_any_vaccination,
1301+
vaccinated_by_sais_current_year,
1302+
vaccinated_elsewhere_declared_current_year,
1303+
vaccinated_elsewhere_recorded_current_year,
1304+
vaccinated_in_previous_years,
1305+
sais_vaccinations_count,
1306+
most_recent_vaccination_month,
1307+
most_recent_vaccination_year,
1308+
consent_status,
1309+
consent_vaccine_methods,
1310+
parent_refused_consent_current_year,
1311+
child_refused_vaccination_current_year,
1312+
vaccinated_nasal_current_year,
1313+
vaccinated_injection_current_year,
1314+
outside_cohort
13141315
FROM base_data
1315-
ORDER BY base_data.patient_id, base_data.programme_type, base_data.team_id, base_data.academic_year, (base_data.sais_vaccinations_count > 0) DESC, (base_data.outside_cohort = false) DESC, base_data.patient_school_id;
1316+
ORDER BY patient_id, programme_type, team_id, academic_year, (sais_vaccinations_count > 0) DESC, (outside_cohort = false) DESC, patient_school_id;
13161317
SQL
13171318
add_index "reporting_api_patient_programme_statuses", ["academic_year", "programme_type"], name: "ix_rapi_pps_year_prog_type"
13181319
add_index "reporting_api_patient_programme_statuses", ["id"], name: "ix_rapi_pps_id", unique: true

lib/tasks/vaccines.rake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ namespace :vaccines do
2424
vaccine.manufacturer = data["manufacturer"]
2525
vaccine.method = data["method"]
2626
vaccine.nivs_name = data["nivs_name"]
27+
vaccine.upload_name = data["upload_name"]
2728
vaccine.snomed_product_term = data["snomed_product_term"]
2829
vaccine.disease_types = data["disease_types"]
2930
vaccine.programme = programme

spec/factories/vaccines.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
# side_effects :integer default([]), not null, is an Array
1818
# snomed_product_code :string not null
1919
# snomed_product_term :string not null
20+
# upload_name :text
2021
# created_at :datetime not null
2122
# updated_at :datetime not null
2223
#

spec/models/vaccine_spec.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
# side_effects :integer default([]), not null, is an Array
1818
# snomed_product_code :string not null
1919
# snomed_product_term :string not null
20+
# upload_name :text
2021
# created_at :datetime not null
2122
# updated_at :datetime not null
2223
#

0 commit comments

Comments
 (0)