OpenSAFELY-TPP database builds

This report provides information about data import dates and recent activity in the OpenSAFELY-TPP database.
Get in touch and tell us how you use this report or new features you'd like to see: [email protected]
First published
06 Jan 2021
Last released
08 Mar 2022

Import dates and date coverage for OpenSAFELY-TPP data sources

This OpenSAFELY notebook provides data import dates and counts of raw event data for externally linked data sources in the OpenSAFELY-TPP database. It is part of the technical documentation for users of the OpenSAFELY platform to guide analyses and it should not be used for inference about any aspect of the pandemic, public health, or health service activity. For the avoidance of doubt: any clinical or epidemiological interpretation of this raw information is likely to be a misinterpretation.

If you would like to apply to use the OpenSAFELY platform please read our documentation, the principles of the platform, and information about our pilot programme for onboarding external users.

If you want to see the Python code used to create this notebook, you can view it on GitHub.

Data sources

The core SystmOne primary care datasets are held in the S1 tables in the OpenSAFELY-TPP database. The delay from events being recorded in SystmOne to being available in OpenSAFELY-TPP is around 2 - 9 days. Reducing this to one day is possible for urgent queries where necessary.

All externally-linked data sources are listed below, with the table name given in brackets:

  • All positive or negative SARS-CoV2 tests, from SGSS (SGSS_AllTests_Positive and SGSS_AllTests_Negative)
  • First-ever positive or negative SARS-CoV2 test, from SGSS (SGSS_Positive and SGSS_Negative)
  • A&E attendances, from SUS Emergency Care data (EC)
  • In-patient hospital admissions, from SUS Admitted Patient Care Spells data (APCS)
  • Out-patient hospital appointments, from SUS (OPA)
  • Covid-related ICU admissions, from ICNARC (ICNARC)
  • Covid-related in-hospital deaths, from CPNS (CPNS)
  • COVID-19 Infection Survey, from ONS (ONS_CIS)
  • All-cause registered deaths, from ONS (ONS_Deaths)
  • High cost drugs (HighCostDrugs)
  • Unique Property Reference Number, used for deriving household variables (UPRN)
  • Master Patient Index (MPI)
  • Health and Social Care Worker identification, collected at the point of vaccination (HealthCareWorker)

Some of these tables are accompanied by additional tables with further data. For instance, OPA contains the core out-patient appointment event data, and is supplemented by the OPA_Cost, OPA_Diag, OPA_Proc tables. See the data schema notebook for more information.

Notebook run date

This notebook was run on 8 March 2022. The information below reflects the state of the OpenSAFELY-TPP as at this date.

Latest dataset import dates

TPP create a snapshot of the primary care information captured in the SystmOne database which is processed (for example unstructured free-text is removed and other OpensAFELY-specific tables are created) before being imported into the OpenSAFELY-TPP database. TPP also receive (or "ingest") external datasets from NHS Digital, ONS, etc., which are processed and imported into OpenSAFELY-TPP. Each imported dataset over-writes previously-imported data.

Once a dataset has been imported, it can be queried immediately in the secure environment. SystmOne data is imported approximately weekly. External datasets are usually imported within a few days after they have been received by TPP. Each external dataset is received at different times, sometimes irregularly or with unexpected delays.

The dates in the table below reflect when the datasets were last imported into the OpenSAFELY-TPP database. They do not reflect when the data were received by TPP nor when the latest clinical or administrative events captured in each dataset occurred.

datasource latest_import
0 APCS 2022-03-07 17:28:29.380
1 CPNS 2022-03-07 13:55:16.707
2 EC 2022-03-07 16:57:20.657
3 ECDS 2020-04-21 14:48:09.543
4 HealthCareWorker 2022-03-07 10:10:05.977
5 HighCostDrugs 2020-11-27 14:15:31.460
6 ICNARC 2021-01-21 11:21:12.623
7 MPI 2020-08-05 11:26:13.247
8 ONS_CIS 2021-04-28 14:59:47.487
9 ONS_Deaths 2022-02-25 12:15:37.040
10 OPA 2022-03-07 13:54:33.483
11 S1 2022-03-04 11:00:03.937
12 SGSS_AllTests_Negative 2022-03-07 10:09:47.100
13 SGSS_AllTests_Positive 2022-03-07 09:24:27.340
14 SGSS_Negative 2022-03-07 09:28:26.860
15 SGSS_Positive 2022-03-07 09:17:06.613
16 Therapeutics 2022-03-07 16:57:26.970
17 UPRN 2020-08-05 11:30:17.087

All dataset import dates

The figure below shows all dataset import dates for SystmOne and external datasets, up until the date this notebook was run (the vertical black line).

Text(0.5, 1.0, 'Latest dataset import dates as at 8 March 2022')

Event activity in external datasets

In the figures below, event activity (counts of events such as hospital admissions and deaths) is reported for external data sources from 1 February 2020 up to the notebook run date (left plot), and for the latest 30 days of activity up to the most recent event date (right plot).

The left plots can be used to gain a rough idea of event activity over time and helps to sense-check event frequencies and/or population counts in extracted datasets; it should not be used for direct clinical or epidemiological inference. The right plots can be used to gauge the latest reliable date for events recorded in each data source, i.e., a cut-off beyond which the data may be incomplete.

Note that the OpenSAFELY-TPP database only includes people who were ever registered at a GP practice using TPP's SystmOne clinical information system (roughly 40% of GP practices) on or after 1 January 2009, including those who have since deregistered or died. The data therefore captures activity for these patients only.

Counts of five or less are redacted.

Recurrent events / repeat patient IDs

Some datasets may have multiple rows per patient, for instance if the patient was admitted to hospital more than once. Currently a study definition can return either the first event, the last event, or the count of events occurring during the period of interest. The tables below count recurrent events for each dataset from 1 February onwards, up to 5 events.

patients_with_at_least_1_events is the number of unique patients in the dataset. This is the number of events that can be returned by a study variable that takes the first event or the last event, from 1 February onwards.