diff --git a/app/views/index.html b/app/views/index.html index 50fbe4b..8104a4b 100755 --- a/app/views/index.html +++ b/app/views/index.html @@ -39,22 +39,25 @@

MVP: Occupational health


+

Post MVP features

+ +
- Post MVP features + Experimental features
-

Post MVP features

-

Clinics / sessions

-

Research journey 1

diff --git a/app/views/invites/_bereavement-warning.html b/app/views/invites/_bereavement-warning.html new file mode 100644 index 0000000..985e2dd --- /dev/null +++ b/app/views/invites/_bereavement-warning.html @@ -0,0 +1,7 @@ +{{ warningCallout({ + heading: "Important", + headingLevel: 2, + html: + "

Please check that you have not included anyone who has recently had a termination, miscarriage or baby loss.

+

Read full guidance

" +}) }} diff --git a/app/views/invites/_filtered-patient-list.html b/app/views/invites/_filtered-patient-list.html new file mode 100644 index 0000000..7aceb77 --- /dev/null +++ b/app/views/invites/_filtered-patient-list.html @@ -0,0 +1,40 @@ +{{ summaryList({ + card: { + heading: "Filtered patient list", + headingSize: "m", + actions: { + items: [ + { + text: "Edit", + href: "#" + } + ] + } + }, + rows: [ + { + key: { + text: "Patients" + }, + value: { + text: "354" + } + }, + { + key: { + text: "Filters" + }, + value: { + html: "RSV status: Eligible
Weeks pregnant: 20 weeks" + } + }, + { + key: { + text: "Excluded" + }, + value: { + html: "22 patients have no mobile number" + } + } + ] + }) }} \ No newline at end of file diff --git a/app/views/invites/check-answers.html b/app/views/invites/check-answers.html new file mode 100644 index 0000000..53548d1 --- /dev/null +++ b/app/views/invites/check-answers.html @@ -0,0 +1,73 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Check answers" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block content %} +
+
+ +

{{ pageTitle }}

+ + {% include "invites/_bereavement-warning.html" %} + + {% include "invites/_filtered-patient-list.html" %} + + {{ summaryList({ + card: { + heading: "Message", + headingSize: "m" + }, + rows: [ + { + key: { + text: "Template" + }, + value: { + text: "RSV invitation" + }, + actions: { + items: [ + { + href: "#", + text: "Change", + visuallyHiddenText: "template" + } + ] + } + }, + { + key: { + text: "Method" + }, + value: { + html: "SMS text message" + }, + actions: { + items: [ + { + href: "#", + text: "Change", + visuallyHiddenText: "method" + } + ] + } + } + ] + }) }} + +
+ + +
+ +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/confirmation.html b/app/views/invites/confirmation.html new file mode 100644 index 0000000..e8a97f4 --- /dev/null +++ b/app/views/invites/confirmation.html @@ -0,0 +1,28 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Message sent" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block content %} +
+
+ + {{ panel({ + titleText: pageTitle, + text: "[XXX] patients have been invited to get a [vaccination]" + }) }} + +

When a patient receives a [vaccination], they will show as 'Vaccinated' in your list of patients.

+ +

+ View list of patients +

+ +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/index.html b/app/views/invites/index.html new file mode 100644 index 0000000..30cf12a --- /dev/null +++ b/app/views/invites/index.html @@ -0,0 +1,70 @@ +{% extends 'layout.html' %} + +{% block header %} + {% include "includes/header-index-only.html" %} +{% endblock %} + +{% set pageTitle = "Invites" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block content %} + +
+
+ + Post MVP +

{{ pageTitle }}

+ +

Navigation pages

+ + + +

Filter patient list

+ +

To do

+ +

Create and send message

+ + + + +

View single patient

+ + + +

History

+ + + +

Templates

+ + + +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/invites-landing.html b/app/views/invites/invites-landing.html new file mode 100644 index 0000000..c8ee3e7 --- /dev/null +++ b/app/views/invites/invites-landing.html @@ -0,0 +1,65 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Invites and reminders" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ breadcrumb({ + items: [ + { + href: "landing", + text: "Maternity" + } + ] + }) }} +{% endblock %} + +{% block content %} + +
+
+ +

{{ pageTitle }}

+ + + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/app/views/invites/landing.html b/app/views/invites/landing.html new file mode 100644 index 0000000..3150cad --- /dev/null +++ b/app/views/invites/landing.html @@ -0,0 +1,46 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Maternity" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block content %} + +
+
+ +

{{ pageTitle }}

+ +

View, filter and export vaccination information for your pregnant patients.

+ + + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/app/views/invites/message-detail.html b/app/views/invites/message-detail.html new file mode 100644 index 0000000..6d53f2c --- /dev/null +++ b/app/views/invites/message-detail.html @@ -0,0 +1,112 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Message detail" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()" + }) }} +{% endblock %} + +{% block content %} + +
+
+ +

