Skip to content

Commit

Permalink
Changes requested from Alex review (#75)
Browse files Browse the repository at this point in the history
* Added mention of 'message cascades' in routing plan content for 'parallel send' feature mention.

* 'or' replaced with 'and'

* Message status page created
- changes to /using-nhs-notify/mesh to match MESH guidance
- sender IDs changed to sender names

* Emma 2i requested changes

* Added /using-nhs-notify/nhs-app-templates, /using-nhs-notify/email-templates, /using-nhs-notify/text-message-templates and /using-nhs-notify/letter-templates.

These are based on the Confluence pages https://nhsd-confluence.digital.nhs.uk/pages/viewpage.action?spaceKey=RIS&title=3.8+Creating+letter+templates onwards, with some minor tweaks to word ordering. Romy has approved this content now.

Uploaded the standardised Word doc templates for all 4 channels to /assets/worddocs, and linked to these. Craig in cyber security approved this approach (see ticket for screenshot).

Updated /using-nhs-notify/personalisation in line with the Confluence page. The FAQs from onboarding indicated there's a user need to provide the PDS personalisation fields.

I also added content on how users provide their own personalisation data, in line with Tan's Confluence page https://nhsd-confluence.digital.nhs.uk/display/RIS/NHS+Notify+%7C+Personalisation+Fields.

In /pricing/text-messages, I replaced 'it will count as more than one message' with 'it will be charged as more than one message'. This was prompted by a comment from Romy on the text message template content. I tweaked the content to match the later version of the UI prototype, which we based on findings from user research.

* Removed mention of bank holidays from emails and text message delivery times.

* Removed unnecessary bullets and headings anchor links in Text message templates.

Updated link text for the 4 template pages in the Using NHS Notify parent page - removed 'Creating...' from the start of each link.

* Fixed typo in /text-message-templates. Removed 'Creating...' from links on /using-nhs-notify.

* Updated names of Word docs to replace spaces with hyphens and make all lower case. Updated downloadable links to follow the approach Jake researched, for example [letter template]({% link assets/worddocs/letter-template-nhs-notify.docx %})

* Removed unnecessary space from line 26 on docs/pages/using-nhs-notify/letter-templates.

* Update accept.txt

Includes:
- Noto
- URL
- ctrl
- pending_enrichment
- unnotified
- permanent_failure
- temporary_failure
- technical_failure
- precompiled
- validation_failed
- fullName
- namePrefix
- clientRef

* In /using-nhs-notify/delivery-times#letters, replaced the sentence 'Once your letter has been sent, it can take...' with 'Once you've provided us with recipients' NHS numbers, it can take up to 2 working days for our suppliers to dispatch your letter'.

I also added anchor links to the top of the same page, /using-nhs-notify/delivery-times, to make navigation easier.

* Added content on what users need to do in order to use recipient contact details that are outside of PDS.

* Emma recommendations

* Removed address_line_x, clientRef, recipientContactValue and template from the bulleted list of personalisation fields from PDS as these are for internal use only.

Restructured the first paragraph under ### Personal Demographics Service (PDS) personalisation fields. This was based off a conversation with Jake and it aims to clarify the link between PDS, NHS numbers and personalisation fields.

* In /workspaces/nhs-notify-web-cms-dev/docs/_sass/_nhsnotify.scss I added the line 'flex-wrap: wrap;' in the following code:

.nhsuk-header__navigation-list {
  justify-content: flex-start;
  flex-wrap: wrap;
}

This is an interim step to make the main nav list items wrap correctly when the site is viewed on a mobile device. It's not our ultimate solution but it makes the site more mobile responsive and accessible.

* Removed mentions of date of birth from failed message status descriptions. Removed date of birth as as an example of a column header in a MESH request.

* Added link to NHS Notify MESH documentation in /using-nhs-notify/mesh

* Squashed commit of the following:

commit 7b904fc
Author: Ross Buggins <[email protected]>
Date:   Tue Nov 19 17:02:42 2024 +0000

    Quick and easy js to auto hide.

commit 8aed356
Author: Jake Cosgrove <[email protected]>
Date:   Tue Nov 19 16:05:22 2024 +0000

    Developer banner and new site banner

commit a3d47d2
Author: Jake Cosgrove <[email protected]>
Date:   Mon Nov 11 15:47:17 2024 +0000

    removed phase banner and underlines from primary nav list items when hovered

commit 3a30f41
Author: Jake Cosgrove <[email protected]>
Date:   Mon Nov 11 13:50:40 2024 +0000

    removed border from phase banner

commit fc61be5
Author: Jake Cosgrove <[email protected]>
Date:   Fri Nov 8 16:32:05 2024 +0000

    Added phase banner component and related sass.

    Added new template for including pages of content that does not need a side-navigation.

commit 45d34e6
Author: Jake Cosgrove <[email protected]>
Date:   Tue Nov 5 21:59:47 2024 +0000

    two-third column tests

* Changed first subheading to a h2 from h3

* Removed the other phase banners from Ross' test

* removed phase banner includes due to component not being tested or released by developer

* Alex review changes

---------

Co-authored-by: Mark R <[email protected]>
Co-authored-by: emmagifford <[email protected]>
Co-authored-by: Ross Buggins <[email protected]>
  • Loading branch information
4 people authored Dec 17, 2024
1 parent 383fcc6 commit 32da5fa
Show file tree
Hide file tree
Showing 16 changed files with 126 additions and 52 deletions.
5 changes: 3 additions & 2 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,10 @@ GEM
rbs (>= 3, < 4)
sorbet-runtime (>= 0.5.10782)
safe_yaml (1.0.5)
sass-embedded (1.69.5-arm64-darwin)
sass-embedded (1.69.5)
google-protobuf (~> 3.23)
sass-embedded (1.69.5-x86_64-linux-gnu)
rake (>= 13.0.0)
sass-embedded (1.69.5-arm64-darwin)
google-protobuf (~> 3.23)
sorbet-runtime (0.5.11466)
strscan (3.1.0)
Expand Down
14 changes: 14 additions & 0 deletions docs/_includes/components/phase-banner.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<div class="nhsuk-phase-banner" id="{{include.phase_id}}">
<div class="nhsuk-width-container">
<p class="nhsuk-phase-banner__content">
<strong class="nhsuk-tag">{{include.phase_tag}}</strong>
<span class="nhsuk-phase-banner__text">{{include.phase_text}}</span>
</p>
</div>
</div>
<script>
console.log("{{include.auto_hide}}")
if ("{{include.auto_hide}}" == 'true' && (window.location.hostname.startsWith('notify.nhs.uk') || window.location.hostname.startsWith('127.0.0.2'))) {
document.getElementById("{{ include.phase_id }}").style.visibility = 'hidden';
}
</script>
34 changes: 34 additions & 0 deletions docs/_layouts/no-nav-page.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
layout: default
---

{% assign current_dir = page.dir %}
{% assign paths = page.dir | split: "/" %}
{% assign parent_dir = paths[1] %}

{%-
assign nav_pages = site.pages
| where_exp: "item", "item.dir contains parent_dir"
-%}

{% assign first_level_dir = parent_dir | prepend: '/' | append: '/' %}
{%-
assign first_level = nav_pages
| where_exp: "item", "item.dir == first_level_dir"
| group_by: "section"
| sort: 'name', 'last'
-%}

<div class="nhsuk-width-container">
<main class="nhsuk-main-wrapper" id="maincontent" role="main">
<div class="nhsuk-grid-row">
<div class="nhsnotify-pane__main-content nhsuk-grid-column-three-quarters">
{% if page.section != undefined %}
<heading class="nhsuk-heading-s" style="margin-bottom: 0; color: #4c6272">{{ page.section }}</heading>
{% endif %}
<h1>{{ page.title }}</h1>
{{ content }}
</div>
</div>
</main>
</div>
30 changes: 15 additions & 15 deletions docs/_layouts/page.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,20 @@
---

{% assign current_dir = page.dir %}
{% assign paths = page.dir | split: "/" %}
{% assign paths = page.dir | split: "/" %}
{% assign parent_dir = paths[1] %}

{%-
assign nav_pages = site.pages
| where_exp: "item", "item.dir contains parent_dir"
assign nav_pages = site.pages
| where_exp: "item", "item.dir contains parent_dir"
-%}

{% assign first_level_dir = parent_dir | prepend: '/' | append: '/' %}
{%-
assign first_level = nav_pages
| where_exp: "item", "item.dir == first_level_dir"
| group_by: "section"
| sort: 'name', 'last'
assign first_level = nav_pages
| where_exp: "item", "item.dir == first_level_dir"
| group_by: "section"
| sort: 'name', 'last'
-%}
<div class="nhsuk-width-container">
<main class="nhsuk-main-wrapper" id="maincontent" role="main">
Expand All @@ -26,21 +26,21 @@
<div class="nhsnotify-pane__side-bar nhsuk-grid-column-one-quarter">
<nav class="nhsnotify-side-nav">
<ul class="nhsuk-list nhsnotify-side-nav__list">
{% for section in first_level %}
{% for section in first_level %}
{% if section.name != "" %}
<p class="nhsuk-u-font-weight-bold nhsnotify-side-nav__list-section">{{ section.name }}</p>
<p class="nhsuk-u-font-weight-bold nhsnotify-side-nav__list-section">{{ section.name }}</p>
{% endif %}
{% assign sorted = section.items | sort: 'nav_order' %}
{% for post in sorted %}
<li class="
{% assign sorted = section.items | sort: 'nav_order' %}
{% for post in sorted %}
<li class="
nhsnotify-side-nav__item
{% if post.url == page.url %}
nhsnotify-side-nav__item--current
{% endif %}
">
<a class="nhsnotify-side-nav__link" href="{{ site.baseurl | append: post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
<a class="nhsnotify-side-nav__link" href="{{ site.baseurl | append: post.url }}">{{ post.title }}</a>
</li>
{% endfor %}
{% endfor %}
</ul>

Expand Down
37 changes: 33 additions & 4 deletions docs/_sass/_nhsnotify.scss
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
width: unset;
background-color: unset;
border-bottom: 0;
margin:unset;
margin: unset;
}

