CMS Risk Adjustment
implemented the Hierarchical Condition Categories (HCC) model in 2004
to adjust capitation payments to Medicare Advantage plans
for the health expenditure risk of their enrollees.
CMS' Risk Adjustment
materials include a lot of information such as an
The 2012 Version 12 model expects two datafiles: PERSON and DIAG.
The variables needed in the PERSON dataset from the enrollment file are the following:
|Variable Name||Variable Type||Description|
|HICNO||Character or Numeric||Beneficiary identifier|
|SEX||Character||Sex of a a beneficiary, "1"=male; "2"=female.|
|DOB||Date||Date of birth of a a beneficiary in SAS date format (January 1, 1960 = 0)|
|MCAID||Numeric||1 = Number of State Part B BUYIN (Medicaid) Months of base year > 0; 0 = Otherwise |
|NEMCAID||Numeric||1 = if a new enrollee and number of State Part B BUYIN (Medicaid) Months of base year > 0; 0 = Otherwise |
|OREC||Character||Original reason for entitlement, "0" - old age (OASI); "1" - disability (DIB); "2" - End Stage Renal Disease (ESRD); "3" - both DIB and ESRD|
The variables needed in the DIAG dataset from the MedPAR, outpatient, and carrier data are the HICNO and DIAG, the ICD-9-CM diagnosis code
(1) principal hospital inpatient
(2) secondary hospital inpatient
(3) hospital outpatient
(4) physician, and
(5) clinically-trained non-physicians (e.g. psychologist, podiatrist).
CMS delivers the SAS code model files with ".TXT" extensions. By convention, SAS code usually has a ".sas" extension.
The 2012 Version 12 main program
calls the main macro program
which in turn calls
SAS can create new variables using formats. The models use the diagnosis codes to create Condition Categories (CCs).
Then the program creates hierarchical condition codes by imposing hierarchies on the CCs.
CMS delivers the formats as SAS transport files and (usually) also as a text file for reference.
The SAS transport files can (and have been!) converted to regular SAS data files using SAS' PROC CIMPORT.
using the HCC 2014 Version 12 final model on
made up input data
and the data the model
is available. The 2014 HCC 12 model uses ICD9 codes.
Made up input data files for the
HCC 2016 Version 22
model are available too. The HCC 2016 22 model can use ICD9 or ICD10 codes.
Jean Roth set up the Risk Adjustment materials here
to make it a bit easier to get familiar with the CMS Risk Adjustment software model materials.
CMS Risk Adjustment Model Materials
The risk adjustment software and files often have names like the following:
|AGESEX*TXT|| macros to create demographic variables used in regressions.|
|EDITICD9.TXT||macros to make age/sex edits on ICD9 codes|
|F*TXT|| cross-walk from ICD9 codes to CC categories|
|SCOREVAR.TXT||macro to calculate SCORE variable|
|V12H70H.TXT|| HCC HIERARCHIES: version 12 of HCCs only 70 CMS HCCs are included|
|V12H70L1.TXT|| HCC version 12 labels for 70 HCCs|
|V12H70M.TXT|| to assign additional CC for some ICD9s|
|Vnnnn?1M.TXT|| Main SAS macro. Creates HCC and score variables for each person who is present in a person file.|
|R02X78H1.TXT||RXHCC hierarchies for RXHCCs that are included in software|
|R02X78M2.TXT||to assign multiple RXs for some ICD9s codes|
|R*P.TXT|| Job Control Language (JCL) for IBM mainframe |
|R*EDIT*.TXT|| age/sex edits on ICD9 codes|
|E?????1M.TXT||creates HCC and score variables for each person who is present in a person file.|
|E*P.TXT|| Job Control Language (JCL) for IBM mainframe |
|E12H70H.TXT|| HCC HIERARCHIES: version 12 of HCCs only 70 CMS HCCs are included|
The files beginning with "R" usually are RxHCC model files.
The files beginning with "E" usually are ESRD model files.
Job Control Language (JCL)
Program of All-Inclusive Care for the Elderly (PACE)
Contact Jean Roth firstname.lastname@example.org with questions, comments, or suggestions.
|Last Update: February 7, 2019
||Created by Jean Roth August 2, 2014|