{{ pageTitle }}

+ + {{ summaryList({ + rows: [ + { + key: { + text: "Template" + }, + value: { + text: "RSV reminder" + } + }, + { + key: { + text: "Version" + }, + value: { + text: "7" + } + }, + { + key: { + text: "User" + }, + value: { + text: "Jeremy Blue" + } + }, + { + key: { + text: "Date" + }, + value: { + html: "18 Aug 2026" + } + } + ] + }) }} + +

Message content

+ +
+
+ +
+

This is 160 characters, the limit for 1 text. Seed perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam.

+
+ +
+
+ +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/message-history.html b/app/views/invites/message-history.html new file mode 100644 index 0000000..dee488f --- /dev/null +++ b/app/views/invites/message-history.html @@ -0,0 +1,89 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Message history" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()" + }) }} +{% endblock %} + +{% block content %} +
+
+ +

{{ pageTitle }}

+ + {{ table({ + caption: pageTitle, + captionClasses: "nhsuk-u-visually-hidden", + firstCellIsHeader: true, + head: [ + { + text: "Template" + }, + { + text: "User" + }, + { + text: "Date" + }, + { + text: "Actions" + } + ], + rows: [ + [ + { + text: "RSV reminder" + }, + { + text: "Jeremy Blue" + }, + { + text: "18 Aug 2026" + }, + { + html: "View" + } + ], + [ + { + text: "RSV invite" + }, + { + text: "Jane Smith" + }, + { + text: "9 Aug 2026" + }, + { + html: "View" + } + ], + [ + { + text: "RSV invite" + }, + { + text: "Jane Smith" + }, + { + text: "9 Jul 2026" + }, + { + html: "View" + } + ] + ] + }) }} + +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/message-start.html b/app/views/invites/message-start.html new file mode 100644 index 0000000..c358677 --- /dev/null +++ b/app/views/invites/message-start.html @@ -0,0 +1,36 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Send a message" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()" + }) }} +{% endblock %} + +{% block content %} + +
+
+ +

{{ pageTitle }}

+ + {% include "invites/_bereavement-warning.html" %} + + {% include "invites/_filtered-patient-list.html" %} + +
+ + {{ button({ + text: "Start message" + }) }} + +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/message-template.html b/app/views/invites/message-template.html new file mode 100644 index 0000000..e129877 --- /dev/null +++ b/app/views/invites/message-template.html @@ -0,0 +1,84 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Choose template" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block content %} + +

{{ pageTitle }}

+ +
+
+ + + +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/message-type.html b/app/views/invites/message-type.html new file mode 100644 index 0000000..a04d684 --- /dev/null +++ b/app/views/invites/message-type.html @@ -0,0 +1,46 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Message type" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block content %} +
+
+ + {{ checkboxes({ + idPrefix: "example-hints", + name: "exampleHints", + fieldset: { + legend: { + text: pageTitle, + size: "l", + isPageHeading: true + } + }, + hint: { + text: "Select all options that are relevant to you" + }, + items: [ + { + value: "text", + text: "Text message" + }, + { + value: "email", + text: "Email" + }, + { + value: "app", + text: "NHS App" + } + ] + }) }} + +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/patient-add-flag-check.html b/app/views/invites/patient-add-flag-check.html new file mode 100644 index 0000000..ab08dbf --- /dev/null +++ b/app/views/invites/patient-add-flag-check.html @@ -0,0 +1,76 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Check and confirm" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()" + }) }} +{% endblock %} + +{% block content %} +
+
+ +

