diff --git a/app/assets/sass/components/_clinic-level-breadcrumbs.scss b/app/assets/sass/components/_clinic-level-breadcrumbs.scss new file mode 100644 index 0000000..ecba884 --- /dev/null +++ b/app/assets/sass/components/_clinic-level-breadcrumbs.scss @@ -0,0 +1,28 @@ +// Import NHS.UK frontend library +@use "nhsuk-frontend/dist/nhsuk/core" as *; + +.app-clinic-level-breadcrumbs { + display: flex; + @include nhsuk-responsive-margin(4, "top"); + @include nhsuk-responsive-padding(4, "bottom"); + margin-bottom: 0; + border-bottom: 2px solid nhsuk-colour("grey-4"); + + & .--item:not(:first-child) { + position: relative; + padding-left: nhsuk-px-to-rem(32px); + margin-left: nhsuk-px-to-rem(16px); + } + + & .--item:not(:first-child)::before { + content: ""; + position: absolute; + bottom: nhsuk-px-to-rem(18px); + left: 0; + width: 0.5rem; + height: 0.5rem; + border-right: 2px solid $nhsuk-secondary-text-colour; + border-bottom: 2px solid $nhsuk-secondary-text-colour; + transform: rotate(-45deg); + } +} diff --git a/app/assets/sass/components/_day-listing.scss b/app/assets/sass/components/_day-listing.scss deleted file mode 100644 index 66d8a22..0000000 --- a/app/assets/sass/components/_day-listing.scss +++ /dev/null @@ -1,34 +0,0 @@ -.app-slot-listing { - border: 1px solid #aeb7bd; - background-color: #fff; - padding: 10px; - margin-bottom: 10px; - &.--hold { - background-color: #f0f4f5; - border-style: dashed; - } - &.--merged-start { - border-bottom: 1px dashed #aeb7bd; - margin-bottom: 0 !important; - } - &.--merged-mid { - border-top: 0; - border-bottom: 1px dashed #aeb7bd; - margin-bottom: 0 !important; - min-height: 16px; - } - &.--merged-end { - border-top: 0; - min-height: 16px; - } -} - -.app-slot-row { - display: flex; - flex-wrap: nowrap; - gap: 3rem; - align-items: top; -} -.app-slot-row-controls { - margin-left: auto; -} \ No newline at end of file diff --git a/app/assets/sass/components/_participant-table.scss b/app/assets/sass/components/_participant-table.scss index 780e867..4c800a3 100644 --- a/app/assets/sass/components/_participant-table.scss +++ b/app/assets/sass/components/_participant-table.scss @@ -1,31 +1,51 @@ +// Import NHS.UK frontend library +@use "nhsuk-frontend/dist/nhsuk/core" as *; + .app-participant-table { - .nhsuk-table__body { - tr:nth-child(odd) { - background-color: rgba(224,228,230,.5); - } - tr:nth-child(even) { - background-color: transparent; - } + tbody td { + height: 116px; + } + tbody tr.--double td { + height: 232px; + background-image: + repeating-linear-gradient(to right, nhsuk-colour("grey-4"), nhsuk-colour("grey-4") 6px, transparent 6px, transparent 12px); + background-position: 0 116px; + background-size: 100% 1px; + background-repeat: repeat-x; + } + tbody tr.--triple td { + height: 348px; + background-image: + repeating-linear-gradient(to right, nhsuk-colour("grey-4"), nhsuk-colour("grey-4") 6px, transparent 6px, transparent 12px), + repeating-linear-gradient(to right, nhsuk-colour("grey-4"), nhsuk-colour("grey-4") 6px, transparent 6px, transparent 12px); + background-position: 0 116px, 0 232px; + background-size: 100% 1px; + background-repeat: repeat-x; + } + + tbody tr:nth-child(odd) { + background-color: rgba(224,228,230,.5); + } + tbody tr:nth-child(even) { + background-color: transparent; + } + + tbody tr.app-container-staff-break { + background: repeating-linear-gradient(130deg, nhsuk-colour("grey-4"), nhsuk-colour("grey-4") 1px, transparent 1px, transparent 12px); } th:first-child, td:first-child { - //padding-left: 6px; + padding-left: nhsuk-px-to-rem(44px); } td:has( > .nhsuk-checkboxes__item) { + padding-left: 6px; padding-right: 0; padding-top: 8px; width: 62px; } - .app-column-time { - width: 5rem; - } - .app-column-nhs-number { - text-align: right; - width: 10rem; - } +} -} \ No newline at end of file diff --git a/app/assets/sass/components/_progress-bar.scss b/app/assets/sass/components/_progress-bar.scss new file mode 100644 index 0000000..82dcce3 --- /dev/null +++ b/app/assets/sass/components/_progress-bar.scss @@ -0,0 +1,85 @@ +@use "nhsuk-frontend/dist/nhsuk/core" as *; + +:root { + --generic-chart-hatch: repeating-linear-gradient(130deg, #005eb8, #005eb8 1px, #ccdff1 1px, #ccdff1 12px); + --standard-chart-hatch: repeating-linear-gradient(130deg, #004c23, #004c23 1px, #cce5d8 1px, #cce5d8 12px); + --special-chart-hatch: repeating-linear-gradient(130deg, #4d3708, #4d3708 1px, #ffdc8e 1px, #ffdc8e 12px); + --ceased-chart-hatch: repeating-linear-gradient(130deg, #354550, #354550 1px, #dbe0e3 1px, #dbe0e3 12px); + --vhr-chart-hatch: repeating-linear-gradient(130deg, #6b140e, #6b140e 1px, #f7d4d1 1px, #f7d4d1 12px); + + --vhr-chart-hatch-1: repeating-linear-gradient(-45deg, #6b140e, #6b140e 1px, transparent 1px, transparent 12px); + --vhr-chart-hatch-2: repeating-linear-gradient(45deg, #6b140e, #6b140e 1px, #f7d4d1 1px, #f7d4d1 12px); +} + +.app-simple-progress-bar { + width: 100%; + min-width: nhsuk-px-to-rem(200px); + outline: 1px solid $nhsuk-input-border-colour; + + &.--thin { + min-height: 19px; + } + + &.--generic { + background: var(--generic-chart-hatch) 0 0 / var(--percentage) 100% no-repeat,#fff; + } + + &.--standard { + background: var(--standard-chart-hatch) 0 0 / var(--percentage) 100% no-repeat,#fff; + } + &.--special { + background: var(--special-chart-hatch) 0 0 / var(--percentage) 100% no-repeat,#fff; + } + &.--ceased { + background: var(--ceased-chart-hatch) 0 0 / var(--percentage) 100% no-repeat,#fff; + } + &.--vhr { + background: var(--vhr-chart-hatch-1) 0 0 / var(--percentage) 100% no-repeat, var(--vhr-chart-hatch-2) 0 0 / var(--percentage) 100% no-repeat,#fff; + } +} + + +.app-progress-bar { + width: 100%; + min-width: nhsuk-px-to-rem(200px); + min-height: 42px; + border: 1px solid $nhsuk-input-border-colour;; + background: #fff; + box-sizing: border-box; + appearance: none; + -webkit-appearance: none; + &.--thin { + min-height: 19px; + } +} +.app-progress-bar::-webkit-progress-bar { + background: #fff; +} +.app-progress-bar::-moz-progress-bar { + background: #fff; +} + +.app-progress-bar.--generic::-webkit-progress-value, +.app-progress-bar.--generic::-moz-progress-bar { + background: var(--generic-chart-hatch); +} + +.app-progress-bar.--standard::-webkit-progress-value, +.app-progress-bar.--standard::-moz-progress-bar { + background: var(--standard-chart-hatch); +} + +.app-progress-bar.--special::-webkit-progress-value, +.app-progress-bar.--special::-moz-progress-bar { + background: var(--special-chart-hatch); +} + +.app-progress-bar.--ceased::-webkit-progress-value, +.app-progress-bar.--ceased::-moz-progress-bar { + background: var(--ceased-chart-hatch); +} + +.app-progress-bar.--vhr::-webkit-progress-value, +.app-progress-bar.--vhr::-moz-progress-bar { + background: var(--vhr-chart-hatch); +} \ No newline at end of file diff --git a/app/assets/sass/main.scss b/app/assets/sass/main.scss index b511c44..77ff13c 100755 --- a/app/assets/sass/main.scss +++ b/app/assets/sass/main.scss @@ -9,11 +9,12 @@ // https://github.com/NHSDigital/manage-breast-screening-prototype @forward "components/calendar-table"; -@forward "components/day-listing"; +@forward "components/clinic-level-breadcrumbs"; @forward "components/inline-detailed-search"; @forward "components/secondary-navigation"; @forward "components/participant-table"; //@forward "components/participant-search"; +@forward "components/progress-bar"; @forward "components/workflow"; //{% set containerClasses = "nhsuk-width-container-fluid" %} @@ -28,17 +29,25 @@ align-items: baseline; } -// Batch (for now) view bar charts and legends +.app-link--error, +.app-link--warning { + &, + &:visited { + color: $nhsuk-error-colour; + } -:root { - --generic-chart-hatch: repeating-linear-gradient(45deg, #005eb8, #005eb8 1px, #ccdff1 1px, #ccdff1 12px); - --standard-chart-hatch: repeating-linear-gradient(45deg, #004c23, #004c23 1px, #cce5d8 1px, #cce5d8 12px); - --special-chart-hatch: repeating-linear-gradient(-45deg, #4d3708, #4d3708 1px, #ffdc8e 1px, #ffdc8e 12px); - --ceased-chart-hatch: repeating-linear-gradient(90deg, #354550, #354550 1px, #dbe0e3 1px, #dbe0e3 12px); - --vhr-chart-hatch-1: repeating-linear-gradient(-45deg, #6b140e, #6b140e 1px, transparent 1px, transparent 12px); - --vhr-chart-hatch-2: repeating-linear-gradient(45deg, #6b140e, #6b140e 1px, #f7d4d1 1px, #f7d4d1 12px); + &:hover, + &:hover:visited { + color: nhsuk-shade($nhsuk-error-colour, 20%); + } + + &:hover:active { + color: $nhsuk-text-colour; + } } +// Batch (for now) view bar charts and legends + .hatching--standard { background: var(--standard-chart-hatch) } @@ -49,56 +58,9 @@ background: var(--ceased-chart-hatch) } .hatching--high-risk { - background: var(--vhr-chart-hatch-1), var(--vhr-chart-hatch-2) -} - -.app-chart-bar-segmented-horizontal { - margin: 0; - /* Turn the table tbody into a single horizontal bar */ - tbody { - display: flex; - width: 100%; - min-height: 2rem; - overflow: hidden; - } - /* Each row becomes a segment, sized by its proportion of the total */ - tbody tr { - display: flex; - align-items: center; - justify-content: left; - overflow: hidden; - } - /* Each row becomes a segment, sized by its proportion of the total */ - tbody td { - padding: 0; - } -} -.app-chart-bar-segmented-horizontal--legend { - @include nhsuk-media-query($from: tablet) { - display: flex; - flex-direction: row; - flex-wrap: wrap; - gap: 1.5rem; - align-items: flex-start; - - li { - display: flex; - flex-direction: row; - align-items: flex-start; - gap: 8px; - } - } - .swatch { - display: inline-block; - width: 2rem; - height: 2rem; - flex-shrink: 0; - margin-right: 6px; - vertical-align: middle; - } + background: var(--vhr-chart-hatch) } -// alternate to stacked bar? .app-segmented-cards { .nhsuk-card__content { display: flex; @@ -124,30 +86,3 @@ align-items: center; width: 100%; } - -.app-simple-progress-bar { - width: 100%; - min-width: 200px; - outline: 1px solid #aeb7bd; - - &.--thin { - min-height: 19px; - } - - &.--generic { - background: var(--generic-chart-hatch) 0 0 / var(--percentage) 100% no-repeat,#fff; - } - - &.--standard { - background: var(--standard-chart-hatch) 0 0 / var(--percentage) 100% no-repeat,#fff; - } - &.--special { - background: var(--special-chart-hatch) 0 0 / var(--percentage) 100% no-repeat,#fff; - } - &.--ceased { - background: var(--ceased-chart-hatch) 0 0 / var(--percentage) 100% no-repeat,#fff; - } - &.--vhr { - background: var(--vhr-chart-hatch-1) 0 0 / var(--percentage) 100% no-repeat, var(--vhr-chart-hatch-2) 0 0 / var(--percentage) 100% no-repeat,#fff; - } -} diff --git a/app/views/_includes/clinics/clinic-listing-table.html b/app/views/_includes/clinics/clinic-listing-table.html index d2346b7..e2a4f24 100644 --- a/app/views/_includes/clinics/clinic-listing-table.html +++ b/app/views/_includes/clinics/clinic-listing-table.html @@ -26,7 +26,7 @@ html: 'Alpha van
HWO-mobile-1 ' }, { - html: '
10 slots available of 1360' + html: '99%10 slots available of 1360' } ], [ @@ -40,7 +40,7 @@ html: 'Home base
HWO-static-1 ' }, { - html: '
40 slots available of 100' + html: '60%40 slots available of 100' } ] ] diff --git a/app/views/batches/batch-detail-in-progress.html b/app/views/batches/batch-detail-in-progress.html index 7d8ca21..f9d7148 100644 --- a/app/views/batches/batch-detail-in-progress.html +++ b/app/views/batches/batch-detail-in-progress.html @@ -164,9 +164,11 @@

