Last updated: 17 October 2025
This report displays the import dates and coverage of the data sources in the OpenSAFELY-TPP database.
If you would like to use the OpenSAFELY platform, then you should read our documentation, our principles, and our process for onboarding new users. If you would like to see the code we used to create this report, then you can view it on GitHub.
The data sources available in OpenSAFELY-TPP, along with a description and a graphic showing the coverage of each data source over time. The darker the blue, the more daily events. The red line indicates the latest import date - but please note that 'last updated' is when the data was last loaded but does not mean the data has changed. Hover over the chart to see more details.
| Data Source | Description |
2016
2018
2020
2022
2024
2025
|
|---|---|---|
| APCS | Admitted Patient Care Spells |
|
| CPNS | Community Pharmacy Notification Service |
|
| EC | Emergency Care Data Set |
|
| HealthCareWorker | Healthcare Worker Status |
|
| HighCostDrugs | High Cost Drugs Database |
|
| ICNARC | Intensive Care National Audit & Research Centre |
|
| ISARIC_New | ISARIC Clinical Characterisation Protocol |
|
| MPI | Master Patient Index |
|
| ONS_CIS | ONS COVID-19 Infection Survey |
|
| ONS_CIS_New | ONS COVID-19 Infection Survey (New Format) |
|
| ONS_CIS_New_Swab_Clearance | ONS COVID-19 Infection Survey Swab Clearance |
|
| ONS_Deaths | Office for National Statistics Deaths |
|
| OPA | Outpatient Appointments |
|
| S1 | S1 (European Health Insurance Card) Records |
|
| SGSS_AllTests_Negative | Second Generation Surveillance System - All Negative Tests |
|
| SGSS_AllTests_Positive | Second Generation Surveillance System - All Positive Tests |
|
| SGSS_Negative | Second Generation Surveillance System - Negative |
|
| SGSS_Positive | Second Generation Surveillance System - Positive |
|
| Therapeutics | COVID-19 Therapeutics Data |
|
| UKRR | UK Renal Registry |
|
| UPRN | Unique Property Reference Number |
|
| WL_ClockStops | Waiting List Clock Stops |
|
| WL_Diagnostics | Waiting List Diagnostics |
|
| WL_OpenPathways | Waiting List Open Pathways |
|
Date ranges:
The OpenSAFELY-TPP database only includes patients who were registered at GP practices using TPP's SystmOne clinical information system (which is used by roughly 40% of GP practices) on or after 1 January 2009, including those patients who have since deregistered or died. The OpenSAFELY-TPP database therefore captures event activity for these patients only.
The APCS data comes from two underlying database tables. APCS contains data from March 2022 onwards while APCS_ARCHIVED contains data up to March 2024 - NB these tables overlap. This complexity is hidden from users via ehrQL which combines the two tables to provide a single view of the data. However for completeness the plots for both tables are shown below.
The APCS data comes from two underlying database tables. APCS contains data from March 2022 onwards while APCS_ARCHIVED contains data up to March 2024 - NB these tables overlap. This complexity is hidden from users via ehrQL which combines the two tables to provide a single view of the data. However for completeness the plots for both tables are shown below.
The EC data comes from two underlying database tables. EC contains data from March 2022 onwards while EC_ARCHIVED contains data up to March 2024 - NB these tables overlap. This complexity is hidden from users via ehrQL which combines the two tables to provide a single view of the data. However for completeness the plots for both tables are shown below.
The EC data comes from two underlying database tables. EC contains data from March 2022 onwards while EC_ARCHIVED contains data up to March 2024 - NB these tables overlap. This complexity is hidden from users via ehrQL which combines the two tables to provide a single view of the data. However for completeness the plots for both tables are shown below.
The OPA data comes from two underlying database tables. OPA contains data from March 2022 onwards while OPA_ARCHIVED contains data up to March 2024 - NB these tables overlap. This complexity is hidden from users via ehrQL which combines the two tables to provide a single view of the data. However for completeness the plots for both tables are shown below.
The OPA data comes from two underlying database tables. OPA contains data from March 2022 onwards while OPA_ARCHIVED contains data up to March 2024 - NB these tables overlap. This complexity is hidden from users via ehrQL which combines the two tables to provide a single view of the data. However for completeness the plots for both tables are shown below.