Code Library Categories & Project Types
When organising the library, it is helpful to look at the type of work happening in each camp. Code usually falls into one of three states:
- Pipelines: Code that runs repeatedly on a schedule (e.g., daily ETLs or weekly reports). Highly structured.
- Ad Hoc / One-off: Code written to answer a single question quickly (e.g., an FOI request). Heavy on Logic, light on Structure.
- Research: Code built to explore data, test hypotheses, or train models. Often messy, but contains highly valuable, reusable Logic.
Here is how those states map across the different camps.
1. Data Engineering
This camp focuses on moving, cleaning, and storing data safely. It is heavy on Utility code.
| Project Type | Description |
|---|---|
| Data Pipelines (Automated) | ETL/ELT scripts that pull data from national systems (like SUS or HES) and load it into local databases on a daily schedule. |
| Ad Hoc Extractions | Scripts written to pull a highly specific, one-time data snapshot for a clinical audit or an academic research team. |
| Data Quality & Utility Tools | Reusable scripts that strip out identifiable information or automatically flag invalid NHS numbers. |
2. Data Analytics
This camp is about making sense of the data and presenting it to decision-makers.
| Project Type | Description |
|---|---|
| Automated Reporting Pipelines | Reproducible scripts (R Markdown, Quarto) that generate standard weekly performance metrics without human intervention. |
| Dashboards | Interactive web apps (R Shiny, Streamlit) that give operational teams live views of bed states or waiting lists. |
| Ad Hoc Analysis | Bespoke SQL or Python scripts written to answer urgent operational questions (e.g., a sudden deep-dive into winter A&E admissions) or respond to Freedom of Information (FOI) requests. |
3. Data Science
This camp involves advanced statistics, machine learning, and operational research.
| Project Type | Description |
|---|---|
| Exploratory Research & Model Training | The code (often Jupyter Notebooks) used to explore a dataset, test different algorithms, and train a predictive model. This code is rarely run live, but the SUL 'Logic' within it is highly reusable for other researchers. |
| Production ML Pipelines (MLOps) | The engineering code that takes a trained model and runs it against live patient data every day (e.g., scoring patient readmission risk). |
| Simulation & Modelling | Code used for capacity planning, such as Discrete Event Simulation (DES) models that predict waiting list backlogs or A&E flow. |
| AI & NLP Implementations | Scripts that deploy local Large Language Models or extract specific clinical entities from free-text notes. |
4. Data Architecture
This camp holds the Infrastructure as Code (IaC) and database designs.
| Project Type | Description |
|---|---|
| Standard Infrastructure Pipelines | Terraform or AWS CloudFormation scripts to spin up standard, secure data environments. |
| Ad Hoc Sandboxes | Scripts used to rapidly spin up secure, temporary database environments for short-term research projects, which automatically tear themselves down when finished. |
| Database Schemas | Standardised data models and table structures that different trusts can adopt. |
5. DataOps & DevOps
This camp holds the tools that help teams meet RAP standards and build the "Structural" part of the SUL principle.
| Project Type | Description |
|---|---|
| Project Templates | Cookiecutter templates that give analysts a standard folder structure before they start typing. |
| CI/CD Pipelines | Reusable GitHub Actions or GitLab CI YAML files that automatically run tests and linters. |
| Docker Images | Standardised container environments packed with the right R or Python packages for NHS analysts. |
6. Information Governance (IG) & Security
A dedicated space for code that specifically enforces security and privacy in a healthcare setting.
| Project Type | Description |
|---|---|
| Data Masking Scripts | Code that reliably generates synthetic data for testing. |
| Audit Tools | Scripts that scan logs to see who accessed patient data. |
Found the right category? Submit your code, or browse the catalogue filtered by category to see what is already there. Tier definitions live in the reusability framework.