.nhsnotify-banner--blue {
Expand Down Expand Up @@ -68,13 +68,42 @@
}

.nhsuk-header__navigation-list {
justify-content: flex-start;
justify-content: flex-centre;
}

.nhsuk-header__navigation-link {
text-decoration: none;
text-decoration: underline;

&:hover {
text-decoration: underline;
text-decoration: none;
}
}

.nhsuk-phase-banner {
padding-top: 10px;
padding-bottom: 10px;
background-color: #fff;
}

.nhsuk-phase-banner__content {
font-size: 1rem;
line-height: 1.25;
margin-bottom: 0px;
}

.nhsuk-tag {
outline: 2px solid transparent;
outline-offset: -2px;
color: #fff;
background-color: #005eb8;
letter-spacing: 1px;
text-decoration: none;
text-transform: uppercase;
font-weight: 700;
}

.nhsuk-phase-banner__text {
font-size: 1rem;
line-height: 1.25;
padding-left: 0.5em;
}
2 changes: 1 addition & 1 deletion docs/pages/get-started/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Feel free to add content and custom Front Matter to this file.
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults

layout: page
layout: no-nav-page
title: Get started
nav_order: 6
has_children: true
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/support/support.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Feel free to add content and custom Front Matter to this file.
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults

layout: page
layout: no-nav-page
title: Support
nav_order: 5
has_children: true
Expand Down
9 changes: 8 additions & 1 deletion docs/pages/using-nhs-notify/delivery-times.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ section: Sending a message

