def medication_counts_and_dates(var_name, med_codelist_file, high_cost, needs_6m_12m=False): """ Generates dictionary of covariats for a medication including counts (or binary flags for high cost drugs) and dates Takes a variable prefix and medication codelist filename (minus .csv) Returns a dictionary suitable for unpacking into the main study definition This will include all five of the items defined in the functions above """ definitions={} if (med_codelist_file[0:5] == "cross"): med_codelist_file = "crossimid-codelists/" + med_codelist_file else: med_codelist_file = "codelists/" + med_codelist_file if (high_cost): med_codelist=codelist_from_csv(med_codelist_file + ".csv", system="high_cost_drugs", column="olddrugname") with_med_func=patients.with_high_cost_drugs else: med_codelist=codelist_from_csv(med_codelist_file + ".csv", system="snomed", column="snomed_id") with_med_func=patients.with_these_medications med_functions=[ ("3m_0m", get_medication_for_dates, {"dates": ["2019-12-01", "2020-02-29"], "return_count": not high_cost}), ("6m_3m", get_medication_for_dates, {"dates": ["2019-09-01", "2020-11-30"], "return_count": not high_cost}) ] if (needs_6m_12m): med_functions += [("12m_6m", get_medication_for_dates, {"dates": ["2019-03-01", "2020-08-31"], "return_count": not high_cost})] for (suffix, fun, params) in med_functions: definitions[var_name + "_" + suffix] = fun(med_codelist, with_med_func, **params) return definitions
def medication_counts_and_dates(var_name, med_codelist_file): """ Generates dictionary of covariats for a medication including counts and dates Takes a variable prefix and medication codelist filename (minus .csv) Returns a dictionary suitable for unpacking into the main study definition This will include all five of the items defined in the functions above """ definitions = {} med_codelist = codelist_from_csv("codelists/" + med_codelist_file + ".csv", system="snomed", column="snomed_id") med_functions = [("3m_0m", medication_count_3m_0m), ("6m_3m", medication_count_6m_3m), ("12m_6m", medication_count_12m_6m), ("earliest", medication_earliest), ("latest", medication_latest)] for (suffix, fun) in med_functions: definitions[var_name + "_" + suffix] = fun(med_codelist) return definitions
from cohortextractor import codelist_from_csv from config import codelist_path, codelist_system, codelist_code_column # Change the path of the codelist to your chosen codelist codelist = codelist_from_csv( codelist_path, system=codelist_system, column=codelist_code_column, ) ethnicity_codes = codelist_from_csv( "codelists/opensafely-ethnicity.csv", system="ctv3", column="Code", category_column="Grouping_6", ) ld_codes = codelist_from_csv( "codelists/opensafely-learning-disabilities.csv", system="ctv3", column="CTV3Code", )
from cohortextractor import ( codelist_from_csv, codelist, ) # OUTCOME CODELISTS covid_codelist = codelist_from_csv( "codelists/opensafely-covid-identification.csv", system="icd10", column="icd10_code", ) covid_identification_in_primary_care_case_codes_clinical = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-clinical-code.csv", system="ctv3", column="CTV3ID", ) covid_identification_in_primary_care_case_codes_test = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-positive-test.csv", system="ctv3", column="CTV3ID", ) covid_identification_in_primary_care_case_codes_seq = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-sequelae.csv", system="ctv3", column="CTV3ID", )
# Import functions from cohortextractor import ( StudyDefinition, patients, codelist, codelist_from_csv ) # Import codelists chronic_cardiac_disease_codes = codelist_from_csv( "codelists/opensafely-chronic-cardiac-disease.csv", system="ctv3", column="CTV3ID" ) chronic_liver_disease_codes = codelist_from_csv( "codelists/opensafely-chronic-liver-disease.csv", system="ctv3", column="CTV3ID" ) chronic_kidney_disease_codes = codelist_from_csv( "codelists/opensafely-chronic_kidney_disease_codescsv", system="ctv3", column="CTV3ID" ) hypertension_codes = codelist_from_csv( "codelists/opensafely-hypertension_codes.csv", system="ctv3", column="CTV3ID" ) chronic_diabetes_codes = codelist_from_csv( "codelists/opensafely-chronic_diabetes_codes.csv", system="ctv3", column="CTV3ID" ) chronic_respiratory_disease_disease_codes = codelist_from_csv( "codelists/opensafely-chronic-respiratory_disease_codes.csv", system="ctv3", column="CTV3ID" ) solid_organ_transplantation_codes = codelist_from_csv(
from cohortextractor import ( codelist_from_csv, codelist, ) # OUTCOME CODELISTS covid_identification = codelist_from_csv( "codelists/opensafely-covid-identification.csv", system="icd10", column="icd10_code", ) covid_pos_primcare_code = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-clinical-code.csv", system="ctv3", column="CTV3ID", ) covid_pos_primcare_test = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-positive-test.csv", system="ctv3", column="CTV3ID", ) # MEDICATIONS - EXPOSURES # DEMOGRAPHIC CODELIST ethnicity_codes = codelist_from_csv( "codelists/opensafely-ethnicity.csv", system="ctv3", column="Code",
from cohortextractor import ( codelist, codelist_from_csv, ) covid_codelist = codelist(["U071", "U072"], system="icd10") confirmed_covid_codelist = codelist(["U071"], system="icd10") suspected_covid_codelist = codelist(["U072"], system="icd10") covid_primary_care_positive_test=codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-positive-test.csv", system="ctv3", column="CTV3ID", ) covid_primary_care_code=codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-clinical-code.csv", system="ctv3", column="CTV3ID", ) covid_primary_care_sequalae=codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-sequelae.csv", system="ctv3", column="CTV3ID", ) covid_primary_care_exposure = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-exposure-to-disease.csv",
from cohortextractor import ( codelist, codelist_from_csv, ) ## measurement codes codes_ICD10_covid = codelist_from_csv( "codelists/opensafely-covid-identification.csv", system="icd10", column="icd10_code") codes_cholesterol = codelist_from_csv( "codelists-local/cholesterol-measurement.csv", system="ctv3", column="id") codes_inr = codelist_from_csv( "codelists-local/international-normalised-ratio-measurement.csv", system="ctv3", column="id")
from cohortextractor import ( codelist, codelist_from_csv, ) ethnicity_codes = codelist_from_csv( "codelists/opensafely-ethnicity.csv", system="ctv3", column="Code", category_column="Grouping_6", ) dementia_codes = codelist_from_csv( "codelists/opensafely-dementia-complete.csv", system="ctv3", column="code", ) chronic_respiratory_disease_codes = codelist_from_csv( "codelists/opensafely-chronic-respiratory-disease.csv", system="ctv3", column="CTV3ID", ) chronic_cardiac_disease_codes = codelist_from_csv( "codelists/opensafely-chronic-cardiac-disease.csv", system="ctv3", column="CTV3ID", ) diabetes_codes = codelist_from_csv(
from cohortextractor import ( codelist, codelist_from_csv, ) covid_codelist = codelist(["U071", "U072"], system="icd10") covidconf_codelist = codelist(["U071"], system="icd10") aplastic_codes = codelist_from_csv( "codelists/opensafely-aplastic-anaemia.csv", system="ctv3", column="CTV3ID" ) hiv_codes = codelist_from_csv( "codelists/opensafely-hiv.csv", system="ctv3", column="CTV3ID", category_column="CTV3ID" ) hepc_codes = codelist_from_csv( "codelists/opensafely-hepatitis-c.csv", system="ctv3", column="CTV3ID", category_column="CTV3ID" ) permanent_immune_codes = codelist_from_csv( "codelists/opensafely-permanent-immunosuppression.csv", system="ctv3", column="CTV3ID", ) temp_immune_codes = codelist_from_csv(
from cohortextractor import( codelist, codelist_from_csv, ) covid_codelist = codelist(["U071", "U072"], system = "icd10") # https://codelists.opensafely.org/codelist/opensafely/severe-and-profound-learning-disability-flags/44ef542a/ severe_and_profound_learning_disability_codes = codelist_from_csv( "codelists/opensafely-severe-and-profound-learning-disability-flags-44ef542a.csv", system = "ctv3", column = "code", ) # https://codelists.opensafely.org/codelist/opensafely/intellectual-disability-including-downs-syndrome/2020-08-27/ intellectual_disability_including_downs_syndrome_codes = codelist_from_csv( "codelists/opensafely-intellectual-disability-including-downs-syndrome-2020-08-27.csv", system="ctv3", column="CTV3ID", )
from cohortextractor import ( codelist_from_csv, codelist, ) # drug placeholder ics_codes = codelist_from_csv( "codelists/opensafely-high-dose-ics-inhalers.csv", system="snomed", column="id", ) # OUTCOME CODELISTS covid_identification = codelist_from_csv( "codelists/opensafely-covid-identification.csv", system="icd10", column="icd10_code", ) # DEMOGRAPHIC CODELIST ethnicity_codes = codelist_from_csv( "codelists/opensafely-ethnicity.csv", system="ctv3", column="Code", category_column="Grouping_6", ) # SMOKING CODELIST clear_smoking_codes = codelist_from_csv( "codelists/opensafely-smoking-clear.csv",
from cohortextractor import codelist, codelist_from_csv stroke = codelist_from_csv( "codelists/opensafely-incident-non-traumatic-stroke.csv", system="ctv3", column="CTV3ID", ) stroke_hospital = codelist_from_csv( "codelists/opensafely-stroke-secondary-care.csv", system="icd10", column="icd") aki_codes = codelist(["N17", "N170", "N171", "N172", "N178", "N179"], system="icd10") mi_codes = codelist_from_csv( "codelists/opensafely-myocardial-infarction-2.csv", system="ctv3", column="CTV3Code", ) mi_codes_hospital = codelist_from_csv( "codelists/opensafely-cardiovascular-secondary-care.csv", system="icd10", column="icd", category_column="mi", ) heart_failure_codes = codelist_from_csv( "codelists/opensafely-heart-failure.csv", system="ctv3", column="CTV3ID", ) heart_failure_codes_hospital = codelist_from_csv( "codelists/opensafely-cardiovascular-secondary-care.csv", system="icd10",
## LIBRARIES # cohort extractor from cohortextractor import (StudyDefinition, Measure, patients, codelist_from_csv, codelist, filter_codes_by_category, combine_codelists) ## CODELISTS # All codelist are held within the codelist/ folder. codes_diab = codelist_from_csv("codelists/opensafely-type-2-diabetes.csv", system="ctv3", column="CTV3ID") ## STUDY POPULATION # Defines both the study population and points to the important covariates index_date = "2020-01-01" end_date = "2020-09-30" study = StudyDefinition( # Configure the expectations framework default_expectations={ "date": { "earliest": index_date, "latest": end_date }, "rate": "uniform", }, index_date=index_date,
from cohortextractor import ( codelist, codelist_from_csv, ) adrenaline_pen = codelist_from_csv("codelists/opensafely-adrenaline-pens.csv", system="snomed", column="dmd_id") chronic_cardiac_disease_codes = codelist_from_csv( "codelists/opensafely-chronic-cardiac-disease.csv", system="ctv3", column="CTV3ID", ) chemotherapy_or_radiotherapy_codes = codelist_from_csv( "codelists/opensafely-chemotherapy-or-radiotherapy.csv", system="ctv3", column="CTV3ID", ) cancer_excluding_lung_and_haematological_codes = codelist_from_csv( "codelists/opensafely-cancer-excluding-lung-and-haematological.csv", system="ctv3", column="CTV3ID", ) covid_primary_care_positive_test = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-positive-test.csv", system="ctv3", column="CTV3ID", )
## LIBRARIES # cohort extractor from cohortextractor import (StudyDefinition, patients, codelist_from_csv, codelist) ##CODE LIST systolic_blood_pressure_codes = codelist(["2469."], system="ctv3") ace_inhibitor_codes = codelist_from_csv("codelists/opensafely-ace-inhibitor-medications.csv",system="snomed",column="id") arb_inhibitor_codes = codelist_from_csv("codelists/opensafely-angiotensin-ii-receptor-blockers-arbs.csv", system='snomed', column='id') hf_codes = codelist_from_csv("codelists/opensafely-heart-failure.csv", system="ctv3", column="CTV3ID") ckd_codes = codelist_from_csv("codelists/opensafely-chronic-kidney-disease.csv", system="ctv3", column="CTV3ID") ## STUDY POPULATION study = StudyDefinition( # define default dummy data behaviour # Configure the expectations framework default_expectations = { "date": {"earliest": "1900-01-01", "latest": "today"}, "rate": "exponential_increase", "incidence": 0.5, "float": {"distribution": "normal", "mean": 80, "stddev": 10}}, # define the study index date index_date = "2020-01-01", # define the study population population = patients.all(), # define the study variables
from cohortextractor import ( codelist, codelist_from_csv, ) placeholder_event_codes = codelist_from_csv( #### USED AS A PLACEHOLDER "codelists/opensafely-diabetes.csv", system="ctv3", column="CTV3ID") placeholder_med_codes = codelist_from_csv( "codelists/opensafely-asthma-inhaler-steroid-medication.csv", system="snomed", column="id", ) ethnicity_codes = codelist_from_csv( "codelists/opensafely-ethnicity.csv", system="ctv3", column="Code", category_column="Grouping_6", ) clear_smoking_codes = codelist_from_csv( "codelists/opensafely-smoking-clear.csv", system="ctv3", column="CTV3Code", category_column="Category", ) unclear_smoking_codes = codelist_from_csv(
# Some covariates used in the study are created from codelists of clinical conditions or # numerical values available on a patient's records. # This script fetches all of the codelists identified in codelists.txt from OpenCodelists. ###################################### # --- IMPORT STATEMENTS --- ## Import code building blocks from cohort extractor package from cohortextractor import (codelist, codelist_from_csv, combine_codelists) ## Ethnicity ethnicity_codes = codelist_from_csv( "codelists/primis-covid19-vacc-uptake-eth2001.csv", system="snomed", column="code", category_column="grouping_16_id", ) ## BMI bmi_codes = codelist_from_csv( "codelists/primis-covid19-vacc-uptake-bmi.csv", system="snomed", column="code", ) ## Diabetes diabetes_codes = codelist_from_csv( "codelists/primis-covid19-vacc-uptake-diab.csv", system="snomed", column="code",
from cohortextractor import Measure, StudyDefinition, codelist_from_csv, patients chronic_liver_disease_codes = codelist_from_csv( "codelists/opensafely-chronic-liver-disease.csv", system="ctv3", column="CTV3ID") study = StudyDefinition( index_date="2020-02-01", default_expectations={ "date": { "earliest": "1900-01-01", "latest": "index_date" }, "rate": "exponential_increase", }, population=patients.registered_with_one_practice_between( "index_date - 1 year", "index_date"), has_chronic_liver_disease=patients.with_these_clinical_events( chronic_liver_disease_codes, returning="binary_flag", return_expectations={ "incidence": 1.0, "date": { "earliest": "1950-01-01", "latest": "index_date" }, }, ), stp=patients.registered_practice_as_of( "index_date",
from cohortextractor import ( codelist, codelist_from_csv, ) # https://codelists.opensafely.org/codelist/opensafely/icd-10-chapter-ix/4868c7af/ cvd_codelist = codelist_from_csv( "codelists/opensafely-icd-10-chapter-ix.csv", system="icd10", column="code", ) # https://codelists.opensafely.org/codelist/opensafely/icd-10-chapter-x/2f59547a/ resp_codelist = codelist_from_csv( "codelists/opensafely-icd-10-chapter-x.csv", system="icd10", column="code", ) # https://codelists.opensafely.org/codelist/opensafely/icd-10-chapter-ii/77d4ee23/ cancer_codelist = codelist_from_csv( "codelists/opensafely-icd-10-chapter-ii.csv", system="icd10", column="code", ) #https://codelists.opensafely.org/codelist/opensafely/ethnicity/2020-04-27/ ethnicity_codes = codelist_from_csv( "codelists/opensafely-ethnicity.csv",
# Risk groups chd_code = codelist("CHD_COV_COD", system="snomed") resp_code = codelist("RESP_COV_COD", system="snomed") ckd_code = codelist("CKD_COV_COD", system="snomed") cld_code = codelist("CLD_COD", system="snomed") diab_code = codelist("DIAB_COD", system="snomed") immdx_code = codelist("IMMDX_COV_COD", system="snomed") cns_code = codelist("CNS_COV_COD", system="snomed") spln_code = codelist("SPLN_COV_COD", system="snomed") obesity_code = codelist("SEV_OBESITY", system="snomed") learndis_code = codelist("LEARNDIS_COD", system="snomed") mental_code = codelist("SEV_MENTAL_COD", system="snomed") clinical_riskgroup_codes = codelist_from_csv( "codelists-local/clinical-riskgroup-disease.csv", system="snomed", column="code", ) all_riskgroup_codes = codelist_from_csv( "codelists-local/all-riskgroup-disease.csv", system="snomed", column="code", ) # Covid shielding shield_code = codelist("SHIELD_COD", system="snomed") # Household member of shielding patient hhld_code = codelist("HHLD_IMDEF", system="snomed")
from cohortextractor import ( StudyDefinition, Measure, patients, codelist, codelist_from_csv, ) chronic_cardiac_disease_codes = codelist_from_csv( "codelists/opensafely-chronic-cardiac-disease.csv", system="ctv3", column="CTV3ID") chronic_liver_disease_codes = codelist_from_csv( "codelists/opensafely-chronic-liver-disease.csv", system="ctv3", column="CTV3ID") salbutamol_codes = codelist_from_csv( "codelists/opensafely-asthma-inhaler-salbutamol-medication.csv", system="snomed", column="id", ) systolic_blood_pressure_codes = codelist(["2469."], system="ctv3") diastolic_blood_pressure_codes = codelist(["246A."], system="ctv3") study = StudyDefinition( index_date="2020-02-01", # Configure the expectations framework default_expectations={ "date": { "earliest": "1900-01-01", "latest": "index_date"
from cohortextractor import codelist, codelist_from_csv codes_antigen_negative = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-antigen-test-negative.csv", system="ctv3", column="CTV3ID", ) codes_exposure_to_disease = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-exposure-to-disease.csv", system="ctv3", column="CTV3ID", ) codes_historic_covid = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-historic-case.csv", system="ctv3", column="CTV3ID", ) codes_potential_historic_covid = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-potential-historic-case.csv", system="ctv3", column="CTV3ID", ) codes_probable_covid = codelist_from_csv( "codelists/opensafely-covid-identification-in-primary-care-probable-covid-clinical-code.csv", system="ctv3", column="CTV3ID", )
## LIBRARIES # cohort extractor from cohortextractor import (StudyDefinition, Measure, patients, codelist_from_csv, codelist, filter_codes_by_category, combine_codelists) ## CODELISTS # All codelist are held within the codelist/ folder. codes_ICD10_covid = codelist_from_csv( "codelists/opensafely-covid-identification.csv", system="icd10", column="icd10_code") ## STUDY POPULATION # Defines both the study population and points to the important covariates index_date = "2020-01-01" end_date = "2020-09-30" study = StudyDefinition( # Configure the expectations framework default_expectations={ "date": { "earliest": index_date, "latest": end_date }, "rate": "uniform", }, index_date=index_date,
## LIBRARIES # cohort extractor from cohortextractor import (StudyDefinition, Measure, patients, codelist_from_csv, codelist, filter_codes_by_category, combine_codelists) ## CODELISTS # All codelist are held within the codelist/ folder. codes_cholesterol = codelist_from_csv( "codelists-local/cholesterol-measurement.csv", system="ctv3", column="id") codes_inr = codelist_from_csv( "codelists-local/international-normalised-ratio-measurement.csv", system="ctv3", column="id") # dictionary of STP codes (for dummy data) from dictionaries import dict_stp ## STUDY POPULATION index_date = "2020-01-01" study = StudyDefinition( # Configure the expectations framework default_expectations={ "date": { "earliest": index_date, "latest": "today" },