From 2fc990cc7449adc0c95f92b61c1c1f4e52bf2646 Mon Sep 17 00:00:00 2001 From: Adam Waller Date: Wed, 18 Jun 2025 11:13:38 +0100 Subject: [PATCH 1/3] new data files for e2e sandox examples --- tests/e2e/data/dynamoDB/AUTO_RSV_SB_001.json | 40 ++++++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_002.json | 33 ++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_003.json | 33 ++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_004.json | 40 ++++++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_005.json | 40 ++++++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_006.json | 39 +++++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_007.json | 39 +++++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json | 39 +++++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json | 39 +++++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json | 39 +++++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_011.json | 33 ++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_012.json | 34 +++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_013.json | 39 +++++++++++++++++++ tests/e2e/data/dynamoDB/AUTO_RSV_SB_014.json | 33 ++++++++++++++++ 14 files changed, 520 insertions(+) create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_001.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_002.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_003.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_004.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_005.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_006.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_007.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_011.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_012.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_013.json create mode 100644 tests/e2e/data/dynamoDB/AUTO_RSV_SB_014.json diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_001.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_001.json new file mode 100644 index 000000000..6198ff865 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_001.json @@ -0,0 +1,40 @@ +{ + "scenario_name": "RSV - Actionable due to membership of an Age Cohort incl. suggested actions (with booking)", + "data": [ + { + "NHS_NUMBER": "5000000001", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000001", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "5000000001", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "BOOKED_APPOINTMENT_DATE": "<>", + "BOOKED_APPOINTMENT_PROVIDER": "NBS" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_002.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_002.json new file mode 100644 index 000000000..5cffb6d37 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_002.json @@ -0,0 +1,33 @@ +{ + "scenario_name": "RSV - Actionable due to membership of an Age Cohort incl. suggested action (not booking)", + "data": [ + { + "NHS_NUMBER": "5000000002", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000002", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_003.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_003.json new file mode 100644 index 000000000..aebf3cb70 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_003.json @@ -0,0 +1,33 @@ +{ + "scenario_name": "RSV - Actionable due to membership of an alternative Age Cohort incl. suggested action", + "data": [ + { + "NHS_NUMBER": "5000000003", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_age_catchup", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000003", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_004.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_004.json new file mode 100644 index 000000000..cbd5f71b5 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_004.json @@ -0,0 +1,40 @@ +{ + "scenario_name": "RSV - Actionable due to membership of an Age Cohort incl. suggested action (existing national booking)", + "data": [ + { + "NHS_NUMBER": "5000000004", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000004", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "5000000004", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "BOOKED_APPOINTMENT_DATE": "<>", + "BOOKED_APPOINTMENT_PROVIDER": "NBS" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_005.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_005.json new file mode 100644 index 000000000..185eacd66 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_005.json @@ -0,0 +1,40 @@ +{ + "scenario_name": "RSV - Actionable due to membership of an Age Cohort incl. suggested actions (with local booking)", + "data": [ + { + "NHS_NUMBER": "5000000005", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000005", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "5000000005", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "BOOKED_APPOINTMENT_DATE": "<>", + "BOOKED_APPOINTMENT_PROVIDER": "ACC" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_006.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_006.json new file mode 100644 index 000000000..d453c9c0c --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_006.json @@ -0,0 +1,39 @@ +{ + "scenario_name": "RSV - Not Actionable despite membership of an Age Cohort, already vaccinated", + "data": [ + { + "NHS_NUMBER": "5000000006", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000006", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "5000000006", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "LAST_SUCCESSFUL_DATE": "<>" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_007.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_007.json new file mode 100644 index 000000000..78c9fceab --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_007.json @@ -0,0 +1,39 @@ +{ + "scenario_name": "RSV - Not Actionable, membership of Age Cohort, no available vaccinations (not available type 1)", + "data": [ + { + "NHS_NUMBER": "5000000007", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000007", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "<>", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "5000000007", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "LAST_SUCCESSFUL_DATE": "<>" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json new file mode 100644 index 000000000..d72ed3e99 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json @@ -0,0 +1,39 @@ +{ + "scenario_name": "RSV - No RSV response as no active campaign (not available type 2)", + "data": [ + { + "NHS_NUMBER": "5000000008", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000008", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "5000000008", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "BOOKED_APPOINTMENT_DATE": "2024-07-01" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json new file mode 100644 index 000000000..c710ed215 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json @@ -0,0 +1,39 @@ +{ + "scenario_name": "RSV - Not Actionable, membership of Age Cohort, dose not yet due", + "data": [ + { + "NHS_NUMBER": "5000000009", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000009", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "5000000009", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "LAST_SUCCESSFUL_DATE": "2023-07-01" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json new file mode 100644 index 000000000..68811ee78 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json @@ -0,0 +1,39 @@ +{ + "scenario_name": "RSV - Not Actionable, membership of Age Cohort, dose not far enough apart", + "data": [ + { + "NHS_NUMBER": "5000000010", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000010", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "5000000010", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "LAST_SUCCESSFUL_DATE": "2023-07-01" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_011.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_011.json new file mode 100644 index 000000000..c70c1bdfa --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_011.json @@ -0,0 +1,33 @@ +{ + "scenario_name": "RSV - Not Actionable despite to membership of an Age Cohort with reasoning of vaccination given in other setting (e.g. care home)", + "data": [ + { + "NHS_NUMBER": "5000000011", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "rsv_75_rolling", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000011", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "Y", + "DE_FLAG": "N" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_012.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_012.json new file mode 100644 index 000000000..2511c48b3 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_012.json @@ -0,0 +1,34 @@ +{ + "scenario_name": "RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 1 includes unknown cohort)", + "data": [ + { + "NHS_NUMBER": "5000000012", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [] + }, + { + "NHS_NUMBER": "5000000012", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "5000000012", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "LAST_SUCCESSFUL_DATE": "<>" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_013.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_013.json new file mode 100644 index 000000000..754a842d5 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_013.json @@ -0,0 +1,39 @@ +{ + "scenario_name": "RSV - Not Actionable despite no cohort membership with reasoning of already vaccinated (type 2 includes no cohorts)", + "data": [ + { + "NHS_NUMBER": "5000000013", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "covid_16+_immunosuppression", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "5000000013", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + }, + { + "NHS_NUMBER": "50000000014", + "ATTRIBUTE_TYPE": "TARGET", + "TYPE": "RSV", + "LAST_SUCCESSFUL_DATE": "<>" + } + ] +} diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_014.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_014.json new file mode 100644 index 000000000..994a1d599 --- /dev/null +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_014.json @@ -0,0 +1,33 @@ +{ + "scenario_name": "RSV - Not Eligible", + "data": [ + { + "NHS_NUMBER": "5000000014", + "ATTRIBUTE_TYPE": "COHORTS", + "COHORT_MEMBERSHIPS": [ + { + "COHORT_LABEL": "covid_16+_immunosuppression", + "DATE_JOINED": "2025-01-01" + } + ] + }, + { + "NHS_NUMBER": "50000000014", + "ATTRIBUTE_TYPE": "PERSON", + "DATE_OF_BIRTH": "<>", + "GENDER": "0", + "POSTCODE": "LS1 1AB", + "POSTCODE_SECTOR": "LS1", + "POSTCODE_OUTCODE": "1AB", + "MSOA": "E02001111", + "LSOA": "E01005348", + "GP_PRACTICE_CODE": "B87008", + "PCN": "U43084", + "ICB": "QWO", + "COMMISSIONING_REGION": "Y63", + "13Q_FLAG": "N", + "CARE_HOME_FLAG": "N", + "DE_FLAG": "N" + } + ] +} From 2776f3abe7292bf5e0f2efcd9210356b0356f09a Mon Sep 17 00:00:00 2001 From: Adam Waller Date: Wed, 18 Jun 2025 11:48:13 +0100 Subject: [PATCH 2/3] added the expected responses for the e2e sandbox examples --- tests/e2e/data/responses/AUTO_RSV_SB_001.json | 30 +++++++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_002.json | 28 ++++++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_003.json | 28 ++++++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_004.json | 24 ++++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_005.json | 22 +++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_006.json | 22 +++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_007.json | 28 ++++++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_008.json | 7 ++++ tests/e2e/data/responses/AUTO_RSV_SB_009.json | 28 ++++++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_010.json | 28 ++++++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_011.json | 28 ++++++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_012.json | 28 ++++++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_013.json | 22 +++++++++++++ tests/e2e/data/responses/AUTO_RSV_SB_014.json | 33 +++++++++++++++++++ 14 files changed, 356 insertions(+) create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_001.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_002.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_003.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_004.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_005.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_006.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_007.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_008.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_009.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_010.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_011.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_012.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_013.json create mode 100644 tests/e2e/data/responses/AUTO_RSV_SB_014.json diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_001.json b/tests/e2e/data/responses/AUTO_RSV_SB_001.json new file mode 100644 index 000000000..fc1326c0a --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_001.json @@ -0,0 +1,30 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "Actionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [ + { + "cohortCode": "rsv_age_rolling", + "cohortText": "You are aged 75 to 79 years old.", + "cohortStatus": "Actionable" + } + ], + "suitabilityRules": [], + "actions": [ + { + "actionType": "ButtonAuthLink", + "actionCode": "BookNBS", + "description": "", + "urlLink": "http://www.nhs.uk/book-rsv", + "urlLabel": "Continue to booking" + } + ] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_002.json b/tests/e2e/data/responses/AUTO_RSV_SB_002.json new file mode 100644 index 000000000..e45a371df --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_002.json @@ -0,0 +1,28 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "Actionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [ + { + "cohortCode": "rsv_age_rolling", + "cohortText": "You are aged 75 to 79 years old.", + "cohortStatus": "Actionable" + } + ], + "suitabilityRules": [], + "actions": [ + { + "actionType": "CareCardWithText", + "actionCode": "BookLocal", + "description": "##Getting the vaccine\nYou can get an RSV vaccination at your GP surgery.\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination." + } + ] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_003.json b/tests/e2e/data/responses/AUTO_RSV_SB_003.json new file mode 100644 index 000000000..e814e90b3 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_003.json @@ -0,0 +1,28 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "Actionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [ + { + "cohortCode": "rsv_age_catchup", + "cohortText": "You turned 80 between 2nd September 2024 and 31st August 2025", + "cohortStatus": "Actionable" + } + ], + "suitabilityRules": [], + "actions": [ + { + "actionType": "CareCardWithText", + "actionCode": "BookLocal", + "description": "##Getting the vaccine\nYou can get an RSV vaccination at your GP surgery.\nYour GP surgery may contact you about getting the RSV vaccine. This may be by letter, text, phone call, email or through the NHS App. You do not need to wait to be contacted before booking your vaccination." + } + ] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_004.json b/tests/e2e/data/responses/AUTO_RSV_SB_004.json new file mode 100644 index 000000000..ed4663779 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_004.json @@ -0,0 +1,24 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "Actionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [], + "suitabilityRules": [], + "actions": [ + { + "actionType": "CardWithAuthButton", + "actionCode": "AmendNBS", + "description": "##You have an RSV vaccination appointment\nYou can view, change or cancel your appointment below.", + "urlLink": "http://www.nhs.uk/book-rsv", + "urlLabel": "Manage your appointment" + } + ] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_005.json b/tests/e2e/data/responses/AUTO_RSV_SB_005.json new file mode 100644 index 000000000..687b05405 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_005.json @@ -0,0 +1,22 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "Actionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [], + "suitabilityRules": [], + "actions": [ + { + "actionType": "CardWithText", + "actionCode": "ManageLocal", + "description": "##You have an RSV vaccination appointment\nContact your healthcare provider to change or cancel your appointment." + } + ] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_006.json b/tests/e2e/data/responses/AUTO_RSV_SB_006.json new file mode 100644 index 000000000..3413b999b --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_006.json @@ -0,0 +1,22 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "NotActionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [], + "suitabilityRules": [ + { + "ruleType": "S", + "ruleCode": "AlreadyVaccinated", + "ruleText": "##You've had your RSV vaccination\nBased on our records, you recently had this vaccination. You do not need to do anything." + } + ], + "actions": [] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_007.json b/tests/e2e/data/responses/AUTO_RSV_SB_007.json new file mode 100644 index 000000000..e292c3719 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_007.json @@ -0,0 +1,28 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "NotActionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [ + { + "cohortCode": "rsv_age_rolling", + "cohortText": "You are aged 75 to 79 years old.", + "cohortStatus": "NotActionable" + } + ], + "suitabilityRules": [ + { + "ruleType": "S", + "ruleCode": "NotAvailable", + "ruleText": "Vaccinations are not currently available" + } + ], + "actions": [] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_008.json b/tests/e2e/data/responses/AUTO_RSV_SB_008.json new file mode 100644 index 000000000..01fef4fb6 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_008.json @@ -0,0 +1,7 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_009.json b/tests/e2e/data/responses/AUTO_RSV_SB_009.json new file mode 100644 index 000000000..65ecaf7a5 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_009.json @@ -0,0 +1,28 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "NotActionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [ + { + "cohortCode": "rsv_age_rolling", + "cohortText": "You are aged 75 to 79 years old.", + "cohortStatus": "NotActionable" + } + ], + "suitabilityRules": [ + { + "ruleType": "S", + "ruleCode": "NotYetDue", + "ruleText": "Your next dose is not yet due." + } + ], + "actions": [] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_010.json b/tests/e2e/data/responses/AUTO_RSV_SB_010.json new file mode 100644 index 000000000..0b9dc7258 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_010.json @@ -0,0 +1,28 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "NotActionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [ + { + "cohortCode": "rsv_age_rolling", + "cohortText": "You are aged 75 to 79 years old.", + "cohortStatus": "NotActionable" + } + ], + "suitabilityRules": [ + { + "ruleType": "S", + "ruleCode": "TooClose", + "ruleText": "Your previous vaccination was less than 91 days ago." + } + ], + "actions": [] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_011.json b/tests/e2e/data/responses/AUTO_RSV_SB_011.json new file mode 100644 index 000000000..3070205d0 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_011.json @@ -0,0 +1,28 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "NotActionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [ + { + "cohortCode": "rsv_age_rolling", + "cohortText": "You are aged 75 to 79 years old.", + "cohortStatus": "NotActionable" + } + ], + "suitabilityRules": [ + { + "ruleType": "S", + "ruleCode": "OtherSetting", + "ruleText": "##Getting the vaccine\nOur record show you're living in a setting where care is provided.\nIf you think you should have the RSV vaccine, speak to a member of staff where you live." + } + ], + "actions": [] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_012.json b/tests/e2e/data/responses/AUTO_RSV_SB_012.json new file mode 100644 index 000000000..4996198d2 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_012.json @@ -0,0 +1,28 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "NotActionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [ + { + "cohortCode": "unknown_cohort_membership", + "cohortText": "Our records do not say why you are eligible", + "cohortStatus": "NotActionable" + } + ], + "suitabilityRules": [ + { + "ruleType": "S", + "ruleCode": "AlreadyVaccinated", + "ruleText": "##You've had your RSV vaccination\nBased on our records, you recently had this vaccination.You do not need to do anything." + } + ], + "actions": [] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_013.json b/tests/e2e/data/responses/AUTO_RSV_SB_013.json new file mode 100644 index 000000000..3413b999b --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_013.json @@ -0,0 +1,22 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "NotActionable", + "statusText": "You should have the RSV vaccine", + "eligibilityCohorts": [], + "suitabilityRules": [ + { + "ruleType": "S", + "ruleCode": "AlreadyVaccinated", + "ruleText": "##You've had your RSV vaccination\nBased on our records, you recently had this vaccination. You do not need to do anything." + } + ], + "actions": [] + } + ] +} diff --git a/tests/e2e/data/responses/AUTO_RSV_SB_014.json b/tests/e2e/data/responses/AUTO_RSV_SB_014.json new file mode 100644 index 000000000..3858968e4 --- /dev/null +++ b/tests/e2e/data/responses/AUTO_RSV_SB_014.json @@ -0,0 +1,33 @@ +{ + "responseId": "<>", + "meta": { + "lastUpdated": "<>" + }, + "processedSuggestions": [ + { + "condition": "RSV", + "status": "NotEligible", + "statusText": "We do not believe you should have this vaccine", + "eligibilityCohorts": [ + { + "cohortCode": "rsv_age_rolling", + "cohortText": "You are not aged 75 to 79 years old.", + "cohortStatus": "NotEligible" + }, + { + "cohortCode": "rsv_age_catchup", + "cohortText": "You did not turn 80 between 2nd September 2024 and 31st August 2025", + "cohortStatus": "NotEligible" + } + ], + "suitabilityRules": [], + "actions": [ + { + "actionType": "CardWithText", + "actionCode": "HealtchareProInfo", + "description": "##If you think you need this vaccine\nSpeak to your healthcare professional if you think you should be offered this vaccination." + } + ] + } + ] +} From 9c19156ef15be23c7f9e5fc39bfdb5ab34c64bae Mon Sep 17 00:00:00 2001 From: Adam Waller Date: Wed, 18 Jun 2025 12:53:49 +0100 Subject: [PATCH 3/3] updated files to fix file format check --- tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json | 2 +- tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json | 2 +- tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json index d72ed3e99..2b763a053 100644 --- a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_008.json @@ -1,5 +1,5 @@ { - "scenario_name": "RSV - No RSV response as no active campaign (not available type 2)", + "scenario_name": "RSV - No RSV response as no active campaign (not available type 2)", "data": [ { "NHS_NUMBER": "5000000008", diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json index c710ed215..e70f1ccfe 100644 --- a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_009.json @@ -1,5 +1,5 @@ { - "scenario_name": "RSV - Not Actionable, membership of Age Cohort, dose not yet due", + "scenario_name": "RSV - Not Actionable, membership of Age Cohort, dose not yet due", "data": [ { "NHS_NUMBER": "5000000009", diff --git a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json index 68811ee78..98c5ab767 100644 --- a/tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json +++ b/tests/e2e/data/dynamoDB/AUTO_RSV_SB_010.json @@ -1,5 +1,5 @@ { - "scenario_name": "RSV - Not Actionable, membership of Age Cohort, dose not far enough apart", + "scenario_name": "RSV - Not Actionable, membership of Age Cohort, dose not far enough apart", "data": [ { "NHS_NUMBER": "5000000010",