Skip to content

Commit

Permalink
Improve defining and loading clinical codes/codelists
Browse files Browse the repository at this point in the history
  • Loading branch information
viv3ckj committed Dec 6, 2024
1 parent d23e050 commit 3e7056e
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 32 deletions.
13 changes: 13 additions & 0 deletions analysis/codelists.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,3 +68,16 @@
# Community Pharmacist Consultation Service for minor illness - 1577041000000109
# Pharmacy First service - 983341000000102
pharmacy_first_consultation_codelist = ["1577041000000109", "983341000000102"]

# PF codes separated for individual analysis
pharmacy_first_event_codes = {
# # Community Pharmacy (CP) Blood Pressure (BP) Check Service (procedure)
# "blood_pressure_service": ["1659111000000107"],
# # Community Pharmacy (CP) Contraception Service (procedure)
# "contraception_service": ["1659121000000101"],
# Community Pharmacist (CP) Consultation Service for minor illness (procedure)
"consultation_service": ["1577041000000109"],
# Pharmacy First service (qualifier value)
"pharmacy_first_service": ["983341000000102"],
"combined_pf_service": ["1577041000000109", "983341000000102"],
}
5 changes: 3 additions & 2 deletions analysis/measures_definition_pf_breakdown.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
ethnicity_codelist,
)

from pf_dataset import pharmacy_first_event_codes, get_latest_ethnicity
from pf_dataset import get_latest_ethnicity
from codelists import pharmacy_first_event_codes, pharmacy_first_consultation_codelist

measures = create_measures()
measures.configure_dummy_data(population_size=1000)
Expand Down Expand Up @@ -58,7 +59,7 @@

pharmacy_first_ids = clinical_events.where(
clinical_events.snomedct_code.is_in(
pharmacy_first_event_codes["combined_pf_service"]
pharmacy_first_consultation_codelist
)
).consultation_id

Expand Down
5 changes: 2 additions & 3 deletions analysis/measures_definition_pf_condition_provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
pharmacy_first_conditions_codes,
imd_quintile,
)
from pf_dataset import pharmacy_first_event_codes

from codelists import pharmacy_first_consultation_codelist

measures = create_measures()
measures.configure_dummy_data(population_size=1000)
Expand All @@ -26,7 +25,7 @@
# Create variable which contains boolean values of whether pharmacy first event exists for patient
has_pharmacy_first = selected_events.where(
selected_events.snomedct_code.is_in(
pharmacy_first_event_codes["combined_pf_service"]
pharmacy_first_consultation_codelist
)
).exists_for_patient()

Expand Down
16 changes: 2 additions & 14 deletions analysis/measures_definition_pf_medications.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,8 @@
practice_registrations,
)
from ehrql.tables.raw.tpp import medications

from pf_dataset import pharmacy_first_event_codes
from codelists import *

pharmacy_first_med_codes = (
acute_otitis_media_tx_cod
+ impetigo_treatment_tx_cod
+ infected_insect_bites_tx_cod
+ shingles_treatment_tx_cod
+ sinusitis_tx_cod
+ sore_throat_tx_cod
+ urinary_tract_infection_tx_cod
)

measures = create_measures()
measures.configure_dummy_data(population_size=1000)
# Turn off during code development, but turn on before running against on the server
Expand All @@ -34,7 +22,7 @@
clinical_events.date.is_on_or_between(INTERVAL.start_date, INTERVAL.end_date)
).where(
clinical_events.snomedct_code.is_in(
pharmacy_first_event_codes["combined_pf_service"]
pharmacy_first_consultation_codelist
)
)

Expand All @@ -53,7 +41,7 @@

# Check if a medication is from our PF codelists
has_pharmacy_first_medication = first_selected_medication.is_in(
pharmacy_first_med_codes
pharmacy_first_med_codelist
)

# Numerator, patients with a PF medication
Expand Down
13 changes: 0 additions & 13 deletions analysis/pf_dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,6 @@

from pf_variables_library import check_pregnancy_status, count_past_events

pharmacy_first_event_codes = {
# # Community Pharmacy (CP) Blood Pressure (BP) Check Service (procedure)
# "blood_pressure_service": ["1659111000000107"],
# # Community Pharmacy (CP) Contraception Service (procedure)
# "contraception_service": ["1659121000000101"],
# Community Pharmacist (CP) Consultation Service for minor illness (procedure)
"consultation_service": ["1577041000000109"],
# Pharmacy First service (qualifier value)
"pharmacy_first_service": ["983341000000102"],
"combined_pf_service": ["1577041000000109", "983341000000102"],
}


# Create denominator variables for each clinical condition
# These are based on NHS England rules using sex, age, pregnancy status and repeated diagnoses
# NOTE: The following exclusions have not been added:
Expand Down

0 comments on commit 3e7056e

Please sign in to comment.