It can take different amounts of time for messages to be delivered depending on the message channel.

Find out about delivery times for:

- [NHS App messages](#nhs-app-messages)<!-- markdownlint-disable-line -->
- [emails](#emails)
- [text messages](#text-messages-sms)
- [letters](#letters)

## NHS App messages

NHS Notify can send NHS App messages to recipients with the NHS App at any time.
Expand Down Expand Up @@ -42,7 +49,7 @@ NHS Notify will only send text messages from 8am to 6pm on weekdays.

## Letters

Once your letter has been sent, it can take up to 6 days for it to be processed by our suppliers before it's dispatched.
Once you've [provided us with recipients' NHS numbers]({% link pages/using-nhs-notify/tell-us-who-you-want-to-message.md %}), it can take up to 2 working days for our suppliers to dispatch your letter.

First class letters are delivered 1 to 2 business days after they’re dispatched.

Expand Down
2 changes: 2 additions & 0 deletions docs/pages/using-nhs-notify/mesh.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ You should only use MESH to send messages if your organisation or service:
- only needs to send batches of messages to specific groups of recipients
- does not need advanced features offered by NHS Notify API

[Read our MESH documentation (opens in a new tab)](https://digital.nhs.uk/developer/api-catalogue/nhs-notify-mesh).

Check if MESH is right for you by contacting our engagement team at <[email protected]>.
1 change: 0 additions & 1 deletion docs/pages/using-nhs-notify/message-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ Messages and channels that have not reached a recipient will have a 'failed' sta
| The provider could not deliver the message. |
| There was an unexpected error while sending the letter to our printing provider. |
| PDS - patient record invalidated. |
| PDS response date of birth does not match given date of birth. |
| PDS - patient is formally dead. |
| PDS - patient is informally dead. |
| PDS - patient has an exit code. |
Expand Down
37 changes: 10 additions & 27 deletions docs/pages/using-nhs-notify/personalisation.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,69 +15,52 @@ You can send personalised messages using a single template.
To personalise a message, use double brackets to add a placeholder to your content. For example:

{% include components/inset-text.html
text='<code>Hello ((firstName)), your NHS Number is ((nhsNumber))'
text='Hello ((firstName)), your NHS Number is ((nhsNumber))'
%}

### Personal Demographics Service (PDS) personalisation fields
## Personal Demographics Service (PDS) personalisation fields

NHS Notify uses the [Personal Demographics Service (PDS)](https://digital.nhs.uk/services/personal-demographics-service) to find and populate certain personalisation fields. You only need to [provide us with recipients' NHS numbers]({% link pages/using-nhs-notify/tell-us-who-you-want-to-message.md %}).
NHS Notify uses the [Personal Demographics Service (PDS)](https://digital.nhs.uk/services/personal-demographics-service) to find and populate certain personalisation fields for each recipient. This happens automatically when you [tell us who you want to message]({% link pages/using-nhs-notify/tell-us-who-you-want-to-message.md %}) using recipients' NHS numbers.

The personalisation fields available in PDS are:
You can use the following PDS personalisation fields in your templates:

- fullName
- firstName
- middleNames
- lastName
- namePrefix
- nameSuffix
- address_line_1
- address_line_2
- address_line_3
- address_line_4
- address_line_5
- address_line_6
- address_line_7
- nhsNumber
- date
- clientRef
- recipientContactValue
- template

The placeholders in your content need to match the PDS personalisation fields.
Any placeholders in your content need to match the PDS personalisation fields.

## Providing your own personalisation data

You can provide your own personalisation data.

Do not send us personalisation data that's already available in PDS. We'll use the PDS data over your own data in this case.

### If you're using the API
### If you're using NHS Notify API

Include a personalisation block in your API request.

For example, if you wanted to include 'practice' as a personalisation field, the personalisation block would be:

{% include components/inset-text.html
text='{

"practice": "PRACTICE_NAME",

}'
text='"practice": "PRACTICE_NAME",'
%}

Read the [API documentation](https://digital.nhs.uk/developer/api-catalogue/nhs-notify#post-/v1/message-batches) to find out where to put this in your request.

### If you're using the Message Exchange for Social Care and Health (MESH)
### If you're using NHS Notify MESH

Include the personalisation fields as columns in your CSV file.

The column names should start with 'personalisation_', followed by the same wording as the placeholders in your template.
The column names should start with 'personalisation\_', followed by the same wording as the placeholders in your template.

For example, if you wanted to include 'practice' as a personalisation field, the column name would be:

{% include components/inset-text.html
text='nhsNumber,requestItemRefId,dateOfBirth,personalisation_practice'
text='nhsNumber,requestItemRefId,personalisation_practice'
%}

*[PDS]: Personal Demographics Service
*[MESH]: Message Exchange for Social Care and Health
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,8 @@ The onboarding team will give you an example CSV file on request.

Use the format shown in the
<a href="https://digital.nhs.uk/developer/api-catalogue/nhs-notify" target="_blank">API documentation (opens in a new tab)</a>.

## Providing your own recipient contact details

If you need to use contact details that are not from PDS, you must make a formal request to NHS Notify.
Overriding contact details is only granted to specific use cases that provide compelling data to our onboarding team. NHS Notify will consult with relevant NHS England legal and clinical teams for approval.

0 comments on commit 32da5fa

Please sign in to comment.