15
Electronic Supplementary Material
Online Resource 1: ESM1.doc PROMIS depression short form and PHQ-9 item content and parameters.
Online Resource 2: ESM2.do A Stata program to prepare data to estimate dimensionality in Mplus using PROMIS-1 item parameters. The Mplus code is also included in the file.
Online Resource 3: ESM3.doc Flow chart for Steps 3 and 4 (in Table 1), as implemented in ESM4.do, ESM5.do and ESM6.do (Word file).
Online Resource 4: ESM4.do The master Stata program to score a legacy measure on the same metric as the corresponding PROMIS measure. This program calls ESM5.do and ESM6.do.
Online Resource 5: ESM5.do A Stata program to replace the estimated item parameters with the PROMIS I item parameters. This can also be done in a spreadsheet, as instructed in the comments contained in the file.
Online Resource 6: ESM6.do A Stata program to Edit the PHQPRO2 parameter file so that it only has the PHQ-9 items. This is probably easier done in a text editor, as instructed in the comments contained in the file.
Online Resource 7: ESM7.doc Word file with a scatter plot of depression scores based on the PROMIS items, versus scores based on the PROMIS and PHQ-9 items. Both scores are on the PROMIS metric.
15
ESM1.doc
PROMIS depression short form and PHQ-9 item content and parameters.
Electronic supplementary material for "Migrating from a legacy fixed format measure to CAT administration: calibrating the PHQ-9 and the PROMIS depression measures" in Quality of Life Research by Laura E. Gibbons, Betsy Feldman, Heidi Crane, Michael Mugavero, James H. Willig, Donald Patrick, Joseph Schumacher, Michael Saag, Mari Kitahata, and Paul Crane. Corresponding author: Laura Gibbons, University of Washington, .
PROMIS Depression Short Form 1.
In the past 7 days….
- I felt worthless.
- I felt I had nothing to look forward to.
- I felt helpless.
- I felt sad.
- I felt like a failure.
- I felt depressed.
- I felt unhappy.
- I felt hopeless.
Response options: Never, Rarely, Sometimes, Often, Always.
Item bank parameters (D=1)
Item / a / cp1 / cp2 / cp3 / cp4I felt worthless. / 4.2614 / 0.4011 / 0.9757 / 1.6963 / 2.4441
I felt I had nothing to look forward to. / 3.9317 / 0.3049 / 0.9131 / 1.5935 / 2.4117
I felt helpless. / 4.1448 / 0.3501 / 0.9153 / 1.6782 / 2.4705
I felt sad. / 3.2740 / -0.4985 / 0.4059 / 1.4131 / 2.3755
I felt like a failure. / 3.9700 / 0.2038 / 0.7955 / 1.6487 / 2.2955
I felt depressed. / 4.3429 / -0.1173 / 0.5977 / 1.4282 / 2.2725
I felt unhappy. / 3.4830 / -0.5359 / 0.3476 / 1.3468 / 2.3548
I felt hopeless. / 4.4542 / 0.5584 / 1.0742 / 1.7793 / 2.5301
PHQ-9
Over the last 2 weeks, how often have you been bothered by any of the following problems?
1. Little interest or pleasure in doing things
2. Feeling down, depressed, or hopeless
3. Trouble falling or staying asleep, or sleeping too much
4. Feeling tired or having little energy
5. Poor appetite or overeating
6. Feeling bad about yourself- or that you are a failure or have let yourself or your family down
7. Trouble concentrating on things, such as reading the newspaper or watching television
8. Moving or speaking so slowly that other people could have noticed. Or the opposite – being so fidgety or restless that you have been moving around a lot more than usual.
9. Thoughts that you would be better off dead, or of hurting yourself in some way.
Response options: Not at all, Several days, More than half the days, Nearly every day.
cp1, cp2 and cp3 are the thresholds between the 4 response options.
Item parameters on the PROMIS Depression metric (D=1)
Item / a / cp1 / cp2 / cp31. Little interest / 1.9902 / 0.4120 / 1.3505 / 2.0524
2. Feeling down / 2.8817 / 0.1849 / 1.2394 / 1.8944
3. Trouble sleep / 1.3681 / -0.0985 / 0.9291 / 1.6352
4. Feeling tired / 1.6142 / -0.2629 / 0.9358 / 1.6340
5. Poor appetite / 1.2925 / 0.5576 / 1.4650 / 2.1498
6. Feeling bad / 2.8213 / 0.5213 / 1.4156 / 2.0169
7. Concentration / 1.7214 / 0.6592 / 1.7095 / 2.3252
8. Moving slowly / 0.4050 / -0.9692 / 0.1878 / 0.7814
9. Suicidal thinking / 0.2692 / -0.8175 / 0.2307 / 0.5868
For ease of comparison, here are the PROMIS parameters again:
Item / a / cp1 / cp2 / cp3 / cp4I felt worthless. / 4.2614 / 0.4011 / 0.9757 / 1.6963 / 2.4441
I felt I had nothing to look forward to. / 3.9317 / 0.3049 / 0.9131 / 1.5935 / 2.4117
I felt helpless. / 4.1448 / 0.3501 / 0.9153 / 1.6782 / 2.4705
I felt sad. / 3.2740 / -0.4985 / 0.4059 / 1.4131 / 2.3755
I felt like a failure. / 3.9700 / 0.2038 / 0.7955 / 1.6487 / 2.2955
I felt depressed. / 4.3429 / -0.1173 / 0.5977 / 1.4282 / 2.2725
I felt unhappy. / 3.4830 / -0.5359 / 0.3476 / 1.3468 / 2.3548
I felt hopeless. / 4.4542 / 0.5584 / 1.0742 / 1.7793 / 2.5301
ESM2.do
/* How to estimate dimensionality in Mplus using PROMIS-1 item parameters.
This is a Stata program to prepare the data, and includes Mplus code below.
Electronic supplementary material for "Migrating from a legacy fixed format measure to CAT administration: calibrating the PHQ-9 and the PROMIS depression measures" in Quality of Life Research by Laura E. Gibbons, Betsy Feldman, Heidi Crane, Michael Mugavero, James H. Willig, Donald Patrick, Joseph Schumacher, Michael Saag, Mari Kitahata, and Paul Crane. Corresponding author: Laura Gibbons, University of Washington, . */
* First convert the PROMIS item parameters to Mplus' lambda and tau:
* (This applies only to the theta=1-lamda^2 parameterization.
* See Mplus’ Webnote 4 at www.statmodel.com, equations 18 and 19.)
/* You'll need a comma-separated file with the PROMIS depression short form
item bank parameters.
[To obtain item parameters for the full scale or for other PROMIS measures,
email .]
Here it is called Depression_par.csv.
The first line should be (lower case)
varname, a, cp1, cp2, ... cp(i)
The next lines consist of the variable names and parameters, e.g:
varname, a, cp1, cp2, cp3, cp4
prdep1, 4.2614, 0.4011, 0.9757, 1.6963, 2.4441
prdep2, 3.9317, 0.3049, 0.9131, 1.5935, 2.4117
prdep3, 4.1448, 0.3501, 0.9153, 1.6782, 2.4705
prdep4, 3.2740, -0.4985, 0.4059, 1.4131, 2.3755
prdep5, 3.9700, 0.2038, 0.7955, 1.6487, 2.2955
prdep6, 4.3429, -0.1173, 0.5977, 1.4282, 2.2725
prdep7, 3.4830, -0.5359, 0.3476, 1.3468, 2.3548
prdep8, 4.4542, 0.5584, 1.0742, 1.7793, 2.5301
*/
* Read in the PROMIS item bank parameter file:
insheet using Depression_par.csv, clear
* Calculate lambda for each item:
gen lamda = sqrt(a^2/(a^2+1))
* Calculate the 4 cutpoints for each item:
forvalues c=1/4 {
gen tau_`c' = cp`c' * lamda
}
/* We've made the following variables:
lamda tau_1 tau_2 tau_3 tau_4
0.974 0.390 0.950 1.651 2.379
0.969 0.296 0.885 1.544 2.337
0.972 0.340 0.890 1.631 2.402
0.956 -0.477 0.388 1.351 2.272
0.970 0.198 0.771 1.599 2.226
0.974 -0.114 0.583 1.392 2.215
0.961 -0.515 0.334 1.294 2.263
0.976 0.545 1.048 1.736 2.469
Which will be used as shown below.
*/
* Our data set, with the PROMIS short form items prdep1-prdep8 ///
and the PHQ9 items dep1-dep9:
use migration, clear
* Prepare a data file for Mplus:
preserve
keep prdep1 prdep2 prdep3 prdep4 prdep5 prdep6 prdep7 prdep8
recode _all (.=-9999)
outsheet using "promis.dat", nolabel
* Fit a unidimensional model for the PROMIS items, using PROMIS item bank parameters:
/* This is the Mplus code (not Stata code):
DATA:
FILE = promis.dat ;
VARIABLE:
NAMES = prdep1 prdep2 prdep3 prdep4 prdep5 prdep6 prdep7 prdep8 ;
MISSING ARE ALL (-9999) ;
CATEGORICAL = prdep1-prdep8 ;
MODEL:
dep by
;
[prdep1$ prdep1$ prdep1$ prdep1$
prdep2$ prdep2$ prdep2$ prdep2$
prdep3$ prdep3$ prdep3$ prdep3$
prdep4$ prdep4$ prdep4$ prdep4$
prdep5$ prdep5$ prdep5$ prdep5$
prdep6$ prdep6$ prdep6$ prdep6$
prdep7$ prdep7$ prdep7$ prdep7$
prdep8$ prdep8$ prdep8$ prdep8$ ;
dep@1 ;
*/
/* Fit a unidimensional model for both the PROMIS and PHQ-9 items,
with the PROMIS items fixed to PROMIS-1 item parameters: */
* Prepare a data file for Mplus:
use migration, clear
preserve
keep prdep1-prdep8 dep1-dep9
recode _all (.=-9999)
outsheet using "promisphq.dat", nolabel
/* Mplus code for the unidimensional model with all PROMIS and PHQ-9 items:
DATA:
FILE = promisphq.dat ;
VARIABLE:
NAMES = prdep1 prdep2 prdep3 prdep4 prdep5 prdep6 prdep7 prdep8 dep1 dep2 dep3 dep4 dep5 dep6 dep7 dep8 dep9 ;
MISSING ARE ALL (-9999) ;
CATEGORICAL = prdep1-dep9 ;
MODEL:
dep by dep1* dep2-dep9
;
[prdep1$ prdep1$ prdep1$ prdep1$
prdep2$ prdep2$ prdep2$ prdep2$
prdep3$ prdep3$ prdep3$ prdep3$
prdep4$ prdep4$ prdep4$ prdep4$
prdep5$ prdep5$ prdep5$ prdep5$
prdep6$ prdep6$ prdep6$ prdep6$
prdep7$ prdep7$ prdep7$ prdep7$
prdep8$ prdep8$ prdep8$ prdep8$ ;
dep@1 ;
ESM3.doc
Flow chart for Steps 3 and 4 (Table 1), as implemented in ESM4.do, ESM5.do and ESM6.do.
Electronic supplementary material for "Migrating from a legacy fixed format measure to CAT administration: calibrating the PHQ-9 and the PROMIS depression measures" in Quality of Life Research by Laura E. Gibbons, Betsy Feldman, Heidi Crane, Michael Mugavero, James H. Willig, Donald Patrick, Joseph Schumacher, Michael Saag, Mari Kitahata, and Paul Crane. Corresponding author: Laura Gibbons, University of Washington, .
This is the flowchart for ESM4.do, which calls ESM5.do and ESM6.do for the steps indicated in the chart. We start with our data and the item bank parameters, and end with PHQ-9 scores on the PROMIS metric.
The section of code that completes each arrow above is labeled in the .do files with ***** and the exact text associated with each arrow above, for ease of use.
Step 3 [Using both PROMIS and legacy items, estimate the legacy parameters with the PROMIS items fixed to the PROMIS item bank parameters] is achieved when the PHQPRO3.par file is created. Step 4 [Use the legacy items and the parameters obtained in step 3 to estimate scores. These scores will be on the PROMIS metric] is the remainder of the program. In the text we broke these steps down to 3a, 3b, 3c, 4a, and 4b, and the code also has the corresponding labels.
ESM4.do
/* This is the master do file to score a legacy measure on the
same metric as the corresponding PROMIS measure.
Electronic supplementary material for "Migrating from a legacy fixed format measure to CAT administration: calibrating the PHQ-9 and the PROMIS depression measures" in Quality of Life Research by Laura E. Gibbons, Betsy Feldman, Heidi Crane, Michael Mugavero, James H. Willig, Donald Patrick, Joseph Schumacher, Michael Saag, Mari Kitahata, and Paul Crane. Corresponding author: Laura Gibbons, University of Washington, . */
* This data set contains the PROMIS items prdep1-prdep8, the depression items dep1-dep9, and an id variable (id):
use migration, clear
* You will need the user-written Stata program -prepar- installed if you don't have it already.
ssc install prepar
* If you already have -prepar- installed, make sure it's updated.
adoupdate prepar, update
***** Freely estimate parameters *****
/* Step 3a (in the methods section).
First we create a Parscale parameter file to edit. Use the option
scale(1) because PROMIS item parameters use no scaling factor.
minsize(1) will prevent small response categories from being combined.
Note that you must have at least one observation in each PROMIS response
category. You may need more than that for Parscale to converge.
List the PROMIS items first (prdep1-prdep8), then the legacy items
(dep1-dep9), if you will be using ESM5.do or ESM6.do. */
prepar prdep1-prdep8 dep1-dep9, id(id) runname(PHQPRO1) minsize(1) ///
scale(1) all(1) cleanup(2)
***** Put PROMIS item bank parameters in Parscale format *****
***** Substitute item bank parameters *****
/* Step 3b.
Edit the PHQPRO1.PAR parameter file to put in PROMIS I parameters
(found in Depression_par.csv).
Call the new file PHQPRO2.PAR
PHQPRO2.PAR will be a Parscale parameter file with the PROMIS
items fixed to the PROMIS item bank values.
You can adapt ESM5.do for your use or follow the "by hand"
instructions in that file. */
preserve
run ESM5.do
restore
***** Fix PROMIS items *****
/* Step 3c.
Estimate parameters for the PHQ-9 items, with the PROMIS items
fixed to PROMIS I.
The prepar options par(PHQPRO2) and skip(prdep1-prdep8) tell Parscale to use
the parameter values from PHQPRO2 for prdep1-prdep8 (the PROMIS items). In other words, the PROMIS items will be fixed (estimation will be "skipped") and the
PHQ-9 items will be freely estimated. */
prepar prdep1-prdep8 dep1-dep9, id(id) runname(PHQPRO3) minsize(1) ///
par(PHQPRO2) skip(prdep1-prdep8) scale(1) all(1) cleanup(2)
***** Remove PROMIS items *****
/* Step 4a.
Edit PHRPRO3.par to create a Parscale parameter file for just the PHQ9 items.
Call the new file PHQPRO4.PAR.
You can adapt ESM6.do for your use or follow the "by hand"
instructions in that file. */
preserve
run ESM6.do
restore
***** Calculate scores *****
/* Step 4b.
Calculate PHQ-9 scores on the PROMIS metric!
Use PHQPRO4.par for the parameter file.
All participants who completed the PHQ-9 can be included in this run,
even if they didn't complete the PROMIS short form. In that case, open the
full data set before this step. */
prepar dep1-dep9, id(id) runname(PHQPRO) minsize(1) scale(1) ///
par(PHQPRO4) all(1) cleanup(2)
label variable thetaPHQPRO "PHQ-9 on PROMIS metric"
label variable sethetaPHQPRO "SE of PHQ-9 on PROMIS metric"
/* These ability estimates aren't needed; we just wanted the parameter files.
Or you can keep thetaPHQPRO3 sethetaPHQPRO3 if you want a score on the
PROMIS metric that uses all 17 items (3c). */
drop thetaPHQPRO1 sethetaPHQPRO1 thetaPHQPRO3 sethetaPHQPRO3
* Erase all but the final parameter file - unless you want them.
* Note that PHQPRO4.PAR and PHQPRO.PAR have the same parameters.
forvalues x=0/3 {
erase PHQPRO`x'.par
}
* Save your data set.
save migration, replace
ESM5.do
/* This fixes the PROMIS parameters to the PROMIS item bank values, by substituting the PROMIS I item parameters for the estimated item parameters in the Parscale file.
PROPHQ1.par (a Parscale parameter file) and Depression_par.csv (a comma delimited file with the PROMIS item bank parameters) are the inputs, and PROPHQ2.par is the output.