Skip to content

Commit 6040ff9

Browse files
Merge pull request #34 from NHSDigital:20241125
20241125
2 parents 1a71deb + 26c41e0 commit 6040ff9

16 files changed

+196
-72
lines changed

libs/constants.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from re import ASCII
12
from typing import Final
23

34

@@ -95,6 +96,12 @@ class test_data_file_paths:
9596
VACCS_HPV_NEGATIVE: Final[str] = (
9697
f"test_data/hpv/i_negative.csv{escape_characters.SEPARATOR}test_data/hpv/o_negative.csv"
9798
)
99+
VACCS_HIST_HPV_POSITIVE: Final[str] = (
100+
f"test_data/hpv/i_hist_positive.csv{escape_characters.SEPARATOR}test_data/hpv/o_hist_positive.csv"
101+
)
102+
VACCS_HIST_HPV_NEGATIVE: Final[str] = (
103+
f"test_data/hpv/i_hist_negative.csv{escape_characters.SEPARATOR}test_data/hpv/o_hist_negative.csv"
104+
)
98105
VACCS_HPV_DUP_1: Final[str] = f"test_data/hpv/i_dup_1.csv{escape_characters.SEPARATOR}test_data/hpv/o_dup_1.csv"
99106
VACCS_HPV_DUP_2: Final[str] = f"test_data/hpv/i_dup_2.csv{escape_characters.SEPARATOR}test_data/hpv/o_dup_2.csv"
100107
VACCS_HPV_INVALID_STRUCTURE: Final[str] = (
@@ -151,3 +158,7 @@ class test_data_file_paths:
151158
CLASS_HEADER_ONLY: Final[str] = (
152159
f"test_data/class_list/i_header_only.csv{escape_characters.SEPARATOR}test_data/class_list/o_header_only.csv"
153160
)
161+
162+
163+
class file_encoding:
164+
ASCII = "ascii"

libs/testdata_ops.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ def create_file_from_template(self, template_path: str) -> str:
1515
_file_text = []
1616
_ctr = -1
1717
_dt = get_new_datetime()
18+
_hist_dt = get_offset_date(offset_days=-730)
1819
for _ln in _template_text.split(escape_characters.NEW_LINE):
1920
_ln = _ln.replace("<<NHS_NO>>", f"9{self.get_new_nhs_no(valid=True)[:9]}")
2021
_ln = _ln.replace("<<INVALID_NHS_NO>>", self.get_new_nhs_no(valid=False))
2122
_ln = _ln.replace("<<FNAME>>", f"F{_dt}{_ctr}")
2223
_ln = _ln.replace("<<LNAME>>", f"L{_dt}{_ctr}")
2324
_ln = _ln.replace("<<VACCS_DATE>>", _dt[:8])
25+
_ln = _ln.replace("<<HIST_VACCS_DATE>>", _hist_dt)
2426
_file_text.append(_ln)
2527
_ctr += 1
2628
return self.fo.create_file(content=escape_characters.NEW_LINE.join(_file_text))

libs/wrappers.py

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
import base64
2+
import os
13
import time
24
from datetime import datetime, timedelta
35

4-
from libs.constants import escape_characters
6+
from libs.constants import escape_characters, file_encoding
57

68

79
def convert_time_units_to_seconds(time_unit: str) -> int:
@@ -32,12 +34,12 @@ def wait(timeout: str):
3234

3335

3436
def get_link_formatted_date_time():
35-
_ampm = datetime.now().strftime(format="%p").lower()
37+
_am_or_pm = datetime.now().strftime(format="%p").lower()
3638
try:
3739
_dt = datetime.now().strftime(format="%-d %B %Y at %-I:%M") # Linux (Github Action)
3840
except:
39-
_dt = datetime.now().strftime(format="%#d %B %Y at %#I:%M") # Windows (Dev PC)
40-
return f"{_dt}{_ampm}"
41+
_dt = datetime.now().strftime(format="%#d %B %Y at %#I:%M") # Windows (Dev VDI)
42+
return f"{_dt}{_am_or_pm}"
4143

4244

4345
def get_new_datetime() -> str:
@@ -56,9 +58,26 @@ def clean_file_name(file_name: str) -> str:
5658
return file_name
5759

5860

59-
def get_future_date(offset_days: int) -> str:
60-
_future_date = datetime.now() + timedelta(days=offset_days)
61+
def get_offset_date(offset_days: int) -> str:
62+
_offset_date = datetime.now() + timedelta(days=offset_days)
6163
if offset_days != 0:
62-
while _future_date.weekday() >= 5:
63-
_future_date = _future_date + timedelta(days=1)
64-
return _future_date.strftime("%Y%m%d")
64+
while _offset_date.weekday() >= 5:
65+
_offset_date = _offset_date + timedelta(days=1)
66+
return _offset_date.strftime("%Y%m%d")
67+
68+
69+
def get_project_root() -> str:
70+
_project_root = os.path.dirname(__file__)
71+
while os.path.basename(_project_root.lower()) != "manage-vaccinations-in-schools-testing":
72+
_project_root = os.path.dirname(_project_root)
73+
return _project_root
74+
75+
76+
def get_base64_encoded_string(text):
77+
text_bytes = text.encode(file_encoding.ASCII)
78+
return base64.b64encode(text_bytes).decode(file_encoding.ASCII)
79+
80+
81+
def get_base64_decoded_string(encoded_string):
82+
base64_bytes = encoded_string.encode(file_encoding.ASCII)
83+
return base64.b64decode(base64_bytes).decode(file_encoding.ASCII)

pages/pg_sessions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ def update_triage_outcome_positive(self, file_paths):
286286
self.verify_activity_log_entry()
287287

288288
def schedule_a_valid_session(self, for_today: bool = False):
289-
_future_date = get_future_date(offset_days=0) if for_today else get_future_date(offset_days=10)
289+
_future_date = get_offset_date(offset_days=0) if for_today else get_offset_date(offset_days=10)
290290
_expected_message = f"Session dates {self.__get_display_formatted_date(date_to_format=_future_date)}"
291291
self.click_unscheduled()
292292
self.click_school1()

test_data/hpv/i_dup_1.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
TEST_DESC_IGNORED,ORGANISATION_CODE,SCHOOL_URN,SCHOOL_NAME,NHS_NUMBER,PERSON_FORENAME,PERSON_SURNAME,PERSON_DOB,PERSON_GENDER_CODE,PERSON_POSTCODE,DATE_OF_VACCINATION,VACCINE_GIVEN,BATCH_NUMBER,BATCH_EXPIRY_DATE,ANATOMICAL_SITE,DOSE_SEQUENCE,VACCINATED,CARE_SETTING,PERFORMING_PROFESSIONAL_FORENAME,PERFORMING_PROFESSIONAL_SURNAME,PERFORMING_PROFESSIONAL_EMAIL,CLINIC_NAME,TIME_OF_VACCINATION,REASON_NOT_VACCINATED
2-
P_Gardasil9,R1L,142181,Bohunt School Wokingham,9000000000,ChildFirst1,ChildLast1,20100811,Male,DN9 1PB,<<VACCS_DATE>>,Gardasil9,AutoBatch1,20301231,Left Thigh,1,Y,1,,,nurse.joy@example.com,Clinic,12:00,
2+
P_Gardasil9,R1L,142181,Bohunt School Wokingham,9000000000,ChildFirst1,ChildLast1,20100811,Male,DN9 1PB,<<VACCS_DATE>>,Gardasil9,AutoBatch1,20301231,Left Thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,

test_data/hpv/i_dup_2.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
TEST_DESC_IGNORED,ORGANISATION_CODE,SCHOOL_URN,SCHOOL_NAME,NHS_NUMBER,PERSON_FORENAME,PERSON_SURNAME,PERSON_DOB,PERSON_GENDER_CODE,PERSON_POSTCODE,DATE_OF_VACCINATION,VACCINE_GIVEN,BATCH_NUMBER,BATCH_EXPIRY_DATE,ANATOMICAL_SITE,DOSE_SEQUENCE,VACCINATED,CARE_SETTING,PERFORMING_PROFESSIONAL_FORENAME,PERFORMING_PROFESSIONAL_SURNAME,PERFORMING_PROFESSIONAL_EMAIL,CLINIC_NAME,TIME_OF_VACCINATION,REASON_NOT_VACCINATED
2-
P_Gardasil9,R1L,142181,Bohunt School Wokingham,9000000000,ChildFirst1,ChildLast1,20100811,Male,DN9 1PB,<<VACCS_DATE>>,Gardasil9,AutoBatch1,20301231,Left Thigh,1,Y,1,,,nurse.joy@example.com,Clinic,12:00,
2+
P_Gardasil9,R1L,142181,Bohunt School Wokingham,9000000000,ChildFirst1,ChildLast1,20100811,Male,DN9 1PB,<<VACCS_DATE>>,Gardasil9,AutoBatch1,20301231,Left Thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,

test_data/hpv/i_hist_negative.csv

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
TEST_DESC_IGNORED,ORGANISATION_CODE,SCHOOL_URN,SCHOOL_NAME,NHS_NUMBER,PERSON_FORENAME,PERSON_SURNAME,PERSON_DOB,PERSON_GENDER_CODE,PERSON_POSTCODE,DATE_OF_VACCINATION,VACCINE_GIVEN,BATCH_NUMBER,BATCH_EXPIRY_DATE,ANATOMICAL_SITE,DOSE_SEQUENCE,VACCINATED,CARE_SETTING,PERFORMING_PROFESSIONAL_FORENAME,PERFORMING_PROFESSIONAL_SURNAME,PERFORMING_PROFESSIONAL_EMAIL,CLINIC_NAME,TIME_OF_VACCINATION,REASON_NOT_VACCINATED
2+
N_InvalidODSCode,MAVIS,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,AutoBatch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
3+
N_EmptyOrgCode,,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
4+
N_EmptySchoolURN,R1L,,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
5+
N_NotKnownSchoolEmpty,R1L,888888,,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
6+
N_LongNHSNumber,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>1,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
7+
N_ShortNHSNumber,R1L,142181,Bohunt School Wokingham,947310353,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
8+
N_EmptyForename,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
9+
N_EmptyLastname,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
10+
N_EmptyDOB,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
11+
N_InvalidFormatDOB,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20102608,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
12+
N_FutureDOB,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20300628,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
13+
N_NonLeapYearDOB,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100229,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
14+
N_EmptyGender,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
15+
N_InvalidGender,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Transgender,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
16+
N_EmptyPostCode,R1L,142181,Bohunt School Wokingham,,<<FNAME>>,<<LNAME>>,20100228,Female,,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
17+
N_InvalidPostCode,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,1AA AA1,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
18+
N_EmptyVaccDate,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
19+
N_FutureVaccDate,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,20301231,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
20+
N_EmptyVaccGiven,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
21+
N_FluVaccGiven,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,AstraZeneca Fluenz Tetra LAIV,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
22+
N_EmptyBatchNumber,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
23+
N_EmptyExpiryDate,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,,left thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
24+
N_EmptyAnatomicalSite,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
25+
N_InvalidAnatomicalSite,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,Nasal,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
26+
N_EmptyDoseSeq,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,,Y,1,,,nurse.joy@example.com,Clinic,00:01,
27+
N_InvalidDoseSeq,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,10,Y,1,,,nurse.joy@example.com,Clinic,00:01,
28+
N_EmptyCareSetting,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,,,,nurse.joy@example.com,Clinic,00:01,
29+
N_InvalidProfFName,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,ProfFName,,,Clinic,00:01,
30+
N_InvalidProfSName,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,ProfSName,,Clinic,00:01,
31+
N_InvalidProfEmail,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@invalid-example.com,Clinic,00:01,
32+
N_InvalidClinic,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,2,,,nurse.joy@example.com,Invalid Clinic,00:01,
33+
N_InvalidTime,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,,32:00,
34+
N_InvalidReason,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,,00:01,Did not attend1
35+
N_InvalidVaccinatedFlag,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,X,1,,,nurse.joy@example.com,,00:01,
36+
N_InvalidCareSetting,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,10,,,nurse.joy@example.com,,00:01,
37+
N_TimeInFuture,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100228,Female,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,Batch1,20301231,left thigh,1,Y,1,,,nurse.joy@example.com,,23:00,

test_data/hpv/i_hist_positive.csv

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
TEST_DESC_IGNORED,ORGANISATION_CODE,SCHOOL_URN,SCHOOL_NAME,NHS_NUMBER,PERSON_FORENAME,PERSON_SURNAME,PERSON_DOB,PERSON_GENDER_CODE,PERSON_POSTCODE,DATE_OF_VACCINATION,VACCINE_GIVEN,BATCH_NUMBER,BATCH_EXPIRY_DATE,ANATOMICAL_SITE,DOSE_SEQUENCE,VACCINATED,CARE_SETTING,PERFORMING_PROFESSIONAL_FORENAME,PERFORMING_PROFESSIONAL_SURNAME,PERFORMING_PROFESSIONAL_EMAIL,CLINIC_NAME,TIME_OF_VACCINATION,REASON_NOT_VACCINATED
2+
P_Gardasil9,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,AutoBatch1,20301231,Left Thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
3+
P_Gardasil,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil,AutoBatch1,20301231,Right Thigh,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
4+
P_Cervarix,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Cervarix,AutoBatch1,20301231,left upper arm,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
5+
P_NFA,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,ZZ99 3VZ,<<HIST_VACCS_DATE>>,Gardasil9,AutoBatch1,20301231,left arm (upper position),1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
6+
P_Add_Not_Known,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,ZZ99 3WZ,<<HIST_VACCS_DATE>>,Gardasil9,AutoBatch1,20301231,left arm (lower position),1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
7+
P_AllowPastExpiryDate,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,AutoBatch1,20120730,right upper arm,1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
8+
P_SiteRAU,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,AutoBatch1,20320730,right arm (upper position),1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
9+
P_SiteRAL,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,Gardasil9,AutoBatch1,20320730,right arm (lower position),1,Y,1,,,nurse.joy@example.com,Clinic,00:01,
10+
P_NotVaccinated,R1L,142181,Bohunt School Wokingham,<<NHS_NO>>,<<FNAME>>,<<LNAME>>,20100811,Male,DN9 1PB,<<HIST_VACCS_DATE>>,,,,,1,N,1,,,nurse.joy@example.com,Clinic,00:01,Did not attend

0 commit comments

Comments
 (0)