{{ pageTitle }}

+ + {{ summaryList({ + rows: [ + { + key: { + text: "Flag" + }, + value: { + text: "Invited via telephone" + }, + actions: { + items: [ + { + href: "patient-add-flag", + text: "Change", + visuallyHiddenText: "template" + } + ] + } + }, + { + key: { + text: "User" + }, + value: { + html: "Jane Smith" + } + }, + { + key: { + text: "Date" + }, + value: { + html: "20 Aug 2026" + } + }, + { + key: { + text: "Organisation" + }, + value: { + html: "Royal Berkshire" + } + } + ] + }) }} + + {{ button({ + text: "Confirm", + href: "patient-detail?flag=success" + }) }} + +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/patient-add-flag.html b/app/views/invites/patient-add-flag.html new file mode 100644 index 0000000..36e51f5 --- /dev/null +++ b/app/views/invites/patient-add-flag.html @@ -0,0 +1,65 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Add patient flag" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()" + }) }} +{% endblock %} + +{% block content %} +
+
+ + {{ radios({ + idPrefix: "example-hints", + name: "exampleHints", + fieldset: { + legend: { + text: pageTitle, + size: "l", + isPageHeading: true + } + }, + hint: { + text: "Select 1 option" + }, + items: [ + { + value: "invite-sent", + text: "Invited via telephone" + }, + { + value: "reminder-sent", + text: "Reminded via telephone" + }, + { + value: "opt-out", + text: "Opted out" + }, + { + value: "bereavement", + text: "Baby loss, miscarriage or termination" + } + ] + }) }} + +
+ {{ button({ + text: "Continue", + href: "patient-add-flag-check" + }) }} + + Cancel +
+ +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/patient-detail.html b/app/views/invites/patient-detail.html new file mode 100644 index 0000000..0712411 --- /dev/null +++ b/app/views/invites/patient-detail.html @@ -0,0 +1,198 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Patient detail" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ breadcrumb({ + items: [ + { + href: "landing", + text: "Maternity" + }, + { + href: "#", + text: "Patients" + } + ] + }) }} +{% endblock %} + +{% block content %} +
+
+ + {% set html %} +

Flag added to patient details and timeline updated.

+ {% endset %} + + {% if data.flag === "success" %} + + {{ notificationBanner({ + heading: "Patient record updated", + html: html, + variant: "success" + }) }} + + {% endif %} + +

{{ pageTitle }}

+ + {{ summaryList({ + rows: [ + { + key: { + text: "Name" + }, + value: { + text: "Bailey, Sarah" + } + }, + { + key: { + text: "NHS number" + }, + value: { + text: "104 832 7715" + } + }, + { + key: { + text: "Weeks pregnant" + }, + value: { + html: "39 weeks" + } + }, + { + key: { + text: "Due date" + }, + value: { + html: "6 May 2026" + } + }, + { + key: { + text: "RSV" + }, + value: { + html: "Eligible from 11 Feb 2026" + } + }, + { + key: { + text: "Pertussis" + }, + value: { + html: "Vaccinated" + } + }, + { + key: { + text: "Flu" + }, + value: { + html: "Vaccinated" + } + }, + { + key: { + text: "Message preferences" + }, + value: { + html: "Opt in" + } + } + ] + }) }} + +
+ {{ button({ + text: "Send invite or reminder", + href: "message-start" + }) }} + + {{ button({ + text: "Add patient flag", + href: "patient-add-flag", + classes: "nhsuk-button--secondary" + }) }} +
+ + {{ table({ + caption: "Timeline", + firstCellIsHeader: true, + head: [ + { + text: "Event" + }, + { + text: "Method" + }, + { + text: "Date" + }, + { + text: "User" + }, + { + text: "Organisation" + } + , + { + text: "Actions" + } + ], + rows: [ + [ + { + text: "RSV reminder sent" + }, + { + text: "RAVS" + }, + { + text: "18 Aug 2026" + }, + { + text: "Jeremy Blue" + }, + { + text: "Royal Berkshire" + }, + { + html: "View" + } + ], + [ + { + text: "RSV invite sent" + }, + { + text: "Telephone" + }, + { + text: "11 July 2026" + }, + { + text: "Jane Smith" + }, + { + text: "Royal Berkshire" + }, + { + html: "" + } + ] + ] + }) }} + +
+
+{% endblock %} \ No newline at end of file diff --git a/app/views/invites/template-create-new.html b/app/views/invites/template-create-new.html new file mode 100644 index 0000000..31f4757 --- /dev/null +++ b/app/views/invites/template-create-new.html @@ -0,0 +1,51 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Create new template" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()" + }) }} +{% endblock %} + +{% block content %} + +
+
+ +

