|
| 1 | +--- |
| 2 | +title: Exploring how checking and approval workflows could work |
| 3 | +description: Looking beyond MVP |
| 4 | +date: 2025-01-15 |
| 5 | +tags: |
| 6 | + - service |
| 7 | + - workflows |
| 8 | + - service design |
| 9 | +--- |
| 10 | + |
| 11 | +The current version of the Select people for invitation (SPI) service is just beyond Minimum Viable Product (MVP). The very high-level (and rough) service map below shows the extent of the SPI front end currently, in the context of the wider end-to-end service (click the image for a bigger version): |
| 12 | + |
| 13 | +[](workflows-1.png) |
| 14 | + |
| 15 | +It's important to note that this isn't a complete service map, there are some significant omissions, but its purpose was to explore specific aspects of the service which we wish to consider soon. In particluar the 2 checking and approval steps: |
| 16 | + |
| 17 | +- iteration configurations are checked |
| 18 | +- summary report reviewed |
| 19 | + |
| 20 | +Currently, these steps happen "offline" outside of SPI, but we want to explore how we could create an approval workflow within SPI in order to make the process safer, more joined up and more auditable. |
| 21 | + |
| 22 | +## Quick explanation of "Summary report reviewed" |
| 23 | + |
| 24 | +As shown in the diagram, the configuration to select a group of people for invitation is done in the SPI front end and submitted into the "Invitation Processor" which executes the configuration to find people matching the specified criteria. |
| 25 | + |
| 26 | +Once the iteration has been executed, the invitation processor issues a "summary report" which gives a breakdown of: |
| 27 | +- the number of people excluded from the initial base cohorts |
| 28 | +- exclusions broken down by by business rules e.g. too old, too young, too recently vaccinated etc. |
| 29 | +- how many people will be contacted as a result, broken down by [routing plan](/select-people-for-invitation/routing-ids), ICB and cohort |
| 30 | + |
| 31 | +The summary report is reviewed to check that the invitations to be sent are in line with expectations. If the numbers look right then approval is given and the invitation file is released to NHS Notify for invitations to be sent. |
| 32 | + |
| 33 | +## Workshop |
| 34 | + |
| 35 | +We held a face-to-face workshop to explore some ideas around how the checking and approval processes could be brought into the SPI front end, and white-boarded the steps involved in different scenarios: |
| 36 | + |
| 37 | +[](workflows-2.png) |
| 38 | + |
| 39 | +This allowed us to agree 3 principles for the approval workflows in SPI: |
| 40 | + |
| 41 | +### 1. Iteration configurations should be approved before they are submitted to the Invitation Processor |
| 42 | + |
| 43 | +This is in part because of the procesing time and cost overhead. We want to minimise processing by ensuring we get the configuration right first time. |
| 44 | + |
| 45 | +### 2. Summary reports must be approved before we allow the release of the invitations via NHS Notify |
| 46 | + |
| 47 | +This is to ensure accuracy, have we set up the configuration as intended – is it providing the expected output? |
| 48 | + |
| 49 | +### 3. A user should not be able to approve an iteration configuration they created, or be the sole approver of the resulting summary report |
| 50 | + |
| 51 | +This is consistent with current ways of working (outside SPI), where there is a peer review of the configuration and the summary report is checked by a number of people. |
| 52 | + |
| 53 | +These principles align with our product metrics for Q4 2024/25: |
| 54 | + |
| 55 | +| Theme | Metric for success | |
| 56 | +| ----------- | ----------- | |
| 57 | +| Safety | Does this reduce risk, simplify things or make something easier to do or understand? | |
| 58 | +| Accuracy | Does this reduce the number of errors produced between business rules and configuration files? Does this help enable the right person to be invited at the right time with the correct invitation? | |
| 59 | +| Robustness | Is SPI readily available and responsive when needed by users? | |
| 60 | +| Auditability | Does this allow for better auditability to track who made changes, with appropriate safe-guards to prevent duplication and unintended harm? | |
| 61 | +| Reliability | Consistently performs across multiple vaccination types when required, and enables the user to safely and accurately select the right person at the right time and send them the right invitation. | |
| 62 | + |
| 63 | +We highlighted (in blue in the whiteboard photo), the features that don't yet exist in SPI which would be required to enable the desired approval workflows. This allowed us to create a number of Epics in the backlog and start to consider how we might break the work down. |
| 64 | + |
| 65 | +More about how we approached the detailed design in part 2... |
0 commit comments