The (Older) Kids and their Parents are not All Right

Someone commented that the graphic of the age distribution of opioid overdoses I borrowed from Slate (and came originally from “Withdrawal.net”) in the first of these series of posts looked like nonsense, which was a fair comment (no distribution is that symmetrical, not even test scores.)

Opiates

I don’t have data on individual drugs, but judging from the CDC’s overall mortality data, this graphic is indeed wrong. Lethal overdoses have been increasing for all groups, with the fastest increases for 25-34 year olds and 45-54 year olds, and slower increases for older teens and young adults:

ageovertime

Where in 1999 the distribution of fatal overdoses was pretty symmetrical around the late 30s, early 40s, now it’s more spread out, even as all age groups have seen increases:

agehistogramsovertime

 

If we divide states into Medicaid expansion and holdout states, as previously, we can see that the biggest difference appears to be in the 25-54 cohorts, with overdose rates accelerating in Medicaid expansion states and stabilizing somewhat in holdout states.

ageovertimemedstatus

This is in consonance with an idea that these states have made a concerted push to reduce the ranks of the uninsured, culminating in the full roll-out of Obamacare’s Medicaid expansion and exchanges in 2014 and 2015: these ages include the cohorts whose insurance rates have increased the most.  However, it would make it seem less likely that the “under-26” provision of the Affordable Care Act was a key element of this acceleration (as I suggested earlier and as Ross Douthat cited as a possibility in his NYTimes column today.)

On the other hand, if we normalize overdose rates by age cohort to their 2010 mean, suddenly the 2014 date of full ACA implementation looks quite striking for the two younger cohorts (15-24 and 25-34) in the full ACA implementation states:

ageovertimemedstatusrecent

Data is here. foragestructuregraphs

Stata do file below:

clear all
set more off
insheet using agestructure.txt, clear
save agestructure, replace
gen odage = tenyearagegroups
drop if odage==””|odage==”Not Stated”|odage==”< 1 year”|odage==”85+ years”|odage==”75-84 years”|odage==”5-14 years”|odage==”1-4 years”
gen ODAge = regexs(1) if regexm(odage,”(.+) “)

collapse (sum)deaths, by(year ODAge)
twoway (line deaths year if ODAge==”15-24″)(line deaths year if ODAge==”25-34″)(line deaths year if ODAge==”35-44″)(line deaths year if ODAge==”45-54″)(line deaths year if ODAge==”55-64″)(line deaths year if ODAge==”65-74″), legend(label(1 “15-24”) label(2 “25-34”) label(3 “35-44”) label(4 “45-54”) label(5 “55-64”) label(6 “65-75”)) title(Total National Drug-Related Deaths) subtitle(by Age Group) ytitle(Total national deaths)
graph save ageovertime, replace
graph export ageovertime.png,width(1200) replace

graph bar (firstnm) deaths, over(ODAge, label(angle(forty_five))) ylabel(, labsize(small) angle(horizontal)) by(year) ytitle(Drug-related Deaths by Age and Year)
graph save agehistogramsovertime, replace
graph export agehistogramsovertime.png, width(1200) replace

clear all
set more off
insheet using drugsbyyearandage.txt, clear
save drugsbyyearandage, replace
gen odage = tenyearagegroups
drop if odage==””|odage==”Not Stated”|odage==”< 1 year”|odage==”85+ years”|odage==”75-84 years”|odage==”5-14 years”|odage==”1-4 years”
gen ODAge = regexs(1) if regexm(odage,”(.+) “)
save odyearstate, replace
*Get the list of Medicaid holdouts
insheet using medicaidholdouts2.txt, clear
ren v1 state
save medicaidholdouts2.dta, replace
use medicaidholdouts2, clear
merge 1:m state using odyearstate
recode _merge 2=1 3=0
gen medicaidexpansion=_merge
gen medstatus=”Holdouts”
replace medstatus=”Medicaid Expansion” if medicaidexpansion==1
save odstateyear, replace
gen rate=deaths/population

collapse (mean)rate, by(year ODAge medstatus medicaidexpansion)
replace rate=rate*100000
twoway (line rate year if ODAge==”15-24″)(line rate year if ODAge==”25-34″)(line rate year if ODAge==”35-44″)(line rate year if ODAge==”45-54″)(line rate year if ODAge==”55-64″)(line rate year if ODAge==”65-74″), legend(label(1 “15-24”) label(2 “25-34”) label(3 “35-44”) label(4 “45-54”) label(5 “55-64”) label(6 “65-75”)) title(Mean State Drug-Related Death Rate, size(medium)) subtitle(by Age Group) ytitle(Drug-related death rate per 100000, size(medium)) by(medstatus)
graph save ageovertimemedstatus, replace
graph export ageovertimemedstatus.png,width(1200) replace
drop if year<2010
local ages 15-24 25-34 35-44 45-54 55-64 65-74
generate rate_index=.

foreach a of local ages {
forvalues n=0/1 {
summarize rate if year == 2010&ODAge==”`a'”
replace rate_index = 100 * rate / r(mean) if ODAge==”`a'”&medicaidexpansion==`n’
di “Year: `a'”
}
}

drop if ODAge==”65-74″
twoway (line rate_index year if ODAge==”15-24″)(line rate_index year if ODAge==”25-34″)(line rate_index year if ODAge==”35-44″)(line rate_index year if ODAge==”45-54″)(line rate_index year if ODAge==”55-64″)(line rate year if ODAge==”65-74″), legend(label(1 “15-24”) label(2 “25-34”) label(3 “35-44”) label(4 “45-54”) label(5 “55-64”)) title(“Mean State Drug-Related Death Rate” “Normalized to 2010”, size(medium)) subtitle(by Age Group) xline (2014) ytitle(Drug-related death rate per 100000, size(medium)) by(medstatus)
graph save ageovertimemedstatusrecent, replace
graph export ageovertimemedstatusrecent.png,width(1200) replace

 

7 thoughts on “The (Older) Kids and their Parents are not All Right

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s