{{ pageTitle }}

+ + {{ input({ + id: "title", + name: "title", + label: { + text: "Title" + } + }) }} + + {{ textarea({ + name: "exampleRightSize", + id: "example-right-size", + rows: "5", + label: { + text: "Message body" + }, + hint: { + text: "Please be aware that text messages are 120 characters, if you go over this it will send across two messages." + } + }) }} + + {{ button({ + text: "Create template" + }) }} + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/app/views/invites/template-detail.html b/app/views/invites/template-detail.html new file mode 100644 index 0000000..743f8b2 --- /dev/null +++ b/app/views/invites/template-detail.html @@ -0,0 +1,74 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Template detail" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()" + }) }} +{% endblock %} + +{% block content %} + +
+
+ +

{{ pageTitle }}

+ + {{ summaryList({ + rows: [ + { + key: { + text: "Title" + }, + value: { + text: "Invite for RSV at 20 weeks" + } + }, + { + key: { + text: "Version" + }, + value: { + text: "7" + }, + actions: { + items: [ + { + href: "#", + text: "View history", + visuallyHiddenText: "name" + } + ] + } + }, + { + key: { + text: "Message body" + }, + value: { + html: "Um dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit" + }, + actions: { + items: [ + { + href: "#", + text: "Change", + visuallyHiddenText: "name" + } + ] + } + } + ] + }) }} + +
+
+ +{% endblock %} \ No newline at end of file diff --git a/app/views/invites/template-edit.html b/app/views/invites/template-edit.html new file mode 100644 index 0000000..08141e6 --- /dev/null +++ b/app/views/invites/template-edit.html @@ -0,0 +1,57 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Edit template" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()" + }) }} +{% endblock %} + +{% block content %} + +
+
+ +

{{ pageTitle }}

+ + {{ input({ + id: "title", + name: "title", + label: { + text: "Title" + }, + value: "Invite for RSV at 20 weeks" + }) }} + + {{ textarea({ + name: "exampleRightSize", + id: "example-right-size", + rows: "5", + label: { + text: "Message body" + }, + hint: { + text: "Please be aware that text messages are 120 characters, if you go over this it will send across two messages." + }, + value: "um dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit i" + }) }} + +
+ {{ button({ + text: "Save changes" + }) }} + + Cancel +
+ +
+
+ +{% endblock %} \ No newline at end of file diff --git a/app/views/invites/templates.html b/app/views/invites/templates.html new file mode 100644 index 0000000..6474176 --- /dev/null +++ b/app/views/invites/templates.html @@ -0,0 +1,64 @@ +{% extends 'layouts/ravs-plus-layout-1-maternity.html' %} + +{% set currentSection = "plus" %} + +{% set pageTitle = "Templates" %} + +{% block pageTitle %} + {{ pageTitle }} - Record a vaccination - NHS +{% endblock %} + +{% block beforeContent %} + {{ backLink({ + href: "javascript:window.history.back()" + }) }} +{% endblock %} + +{% block content %} + +
+
+ +

{{ pageTitle }}

+ + {{ button({ + text: "Add new template" + }) }} + + + +
+
+ +{% endblock %} \ No newline at end of file