You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Dates formatted as YYYY-MM-DD as per [ISO standard](https://www.iso.org/iso-8601-date-and-time-format.html).
7
7
8
+
## v0.4.0 - 2026-01-06
9
+
10
+
### Added
11
+
12
+
* Quality assurance page.
13
+
* Date each page was last updated (based on commits to main, generated using bash script in GitHub action).
14
+
15
+
### Changed
16
+
17
+
* Addressed peer review feedback from Nav Mustafee ([#130](https://github.com/pythonhealthdatascience/des_rap_book/issues/130)).
18
+
* Addressed peer review feedback from Fatemeh Alidoost ([#134](https://github.com/pythonhealthdatascience/des_rap_book/issues/134), [#144](https://github.com/pythonhealthdatascience/des_rap_book/issues/144) and [#146](https://github.com/pythonhealthdatascience/des_rap_book/issues/146)).
19
+
* Restructured the website so it has a homepage, a dedicated section with step-by-step tutorial, but then separate sections with background information. Now has top navbar with banner, for hopefully more professional appearance and easier navigation.
20
+
8
21
## v0.3.0 - 2025-11-06
9
22
10
23
This release adds new pages on the mathematical proof of correctness, discrete-event simulation, and conclusions/feedback, as well as template repositories for structuring work as a package. It fixes the calculation of R time-weighted measures, updates the Python approach to determining warm-up length, and extends all pages to cover all performance metrics. Numerous smaller improvements are also included.
The specific version of the framework copied below is that from commit [2549256](https://github.com/NHSDigital/rap-community-of-practice/commit/2549256498886d6d7ea4cdb736e2a2864c8bb461) (9th September 2024).
22
22
23
+
::: {.blue}
24
+
25
+
This book follows the NHS Levels of RAP framework because it is a practical, well-established approach to building full Reproducible Analytical Pipelines in the NHS healthcare setting.
26
+
Although NHS-specific, the principles are still broadly useful for analytical work beyond the NHS.
27
+
28
+
:::
29
+
23
30
### 🥉 Baseline
24
31
25
32
RAP fundamentals offering resilience against future change.
Copy file name to clipboardExpand all lines: pages/frameworks/stars_reproducibility.qmd
+6Lines changed: 6 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,12 @@ As part of the [STARS project](https://pythonhealthdatascience.github.io/stars/)
20
20
21
21
Those marked with a star (⭐) were identified as having the greatest impact in Heather et al. 2025.
22
22
23
+
::: {.blue}
24
+
25
+
This book adopts the STARS reproducibility recommendations because they were developed from a study of real healthcare DES models and focus directly on computational reproducibility. They give a clear, healthcare-specific checklist for making DES studies easier to re-run, troubleshoot, and reuse, which this book follows throughout.
As introduced at the start of this book, a **reproducible analytical pipeline (RAP)** is a systematic approach to data analysis and modelling in which every step of the process (end-to-end) is transparent, automated, and repeatable.
25
25
26
-

26
+

27
27
28
28
A key aspect RAPs is being able to **run your entire analysis from start to finish with a single command**. For example, one command that can run a simulation model, evaluate the base case, explore scenarios, conduct sensitivity analyses, and produce all tables and figures.
29
29
@@ -59,6 +59,34 @@ In this example, we'll **focus on a bash script**, since it's often the simplest
59
59
60
60
<divclass="h3-tight"></div>
61
61
62
+
### What are bash scripts?
63
+
64
+
A bash script is a plain text file that contains a list of terminal commands, written for the Bash shell, that are executed in order from top to bottom. Instead of typing each command manually, you save them in a `.sh` file and run the script to perform the whole sequence with a single command
65
+
66
+
### Where to put the script?
67
+
68
+
Save the script below as `run_notebooks.sh` in the root of your project, alongside the `notebooks/` folder.
69
+
70
+
::: {.python-content}
71
+
72
+
This allows the script to loop over `rmarkdown/*.Rmd` without extra path adjustments.
73
+
74
+
:::
75
+
76
+
::: {.r-content}
77
+
78
+
This allows the script to loop over `notebooks/*.ipynb` without extra path adjustments.
79
+
80
+
:::
81
+
82
+
### Which terminal to use?
83
+
84
+
This script is written for Bash.
85
+
86
+
**Linux** or **macOS** users can just use their normal terminal (which runs Bash or a compatible shell).
87
+
88
+
On Windows, you'll need to run it from a bash-compatible terminal like **Git Bash**. PowerShell and Command Prompt use different syntax and cannot run `.sh` bash scripts directly.
89
+
62
90
### Example script
63
91
64
92
::: {.python-content}
@@ -95,7 +123,7 @@ else
95
123
fi
96
124
```
97
125
98
-
### Explaining the bash script line by line
126
+
####Explaining the bash script line by line
99
127
100
128
```{.bash}
101
129
#!/usr/bin/env bash
@@ -243,7 +271,19 @@ If a notebook name is given as a command-line argument, it only runs that notebo
243
271
244
272
### Running the bash script
245
273
246
-
Make sure you are in the same directory as the script, then run from the terminal:
274
+
Make sure your terminal is in the project folder (i.e., the place where `run_notebooks.sh` is).
275
+
276
+
```{.bash}
277
+
# Check where you are
278
+
pwd
279
+
280
+
# List files; you should see run_notebooks.sh and notebooks/
281
+
ls
282
+
```
283
+
284
+
If you are not in the correct folder, use `cd path/to/your/project`.
You can make it executable using `chmod +x`. You can then run it directly (without typing `bash` first) from anywhere in your project folder tree (i.e., don't need to be in same directly).
298
+
You can make it executable using `chmod +x`. This means you can then run it directly (without typing `bash` first) from anywhere in your project folder tree (i.e., don't need to be in same directly).
Copy file name to clipboardExpand all lines: pages/guide/experiments/scenarios.qmd
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ This page continues on from: [Parallel processing](../output_analysis/parallel.q
38
38
39
39
**Required packages:**
40
40
41
-
These should be available from environment setup in the "Test yourself" section of [Environments](../setup/environment.qmd).
41
+
These should be available from environment setup on the [Structuring as a package](/pages/guide/setup/package.qmd) page.
42
42
43
43
::: {.python-content}
44
44
@@ -438,7 +438,7 @@ Scenario analysis focuses on a set of pre-defined situations which are plausible
438
438
439
439
Sensitivity analysis varies one parameter (or a small group of parameters) and assess the impact of small changes in that parameter on outcomes. The purpose is to understand **how uncertainty in the inputs affects the model**, and how **robust** the model is to variation in those inputs.
440
440
441
-
Sensitivity analysis is an important for model validation (and forms part of "[experimentation validation](../verification_validation/verification_validation.qmd#experimentation-validation)").
441
+
Sensitivity analysis is an important technique for model validation (and forms part of "[experimentation validation](../verification_validation/verification_validation.qmd#experimentation-validation)").
0 commit comments