multilevel modeling in cardiac drug utilization research
TRANSCRIPT
Multilevel Modeling in Cardiac Drug Utilization Research
Outline
PROC GLIMMIX introductionPROC GLIMMIX introduction Cardiac drug utilization Cardiac drug utilization
research research
using multilevel models.using multilevel models.
Multilevel data
Multilevel data are common in Multilevel data are common in observational study in social observational study in social science, health care field. science, health care field.
Clinical trials carried out in Clinical trials carried out in serveral random selected center serveral random selected center or groups of subjects create data or groups of subjects create data hierarchieshierarchies
The Research Question
Investigate clinical and non-clinical factors Investigate clinical and non-clinical factors associated with prescription of cardiac drugs associated with prescription of cardiac drugs for patients discharged after catheterization.for patients discharged after catheterization.
Heart Catheterization
Inclusion/Exclusion Criteria
Include All patients underwent Include All patients underwent the 1the 1stst CATH from 1999/07 to CATH from 1999/07 to 2002/10 2002/10
Exclude patients with age<20, Exclude patients with age<20, non-BC patients, prior CABG or non-BC patients, prior CABG or PCI, in hospital death, PCI, in hospital death, discharged to extended caredischarged to extended care
Exclude patients with normal Exclude patients with normal angiogramangiogram
Drugs of interests
ACE Inhibitor ACE Inhibitor Beta BlockerBeta Blocker StatinStatin Optimum drugOptimum drug
Factor of Interest
Patient level: Patient level: sex, age, extent of disease (blockage), prior drug, sex, age, extent of disease (blockage), prior drug,
ejection fraction, prior MI, DM, renal, HPD, HTN, ejection fraction, prior MI, DM, renal, HPD, HTN, PVD, CVA, CHF, COPD, liver disease, urgency, PVD, CVA, CHF, COPD, liver disease, urgency, indication, cardiac re-hospitalization, transfer indication, cardiac re-hospitalization, transfer history, length of hospital stay, revascularization, history, length of hospital stay, revascularization,
Hospital level:Hospital level: teaching hospital teaching hospital Physician level:Physician level: year of service, volume of year of service, volume of
serviceservice Neighbourhood level: Neighbourhood level: Median family income, univeristy education rate, Median family income, univeristy education rate,
immigration rateimmigration rate
Assumption
Admission Discharge
1st Catheterization120 days
Data Structure
The data set consists 22847 patients The data set consists 22847 patients Hospital level: Patients discharged from 67 BC Hospital level: Patients discharged from 67 BC
hospitals with hospital cluster size from 1 to 4403 hospitals with hospital cluster size from 1 to 4403 patients; 97% patients discharged from hospital patients; 97% patients discharged from hospital with cluster size>100. with cluster size>100.
Physician level: Patients discharged by 1059 Physician level: Patients discharged by 1059 physicians (with anywhere between 1 to 785); 72% physicians (with anywhere between 1 to 785); 72% patients discharged by physician with cluster size patients discharged by physician with cluster size >100).>100).
Census tract level: Patients came from 695 census Census tract level: Patients came from 695 census tract with census tract cluster size from 1 to 342, tract with census tract cluster size from 1 to 342, 73% patients came from census tract with cluster 73% patients came from census tract with cluster size>30.size>30.
Data Structure
Patient
Hospital
Physician Neighbourhoods
Cross random intercept model
yyi i ~ Bernouilli ( ~ Bernouilli ( ππi i ))
Logit(Logit(ππii) = ) = ββ0i0i + + ββ11 x x1i1i
ββ0i0i = = ββ0 0 + + δδhosp(i)hosp(i)(2) (2) + + δδdoc(i)doc(i)
(3) (3) + + δδtract(i)tract(i)(4) (4)
Where i indexes the patient i, and hosp(i), Where i indexes the patient i, and hosp(i), doc(i), and tract(i) are functions that doc(i), and tract(i) are functions that return the unit number of the hospital, return the unit number of the hospital, doctor, and census tract, respectively, doctor, and census tract, respectively, that patient i belong to.that patient i belong to.
Cross random intercept model
yyi i ~ Bernouilli ( ~ Bernouilli ( ππi i ))
Logit(Logit(ππii) =) =ββ0 0 + + ββ11 x x1i1i + + δδhosp(i)hosp(i)(2) (2) + + δδdoc(i)doc(i)
(3) (3) + + δδtract(i)tract(i)(4) (4)
δδhosp(i)hosp(i)(2) (2) ~ N (0, ~ N (0, σσδδ(2)(2)
22 ) )
δδdoc(i)doc(i)(3) (3) ~ N (0, ~ N (0, σσδδ(3)(3)
22 ) )
δδtract(i)tract(i)(4) (4) ~ N (0, ~ N (0, σσδδ(4)(4)
22 ) )
Allow coefficient to vary across the classification
Suppose Suppose ββ1i1i represent heart failure, we represent heart failure, we
want to know whether the impact of want to know whether the impact of heart failure vary across the hospital heart failure vary across the hospital classification, we would use cross classification, we would use cross random coefficient model to investigate random coefficient model to investigate that.that.
Cross random coefficient model
yyi i ~ Bernouilli ( ~ Bernouilli ( ππi i ))
Logit(Logit(ππii) = ) = ββ0i0i + + ββ1i1i x x1i1i
ββ0i0i = = ββ0 0 + + δδhosp(i),0hosp(i),0(2) (2) + + δδdoc(i)doc(i)
(3) (3) + + δδtract(i)tract(i)(4) (4)
ββ1i1i = = ββ1 1 + + δδhosp(i),1hosp(i),1(2) (2)
Where Where δδhosp(i),0hosp(i),0(2) and (2) and δδhosp(i),1hosp(i),1
(2) (2) representing the representing the
hospital random intercept effects hospital random intercept effects
and random slope effects, respectively. and random slope effects, respectively.
Which procedure to use?
ModelModel Response typeResponse type Random effectsRandom effects
LOGISTILOGISTICC
BinaryBinary NONO
GLMGLM IntervalInterval NONO
GENMOGENMODD
Categorical, Categorical, IntervalInterval
NONO
MIXEDMIXED IntervalInterval YesYes
NLMIXENLMIXEDD
Categorical, Categorical, IntervalInterval
Yes, but not suitable for Yes, but not suitable for complex random effectscomplex random effects
GLIMMIXGLIMMIX Categorical, Categorical, IntervalInterval
Yes, suitable for Yes, suitable for complex random effectscomplex random effects
Where to get proc glimmix
The glimmix procedure is a new The glimmix procedure is a new procedure in SAS/STAT software. procedure in SAS/STAT software. It is an add-on for the SAS/STAT It is an add-on for the SAS/STAT product in SAS 9.1 on either the product in SAS 9.1 on either the Windows or Linux platform. It is Windows or Linux platform. It is currently downloadable for the currently downloadable for the SAS 9.1 release from software SAS 9.1 release from software downloads at support.sas.com.downloads at support.sas.com.
Two level glimmix
procproc glimmixglimmix data=glim_dataF IC=Q; data=glim_dataF IC=Q;
classclass sex ageGP65 dis_hosp ; sex ageGP65 dis_hosp ;
modelmodel drug(event= drug(event='YES''YES')=sex )=sex ageGP65/solution dist=binary ageGP65/solution dist=binary link=logit ddfm=bw oddsratio;link=logit ddfm=bw oddsratio;
randomrandom int / subject=dis_hosp; int / subject=dis_hosp;
runrun;;
Three level glimmix
procproc glimmixglimmix data=glim_dataF IC=Q; data=glim_dataF IC=Q;
classclass sex ageGP65 dis_hosp dis_phy; sex ageGP65 dis_hosp dis_phy;
modelmodel drug(event= drug(event='YES''YES')=sex )=sex ageGP65/solution dist=binary link=logit ageGP65/solution dist=binary link=logit ddfm=bw oddsratio;ddfm=bw oddsratio;
randomrandom int / subject=dis_phy(dis_hosp); int / subject=dis_phy(dis_hosp);
runrun;;
Order in the class statement
Value of ORDER= Levels Sorted By
DATA order of appearance in the input data set
FORMATTED external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value
FREQ descending frequency count; levels with the most observations come first in the order
INTERNAL unformatted value
Proc glimmix
AdvantageAdvantage• Allows multiple random effects, nested Allows multiple random effects, nested
and crossed random effectsand crossed random effects• Allows subject-specific and population-Allows subject-specific and population-
averaged inferenceaveraged inference• Allows nonnormal distribution of Allows nonnormal distribution of
responseresponse DisadvantageDisadvantage
• The absence of a true log likelihoodThe absence of a true log likelihood• The computation of cross effects model The computation of cross effects model
is time consumingis time consuming
Upcoming features in proc glimmix in SAS 9.2
The COVTEST statement for The COVTEST statement for likelihood-based testing and likelihood-based testing and confidence intervals for confidence intervals for covariance parameters.covariance parameters.
Better output format?Better output format?
Effects of ignoring Nested Structure
Covariance Estimates Hospital(SE) Physician(SE) Census Tract(SE)ACE Inhibitor Hospital 0.17(0.07)
Physician 0.32(0.06)Physician(Hospital) 0.14(0.06) 0.22(0.04)Physician(Hospital)*census tract 0.14(0.06) 0.22(0.04) 0.02(0.01)
Beta Blocker Hospital 0.18(0.07)Physician 0.26(0.04)Physician(Hospital) 0.19(0.07) 0.10(0.02)Physician(Hospital)*census tract 0.19(0.07) 0.10(0.02) 0
Statin Hospital 0.19(0.07)Physician 0.39(0.06)Physician(Hospital) 0.20(0.08) 0.21(0.04)Physician(Hospital)*census tract 0.19(0.07) 0.20(0.04) 0.02(0.01)
Optimum Rx Hospital 0.20(0.07)Physician 0.24(0.04)Physician(Hospital) 0.20(0.07) 0.09(0.02)Physician(Hospital)*census tract 0.19(0.07) 0.10(0.02) 0.02(0.01)
Effects of ignoring Nested Structure
Ignoring the hospital hierarchy Ignoring the hospital hierarchy leads to inflation of physician leads to inflation of physician variance estimates drasticly variance estimates drasticly
Adding the cross effect of Adding the cross effect of census tract on hospital-census tract on hospital-physician nested hierarchy physician nested hierarchy doesn’t change the hospital doesn’t change the hospital and physician variance. and physician variance.
Does Teaching hospital help to explain the variation at hospital level?
Covariance Estimates Hospital(SE) Phyician(SE) census Tract(SE)ACE Ihibitor intercept model 0.11(0.04) 0.25(0.04) 0.03(0.01)
patient level variable model 0.14(0.06) 0.26(0.05) 0.02(0.01)Patient level variable +high level variable model 0.14(0.06) 0.22(0.04) 0.02 (0.01)
Beta Blocker intercept model 0.14(0.05) 0.11(0.02) 0.004(0.006)patient level variable model 0.17(0.07) 0.11(0.03) 0Patient level variable +high level variable model 0.19(0.07) 0.10(0.02) 0
Statin intercept model 0.14(0.05) 0.21(0.04) 0.04(0.01)patient level variable model 0.19(0.07) 0.20(0.04) 0.03(0.01)Patient level variable +high level variable model 0.19(0.07) 0.20(0.04) 0.02(0.01)
Optimum Rx intercept model 0.16(0.05) 0.14(0.02) 0.03(0.01)patient level model 0.18(0.06) 0.10(0.02) 0.02(0.01)Patient level variable +high level variable model 0.19(0.07) 0.10(0.02) 0.02(0.01)
Cross effects model
Does Teaching hospital help to explain the variation at hospital level?
Teaching hospital effect does Teaching hospital effect does not explain the variation at not explain the variation at hospital levelhospital level
Service years of physician and Service years of physician and physician service volume only physician service volume only explain very little of the explain very little of the variation at physician levelvariation at physician level
ACE Inhibitor single level LR vs. multilevel LR
1st row:: Single level LR results
2nd row: multilevel LR results
OR LowerCL UpperCLYears of service Q1 vs Q4 1.34 1.22 1.48
1.24 1.05 1.47Q2 vs Q4 0.91 0.83 1.01
0.87 0.74 1.03Q3 vs Q4 0.99 0.90 1.10
1.01 0.86 1.17
Volume of service Q1 vs Q4 0.68 0.61 0.77
0.72 0.60 0.86Q2 vs Q4 0.91 0.83 1.01
0.87 0.74 1.03Q3 vs Q4 0.83 0.75 0.91
0.92 0.79 1.06Teaching Hospital 1.39 1.28 1.51
1.20 0.68 2.13
Immigration Rate Q5 vs Q1 0.90 0.81 1.01
0.93 0.81 1.06Q4 vs Q1 1.00 0.90 1.12
1.04 0.92 1.19Q3 vs Q1 0.90 0.81 1.01
0.97 0.86 1.09Q2 vs Q1 0.94 0.84 1.04
0.97 0.86 1.09
Beta Blocker single level LR vs. multilevel LR
1st row:: Single level LR results
2nd row: multilevel LR results
OR LowerCL UpperCLYears of service Q1 vs Q4 1.19 1.08 1.30
1.16 1.01 1.35Q2 vs Q4 1.07 0.97 1.18
1.10 0.94 1.28Q3 vs Q4 0.97 0.88 1.07
1.08 0.94 1.24
Volume of service Q1 vs Q4 0.86 0.77 0.96
0.76 0.65 0.89Q2 vs Q4 0.82 0.74 0.90
0.78 0.68 0.91Q3 vs Q4 0.94 0.86 1.04
0.93 0.81 1.06Teaching Hospital 1.70 1.57 1.84
1.36 0.71 2.58
Immigration Rate Q5 vs Q1 0.91 0.81 1.02
0.93 0.82 1.06Q4 vs Q1 0.77 0.69 0.86
0.88 0.78 0.99Q3 vs Q1 0.86 0.78 0.96
0.97 0.87 1.08Q2 vs Q1 0.92 0.83 1.02
0.97 0.87 1.08
Statin single level LR vs. multilevel LR
1st row:: Single level LR results
2nd row: multilevel LR results
OR LowerCL UpperCL
Years of service Q1 vs Q4 1.31 1.18 1.45
1.16 0.98 1.38
Q2 vs Q4 1.18 1.06 1.32
1.17 0.98 1.39
Q3 vs Q4 1.20 1.08 1.33
1.14 0.97 1.33
Volume of service Q1 vs Q4 0.99 0.88 1.12
1.00 0.83 1.20
Q2 vs Q4 1.13 1.02 1.26
1.04 0.88 1.23
Q3 vs Q4 0.95 0.86 1.06
0.95 0.82 1.11
Teaching Hospital 0.97 0.89 1.06
1.03 0.53 1.98
Immigration Rate Q5 vs Q1 0.68 0.61 0.77
0.75 0.65 0.86
Q4 vs Q1 0.87 0.77 0.98
0.94 0.81 1.08
Q3 vs Q1 0.93 0.82 1.04
0.91 0.80 1.04
Q2 vs Q1 1.09 0.96 1.22
Optimum Rx single level LR vs. multilevel LR
1st row:: Single level LR results
2nd row: multilevel LR results
OR LowerCL UpperCLYears of service Q1 vs Q4 1.33 1.22 1.44
1.22 1.07 1.38Q2 vs Q4 1.13 1.04 1.23
1.11 0.97 1.27Q3 vs Q4 0.99 0.91 1.07
1.08 0.95 1.22
Volume of service Q1 vs Q4 0.86 0.78 0.95
0.83 0.72 0.96Q2 vs Q4 1.00 0.91 1.09
0.93 0.82 1.06Q3 vs Q4 0.90 0.83 0.98
0.92 0.82 1.04Teaching Hospital 1.42 1.32 1.52
1.28 0.68 2.42Immigration Rate Q5 vs Q1 0.77 0.70 0.84
0.84 0.75 0.94Q4 vs Q1 0.86 0.78 0.94
0.98 0.88 1.10Q3 vs Q1 0.86 0.78 0.94
0.95 0.85 1.06Q2 vs Q1 0.93 0.85 1.02
0.97 0.88 1.08
Implication of the results
Compared to the cross effects Compared to the cross effects models, the standard errors of models, the standard errors of teaching hospital effect from the teaching hospital effect from the single-level logistic regression are single-level logistic regression are much smaller and lead to an invalid much smaller and lead to an invalid finding of significant teaching finding of significant teaching hospital effect.hospital effect.
Between census tract variance is Between census tract variance is fairly small. We keep the census fairly small. We keep the census tract random effects in the model as tract random effects in the model as we want to examine the influence of we want to examine the influence of immigration rate on drug utilization.immigration rate on drug utilization.
Reference
Judith D.Singer. Using SAS PROC MIXED to fit Judith D.Singer. Using SAS PROC MIXED to fit multilevel models, Hierarchical models, and multilevel models, Hierarchical models, and individual growth models. individual growth models. Journal of Educational Journal of Educational and Behavioral Statistics 1998; 24, 323-355and Behavioral Statistics 1998; 24, 323-355
Jone Rasbash , William Brown. Non-hierarchical Jone Rasbash , William Brown. Non-hierarchical multilevel models. multilevel models.
Tony Blakely, S V Subramanian. Multilevel Studies. Tony Blakely, S V Subramanian. Multilevel Studies. In Oakes M, Kaufman J, eds, Methods for social In Oakes M, Kaufman J, eds, Methods for social epidemiology, Jossey Bass: San Francisco. 2005: in epidemiology, Jossey Bass: San Francisco. 2005: in press.press.