help for charlson                               (Adapted for Stata by V. Stagg,
                                     under the direction of Dr. Robert Hilsden,
                                    from SAS programs created by Dr. Hude Quan)

Charlson comorbidity index macro

charlson varlist [if exp] [in range] , icd(string) [idvar(varname) cmbprfx(string) assign0 wtchrl cmorb noshow]

by may be used with charlson; see help by


charlson calculates the Charlson Index from an input database of ICD-9-CM, ICD-10 or Enhanced ICD-9-CM comorbidity diagnoses codes. The ICD version must be specified (a required option). The input data of diagnoses codes must be stored as strings, with numbers 1 to the maximum number of comorbidities recorded, forming the suffix. These comorbidity variables must all begin with the same root(the prefix) and either form the varlist or be defined by the root string given in the cmbprfx(string) option. The user has the choice of units: hospital visits or patients. The former is the default, the latter will be implemented when a patient id variable is included in the options (see below). If requested, charlson displays a frequency distribution of the Charlson Index score, as well as summaries of the sum of the weighted scores, from which the CI is derived. The charlson command also allows for the choice of presenting the intermediate frequency summaries for each of the individual diagnostic comorbidity categories. Weighting of the charlson scores in each category follows the optional hierarchy adjustments, which ensure that only the more severe comorbidity of a type is counted, if desired.


icd(string) is required to specify the version of comorbidity data being input. Type within the brackets after cmd:

Version of CMD data String value for icd option ------------------------------------------------------------- ICD-9-CM 9 ICD-10 10 Enhanced ICD-9 9enh

idvar(varname) is required when the input comorbidity data could possibly contain multiple patient records, that is, comorbidity information from more than one hospital visit per patient. The unit will then be patients rather than visits.

cmbprfx(string) is required to provide the root of the comorbidity variable names when the comorbidity variables are not listed as the varlist immediately following the program name.

assign0 indicates that a hierarchy of comorbities be applied. This means that, should a more severe form of a comorbidity be also present in a patient, then the more mild form will be assigned to 0 and thus not be counted as well. This ensures that a type of comorbidity is not counted more than once in each patient. The absence of this option implies that no hierarchy be applied.

wtchrl causes the summary of the charlson index and the weighted charlson values be shown in the display window, after the macro has finished running. The absence of this option implies that these summaries be not shown.

cmorb causes the frequency of each individual comorbidity to be shown on the display window, after the macro has finished running. The absence of this option implies that these frequncies be not shown.

noshow requests that the summary of selected options be not displayed in the results window, at the start of the running of the program.


If the patient id variable option is not specified then the data cannot be sorted by patient and multiple patient records cannot be taken into account. Instead, every observation will be considered independent from every other, with each observation representing a unique patient-visit, causing the unit to be visits.


. charlson, icd(10) idvar(ip_chart_no) cmbprfx(ip_diag) wtchrl cmorb

. charlson DX1-DX16, icd(9) assign0 noshow

. charlson DX? DX??, icd(9enh) idvar(acb_numb) assign0 wtchrl

. charlson ip_diag*, icd(10) idvar(rec_id)

. charlson, icd(10) idvar(rec_id) cmbprfx(dx_code_)


Quan H, Sundararajan V, Halfon P, et al. Coding algorithms for defining comorbidities in ICD-9-CM and ICD-10 administrative data. Medical Care 2005 Nov; 43(11):1073-1077.

Quan H, Parsons GA, & Ghali WA. Validity of Information on Comorbidity Derived from ICD-9-CM Administrative Data. Medical Care 2002 Aug; 40(8):675-685.

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 May; 40(5): 373-383.


Vicki Stagg, University of Calgary, CANADA