Skip to content

Commit 69b7566

Browse files
committed
Make codelist names consistent, and remove repeated codelists.
1 parent 339cdfb commit 69b7566

7 files changed

+38
-41
lines changed

analysis/codelists.py

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,62 +21,59 @@
2121
category_column="term",
2222
)
2323

24-
acute_otitis_media_tx_cod = codelist_from_csv(
24+
acute_otitis_media_tx_codelist = codelist_from_csv(
2525
"codelists/opensafely-pharmacy-first-acute-otitis-media-treatment-dmd.csv",
2626
column="code",
2727
)
2828

29-
impetigo_treatment_tx_cod = codelist_from_csv(
29+
impetigo_treatment_tx_codelist = codelist_from_csv(
3030
"codelists/opensafely-pharmacy-first-impetigo-treatment-dmd.csv",
3131
column="code",
3232
)
3333

34-
infected_insect_bites_tx_cod = codelist_from_csv(
34+
infected_insect_bites_tx_codelist = codelist_from_csv(
3535
"codelists/opensafely-pharmacy-first-infected-insect-bites-treatment-dmd.csv",
3636
column="code",
3737
)
3838

39-
shingles_treatment_tx_cod = codelist_from_csv(
39+
shingles_treatment_tx_codelist = codelist_from_csv(
4040
"codelists/opensafely-pharmacy-first-shingles-treatment-dmd.csv",
4141
column="code",
4242
)
4343

44-
sinusitis_tx_cod = codelist_from_csv(
44+
sinusitis_tx_codelist = codelist_from_csv(
4545
"codelists/opensafely-pharmacy-first-sinusitis-treatment-dmd.csv",
4646
column="code",
4747
)
4848

49-
sore_throat_tx_cod = codelist_from_csv(
49+
sore_throat_tx_codelist = codelist_from_csv(
5050
"codelists/opensafely-pharmacy-first-sore-throat-treatment-dmd.csv",
5151
column="code",
5252
)
5353

54-
urinary_tract_infection_tx_cod = codelist_from_csv(
54+
urinary_tract_infection_tx_codelist = codelist_from_csv(
5555
"codelists/opensafely-pharmacy-first-urinary-tract-infection-treatment-dmd.csv",
5656
column="code",
5757
)
5858

5959
pharmacy_first_med_codelist = (
60-
acute_otitis_media_tx_cod
61-
+ impetigo_treatment_tx_cod
62-
+ infected_insect_bites_tx_cod
63-
+ shingles_treatment_tx_cod
64-
+ sinusitis_tx_cod
65-
+ sore_throat_tx_cod
66-
+ urinary_tract_infection_tx_cod
60+
acute_otitis_media_tx_codelist
61+
+ impetigo_treatment_tx_codelist
62+
+ infected_insect_bites_tx_codelist
63+
+ shingles_treatment_tx_codelist
64+
+ sinusitis_tx_codelist
65+
+ sore_throat_tx_codelist
66+
+ urinary_tract_infection_tx_codelist
6767
)
6868
# Community Pharmacist Consultation Service for minor illness - 1577041000000109
6969
# Pharmacy First service - 983341000000102
7070
# Community Pharmacy First Service - 2129921000000100
71-
pharmacy_first_consultation_codelist = ["1577041000000109", "983341000000102", "2129921000000100"]
72-
73-
# PF codes separated for individual analysis
74-
pharmacy_first_event_codes = {
71+
pharmacy_first_event_codelist = {
7572
# Community Pharmacist (CP) Consultation Service for minor illness (procedure)
76-
"consultation_service": ["1577041000000109"],
73+
"pf_consultation_cp_minorillness": ["1577041000000109"],
7774
# Pharmacy First service (qualifier value)
78-
"pharmacy_first_service": ["983341000000102"],
75+
"pf_consultation_service": ["983341000000102"],
7976
# Community Pharmacy Pharmacy First Service
80-
"community_pharmacy_first_service": ["2129921000000100"],
81-
"combined_pf_service": ["1577041000000109", "983341000000102", "2129921000000100"],
77+
"pf_consultation_cp_service": ["2129921000000100"],
78+
"pf_consultation_services_combined": ["1577041000000109", "983341000000102", "2129921000000100"],
8279
}

analysis/measures_definition_pf_breakdown.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
)
1313

1414
from pf_dataset import get_latest_ethnicity
15-
from codelists import pharmacy_first_event_codes, pharmacy_first_consultation_codelist
15+
from codelists import pharmacy_first_event_codelist
1616
from config import start_date_measure_pf_breakdown, monthly_intervals_measure_pf_breakdown
1717
from pf_variables_library import select_events
1818

@@ -59,7 +59,7 @@
5959
otherwise="Missing",
6060
)
6161

62-
pharmacy_first_ids = select_events(clinical_events, codelist=pharmacy_first_consultation_codelist).consultation_id
62+
pharmacy_first_ids = select_events(clinical_events, codelist=pharmacy_first_event_codelist["pf_consultation_services_combined"]).consultation_id
6363

6464
# # Select clinical events in interval date range
6565
selected_events = select_events(clinical_events, start_date=INTERVAL.start_date, end_date=INTERVAL.end_date).where(
@@ -79,7 +79,7 @@
7979
denominator = registration.exists_for_patient() & patients.sex.is_in(["male", "female"])
8080

8181
# Create measures for pharmacy first services
82-
for pharmacy_first_event, codelist in pharmacy_first_event_codes.items():
82+
for pharmacy_first_event, codelist in pharmacy_first_event_codelist.items():
8383
condition_events = selected_events.where(
8484
selected_events.snomedct_code.is_in(codelist)
8585
)

analysis/measures_definition_pf_condition_provider.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
pharmacy_first_conditions_codes,
99
imd_quintile,
1010
)
11-
from codelists import pharmacy_first_consultation_codelist
11+
from codelists import pharmacy_first_event_codelist
1212
from config import start_date_measure_condition_provider, monthly_intervals_measure_condition_provider
1313
from pf_variables_library import select_events
1414

@@ -23,7 +23,7 @@
2323
selected_events = select_events(clinical_events, start_date=INTERVAL.start_date, end_date=INTERVAL.end_date)
2424

2525
# Create variable which contains boolean values of whether pharmacy first event exists for patient
26-
has_pharmacy_first = select_events(selected_events, codelist=pharmacy_first_consultation_codelist).exists_for_patient()
26+
has_pharmacy_first = select_events(selected_events, codelist=pharmacy_first_event_codelist["pf_consultation_services_combined"]).exists_for_patient()
2727

2828
for condition_name, condition_code in pharmacy_first_conditions_codes.items():
2929
condition_events = selected_events.where(

analysis/measures_definition_pf_consultation_med_counts.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from config import start_date_measure_med_counts, monthly_intervals_measure_med_counts
1010
from codelists import (
11-
pharmacy_first_consultation_codelist,
11+
pharmacy_first_event_codelist,
1212
pharmacy_first_med_codelist,
1313
)
1414
from pf_variables_library import select_events
@@ -29,7 +29,7 @@
2929
start_date=INTERVAL.start_date,
3030
end_date=INTERVAL.end_date).where(
3131
clinical_events.snomedct_code.is_in(
32-
pharmacy_first_consultation_codelist
32+
pharmacy_first_event_codelist["pf_consultation_services_combined"]
3333
)
3434
)
3535

analysis/measures_definition_pf_descriptive_stats.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from pf_variables_library import select_events
66
from codelists import (
77
pharmacy_first_med_codelist,
8-
pharmacy_first_consultation_codelist,
8+
pharmacy_first_event_codelist,
99
pharmacy_first_conditions_codelist,
1010
)
1111
from config import (
@@ -39,7 +39,7 @@
3939
# Select all Pharmacy First consultation events
4040
pf_consultation_events = select_events(
4141
selected_events,
42-
codelist=pharmacy_first_consultation_codelist,
42+
codelist=pharmacy_first_event_codelist["pf_consultation_services_combined"],
4343
)
4444

4545
# Extract Pharmacy First consultation IDs and dates

analysis/measures_definition_pf_medications.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
practice_registrations,
66
)
77
from ehrql.tables.raw.tpp import medications
8-
from codelists import pharmacy_first_consultation_codelist, pharmacy_first_med_codelist
8+
from codelists import pharmacy_first_event_codelist, pharmacy_first_med_codelist
99
from config import start_date_measure_medications, monthly_intervals_measure_medications
1010
from pf_variables_library import select_events
1111

@@ -21,7 +21,7 @@
2121

2222
# Select Pharmacy First consultations during interval date range
2323
pharmacy_first_events = select_events(clinical_events, start_date=INTERVAL.start_date, end_date=INTERVAL.end_date).where(
24-
clinical_events.snomedct_code.is_in(pharmacy_first_consultation_codelist)
24+
clinical_events.snomedct_code.is_in(pharmacy_first_event_codelist["pf_consultation_services_combined"])
2525
)
2626

2727
pharmacy_first_ids = pharmacy_first_events.consultation_id

lib/functions/tidy_measures.R

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Define dictionaries with tidy names and mappings for measures
22
pf_measures_name_dict <- list(
3-
consultation_service = "Consultation Service",
4-
pharmacy_first_service = "Pharmacy First Consultation",
5-
community_pharmacy_first_service = "Community Pharmacy First Service",
6-
combined_pf_service = "Pharmacy First Consultations (Combined)",
3+
pf_consultation_cp_minorillness = "Consultation Service",
4+
pf_consultation_service = "Pharmacy First Consultation",
5+
pf_consultation_cp_service = "Community Pharmacy First Service",
6+
pf_consultation_services_combined = "Pharmacy First Consultations (Combined)",
77
acute_otitis_media = "Acute Otitis Media",
88
herpes_zoster = "Herpes Zoster",
99
acute_sinusitis = "Acute Sinusitis",
@@ -14,10 +14,10 @@ pf_measures_name_dict <- list(
1414
)
1515

1616
pf_measures_name_mapping <- list(
17-
consultation_service = "clinical_service",
18-
pharmacy_first_service = "clinical_service",
19-
community_pharmacy_first_service = "clinical_service",
20-
combined_pf_service = "pharmacy_first_services",
17+
pf_consultation_cp_minorillness = "clinical_service",
18+
pf_consultation_service = "clinical_service",
19+
pf_consultation_cp_service = "clinical_service",
20+
pf_consultation_services_combined = "pharmacy_first_services",
2121
acute_otitis_media = "clinical_condition",
2222
herpes_zoster = "clinical_condition",
2323
acute_sinusitis = "clinical_condition",

0 commit comments

Comments
 (0)