Naloxone/Overdose Incidents in Butte County

This is an analysis of Overdose-incidents in which Naloxone was used, in 2019 and 2020. There were 249 incidents in Butte County, spread over 16 zip codes. Category has 3 levels, Prescribed Intentional, Prescribed Unintentional, and Illicit/Street which are summarized as PI, PU and IS; other columns such as address have been omitted.

Incident.Date Incident.Id Incident.City Zip State County Category Age Gender Admin day wday.n wday week month month.n year day.type
2019-01-02 303 Chico 95926 CA Butte IS 45 Female Chico FD 2 4 Wed 1 Jan 1 2019 Weekday
2019-01-04 483 Chico 95926 CA Butte PU 74 Female 4 6 Fri 1 Jan 1 2019 Weekend
2019-01-05 696 Oroville 95966 CA Butte PU 60 Female 5 7 Sat 1 Jan 1 2019 Weekend
2019-01-09 1328 Oroville 95966 CA Butte PU 66 Male 9 4 Wed 2 Jan 1 2019 Weekday
2019-01-12 1839 Chico 95926 CA Butte IS 25 Male Chico PD 12 7 Sat 2 Jan 1 2019 Weekend
2019-01-12 1841 Chico 95926 CA Butte IS 20 Female Chico PD 12 7 Sat 2 Jan 1 2019 Weekend

Here are some summary properties of the different columns in the data set.

naloxone.data %>% select(-c(Incident.Date, Incident.City, Incident.Id, State, County, Incident.Address, Primary.Impression, Transport.Destination, Transport.Agency, month.n, wday.n, day, week))

9 Variables   249 Observations

Zip
image
nmissingdistinct
249016
lowest :95914 95916 95917 95926 95928
highest:95965 95965-740395966 95969 95973
95914 (1, 0.004), 95916 (5, 0.020), 95917 (2, 0.008), 95926 (47, 0.189), 95928 (43, 0.173), 95928-6314 (1, 0.004), 95938 (1, 0.004), 95941 (1, 0.004), 95942 (1, 0.004), 95948 (7, 0.028), 95954 (11, 0.044), 95965 (42, 0.169), 95965-7403 (1, 0.004), 95966 (65, 0.261), 95969 (1, 0.004), 95973 (20, 0.080)
Category
image
nmissingdistinct
24903
 Value         IS    PI    PU
 Frequency    186     9    54
 Proportion 0.747 0.036 0.217
 

Age
image
nmissingdistinctInfoMeanGmd.05.10.25.50.75.90.95
249063143.6919.5720.023.031.040.058.068.073.6
lowest : 13 14 16 17 18 , highest: 77 79 81 82 91
Gender
nmissingdistinct
24902
 Value      Female   Male
 Frequency      97    152
 Proportion   0.39   0.61
 

Admin
image
nmissingdistinct
24909
lowest : BCFD BCSO Butte County FDButte SO
highest:Butte SO Chico FD Chico PD Oroville FD Oroville PD
 Value                                 BCFD            BCSO Butte County FD
 Frequency              183               5               6              13
 Proportion           0.735           0.020           0.024           0.052
                                                                           
 Value             Butte SO        Chico FD        Chico PD     Oroville FD
 Frequency                2              16              16               3
 Proportion           0.008           0.064           0.064           0.012
                           
 Value          Oroville PD
 Frequency                5
 Proportion           0.020
 

wday
image
nmissingdistinct
24907
lowest : Sun Mon Tue Wed Thu , highest: Tue Wed Thu Fri Sat
 Value       Sun  Mon  Tue  Wed  Thu  Fri  Sat
 Frequency    28   35   34   36   34   38   44
 Proportion 0.11 0.14 0.14 0.14 0.14 0.15 0.18
 

month
image
nmissingdistinct
249012
lowest : Jan Feb Mar Apr May , highest: Aug Sep Oct Nov Dec
 Value        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov   Dec
 Frequency     30    13    19    26    22    27    26    19    15    18    12    22
 Proportion 0.120 0.052 0.076 0.104 0.088 0.108 0.104 0.076 0.060 0.072 0.048 0.088
 

year
nmissingdistinct
24902
 Value      2019 2020
 Frequency   117  132
 Proportion 0.47 0.53
 

day.type
nmissingdistinct
24902
 Value      Weekday Weekend
 Frequency      139     110
 Proportion    0.56    0.44
 

Variation in Incidents over Time (Month and Year)

Let’s see whether there is any variation between 2019 and 2020. We’ll look at the counts by week and by month.

There appears to be a general trend towards higher cases in 2020. And there doesn’t seem to be any particular “month” effect.

Covid effect?

A quick look to see if the period from April to July (roughly the first set of lockdowns and wave) had a noticeable effect on rate of incidents.

Be cautious though. We don’t really know if this is indeed an “effect” – may be this pattern occurs every year. Or perhaps it occurred due to other reasons than covid. We can also examine this by Zip code for those zips that have at least a few (10) cases during the year.

Variation by Gender

How about the overall number of incidents by gender?

year 2019 2019 2019 2019 2019 2019 2019 2019 2019 2019 2019 2019 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020
month Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Female 9 1 2 4 3 5 4 4 4 4 2 5 3 3 6 1 5 9 7 0 5 4 2 5
Male 10 2 9 9 5 7 6 8 3 2 3 6 8 7 2 12 9 6 9 7 3 8 5 6

We see that there are more Male cases than Female cases. The difference in proportions is statistically significant. It would be useful to cross-check against the County population breakup by Gender.

## 
## Female   Male 
##     97    152
## 
##  1-sample proportions test without continuity correction
## 
## data:  gender.num[1] out of sum(gender.num), null probability 0.5
## X-squared = 12, df = 1, p-value = 5e-04
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.33 0.45
## sample estimates:
##    p 
## 0.39

