@@ -57,6 +57,7 @@ def validation_formula(worksheet:, column_name:, row: 1)
57
57
PERSON_SURNAME
58
58
ORGANISATION_CODE
59
59
SCHOOL_NAME
60
+ CLINIC_NAME
60
61
CARE_SETTING
61
62
PERSON_DOB
62
63
YEAR_GROUP
@@ -115,6 +116,7 @@ def validation_formula(worksheet:, column_name:, row: 1)
115
116
"BATCH_EXPIRY_DATE" => nil ,
116
117
"BATCH_NUMBER" => "" ,
117
118
"CARE_SETTING" => 1 ,
119
+ "CLINIC_NAME" => "" ,
118
120
"CONSENT_DETAILS" => "" ,
119
121
"CONSENT_STATUS" => "" ,
120
122
"DATE_OF_VACCINATION" => nil ,
@@ -191,6 +193,7 @@ def validation_formula(worksheet:, column_name:, row: 1)
191
193
"ANATOMICAL_SITE" => "left upper arm" ,
192
194
"BATCH_NUMBER" => batch . name ,
193
195
"CARE_SETTING" => 1 ,
196
+ "CLINIC_NAME" => "" ,
194
197
"CONSENT_DETAILS" => "" ,
195
198
"CONSENT_STATUS" => "" ,
196
199
"DOSE_SEQUENCE" => 1 ,
@@ -278,6 +281,7 @@ def validation_formula(worksheet:, column_name:, row: 1)
278
281
"ANATOMICAL_SITE" => "left upper arm" ,
279
282
"BATCH_NUMBER" => batch . name ,
280
283
"CARE_SETTING" => nil ,
284
+ "CLINIC_NAME" => "" ,
281
285
"CONSENT_DETAILS" => "" ,
282
286
"CONSENT_STATUS" => "" ,
283
287
"DOSE_SEQUENCE" => 1 ,
@@ -318,6 +322,82 @@ def validation_formula(worksheet:, column_name:, row: 1)
318
322
end
319
323
end
320
324
325
+ context "with a vaccinated patient outside the school session, but in a clinic" do
326
+ let ( :clinic_session ) { organisation . generic_clinic_session }
327
+
328
+ let! ( :vaccination_record ) do
329
+ create (
330
+ :vaccination_record ,
331
+ performed_at :,
332
+ batch :,
333
+ patient :,
334
+ session : clinic_session ,
335
+ programme :,
336
+ performed_by : user ,
337
+ notes : "Some notes." ,
338
+ location_name : "Waterloo Hospital"
339
+ )
340
+ end
341
+
342
+ before do
343
+ create ( :patient_session , patient :, session :)
344
+ create ( :patient_session , patient :, session : clinic_session )
345
+ end
346
+
347
+ it "adds a row with the vaccination details" do
348
+ expect ( rows . count ) . to eq ( 1 )
349
+ expect (
350
+ rows . first . except (
351
+ "BATCH_EXPIRY_DATE" ,
352
+ "PERSON_DOB" ,
353
+ "DATE_OF_VACCINATION"
354
+ )
355
+ ) . to eq (
356
+ {
357
+ "ANATOMICAL_SITE" => "left upper arm" ,
358
+ "BATCH_NUMBER" => batch . name ,
359
+ "CARE_SETTING" => 2 ,
360
+ "CLINIC_NAME" => "Waterloo Hospital" ,
361
+ "CONSENT_DETAILS" => "" ,
362
+ "CONSENT_STATUS" => "" ,
363
+ "DOSE_SEQUENCE" => 1 ,
364
+ "GILLICK_ASSESSED_BY" => nil ,
365
+ "GILLICK_ASSESSMENT_DATE" => nil ,
366
+ "GILLICK_ASSESSMENT_NOTES" => nil ,
367
+ "GILLICK_STATUS" => "" ,
368
+ "HEALTH_QUESTION_ANSWERS" => "" ,
369
+ "NHS_NUMBER" => patient . nhs_number ,
370
+ "NOTES" => "Some notes." ,
371
+ "ORGANISATION_CODE" => organisation . ods_code ,
372
+ "PERFORMING_PROFESSIONAL_EMAIL" => "nurse@example.com" ,
373
+ "PERSON_ADDRESS_LINE_1" => patient . address_line_1 ,
374
+ "PERSON_FORENAME" => patient . given_name ,
375
+ "PERSON_GENDER_CODE" => "Not known" ,
376
+ "PERSON_POSTCODE" => patient . address_postcode ,
377
+ "PERSON_SURNAME" => patient . family_name ,
378
+ "PROGRAMME" => "HPV" ,
379
+ "REASON_NOT_VACCINATED" => "" ,
380
+ "SCHOOL_NAME" => "" ,
381
+ "SESSION_ID" => clinic_session . id ,
382
+ "TIME_OF_VACCINATION" => "12:05:20" ,
383
+ "TRIAGED_BY" => nil ,
384
+ "TRIAGE_DATE" => nil ,
385
+ "TRIAGE_NOTES" => nil ,
386
+ "TRIAGE_STATUS" => nil ,
387
+ "VACCINATED" => "Y" ,
388
+ "VACCINE_GIVEN" => "Gardasil9" ,
389
+ "UUID" => vaccination_record . uuid ,
390
+ "YEAR_GROUP" => patient . year_group
391
+ }
392
+ )
393
+ expect ( rows . first [ "BATCH_EXPIRY_DATE" ] . to_date ) . to eq ( batch . expiry )
394
+ expect ( rows . first [ "PERSON_DOB" ] . to_date ) . to eq ( patient . date_of_birth )
395
+ expect ( rows . first [ "DATE_OF_VACCINATION" ] . to_date ) . to eq (
396
+ performed_at . to_date
397
+ )
398
+ end
399
+ end
400
+
321
401
context "with a patient who couldn't be vaccinated" do
322
402
before { create ( :patient_session , patient :, session :) }
323
403
@@ -342,6 +422,7 @@ def validation_formula(worksheet:, column_name:, row: 1)
342
422
"BATCH_EXPIRY_DATE" => nil ,
343
423
"BATCH_NUMBER" => nil ,
344
424
"CARE_SETTING" => 1 ,
425
+ "CLINIC_NAME" => "" ,
345
426
"CONSENT_DETAILS" => "" ,
346
427
"CONSENT_STATUS" => "" ,
347
428
"DOSE_SEQUENCE" => "" ,
@@ -491,8 +572,8 @@ def validation_formula(worksheet:, column_name:, row: 1)
491
572
PERSON_SURNAME
492
573
ORGANISATION_CODE
493
574
SCHOOL_NAME
494
- CARE_SETTING
495
575
CLINIC_NAME
576
+ CARE_SETTING
496
577
PERSON_DOB
497
578
YEAR_GROUP
498
579
PERSON_GENDER_CODE
0 commit comments