Skip to content

Commit 00a3913

Browse files
committed
Run code formatter tool
1 parent dcb4cc9 commit 00a3913

File tree

2 files changed

+53
-22
lines changed

2 files changed

+53
-22
lines changed

analysis/codelists.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@
1919
"codelists/nhsd-primary-care-domain-refsets-preg_cod.csv",
2020
column="code",
2121
category_column="term",
22-
)
22+
)

analysis/measures_definition_pf_codes_conditions.py

Lines changed: 52 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
addresses,
77
ethnicity_from_sus,
88
)
9-
from codelists import pharmacy_first_conditions_codelist, ethnicity_codelist, pregnancy_codelist
9+
from codelists import (
10+
pharmacy_first_conditions_codelist,
11+
ethnicity_codelist,
12+
pregnancy_codelist,
13+
)
1014

1115
measures = create_measures()
1216
measures.configure_dummy_data(population_size=1000)
@@ -24,7 +28,7 @@
2428
"consultation_service": ["1577041000000109"],
2529
# Pharmacy First service (qualifier value)
2630
"pharmacy_first_service": ["983341000000102"],
27-
"combined_service": ["1577041000000109", "983341000000102"]
31+
"combined_service": ["1577041000000109", "983341000000102"],
2832
}
2933

3034
registration = practice_registrations.for_patient_on(INTERVAL.end_date)
@@ -96,29 +100,37 @@
96100
)
97101

98102
latest_region = case(
99-
when(
100-
registration.practice_nuts1_region_name.is_not_null()
101-
).then(registration.practice_nuts1_region_name),
103+
when(registration.practice_nuts1_region_name.is_not_null()).then(
104+
registration.practice_nuts1_region_name
105+
),
102106
otherwise="Missing",
103107
)
104108

105109
# Create variable which when not null, indicates patient is pregnant
106110
pregnancy_status = (
107111
clinical_events.where(clinical_events.snomedct_code.is_in(pregnancy_codelist))
108-
.where(clinical_events.date.is_on_or_between(INTERVAL.start_date, INTERVAL.end_date))
112+
.where(
113+
clinical_events.date.is_on_or_between(INTERVAL.start_date, INTERVAL.end_date)
114+
)
109115
.sort_by(clinical_events.date)
110116
.last_for_patient()
111117
.date
112118
)
113119

120+
114121
# Create function to count number of diagnosis of a condition, and the length of time window
115122
def condition_history(condition_code, month):
116123
return (
117124
clinical_events.where(clinical_events.snomedct_code.is_in(condition_code))
118-
.where(clinical_events.date.is_on_or_between(INTERVAL.start_date - months(month), INTERVAL.start_date))
125+
.where(
126+
clinical_events.date.is_on_or_between(
127+
INTERVAL.start_date - months(month), INTERVAL.start_date
128+
)
129+
)
119130
.count_for_patient()
120131
)
121132

133+
122134
# Call function to create variables which contain the number of repeated diagnoses
123135
urt_code = ["1090711000000102"]
124136
impetigo_code = ["48277006"]
@@ -175,24 +187,43 @@ def condition_history(condition_code, month):
175187
)
176188

177189
# Create denominator variables for each clinical condition based on NHS England rules using sex, age, pregnancy status and repeated diagnoses
178-
# The following exclusions have not been added: urinary catheter for URT, bullous impetigo, chronic sinusitis and immunosuppressed individuals for acute sinusitis
179-
denominator_uncomplicated_uti = (age>=16) & (age<=64) & (patients.sex.is_in(["female"]) & pregnancy_status.is_null()) | (urt_6m<2) | (urt_12m<3)
180-
denominator_shingles = (age>=18) & pregnancy_status.is_null()
181-
denominator_impetigo = (age>=1) | (pregnancy_status.is_not_null() & (age>=16)) | (impetigo_12m<2)
182-
denominator_infected_insect_bites = (age>=1) | (pregnancy_status.is_not_null() & (age>=16))
183-
denominator_acute_sore_throat = (age>=5) | (pregnancy_status.is_not_null() & (age>=16))
184-
denominator_acute_sinusitis = (age>=12) | (pregnancy_status.is_not_null() & (age>=16))
185-
denominator_acute_otitis_media = (age>=1) & (age<=17) | (pregnancy_status.is_not_null() & (age>=16)) |(acute_otitis_6m<3) | (acute_otitis_12m<4)
190+
# The following exclusions have not been added: urinary catheter for URT, bullous impetigo, chronic sinusitis and immunosuppressed individuals for acute sinusitis
191+
denominator_uncomplicated_uti = (
192+
(age >= 16)
193+
& (age <= 64)
194+
& (patients.sex.is_in(["female"]) & pregnancy_status.is_null())
195+
| (urt_6m < 2)
196+
| (urt_12m < 3)
197+
)
198+
denominator_shingles = (age >= 18) & pregnancy_status.is_null()
199+
denominator_impetigo = (
200+
(age >= 1) | (pregnancy_status.is_not_null() & (age >= 16)) | (impetigo_12m < 2)
201+
)
202+
denominator_infected_insect_bites = (age >= 1) | (
203+
pregnancy_status.is_not_null() & (age >= 16)
204+
)
205+
denominator_acute_sore_throat = (age >= 5) | (
206+
pregnancy_status.is_not_null() & (age >= 16)
207+
)
208+
denominator_acute_sinusitis = (age >= 12) | (
209+
pregnancy_status.is_not_null() & (age >= 16)
210+
)
211+
denominator_acute_otitis_media = (
212+
(age >= 1) & (age <= 17)
213+
| (pregnancy_status.is_not_null() & (age >= 16))
214+
| (acute_otitis_6m < 3)
215+
| (acute_otitis_12m < 4)
216+
)
186217

187218
# Create dictionary for clinical condition denominators
188219
pf_condition_denominators = {
189-
"uncomplicated_urinary_tract_infection" : denominator_uncomplicated_uti,
190-
"herpes_zoster" : denominator_shingles,
191-
"impetigo" : denominator_impetigo,
220+
"uncomplicated_urinary_tract_infection": denominator_uncomplicated_uti,
221+
"herpes_zoster": denominator_shingles,
222+
"impetigo": denominator_impetigo,
192223
"infected_insect_bite": denominator_infected_insect_bites,
193-
"acute_pharyngitis" : denominator_acute_sore_throat,
194-
"acute_sinusitis" : denominator_acute_sinusitis,
195-
"acute_otitis_media" : denominator_acute_otitis_media,
224+
"acute_pharyngitis": denominator_acute_sore_throat,
225+
"acute_sinusitis": denominator_acute_sinusitis,
226+
"acute_otitis_media": denominator_acute_otitis_media,
196227
}
197228

198229
# Create measures for pharmacy first conditions

0 commit comments

Comments
 (0)