Skip to content

Commit dba9f7e

Browse files
Merge pull request #53 from NHSDigital/release/v1.8.0
Release v1.8.0
2 parents f5d0af1 + 2376f06 commit dba9f7e

File tree

92 files changed

+1589
-509
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+1589
-509
lines changed

docs/about.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
---
2+
title: RAP Community of Practice
3+
4+
tags:
5+
- RAP CoP website
26
hide:
37
- navigation
48
---
59

6-
# RAP Community of Practice
10+
#
711

812
> **This material is maintained by the [NHS England RAP Community of Practice](mailto:england.rapchampions@nhs.net)**.
913

docs/example_RAP_CoP_page.md

+121-113
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,121 @@
1-
# Page Template
2-
3-
## Some introductory subtitle
4-
5-
!!! tip "TLDR"
6-
- **very brief** summary of the main findings
7-
- any key links i.e. to forms or other things people need fill in
8-
- try to keep it to just three
9-
10-
??? question "Why should we care?"
11-
- Brief summary of why this is important
12-
- any key links of background
13-
- We can have a bigger section on this below
14-
15-
??? success "Pre-requisites"
16-
* Some information on what someone might need to be familiar with before they can use this page
17-
18-
|Pre-requisite | Importance | Note |
19-
|--------------|------------|------|
20-
|[Some link to some other guide we have](https://nhsdigital.github.io/rap-community-of-practice/)|Necessary/Helpful|Any comment we have on this|
21-
|some other guide|Helpful|another note|
22-
23-
!!! info inline end
24-
XKCD comics can also be great at grabbing attention:
25-
26-
![An amusing comic about marketing](https://imgs.xkcd.com/comics/immune_system.png "An amusing comic about marketing")
27-
28-
**Don't forget to update the `mkdocs.yml` file to add this page, so it appears in the nav bar!**
29-
30-
Here we need some bit explaining the background of the thing the page is talking about
31-
32-
- keep it brief
33-
- make it clear what it is and what the benefit is
34-
- don't go into details of the methods, but perhaps highlight some of the key approaches described below
35-
36-
## First subtitle of the main content
37-
38-
Talk about the issue break it down into steps.
39-
40-
We might even include a little diagram:
41-
42-
```mermaid
43-
graph LR
44-
A[Have an idea] --> B{Make a page};
45-
B -->|Pull Request| C[Colleagues Review];
46-
C --> D[Feedback];
47-
D --> B;
48-
B ----->|Approved| E[Publish!];
49-
```
50-
51-
Consider linking to other pages and try and extract the general concept from language specific implementations, i.e. we could have a pager about "functions", and then link to specific pages on how to do functions in Python and R.
52-
53-
Also, have a look on the following pages to see if they have guidance we could link to, or adapt
54-
- [Quality Assurance of Code for Analytics](https://best-practice-and-impact.github.io/qa-of-code-guidance/intro.html)
55-
- [Turing Way](https://the-turing-way.netlify.app/welcome.html)
56-
- [Central RAP Guidance from GSS](https://analysisfunction.civilservice.gov.uk/support/reproducible-analytical-pipelines/)
57-
58-
## General subsection template
59-
60-
Write some content here
61-
62-
### General subsubsection template
63-
64-
This might be on some specific aspect of the subsection
65-
66-
#### General subsubsubsection template
67-
68-
We might need to get even more specific, but probably wont use this as much!
69-
70-
## Further subtitles
71-
72-
You can include code snippets `inline` or in blocks:
73-
74-
```Python
75-
print("hello world")
76-
```
77-
78-
You might also want to hide large code snippets:
79-
80-
??? example "Some big code snippet"
81-
```Python
82-
print("HA, I lied, it's only a small code snippet")
83-
```
84-
85-
!!! note
86-
Admonition blocks can be helpful to bring out key points
87-
88-
See [mkdocs guidance]()
89-
90-
## Further subsections
91-
92-
Continue to work through the subject, but we don't have to make the pages long - a short page can be just as useful!
93-
94-
You can include pictures, however referencing them requires a few steps back in the directory tree (see below):
95-
96-
![image-alt-text](images/add_file.PNG "Some random picture")
97-
98-
You can also have tabs:
99-
100-
=== "Tab 1"
101-
We can put whatever we want in here
102-
```Python
103-
def somefunc(a):
104-
return None
105-
```
106-
107-
=== "Tab 2"
108-
And in here something completely different, such as a diagram
109-
![alt text](images/branch_info.JPG "Some random picture")
110-
111-
## Further Reading
112-
113-
- Provide any useful links people might need to further their learning
1+
---
2+
title: Add your title here
3+
4+
# Uncomment and add your tags here
5+
# tags:
6+
# -
7+
---
8+
9+
#
10+
11+
## Some introductory subtitle
12+
13+
!!! tip "TLDR"
14+
- **very brief** summary of the main findings
15+
- any key links i.e. to forms or other things people need fill in
16+
- try to keep it to just three
17+
18+
??? question "Why should we care?"
19+
- Brief summary of why this is important
20+
- any key links of background
21+
- We can have a bigger section on this below
22+
23+
??? success "Pre-requisites"
24+
* Some information on what someone might need to be familiar with before they can use this page
25+
26+
|Pre-requisite | Importance | Note |
27+
|--------------|------------|------|
28+
|[Some link to some other guide we have](https://nhsdigital.github.io/rap-community-of-practice/)|Necessary/Helpful|Any comment we have on this|
29+
|some other guide|Helpful|another note|
30+
31+
!!! info inline end
32+
XKCD comics can also be great at grabbing attention:
33+
34+
![An amusing comic about marketing](https://imgs.xkcd.com/comics/immune_system.png "An amusing comic about marketing")
35+
36+
**Don't forget to update the `mkdocs.yml` file to add this page, so it appears in the nav bar!**
37+
38+
Here we need some bit explaining the background of the thing the page is talking about
39+
40+
- keep it brief
41+
- make it clear what it is and what the benefit is
42+
- don't go into details of the methods, but perhaps highlight some of the key approaches described below
43+
44+
## First subtitle of the main content
45+
46+
Talk about the issue break it down into steps.
47+
48+
We might even include a little diagram:
49+
50+
```mermaid
51+
graph LR
52+
A[Have an idea] --> B{Make a page};
53+
B -->|Pull Request| C[Colleagues Review];
54+
C --> D[Feedback];
55+
D --> B;
56+
B ----->|Approved| E[Publish!];
57+
```
58+
59+
Consider linking to other pages and try and extract the general concept from language specific implementations, i.e. we could have a pager about "functions", and then link to specific pages on how to do functions in Python and R.
60+
61+
Also, have a look on the following pages to see if they have guidance we could link to, or adapt
62+
- [Quality Assurance of Code for Analytics](https://best-practice-and-impact.github.io/qa-of-code-guidance/intro.html)
63+
- [Turing Way](https://the-turing-way.netlify.app/welcome.html)
64+
- [Central RAP Guidance from GSS](https://analysisfunction.civilservice.gov.uk/support/reproducible-analytical-pipelines/)
65+
66+
## General subsection template
67+
68+
Write some content here
69+
70+
### General subsubsection template
71+
72+
This might be on some specific aspect of the subsection
73+
74+
#### General subsubsubsection template
75+
76+
We might need to get even more specific, but probably wont use this as much!
77+
78+
## Further subtitles
79+
80+
You can include code snippets `inline` or in blocks:
81+
82+
```Python
83+
print("hello world")
84+
```
85+
86+
You might also want to hide large code snippets:
87+
88+
??? example "Some big code snippet"
89+
```Python
90+
print("HA, I lied, it's only a small code snippet")
91+
```
92+
93+
!!! note
94+
Admonition blocks can be helpful to bring out key points
95+
96+
See [mkdocs guidance]()
97+
98+
## Further subsections
99+
100+
Continue to work through the subject, but we don't have to make the pages long - a short page can be just as useful!
101+
102+
You can include pictures, however referencing them requires a few steps back in the directory tree (see below):
103+
104+
![image-alt-text](images/add_file.PNG "Some random picture")
105+
106+
You can also have tabs:
107+
108+
=== "Tab 1"
109+
We can put whatever we want in here
110+
```Python
111+
def somefunc(a):
112+
return None
113+
```
114+
115+
=== "Tab 2"
116+
And in here something completely different, such as a diagram
117+
![alt text](images/branch_info.JPG "Some random picture")
118+
119+
## Further Reading
120+
121+
- Provide any useful links people might need to further their learning

docs/glossary.md

+22-17
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,12 @@
11
---
2+
title: Glossary
3+
tags:
4+
- Glossary
25
hide:
36
- navigation
47
---
58

6-
## RAP
7-
8-
RAP stands for Reproducible Analytical Pipelines. The term comes from UK public sector data scientists - you can [read the ONS description here](https://datasciencecampus.ons.gov.uk/capability/data-science-campus-faculty/reproducible-analytical-pipeline-journey/#:~:text=Reproducible%20Analytical%20Pipelines%20are%20programs,impressive%20efficiencies%20in%20your%20teams.). We also have a page on [why RAP is important](introduction_to_RAP/why_RAP_is_important.md)
9-
10-
## Pipeline
11-
12-
A data pipeline is a series of steps or processes that are used to collect, process, and transform data from various sources into a format that can be easily used. The pipeline typically includes data ingestion, data cleaning, and some analysis. A good pipeline can automate work as well as improving the quality of the outcomes.
13-
14-
## Virtual Environments
15-
16-
Virtual environments are a way to ensure that you have maximum control over the code that you're writing and how it will run. Many software packages interact with one another, and not always in a good or predictable way. Virtual environments allow you to develop code like it is being done on a completely clean, separate machine. In a virtual environment, you can install whatever packages you want, at whatever version, without worrying about affecting the other software or projects you might have on your computer.
17-
18-
Best practice recommends that we create a different virtual environment for each project that we work on.
19-
20-
## Venv
21-
22-
`venv` is a particular package for managing virtual environments in Python, which comes pre-installed with python. We highly recommend using this package, although others are available. See [our page](training_resources/python/virtual-environments/venv.md) for advice on using it.
9+
#
2310

2411
## Conda
2512

@@ -35,3 +22,21 @@ You can read more about git on our [introduction to Git](training_resources/git/
3522

3623
An IDE (Integrated Development Environment) is a piece of software you can use to write code. You can write code anywhere that you can write plain text, but IDEs are designed to help with the process. It doesn't affect how the code will run, and you can move the code safely between IDEs.
3724
IDEs are packed with useful features like autocompletion, test suites, git integration, linting and more. We recommend Visual Studio Code, but you can also try PyCham, Spyder, or Eclipse - to name a few.
25+
26+
## Pipeline
27+
28+
A data pipeline is a series of steps or processes that are used to collect, process, and transform data from various sources into a format that can be easily used. The pipeline typically includes data ingestion, data cleaning, and some analysis. A good pipeline can automate work as well as improving the quality of the outcomes.
29+
30+
## RAP
31+
32+
RAP stands for Reproducible Analytical Pipelines. The term comes from UK public sector data scientists - you can [read the ONS description here](https://datasciencecampus.ons.gov.uk/capability/data-science-campus-faculty/reproducible-analytical-pipeline-journey/#:~:text=Reproducible%20Analytical%20Pipelines%20are%20programs,impressive%20efficiencies%20in%20your%20teams.). We also have a page on [why RAP is important](introduction_to_RAP/why_RAP_is_important.md)
33+
34+
## Venv
35+
36+
`venv` is a particular package for managing virtual environments in Python, which comes pre-installed with python. We highly recommend using this package, although others are available. See [our page](training_resources/python/virtual-environments/venv.md) for advice on using it.
37+
38+
## Virtual Environments
39+
40+
Virtual environments are a way to ensure that you have maximum control over the code that you're writing and how it will run. Many software packages interact with one another, and not always in a good or predictable way. Virtual environments allow you to develop code like it is being done on a completely clean, separate machine. In a virtual environment, you can install whatever packages you want, at whatever version, without worrying about affecting the other software or projects you might have on your computer.
41+
42+
Best practice recommends that we create a different virtual environment for each project that we work on.

docs/images/JS_network.png

16.4 KB
Loading

docs/images/chi-onwurah-pmq-rap.png

134 KB
Loading

docs/images/clipart_copy.png

33.2 KB
Loading

docs/images/clipart_magglass.png

55.6 KB
Loading

docs/images/clipart_map.png

20.5 KB
Loading

docs/images/code_review.jpg

18.2 KB
Loading

docs/images/copy_image.png

6.18 KB
Loading

docs/images/flowers.png

75 KB
Loading

docs/images/magnifying_glass.png

19.7 KB
Loading
48.7 KB
Loading

docs/images/network.png

7.59 KB
Loading
367 KB
Loading
58.8 KB
Loading

docs/implementing_RAP/accessibility-how-to.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
# Guidance on Accessibility
1+
---
2+
title: Guidance on Accessibility
3+
4+
tags:
5+
- Accessibility
6+
---
7+
8+
#
29

310
> _The power of the Web is in its universality. Access by everyone regardless of disability is an essential aspect._<br>
411
**Tim Berners-Lee, W3C Director and inventor of the World Wide Web**

docs/implementing_RAP/code-review.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
# Code review
1+
---
2+
title: Code review
3+
4+
tags:
5+
- Code reviews
6+
- Workflow
7+
---
8+
9+
#
210

311
[![link to code quality comic image](https://imgs.xkcd.com/comics/code_quality.png)](https://xkcd.com/1513)
412

docs/implementing_RAP/coding-best-practice.md

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
---
2-
#hide table of contents whitespace
3-
hide: toc
4-
---
2+
title: Coding Best Practice
3+
4+
tags:
5+
- Coding tips
56

6-
# Coding Best Practice
7+
hide:
8+
- toc
9+
---
710

11+
#
812
You can find guidance on coding best practice at these pages:
913

1014
General Code Development

docs/implementing_RAP/example-pipeline.md

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
1-
# Example Pipeline (Python)
1+
---
2+
title: Example Pipeline (Python)
3+
4+
tags:
5+
- Python
6+
- Thin slice strategy
7+
- Process mapping
8+
- Project structure
9+
- Loose coupling
10+
- Open-source
11+
- Coding tips
12+
---
13+
14+
#
215

316
!!! tip "TLDR"
417
- This is an [example of a pipeline](https://github.com/NHSDigital/RAP_example_pipeline_python) made in Python with RAP principles in mind

docs/implementing_RAP/how-to-publish-your-code-in-the-open.md

+13-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
1-
# How to Publish your Code in the Open
1+
---
2+
title: How to Publish your Code in the Open
3+
4+
tags:
5+
- Publishing code
6+
- Transparency
7+
- Workflow
8+
- GitHub
9+
- GitHub topics
10+
---
11+
12+
#
213

314
In NHS Digital we have committed to publishing more and more of our code over time to **improve the transparency** of our analytical work.
415

@@ -72,4 +83,4 @@ Once a new publication's repository is published on GitHub, feel free to update
7283
- [The benefits of coding in the open](https://gds.blog.gov.uk/2017/09/04/the-benefits-of-coding-in-the-open/)
7384
- [Open source repositories by the Government Digital Service](https://github.com/alphagov)
7485

75-
*NHS England is not affiliated with any of these websites or companies.*
86+
*NHS England is not affiliated with any of these websites or companies.*

0 commit comments

Comments
 (0)