With a few exceptions this trend holds across all months.

The picture is a bit messy because both Gender and Year are varying, so let’s look at the data across all two years as 24 months.

Variation by Category (PI, PU, IS)

year 2019 2019 2019 2019 2019 2019 2019 2019 2019 2019 2019 2019 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020
month Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
IS 14 1 11 8 6 6 8 8 4 5 3 8 7 6 4 11 12 10 13 7 8 10 7 9
PI 1 1 0 0 0 1 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0
PU 4 1 0 5 2 5 2 3 3 1 1 3 4 4 3 1 1 4 3 0 0 2 0 2

We see that these incidents predominantly involve illicit/street usage behavior, not prescription based. That doesn’t mean of course that prescriptions (or increased use of prescriptions) is not to blame – because it is possible that substances are being passed around from prescribed users to others. But that is a different issue.

Let’s visualize this behavior across the two years of data.

Age

Age by Gender

There seems to be a bit of an age pattern here, overdoses involving Females skew towards a higher Age range than overdoses involving Males. Another way to state this is that they involve more younger Males than younger Females.

month Jan Jan Feb Feb Mar Mar Apr Apr May May Jun Jun Jul Jul Aug Aug Sep Sep Oct Oct Nov Nov Dec Dec
year 2019 2020 2019 2020 2019 2020 2019 2020 2019 2020 2019 2020 2019 2020 2019 2020 2019 2020 2019 2020 2019 2020 2019 2020
Female 47 76 62 58 40 60 43 22 47 54 53 44 44 52 62 NA 38 52 58 42 65 40 50 43
Male 31 38 47 31 41 51 55 35 43 37 51 41 36 43 50 40 41 21 30 37 43 36 35 33

In fact since “time” is not a key factor of interest here, there is little value in displaying age against time. Instead the age differential by gender can better be examined as a box plot or a density plot of the age distribution.

This makes it even clearer that the Age range for Males affected by Overdose is well below that for Females. The trend persists by year.

Age by Gender and Year

Age by Gender and Zip

Let’s look for this gender-age trend even closer, for each of the zip codes.

Again, the general trend is visible here, with the age range skewing far lower for Males. In order to reduce clutter, let’s focus on just the zips with at least a few cases.

Age by Gender and Category

Category Gender n mean.Age
IS Female 51 40
IS Male 116 37
PI Female 6 57
PI Male 3 47
PU Female 34 65
PU Male 18 57

Another thing that becomes clear here is that Age skews well lower in Overdoses involving illicit use, and predominantly features Males, and Age range is highest in cases involving Unintentional and prescribed usage, and predominantly features Females.

Cases and Cumulative Cases

The data set lists each incident – by Date – which has additional attributes (Gender, Zip, ALOC, Address etc.). Since the data is by Date, for two years, it might be useful to have a cumulative sum … for example grouped by Zip.

YearWeek Zip Category n year week meanAge cum.cases
2019-01 95926 IS 1 2019 01 45 1
2019-01 95926 PU 1 2019 01 74 1
2019-01 95966 PU 1 2019 01 60 1
2019-02 95926 IS 8 2019 02 23 9
2019-02 95926 IS 8 2019 02 23 17
2019-02 95926 IS 8 2019 02 23 25

Appendix

Age by Gender

## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  Age by Gender
## W = 9886, p-value = 6e-06
## alternative hypothesis: true location shift is not equal to 0
## 
##  Welch Two Sample t-test
## 
## data:  Age by Gender
## t = 5, df = 179, p-value = 4e-06
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##   6.2 14.9
## sample estimates:
## mean in group Female   mean in group Male 
##                   50                   40
estimate estimate1 estimate2 .y. group1 group2 n1 n2 statistic p df conf.low conf.high method alternative
11 50 40 Age Female Male 97 152 4.8 0 179 6.2 15 T-test two.sided
## 
##  Two-sample Kolmogorov-Smirnov test
## 
## data:  naloxone.data %>% filter(Gender == "Female") %>% pull(Age) and naloxone.data %>% filter(Gender == "Male") %>% pull(Age)
## D = 0.3, p-value = 1e-05
## alternative hypothesis: two-sided

Age by Category

## Call:
##    aov(formula = Age ~ Category, data = naloxone.data)
## 
## Terms:
##                 Category Residuals
## Sum of Squares     24640     48524
## Deg. of Freedom        2       246
## 
## Residual standard error: 14
## Estimated effects may be unbalanced
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Age ~ Category, data = naloxone.data)
## 
## $Category
##       diff  lwr upr p adj
## PI-IS 15.7  4.4  27  0.00
## PU-IS 23.8 18.7  29  0.00
## PU-PI  8.1 -3.8  20  0.25

Data Description

Data summary
Name %>%(…)
Number of rows 249
Number of columns 9
_______________________
Column type frequency:
factor 8
numeric 1
________________________
Group variables None

Variable type: factor

skim_variable n_missing complete_rate ordered n_unique top_counts
Zip 0 1 FALSE 16 959: 65, 959: 47, 959: 43, 959: 42
Category 0 1 FALSE 3 IS: 186, PU: 54, PI: 9
Gender 0 1 FALSE 2 Mal: 152, Fem: 97
Admin 0 1 FALSE 9 emp: 183, Chi: 16, Chi: 16, But: 13
wday 0 1 TRUE 7 Sat: 44, Fri: 38, Wed: 36, Mon: 35
month 0 1 TRUE 12 Jan: 30, Jun: 27, Apr: 26, Jul: 26
year 0 1 FALSE 2 202: 132, 201: 117
day.type 0 1 FALSE 2 Wee: 139, Wee: 110

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
Age 0 1 44 17 13 31 40 58 91 ▅▇▃▅▁