# define freeze number
freeze_num = 2
# import packages
import pandas as pd, sys
from IPython.display import HTML, display, Markdown
# create instance of freeze class
fp = 'S:/UKLLC - UKLLC Databank/UKLLC Systems/programs/quarterly'
sys.path.insert(0, fp)
import freeze_helper as fh
frehelp = fh.FreezeHelper(freeze_num)
Freeze number 2 dated November 2022#
Due to the UK LLC pooled sample being dynamic and the denominator changing over time, the UK LLC establishes a ‘data freeze’ of the pooled sample each quarter. Approved users are provisioned data against a set freeze which fixes their denominator at the start of their project and this remains fixed throughout the course of the project.
Table 1: Participants enrolled in LPS and included in the UK LLC resource#
Variation in contribution rates between LPS is mostly due to differences in fair processing. UK LLC continues to work with LPS to establish the governance permissions necessary to maximise the number of enrolled participants in the UK LLC resource.
display(frehelp.style_table(frehelp.get_table('table1')))
LPS | N participants enrolled in LPS | N (%) participants sent to UK LLC | N participants not sent to UK LLC |
---|---|---|---|
ALSPAC | 32144 | 6388 (19.9%) | 25756 |
BCS70 | 18888 | 8524 (45.1%) | 10364 |
BIB | 29664 | 28590 (96.4%) | 1074 |
ELSA | 18807 | 9080 (48.3%) | 9727 |
EPICN | 30445 | 15755 (51.7%) | 14690 |
EXCEED | 11103 | 11045 (99.5%) | 58 |
FENLAND | 12435 | 12072 (97.1%) | 363 |
GENSCOT | 25152 | 22393 (89.0%) | 2759 |
GLAD | 37940 | 36020 (94.9%) | 1920 |
MCS | 40207 | 28005 (69.7%) | 12202 |
NCDS58 | 18563 | 8937 (48.1%) | 9626 |
NEXTSTEP | 15629 | 6162 (39.4%) | 9467 |
NICOLA | 8739 | 5247 (60.0%) | 3492 |
NIHRBIO_COPING | 17193 | 17177 (99.9%) | 16 |
NSHD46 | 5362 | 4289 (80.0%) | 1073 |
SABRE | 5251 | 4719 (89.9%) | 532 |
TRACKC19 | 20630 | 19633 (95.2%) | 997 |
TWINSUK | 16786 | 16173 (96.3%) | 613 |
UKHLS | 42330 | 8868 (20.9%) | 33462 |
Total | 407268 | 269077 (66.1%) | 138191 |
Table 1 exclusions: The total number of participants not sent to UK LLC with reason for exclusion#
display(frehelp.style_table(frehelp.get_exclusions()))
Exclusion reason | N participants |
---|---|
(i) Excluded because they died <2020 | 16585 |
(ii) Excluded because they died >=2020 | 716 |
(iii) Excluded because they withdrew from LPS | 20411 |
(iv) Excluded because they dissented from UK LLC | 1445 |
(v) Excluded because they dissented from record linkage | 30790 |
(vi) Excluded because governance not established | 18983 |
(vii) Excluded for other reasons | 49261 |
Footnotes with further details about exclusion criteria
(i) & (ii) UK LLC does not prohibit LPS from sending data for participants who have died. However, some LPS have policies which preclude these participants from inclusion in the resource. Data for participants who died on or after January 1, 2020 are particularly important for COVID-19 research, and so LPS were requested to send these data where possible.
(v) Participants who have dissented from linkage can still be included in the UK LLC resource, with permission flags set accordingly. However, some LPS policies preclude participants from inclusion.
Where a participant was excluded for more than one reason, LPS were asked to count participants once using the exclusion hierarchy (i-vii).
Information presented in Table1 was provided by the LPS at the latest quarterly File1 update corresponding with the freeze name printed at the top of this notebook.
Table 2: Participants in the UK LLC with permission to link to NHS England and their legal basis#
Permission flags are set at a participant level or at an LPS level giving participants or LPS control over which linkages are established or removed. NHS England operates the National Opt Out (NOO) scheme, where individuals can request that their health record is not shared for research purposes. Where explicit and informed consent is in place, the NOO is overwritten. Where opt-out consent approaches are used in conjunction with Section 251 (s251) of the NHS Act 2006, then NOO is fully respected and no records will be accessed. The current NOO rate is 5.4% of the population; information on NOO rates can be found on the NHS England website1. For this reason, the UK LLC anticipates lower linkage rates where s251 is used.
1digital.nhs.uk/services/national-data-opt-out
table2 = display(frehelp.style_table(frehelp.get_table('table2')))
LPS | N participants sent to UK LLC | N with permission to link to NHS E | N linked s251 | N linked consent | N linked total |
---|---|---|---|---|---|
ALSPAC | 6388 | 6388 (100.0%) | 1192 (83.3%) | 4321 (87.2%) | 5513 (86.3%) |
BCS70 | 8524 | 6892 (80.9%) | 109 (1.6%) | 109 (1.6%) | |
BIB | 28590 | 28590 (100.0%) | 27207 (95.2%) | 27207 (95.2%) | |
ELSA | 9080 | 7149 (78.7%) | 6864 (96.0%) | 6864 (96.0%) | |
EPICN | 15755 | 15755 (100.0%) | 15123 (96.0%) | 15123 (96.0%) | |
EXCEED | 11045 | 11038 (99.9%) | 8936 (81.0%) | 8936 (81.0%) | |
FENLAND | 12072 | 12072 (100.0%) | |||
GLAD | 36020 | 36019 (100.0%) | 31672 (87.9%) | 31675 (87.9%) | |
MCS | 28005 | 26725 (95.4%) | 21672 (81.1%) | 21672 (81.1%) | |
NCDS58 | 8937 | 7568 (84.7%) | 7471 (98.7%) | 7471 (98.7%) | |
NEXTSTEP | 6162 | 4859 (78.9%) | 4852 (99.9%) | 4852 (99.9%) | |
NIHRBIO_COPING | 17177 | 17177 (100.0%) | 16802 (97.8%) | 16802 (97.8%) | |
NSHD46 | 4289 | 4289 (100.0%) | 1417 (98.8%) | 2819 (98.7%) | 4236 (98.8%) |
TRACKC19 | 19633 | 19633 (100.0%) | |||
TWINSUK | 16173 | 15951 (98.6%) | 9797 (61.4%) | 9797 (61.4%) | |
UKHLS | 8868 | 8413 (94.9%) | 7464 (88.7%) | 7464 (88.7%) | |
Total | 269077 | 250911 (93.2%) | 27529 (79.6%) | 140189 (64.8%) | 167721 (66.8%) |
Footnotes
Participants in SABRE do not currently permit linkage to NHS England and therefore do not feature in Table 2.
Participants in GENSCOT and NICOLA do not currently have permission to link to NHS England due to governance issues and geographical limitations and therefore also do not feature in Table 2.
Low linkage rates in BCS70 in freezes 1 and 2 were due to a technical issue in the data pipeline prior to participants data being sent to NHS E for linkage. This issue was rectified ahead of freeze 3.