library(tidyverse)
library(survey)
library(ggplot2)
library(plotly)
source("table-builders.R")
acs_data_year = 2024
pus = readRDS(paste0("../../Data/ACS_MEDICAID",acs_data_year,".rds"))
Analysis 1
Outome
Medicaid, Medical Assistance, or any kind of government-assistance
plan for those with low incomes or a disability
Domain of analysis
Children living in the community, with and without
disability, who receive medicaid
t1 <-
tdev3(data = pus,
measure = c("POP","MEDICAID"),
filters = c("POP","AGEP"),
demographic = "POP == 1 &
AGEP <= 17",
strata = "DIS_text",
strataLevels = c("Yes","No"))
#[[1]]
#[[1]][[1]]
# Population without Disabilities
#[[1]][[1]]
# Population with Disabilities
#[[2]]
#[[2]][[1]]
t1
[[1]]
[[1]][[1]]
[[1]][[2]]
[[2]]
[[2]][[1]]
[[2]][[2]]
NANA
Analysis 2
Outome
Medicaid, Medical Assistance, or any kind of government-assistance
plan for those with low incomes or a disability
Domain of analysis
Adults 18-64 living in the community, with and without
disability, who receive medicaid
t2 <-
tdev3(data = pus,
measure = c("POP","MEDICAID"),
filters = c("POP","AGEP"),
demographic = "POP == 1 &
AGEP >= 18 &
AGEP <= 64",
strata = "DIS_text",
strataLevels = c("Yes","No"))
#[[1]]
#[[1]][[1]]
# Population without Disabilities
#[[1]][[1]]
# Population with Disabilities
#[[2]]
#[[2]][[1]]
t2
[[1]]
[[1]][[1]]
[[1]][[2]]
[[2]]
[[2]][[1]]
[[2]][[2]]
NANA
NH Yearly Analysis
pnh <- readRDS(paste0("../../Data/ACS_MEDICAID_NH",2008,".rds"))
names(pnh) <- names(pnh) %>% str_replace("pwgtp","PWGTP")
for (i in 2009:2024) {
print(i)
tmp <- readRDS(paste0("../../Data/ACS_MEDICAID_NH",i,".rds"))
names(tmp) <- names(tmp) %>% str_replace("pwgtp","PWGTP")
pnh <- pnh %>%
rbind(tmp)
}
[1] 2009
[1] 2010
[1] 2011
[1] 2012
[1] 2013
[1] 2014
[1] 2015
[1] 2016
[1] 2017
[1] 2018
[1] 2019
[1] 2020
[1] 2021
[1] 2022
[1] 2023
[1] 2024
pops = data.frame()
for (i in 2009:2024) {
# estimate the pops, prevalence and RR in NH
out = tdev3(data = pnh %>% filter(YEAR == i),
measure = c("POP","MEDICAID"),
filters = c("POP","AGEP"),
demographic = "POP == 1 &
AGEP >= 18 &
AGEP <= 64",
strata = "DIS_text",
strataLevels = c("Yes","No"))
pops = pops %>%
rbind(out[[1]][[1]] %>% mutate(year = i)) %>% rbind(out[[1]][[2]] %>% mutate(year = i))
}
pops <- pops %>% filter(ST_text != "U.S.")
pops
NA
NA
averages <- pops %>%
mutate(expansionstat = ifelse(year <=2014,"Pre-",
ifelse(year > 2014, "Post-",NA)),
se = (MEDICAID_perc - MEDICAID_perc_LCI)/qnorm(0.975)) %>%
group_by(`eval(parse(text = strata))`,expansionstat) %>%
summarise(MEDICAID_perc = mean(MEDICAID_perc),
se = sqrt(sum(se^2)/n()),
upperCI= (MEDICAID_perc + qnorm(0.975)*se) %>% round(1),
lowerCI = (MEDICAID_perc - qnorm(0.975)*se) %>% round(1)) %>%
filter(expansionstat != "") %>%
right_join(pops %>%
mutate(expansionstat = ifelse(year <=2014,"Pre-",
ifelse(year > 2014, "Post-",NA))), by = c("eval(parse(text = strata))","expansionstat"))
averages %>%
arrange(year)
p <- averages %>%
arrange(year) %>%
ggplot(aes(x =year, group = `eval(parse(text = strata))`)) +
geom_ribbon(aes(ymin = lowerCI, ymax = upperCI, fill="steelblue"), alpha = 0.5) +
geom_line(aes(y = MEDICAID_perc.x, color = "steelblue", alpha = 0.1)) +
geom_line(aes(y = MEDICAID_perc.y, color = `eval(parse(text = strata))`)) +
annotate("text", label="Expansion Implementation Date 8/15/2014", x = 2016.666, y = 20) +
geom_vline(xintercept = expansion %>% filter(Location == "New Hampshire") %>% select(ExpansionYear) %>% unlist()) +
scale_x_continuous(breaks = 2008:2024) +
theme(legend.position = "bottom")
ggplotly(p, width = 1100, height = 1100)%>%
plotly::layout(legend=list(x=0,
xanchor='left',
yanchor='bottom',
orientation='h'))
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShzdXJ2ZXkpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHBsb3RseSkNCnNvdXJjZSgidGFibGUtYnVpbGRlcnMuUiIpDQoNCmFjc19kYXRhX3llYXIgPSAyMDI0DQoNCnB1cyA9IHJlYWRSRFMocGFzdGUwKCIuLi8uLi9EYXRhL0FDU19NRURJQ0FJRCIsYWNzX2RhdGFfeWVhciwiLnJkcyIpKQ0KYGBgDQoNCiMgQW5hbHlzaXMgMQ0KDQojIyBTb3VyY2UNCg0KQUNTIDIwMjQNCg0KIyMgT3V0b21lDQoNCk1lZGljYWlkLCBNZWRpY2FsIEFzc2lzdGFuY2UsIG9yIGFueSBraW5kIG9mIGdvdmVybm1lbnQtYXNzaXN0YW5jZSBwbGFuDQpmb3IgdGhvc2Ugd2l0aCBsb3cgaW5jb21lcyBvciBhIGRpc2FiaWxpdHkNCg0KIyMgRG9tYWluIG9mIGFuYWx5c2lzDQoNCioqQ2hpbGRyZW4gbGl2aW5nIGluIHRoZSBjb21tdW5pdHksIHdpdGggYW5kIHdpdGhvdXQgZGlzYWJpbGl0eSwgd2hvIHJlY2VpdmUgbWVkaWNhaWQqKg0KDQpgYGB7cn0NCnQxIDwtIA0KICB0ZGV2MyhkYXRhID0gcHVzLA0KICAgICAgIG1lYXN1cmUgPSBjKCJQT1AiLCJNRURJQ0FJRCIpLA0KICAgICAgIGZpbHRlcnMgPSBjKCJQT1AiLCJBR0VQIiksDQogICAgICAgZGVtb2dyYXBoaWMgPSAiUE9QID09IDEgJiAgIA0KICAgICAgICAgICAgICAgICAgICAgIEFHRVAgPD0gMTciLCANCiAgICAgICBzdHJhdGEgPSAiRElTX3RleHQiLA0KICAgICAgIHN0cmF0YUxldmVscyA9IGMoIlllcyIsIk5vIikpDQoNCiNbWzFdXQ0KI1tbMV1dW1sxXV0NCg0KIyBQb3B1bGF0aW9uIHdpdGhvdXQgRGlzYWJpbGl0aWVzDQoNCiNbWzFdXVtbMV1dDQoNCiMgUG9wdWxhdGlvbiB3aXRoIERpc2FiaWxpdGllcw0KDQojW1syXV0NCiNbWzJdXVtbMV1dDQoNCnQxDQpgYGANCg0KIyBBbmFseXNpcyAyDQoNCiMjIFNvdXJjZQ0KDQpBQ1MgMjAyNA0KDQojIyBPdXRvbWUNCg0KTWVkaWNhaWQsIE1lZGljYWwgQXNzaXN0YW5jZSwgb3IgYW55IGtpbmQgb2YgZ292ZXJubWVudC1hc3Npc3RhbmNlIHBsYW4NCmZvciB0aG9zZSB3aXRoIGxvdyBpbmNvbWVzIG9yIGEgZGlzYWJpbGl0eQ0KDQojIyBEb21haW4gb2YgYW5hbHlzaXMNCg0KKipBZHVsdHMgMTgtNjQgbGl2aW5nIGluIHRoZSBjb21tdW5pdHksIHdpdGggYW5kIHdpdGhvdXQgZGlzYWJpbGl0eSwgd2hvIHJlY2VpdmUgbWVkaWNhaWQqKg0KDQpgYGB7cn0NCnQyIDwtIA0KICB0ZGV2MyhkYXRhID0gcHVzLA0KICAgICAgIG1lYXN1cmUgPSBjKCJQT1AiLCJNRURJQ0FJRCIpLA0KICAgICAgIGZpbHRlcnMgPSBjKCJQT1AiLCJBR0VQIiksDQogICAgICAgZGVtb2dyYXBoaWMgPSAiUE9QID09IDEgJiAgIA0KICAgICAgICAgICAgICAgICAgICAgIEFHRVAgPj0gMTggJg0KICAgICAgICAgICAgICAgICAgICAgIEFHRVAgPD0gNjQiLCANCiAgICAgICBzdHJhdGEgPSAiRElTX3RleHQiLA0KICAgICAgIHN0cmF0YUxldmVscyA9IGMoIlllcyIsIk5vIikpDQoNCg0KI1tbMV1dDQojW1sxXV1bWzFdXQ0KDQojIFBvcHVsYXRpb24gd2l0aG91dCBEaXNhYmlsaXRpZXMNCg0KI1tbMV1dW1sxXV0NCg0KIyBQb3B1bGF0aW9uIHdpdGggRGlzYWJpbGl0aWVzDQoNCiNbWzJdXQ0KI1tbMl1dW1sxXV0NCg0KdDINCg0KYGBgDQoNCiMgTWVkaWNhaWQgRXhwYW5zaW9uIFN0YXRlcw0KDQpTb3VyY2U6IGh0dHBzOi8vd3d3LmtmZi5vcmcvYWZmb3JkYWJsZS1jYXJlLWFjdC9zdGF0ZS1pbmRpY2F0b3Ivc3RhdGUtYWN0aXZpdHktYXJvdW5kLWV4cGFuZGluZy1tZWRpY2FpZC11bmRlci10aGUtYWZmb3JkYWJsZS1jYXJlLWFjdC8/Y3VycmVudFRpbWVmcmFtZT0wJnNvcnRNb2RlbD0lN0IlMjJjb2xJZCUyMjolMjJMb2NhdGlvbiUyMiwlMjJzb3J0JTIyOiUyMmFzYyUyMiU3RA0KDQpgYGB7cn0NCmV4cGFuc2lvbiA9IHJlYWQuY3N2KCIuLi8uLi9EYXRhL01lZGljYWlkIEV4cGFuc2lvbiBTdGF0ZXMvcmF3X2RhdGEuY3N2IikgJT4lIA0KICBmaWx0ZXIoIVN0YXR1cy5vZi5NZWRpY2FpZC5FeHBhbnNpb24uRGVjaXNpb249PSIiKQ0KDQpleHBhbnNpb24gPC0gZXhwYW5zaW9uICU+JQ0KICBtdXRhdGUoRXhwYW5zaW9uWWVhciA9IGlmZWxzZShpcy5uYSh5ZWFyKGFzLkRhdGUoZXhwYW5zaW9uJEV4cGFuc2lvbi5JbXBsZW1lbnRhdGlvbi5EYXRlLCBmb3JtYXQgPSAiJW0vJWQvJVkiKSkpLDk5OTkseWVhcihhcy5EYXRlKGV4cGFuc2lvbiRFeHBhbnNpb24uSW1wbGVtZW50YXRpb24uRGF0ZSwgZm9ybWF0ID0gIiVtLyVkLyVZIikpKSkgJT4lDQogIHNlbGVjdChMb2NhdGlvbixFeHBhbnNpb25ZZWFyKQ0KDQpleHBhbnNpb24NCmBgYA0KDQojIE5IIFllYXJseSBBbmFseXNpcw0KDQpgYGB7cn0NCnBuaCA8LSByZWFkUkRTKHBhc3RlMCgiLi4vLi4vRGF0YS9BQ1NfTUVESUNBSURfTkgiLDIwMDgsIi5yZHMiKSkNCg0KbmFtZXMocG5oKSA8LSBuYW1lcyhwbmgpICU+JSBzdHJfcmVwbGFjZSgicHdndHAiLCJQV0dUUCIpDQoNCmZvciAoaSBpbiAyMDA5OjIwMjQpIHsNCiAgcHJpbnQoaSkNCiAgdG1wIDwtIHJlYWRSRFMocGFzdGUwKCIuLi8uLi9EYXRhL0FDU19NRURJQ0FJRF9OSCIsaSwiLnJkcyIpKQ0KICBuYW1lcyh0bXApIDwtIG5hbWVzKHRtcCkgJT4lIHN0cl9yZXBsYWNlKCJwd2d0cCIsIlBXR1RQIikNCiAgcG5oIDwtIHBuaCAlPiUgDQogICAgcmJpbmQodG1wKQ0KfQ0KYGBgDQoNCmBgYHtyfQ0KcG9wcyA9IGRhdGEuZnJhbWUoKQ0KDQpmb3IgKGkgaW4gMjAwOToyMDI0KSB7DQogICMgZXN0aW1hdGUgdGhlIHBvcHMsIHByZXZhbGVuY2UgYW5kIFJSIGluIE5IDQogIG91dCA9IHRkZXYzKGRhdGEgPSBwbmggJT4lIGZpbHRlcihZRUFSID09IGkpLA0KICAgICAgIG1lYXN1cmUgPSBjKCJQT1AiLCJNRURJQ0FJRCIpLA0KICAgICAgIGZpbHRlcnMgPSBjKCJQT1AiLCJBR0VQIiksDQogICAgICAgZGVtb2dyYXBoaWMgPSAiUE9QID09IDEgJiAgIA0KICAgICAgICAgICAgICAgICAgICAgIEFHRVAgPj0gMTggJg0KICAgICAgICAgICAgICAgICAgICAgIEFHRVAgPD0gNjQiLCANCiAgICAgICBzdHJhdGEgPSAiRElTX3RleHQiLA0KICAgICAgIHN0cmF0YUxldmVscyA9IGMoIlllcyIsIk5vIikpDQogIHBvcHMgPSBwb3BzICU+JSANCiAgICByYmluZChvdXRbWzFdXVtbMV1dICU+JSBtdXRhdGUoeWVhciA9IGkpKSAlPiUgcmJpbmQob3V0W1sxXV1bWzJdXSAlPiUgbXV0YXRlKHllYXIgPSBpKSkNCn0NCg0KcG9wcyA8LSBwb3BzICU+JSBmaWx0ZXIoU1RfdGV4dCAhPSAiVS5TLiIpDQoNCnBvcHMNCg0KDQpgYGANCg0KYGBge3J9DQphdmVyYWdlcyA8LSBwb3BzICU+JQ0KICBtdXRhdGUoZXhwYW5zaW9uc3RhdCA9IGlmZWxzZSh5ZWFyIDw9MjAxNCwiUHJlLSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHllYXIgPiAyMDE0LCAiUG9zdC0iLE5BKSksDQogICAgICAgICBzZSA9IChNRURJQ0FJRF9wZXJjIC0gTUVESUNBSURfcGVyY19MQ0kpL3Fub3JtKDAuOTc1KSkgJT4lDQogIGdyb3VwX2J5KGBldmFsKHBhcnNlKHRleHQgPSBzdHJhdGEpKWAsZXhwYW5zaW9uc3RhdCkgJT4lDQogIHN1bW1hcmlzZShNRURJQ0FJRF9wZXJjID0gbWVhbihNRURJQ0FJRF9wZXJjKSwNCiAgICAgICAgICAgIHNlID0gc3FydChzdW0oc2VeMikvbigpKSwNCiAgICAgICAgICAgIHVwcGVyQ0k9IChNRURJQ0FJRF9wZXJjICsgcW5vcm0oMC45NzUpKnNlKSAlPiUgcm91bmQoMSksDQogICAgICAgICAgICBsb3dlckNJID0gKE1FRElDQUlEX3BlcmMgLSBxbm9ybSgwLjk3NSkqc2UpICU+JSByb3VuZCgxKSkgJT4lDQogIGZpbHRlcihleHBhbnNpb25zdGF0ICE9ICIiKSAlPiUNCiAgcmlnaHRfam9pbihwb3BzICU+JQ0KICBtdXRhdGUoZXhwYW5zaW9uc3RhdCA9IGlmZWxzZSh5ZWFyIDw9MjAxNCwiUHJlLSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKHllYXIgPiAyMDE0LCAiUG9zdC0iLE5BKSkpLCBieSA9IGMoImV2YWwocGFyc2UodGV4dCA9IHN0cmF0YSkpIiwiZXhwYW5zaW9uc3RhdCIpKQ0KICANCg0KYXZlcmFnZXMgJT4lIA0KICBhcnJhbmdlKHllYXIpIA0KYGBgDQoNCg0KYGBge3Igb3V0LndpZHRoPSIxMDAlIn0NCnAgPC0gYXZlcmFnZXMgJT4lIA0KICBhcnJhbmdlKHllYXIpICU+JQ0KICBnZ3Bsb3QoYWVzKHggPXllYXIsIGdyb3VwID0gYGV2YWwocGFyc2UodGV4dCA9IHN0cmF0YSkpYCkpICsgDQogIGdlb21fcmliYm9uKGFlcyh5bWluID0gbG93ZXJDSSwgeW1heCA9IHVwcGVyQ0ksIGZpbGw9InN0ZWVsYmx1ZSIpLCBhbHBoYSA9IDAuNSkgKyANCiAgZ2VvbV9saW5lKGFlcyh5ID0gTUVESUNBSURfcGVyYy54LCBjb2xvciA9ICJzdGVlbGJsdWUiLCBhbHBoYSA9IDAuMSkpICsNCiAgZ2VvbV9saW5lKGFlcyh5ID0gTUVESUNBSURfcGVyYy55LCBjb2xvciA9IGBldmFsKHBhcnNlKHRleHQgPSBzdHJhdGEpKWApKSArDQogIGFubm90YXRlKCJ0ZXh0IiwgbGFiZWw9IkV4cGFuc2lvbiBJbXBsZW1lbnRhdGlvbiBEYXRlIDgvMTUvMjAxNCIsIHggPSAyMDE2LjY2NiwgeSA9IDIwKSArIA0KICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSBleHBhbnNpb24gJT4lIGZpbHRlcihMb2NhdGlvbiA9PSAiTmV3IEhhbXBzaGlyZSIpICU+JSBzZWxlY3QoRXhwYW5zaW9uWWVhcikgJT4lIHVubGlzdCgpKSArIA0KICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gMjAwODoyMDI0KSArIA0KICB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikNCg0KZ2dwbG90bHkocCwgd2lkdGggPSAxMTAwLCBoZWlnaHQgPSAxMTAwKSU+JQ0KICAgICAgcGxvdGx5OjpsYXlvdXQobGVnZW5kPWxpc3QoeD0wLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhhbmNob3I9J2xlZnQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWFuY2hvcj0nYm90dG9tJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWVudGF0aW9uPSdoJykpICAgIA0KYGBgDQoNCg0K