Charlson Comorbid coding (pre ICD10)
The Charlson Comorbid score is the sum of points for all Comorbid Diagnoses that have a Charlson score associated with them. Media:Charlson ii article page 2 19 items with points.JPG
Data Structure
The Charlson Comorbid Diagnosis codes have been mapped to the Critical Care/Medicine diagnosis coding schema.
See List of diagnosis codes corresponding to Charlson Comorbidities (pre ICD10).
The Charlson Comorbid diagnoses and their scores are a subset of s_AllDiagnoses table table in CCMDB.accdb. Actual values are stored in stored in the L_Como table.
SAS coding macro comorbid3
The statistician has a SAS macro called "comorbid3" that calculates the score for data after import. This is important because the addition of points has exceptions for mutually exclusive dxs (eg mild and severe diabetes).
Summary: Add dx scores except following:
- score only the higher of
- diabetes vs diabetes with end organ disease
- mild liver disease vs moderate or severe liver disease
- only one count in case there are several metastatic solid tumors
sas code
as of 2015-09-22
if Charlson_category='AIDS ' then Comopts=6; if Charlson_category='CHF ' then Comopts=1; if Charlson_category='CVA ' then Comopts=1; if Charlson_category='Dementia ' then Comopts=1; if Charlson_category='Diabetes ' then do; **mutually exclusive**; if ComorbidCode in (30089) then Comopts=2; else Comopts=1; *Diabetes has pt=1 while Diabetes with chronic comp has pt=2 *; end; if Charlson_category='Leukemia ' then Comopts=2; if Charlson_category='Liver ' then do; **mutually exclusive**; if ComorbidCode in (40787,40887) then Comopts=1; else Comopts=3; *Mild liver disease has pt=1 while moderate/severe liver disease has pt=3 *; end; if Charlson_category='Lymphoma ' then Comopts=2; if Charlson_category='MI ' then Comopts=1; if Charlson_category='Malignancy' then do; **mutually exclusive**; if ComorbidCode in (70001,70101,70201,70301,70401,70501, 70601,70701,70801,70901,71001,71101, 71201,71301,71401,71501,71601,71701, 71801,71901,72001,72101,72201,72301, 72401,72501,74901,74901,74800,74801 ) then Comopts=6; * any tumor has pt=2 while Solid Tumor has pt=6 *; else Comopts=2; end; if Charlson_category='PVD ' then Comopts=1; if Charlson_category='connective' then Comopts=1; if Charlson_category='plegia ' then Comopts=2; if Charlson_category='pulmonary ' then Comopts=1; if Charlson_category='renal ' then Comopts=2; if Charlson_category='ulcer ' then Comopts=1;
CCMBD.mdb
queries
- s_charlson_score
sums the scores in
- s_charlson__combined
which unions (ie no duplicates)
- s_charlson_adm - list of scores for the highest-scoring admit dx per charlson category
- s_charlson_como - list of scores for the highest-scoring comorbid dx per charlson category
function Charlson_score_function
The function Charlson_score_function (Pat_ID) in CCMDB.accdb looks up and returns the score in query s_charlsonScore.