Shah A

Version ID
Data Sources
Valid event data range
01/01/1999 - 01/07/2016
♀  Female ♂  Male
Agreement Date
Coding system
Read codes v2
Phenotype Library
No tags


If a patient had more than one measurement on a given day, the values were aggregated by taking the mean. We analysed eosinophil and lymphocyte counts as categorical variables in order to avoid presuming a particular shape for the association with cardiovascular diseases. There were no clinically obvious cutpoints or consistent definitions of ‘normal’ lymphocyte or eosinophil counts in the literature. In the absence of a clear rationale for choosing specific cutpoints, we chose to study quintiles; however, the number of decimal places varied between laboratories (units: cells×109/L) and the absolute values of eosinophil counts were small relative to the precision of recording. In order to avoid biasing the category allocation by precision, we manually adjusted the eosinophil category boundaries, so that the second decimal place was 5, thus ensuring that any values recorded to two decimal places would end up in the same category if they were recorded to only one decimal place. We derived quintile-based categories for lymphocyte counts by a similar method. All category intervals were closed at the lower bound and open at the upper bound, that is, ‘0.05 to 0.15’ includes 0.05 but not 0.15.

Eosinophil and lymphocyte counts can be affected by many factors such as infections, autoimmune diseases, medication and haematological conditions. We sought to differentiate between a patient's long-term ‘stable’ leucocyte profile and results obtained when the patient had an ‘acute’ condition which may alter leucocyte counts. We used other information in the electronic health record to assess whether the patient was clinically ‘acute’ or ‘stable’ at the time of the blood test, adapting a set of criteria proposed by the eMERGE consortium (electronic Medical Records and Genomics) for studying genetic determinants of the stable leucocyte counts: in hospital on the date of blood test, vaccination in the previous 7 days, anaemia diagnosis within the previous 30 days, symptoms or diagnosis of infection within the previous 30 days, prior diagnosis of myelodysplastic syndrome, prior diagnosis of haemoglobinopathy, cancer chemotherapy or granulocyte colony stimulating factor (G-CSF) within 6 months before index date, or the use of drugs affecting the immune system such as methotrexate or steroids within the previous 3 months. Patients with HIV, splenectomy or on dialysis were excluded from this study, as their leucocyte counts may be difficult to interpret.

In the Clinical Practice Research Datalink (CPRD, primary care data) we extracted lymphocyte measurements using the structured data component of the test CPRD table (entity type 208) combined with a list of Read terms (see below). The value was extracted from the data2 field where the units data3 field were set as 37 [109/L], 153 [109], 17 [/L]. We filtered any values less than 50 10^9/L.



No data available

Clinical Code List

Rows: 10
Code Description CALIBER category
42M..00 Lymphocyte count Lymphocyte count
42M1.00 Lymphocyte count normal Lymphocyte count
42M2.00 Lymphocytosis - absolute Lymphocyte count
42M3.00 Lymphocytosis - relative Lymphocyte count
42M4.00 Abnormal lymphocytes Lymphocyte count
42M5.00 Lymphocyte count abnormal Lymphocyte count
42M8.00 Total lymphocyte count (IMM) Lymphocyte count
42MZ.00 Lymphocyte count NOS Lymphocyte count
D40y000 Lymphocytosis Lymphocyte count
D40y300 Lymphopenia Lymphocyte count


To Export Phenotype Details:

Format API
XML site_root/api/v1/public/phenotypes/PH345/version/690/detail/?format=xml
JSON site_root/api/v1/public/phenotypes/PH345/version/690/detail/?format=json
R Package

# Download here


# Connect to API

client = connect_to_API(public=TRUE)

# Get details of phenotype

details = get_phenotype_detail_by_version('PH345', '690', api_client=client)

To Export Phenotype Code List:

Format API
XML site_root/api/v1/public/phenotypes/PH345/version/690/export/codes/?format=xml
JSON site_root/api/v1/public/phenotypes/PH345/version/690/export/codes/?format=json
CSV site_root/phenotypes/PH345/version/690/export/codes/
R Package

# Download here


# Connect to API

client = connect_to_API(public=TRUE)

# Get codelists of phenotype

codelists = get_phenotype_code_list('PH345', '690', api_client=client)

Version History

Name Owner Publish date
690 Lymphocytes ieuan.scanlon 2021-10-06 currently shown

Export - export all codes into a csv file/JSON/XML for the current phenotype version.

Print - Print page.