*** Medicaid Under-reporting in the *** Current Population Survey and *** One Approach for a Partial Correction * October 2007 * Updated November 2008 - see model2 variable creation ** Combine 2005 and 2006 CPS use "P:\CPS Stata files\cpsmar06.dta", clear append using "P:\CPS Stata files\cpsmar05.dta" save "C:\CPS\cps05_06.dta" **** Generate CPS weights gen geocode=. replace geocode=gtcbsa if gtcbsa>0 replace geocode = (gestfips*100000) if geocode==. svyset [w=marsupwt], psu (h_seq) strata (geocode) ** Health insurance recode ** first designate which model individuals are in ** In model2 if state medicaid (or imputed or edited to medicaid), else in model1 gen model2 = . # d; replace model2 = 1 if caid == 1 | othstyp1 == 2|othstyp2 == 2|othstyp3 ==2|othstyp4 == 2 |othstyp5 == 2|othstyp6 == 2 |ahityp1 == 2|ahityp2 ==2|ahityp3 ==2|ahityp4 == 2 |ahityp5 ==2|ahityp6 ==2; # d cr replace model2 = 0 if model2 == . gen model1 = . replace model1 = 1 if model2 == 0 replace model1 = 0 if model2 == 1 gen caidplus = model2 label var caidplus "caid and othstyp and ahityp" ************************************************* ***** ***** ***** INSURANCE STATUS VARIABLES ***** ***** ***** ************************************************* gen insurance = . replace insurance = 1 if mcaid == 2 & mcare == 2 & cov_hi == 2 & champ == 2 replace insurance = 2 if (mcare == 1 | (mcaid == 1 & caidplus == 0)) & (cov_hi == 2 & champ == 2) replace insurance = 3 if (cov_hi == 1 | champ == 1) & (mcaid == 2 & mcare == 2) replace insurance = 4 if caidplus == 1 & (champ == 2 & cov_hi == 2 & insurance != 2) replace insurance = 5 if insurance == . label define insurance 1 "uninsured" 2 "public_nocaid" 3 "private_only" 4 "medicaid_only" 5 "public_private" label values insurance insurance tab insurance, gen(ins) rename ins1 uninsured rename ins2 public_nocaid rename ins3 private_only rename ins4 medicaid_only rename ins5 public_private *************************************************************** /* DUMMY VARIABLE FOR MEDICAID IMPUTATION STATUS THE VARIABLE "i-caid" IMPUTATION FLAG HAS THREE VALUES: 0 - NO 1 - ALLOCATED 2 - LOGICAL IMPUTED */ *************************************************************** tab i_caid, gen(medicaid_flag) rename medicaid_flag1 medicaid_explicit rename medicaid_flag2 medicaid_imputed rename medicaid_flag3 medicaid_edited *** Add additional code for imputed from fl_665, othstyp, or ahityp replace medicaid_imputed = 1 if (fl_665== 2|fl_665 == 3) | i_oth == 1 | iahityp == 1 replace medicaid_edited = 0 if medicaid_imputed == 1 replace medicaid_explicit = 0 if medicaid_imputed == 1 ******************** /* RACE VARIABLES */ ******************** * make as consistent with earlier years as possible - hisp, white only, then any american indian, any black, and any asian * the non-identified multiple races are assigned the modal category - white gen race = . replace race = 1 if pehsp == 1 replace race = 2 if (prdtrace == 1|prdtrace == 20|prdtrace == 21) & race == . replace race = 3 if (prdtrace == 3|prdtrace == 7|prdtrace == 10 |prdtrace== 13|prdtrace == 15|prdtrace == 17|prdtrace == 19) & race == . replace race = 4 if (prdtrace == 2|prdtrace == 6|prdtrace == 11 |prdtrace == 12|prdtrace == 16) & race == . replace race = 5 if (prdtrace == 4 | prdtrace==5|prdtrace == 8 | prdtrace==9|prdtrace == 14|prdtrace == 18) & race == . #d ; label define race 3 "American Indian" 4 "Black" 5 "Asian/Pacific Islander" 2 "White Only" 1 "Hispanic", modify ; #d cr label values race race tab race, gen(race_cat) rename race_cat1 phispanic rename race_cat2 pwhite rename race_cat3 pai rename race_cat4 pblack rename race_cat5 papi ******************************** /* GENDER INDICATOR VARIABLE */ ******************************** gen male = . replace male = 1 if a_sex == 1 replace male = 0 if a_sex == 2 label define male 1 "Male" 0 "Female" label val male male ******************** /* AGE CATEGORIES */ ******************** gen age_cat = . replace age_cat = 1 if a_age < 6 replace age_cat = 2 if a_age >= 6 & a_age < 15 replace age_cat = 3 if a_age >= 15 & a_age < 18 replace age_cat = 4 if a_age >= 18 & a_age < 45 replace age_cat = 5 if a_age >= 45 & a_age < 65 replace age_cat = 6 if a_age >= 65 tab age_cat, generate(cat_ages) rename cat_ages1 age_005 rename cat_ages2 age_614 rename cat_ages3 age_1517 rename cat_ages4 age_1844 rename cat_ages5 age_4564 rename cat_ages6 age_65up ********************* /* INCOME VARIABLE */ ********************* generate ZERO = . replace ZERO = 1 if ftotval <= 0 replace ZERO = 0 if ftotval > 0 *** dummy indicator variables for poverty ratios *** replace rpl = . replace rpl = 1 if povll == 1 replace rpl = 2 if povll == 2 replace rpl = 3 if povll == 3 replace rpl = 4 if povll == 4 replace rpl = 5 if povll == 5 replace rpl = 6 if povll == 6 replace rpl = 7 if povll == 7 replace rpl = 8 if povll > = 8 tab rpl, gen(rpl) ***************************** /* RELATIONSHIP VARIABLES */ **************************** gen rel = . replace rel = 1 if a_exprrp == 3 | a_exprrp == 4 replace rel = 2 if a_exprrp == 5 replace rel = 3 if a_exprrp == 8 replace rel = 4 if a_exprrp == 6 | a_exprrp == 7 | (a_exprrp > 8 & a_exprrp <= 14) replace rel = 5 if a_exprrp == 1 | a_exprrp == 2 tab rel, gen(rel) rename rel1 rel_spouse rename rel2 rel_child rename rel3 rel_parent rename rel4 rel_other rename rel5 rel_self **************** *** States ***** **************** # d; label define state 1 "Alabama" 2 "Alaska" 4 "Arizona" 5 "Arkansas" 6 "California" 8 "Colorado" 9 "Connecticut" 10 "Delaware" 11 "District of Columbia" 12 "Florida" 13 "Georgia" 15 "Hawaii" 16 "Idaho" 17 "Illinois" 18 "Indiana" 19 "Iowa" 20 "Kansas" 21 "Kentucky" 22 "Louisiana" 23 "Maine" 24 "Maryland" 25 "Massachusetts" 26 "Michigan" 27 "Minnesota" 28 "Mississippi" 29 "Missouri" 30 "Montana" 31 "Nebraska" 32 "Nevada" 33 "New Hampshire" 34 "New Jersey" 35 "New Mexico" 36 "New York" 37 "North Carolina" 38 "North Dakota" 39 "Ohio" 40 "Oklahoma" 41 "Oregon" 42 "Pennsylvania" 44 "Rhode Island" 45 "South Carolina" 46 "South Dakota" 47 "Tennessee" 48 "Texas" 49 "Utah" 50 "Vermont" 51 "Virginia" 53 "Washington" 54 "West Virginia" 55 "Wisconsin" 56 "Wyoming"; #d cr label values gestfips state * indicator variables for the states dummieslab gestfips ***************************** ****** Prepare for models ***************************** **** create constant variables that will save the coeff values for each model (from Table 1) **** call each one varname1 or varname2 dependent on the model from which they are from gen constant = 1 gen constant1 = -0.6089 gen ZERO1 = 0.2475 gen age_0051 = 1.3364 gen age_6141 = 0.8797 gen age_15171 = 0.6517 gen age_18441 = -0.0311 gen age_45641 = -1.0515 gen age_65up1 = -1.7853 gen medicaid_edited1 = . gen medicaid_imputed1 = 0.3617 gen medicaid_explicit1 = -0.3617 gen public_nocaid1 = 1.1714 gen private_only1 = -1.0714 gen public_private1 = 0.0936 gen uninsured1 = -0.1936 gen medicaid_only1 = . gen phispanic1 = 0.1155 gen pblack1 = 0.5177 gen pai1 = 0.1917 gen papi1 = -0.2467 gen pwhite1 = -0.5782 gen male1 = -0.5109 gen rel_parent1 = 0.888 gen rel_spouse1 = -0.5062 gen rel_child1 = -0.2866 gen rel_other1 = 0.1965 gen rel_self1 = -0.2917 gen rpl11 = 0.3891 gen rpl21 = 0.6237 gen rpl31 = 0.45 gen rpl41 = 0.1944 gen rpl51 = 0.0504 gen rpl61 = -0.1552 gen rpl71 = -0.2717 gen rpl81 = -1.2808 gen Alabama1 = -0.1379 gen Alaska1 = -0.1272 gen Arizona1 = 0.0813 gen Arkansas1 = 0.1515 gen California1 = -0.124 gen Colorado1 = -0.3486 gen Connecticut1 = -0.1982 gen Delaware1 = 0.2252 gen DistrictofColumbia1 = 0.0206 gen Florida1 = -0.1452 gen Georgia1 = -0.3799 gen Hawaii1 = 0.2828 gen Idaho1 = -0.2137 gen Illinois1 = 0.1144 gen Indiana1 = 0.1683 gen Iowa1 = 0.0545 gen Kansas1 = -0.3241 gen Kentucky1 = 0.0305 gen Louisiana1 = -0.1636 gen Maine1 = 1.18 gen Maryland1 = -0.4281 gen Massachusetts1 = 0.2211 gen Michigan1 = -0.1803 gen Minnesota1 = 0.223 gen Mississippi1 = -0.3619 gen Missouri1 = 0.4235 gen Montana1 = -1.0005 gen Nebraska1 = 0.159 gen Nevada1 = -0.6962 gen NewHampshire1 = -0.1836 gen NewJersey1 = -0.3858 gen NewMexico1 = 0.1199 gen NewYork1 = -0.1396 gen NorthCarolina1 = 0.2104 gen NorthDakota1 = -0.0914 gen Ohio1 = -0.0658 gen Oklahoma1 = 0.08 gen Oregon1 = -0.0195 gen Pennsylvania1 = 0.3005 gen RhodeIsland1 = 0.3507 gen SouthCarolina1 = 0.174 gen SouthDakota1 = -0.1485 gen Tennessee1 = 0.9171 gen Texas1 = -0.6106 gen Utah1 = -0.3107 gen Vermont1 = 1.1751 gen Virginia1 = -0.5826 gen Washington1 = 0.6428 gen WestVirginia1 = 0.3519 gen Wisconsin1 = -0.0958 gen Wyoming1 = -0.1949 gen constant2 = 0.7521 gen ZERO2 = -0.2862 gen age_0052 = 0.396 gen age_6142 = 0.4068 gen age_15172 = 0.1538 gen age_18442 = 0.1553 gen age_45642 = -0.2539 gen age_65up2 = -0.8579 gen medicaid_edited2 = -0.3439 gen medicaid_imputed2 = -0.7819 gen medicaid_explicit2 = 1.1258 gen public_nocaid2 = . gen private_only2 = . gen public_private2 = . gen uninsured2 = . gen medicaid_only2 = 0.1033 gen phispanic2 = -0.0447 gen pblack2 = 0.1324 gen pai2 = 0.0797 gen papi2 = -0.00385 gen pwhite2 = -0.1635 gen male2 = -0.3084 gen rel_parent2 = 0.8454 gen rel_spouse2 = -0.6605 gen rel_child2 = -0.1461 gen rel_other2 = 0.1694 gen rel_self2 = -0.2083 gen rpl12 = 0.4922 gen rpl22 = 0.5247 gen rpl32 = 0.5368 gen rpl42 = 0.1999 gen rpl52 = -0.1616 gen rpl62 = -0.21 gen rpl72 = -0.5104 gen rpl82 = -0.8718 gen Alabama2 = -0.0488 gen Alaska2 = -0.0857 gen Arizona2 = 0.1248 gen Arkansas2 = -0.2814 gen California2 = 0.3479 gen Colorado2 = -0.3851 gen Connecticut2 = -0.7219 gen Delaware2 = 0.2802 gen DistrictofColumbia2 = -0.0589 gen Florida2 = -0.0341 gen Georgia2 = -0.2252 gen Hawaii2 = 0.0564 gen Idaho2 = -0.1441 gen Illinois2 = -0.1066 gen Indiana2 = -0.0716 gen Iowa2 = 0.348 gen Kansas2 = 0.2111 gen Kentucky2 = -0.2099 gen Louisiana2 = -0.571 gen Maine2 = 0.8533 gen Maryland2 = -0.8764 gen Massachusetts2 = -0.1872 gen Michigan2 = 0.0434 gen Minnesota2 = 0.2205 gen Mississippi2 = -0.9372 gen Missouri2 = 0.3584 gen Montana2 = -1.6887 gen Nebraska2 = 0.6703 gen Nevada2 = -0.6033 gen NewHampshire2 = 0.7746 gen NewJersey2 = -0.6282 gen NewMexico2 = 0.0559 gen NewYork2 = 0.0361 gen NorthCarolina2 = 0.4162 gen NorthDakota2 = 0.3506 gen Ohio2 = 0.2443 gen Oklahoma2 = -0.0671 gen Oregon2 = -0.0192 gen Pennsylvania2 = 0.5203 gen RhodeIsland2 = 0.2558 gen SouthCarolina2 = 0.1124 gen SouthDakota2 = -0.2581 gen Tennessee2 = 0.9406 gen Texas2 = -0.1475 gen Utah2 = 0.0172 gen Vermont2 = 0.853 gen Virginia2 = -0.4431 gen Washington2 = 0.4109 gen WestVirginia2 = 0.2588 gen Wisconsin2 = 0.1001 gen Wyoming2 = -0.0608 * Create interaction terms for all variables * coefficients, as defined above. #d cr foreach i of varlist constant ZERO age_005 age_1517 age_4564 age_614 age_65up age_1844 medicaid_edited medicaid_imputed medicaid_explicit public_nocaid private_only public_private uninsured medicaid_only phispanic pblack pai papi pwhite male rel_parent rel_spouse rel_child rel_other rel_self rpl1 rpl2 rpl3 rpl4 rpl5 rpl6 rpl7 rpl8 Alabama Delaware DistrictofColumbia Florida Georgia Hawaii Idaho Illinois Indiana Iowa Alaska Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada NewHampshire NewJersey NewMexico NewYork NorthCarolina NorthDakota Ohio Arizona Oklahoma Oregon Pennsylvania RhodeIsland SouthCarolina SouthDakota Tennessee Texas Utah Arkansas Vermont Virginia Washington WestVirginia Wisconsin Wyoming California Colorado Connecticut { gen pr1_`i' = `i'*`i'1 } #d cr foreach i of varlist constant ZERO age_005 age_1517 age_4564 age_614 age_65up age_1844 medicaid_edited medicaid_imputed medicaid_explicit public_nocaid private_only public_private uninsured medicaid_only phispanic pblack pai papi pwhite male rel_parent rel_spouse rel_child rel_other rel_self rpl1 rpl2 rpl3 rpl4 rpl5 rpl6 rpl7 rpl8 Alabama Delaware DistrictofColumbia Florida Georgia Hawaii Idaho Illinois Indiana Iowa Alaska Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada NewHampshire NewJersey NewMexico NewYork NorthCarolina NorthDakota Ohio Arizona Oklahoma Oregon Pennsylvania RhodeIsland SouthCarolina SouthDakota Tennessee Texas Utah Arkansas Vermont Virginia Washington WestVirginia Wisconsin Wyoming California Colorado Connecticut { gen pr2_`i' = `i'*`i'2 } * sum variables across case - model1 variables from above if in model1, model2 variables if in model2 egen model1var = rsum (pr1_constant - pr1_Connecticut) if model1 == 1 egen model2var = rsum (pr2_constant - pr2_Connecticut) if model2 == 1 gen model1exp = exp(model1var) if model1 == 1 gen model2exp = exp(model2var) if model2 == 1 * transform from log odds gen pre_prob1= model1exp/(1+model1exp) if model1 == 1 gen pre_prob2 = model2exp/(1+model2exp) if model2 == 1 * Create one variable that creates two predicted probabilities, dependent on what model is applicable to case gen preprob = . replace preprob = pre_prob1 if model1 == 1 replace preprob = pre_prob2 if model2 == 1 * First create dummy variables for year gen y2005 = . replace y2005 = 1 if h_year == 2005 replace y2005 = 0 if h_year == 2006 gen y2006 = . replace y2006 = 1 if h_year == 2006 replace y2006 = 0 if h_year == 2005 *** Create tables - table 1 is medicaid response by state and US - use caidplus *************************************************** ******** Table One ******************************** *************************************************** * 1.A) unadjusted medicaid rate, national and by state quietly svy, subpop(y2005):mean caidplus estat size, obs size quietly svy, subpop(y2006):mean caidplus estat size, obs size quietly svy, subpop(y2005):mean caidplus, over(gestfips) estat size, obs size quietly svy, subpop(y2006):mean caidplus, over(gestfips) estat size, obs size * 1.B) adjusted medicaid rate - apply preprob to total population quietly svy, subpop(y2005):mean preprob estat size, obs size quietly svy, subpop(y2006):mean preprob estat size, obs size quietly svy, subpop(y2005):mean preprob, over(gestfips) estat size, obs size quietly svy, subpop(y2006):mean preprob, over(gestfips) estat size, obs size *************************************************** ******** Table Two ******************************** *************************************************** * 2.A) unadjusted uninsured rate quietly svy, subpop(y2005):mean uninsured estat size, obs size quietly svy, subpop(y2006):mean uninsured estat size, obs size quietly svy, subpop(y2005):mean uninsured, over(gestfips) estat size, obs size quietly svy, subpop(y2006):mean uninsured, over(gestfips) estat size, obs size * 2.B) updated uninsured rate - Uninsured rate minus the number of uninsured who were switched to medicaid (preprob_un) ***** preprob for unin gen preprob_un = preprob * uninsured quietly svy, subpop(if y2005 == 1):mean preprob_un estat size, obs size quietly svy, subpop(if y2006 == 1):mean preprob_un estat size, obs size quietly svy, subpop(if y2005 == 1):mean preprob_un, over(gestfips) estat size, obs size quietly svy, subpop(if y2006 == 1):mean preprob_un, over(gestfips) estat size, obs size