Skip to content

Commit 7863f52

Browse files
authored
Merge pull request #4652 from nhsuk/s1-mappings-for-doubles
Add S1 mappings for more MenACWY and Td/IPV products
2 parents 778ddb0 + 09e00b6 commit 7863f52

File tree

3 files changed

+46
-6
lines changed

3 files changed

+46
-6
lines changed

app/lib/reports/systm_one_exporter.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ class Reports::SystmOneExporter
2020
"MenQuadfi" => {
2121
nil => "YbXKi"
2222
},
23+
"Menveo" => {
24+
nil => "Y0da5"
25+
},
2326
"Fluenz" => {
2427
1 => "YcjAC"
2528
},
@@ -28,6 +31,17 @@ class Reports::SystmOneExporter
2831
},
2932
"Viatris" => {
3033
1 => "YcjYh"
34+
},
35+
"Revaxis" => {
36+
1 => "Y3417",
37+
2 => "Y3418",
38+
3 => "Y3400",
39+
4 => "Y06d3",
40+
5 => "Y06d4",
41+
nil => "x05ub"
42+
},
43+
"Nimenrix" => {
44+
nil => "YOfcf"
3145
}
3246
}.freeze
3347

spec/factories/programmes.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,10 @@
8181
type { "td_ipv" }
8282
vaccines { [association(:vaccine, :revaxis, programme: instance)] }
8383
end
84+
85+
trait :td_ipv_all_vaccines do
86+
td_ipv
87+
vaccines { [association(:vaccine, :revaxis, programme: instance)] }
88+
end
8489
end
8590
end

spec/lib/reports/systm_one_exporter_spec.rb

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -268,28 +268,49 @@
268268
context "Menveo" do
269269
let(:vaccine) { Vaccine.find_by!(brand: "Menveo") }
270270

271-
it { should eq("Menveo") }
271+
it { should eq("Y0da5") }
272272
end
273273

274274
context "Nimenrix" do
275275
let(:vaccine) { Vaccine.find_by!(brand: "Nimenrix") }
276276

277-
it { should eq("Nimenrix") }
277+
it { should eq("YOfcf") }
278+
end
279+
end
280+
281+
context "Td/IPV" do
282+
let(:programme) { create(:programme, :td_ipv_all_vaccines) }
283+
let(:dose_sequence) { nil }
284+
285+
context "Revaxis with unknon dose sequence" do
286+
let(:vaccine) { Vaccine.find_by!(brand: "Revaxis") }
287+
288+
it { should eq("x05ub") }
289+
end
290+
291+
# Mavis doesn't set dose sequence for Td/IPV currently but this could theoretically change in future
292+
context "Revaxis with dose sequence 1" do
293+
let(:vaccine) { Vaccine.find_by!(brand: "Revaxis") }
294+
let(:dose_sequence) { 1 }
295+
296+
it { should eq("Y3417") }
278297
end
279298
end
280299

281300
context "unknown vaccine and no dose sequence" do
282-
let(:vaccine) { create(:vaccine, :menveo) }
301+
let(:programme) { create(:programme, :hpv_all_vaccines) }
302+
let(:vaccine) { Vaccine.find_by!(brand: "Gardasil") }
283303
let(:dose_sequence) { nil }
284304

285-
it { should eq("Menveo") }
305+
it { should eq("Gardasil") }
286306
end
287307

288308
context "unknown vaccine and a dose sequence" do
289-
let(:vaccine) { create(:vaccine, :menveo) }
309+
let(:programme) { create(:programme, :hpv_all_vaccines) }
310+
let(:vaccine) { Vaccine.find_by!(brand: "Gardasil") }
290311
let(:dose_sequence) { 1 }
291312

292-
it { should eq("Menveo Part 1") }
313+
it { should eq("Gardasil Part 1") }
293314
end
294315
end
295316

0 commit comments

Comments
 (0)