Batch progress

+ 97% +

1341 of 1352 dealt with

{{ tag({ - text: "1306 of 1352 dealt with", + text: "1341 of 1352 dealt with", classes: "nhsuk-tag--blue" }) }}
@@ -181,6 +183,8 @@

Appoint

+ 100% +

1330 of 1330 appointed

{{ tag({ text: "1330 of 1330 appointed", @@ -197,6 +201,8 @@

Appoint

+ 50% +

6 of 12 appointed

{{ tag({ text: "6 of 12 appointed", @@ -214,9 +220,11 @@

Reconci

-
+ 40% +

2 of 5 reconciled

+
{{ tag({ - text: "0 of 5 reconciled", + text: "2 of 5 reconciled", classes: "nhsuk-tag--grey" }) }}
@@ -230,9 +238,11 @@

Reconci

-
+ 60% +

3 of 5 reconciled

+
{{ tag({ - text: "0 of 5 reconciled", + text: "3 of 5 reconciled", classes: "nhsuk-tag--red" }) }}
diff --git a/app/views/batches/batch-detail.html b/app/views/batches/batch-detail.html index eb42dfc..40be9e2 100644 --- a/app/views/batches/batch-detail.html +++ b/app/views/batches/batch-detail.html @@ -121,41 +121,6 @@

Participant breakdown

{% endcall %}
- -
@@ -164,6 +129,8 @@

Batch progress

+ 0% +

0 of 2172 dealt with

{{ tag({ text: "0 of 2172 dealt with", @@ -181,6 +148,8 @@

Appoint

+ 0% +

0 of 2150 appointed

{{ tag({ text: "0 of 2150 appointed", @@ -197,6 +166,8 @@

Appoint

+ 0% +

0 of 12 appointed

{{ tag({ text: "0 of 12 appointed", @@ -214,6 +185,8 @@

Reconci

+ 0% +

0 of 5 reconciled

{{ tag({ text: "0 of 5 reconciled", @@ -230,6 +203,8 @@

Reconci

+ 0% +

0 of 5 reconciled

{{ tag({ text: "0 of 5 reconciled", diff --git a/app/views/batches/index.html b/app/views/batches/index.html index 780dbef..f713869 100644 --- a/app/views/batches/index.html +++ b/app/views/batches/index.html @@ -41,7 +41,7 @@

Batches

HWO-standard-20251209 {% endset %} {% set batch_1_progress %} -
+ 0% 0 of 2172 appointed {% endset %} @@ -52,7 +52,7 @@

Batches

HWO-standard-20251212 {% endset %} {% set batch_2_progress %} -
+ 97% 1306 of 1352 appointed {% endset %} @@ -63,7 +63,7 @@

Batches

HWO-failsafe-20260115 {% endset %} {% set failsafe_progress %} -
+ 0% 0 of 308 appointed {% endset %} @@ -74,7 +74,7 @@

Batches

HWO-auto-slippage-2020203-1100 {% endset %} {% set auto_progress %} -
+ 0% 0 of 2 appointed {% endset %} @@ -85,7 +85,7 @@

Batches

HWO-auto-never-invited-2020203-1100 {% endset %} {% set auto_2_progress %} -
+ 0% 0 of 4 appointed {% endset %} diff --git a/app/views/clinics/day-slot-view.html b/app/views/clinics/day-slot-view.html deleted file mode 100644 index 0f923c9..0000000 --- a/app/views/clinics/day-slot-view.html +++ /dev/null @@ -1,510 +0,0 @@ -{% extends 'layout.html' %} - -{% set pageName = "Day clinic view" %} - -{% from "_includes/primary-navigation.html" import primaryNavigation %} -{% block header %} - {{ primaryNavigation("Clinics", serviceName) }} -{% endblock %} - -{% block beforeContent %} -{{ breadcrumb({ - items: [ - { - href: "#", - text: "Home" - }, - { - href: "/clinics/", - text: "Clinics" - }, - { - href: "clinic-detail", - text: "Worthing C2C test 1" - } - ] -}) }} -{% endblock %} - -{% block content %} - -
-
-

- HWO-NNN-standard-20260501 - Worthing C2C test 1 -

-
-
- -
- -
-
-

- Tuesday - 1 September 2026 -

-
-

Whole day size controls:

-
    -
  • Using session template X? Can I change the template?
  • -
  • Can I add slots now, eiter before or after the established ones?
  • -
  • Cancel the whole day
  • -
-
-

- [num] slots available of [total] -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Time - - Participant details - - Date of birth - - Appointment details - - Actions -
- 08:30 - - Joanne Marquardt -
NHS: 999 054 3666
-
- 15 March 1960 -
(66 years)
-
- - Special appointment - -
View appointment or a tiny note
-
- Rebook participant - - Secondary actions -
08:40Held: why? - Release slot - - Secondary actions -
- 08:50 - +09:00 - - Daphne Hart -
NHS: 999 374 0952
-
- 22 July 1958 -
(67 years)
-
- - Special appointment x 2 - -
View appointment or a tiny note
-
- Rebook participant - - Secondary actions -
- 09:10 - - Marta O'Neill -
NHS: 999 195 4836
-
- 3 May 1971 -
(55 years)
-
- View appointment or a tiny note - - Rebook participant - - Secondary actions -
09:10999 287 9305Susan Carter19 September 1967
09:20999 463 1129Olivia Barnes12 January 1975
09:30999 774 2201Rachel Price27 April 1962
09:40999 546 8870Hannah Wallace6 October 1959
09:50999 559 3322Fiona Lambert14 December 1973
10:00999 804 7753Georgia Mills30 June 1968
10:10999 290 4601Elaine Fox11 February 1976
10:20999 613 2084Tessa King25 August 1963
10:30999 118 9756Nadia Singh7 April 1957
10:40999 039 6617Jane Reed18 November 1970
10:50999 259 1148Laura White29 May 1965
11:00999 880 3320Marissa Young9 March 1961
11:10999 901 7732Naomi Bell21 September 1974
11:20999 216 5087Paige Long4 July 1969
11:30999 487 9901Catherine Wood16 January 1956
11:40999 603 1774Victoria Hale13 October 1966
11:50999 905 6423Imogen Frost31 December 1972
12:00999 332 1108Dara Moss24 June 1960
12:10999 427 5930Sophie Hartley2 August 1962
12:20999 218 3446Emma Cole17 April 1975
- - - -
-
-{% endblock %} diff --git a/app/views/index.html b/app/views/index.html index 60a1548..e4b8108 100755 --- a/app/views/index.html +++ b/app/views/index.html @@ -50,6 +50,15 @@

August 2026

Create a new clinic +

Appointments and active clinics

+
    +
  1. + Single live (with bookings) clinic session view + + Paused + +
  2. +

July 2026

Sessions: first run

@@ -64,7 +73,6 @@

July 2026

Template listing -

May–June 2026

Clinics: first run

    @@ -74,13 +82,15 @@

    May–June 2026

  1. Clinic detail
  2. -
  3. - Single day slot view -

April 2026

-

Batches: first run

+

+ Batches: first run + + Paused + +

  1. @@ -95,7 +105,12 @@

    April 2026

March 2026

-

BSO-level building blocks

+

+ BSO-level building blocks + + Paused + +

  1. diff --git a/app/views/sessions/day-slot-view.html b/app/views/sessions/day-slot-view.html new file mode 100644 index 0000000..ce81201 --- /dev/null +++ b/app/views/sessions/day-slot-view.html @@ -0,0 +1,957 @@ +{% extends 'layout.html' %} + +{% set pageName = "Day clinic view" %} + +{% from "_includes/primary-navigation.html" import primaryNavigation %} +{% block header %} + {{ primaryNavigation("Clinics", serviceName) }} +{% endblock %} + +{% block beforeContent %} + +{% endblock %} + +{% block content %} + +
    +
    +

    + Tuesday + 1 September 2026 + +

    + +
    + +
    + + + +
    +
    + +

    Prepend a new slot

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Time + + Participant + + Date of birth + + Primary action +
    + 08:30 to 08:40 + + Joanne Marquardt +
    NHS: 999 054 3666
    + + Special appointment +
    + Tiny note for a special appointment +
    + 15 March 1960 +
    (66 years)
    +
    + Rebook participant +
    +
    + + +
    +
    + + Held +
    + Tiny note for a non-standard hold +
    + Release slot +
    + 08:50 to 09:10 + + Daphne Hart +
    NHS: 999 374 0952
    + + Special appointment 2 slots +
    + Tiny note for a special appointment +
    + 22 July 1958 +
    (67 years)
    +
    + Rebook participant +
    + 09:10 to 09:20 + + Marta O'Neill +
    NHS: 999 195 4836
    +
    + 3 May 1971 +
    (55 years)
    +
    + Rebook participant +
    + 09:20 to 09:30 + + Susan Carter +
    NHS: 999 287 9305
    +
    + 19 September 1967 +
    (58 years)
    +
    + Rebook participant +
    + 09:30 to 09:40 + + Olivia Barnes +
    NHS: 999 463 1129
    +
    + 12 January 1975 +
    (51 years)
    +
    + Rebook participant +
    + 09:40 to 09:50 + + Rachel Price +
    NHS: 999 774 2201
    +
    + 27 April 1962 +
    (64 years)
    +
    + Rebook participant +
    + 09:50 to 10:00 + + Hannah Wallace +
    NHS: 999 546 8870
    +
    + 6 October 1959 +
    (66 years)
    +
    + Rebook participant +
    + 10:00 to 10:10 + + Fiona Lambert +
    NHS: 999 559 3322
    +
    + 14 December 1973 +
    (52 years)
    +
    + Rebook participant +
    + 10:10 to 10:20 + + Georgia Mills +
    NHS: 999 804 7753
    +
    + 30 June 1968 +
    (58 years)
    +
    + Rebook participant +
    + 10:20 to 10:30 + + Alice Marie Gregory +
    NHS: 999 582 7164
    +
    + 8 November 1964 +
    (61 years)
    +
    + Rebook participant +
    + 10:30 to 10:40 + + Elaine Fox +
    NHS: 999 290 4601
    +
    + 11 February 1976 +
    (50 years)
    +
    + Rebook participant +
    + 10:40 to 10:50 + + Tessa King +
    NHS: 999 613 2084
    +
    + 25 August 1963 +
    (62 years)
    +
    + Rebook participant +
    + 10:50 to 11:00 + + Nadia Singh +
    NHS: 999 118 9756
    +
    + 7 April 1957 +
    (69 years)
    +
    + Rebook participant +
    + 11:00 to 11:10 + + Jane Reed +
    NHS: 999 039 6617
    +
    + 18 November 1970 +
    (55 years)
    +
    + Rebook participant +
    + 11:10 to 11:20 + + Laura White +
    NHS: 999 259 1148
    +
    + 29 May 1965 +
    (61 years)
    +
    + Rebook participant +
    + 11:20 to 11:30 + + Marissa Young +
    NHS: 999 880 3320
    +
    + 9 March 1961 +
    (65 years)
    +
    + Rebook participant +
    + 11:30 to 11:40 + + Naomi Bell +
    NHS: 999 901 7732
    +
    + 21 September 1974 +
    (51 years)
    +
    + Rebook participant +
    + 11:40 to 11:50 + + Paige Long +
    NHS: 999 216 5087
    +
    + 4 July 1969 +
    (57 years)
    +
    + Rebook participant +
    + 11:50 to 12:00 + + Catherine Wood +
    NHS: 999 487 9901
    +
    + 16 January 1956 +
    (70 years)
    +
    + Rebook participant +
    +
    + + +
    +
    + + Staff break + +
    +
    + + +
    +
    + + Staff break + +
    +
    + + +
    +
    + + Staff break + +
    +
    + + +
    +
    + + Staff break + +
    +
    + + +
    +
    + + Staff break + +
    +
    + + +
    +
    + + Staff break + +
    + 13:00 to 13:10 + + Victoria Hale +
    NHS: 999 603 1774
    +
    + 13 October 1966 +
    (59 years)
    +
    + Rebook participant +
    + 13:10 to 13:20 + + Imogen Frost +
    NHS: 999 905 6423
    +
    + 31 December 1972 +
    (53 years)
    +
    + Rebook participant +
    + 13:20 to 13:30 + + Dara Moss +
    NHS: 999 332 1108
    +
    + 24 June 1960 +
    (66 years)
    +
    + Rebook participant +
    + 13:30 to 13:40 + + Sophie Hartley +
    NHS: 999 427 5930
    +
    + 2 August 1962 +
    (64 years)
    +
    + Rebook participant +
    + 13:40 to 13:50 + + Emma Cole +
    NHS: 999 218 3446
    +
    + 17 April 1975 +
    (51 years)
    +
    + Rebook participant +
    + 13:50 to 14:00 + + + Held +
    + Tiny note for a non-standard hold +
    + Rebook participant +
    + 14:00 to 14:10 + + Mia Ford +
    NHS: 999 678 2209
    +
    + 19 May 1972 +
    (54 years)
    +
    + Rebook participant +
    +
    + + +
    +
    + + Held +
    + Tiny note for a non-standard hold +
    + Rebook participant +
    + 14:20 to 14:30 + + Ariana Miles +
    NHS: 999 244 1196
    +
    + 28 November 1959 +
    (66 years)
    +
    + Rebook participant +
    + 14:30 to 14:40 + + Bethany Cross +
    NHS: 999 883 4455
    +
    + 7 July 1975 +
    (51 years)
    +
    + Rebook participant +
    +
    + + +
    +
    + + Held +
    + Tiny note for a non-standard hold +
    + Rebook participant +
    + 14:50 to 15:00 + + Helena Rowe +
    NHS: 999 439 3321
    +
    + 2 April 1963 +
    (63 years)
    +
    + Rebook participant +
    + 15:00 to 15:10 + + Danielle Nash +
    NHS: 999 210 5587
    +
    + 23 June 1970 +
    (56 years)
    +
    + Rebook participant +
    + 15:10 to 15:20 + + Faye Turner +
    NHS: 999 619 4470
    +
    + 8 January 1957 +
    (69 years)
    +
    + Rebook participant +
    + 15:20 to 15:30 + + Leona Grant +
    NHS: 999 908 2233
    +
    + 15 October 1974 +
    (51 years)
    +
    + Rebook participant +
    + 15:30 to 15:40 + + Nora Blake +
    NHS: 999 776 9904
    +
    + 30 December 1966 +
    (59 years)
    +
    + Rebook participant +
    + 15:40 to 15:50 + + Olivia Lee +
    NHS: 999 665 8805
    +
    + 19 August 1960 +
    (66 years)
    +
    + Rebook participant +
    + 15:50 to 16:00 + + Priya Desai +
    NHS: 999 554 7706
    +
    + 10 May 1973 +
    (53 years)
    +
    + Rebook participant +
    + 16:00 to 16:10 + + Quinn Park +
    NHS: 999 443 6607
    +
    + 26 March 1964 +
    (62 years)
    +
    + Rebook participant +
    + 16:10 to 16:20 + + Rosa Kirk +
    NHS: 999 332 5508
    +
    + 13 July 1958 +
    (68 years)
    +
    + Rebook participant +
    +
    + + +
    +
    + + Available + + + Book appointment +
    +
    + + +
    +
    + + Available + + + Book appointment +
    +
    + + +
    +
    + + Available + + + Book appointment +
    +
    + + +
    +
    + + Available + + + Book appointment +
    +
    + + +
    +
    + + Special appointment 3 slots + + + Book appointment +
    + +

    Append a new slot

    + +
    + +
    + +
    + +
    +{% endblock %}