How to RAP
TLDR
- Start by doing a skills assessment and identifying training needs
- Then map out the process you want to create or replace
- Decide on a "thin slice" - a single figure from a single output that you aim to produce first
- Create an effective workflow with good coding practices, tests, and version control
- Get to work and start coding up the thin slice
- Expand the thin slice to complete the pipeline
Why should we care?
- A little planning can go a long way!
- Unless your team already has a high level of coding skill, the RAP process is going to be largely about upskilling and learning good working practices
- This process is conducive to creating good working practices, identifying problem points early, and building solid documentation
Pre-requisites
Pre-requisite | Importance | Note |
---|---|---|
What is RAP | Essential | Get to grips with the RAP principles and and why they are important before you dive in |
So you want to implement the RAP principles in your own team?
That's great! This section provides guidance to teams who are looking to start working in the RAP way.
This advice is based on the experiences of the NHS England RAP Squad. They have been working with teams to "RAPify" their processes since around 2021.
Here's the recommended approach:
Skills Assessment
First of all, conduct a skills assessment to identify training needs, whether that's going to be in technical skills like programming, git, or using a new data platform, or project management skills like working in Agile and using kanban boards.
Process Mapping
A process map is essentially just a flow chart of the process you want to build. It can really help get your head around the process, identify redundant steps, and serves as great documentation for future team members.
The Thin Slice
It can be very useful to create a "thin slice" at first. This is where you aim to produce just a single figure our statistic from your output first. Once you have something that runs end-to-end, you can expand outwards from there.
Set up good working practices
When creating analytical processes in code, it's crucial to work in a way that makes the code more readable, more re-usable, and more robust. So make sure your using great working practices like regular code reviews, using functions, writing unit tests, and so on.
The "Workflow" sub-section on the menu has loads of tips for you!
Start here: Technical Workflow
Get to it!
Then you can get to work on your pipeline!
We've created an example pipeline that shows a very (very!) simple implementation of these principles so you can see them in action in both Python and R.
Support
No need to go it alone if you don't want to! There are plenty of places you can get some help. Have a look at the support page for some great options.
External Links Disclaimer
NHS England makes every effort to ensure that external links are accurate, up to date and relevant, however we cannot take responsibility for pages maintained by external providers.
NHS England is not affiliated with any of the websites or companies in the links to external websites.
If you come across any external links that do not work, we would be grateful if you could report them by raising an issue on our RAP Community of Practice GitHub.