diff --git a/app/data/users.js b/app/data/users.js index 6dc8b8ba..a2805812 100644 --- a/app/data/users.js +++ b/app/data/users.js @@ -126,6 +126,20 @@ module.exports = [ "firstName": "Jeremy", "lastName": "Blue" }, + { + "id": "7863542190631", + "email": "tara.mills@nhs.net", + "organisations": [ + { + "id": "FA424", + "permissionLevel": "Lead administrator", + "status": "Active", + "vaccinator": true + } + ], + "firstName": "Tara", + "lastName": "Mills" + }, { "id": "64746353", "email": "joseph.blue@nhs.net", diff --git a/app/routes/prototype-admin.js b/app/routes/prototype-admin.js index ccb728c5..bcd0ca76 100644 --- a/app/routes/prototype-admin.js +++ b/app/routes/prototype-admin.js @@ -66,6 +66,14 @@ const SIGN_IN_USERS = [ role: 'Lead administrator', orgDescription: 'Pickfords Pharmacy (FA424)' }, + { + id: '7863542190631', + name: 'Tara Mills', + email: 'tara.mills@nhs.net', + orgId: 'FA424', + role: 'Lead administrator', + orgDescription: 'Pickfords Pharmacy (FA424)' + }, { id: '1394978032564', name: 'Ocean Merritt', @@ -572,6 +580,23 @@ module.exports = (router) => { res.redirect(getDefaultLandingPath(data, data.currentOrganisationId)) }) + // ---------------------------------------------------------------- + // Preset: Pharmacy Lead Admin with Payments and appointments (Tara Mills, FA424) + // ---------------------------------------------------------------- + + router.get('/prototype-setup/preset/pharmacy-lead-admin-payments', (req, res) => { + resetSession(req) + const data = req.session.data + data.currentUserId = '7863542190631' + data.currentOrganisationId = 'FA424' + data.showPaymentsLink = true + setAppointmentsInterfaceForUserOrganisations(data, data.currentUserId, true) + setupBatchesForOrg(data, 'FA424') + addRandomUsers(data, 'FA424', 10) + addRandomVaccinations(data, 'FA424', 30) + res.redirect(getDefaultLandingPath(data, data.currentOrganisationId)) + }) + // ---------------------------------------------------------------- // Preset: Pharmacy Group Admin, small chain (Paulina Sloan, P0191N) // ---------------------------------------------------------------- diff --git a/app/views/includes/_preset-scenarios-table.html b/app/views/includes/_preset-scenarios-table.html index 28d9ad70..2316038e 100644 --- a/app/views/includes/_preset-scenarios-table.html +++ b/app/views/includes/_preset-scenarios-table.html @@ -9,7 +9,15 @@ userName: "Jeremy Blue", userEmail: "jeremy.blue@nhs.net", role: "Lead administrator", - scenarioDetails: "Lead admin at a pharmacy.Includes generated users and vaccination records." + scenarioDetails: "Lead admin at a pharmacy. Includes generated users and vaccination records." + }, + { + presetLabel: "Lead admin, single pharmacy (payments and appointments)", + presetPath: "/prototype-setup/preset/pharmacy-lead-admin-payments", + userName: "Tara Mills", + userEmail: "tara.mills@nhs.net", + role: "Lead administrator", + scenarioDetails: "Pharmacy scenario with payments and appointments enabled." }, { presetLabel: "Recorder, single pharmacy", diff --git a/app/views/includes/header.html b/app/views/includes/header.html index 14407ba8..88b9fa51 100644 --- a/app/views/includes/header.html +++ b/app/views/includes/header.html @@ -47,6 +47,15 @@ active: (currentSection == "home") }), navigationItems) %} + + {% if canShowPayments or data.showPaymentsLink %} + {% set navigationItems = (navigationItems.push({ + href: "/payments/", + text: "Payments", + active: (currentSection == "payments") + }), navigationItems) %} + {% endif %} + {% if currentOrganisation.type === "Pharmacy HQ" %} {% set navigationItems = (navigationItems.push({ diff --git a/app/views/payments/claims/_claim-template.html b/app/views/payments/claims/_claim-template.html new file mode 100644 index 00000000..9e5bfdac --- /dev/null +++ b/app/views/payments/claims/_claim-template.html @@ -0,0 +1,32 @@ +
+
+ +

{{ pageName }}

+ + {# Hide help content if the issue has been resubmitted #} + {% if data.status == "rejected" %} + {{ helpContent | safe }} + {% endif %} + + {# Hide buttons if issue can not be actioned #} + {% if mysService and data.status == "rejected" %} +
+ {{ button({ + text: "Register on MYS (opens in new tab)", + href: "/payments/manage-your-service", + attributes: { + rel: "noreferrer noopener", + target: "_blank" + } + }) }} + {{ button({ + text: "Resubmit", + href: resubmitPage, + variant: "secondary" + }) }} +
+ {% else %} + {% endif %} + +
+
\ No newline at end of file diff --git a/app/views/payments/claims/adult-flu.html b/app/views/payments/claims/adult-flu.html new file mode 100644 index 00000000..51d0bd87 --- /dev/null +++ b/app/views/payments/claims/adult-flu.html @@ -0,0 +1,25 @@ +{% extends 'layout.html' %} +{% set canShowPayments = true %} +{% set currentSection = "payments" %} + +{# Update these for each page #} +{% set mysService = "adult flu vaccinations" %} +{% set pageName = "Not registered for " + mysService %} +{% set resubmitPage = "/payments/resubmit/adult-flu" %} +{% set helpContent %} +

How to fix this

+

According to NHSBSA, this pharmacy is not registered for the {{ mysService }} service on the MYS portal.

+

You need to register on MYS as soon as possible and then return to the payments dashboard to resubmit your claims.

+{% endset %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/claims/_claim-template.html" %} + {% include "payments/tables/_rejected-claims-table-adult-flu.html" %} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/claims/childhood-flu.html b/app/views/payments/claims/childhood-flu.html new file mode 100644 index 00000000..e66f12d8 --- /dev/null +++ b/app/views/payments/claims/childhood-flu.html @@ -0,0 +1,25 @@ +{% extends 'layout.html' %} +{% set canShowPayments = true %} +{% set currentSection = "payments" %} + +{# Update these for each page #} +{% set mysService = "childhood flu vaccinations" %} +{% set pageName = "Not registered for " + mysService %} +{% set resubmitPage = "/payments/resubmit/childhood-flu" %} +{% set helpContent %} +

How to fix this

+

According to NHSBSA, this pharmacy is not registered for the {{ mysService }} service on the MYS portal.

+

You need to register on MYS as soon as possible and then return to the payments dashboard to resubmit your claims.

+{% endset %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/claims/_claim-template.html" %} + {% include "payments/tables/_rejected-claims-table-childhood-flu.html" %} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/claims/covid-19.html b/app/views/payments/claims/covid-19.html new file mode 100644 index 00000000..427423fe --- /dev/null +++ b/app/views/payments/claims/covid-19.html @@ -0,0 +1,25 @@ +{% extends 'layout.html' %} +{% set canShowPayments = true %} +{% set currentSection = "payments" %} + +{# Update these for each page #} +{% set mysService = "COVID-19 vaccinations" %} +{% set pageName = "Not registered for " + mysService %} +{% set resubmitPage = "/payments/resubmit/covid-19" %} +{% set helpContent %} +

How to fix this

+

According to NHSBSA, this pharmacy is not registered for the {{ mysService }} service on the MYS portal.

+

You need to register on MYS as soon as possible and then return to the payments dashboard to resubmit your claims.

+{% endset %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/claims/_claim-template.html" %} + {% include "payments/tables/_rejected-claims-table-covid-19.html" %} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/claims/invalid-postcode.html b/app/views/payments/claims/invalid-postcode.html new file mode 100644 index 00000000..5a8e32a6 --- /dev/null +++ b/app/views/payments/claims/invalid-postcode.html @@ -0,0 +1,25 @@ +{% extends 'layout.html' %} +{% set canShowPayments = true %} +{% set currentSection = "payments" %} + +{# Update these for each page #} +{# {% set mysService = "N/A" %} #} +{% set pageName = "Invalid patient postcode" %} +{# {% set resubmitPage = "N/A" %} #} +{% set helpContent %} +

What this means

+

According to NHSBSA, the patient's postcode is invalid. They therefore cannot accept the claim.

+

For more information, contact NHSBSA - MYS (opens in new tab).

+{% endset %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/claims/_claim-template.html" %} + {% include "payments/tables/_rejected-claims-table-postcode.html" %} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/claims/out-of-season-flu.html b/app/views/payments/claims/out-of-season-flu.html new file mode 100644 index 00000000..0f8f8556 --- /dev/null +++ b/app/views/payments/claims/out-of-season-flu.html @@ -0,0 +1,26 @@ +{% extends 'layout.html' %} +{% set canShowPayments = true %} +{% set currentSection = "payments" %} + +{# Update these for each page #} +{# {% set mysService = "N/A" %} #} +{% set pageName = "Flu vaccination given out of season" %} +{# {% set resubmitPage = "N/A" %} #} +{% set helpContent %} +

What this means

+

NHSBSA does not accept claims for flu vaccinations given outside the dates of the seasonal vaccination programme.

+

If a mistake was made when recording the date the vaccination was given, you can delete the record and create a new record.

+

For more information, contact NHSBSA - MYS (opens in new tab).

+{% endset %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/claims/_claim-template.html" %} + {% include "payments/tables/_rejected-claims-table-out-of-season-flu.html" %} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/claims/patient-outside-age-range.html b/app/views/payments/claims/patient-outside-age-range.html new file mode 100644 index 00000000..752d6c91 --- /dev/null +++ b/app/views/payments/claims/patient-outside-age-range.html @@ -0,0 +1,25 @@ +{% extends 'layout.html' %} +{% set canShowPayments = true %} +{% set currentSection = "payments" %} + +{# Update these for each page #} +{# {% set mysService = "N/A" %} #} +{% set pageName = "Patient is not within the age range for product" %} +{# {% set resubmitPage = "N/A" %} #} +{% set helpContent %} +

What this means

+

According to NHSBSA, the patient is not within the age range for the vaccine product given. They therefore cannot accept the claim.

+

For more information, contact NHSBSA - MYS (opens in new tab).

+{% endset %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/claims/_claim-template.html" %} + {% include "payments/tables/_rejected-claims-table-patient-outside-age-range.html" %} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/index.html b/app/views/payments/index.html new file mode 100644 index 00000000..ad418f8a --- /dev/null +++ b/app/views/payments/index.html @@ -0,0 +1,198 @@ +{% extends 'layout.html' %} + +{% set pageName = "Payments" %} + +{% set canShowPayments = true %} + +{% set currentSection = "payments" %} + +{% block content %} + +
+
+ +

{{ pageName }}

+ +

This shows claims that NHSBSA is rejecting. It only includes data for the current seasonal campaign.

+ + {% set paymentIssuesContent %} + + {{ table({ + caption: { + text: "Rejected claims", + classes: "nhsuk-u-visually-hidden" + }, + head: [ + { + text: "Reason for rejection" + }, + { + text: "Number of records" + }, + { + text: "Action" + } + ], + rows: [ + [ + { + text: "Not registered for adult flu vaccinations" + }, + { + text: "10" + }, + { + html: "View" + } + ] if data.adultFluResubmitted != "true" + , + [ + { + text: "Not registered for childhood flu vaccinations" + }, + { + text: "4" + }, + { + html: "View" + } + ] if data.childhoodFluResubmitted != "true" + , + [ + { + text: "Not registered for COVID-19 vaccinations" + }, + { + text: "21" + }, + { + html: "View" + } + ] if data.covid19Resubmitted != "true" + , + [ + { + text: "Flu vaccination given out of season" + }, + { + text: "8" + }, + { + html: "View" + } + ] + , + [ + { + text: "Invalid patient postcode" + }, + { + text: "3" + }, + { + html: "View" + } + ] + , + [ + { + text: "Patient is not within the age range for product" + }, + { + text: "1" + }, + { + html: "View" + } + ] + ] + }) }} + + {% endset -%} + + {% set resubmittedContent %} + +

Successful resubmission does not guarantee payment.

+ + {{ table({ + caption: { + text: "Claims", + classes: "nhsuk-u-visually-hidden" + }, + head: [ + { + text: "Reason for rejection" + }, + { + text: "Number of records" + }, + { + text: "Action" + } + ], + rows: [ + [ + { + text: "Not registered for adult flu vaccination service" + }, + { + text: "10" + }, + { + html: "View" + } + ] if data.adultFluResubmitted == "true" + , + [ + { + text: "Not registered for childhood flu vaccinations" + }, + { + text: "4" + }, + { + html: "View" + } + ] if data.childhoodFluResubmitted == "true" + , + [ + { + text: "Not registered for COVID-19 vaccinations" + }, + { + text: "21" + }, + { + html: "View" + } + ] if data.covid19Resubmitted == "true" + ] + }) }} + + {% endset -%} + + {{ tabs({ + items: [ + { + label: "Rejected claims", + id: "rejected-claims", + panel: { + html: paymentIssuesContent + } + }, + { + label: "Resubmitted", + id: "resubmitted", + panel: { + html: resubmittedContent + } + } + ] + }) }} + +

There may be other reasons a claim gets rejected by NHSBSA. Only the most common reasons are listed here.

+ +
+
+ +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/manage-your-service.html b/app/views/payments/manage-your-service.html new file mode 100644 index 00000000..f9e14e80 --- /dev/null +++ b/app/views/payments/manage-your-service.html @@ -0,0 +1,81 @@ +{% extends 'layout.html' %} + +{% set pageName = "Manage Your Service" %} + +{% block header %} + {{ header({ + service: { + text: "Manage Your Service" + } + }) }} +{% endblock %} + +{% block content %} +
+
+
+

Manage Your Service

+ +

I understand that NHSBSA may use and share information I provide in relation to all claims made via this portal with the Department of Health and Social Care (DHSC), NHS England (NHSE) and the NHS Counter Fraud Authority (NHSCFA) for the purposes of the prevention, detection, loss measurement, investigation and prosecution of fraud or any other unlawful activity affecting the NHS.

+ +

+ By logging into MYS using your NHS Mail address and password you accept the above statement +

+ + {{ button({ + text: "Sign in", + type: "button" + }) }} + + {% set helpHtml %} +

Contact the helpdesk on 0300 330 1368 or email
+ mys@nhsbsa.nhs.uk +

+ {% endset %} + + {{ details({ + summaryText: "Need help with signing in?", + html: helpHtml + }) }} +
+
+
+{% endblock %} + +{% block footer %} + {% set moreInformationHtml %} +

Find more information about NHS Business Services Authority

+ {% endset %} + + {{ footer({ + columns: 1, + meta: { + items: [ + { + href: "#", + text: "Privacy Policies" + }, + { + href: "#", + text: "Cookies" + }, + { + href: "#", + text: "Accessibility" + }, + { + href: "#", + text: "Email the MYS support team" + }, + { + href: "#", + text: "call us 0300 330 1368" + } + ], + html: moreInformationHtml + }, + copyright: { + text: "Copyright NHS Business Services Authority 2017." + } + }) }} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/records/_record-template.html b/app/views/payments/records/_record-template.html new file mode 100644 index 00000000..c6377ae3 --- /dev/null +++ b/app/views/payments/records/_record-template.html @@ -0,0 +1,92 @@ +
+
+ +

{{ patientName }}’s vaccination records

+ + {{ summaryList({ + rows: [ + { + key: { + text: "Name" + }, + value: { + text: patientName + } + }, + { + key: { + text: "Date of birth" + }, + value: { + html: "11 August 1971
(55 years old)" + } + }, + { + key: { + text: "Address" + }, + value: { + html: "73 Roman Rd,
Leeds
LS2 5ZN" + } + }, + { + key: { + text: "NHS number" + }, + value: { + text: nhsNumber + } + } + ] + }) }} + +

Vaccination history

+ +

You can only view, edit or delete records your organisation has created.

+ + {{ table({ + caption: { + text: "Vaccination history", + size: "m", + classes: "nhsuk-u-visually-hidden" + }, + classes: "nhsuk-u-margin-top-9", + head: [ + { + text: "Date" + }, + { + text: "Vaccine" + }, + { + text: "Product" + } + ], + rows: [ + [ + { + html: vaccinationDate + }, + { + text: "Flu" + }, + { + text: fluProduct or "Adjuvanted Trivalent Influenza Vaccine (aTIV)" + } + ], + [ + { + html: vaccinationDate + }, + { + text: "COVID-19" + }, + { + text: "Spikevax XFG" + } + ] + ] + }) }} + +
+
diff --git a/app/views/payments/records/adele-purple.html b/app/views/payments/records/adele-purple.html new file mode 100644 index 00000000..d4dbf1d8 --- /dev/null +++ b/app/views/payments/records/adele-purple.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Adele Purple’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Adele Purple" %} +{% set nhsNumber = "9951742954" %} +{% set vaccinationDate = "21 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/aisha-khan.html b/app/views/payments/records/aisha-khan.html new file mode 100644 index 00000000..5a105ada --- /dev/null +++ b/app/views/payments/records/aisha-khan.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Aisha Khan’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Aisha Khan" %} +{% set nhsNumber = "9128473650" %} +{% set vaccinationDate = "20 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/amira-ahmed.html b/app/views/payments/records/amira-ahmed.html new file mode 100644 index 00000000..89f62e5d --- /dev/null +++ b/app/views/payments/records/amira-ahmed.html @@ -0,0 +1,21 @@ +{% extends 'layout.html' %} + +{% set pageName = "Amira Ahmed’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Amira Ahmed" %} +{% set nhsNumber = "9064821735" %} +{% set vaccinationDate = "14 October 2026" %} +{% set fluProduct = "Efluelda (TIV-HD)" %} + + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/chloe-williams.html b/app/views/payments/records/chloe-williams.html new file mode 100644 index 00000000..cce4f05d --- /dev/null +++ b/app/views/payments/records/chloe-williams.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Chloe Williams’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Chloe Williams" %} +{% set nhsNumber = "9726413508" %} +{% set vaccinationDate = "12 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/daniel-oconnor.html b/app/views/payments/records/daniel-oconnor.html new file mode 100644 index 00000000..824256fd --- /dev/null +++ b/app/views/payments/records/daniel-oconnor.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Daniel O’Connor’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Daniel O’Connor" %} +{% set nhsNumber = "9347162085" %} +{% set vaccinationDate = "19 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/ella-foster.html b/app/views/payments/records/ella-foster.html new file mode 100644 index 00000000..b08738ec --- /dev/null +++ b/app/views/payments/records/ella-foster.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Ella Foster’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Ella Foster" %} +{% set nhsNumber = "9745120368" %} +{% set vaccinationDate = "11 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/ethan-cooper.html b/app/views/payments/records/ethan-cooper.html new file mode 100644 index 00000000..e34aac0a --- /dev/null +++ b/app/views/payments/records/ethan-cooper.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Ethan Cooper’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Ethan Cooper" %} +{% set nhsNumber = "9456021378" %} +{% set vaccinationDate = "2 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/fatima-hussain.html b/app/views/payments/records/fatima-hussain.html new file mode 100644 index 00000000..d96b4a3d --- /dev/null +++ b/app/views/payments/records/fatima-hussain.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Fatima Hussain’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Fatima Hussain" %} +{% set nhsNumber = "9516248037" %} +{% set vaccinationDate = "16 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/grace-nguyen.html b/app/views/payments/records/grace-nguyen.html new file mode 100644 index 00000000..c7418279 --- /dev/null +++ b/app/views/payments/records/grace-nguyen.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Grace Nguyen’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Grace Nguyen" %} +{% set nhsNumber = "9658240137" %} +{% set vaccinationDate = "7 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/henry-walker.html b/app/views/payments/records/henry-walker.html new file mode 100644 index 00000000..b4208619 --- /dev/null +++ b/app/views/payments/records/henry-walker.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Henry Walker’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Henry Walker" %} +{% set nhsNumber = "9418276503" %} +{% set vaccinationDate = "4 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/james-wilson.html b/app/views/payments/records/james-wilson.html new file mode 100644 index 00000000..57d5949c --- /dev/null +++ b/app/views/payments/records/james-wilson.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "James Wilson’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "James Wilson" %} +{% set nhsNumber = "No data" %} +{% set vaccinationDate = "17 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/joshua-clarke.html b/app/views/payments/records/joshua-clarke.html new file mode 100644 index 00000000..e0a3aefe --- /dev/null +++ b/app/views/payments/records/joshua-clarke.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Joshua Clarke’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Joshua Clarke" %} +{% set nhsNumber = "9873150426" %} +{% set vaccinationDate = "15 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/lewis-morgan.html b/app/views/payments/records/lewis-morgan.html new file mode 100644 index 00000000..5b21ab61 --- /dev/null +++ b/app/views/payments/records/lewis-morgan.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Lewis Morgan’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Lewis Morgan" %} +{% set nhsNumber = "9450718263" %} +{% set vaccinationDate = "13 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/liam-carter.html b/app/views/payments/records/liam-carter.html new file mode 100644 index 00000000..e9be75a9 --- /dev/null +++ b/app/views/payments/records/liam-carter.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Liam Carter’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Liam Carter" %} +{% set nhsNumber = "9374051286" %} +{% set vaccinationDate = "8 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/mia-roberts.html b/app/views/payments/records/mia-roberts.html new file mode 100644 index 00000000..7b6c1cf9 --- /dev/null +++ b/app/views/payments/records/mia-roberts.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Mia Roberts’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Mia Roberts" %} +{% set nhsNumber = "9765031842" %} +{% set vaccinationDate = "5 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/noah-patel.html b/app/views/payments/records/noah-patel.html new file mode 100644 index 00000000..0f11f517 --- /dev/null +++ b/app/views/payments/records/noah-patel.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Noah Patel’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Noah Patel" %} +{% set nhsNumber = "9207314685" %} +{% set vaccinationDate = "6 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/oliver-bennett.html b/app/views/payments/records/oliver-bennett.html new file mode 100644 index 00000000..686fa5b0 --- /dev/null +++ b/app/views/payments/records/oliver-bennett.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Oliver Bennett’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Oliver Bennett" %} +{% set nhsNumber = "9018357642" %} +{% set vaccinationDate = "10 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/priya-patel.html b/app/views/payments/records/priya-patel.html new file mode 100644 index 00000000..30dab7de --- /dev/null +++ b/app/views/payments/records/priya-patel.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Priya Patel’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Priya Patel" %} +{% set nhsNumber = "9682037415" %} +{% set vaccinationDate = "18 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/ruby-evans.html b/app/views/payments/records/ruby-evans.html new file mode 100644 index 00000000..e686dfc9 --- /dev/null +++ b/app/views/payments/records/ruby-evans.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Ruby Evans’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Ruby Evans" %} +{% set nhsNumber = "9017642853" %} +{% set vaccinationDate = "1 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/sophia-turner.html b/app/views/payments/records/sophia-turner.html new file mode 100644 index 00000000..53045607 --- /dev/null +++ b/app/views/payments/records/sophia-turner.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Sophia Turner’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Sophia Turner" %} +{% set nhsNumber = "9824106375" %} +{% set vaccinationDate = "9 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/records/zoe-hughes.html b/app/views/payments/records/zoe-hughes.html new file mode 100644 index 00000000..d76c4984 --- /dev/null +++ b/app/views/payments/records/zoe-hughes.html @@ -0,0 +1,19 @@ +{% extends 'layout.html' %} + +{% set pageName = "Zoe Hughes’s flu vaccination record" %} +{% set currentSection = "records" %} +{% set canShowPayments = true %} +{% set patientName = "Zoe Hughes" %} +{% set nhsNumber = "9837246150" %} +{% set vaccinationDate = "3 October 2026" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/records/_record-template.html" %} +{% endblock %} diff --git a/app/views/payments/resubmit/_resubmit-template.html b/app/views/payments/resubmit/_resubmit-template.html new file mode 100644 index 00000000..ec01ea92 --- /dev/null +++ b/app/views/payments/resubmit/_resubmit-template.html @@ -0,0 +1,22 @@ +
+
+ +

{{ pageName }}

+ +

Are you sure you want to resubmit?

+ +

Make sure you have registered on MYS for the right vaccination services before you resubmit.

+ +
+ + {{ button({ + "text": "Resubmit " + claimCount + " records", + "href": nextPage + }) }} + + Cancel + +
+ +
+
\ No newline at end of file diff --git a/app/views/payments/resubmit/adult-flu.html b/app/views/payments/resubmit/adult-flu.html new file mode 100644 index 00000000..b0de03da --- /dev/null +++ b/app/views/payments/resubmit/adult-flu.html @@ -0,0 +1,20 @@ +{% extends 'layout.html' %} +{% set canShowPayments = true %} +{% set currentSection = "payments" %} +{% set pageName = "Resubmit" %} + +{# Update these for each page #} +{% set claimCount = 10 %} +{% set previousPage = "/payments/claims/adult-flu" %} +{% set nextPage = "/payments/?adultFluResubmitted=true#resubmitted" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/resubmit/_resubmit-template.html" %} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/resubmit/childhood-flu.html b/app/views/payments/resubmit/childhood-flu.html new file mode 100644 index 00000000..8bbafaf9 --- /dev/null +++ b/app/views/payments/resubmit/childhood-flu.html @@ -0,0 +1,20 @@ +{% extends 'layout.html' %} +{% set canShowPayments = true %} +{% set currentSection = "payments" %} +{% set pageName = "Resubmit" %} + +{# Update these for each page #} +{% set claimCount = 4 %} +{% set previousPage = "/payments/claims/childhood-flu" %} +{% set nextPage = "/payments/?childhoodFluResubmitted=true#resubmitted" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/resubmit/_resubmit-template.html" %} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/resubmit/covid-19.html b/app/views/payments/resubmit/covid-19.html new file mode 100644 index 00000000..ad221159 --- /dev/null +++ b/app/views/payments/resubmit/covid-19.html @@ -0,0 +1,20 @@ +{% extends 'layout.html' %} +{% set canShowPayments = true %} +{% set currentSection = "payments" %} +{% set pageName = "Resubmit" %} + +{# Update these for each page #} +{% set claimCount = 21 %} +{% set previousPage = "/payments/claims/covid-19" %} +{% set nextPage = "/payments/?covid19Resubmitted=true#resubmitted" %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()", + text: "Back" + }) }} +{% endblock %} + +{% block content %} + {% include "payments/resubmit/_resubmit-template.html" %} +{% endblock %} \ No newline at end of file diff --git a/app/views/payments/tables/_rejected-claims-table-adult-flu.html b/app/views/payments/tables/_rejected-claims-table-adult-flu.html new file mode 100644 index 00000000..a2ee3412 --- /dev/null +++ b/app/views/payments/tables/_rejected-claims-table-adult-flu.html @@ -0,0 +1,196 @@ +{{ table({ + caption: { + text: "Claims (10)", + size: "m" + }, + classes: "nhsuk-u-margin-top-9", + head: [ + { + text: "Name and NHS number" + }, + { + text: "Date" + }, + { + text: "Deposit ID" + }, + { + text: "Claim ID" + }, + { + text: "Status" + } + ], + rows: [ + [ + { + html: "Adele Purple
9951742954" + }, + { + text: "21 Oct 2026" + }, + { + text: "RAV-A7m2K9pQ1x" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1092782") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Aisha Khan
9128473650" + }, + { + text: "20 Oct 2026" + }, + { + text: "RAV-4B8cD2eF6g" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1092564") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Daniel O'Connor
9347162085" + }, + { + text: "19 Oct 2026" + }, + { + text: "RAV-H3j5K7m9N2" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9872365") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Priya Patel
9682037415" + }, + { + text: "18 Oct 2026" + }, + { + text: "RAV-pQ4rS6tU8v" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9098256") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "James Wilson
" + }, + { + text: "17 Oct 2026" + }, + { + text: "RAV-W1x3Y5z7A9" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1647834") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Fatima Hussain
9516248037" + }, + { + text: "16 Oct 2026" + }, + { + text: "RAV-bC2dE4fG6h" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9465674") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Joshua Clarke
9873150426" + }, + { + text: "15 Oct 2026" + }, + { + text: "RAV-J8k0L2mN4p" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "8294657") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Amira Ahmed
9064821735" + }, + { + text: "14 Oct 2026" + }, + { + text: "RAV-qR5sT7uV9w" + }, + { + html: "No data" if data.status == "rejected" else ( "2938932" if data.status == "resubmitting" else "2938932") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Lewis Morgan
9450718263" + }, + { + text: "13 Oct 2026" + }, + { + text: "RAV-X3y5Z7aB9c" + }, + { + html: "No data" if data.status == "rejected" else ( "0928934" if data.status == "resubmitting" else "0928934") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Chloe Williams
9726413508" + }, + { + text: "12 Oct 2026" + }, + { + text: "RAV-dE1fG3hJ5k" + }, + { + html: "No data" if data.status == "rejected" else ( "7820934" if data.status == "resubmitting" else "7820934") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ] + ] + }) }} \ No newline at end of file diff --git a/app/views/payments/tables/_rejected-claims-table-childhood-flu.html b/app/views/payments/tables/_rejected-claims-table-childhood-flu.html new file mode 100644 index 00000000..4f36d383 --- /dev/null +++ b/app/views/payments/tables/_rejected-claims-table-childhood-flu.html @@ -0,0 +1,141 @@ +{{ table({ + caption: { + text: "Claims (4)", + size: "m" + }, + classes: "nhsuk-u-margin-top-9", + head: [ + { + text: "Name and NHS number" + }, + { + text: "Date" + }, + { + text: "Deposit ID" + }, + { + text: "Claim ID" + }, + { + text: "Status" + } + ], + rows: [ + [ + { + html: "Adele Purple
9951742954" + }, + { + text: "21 Oct 2026" + }, + { + text: "RAV-A7m2K9pQ1x" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1092782") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Aisha Khan
9128473650" + }, + { + text: "20 Oct 2026" + }, + { + text: "RAV-4B8cD2eF6g" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1092564") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Daniel O'Connor
9347162085" + }, + { + text: "19 Oct 2026" + }, + { + text: "RAV-H3j5K7m9N2" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9872365") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Priya Patel
9682037415" + }, + { + text: "18 Oct 2026" + }, + { + text: "RAV-pQ4rS6tU8v" + }, + { + html: "No data" + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ] if data.childhoodFluResubmitted != "true" + ] + }) }} + + {% if data.childhoodFluResubmitted == "true"%} + + {{ table({ + caption: { + text: "Rejected for another reason (1)", + size: "m" + }, + classes: "nhsuk-u-margin-top-9", + head: [ + { + text: "Name and NHS number" + }, + { + text: "Date" + }, + { + text: "Deposit ID" + }, + { + text: "Claim ID" + }, + { + text: "Status" + } + ], + rows: [ + [ + { + html: "Priya Patel
9682037415" + }, + { + text: "18 Oct 2026" + }, + { + text: "RAV-pQ4rS6tU8v" + }, + { + html: "No data" + }, + { + html: tag({ text: "Rejected", colour: "red"}) + } + ] + ] + }) }} + {% endif %} \ No newline at end of file diff --git a/app/views/payments/tables/_rejected-claims-table-covid-19.html b/app/views/payments/tables/_rejected-claims-table-covid-19.html new file mode 100644 index 00000000..1f8823c3 --- /dev/null +++ b/app/views/payments/tables/_rejected-claims-table-covid-19.html @@ -0,0 +1,383 @@ +{{ table({ + caption: { + text: "Claims (21)", + size: "m" + }, + classes: "nhsuk-u-margin-top-9", + head: [ + { + text: "Name and NHS number" + }, + { + text: "Date" + }, + { + text: "Deposit ID" + }, + { + text: "Claim ID" + }, + { + text: "Status" + } + ], + rows: [ + [ + { + html: "Adele Purple
9951742954" + }, + { + text: "21 Oct 2026" + }, + { + text: "RAV-A7m2K9pQ1x" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1092782") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Aisha Khan
9128473650" + }, + { + text: "20 Oct 2026" + }, + { + text: "RAV-4B8cD2eF6g" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1092564") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Daniel O'Connor
9347162085" + }, + { + text: "19 Oct 2026" + }, + { + text: "RAV-H3j5K7m9N2" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9872365") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Priya Patel
9682037415" + }, + { + text: "18 Oct 2026" + }, + { + text: "RAV-pQ4rS6tU8v" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9098256") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "James Wilson
" + }, + { + text: "17 Oct 2026" + }, + { + text: "RAV-W1x3Y5z7A9" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1647834") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Fatima Hussain
9516248037" + }, + { + text: "16 Oct 2026" + }, + { + text: "RAV-bC2dE4fG6h" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9465674") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Joshua Clarke
9873150426" + }, + { + text: "15 Oct 2026" + }, + { + text: "RAV-J8k0L2mN4p" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "8294657") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Amira Ahmed
9064821735" + }, + { + text: "14 Oct 2026" + }, + { + text: "RAV-qR5sT7uV9w" + }, + { + html: "No data" if data.status == "rejected" else ( "2938932" if data.status == "resubmitting" else "2938932") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Lewis Morgan
9450718263" + }, + { + text: "13 Oct 2026" + }, + { + text: "RAV-X3y5Z7aB9c" + }, + { + html: "No data" if data.status == "rejected" else ( "0928934" if data.status == "resubmitting" else "0928934") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Chloe Williams
9726413508" + }, + { + text: "12 Oct 2026" + }, + { + text: "RAV-dE1fG3hJ5k" + }, + { + html: "No data" if data.status == "rejected" else ( "7820934" if data.status == "resubmitting" else "7820934") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Ella Foster
9745120368" + }, + { + text: "11 Oct 2026" + }, + { + text: "RAV-L7w2X9m4K6" + }, + { + html: "No data" if data.status == "rejected" else ( "1174829" if data.status == "resubmitting" else "1174829") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Oliver Bennett
9018357642" + }, + { + text: "10 Oct 2026" + }, + { + text: "RAV-M3n5P7q9R2" + }, + { + html: "No data" if data.status == "rejected" else ( "1185943" if data.status == "resubmitting" else "1185943") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Sophia Turner
9824106375" + }, + { + text: "9 Oct 2026" + }, + { + text: "RAV-N8v2W4x6Y1" + }, + { + html: "No data" if data.status == "rejected" else ( "1243068" if data.status == "resubmitting" else "1243068") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Liam Carter
9374051286" + }, + { + text: "8 Oct 2026" + }, + { + text: "RAV-P2r4S6t8U1" + }, + { + html: "No data" if data.status == "rejected" else ( "1268724" if data.status == "resubmitting" else "1268724") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Grace Nguyen
9658240137" + }, + { + text: "7 Oct 2026" + }, + { + text: "RAV-Q5u7V9w2X4" + }, + { + html: "No data" if data.status == "rejected" else ( "1314562" if data.status == "resubmitting" else "1314562") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Noah Patel
9207314685" + }, + { + text: "6 Oct 2026" + }, + { + text: "RAV-R1a3B5c7D9" + }, + { + html: "No data" if data.status == "rejected" else ( "1359607" if data.status == "resubmitting" else "1359607") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Mia Roberts
9765031842" + }, + { + text: "5 Oct 2026" + }, + { + text: "RAV-S8e1F3g5H7" + }, + { + html: "No data" if data.status == "rejected" else ( "1413295" if data.status == "resubmitting" else "1413295") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Henry Walker
9418276503" + }, + { + text: "4 Oct 2026" + }, + { + text: "RAV-T2j4K6l8M1" + }, + { + html: "No data" if data.status == "rejected" else ( "1468851" if data.status == "resubmitting" else "1468851") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Zoe Hughes
9837246150" + }, + { + text: "3 Oct 2026" + }, + { + text: "RAV-U5m7N9p2Q4" + }, + { + html: "No data" if data.status == "rejected" else ( "1524109" if data.status == "resubmitting" else "1524109") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Ethan Cooper
9456021378" + }, + { + text: "2 Oct 2026" + }, + { + text: "RAV-V8r1S3t5U7" + }, + { + html: "No data" if data.status == "rejected" else ( "1583286" if data.status == "resubmitting" else "1583286") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Ruby Evans
9017642853" + }, + { + text: "1 Oct 2026" + }, + { + text: "RAV-W2v4X6y8Z1" + }, + { + html: "No data" if data.status == "rejected" else ( "1642738" if data.status == "resubmitting" else "1642738") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ] + ] + }) }} \ No newline at end of file diff --git a/app/views/payments/tables/_rejected-claims-table-out-of-season-flu.html b/app/views/payments/tables/_rejected-claims-table-out-of-season-flu.html new file mode 100644 index 00000000..a86f23bc --- /dev/null +++ b/app/views/payments/tables/_rejected-claims-table-out-of-season-flu.html @@ -0,0 +1,162 @@ +{{ table({ + caption: { + text: "Claims (8)", + size: "m" + }, + classes: "nhsuk-u-margin-top-9", + head: [ + { + text: "Name and NHS number" + }, + { + text: "Date" + }, + { + text: "Deposit ID" + }, + { + text: "Claim ID" + }, + { + text: "Status" + } + ], + rows: [ + [ + { + html: "Adele Purple
9951742954" + }, + { + text: "21 Oct 2026" + }, + { + text: "RAV-A7m2K9pQ1x" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1092782") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Aisha Khan
9128473650" + }, + { + text: "20 Oct 2026" + }, + { + text: "RAV-4B8cD2eF6g" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1092564") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Daniel O'Connor
9347162085" + }, + { + text: "19 Oct 2026" + }, + { + text: "RAV-H3j5K7m9N2" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9872365") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Priya Patel
9682037415" + }, + { + text: "18 Oct 2026" + }, + { + text: "RAV-pQ4rS6tU8v" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9098256") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "James Wilson
" + }, + { + text: "17 Oct 2026" + }, + { + text: "RAV-W1x3Y5z7A9" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "1647834") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Fatima Hussain
9516248037" + }, + { + text: "16 Oct 2026" + }, + { + text: "RAV-bC2dE4fG6h" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "9465674") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Joshua Clarke
9873150426" + }, + { + text: "15 Oct 2026" + }, + { + text: "RAV-J8k0L2mN4p" + }, + { + html: "No data" if data.status == "rejected" else ( "No data" if data.status == "resubmitting" else "8294657") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Resubmitting", colour: "yellow"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ], + [ + { + html: "Amira Ahmed
9064821735" + }, + { + text: "14 Oct 2026" + }, + { + text: "RAV-qR5sT7uV9w" + }, + { + html: "No data" if data.status == "rejected" else ( "2938932" if data.status == "resubmitting" else "2938932") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ] + ] + }) }} \ No newline at end of file diff --git a/app/views/payments/tables/_rejected-claims-table-patient-outside-age-range.html b/app/views/payments/tables/_rejected-claims-table-patient-outside-age-range.html new file mode 100644 index 00000000..90795566 --- /dev/null +++ b/app/views/payments/tables/_rejected-claims-table-patient-outside-age-range.html @@ -0,0 +1,43 @@ +{{ table({ + caption: { + text: "Claim (1)", + size: "m" + }, + classes: "nhsuk-u-margin-top-9", + head: [ + { + text: "Name and NHS number" + }, + { + text: "Date" + }, + { + text: "Deposit ID" + }, + { + text: "Claim ID" + }, + { + text: "Status" + } + ], + rows: [ + [ + { + html: "Amira Ahmed
9064821735" + }, + { + text: "14 Oct 2026" + }, + { + text: "RAV-qR5sT7uV9w" + }, + { + html: "No data" if data.status == "rejected" else ( "2938932" if data.status == "resubmitting" else "2938932") + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else ( tag({text: "Accepted", colour: "green"}) if data.status == "resubmitting" else tag({text: "Accepted", colour: "green"})) + } + ] + ] + }) }} \ No newline at end of file diff --git a/app/views/payments/tables/_rejected-claims-table-postcode.html b/app/views/payments/tables/_rejected-claims-table-postcode.html new file mode 100644 index 00000000..ee4f71a4 --- /dev/null +++ b/app/views/payments/tables/_rejected-claims-table-postcode.html @@ -0,0 +1,78 @@ +{{ table({ + caption: { + text: "Claims (3)", + size: "m" + }, + classes: "nhsuk-u-margin-top-9", + head: [ + { + text: "Name and NHS number" + }, + { + text: "Date" + }, + { + text: "Deposit ID" + }, + { + text: "Claim ID" + }, + { + text: "Status" + } + ], + rows: [ + [ + { + html: "Adele Purple
9951742954" + }, + { + text: "21 Oct 2026" + }, + { + text: "RAV-A7m2K9pQ1x" + }, + { + html: "No data" if data.status == "rejected" else "4637586" + }, + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else tag({text: "Accepted", colour: "green"}) + } + ], + [ + { + html: "Aisha Khan
9128473650" + }, + { + text: "20 Oct 2026" + }, + { + html: "RAV-4B8cD2eF6g" + }, + { + html: "No data" if data.status == "rejected" else "9465674" + } + , + { + html: tag({ text: "Rejected", colour: "red"}) if data.status == "rejected" else tag({text: "Accepted", colour: "green"}) + } + ], + [ + { + html: "Priya Patel
9682037415" + }, + { + text: "18 Oct 2026" + }, + { + text: "RAV-pQ4rS6tU8v" + }, + { + html: "No data" + }, + { + html: tag({ text: "Rejected", colour: "red"}) + } + ] + ] + }) }} \ No newline at end of file diff --git a/app/views/record-vaccinations/patient.html b/app/views/record-vaccinations/patient.html index d840577d..b6691c55 100644 --- a/app/views/record-vaccinations/patient.html +++ b/app/views/record-vaccinations/patient.html @@ -9,9 +9,28 @@ {% endblock %} {% block content %} + + {% set html %} +

+ NHSBSA is rejecting claims for vaccinations recorded at Pickfords Pharmacy (FA424). +

+

+ Check your payments dashboard +

+ {% endset %} +
+ {% if data.showPaymentsLink %} + {{ notificationBanner({ + heading: { + html: html, + element: "p" + } + }) }} + {% endif %} + {% if nhsNumberKnownError and nhsNumberKnownError.code == "required" %} {% set nhsNumberKnownErrorMessage = "Select yes if you have the patient’s NHS number" %} {% endif %} @@ -29,9 +48,9 @@ {% set resolvedErrorList = [] %} {% for error in errorList %} {% if error.href == "#nhs-number-known-1" and nhsNumberKnownErrorMessage %} - {% set resolvedErrorList = (resolvedErrorList.push({ text: nhsNumberKnownErrorMessage, href: error.href }), resolvedErrorList) %} + {% set resolvedErrorList = (resolvedErrorList.push({text: nhsNumberKnownErrorMessage, href: error.href}), resolvedErrorList) %} {% elseif error.href == "#nhs-number" and nhsNumberErrorMessage %} - {% set resolvedErrorList = (resolvedErrorList.push({ text: nhsNumberErrorMessage, href: error.href }), resolvedErrorList) %} + {% set resolvedErrorList = (resolvedErrorList.push({text: nhsNumberErrorMessage, href: error.href}), resolvedErrorList) %} {% endif %} {% endfor %} @@ -46,7 +65,7 @@ {% set nhsNumberHtml %} - {{ input({ + {{ input({ id: "nhs-number", name: "nhsNumber", classes: "nhsuk-input--width-10 nhsuk-input--code", @@ -65,7 +84,6 @@ }) }} {% endset %} - {{ radios({ idPrefix: "nhs-number-known", name: "nhsNumberKnown", @@ -103,5 +121,4 @@
-{% endblock %} - +{% endblock %} \ No newline at end of file