Oct 26 1998 Modified Charlson Comorbidity Index macro 0. Introduction --------------- The Charlson Comorbidity Index (CCI) is a method of classifying prognostic comorbidity in longitudinal studies[1]. It was originally developed empirically, based on the one-year mortality from an inception cohort of 604 patients admitted to the medical service at New York Hospital during one month in 1984. The ability of the index to predict one-year mortality from comorbid disease was then tested in a cohort of 685 patients treated for primary breast cancer at Yale New Haven Hospital between 1962 and 1969. In Charlson's original paper, comorbidities were described in detail but no ICD-9-CM codes were provided. Two methods for mapping these descriptions to ICD-9-CM codes have been presented, one due to Deyo et al., and one resulting from a Dartmouth-Manitoba collaboration[2]. This macro is based on the Dartmouth-Manitoba version. 1. Requirements --------------- The macro requires a sample of hospital claims containing ICD-9-CM diagnosis and procedure codes, an individual identifier, a date variable, and a zero/one variable flagging one record per person as the index event. If more than one record is flagged as index, the first one chronologically is chosen. The file can consist of only index records, in which case XCHRLSON and PCHRLSON will be identical. Date variables must be character strings with a length of 6 in the format YYMMDD. If you wish to use SAS dates or century then the macro must edited on line 669 (DIFF = INPUT(IADMDATE,YYMMDD6.) - INPUT(&DATEADM,YYMMDD6.)) 2. Output ---------- Two variables are added to the input dataset: XCHRLSON, the value of the Dartmouth-Manitoba CCI derived from ICD codes found only on the index record, and PCHRLSON, which includes codes found on all records admitted within one year prior to the index admission date. 3. Example ---------- The macro is invoked as follows: _charlsn data=test out=output id=phin91 dateadm=dateadm datesep=datesep diags=dx01-dx16 procs=op01-op12 index=amp tables=yes debug=no; DATA The SAS dataset containing the hospital claims. OUT The name of the output dataset, containing all variables found on DATA, along with XCHRLSON and PCHRLSON. ID Variable identifying individuals on the dataset. DATEADM Variable containing date of admission. Must be character string (YYMMDD). DATESEP Variable containing date of separation. Must be character string _not_ SAS date (YYMMDD). DIAGS Range of diagnosis variables (eg. dx01-dx16). PROCS Range of procedure code variables (eg. op01-op12). INDEX Variable flagging index admission. Must be coded 1=index, 0=not index. TABLES tables=yes requests tables of the XCHRLSON and PCHRLSON values, and the frequency of the individual components of the indices (such as PVD, COPD, etc.). Default is no. DEBUG debug=yes turns on NOTES and MPRINT options. Default is no. References: [1] Charlson, ME, Pompei P, Ales KL, McKenzie CR: A new method of classifying prognostic comorbidity in longitudinal studies: development and validation. J Chron Dis 1987; 40(5):373-383 [2] Romano PS, Roos LL, Jollis J: Adapting a clinical comorbidity index for use with ICD-9-CM administrative data: Differing perspectives. J Clin Epidemiol 1993;46(10):1075-1079 Example Run: options implmac; * Choose lower-limb amputations from sample of hospital claims; data test; set cpe.hospital(keep=phin91 dateadm datesep dx01-dx16 op01-op12); array procs(12) op01-op12; amp=0; do i=1 to 12 while(procs{i} ne ' '); if '841 '<=procs{i}<='8419' and amp=0 then do; amp=1; end; end; run; * Keep only claims for PHINs having the procedure; proc sort data=test; by phin91 descending amp; run; data test; set test; by phin91 descending amp; retain del; if first.phin91 and amp=0 then del=phin91; if phin91=del then delete; drop del; run; * Attach Charlson values; _charlsn data=test out=output id=phin91 dateadm=dateadm datesep=datesep diags=dx01-dx16 procs=op01-op12 index=amp tables=yes debug=no;