HCUP Software Tools Tutorial - Accessible Version
Contents:

Welcome to the HCUP Software Tools Tutorial

Thank you for joining us for this Healthcare Cost and Utilization Project, or HCUP, online tutorial on the HCUP software tools. This course presents information on the HCUP software tools currently available for the International Classification of Diseases, Tenth Revision, Clinical Modification/Procedure Coding System (ICD-10-CM/PCS); the Healthcare Common Procedure Coding System (HCPCS), specifically HCUPCS Level I codes, commonly referred to as Current Procedural Terminology (CPT®) codes, and HCPCS Level II codes; and the International Classification of Diseases, Ninth Revision, Clinical Modification (ICD-9-CM).

The HCUP software tools can be applied to HCUP and other administrative databases to create new data elements from existing data, thereby enhancing a researcher's ability conduct analyses.

This tutorial is organized into four modules:
  1. HCUP software Tools for ICD-10-CM Diagnoses
  2. HCUP software Tools for ICD-10-CM Procedures
  3. HCUP software Tools for CPT and HCPCS Level II Services and Procedures
  4. HCUP software Tools for ICD-9-CM Diagnoses and Procedures
Each module is divided into sections that are specific to the HCUP software tools currently available for the respective coding system.

This tutorial is self-paced. Therefore, the time to complete this tutorial will vary based on the individual user's experience. Please note, this tutorial does inot include narration.

Return to Contents


Overview of the HCUP Software Tools Tutorial Structure

This tutorial contains four modules. Each module is divided into sections that are specific to the HCUP software tools currently available for the respective coding system. Each section (i.e., HCUP software tool) is then divided into sub-sections that provide tool-specific details.


Modules
Module 1
The software tools for ICD-10-CM diagnoses include:
  • Clinical Classifications Software Refined (CCSR) for ICD-10-CM Diagnoses
  • Elixhauser Comorbidity Software Refined for ICD-10-CM Diagnoses
  • Chronic Condition Indicator Refined (CCIR) for ICD-10-CM Diagnoses
Module 2
At the time of this tutorial's development, full refined versions of the HCUP software tools for ICD-10-PCS procedures were not yet available. This module is planned to be added to this tutorial in 2021.
Module 3
The HCUP software tools for CPT and HCPCS Level II services and procedures include:
  • Clinical Classifications Software for Services and Procedures (CCS-Services and Procedures)
  • Surgery Flags Software for Services and Procedures (Surgery Flags-Services and Procedures
Module 4
The HCUP software tools for ICD-9-CM diagnoses and procedures include:
  • Clinical Classifications Software (CCS) for ICD-9-CM
  • Chronic Condition Indicator (CCI) for ICD-9-CM
  • Elixhauser Comorbidity Software for ICD-9-CM
  • Utilization Flags Software for ICD-9-CM
  • Procedure Classes for ICD-9-CM
  • Surgery Flags Software for ICD-9-CM


Module 1 includes 3 sub-sections:
  1. Clinical Classifications Software Refined (CCSR) for ICD-10-CM Diagnoses
  2. Elixhauser Comorbidity Software Refined for ICD-10-CM Diagnoses
  3. and Chronic Condition Indicator Refined (CCIR) for ICD-10-CM Diagnoses
Each sub-section includes Tool Specific Details.

Return to Contents


Module 1: HCUP Software Tools for ICD-10-CM Diagnoses

Module 1 provides information about the HCUP software tools designed for use with International Classification of Diseases, Tenth Revision, Clinical Modification (ICD-10-CM) diagnosis codes. Starting October 1, 2015, diagnoses for hospital inpatient stays and outpatient encounters in the United States are reported using the ICD-10-CM coding system. These tools can be applied to HCUP and other administrative databases that include ICD-10-CM-coded data to create new data elements from existing data, thereby enhancing a researcher's ability to conduct analyses.

Additional information about the HCUP software tools for ICD-10-CM diagnoses is on the Tools & Software page of the HCUP-US website. Choose the Tools you are interested in learming more about below:

  1. Clinical Classifications Software Refined (CCSR) for ICD-10-CM Diagnoses

  2. The Clinical Classifications Software Refined (CCSR) for ICD-10-CM diagnoses aggregates more than 70,000 ICD-10-CM diagnosis codes into over 530 clinically meaningful categories.

  3. Elixhauser Comorbidity Software Refined for ICD-10-CM

  4. The Elixhauser Comorbidity Software Refined for ICD-10-CM assigns data elements that identify different pre-existing conditions based on secondary diagnoses (i.e., comorbidities) listed on hospital administrative data.

  5. Chronic Condition Indicator (CCI) for ICD-10-CM

  6. At the time of this tutorial's development, a fully refined version of the Chronic Condition Indicator (CCI) for ICD-10-CM was not available. This tool will be added to Module 1 in 2021.
Return to Contents


Module 1 - Clinical Classifications Software Refined (CCSR) for ICD-10-CM diagnoses

The Clinical Classifications Software Refined (CCSR) for ICD-10-CM diagnoses aggregates more than 70,000 ICD-10-CM diagnosis codes into over 530 clinically meaningful categories.

Information on the CCSR for ICD-10-CM diagnoses is organized by the six subsections below. Additional information is also available on the CCSR for ICD-10-CM diagnoses page of the HCUP-US website.

This tutorial will follow the below outline:

  • Overview
  • Key Characteristics
  • Applying the Tools to Your Data
  • Documentation
  • Use Case Examples
  • Test Your Knowledge
Return to Contents


Overview of the CCSR for ICD-10-CM Diagnoses

The CCSR for ICD-10-CM aggregates more than 70,000 ICD-10-CM diagnosis codes into over 530 clinically meaningful categories. The categories are organized across 21 body systems, which generally follow the structure of the ICD-10-CM diagnosis chapters. The CCSR for ICD-10-CM diagnoses can be applied to both inpatient and outpatient administrative data.

The CCSR for ICD-10-CM is updated annually to coincide with fiscal year updates to the ICD-10-CM diagnosis coding system and retains diagnosis codes valid from the start of ICD-10-CM in October 2015. For this reason, it is advisable to always use the most recent version of the tool.


ICD-10-CM Codes CCSR Categories
I2101  I2102  I2109  I2111  I2119  I2121  I2129  I213   I214  I219  I21A1  I21A9  I220  I221  I222 I228  I229 CIR009: Acute myocardial infarction
K251  K253  K255  K257  K259  K261  K263  K265   K267  K269  K271  K273  K275  K277  K279  K281   K283  K285  K287  K289 DIG005: Gatroduodenal ulcer


CCSR Body Systems

CCSR categories are organized across body systems, which generally follow the structure of the ICD-10-CM diagnosis chapters. The table below provides a complete list of all body systems within the CCSR tool.
ICD-10-CM Body System (largely aligned with ICD-10-CM chapters)
Certain infectious and parasitic diseases
Neoplasms
Diseases of the blood and blood-forming organs and certain disorders involving the immune mechanism
Endocrine, nutritional and metabolic diseases
Mental, behavioral and neurodevelopmental disorders
Diseases of the nervous system
Diseases of the eye and adnexa
Diseases of the ear and mastoid process
Diseases of the circulatory system
Diseases of the respiratory system
Diseases of the digestive system
Diseases of the skin and subcutaneous tissue
Diseases of the musculoskeletal system and connective tissue
Diseases of the genitourinary system
Pregnancy, childbirth and the puerperium
Certain conditions originating in the perinatal period
Congenital malformations, deformations and chromosomal abnormalities
Symptoms, signs and abnormal clinical and laboratory findings, not elsewhere classified
Injury, poisoning and certain other consequences of external causes
External causes of morbidity
Factors influencing health status and contact with health services
Development of the CCSR

The Clinical Classifications Software (CCS) was originally developed for ICD-9-CM diagnoses, and the CCS was translated to ICD-10-CM prior to the availability of ICD-10-CM-coded data and released as a beta version. Once ICD-10-CM-coded data became available, the beta versions of the CCS were evaluated using the HCUP databases and unexpected discontinuities between the CCS for ICD-9-CM and beta versions of the CCS for ICD-10-CM were revealed.

These findings led to the development of the CCSR for ICD-10-CM. The CCSR for ICD-10-CM provides a means by which to identify specific clinical conditions using ICD-10-CM diagnosis codes. The CCSR for ICD-10-CM capitalizes on the specificity of the ICD-10-CM coding scheme by creating new clinical categories that did not exist in the CCS for ICD-9-CM and beta versions of the CCS for ICD-10-CM. In addition, ICD-10-CM codes may be classified into more than one CCSR category.

The refinement process was informed by American Health Information Management Association-certified ICD-10-CM trainers and supported by a team of clinical experts. The team extensively reviewed the CCSR at each stage of its development using the HCUP State databases for quality control testing.

The CCSR for ICD-10-CM replaces the beta version of the CCS for ICD-10-CM and will be updated annually as new ICD-10-CM codes become available. The beta version of the CCS includes ICD-10-CM codes valid through September 2019 and will not be updated for codes added after October 2019 (fiscal year 2020).

For additional information on the refinement process of the CCSR for ICD-10-CM diagnoses, refer to the CCSR for ICD-10-CM diagnoses page of the HCUP-US website.

Return to Contents


Key Characteristics of the CCSR for ICD-10-CM Diagnoses

  • Number of categories:
    The CCSR for ICD-10-CM includes over 530 categories.


  • Category naming convention:
    The naming convention of the CCSR for ICD-10-CM categories uses a three-character body system abbreviation followed by three digits.

    The table below provides the three-character abbreviation that is used for each ICD-10-CM body system. Individual CCSR categories are numbered sequentially in each body system with the numbering scheme starting at "001" within each body system (i.e., there is a CCSR 001 for each body system).


ICD-10-CM Body System (largely aligned with ICD-10-CM chapters) Three-Character Abbreviation
Certain infectious and parasitic diseases INF
Neoplasms NEO
Diseases of the blood and blood-forming organs and certain disorders involving the immune mechanism BLD
Endocrine, nutritional and metabolic diseases END
Mental, behavioral and neurodevelopmental disorders MBD
Diseases of the nervous system NVS
Diseases of the eye and adnexa EYE
Diseases of the ear and mastoid process EAR
Diseases of the circulatory system CIR
Diseases of the respiratory system RSP
Diseases of the digestive system DIG
Diseases of the skin and subcutaneous tissue SKN
Diseases of the musculoskeletal system and connective tissue MUS
Diseases of the genitourinary system GEN
Pregnancy, childbirth and the puerperium PRG
Certain conditions originating in the perinatal period PNL
Congenital malformations, deformations and chromosomal abnormalities MAL
Symptoms, signs and abnormal clinical and laboratory findings, not elsewhere classified SYM
Injury, poisoning and certain other consequences of external causes INJ
External causes of morbidity EXT
Factors influencing health status and contact with health services FAC


  • Category assignment is not mututally exclusive:

    Category assignment is not mututally exclusive; an ICD-10-CM diagnosis code can be cross-classified to multiple CCSR categories.

    Cross-Classification of ICD-10-CM Diagnosis Codes in the CCSR

    In ICD-10-CM, it is not uncommon for diagnosis code descriptions to encompass multiple diagnoses, manisfestations, or complications. For that reason, it was deemed as important in these cases for an ICD-10-CM diagnosis code to be mapped to more than one CCSR category. Consider the following example, ICD-10-CM diagnosis code I13.0, Hypertensive heart and chronic kidney disease with heart failure and stage 1 through stage 4 chronic kidney disease, or unspecified chronic kidney disease.


Diagnosis Code l13.0
Hypertensive heart and chronic kidney disease with heart failure and stage 1 through stage 4 chronic kidney diseases, or unspecified chronic kidney disease.
CCSR CIR008
Hypertension with complications and secondary hyperternsion
CCSR CIR019
Heart failure
CCSR GEN003
Chronic kidney disease


    This code is mapped to three CCSR categories—CIR008 (Hypertension with complications and secondary hypertension), CIR019 (Heart failure), and GEN003 (Chronic kidney disease). Due to the specificity of this ICD-10-CM diagnosis code, particularly that three different conditions are encompassed in a single code, three CCSR categories are assigned.

  • Output from SAS® software

    In the CCSR for ICD-10-CM, users have the flexibility of choosing between three different file output structures.

    The output file options available for the CCSR for ICD-10-CM are discussed in greater detail in the subsection "Applying the Tool to Your Data."
Default CCSR for Principal or First-Listed Diagnosis

One key characteristic of the CCSR for ICD-10-CM is that a single diagnosis code can be cross-classified to more than one CCSR category. For some applications, such as ranking inpatient hospitalizations by the principal diagnosis, a mutually exclusive categorization scheme is needed. To facilitate this type of analysis, the CCSR tool includes the assignment of a default CCSR category for the principal diagnosis for inpatient data starting with v2020.2 and a default CCSR category for the first-listed diagnosis for outpatient data starting with v2021.1. These defaults are based on recommended assignment rules (referred to as rationales). Users may choose to assign different default CCSR categories for ICD-10-CM codes, based on their own needs and preferences.

Default CCSR Categories for Principal and First-Listed Diagnosis Assignment

ICD-10-CM diagnosis code I13.0, Hypertensive heart and chronic kidney disease with heart failure and stage 1 through stage 4 chronic kidney disease, or unspecified chronic kidney disease, is mapped to three CCSR categories given that the diagnosis code description includes three diagnoses.


Diagnosis Code l13.0
Hypertensive heart and chronic kidney disease with heart failure and stage 1 through stage 4 chronic kidney diseases, or unspecified chronic kidney disease.
CCSR CIR008
Hypertension with complications and secondary hyperternsion
DEFAULT CCSR CCSR CIR019
Heart failure
CCSR GEN003
Chronic kidney disease


The default CCSR category for this code is CIR019, Heart failure. The rationale for this default assignment is that the manifestation (i.e., heart failure) is considered to be more severe than the underlying causes (i.e., hypertension and chronic kidney disease).

Note that the selection of a default CCSR category for the principal or first-listed diagnosis is not applicable in certain instances. These instances differ based on the application of this tool to inpatient versus outpatient data. To learn more, please refer to the User Guide for the CCSR for ICD-10-CM.

Return to Contents


Applying for CCSR for ICD-10-CM Diagnoses to Your Data

Steps for Applying the CCSR for ICD-10-CM to Your Data

To apply the CCSR for ICD-10-CM to HCUP or other administrative databases, the following steps are required:
  1. Download the CCSR for ICD-10-CM software
  2. Understand the file output structure(s)
  3. Modify the SAS® program and run it to apply the CCSR to your data
  4. Check the SAS log and output files to ensure correct application
Downloading the CCSR for ICD-10-CM

A zip folder is available for download on the CCSR for ICD-10-CM diagnoses page of the HCUP-US website, which includes materials to assist users in applying the tool to their data. Users should download and extract the contents of the zip folder containing the CCSR for ICD-10-CM tool to a saved location on their computer.

The zip folder includes two files that make up the CCSR for ICD-10-CM software and three files that make up the supporting documentation. Descriptions about each file are outlined below:

CCSR for ICD-10-CM Software Files
  • DXCCSR_vyyyy-r.csv: One of two files that make up the CCSR for ICD-10-CM software. This is the CSV mapping file that lists ICD-10-CM diagnosis codes along with a description for each ICD-10-CM diagnosis code, the CCSR categories assigned, the full description corresponding to each CCSR category, and the default CCSR, where applicable. This is the input file that the SAS program uses to build the tool. Each individual ICD-10-CM diagnosis code is listed once (on a single row) with the information on the CCSR categories listed across the columns of the CSV file. The year yyyy specifies the fiscal year for which the codes are valid, and the r specifies the release version within the year.

  • DXCCSR_Mapping_Program_vyyyy-r.sas: One of two files that make up the CCSR for ICD-10-CM software. This is the SAS mapping program that applies the CCSR assignments to the user's ICD-10-CM-coded data. The mapping program includes three options for the file structure of the CCSR output. The year yyyy specifies the fiscal year for which the codes are valid, and the r specifies the release version within the year.
CCSR for ICD-10-CM Documentation
  • DXCCSR-User-Guide-vyyyy-r.pdf: One of three files that make up the CCSR for ICD-10-CM documentation. This is the User Guide, which contains additional information about the tool. The year yyyy specifies the fiscal year for which the codes are valid, and the r specifies the release version within the year.

  • DXCCSR-Reference-File-vyyyy-r.xlsx: One of three files that make up the CCSR for ICD-10-CM documentation. This is the reference file (Microsoft® Excel), which includes a list of all ICD-10-CM diagnosis codes with descriptions, assigned CCSR categories with descriptions, identification of the inpatient and outpatient default CCSR categories, and a rationale of the assignment of the default CCSR category. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.

  • DXCCSR-ChangeLog-vyyyyr-vyyyyr.xlsx: One of three files that make up the CCSR for ICD-10-CM documentation. This is a log of changes (Excel) comparing the current version of the CCSR software to the previous version that includes lists of changes in categories and mapping of ICD-10-CM codes into categories. The year yyyy specifies the fiscal year for which the codes are valid, and the r specifies the release version within the year.
Understanding the File Output Structure(s)

Users have the flexibility of choosing between three different file output structures with the CCSR for ICD-10-CM.

  • Vertical file output
    The vertical file output includes one or more observations (i.e., rows) per input record. This file output option provides efficient storage to users with limited disk space and may be preferable to experienced programmers. This output file is automatically created by the SAS mapping program.


  • Horizontal file output
    The horizontal file output includes an array of all CCSR categories. This file output option is a more conceptually straightforward and practical application in that the information is kept at a record level. As a result, this option may be preferable to novice programmers or for analyses with a narrow clinical focus.


  • Vertical file output with default CCSR categories
    The vertical file output with default CCSR categories includes only the default assignment for principal (or first-listed) diagnosis. This file output file option may be preferable to users who are solely interested in conducting an analysis for only the principal or first-listed diagnosis, such as ranking hospitalizations or outpatient encounters.
Modifying the SAS Program and Applying It to Your Data

Users may use the SAS program (DXCCSR_Mapping_Program_vyyyy-r.sas) to apply the tool to their data. Currently, only a SAS program is available. If SAS is unavailable for use, the mapping of diagnosis codes listed in the CSV file can be accessed by other programs. We suggest that the SAS code be used as a guide for the necessary steps in other programming languages.

For the tool to be applied correctly to users' data, certain macro variables or directory paths must be specified or modified within the program, where appropriate. To help with this process, the SAS program includes comments indicating that the "USER MUST MODIFY." If the user does not update the SAS macro variables accordingly, the program will either not run or fail.

The directory paths and macro variables that require modification are organized within the SAS program into one of the following four sections.

Directory paths and macro variables within the SAS program:

  • File locations

    Within the SAS program are three directory paths that the user must modify. These directory paths correspond to the locations on the user's computer where the CCSR CSV mapping file, the input SAS dataset, and the output SAS dataset(s) are stored.

    Specify the full location where the CSV mapping file is stored
    (Modify italic text) → (FILENAME INRAW1) - "Location of CSV file, DXCCSR_vyyyy-r.CSV"

    Specify the folder location where your input SAS dataset is stored
    (Modify italic text) → (LIBNAME IN1) - "Location of input discharge data"

    Choose the folder location where output SAS dataset(s) will be stored
    (Modify italic text) → (LIBNAME OUT1) - "Location of input discharge data"


  • Optional output files

    Three output file structures are available to the user—a vertical file output, a horizontal file output, and a vertical file output with only the default CCSR assignment. Within the SAS program are three macro variables for these optional output files that the user must modify. By default, the macro variables are set to "1" within the program, indicating that the files will be created. If a user is not interested in one of the files, the value for the respective macro variable should be set to "0."

    Indicate if you wish to build a vertical CCSR output file (1=yes, 0=no)
    (Modify italic text) → %LET VERT=1;

    Indicate if you wish to build a default CCSR output file (1=yes, 0=no)
    (Modify italic text) → %LET DFLT=1;

    Indicate if you wish to build a horizontal CCSR output file (1=yes, 0=no)
    (Modify italic text) → %LET HORZ=1;


  • Input characteristics

    Within the SAS program are eight macro variables corresponding to input characteristics within the user's input SAS dataset. Each macro variable has a default value that users must modify to match their input dataset.

    Specify the type of data that are used - Inpatient only (IP), oupatient only (OP), or mixture of inpatient and outpatient (IO)
    (Modify italic text) → %LET DBTYPE=IP;

    Specify the name of the data element that can be used to distinguish inpatient from outpatient records (use if data contains mixture of these data types)
    (Modify italic text) → %LET IOVAR=dbtype;

    Specify the value that indicates an inpatient record in the data element that can be used to distinguish inpatient from outpatient records (use if data contain mixture of these data types)
    (Modify italic text) → %LET IOVALI=IP;

    Specify the value that indicates an outpatient record in the data element that can be used to distinguish inpatient from outpatient records (use if data contain mixture of these data types)
    (Modify italic text) → %LET IOVALI=OP;

    Specify the unique record identifier on your input dataset
    (Modify italic text) → %LET RECID=KEY;

    Specify the prefix used on the diagnosis fields in your input dataset
    (Modify italic text) → %LET DXPREFIX=I10_DX;

    Specify the maximum number of diagnosis codes on any record in the input dataset
    (Modify italic text) → %LET NUMDX=30;

    If avaialble, specify the diagnosis count field found on any record in your input dataset
    (Modify italic text) → %LET NDXVAR=I10_NDX;


  • File Names

    Within the SAS mapping program are four macro variables that specify naming conventions selected by the user that correspond to four files:

    • Input dataset
    • Vertical output SAS file (this is the default file output)
    • Horizontal output SAS file (this is an optional file output that is created only if the specific macro variable under "Optional Output Files" is set to "1"; otherwise, this is blank)
    • Default CCSR output SAS file (this is an optional file output that is created only if the specific macro variable under "Optional Output Files" is set to "1"; otherwise, this is blank)


    Specify the name of your input dataset (SAS member name)
    (Modify italic text) → %LET CORE=INPUT_SAS_FILE;

    Specify the name of the vertical output SAS file
    (Modify italic text) → %LET VERTFILE=OUTPUT_VERT_FILE_NAME;

    Specify the name of the optional horizontal output SAS file
    (Modify italic text) → %LET HORZFILE=OUTPUT_HORZ_FILE_NAME;

    Specify the name of the optional default CCSR output SAS file
    (Modify italic text) → %LET DFLTFILE=OUTPUT_DFLT_FILE_NAME;
Checking SAS Logs and File Output

To ensure that the SAS program was run correctly, it is recommended that both the SAS logs and output be reviewed. Check the SAS log for errors or warnings to be certain the software was executed without error. In addition, users can generate various types of output to ensure correct application (e.g., prints of records, frequency distributions on the CCSR categories). The output can be used to address specific questions for quality control purposes.

Examples of each file output structure:

Vertical file output

Example of the vertical file using a sample inpatient dataset. Information is shown for one record that has the following eight diagnoses:


List of ICD-10-CM Diagnosis Codes for RECID 1001
RECID I10_DX1 I10_DX2 I10_DX3 I10_DX4 I10_DX5 I10_DX6 I10_DX7 I10_DX8
1001 K8530 A6920 F5000 E8342 T364X5A E876 K5903 T402X5A


The eight diagnosis codes for this one record trigger 11 CCSR categories in the vertical output file.


CSSR Vertical File Output
1 2 3 4 5
RECID OBS DXCCSR DX_POSITION DEFAULT_DXCCSR
1001 1 DIG020 1 N
1001 2 INJ030 1 Y
1001 3 INF009 2  
1001 4 MBD010 3  
1001 5 END016 4  
1001 6 INJ028 5  
1001 7 END011 6  
1001 8 DIGJ025 7  
1001 9 INJ030 7  
1001 10 INJ028 8  
1001 11 MRD018 8  
  1. Column 1 above - the data element "RECID" is the record identifier. The name of this data element will differ based on the user's input data. Users must update accordingly within the SAS mapping program, specifically within the %LET RECID=KEY; macro.

  2. Column 2 above - the number of ICD-10-CM diagnoses on this record triggers a total of 11 CCSR categories. For that reason, there are a total of 11 observations for this record within the vertical file output.

  3. Column 3 above - the data element "DXCCSR" provides the CCSR category for each respective ICD-10-CM diagnosis on the record. One ICD-10-CM diagnosis can correspond to multiple CCSR categories.

  4. Column 4 above - the data element "DX_POSITION" indicates which ICD-10-CM diagnosis code on the record triggered the corresponding CCSR category. A numeric value of "1" indicates the principal diagnosis on an inpatient record.

  5. Column 5 above - the data element "DEFAULT_DXCCSR" provides the default CCSR category for the principal diagnosis on this record. The value "N" indicates that the CCSR category is not the default, whereas the value "Y" indicates the CCSR category is the default. Values are provided only for DX_POSITION=1. DEFAULT_DXCCSR is blank for all remaining ICD-10-CM diagnoses on this record. While not shown in this sample record, it should be noted that if the value for this data element is "X," this indicates that the principal diagnosis is not valid for principal diagnosis assignment according to ICD-10-CM coding guidelines for inpatient data.
Horizonal File Output

Below is an example of the horizontal file using one record from a sample inpatient dataset.

CCSR Horizontal File Output
RECID Obs DXCCSR_
DIG018
DXCCSR_
DIG019
DXCCSR_
DIG020
DXCCSR_
DIG021
DXCCSR_
DIG022
DXCCSR_
DIG023
DXCCSR_
DIG024
DXCCSR_
DIG025
1001 1 0 0 1 0 0 0 0 3

  1. Column 1 above - only the first record is shown for this sample dataset (RECID=1001). In the horizontal file output, there is one row that includes an array of all CCSR categories for each record.

  2. Header row starting with "Obs" - only a small portion of the CCSR array is shown. In its entirety, this array length includes more than 530 data elements corresponding to the number of CCSR categories in the tool. Shown here are CCSR categories DIG018–DIG025.

  3. Row beginning with 1 - the first record includes a numeric value of "1" for DIG020, indicating that this category was triggered only by the principal diagnosis on the record. DIG025 includes a numeric value of "3," indicating that this category was triggered only by a secondary diagnosis on the record. The remaining DIG-related categories shown include a numeric value of "0," which means that none of the diagnoses on the record triggered the respective category. Not shown is a CCSR category with a numeric value of "2," indicating that the category was triggered by both the principal diagnosis and any secondary diagnoses on the record.
Vertical File Output With Only Default CCSR Assignment

Below is an example of the vertical file option with only the default CCSR assignment using a sample of 10 records from an inpatient dataset.


CSSR Default File Output
RECID Obs DEFAULT_DXCCSR_DX1
1001 1 INJ030
1002 2 PRG024
1003 3 RSP005
1004 4 INF002
1005 5 INF002
1006 6 MUS006
1007 7 INF002
1008 8 INF002
1009 9 CIR007
1010 10 MUS006


  1. Column 1 above with header "RECID" - the data element "RECID" is the record identifier. The name of this data element will differ based on the user's input data. Users must update accordingly within the SAS mapping program, specifically within the %LET RECID=KEY; macro.

  2. Column 2 above with header "Obs" - only 10 records are shown for this sample inpatient dataset. Because the purpose of this file is to only provide the default CCSR assignment for the principal (or first-liste

  3. Column 3 above with header "DEFAULT_DXCCSR_DX1" - the data element "DEFAULT_DXCCSR_DX1" provides the default CCSR assignment for the principal (or first-listed) diagnosis on each record. The default CCSR assignment is important for those ICD-10-CM diagnosis codes that map to more than one CCSR category.
Return to Contents


Documentation for the CCSR for ICD-10-CM Diagnoses

Documentation is available to users as a resource on the CCSR for ICD-10-CM diagnoses page of the HCUP-US website.

  • User Guide: The purpose of this document is to provide technical documentation for users interested in applying the CCSR for ICD-10-CM to their data. If interested in learning more about the development of the CCSR, users should consult this report, particularly for information related to how it compares with beta versions of the CCS for ICD-10-CM as well as the general guidelines used for assigning ICD-10-CM diagnosis codes to CCSR categories, including the default assignment for the principal diagnosis or first-listed diagnosis. For users requiring technical guidance, users should also consult this report, particularly for information on the SAS mapping program as well as the file output options.


  • Change Log: The purpose of this document is to compare the latest version of the CCSR for ICD-10-CM to the prior version of the tool and alert users to the specific ICD-10-CM coding changes.


  • Reference File: This document is an important documentation file to users who are interested in the following information:

    • A complete list of all CCSR categories
    • A cumulative list of all ICD-10-CM diagnosis codes and their corresponding CCSR category assignment(s)
    • Where applicable, the default CCSR assignment for the principal diagnosis on inpatient data as well as the first-listed diagnosis on outpatient data. Rationales for the default CCSR assignment are also included.


  • Comparison Report: This report summarizes the comparison of the beta version of the CCS for ICD-10-CM (v2019.1) to the CCSR for ICD-10-CM (v2019.1) by category and by individual diagnosis codes. This report serves as an important resource for users interested in determining the situations where CCSR categories are identical, highly similar, or substantially different when compared with related beta CCS categories on the basis of the ICD-10-CM diagnosis codes that are included within the respective categories.
Return to Contents


Use Case Example for the CCSR for ICD-10-CM Diagnoses

The CCSR for ICD-10-CM aggregates more than 70,000 ICD-10-CM diagnosis codes into over 530 clinically meaningful categories that may be more useful than the individual codes for presenting descriptive statistics.

For example, a researcher may find this useful for ranking purposes—specifically, a ranking of the top 10 most common diagnoses for all inpatient stays in the United States in data year 2017.


Top 10 Most Common Diagnoses for All Inpatient Stays in the United States, 2017
Rank Principal Diagnosis Total Number of Stays Rate of Stays per 100,000
1 Liveborn 3,693,246 1,135.9
2 Septicemia 2,086,154 641.6
3 Osteoarthritis 1,248,744 384.1
4 Heart failure 1,091,295 335.6
5 Chronic obstructive pulmonary disease and bronchiectasis 760,860 234.0
6 Complications specified during childbirth 739,894 227.6
7 Acute myocardial infarction 662,090 203.6
8 Diabetes mellitus with complication 658,460 202.5
9 Pneumonia (except that caused by tuberculosis) 637,180 196.0
10 Cardiac dysrhythmias 612,790 188.5
Source: Agency for Healthcare Research and Quality (AHRQ), Healthcare Cost and Utilization Project (HCUP), National Inpatient Sample (NIS), 2017


As you can see from the table, the most common principal diagnosis in 2017 is Liveborn with a total of 3,693,246 inpatient stays in the United States. Following Liveborn are Septicemia and Osteoarthritis.

Return to Contents


Test Your Knowledge of the CCSR for ICD-10-CM Diagnoses

  1. True or false: Individual ICD-10-CM diagnoses can be mapped to more than one CCSR category?
    • True
    • False


  2. True or false: The beta version of the CCS for ICD-10-CM will continue to be updated for new diagnosis codes.
    • True
    • False


  3. Which use case would benefit from using the default CCSR assignment for the principal diagnosis? Select the best answer.
    • Ranking hospitalizations by principal diagnosis in inpatient data
    • Risk adjustment
    • Analysis using all-listed diagnoses in inpatient data
    • Identification of comorbidities in inpatient data


  4. True or false: The SAS mapping program can be run as is; that is, the user does not need to make any modifications to the program prior to running it on their data.
    • True
    • False


  5. Which output file option is available for the CCSR for ICD-10-CM diagnoses? Select the best answer.
    • Vertical file output that includes one or more observations (i.e., rows) per input record
    • Horizontal file output that includes an array of all CCSR categories
    • Optional vertical file output with only the default assignment for principal (or first-listed) diagnosis.
    • All the above

Answers to Test Your Knowledge of the CCSR for ICD-10-CM Diagnoses

Return to Contents

You have completed the overview of the CCSR for ICD-10-CM diagnoses.

For any questions about the CCSR for ICD-10-CM that cannot be addressed by this tutorial or the tool's documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents


Module 1: Elixhauser Comorbidity Software Refined for ICD-10-CM Diagnoses

The Elixhauser Comorbidity Software Refined for ICD-10-CM assigns data elements that identify different pre-existing conditions based on secondary diagnoses (i.e., comorbidities) listed on hospital administrative data.

Information on the Elixhauser Comorbidity Software Refined for ICD-10-CM is organized by the six subsections below. Additional information is also available on the Elixhauser Comorbidity Software Refined for ICD-10-CM page of the HCUP-US website.

This tutorial will follow the below outline:

  • Overview
  • Key Characteristics
  • Applying the Tools to Your Data
  • Documentation
  • Use Case Examples
  • Test Your Knowledge
Return to Contents


Overview of the Elixhauser Comorbidity Software Refined for ICD-10-CM

The Elixhauser Comorbidity Software Refined for ICD-10-CM assigns data elements that identify different pre-existing conditions based on secondary diagnoses (i.e., comorbidities) listed on inpatient and outpatient administrative data. In health services research, it is often important to control for comorbidities that are not directly related to the reason for the inpatient stay or outpatient encounter as they can impact resource allocation (e.g., length of stay or charges), as well as possibly affect outcomes used to assess the quality of care, such as in-hospital mortality.

The Elixhauser Comorbidity Software Refined for ICD-10-CM is based on the ICD-10-CM diagnosis codes with indicators of whether the diagnoses were present on admission (POA). It is updated annually to coincide with fiscal year updates to the ICD-10-CM diagnosis coding system and retains diagnosis codes valid from the start of ICD-10-CM in October 2015. For this reason, it is advisable to always use the most recent version of the tool.


Secondary ICD-10-CM diagnosis codes and POA indicators Elixhauser Comorbidity Software Refined for ICD-10-CM Comorbidity Measures (38)
Examples
  • Hypertension, complicated
  • Hypertension, uncomplicated
  • Obesity
  • Psychoses


Development of the Elixhauser Comorbidity Software Refined for ICD-10-CM

The Elixhauser Comorbidity Software was originally developed using ICD-9-CM diagnosis codes.1 The software was translated into ICD-10-CM prior to the availability of ICD-10-CM-coded data and released as a beta version. Once ICD-10-CM-coded data became available, the beta version was evaluated by clinical experts. The recommended modifications (implemented in v2021.1) transition the software tool out of its beta status and into the Elixhauser Comorbidity Software Refined.

The Elixhauser Comorbidity Software Refined for ICD-10-CM continues to retain the same clinical intent of defining a comprehensive list of comorbidity measures for use with large administrative databases; however, refinements were made to the clinical criteria used for identification of comorbidities and also with some of the comorbidity measures themselves. The number of comorbidity measures increases from 29 to 38 in v2021.1, with 3 measures added, 5 measures modified to create 12 more specific measures, and 1 measure discontinued.

The Elixhauser Comorbidity Software Refined for ICD-10-CM replaces the beta version of this tool and will be updated annually as new ICD-10-CM codes become available. The beta version of the Elixhauser Comorbidity Software for ICD-10-CM includes ICD-10-CM codes valid through September 2019 and will not be updated for codes added after October 2019 (fiscal year 2020).

For additional information on the refinement process, refer to the Elixhauser Comorbidity Software Refined for ICD-10-CM page of the HCUP-US website.

1 Elixhauser A, Steiner C, Harris DR, Coffey RM. Comorbidity measures for use with administrative data. Med Care. 1998:36(1):8-27. https://www.jstor.org/stable/3766985. Exit Disclaimer Accessed September 5, 2020.

Return to Contents


Key Characteristics of the Elixhauser Comorbidity Software Refined for ICD-10-CM

Total of 38 Comorbidity Measures

Starting with v2021.1 of the Elixhauser Comorbidity Software Refined for ICD-10-CM, there are a total of 38 comorbidity measures.

The table below provides a list of the 38 comorbidity measures included in the Elixhauser Comorbidity Software Refined for ICD-10-CM as well as their associated abbreviations used for data element names in the accompanying SAS® program. The comorbidity measures are alphabetized based on the comorbidity measure's abbreviation.


AIDS:
Acquired immune deficiency syndrome
CBVD:
Cerebrovascular disease
LIVER_MLD:
Liver disease, mild
PUMLCIRC:
Pulmonary circulation disease
ALCOHOL:
Alcohol abuse
CHF:
Congestive heart failure
LIVER_SEV:
Liver disease, moderate to severe
RENLFL_MOD:
Renal failure, moderate
ANEMDEF:
Deficiency anemias
COAG:
Coagulopathy
LUNG_CHRONIC:
Chronic pulmonary disease
RENLFL_SEV:
Renal failure, severe
ARTH:
Arthroplasties
DEMENTIA:
Dementia
NEURO_MOVT:
Neurological disorders affecting movement
THYROID_HYPO:
Hypothyroidism
BLDLOSS:
Chronic blood loss anemia
DEPRESS:
Depression
NEURO_SEIZ:
Seizures and epilepsy
THYROID_OTH:
Other thyroid disorders
CANCER_LEUK:
Leukemia
DIAB_CX:
Diabetes with chronic complications
NEURO_OTH:
Other neurological disorders
ULCER_PEPTIC:
Peptic ulcer with bleeding
CANCER_LYMPH:
Lymphoma
DIAB_UNCX:
Diabetes without chronic complications
OBESE:
Obesity
VALVE:
Valvular disease
CANCER_METS:
Metastatic cancer
DRUG_ABUSE:
Drug abuse
PARALYSIS:
Paralysis
WGHTLOSS:
Weight loss
CANCER_SOLID:
Solid tumor without metastasis, malignant
HTN_CX:
Hypertension, complicated
PERIVASC:
Peripheral vascular disease
 
CANCER_NSITU:
Solid tumor without metastasis, in situ
HTN_UNCX:
Hypertension, uncomplicated
PSYCHOSES:
Psychoses
 


Comorbidity measures that require indicators that the diagnosis was present on admission (POA)

Starting with v2021.1 of the Elixhauser Comorbidity Software Refined for ICD-10-CM, POA indicators are required to assign 18 of the 38 comorbidity measures to identify pre-existing conditions, as opposed to medical conditions that arise during the hospital stay. In contrast, prior versions of the Elixhauser Comorbidity Software used Medicare Severity-diagnosis-related groups (MS-DRGs) to exclude secondary diagnoses related to the principal diagnosis for the inpatient stay.

Additional information on how POA information is used:

How the Elixhauser Comorbidity Software Refined Uses POA Information

For all 18 of the comorbidity measures that use POA information, the secondary diagnosis of interest must be present on admission, identified using the following values of POA:
  • Y indicating the diagnosis was present at the time of admission
  • W indicating the provider is unable to clinically determine whether the condition was present on admission or not
For the cerebrovascular comorbidity measure, there is also criteria that certain diagnoses are not present on admission, identified using the following values of POA:
  • N indicating the diagnosis was not present at the time of admission
  • U indicating that documentation was insufficient to determine whether the condition was present on admission

Some ICD-10-CM diagnosis codes are exempt from POA reporting because they are for circumstances regarding the healthcare encounter or factors influencing health status that do not represent a current disease or injury or that describe conditions that are always present on admission. When exempt codes are included in clinical criteria for a measure that uses POA, the POA value of the code is not considered.

Starting with v2021.1, the Elixhauser Comorbidity Software Refined for ICD-10-CM will not assign the 18 comorbidity measures if the input data to the software does not include POA indicators. POA information is often reported in inpatient data and less frequently in outpatient data. Per the ICD-10-CM Coding Guidelines, the reporting of POA information is required for "all claims involving inpatient admissions to general acute care hospitals or other facilities that are subject to a law or regulation mandating collection of present on admission information."1

1 Centers for Medicare & Medicaid Services; National Center for Health Statistics. ICD-10-CM Official Guidelines for Coding and Reporting FY 2020, Appendix I. www.cms.gov/Medicare/Coding/ICD10/Downloads/2020-Coding-Guidelines.pdf. Accessed September 5, 2020.

Comorbidity measures that do not require POA information

There are 20 comorbidity measures that do not require the use of POA indicators because the condition can be assumed to be pre-existing (e.g., diabetes, AIDS) and not one that arose during hospital care.

Comorbidity measures assignment is not mutually exclusive

Beginning with v2021.1 of the Elixhauser Comorbidity Software Refined for ICD-10-CM, individual diagnosis codes may be assigned to more than one comorbidity measure.

For example, ICD-10-CM diagnosis code I13.2 (Hypertensive heart and chronic kidney disease with heart failure and with stage 5 chronic kidney disease, or end stage renal disease) is included in three comorbidity measures:

  • Congestive heart failure (CHF)
  • Hypertension complicated (HTN_CX)
  • Renal failure, severe (RENLFL_SEV)
Cross-classification of ICD-10-CM diagnoses is deemed necessary to identify all conditions specified within a given code description.

Clinically similar comorbidity measures

There are some comorbidity measures that are clinically similar but differentiated by severity. It is possible for an input record to include an ICD-10-CM diagnosis code that triggers both the less severe and the more serve comorbidity measure. In these cases, the SAS analysis program will assign the input record to only the more severe comorbidity measure:
  • Diabetes, complicated, is assigned over Diabetes, uncomplicated
  • Hypertension, complicated, is assigned over Hypertension, uncomplicated
  • Liver disease, moderate to severe, is assigned over Liver disease, mild
  • Renal failure, severe, is assigned over Renal failure, moderate
  • Metastatic cancer is assigned over Solid tumor without metastasis, malignant and in situ
  • Solid tumor without metastasis, malignant, is assigned over Solid tumor without metastasis, in situ
Return to Contents


Applying the Elixhauser Comorbidity Software Refined for ICD-10-CM to Your Data

Steps for Applying the Elixhauser Comorbidity Software Refined for ICD-10-CM to Your Data

To apply the Elixhauser Comorbidity Software Refined for ICD-10-CM to HCUP or other administrative databases, the following steps are required:
  1. Download the Elixhauser Comorbidity Software Refined for ICD-10-CM
  2. Modify the SAS® program and run it to apply the Elixhauser Comorbidity Software Refined for ICD-10-CM to your data
  3. Check the SAS log and output files to ensure correct application
Downloading the Elixhauser Comorbidity Software Refined for ICD-10-CM

A zip folder is available for download on the Elixhauser Comorbidity Software Refined for ICD-10-CM page of the HCUP-US website, which includes materials to assist users in applying the tool to their data. Users should download and extract the contents of the zip folder containing the Elixhauser Comorbidity Software Refined tool to a saved location on their computer.

The zip folder includes two files that make up the Elixhauser Comorbidity Software Refined for ICD-10-CM software and three files that make up the supporting documentation.

Elixhauser Comorbidity Software Refined for ICD-10-CM Software Files

  • Comorb_ICD10CM_Format_vyyyy-r.sas: One of two files that make up the Elixhauser Comorbidity Software Refined for ICD-10-CM software. This file includes formats for the mapping of ICD-10-CM diagnosis codes into the comorbidity measures, as well as formats that identify ICD-10-CM diagnoses exempt from POA reporting. The year yyyy specifies the fiscal year for which the codes are valid, and the r specifies the release version within the year.


  • Comorb_ICD10CM_Format_vyyyy-r.sas: One of two files that make up the Elixhauser Comorbidity Software Refined for ICD-10-CM software. This file is a SAS analysis program that applies the formats defined in the above file to the user-provided input data. The year yyyy specifies the fiscal year for which the codes are valid, and the r specifies the release version within the year.
Elixhauser Comorbidity Software Refined for ICD-10-CM Documentation

  • Com-ICD10CM-User-Guide-vyyyy-r.pdf: One of three files that make up the Elixhauser Comorbidity Software Refined for ICD-10-CM documentation. This is the User Guide, which contains additional information about the tool. The year yyyy specifies the fiscal year for which the codes are valid, and the r specifies the release version within the year.


  • Com-ICD10CM-ReferncFile-vyyyyr.xlsx: One of three files that make up the Elixhauser Comorbidity Software Refined for ICD-10-CM documentation. This is the reference file (Microsoft® Excel), which includes a list of all ICD-10-CM diagnosis codes with descriptions and the associated comorbidity. Additionally, a list of the comorbidity measures is included along with abbreviations and an indication of whether POA is required. The year yyyy specifies the fiscal year for which the codes are valid, and the r specifies the release version within the year.


  • Comorb-ICD10CM-ChgLog-vyyyyr-vyyyr.xlsx: One of three files that make up the Elixhauser Comorbidity Software Refined for ICD-10-CM documentation. This is a log of changes (Excel) comparing the current version of the tool to a previous version that includes lists of changes in categories and mapping of ICD-10-CM codes into comorbidity measures. The year yyyy specifies the fiscal year for which the codes are valid, and the r specifies the release version within the year.
Modifying the SAS Programs and Applying Them to Your Data

Users may use the SAS programs (Comor_ICD10CM_Format_vyyyy-r.sas [SAS Format Program]; Comorb_ICD10CM_Analy_vyyyy-r.sas [SAS Analysis Program]) to apply the tool to their data. Currently, only SAS programs are available. We suggest that the SAS code be used as a guide for the necessary steps in other programming languages.

For the tool to be applied correctly to users' data, certain macro variables or directory paths must be specified or modified within the SAS Analysis program, where appropriate. To help with this process, the SAS program includes comments indicating that the "USER MUST MODIFY." If the user does not update the SAS macro variables accordingly, the program will either not run or fail.

The directory paths and macro variables that require modification are organized within the SAS Analysis program into one of the following three sections.

The Directory paths and macro variables within the SAS Analysis program

  • File locations

    Within the SAS Analysis program are three directory paths that the user must modify. These directory paths correspond to the locations on the user's computer where the SAS format program, the input SAS dataset, and the output SAS dataset are stored.

    1. Specify the full location where the SAS Forma Program is stored (Modify italic text) → LIBNAME LIBRARY "Location of SAS Format Program"
    2. Specify the folder location where your input SAS dataset is stored (Modify italic text) → LIBNAME IN1 "Location of input dataset"
    3. Choose the folder location where the output SAS dataset will be stored (Modify italic text) → LIBNAME OUT1 "Directory to store output file"


  • Input characteristics

    Within the SAS Analysis program are two macro variables corresponding to input characteristics within the user's input SAS dataset. Each macro variable has a default value that the user must modify to match their input dataset. The input characteristics include 1) an indicator of the maximum number of diagnosis codes on any record in the input dataset, and 2) an indicator of the availability of POA information in the input dataset.

    1. Specify the maximum number of diagnosis coes on any record in the input dataset (Modify italic text) → %LET NUMDX "15;"
    2. Set to 1 if indicators that diagnoses are present on admission (POA) are available in the input data; set to 0 otherwise → (Modify italic text) → %LET POA 1;"


  • File names

    Within the SAS mapping program are two macro variables that specify naming conventions selected by the user that correspond to two files 1) input dataset and 2) output dataset.

    1. Specify the name of your input dataset (SAS member name) (Modify italic text) → %LET CORE "INPUT_SAS_FILE;"
    2. Specify the name of the output SAS file (Modify italic text) → %LET OUT1 "OUTPUT_SAS_FILE;"
Checking SAS Logs and File Output

To ensure that the SAS programs were run correctly, it is recommended that both the SAS logs and output be reviewed. Check the SAS log for errors or warnings to be certain the software was applied correctly. In addition, users can generate various types of output to ensure correct application (e.g., prints of records, frequency distributions on the comorbidity measures). The output can be used to address specific questions for quality control purposes.

Below is an example of just one type of output that can be generated for validation purposes. In this record-level output, two sample records are listed. Within each record is an array of three ICD-10-CM diagnosis codes, an array with corresponding POA assignment, and, for the purposes of this tutorial, the applicable comorbidity measure triggered by the secondary diagnosis codes on the record (I10_DX2 or I10_DX3). Note that in the output generated by the software, there will be an array that includes all 38 comorbidity measures.


Sample Data for the Elixhauser Comorbidity Software Refined for ICD-10-CM
Obs I10_DX1 I10_DX2 I10_DX3 DXPOA1 DXPOA2 DXPOA3 LIVER_MLD
578 C220 B1920 F17200 Y Y Y 1
Obs I10_DX1 I10_DX2 I10_DX3 DXPOA1 DXPOA2 DXPOA3 BLDLOSS
753 0722 08612 09081 Y Y Y 1


  1. Columns 5-7 in the above table ("DXPOA1, DXPOA2, DXPOA3"), recall that starting with v2021.1 of the Elixhauser Comorbidity Software Refined for ICD-10-CM, POA indicators are required to assign 18 of the 38 comorbidity measures to identify pre-existing conditions, as opposed to medical conditions that arise during the hospital stay. These sample data include POA indicators. If POA information is not available on the input dataset, the 18 comorbidity measures will not be assigned.


  2. Column 8 labeled LIVER_MLD AND BLDLOSS" in the above table, LIVER_MLD and BLDLOSS both require POA information in order to be assigned. That is, either the applicable secondary ICD-10-CM diagnosis code has a value of "Y," indicating the condition was present at the time of admission, or "W," indicating the provider was unable to clinically determine whether the condition was present on admission. For both sample records, the corresponding comorbidity measure is set to "1," indicating it was triggered by both an applicable secondary diagnosis code and required POA information. For observation 578, LIVER_MLD was triggered by ICD-10-CM diagnosis code B19.20, Unspecified viral hepatitis C without hepatic coma, which has a POA value of "Y." For observation 753, BLDLOSS was triggered by ICD-10-CM diagnosis code 090.81, Anemia of the puerperium, which has a POA value of "Y."
Return to Contents


Documentation for the Elixhauser Comorbidity Software Refined for ICD-10-CM

Documentation is available to users as a resource on the Elixhauser Comorbidity Software Refined for ICD-10-CM page of the HCUP-US website.

Key pieces of documentation for the Elixhauser Comorbidity Software Refined for ICD-10-CM

  • User Guide: The purpose of this document is to provide technical documentation for users interested in applying the Elixhauser Comorbidity Software Refined for ICD-10-CM to their data. If interested in learning more about the development of the tool, users should consult this report, particularly for information related to how POA information is used as well as what modifications were made to the number of comorbidity measures and the clinical criteria used to identify comorbidities starting with the v2021.1 release. For users requiring technical guidance, users should also consult this report, particularly for information on the SAS programs.


  • Reference File: This document is an important documentation file to users who are interested in the following information:

    • A complete list of all comorbidity measures, their abbreviations, and an indication of whether POA is required for assignment
    • A cumulative list of all ICD-10-CM diagnosis codes and their corresponding comorbidity measure assignment


  • Change Log: The purpose of this document is to compare the latest version of the Elixhauser Comorbidity Software Refined for ICD-10-CM with the prior version of the tool and alert users to the specific ICD-10-CM coding changes.


Use Case Example for the Elixhauser Comorbidity Software Refined for ICD-10-CM

The Elixhauser Comorbidity Software Refined for ICD-10-CM assigns data elements that identify different pre-existing conditions based on secondary diagnoses (i.e., comorbidities) listed on inpatient and outpatient administrative data. In health services research, it is often important to control for comorbidities that are not directly related to the reason for the inpatient stay or outpatient encounter as they can impact resource allocation (e.g., length of stay or charges), as well as possibly affect outcomes used to assess the quality of care, such as in-hospital mortality.

To understand the effect of comorbidities on hospital resources and outcomes, let's consider the following example analysis. A sample inpatient dataset was used to query all inpatient stays with a principal diagnosis of pneumonia, which in this example is defined by the Clinical Classifications Software Refined (CCSR) for ICD-10-CM default category CCSR RSP002 (Pneumonia). Within this group, inpatient stays were further subset based on the presence of Elixhauser Comorbidity Software Refined comorbidity measures as a secondary diagnosis. The average length of stay was compared for inpatient stays with a principal diagnosis of pneumonia without any comorbidities versus those with one comorbidity. Select comorbidity measures were chosen to be included in the output.

Comparison in the Average Length of Stay for Pneumonia-Related Stays, With and Without a Comorbidity


Comorbidity Measure Average Length of Stay, Days
No comorbidity 3.2
Alcohol abuse 2.5
Cerebrovascular disease 4.8
Congestive heart failure 5.2
Neurological disorders affecting movement 9.1
Obesity 3.5
Pulmonary circulation disease 8.4
Solid tumor without metastasis, malignant 3.6


For all comorbidity measures selected, except for alcohol abuse, on average, length of stay is higher than for the group without any comorbidity measures. This demonstrates the propensity for certain comorbidities to result in increased resource use for inpatient stays with a principal diagnosis of pneumonia.

Return to Contents


Test Your Knowledge of the Elixhauser Comorbidity Software Refined for ICD-10-CM

  1. What is the main objective of the Elixhauser Comorbidity Software Refined for ICD-10-CM? Select the best answer.
    • Identify chronic conditions in hospital administrative data
    • Group related ICD-10-CM diagnoses into clinically meaningful categories
    • Identify pre-existing conditions based on secondary diagnoses listed on hospital administrative data
    • Predict in-hospital mortality for certain key conditions


  2. True or false: Beginning with v2021.1 of the Elixhauser Comorbidity Software Refined for ICD-10-CM, the tool can be applied to both inpatient and outpatient administrative data.
    • True
    • False


  3. True or false: The Elixhauser Comorbidity Software Refined for ICD-10-CM assigns data elements that identify different pre-existing conditions (i.e., comorbidities) based on both the principal (or first-listed) diagnosis and secondary diagnoses.
    • True
    • False

Answers to Test Your Knowledge of the Elixhauser Comorbidity Software Refined for ICD-10-CM

Return to Contents

You have completed the overview of the Elixhauser Comorbidity Software Refined for ICD-10-CM! Module 1 is now complete.

For any questions about the Elixhauser Comorbidity Software Refined for ICD-10-CM that cannot be addressed by this tutorial or the tool's documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents


Module 3: HCUP Software Tools for CPT and HCPCS Level II Services and Procedures

Module 3 provides information about the HCUP software tools designed for use with data that contain Healthcare Common Procedure Coding System (HCPCS) Level I (commonly referred to as Current Procedural Terminology [CPT®] codes) and HCPCS Level II codes. These codes are used to report services and procedures by physicians and other healthcare professionals, in addition to provided supplies and durable goods. CPT and HCPCS Level II codes are predominantly found on outpatient administrative data. These tools can be applied to HCUP and other administrative databases that include CPT- or HCPCS Level II-coded data to create new data elements from existing data, thereby enhancing a researcher's ability to conduct analyses.

Additional information about the HCUP software tools for CPT and HCPCS Level II services and procedures is on the Tools & Software page of the HCUP-US website.

This module includes:

Additional information on the HCPCS coding system:

The Healthcare Common Procedure Coding System (HCPCS) is made up of three levels - Current Procedural Terminology (CPT®) codes for HCUPCS Level I codes, HCPCS level II, and HCPCS Level III codes. CPT codes are further divided into three types - CPR Category I, CPT Category II, and CPT Category III.

CPT (or HCPCS Level I)

CPT codes (or HCUPCS Level I codes) represent approximately 80 percent of the HCHPCS codes and are copyrighted and published by the American Medical Association (AMA). There are four types of CPT codes: Category I, Category II, Category III, and Proprietary Laboratory Analyses (PLA). CPT codes are five characters long and can be numeric or alphanumeric, depending on the category. The services and procedures include (but are not limited to) evaluation and management services, diagnostic and therapeutic surgical and nonsurgical procedures, radiological procedures, laboratory tests, and rehabilitative procedures.

More information on CPTs is available on the AMA website. Exit Disclaimer

  1. CPT Category I

    CPT Category I codes are numeric and contain five digits. The codes are organized into one of six sections:
    • Anesthesia (00100–01999)
    • Surgery (10004–69990)
    • Radiology Procedures (70010–79999)
    • Pathology and Laboratory Procedures (80047–89398)
    • Medicine Services and Procedures (90281–99756)
    • Evaluation and Management Services (99201–99499)
    • Multianalyte Assays with Algorithmic Assays (MAAA) (Alphanumeric consisting of four digits followed by the letter "M")
    • Proprietary Laboratory Analyses (PLA) (Alphanumeric consisting of four digits followed by the letter "U")
    More information on CPTs is available on the AMA website. Exit Disclaimer


  2. CPT Category II codes

    CPT Category II codes are alphanumeric containing four digits followed by the letter "F." The purpose of these codes is for supplemental tracking primarily for performance measurement.

    More information on CPTs is available on the AMA website. Exit Disclaimer


  3. CPT Category III codes

    CPT Category III codes are alphanumeric containing four digits followed by the letter "T." These are temporary codes for emerging technology.

    More information on CPTs is available on the AMA website. Exit Disclaimer
HCPCS Level II

HCPCS Level II codes are developed and maintained by the Centers for Medicare & Medicaid Services (CMS) to describe and identify products, supplies, and services not found in the HCPCS/CPT code set (with the exception of codes for dental services, which are maintained by the American Dental Association). HCPCS Level II codes are all five characters long. The five-character code begins with a letter followed by four digits. These codes are used primarily to identify products, supplies, and services not included in the CPT code ranges, such as ambulance services, dental service drugs, infusion additives, devices, durable medical equipment, prosthetics, orthotics, ancillary surgical supplies, nonphysician services, and healthcare supplies.

More information on HCPCS Level II codes is available on the CMS website.

HCPCS Level III

HCPCS Level III codes, also known as local codes, were developed by State Medicaid agencies, Medicare contractors, and private insurers for use in specific programs and jurisdictions. They were discontinued in December 2003.


Module 3: Clinical Classifications Software for Services and Procedures (CCS-Services and Procedures)

The Clinical Classifications Software for Services and Procedures (CCS-Services and Procedures) provides a method for classifying CPT and HCPCS Level II codes into clinically meaningful procedure categories.

Information on the CCSR for ICD-10-CM diagnoses is organized by the six subsections below. Additional information is also available on the CCS-Services and Procedures page of the HCUP-US website.

This tutorial will follow the below outline:
  • Overview
  • Key Characteristics
  • Applying the Tools to Your Data
  • Documentation
  • Use Case Examples
  • Test Your Knowledge
Return to Contents


Overview of the CCS-Services and Procedures

The CCS-Services and Procedures is a procedure categorization scheme that collapses CPT codes and HCPCS Level II codes into more than 240 clinically meaningful categories that facilitate presenting descriptive statistics or understanding patterns.

CPT codes are updated on a calendar year basis with an extensive update effective on January 1 and a limited "early release" of codes effective on July 1.1 HCPCS Level II codes are updated quarterly in January, April, July, and October.2 Typically, the CCS-Services and Procedures tool is updated in the spring of each year to account for the January updates to the two code sets.


CPT or HCPCS Level II Codes CCS-Services and Procedures Categories
60210  60212  60220  60225  60240   60252  60254  60260   60270  60271 CCS 10: Thyroidectomy, partial or complete
0308T  65920  66820  66825   66830  66840  66850  66852   66920  66930  66940  66982 CCS 15: Lens and cataract procedures


1 More information on CPTs is available at the American Medical Association (AMA) website at www.ama-assn.org/practice-management/cpt. Exit Disclaimer

2 More information on HCPCS Level II codes is available on the Centers for Medicare & Medicaid Services (CMS) website at www.cms.gov/Medicare/Coding/MedHCPCSGenInfo/index.


Key Characteristics of the CCS-Services and Procedures

Categories of related CPT or HCPCS Level II codes

The CCS-Services and Procedures groups CPT or HCPCS Level II codes that are clinically meaningful based on the following general organizational themes:


Represent unique procedure types. Example:
CCS 172, Skin graft
Based on body system and further delineated as diagnostic or therapeutic and operating room or non-operating room. Examples:
CCS 173, Other diagnostic procedures on skin and subcutaneous tissue
CCS 174, Other non-operating room therapeutic procedures on skin and breast
CCS 175, Other operating room therapeutic procedures on skin and breas
Capture information on professional service and supply codes. Examples:
CCS 232, Anesthesia
CCS 239, Transportation
Two categories represent unclassified CPT or HCPCS Level II codes. These codes are unclassified because they identify monitoring or performance measures, not products, services, or supplies. CCS 998, CPT codes not classified (includes CPT category II codes ending in "F")
CCS 999, HCPCS codes not classified (includes HCPCS Level II codes starting with "D" or "M1")


Categories are numeric

CCS-Services and Procedures categories are numeric, spanning the range of 1–245 plus two additional categories: 998 and 999.

Category assignment is mutually exclusive

CCS category assignment is mutually exclusive; that is, each CPT or HCPCS Level II code is assigned to only one CCS-Services and Procedures category.

Steps for Applying the CCS-Services and Procedures to Your Data

To apply the CCS-Services and Procedures to HCUP or other administrative databases, the following steps are required:
  1. Agree to a license agreement with the American Medical Association (AMA) for using CPT codes
  2. Download the CCS-Services and Procedures software
  3. Modify the SAS® program and run it to apply the CCS-Services and Procedures to your data
  4. Check the SAS log and output files to ensure correct application
Agreeing to the American Medical Association (AMA) License Agreement

Prior to downloading the CCS-Services and Procedures, users must agree to a license agreement with the AMA for using CPT codes. Once the agreement is accepted, users will be provided with a zip folder that includes all the necessary files for applying the CCS-Services and Procedures to their data.

Return to Contents


Applying the CCS-Services and Procedures to Your Data

Downloading the CCS-Services and Procedures

After accepting this license agreement, a zip folder is available for download. Users should download and extract the contents of the zip folder containing the CCS-Services and Procedures tool to a saved location on their computer.

The zip folder includes two files that make up the CCS-Services and Procedures software and three files that make up the supporting documentation.

CCS-Services and Procedures Software Files

  • CCS_Services_Procedures_vyyyy-r.csv:
    One of two files that make up the CCS-Services and Procedures software. This is the CSV mapping file, which lists ranges of CPT and HCPCS Level II codes, the CCS-Services and Procedures categories assigned, and the full description corresponding to each CCS-Services and Procedures category. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.


  • CCS_Services_Procedures_Mapping_Program_vyyyy-r.sas
    One of two files that make up the CCS-Services and Procedures software. This is the SAS mapping program, which adds the CCS-Services and Procedures to the user's data. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.
CCS-Services and Procedures Documentation

  • CCS-SvcProc-User-Guide-vyyyy-r.pdf:
    One of three files that make up the CCS-Services and Procedures documentation. This is the User Guide, which contains additional information about the CCS-Services and Procedures. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.


  • CCS-SvcPrc-ChgLg_vyyyyr-vyyyyr.xlsx
    One of three files that make up the CCS-Services and Procedures documentation. This file is a log (Microsoft® Excel) comparing current version of the CCS-Services and Procedures software to the previous version of the software, including a list of changes and mapping of CPT/HCPCS code ranges into categories. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.


  • CCS-SvcPrc-Ref-File_vyyyyr.xlsx
    One of three files that make up the CCS-Services and Procedures documentation. This file is a searchable list of the CCS-Services and Procedures categories. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.
Modifying the SAS Program and Applying it to Your Data

Users may use the SAS program (CCS_Services_Procedures_Mapping_Program_vyyyy-r.sas) to apply the tool to their data. Currently, only a SAS program is available. If SAS is unavailable for use, users can access the one-to-one mapping of procedure codes listed in the CSV file by other programs. We suggest that the SAS code be used as a guide for the necessary steps in other programming languages.

For the tool to be applied correctly to users' data, certain macro variables or directory paths must be specified or modified within the program, where appropriate. To help with this process, the SAS program includes comments indicating that the “USER MUST MODIFY.” If the user does not update the SAS macro variables accordingly, the program will either not run or fail.

The directory paths and macro variables that require modification are organized within the SAS program into one of the following three sections.

Directory paths and macro variables within the SAS program

File locations

Within the SAS program are three directory paths that the user must modify. These directory paths correspond to the locations on the user's computer where the CCS-Services and Procedures CSV mapping file, the input SAS dataset, and the output SAS dataset are stored.

  • Specify the full location where the CSV mapping file is store (Modify italic text) → FILENAME INRAW1 "Location of CSV file, CCS_services_procedures_vyyyy-r.CSV"
  • Specify the folder lcoation where your input SAS dataset is stored (Modify italic text) → LIBNAME IN1 "Location of input dataset"
  • Choose the folder location where the output SAS dataset will be stored (Modify italic text) → LIBNAME OUT1 "Directory to store output file"
File names

Within the SAS mapping program are two macro variables (Input dataset and Output dataset) that specify naming conventions selected by the user that correspond to two files:
  • Specify the name of your input dataset (SAS member name) (Modify italic text) → %LET CORE "INPUT_SAS_FILE;"
  • Specifiy the name of the output dataset (SAS member name) (Modify italic text) → %LET SASOUT "OUTPUT_SAS_FILE;"
Input characteristics

Within the SAS program are two macro variables corresponding to input characteristics within the user's input SAS dataset 1)One macro variable includes a default value that users must modify to match their input dataset, and 2) The second macro variable can be used for testing purposes.

  • Specify the maximum number of CPT or HCPCS Level II codes on any record in the input dataset (Modify italic text) → %LET NUMCPT "15;"
  • Specifiy the number of observations to use from your dataset (use MAX for all observations, other values for testing) (Modify italic text) → %LET OBS "MAX;"
Example Record-Level Output for the CCS-Services and Procedures

To ensure that the SAS program was run correctly, it is recommended that both the SAS logs and output be reviewed. Check the SAS log for errors or warnings to be certain the software was executed without error. In addition, users can generate various types of output to ensure correct application (e.g., prints of records, frequency distributions on the CCS fields). The output can be used to address specific questions for quality control purposes. For example, one question a user might ask is whether the CCS-Services and Procedures category array is the same length as the array of the CPT or HCPCS Level II codes. These array lengths should match.

Below is an example of just one type of output that can be generated for validation purposes. In this record-level output, five sample records are listed. Within each record is an array of CPT or HCPCS Level II codes (CPT1–CPT5) and a corresponding array of the CCS-Services and Procedures categories (cpt_ccs1–cpt_ccs5).


CREATE CCD-SERVICES AND PROCEDURES CATEGORIES
TEST CPT or HCPCS LEVEL II DATA
RECID Obs CPT1 CPT2 CPT3 CPT4 CPT5 cpt_ccs1 cpt_ccs2 cpt_ccs3 cpt_ccs4 cpt_ccs5
1001 1 96361 J1885 99284 96375 J7030 231 240 227 231 240
1002 2 87073 87205 10061 99283 87077 206 206 168 227 206
1003 3 99283 J1885 96372 J3490   227 240 231 270  
1003 3 99283 J1885 96372 J3490   227 240 231 270  
1004 4 99285 80047 71260 96374 Q9967 227 233 178 231 243
1005 5 99281         227        


  1. Columns 3-7, is an example dataset that includes a maximum number of five CPT or HCPCS Level II codes on any record. Users must update the %LET NUMCPT macro to indicate the maximum number of codes.


  2. Columns 8-12 is an array of five CCS categories is provided for this example dataset, which corresponds to the length of the input array containing the CPT or HCPCS Level II codes. The value in the CCS array corresponds to the CCS category number. Note that missing CPT or HCPCS Level II codes have a missing CCS category (SAS value ".").


Return to Contents


Documentation for the CCS-Services and Procedures

Documentation is available to users as a resource on the CCS-Services and Procedures page of the HCUP-US website.

Key pieces of documentation for the CCS-Services and Procedures

  • User Guide:
    The purpose of this document is to provide technical documentation for users interested in applying the CCS-Services and Procedures to their data. If interested in learning more about the development of the CCS-Services and Procedures, users should consult this report, particularly for information on the guidelines used for assigning CPT or HCPCS Level II codes to CCS-Services and Procedures categories. For users requiring technical guidance, users should also consult this report, particularly for information on the SAS mapping program.


  • Change Log:
    The purpose of this document is to compare the latest version of the CCS-Services and Procedures software with the prior version of the software and alert users to the specific CPT or HCPCS Level II coding changes.


  • Reference File:
    The purpose of this document is to provide users with a searchable list of the CCS-Services and Procedures categories.


Return to Contents


Use Case Example for the CCS-Services and Procedures

A health services researcher would like to rank utilization by type of procedure. In this case, the researcher may find it helpful to apply the CCS-Services and Procedures to the data, to quickly group the specific CPT and HCPCS Level II codes into clinically meaningful procedure categories.

In this example, a sample dataset is used that included billing records for ambulatory surgeries and other outpatient services for a given State.

The researcher is interested in the top 10 most common procedures, as defined by the CCS-Services and Procedures. For this analysis, a decision was made to use all-listed procedures (that is, all procedures on a record), but if multiple CPT or HCPCS Level II codes get mapped to the same CCS-Services and Procedures category on a given record, the record is counted only once. Note that the latter is not a function of the CCS-Services and Procedures software, but rather a specific decision made for this example analysis.


Top 10 Most Common All-Listed Procedures Number and Percentage of All Ambulatory Surgery and Services Encounters
Rank CCS-Services and Procedures Category CCS-Services and Procedures Category Description Number of Encounters Percentage of All Encounters
1 240 Medications (Injections, infusions and other forms) 267,515 61%
2 234 Pathology 142,105 32%
3 243 DME and supplies 129,789 30%
4 233 Laboratory - Chemistry and Hematology 123,122 28%
5 76 Colonoscopy and biopsy 55,443 13%
6 226 Other diagnostic radiology and related techniques 41,708 9%
7 70 Upper gastrointestinal endoscopy, biopsy 39,021 9%
8 232 Anesthesia 38,519 9%
9 231 Other therapeutic procedures 35,111 8%
10 200 Nonoperative urinary system measurements 32,368 7%


Note: If multiple CPT or HCPCS Level II codes get mapped to the same CCS category on a given record, the record is counted only once.

The most common CCS-Services and Procedures category in this sample dataset is 240, Medications (Injections, infusions, and other forms). A total of 267,515 ambulatory surgery encounters include this CCS-Services and Procedures category, which is 61 percent of all encounters in the sample dataset.

Return to Contents


Test Your Knowledge of the CCS-Services and Procedures

  1. What is the purpose of the CCS-Services and Procedures? Select the best answer.
    • To classify International Classification of Diseases, Ninth Revision, Clinical Modification (ICD-9-CM) procedures into clinically meaningful categories
    • To classify International Classification of Diseases, Tenth Revision, Procedure Coding System (ICD-10-PCS) procedures into clinically meaningful categories
    • To classify CPT or HCPCS Level II procedures into clinically meaningful categories
    • To flag CPT or HCPCS Level II codes as being either a service or a procedure


  2. What file provides a summary of changes between a prior and current version of the CCS-Services and Procedures? Select the best answer.
    • User Guide
    • Change Log
    • SAS mapping program


  3. True or false: Users of the CCS-Services and Procedures are required to make modifications to the SAS mapping program before applying the CCS-Services and Procedures to their data.
    • True
    • False

Answers to Test Your Knowledge of the CCS-Services and Procedures

Return to Contents

You have completed the overview of the CCS-Services and Procedures

For any questions about the CCS-Services and Procedures that cannot be addressed by this tutorial or the tool's documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents


Module 3: Surgery Flags Software for Services and Procedures (Surgery Flags-Services and Procedures)

The Surgery Flags Software for Services and Procedures (Surgery Flags-Services and Procedures) identifies CPT procedure codes as surgical procedures. HCPCS Level II codes are not included in the Surgery Flags-Services and Procedures software.

Information on the Surgery Flags-Services and Procedures is organized into the six subsections below. Additional information is also available on the Surgery Flags-Services and Procedures page of the HCUP-US website. This tutorial will follow the below outline:

  • Overview
  • Key Characteristics
  • Applying the Tools to Your Data
  • Documentation
  • Use Case Examples
  • Test Your Knowledge
Return to Contents


Overview of the CCS-Services and Procedures

The Surgery Flags-Services and Procedures identifies which CPT procedure codes are surgical procedures based on certain key criteria, such as the use of an operating room, the use of anesthesia, and the degree of invasiveness. With the latest version of this tool, surgical procedures are identified in the following CPT codes ranges that include at least some surgical procedures:


CPT Category I, Surgery 10004–69990
CPT Category I, Radiology procedures 70010–79999
CPT Category I, Medicine services and procedures 90281–99756, excluding the evaluation and management codes in the range 99201–99499
CPT Category III, Emerging technology 0042T–0593T


Note that the inclusion of certain CPT code ranges has changed over time.

Excluded are all other ranges of CPT Category I codes (i.e., codes specific to anesthesia, pathology and laboratory procedures, evaluation and management services, laboratory analyses, multianalyte assay) and any CPT Category II codes.

Also excluded are all HCPCS Level II codes.

The Surgery Flags-Services and Procedures is updated in the spring of each year to account for January updates for CPT codes. Beginning with v2020.1, the Surgery Flags-Services and Procedures software is based on CPT codes valid as of the calendar year of the update.

Return to Contents


Key Characteristics of the Surgery Flags-Services and Procedures

CPT procedure codes in the eligible ranges are assigned into one of the three surgery flag values:

  • Narrow surgical procedures
  • Broad surgical procedures
  • Neither a narrow nor broad surgical procedure
Surgery flag assignment is determined based on the following characteristics:

  • Does the procedure need to be performed in an operating room (i.e., is it a major procedure)? All other procedures would be considered minor.
  • Is the purpose of the major or minor procedure to determine the diagnosis of illness (diagnostic) or for the treatment of a condition (therapeutic)?
  • How invasive is the procedure to the human body?
  • Does the procedure require that the patient receive some type of anesthesia or sedation for pain control?
Surgery Flag Values:

CPT codes in the following ranges in the surgery range (10004-69990), medicine range (90281-99756), radiology range (70010-79999), and the Category III code range (0042T-0593T).

  • Narrow Surgeries, includes major therapeutic surgeries
    An eligible CPT code is classified as a Narrow surgical procedure if it is major therapeutic procedure involving incision, excision, manipulation, or suturing of tissue that:

    • Requires the use of an operating room and
    • Penetrates or breaks the skin and
    • Involves regional anesthesia, general anesthesia, or sedation to control pain

    Below are examples of procedures that are classified as Narrow:

    • Transplantation of an organ
    • Amputation of limb
    • Arthroplasty
    • Angiographic procedures or other catheter-based procedures that involve a major intervention such as percutaneous transluminal coronary angioplasty (PTCA), vascular stent placement, and transcatheter aortic valve replacement
    • Open treatment of fractures

    There are three notable exceptions to the above definition specifying that the Narrow surgery flag is specific to major therapeutic procedures. The following three procedures, which are performed primarily for a diagnostic purpose, are assigned a Narrow surgery flag based on the degree of their invasiveness:

    • Biopsies if the procedure is within an internal organ (e.g., brain, deep cervical node, stomach)
    • Thoracotomy with or without biopsy
    • Exploratory laparotomy with or without biopsy


  • Broad Surgeries, includes major diagnostic and minor therapeutic surgeries
    An eligible CPT code is classified as a Broad surgical procedure if has not been classified as a Narrow surgical procedure and is a major diagnostic procedure or a minor therapeutic procedure involving incision, excision, manipulation, or suturing of tissue that:

    • Penetrates or breaks the skin and
    • Often requires the use of an operating room and
    • May involve regional anesthesia, general anesthesia, or sedation to control pain

    Below are examples of procedures that are classified as Broad:

    • Endoscopic procedures if they include a therapeutic intervention (e.g., incision, destruction of lesion) or diagnostic removal of tissue (e.g., excision, removal of polyp)
    • Biopsy of tissue (not within an internal organ)
    • Exploratory laparoscopy if it is performed for a diagnostic purpose
    • Episiotomy

    Exceptions to a major diagnostic procedure being classified as a Broad surgical procedure are noted under the definition of Narrow. There are also exceptions to a minor therapeutic procedure being classified as a Broad surgical procedure. The Broad assignment depends on the invasiveness of the procedure, including the location where the procedure is performed and the degree of anesthesia. If the minor therapeutic procedure does not qualify, it is assigned to Neither a narrow nor broad surgical procedure. Some examples of minor therapeutic procedures and their assigned surgery flag, with justifications, are provided below:

    • Cranial puncture is classified as a Broad surgical procedure. It is a minor (percutaneous) procedure, requires minimal anesthesia, and is not routinely performed in the operating room; however, it involves the cranium, and there is a substantial invasive component to the procedure.
    • Spinal patch is not classified as a Broad surgical procedure because, although it is performed in the operating room under local anesthesia, it is not an invasive percutaneous procedure. Therefore, this procedure is classified as Neither a narrow nor a broad surgical procedure.


  • Neither (Narrow nor Broad), includes CPT codes not considered narrow nor broad surgeries
    The Neither surgery flag is assigned to all eligible CPT codes that are minor diagnostic procedures, in addition to minor therapeutic procedures that do not meet the definition for a Broad surgical procedure. (All major therapeutic and diagnostic procedures are classified as Narrow or Broad surgical procedures.)

    Below are examples of procedures that are classified as Neither (narrow nor broad):

    • Lithotripsy
    • Radiosurgery
    • Shaving of epidermal or dermal lesion
    • Endoscopy (including colonoscopy) without biopsy or removal of tissue; visual inspection for diagnostic purpose
    • Angiography for diagnostic purpose
    • Ablation of nerve or vein
    • Injections, even if performed for catheter placement

    In addition, a CPT code that is only to be reported in tandem with another code (i.e., the CPT code is paired with another code to provide additional information) is classified as Neither broad nor narrow. These paired codes can be identified by, although are not limited to, inclusion of the following description within the CPT label: List separately in addition to code for primary procedure. For example, the CPT code for PTCA for each additional branch of a coronary artery (List separately in addition to code for primary procedure) is coded as Neither because it must be reported with the CPT code listing the primary procedure PTCA single major coronary artery or branch.
Steps for Applying the Surgery Flags-Services and Procedures to Your Data

To apply the Surgery Flags-Services and Procedures to HCUP or other administrative databases, the following steps are required:

  1. Agree to a license agreement with the American Medical Association (AMA) for using CPT codes
  2. Download the Surgery Flags-Services and Procedures software
  3. Modify the SAS® program and run it to apply the Surgery Flags-Services and Procedures to your data
  4. Check the SAS log and output file to ensure correct application
Agreeing to the American Medical Association (AMA) License Agreement

Prior to downloading the Surgery Flags-Services and Procedures software, users must agree to a license agreement with the AMA for using CPT codes. Once the agreement is accepted, users will be provided with a zip folder that includes all the necessary files for applying the Surgery Flags-Services and Procedures to their data.

Return to Contents


Applying the Surgery Flags-Services and Procedures to Your Data

Downloading the Surgery Flags-Services and Procedures

After accepting this license agreement, a zip folder is available for download. Users should download and extract the contents of the zip folder folder containing the Surgery Flags-Services and Procedures tool to a saved location on their computer.

The zip folder includes two files that make up the Surgery Flags-Services and Procedures software and two files that make up the supporting documentation

Surgery Flags-Services and Procedures Software Files

  • SurgeryFlags_Services_Procedures_vyyyy-r.csv:
    One of two files that make up the Surgery Flags-Services and Procedures software. This is the CSV mapping file, which lists ranges of CPT codes, the surgery flag assignment (a numeric value of 0, 1, or 2), and a header row containing a key that assigns the surgery flag label to the corresponding numeric value. This file can be converted to Microsoft® Excel, where a filter can be applied to examine individual CPT code ranges or surgery flag values. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.


  • SurgeryFlags_Services_Procedures_Mapping_Program.sas:
    One of two files that make up the Surgery Flags-Services and Procedures software. The SAS mapping program applies the Surgery Flags-Services and Procedures to the user's data. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.
Surgery Flags-Services and Procedures Documentation

  • SF-SvcProc-User-Guide-vyyyy-r.pdf:
    One of two files that make up the Surgery Flags-Services and Procedures documentation. The User Guide includes additional information about the Surgery Flags-Services and Procedures tool. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.


  • SF-SvcPrc-ChgLg-vyyyyr-vyyyyr.xlsx:
    One of two files that make up the Surgery Flags-Services and Procedures documentation. This file is a log (Microsoft Excel) comparing the current version of the Surgery Flags-Services and Procedures software to the previous version of the software, including a list of changes and assignment of CPT code ranges to a surgery flag value. The year yyyy specifies the calendar year for which the codes are valid, and the r specifies the release version within the year.
Modifying the SAS Program and Applying it to Your Data

Users may use the SAS program (SurgeryFlags_Services_Procedures_Mapping_Program_vyyyy-r.sas) to apply the tool to their data. Currently, only a SAS program is available. If SAS is unavailable for use, the one-to-one mapping of procedure codes listed in the CSV file can be accessed by other programs. We suggest that the SAS code be used as a guide for the necessary steps in other programming languages.

If using the SAS mapping program, certain macro variables or directory paths must be specified or modified within the program, where appropriate. To help with this process, the SAS program includes comments indicating that the “USER MUST MODIFY.” If the user does not update the SAS macro variables accordingly, the program will either not run or fail.

The directory paths and macro variables that require modification are organized within the SAS program into one of the following four sections.

  • File locations

    Within the SAS program are three directory paths that the user must modify. These directory paths correspond to the locations on the user's computer where the Surgery Flags-Services and Procedures CSV mapping file, the input SAS dataset, and the output SAS dataset are stored.

    • Specify the full location where the CSV mapping file is stored (Modify italic text) → FILENAME INRAW1 Location of CSV file, SurgeryFlags_services_procedures_vyyyy-r.CSV


    • Specify the folder location where your input SAS dataset is stored (Modify italic text) → LIBNAME IN1 Location of input discharge data


    • Choose the folder location where the output SAS dataset will be stored (Modify italic text) → LIBNAME OUT1 Directory to store output file


  • File names

    Within the SAS mapping program are two macro variables that specify naming conventions selected by the user that correspond to two files - 1) Input dataset and 2) Output dataset.

    • Specify the name of your Input dataset (SAS member name) (Modify italic text) → %LET CORE=INPUT_SAS_FILE;


    • Specify the name of the output dataset (SAS member name) (Modify italic text) → %LET OUTSAS= OUTPUT_SAS_FILE;


  • Input characteristics

    Within the SAS program are two macro variables corresponding to input characteristics within the user's input SAS dataset 1) one macro variable includes a default value that users must modify to match their input dataset, and 2) the second macro variable can be used for testing purposes.

    • Specify the maximum number of CPT codes on any record in the input dataset (Modify italic text) → %LET NUMCPT= 15;


    • Specify the number of observations to use from your dataset (use MAX for all observations, other values for testing) (Modify italic text) → %LET OBS=MAX;


  • Output characteristics

    Within the SAS program is one macro variable corresponding to an output characteristic within the user's input SAS dataset. This macro specifies whether the output file will include a record-level flag that identifies whether a record contains a narrow or broad surgery. This macro variable includes a default value that users must modify to match their input dataset.

    • Specify if output file should include a record-;eve; data element that summarizes if a record contains a narrow or broad surgery (Modify italic text) → %LET RECORDLVL= 0;
Checking SAS Logs and Output

To ensure that the SAS program ran correctly, it is recommended that both the SAS logs and output be reviewed. Check the SAS log for errors or warnings to be certain the software was executed without error. In addition, users can generate various types of output to ensure correct application (i.e., prints of records, frequency distributions on the surgery flag fields). The output can be used to address specific questions for quality control purposes. For example, one question a user might ask is whether the surgery flag array is the same length as the array of the CPT codes. These array lengths should match.

Below is an example of just one type of output that can be generated for validation purposes. In this instance, it is helpful to provide a visual confirmation that both the resulting surgery flag data element array and the record-level flag are working as intended (if the user specified that this flag should be included in the applicable macro within the SAS program).


CREATE SURGERY FLAGS
TEST CPT DATA
Obs surg_
cpr_flg1
surg_
cpr_flg2
surg_
cpr_flg3
surg_
cpr_flg4
surg_
cpr_flg5
surg_
cpr_flg6
surg_
cpr_flg7
surg_
cpr_flg8
surg_
cpr_flg9
surg_
cpr_flg10
recordlvl
1 2                   2
2 0 0             0 2 2
3 0 0       0 0 2 0   2
4       0       0 0 1 1
5   0 1               1
6   0 1 0             1
7                     0
8                     0


  1. Header row shows that this sample data has a maximum of 10 CPT codes; therefore, the corresponding Surgery Flags-Services and Procedures array will have 10 data elements. Each surgery flag data element has one of four values: (0) Neither narrow nor broad; (1) Broad; (2) Narrow; (.) Missing (e.g., CPT code is missing, invalid, or not in an eligible range for the tool).


  2. Header row last column shows in this sample data, the optional macro was set to create the record-level flag to identify any narrow or broad surgeries on the record. This flag indicates the highest surgery flag value on the record. That is, a value of 2 indicates at least one code was Narrow, a value of 1 indicates there were no codes marked as Narrow but at least one code was marked as Broad, and a value of 0 means there were no codes marked as Narrow or Broad.


  3. Row 3 shows observation 3 has six surgery flag values on the record: five CPT procedures that are not considered to be surgeries (numeric value = 0) and one CPT procedure that is considered a narrowly defined surgery (numeric value = 2). The record-level flag for this record has a value of 2 because of the single CPT procedure code that is considered a narrowly defined surgery.
Return to Contents


Documentation for the Surgery Flags-Services and Procedures

Documentation is available to users as a resource on the Surgery Flags-Services and Procedures page of the HCUP-US website.

  • User Guide:
    This document includes background on the development of the Surgery Flags-Services and Procedures, guidelines for surgery flag assignment, and additional technical guidance for applying the Surgery Flags-Services and Procedures to the user's data.


  • Change Log:
    This document compares the current version of the Surgery Flags-Services and Procedures software with the previous version of the software. The file includes one tab that contains a list of codes that are assigned to a different surgery flag value between the two versions.
Return to Contents


Use Case Example for the Surgery Flags-Services and Procedures

The Surgery Flags-Services and Procedures can be used to identify surgical procedures or encounters on CPT-coded data. An example use case for this purpose is described below.

A health services researcher has a sample dataset that includes ambulatory surgeries and other outpatient services for a given State.

This researcher is interested in determining the percentage of total encounters in the file that include any surgical procedure. A surgical procedure is defined as any CPT code that fits either the Broad or Narrow definition within the software. From there, the user is interested in understanding the percentage of all encounters that include at least one narrowly defined surgical procedure.


Number and Percentage of Total Encounters Including Any Surgical Procedure
Number Percent
299,195 68%


For this sample dataset, 299,195 encounters (68 percent of all encounters in the file) include a surgical procedure. That is, at least one CPT code on the record had a value of 1 (Narrow) or 2 (Broad) for the surgery flag.


Number and Percentage of Total Encounters Including a Narrowly Defined Surgical Procedure
Number Percent
169,653 39%


For the next step, the optional macro was set to use the record-level flag within the tool's SAS mapping program, which indicates the highest surgery flag value on the record. In this case, all records where the flag = 2 indicate at least one narrow surgery was identified on the record. Records with narrowly defined surgical procedures represent a smaller portion of total records, specifically, 169,653 encounters (39 percent of all encounters in the file).

Return to Contents


Test Your Knowledge of the Surgery Flags-Services and Procedures

  1. Which value is not included in the Surgery Flags-Services and Procedures tool? Select the best answer.
    • Exploratory
    • Narrow
    • Broad
    • Neither


  2. True or false: The Surgery Flags-Services and Procedures tool classifies HCPCS Level II codes as surgical procedures.
    • True
    • False


  3. True or false: Users do not need to make any modifications to the SAS mapping program before applying the Surgery Flags-Services and Procedures to their data.
    • True
    • False

Answers to Test Your Knowledge of the Surgery Flags-Services and Procedures

Return to Contents

You have completed the overview of the Surgery Flags-Services and Procedures! Module 3 is now complete.

For any questions about the Surgery Flags-Services and Procedures that cannot be addressed by this tutorial or the tool's documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents


Module 4: HCUP Software Tools for ICD-9-CM Diagnoses and Procedures

Module 4 provides information about the HCUP software tools designed for use with the International Classification of Diseases, Ninth Revision, Clinical Modification (ICD-9-CM) diagnosis and procedure codes. These tools can be applied to HCUP and other administrative databases that include ICD-9-CM-coded data to create new data elements from existing data, thereby enhancing a researcher's ability to conduct analyses.

ICD-9-CM codes were frozen in preparation for the implementation of the International Classification of Diseases, Tenth Revision, Clinical Modification/Procedure Coding System (ICD-10-CM/PCS). Regular maintenance of the ICD-9-CM codes has been suspended. The HCUP tools for ICD-9-CM should be used only with data for discharges before October 2015. For data containing discharges after October 2015, please refer to HCUP software tools for ICD-10-CM/PCS on the Tools & Software page of the HCUP User Support (HCUP-US) website.

  1. Clinical Classifications Software (CCS) for ICD-9-CM: Groups ICD-9-CM diagnosis and procedure codes into more than 280 categories


  2. Chronic Condition Indicator (CCI) for ICD-9-CM: Identifies ICD-9-CM diagnoses as chronic conditions


  3. Elixhauser Comorbidity Software for ICD-9-CM: Identifies secondary ICD-9-CM diagnoses as comorbidities


  4. Utilization Flags Software for ICD-9-CM: Identifies specific hospital services based on ICD-9-CM procedures and revenue center codes


  5. Procedure Classes for ICD-9-CM: Identifies major, minor, diagnostic, and therapeutic ICD-9-CM procedures


  6. Surgery Flags Software for ICD-9-CM: Identifies ICD-9-CM procedure codes as surgical procedures
Return to Contents


Module 4: Clinical Classifications Software (CCS) for ICD-9-CM

The Clinical Classifications Software (CCS) for ICD-9-CM groups ICD-9-CM diagnosis and procedure codes into more than 280 categories.

Information on the CCS for ICD-9-CM is organized into the three subsections listed below. Additional information is also available on the CCS for ICD-9-CM page of the HCUP-US website.

This section of the tutorial will follow the below outline:

  • Overview
  • Downloading Information
  • Documentation
Return to Contents


Overview of the CCS-Services and Procedures

Description of the CCS for ICD-9-CM

The CCS for ICD-9-CM is a diagnosis and procedure categorization scheme that collapses diagnoses and procedures into clinically meaningful mutually exclusive categories that are sometimes more useful than individual ICD-9-CM codes for presenting descriptive statistics or understanding patterns. This tool can be applied to both inpatient and outpatient administrative data.

The CCS for ICD-9-CM includes ICD-9-CM codes valid through September 2015.

Examples of ICD-9-CM diagnosis codes and their corresponding CCS categories are below.


ICD-9-CM Codes CCS Categories
0031  0202  0223  0362  0380  0381  03810  03811  03819  0382  0383

  03840  03841  03842  03843  03844  03849  0388  0389  0545  449  7907
CCS 2: Septicemia
0700  0701  0702  07020   07021  07022  07023  0703  07030

  07031  07032  07033  0704  07041  07042  07043  07044  07049
CCS 6: Hepatitis


Structure of the CCS for ICD-9-CM

The CCS for ICD-9-CM includes two related classification systems, the single-level and multi-level CCS, which are designed to meet different analytic needs.

The two levels of the CCS for ICD-9-CM:

  • Single-level CCS

  • The single-level CCS aggregates ICD-9-CM diagnoses and procedures into clinically meaningful mutually exclusive categories. It is most useful for ranking of diagnoses and procedures and for direct integration into risk adjustment and other software.

    Two ICD-9-CM diagnosis codes (401.1, Benign essential hypertension, and 401.9, Unspecified essential hypertension) are aggregated into CCS category 98, Essential hypertension.

  • Multi-level CCS

    The multi-level CCS expands the single-level CCS into a hierarchical system. It groups single-level CCS categories into broader body systems or condition categories. It also splits single-level CCS categories to provide more detail. The multi-level CCS has four levels for diagnoses and three levels for procedures. It is most useful when evaluating larger aggregations of conditions and procedures or exploring them in greater detail.

    Below is an example for the diagnosis portion, specifically Diseases of the circulatory system. The first-level categories are identified by the number 7, second-level categories include one decimal place, third-level categories have two decimal places, and fourth-level categories have three decimal places.

    Level 1: 7, Diseases of the circulatory system (CCS 96-121)

    Level 2: 7.1, Hypertension (CCS 98 and 99)

    Level 3: 7.1.1, Essential hypertension (CCS 98) and 7.1.2, Hypertension with complications and secondary hypertension (CCS 99)

    Level 4: 7.1.2.1, Hypertensive heat and/or renal disease and 7.1.2.2, Other hypertensive complications
Return to Contents


Downloading Information for the CCS for ICD-9-CM

The CCS for ICD-9-CM and supporting documentation are available for download on the HCUP-US website. The tool includes an ASCII translation file that is available for download in a CSV file format, which can be used with SAS®, SPSS®, or other programming languages. Separate sets of CCS for ICD-9-CM program files are provided specifically for Stata®. The Stata program files are to be used in conjunction with the ASCII file.

Return to Contents


Documentation for the CCS for ICD-9-CM

Documentation for the CCS for ICD-9-CM is provided on the tool's web page of the HCUP-US website. The web page includes the following documentation for the CCS for ICD-9-CM.

  • User Guide
    The CCS for ICD-9-CM User Guide provides technical documentation for users interested in applying the CCS for ICD-9-CM to their data. For users interested in learning more about the development of the CCS for ICD-9-CM, users should consult this report, particularly for additional information on the single-level CCS versus the multi-level CCS. For users requiring technical guidance, users should also consult this report, particularly for information on using the translation file.


  • Appendices A and B
    These two documents provide a list of all CCS categories along with the ICD-9-CM diagnosis or procedure codes that are mapped to the respective categories. Appendix A is specific to diagnoses, and Appendix B is specific to procedures.


  • Appendices C and D
    These two documents provide the expanded diagnosis or procedure categories available under the multi-level CCS. Appendix C is specific to diagnoses, and Appendix D is specific to procedures.


  • List of all CCS categories
    This document provides a complete list of all CCS category names along with their corresponding labels.
Return to Contents

You have completed the overview of the CCS for ICD-9-CM.

For any questions about the CCS for ICD-9-CM that cannot be addressed by this tutorial or the tool's documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents


Module 4: Chronic Condition Indicator (CCI) for ICD-9-CM

The Chronic Condition Indicator (CCI) for ICD-9-CM identifies ICD-9-CM diagnoses as chronic conditions.

The CCI for ICD-9-CM is organized into the three subsections listed below. Additional information is also available on the CCI for ICD-9-CM page of the HCUP-US website.

This section of the tutorial will follow the below outline:

  • Overview
  • Downloading Information
  • Documentation
Return to Contents


Overview of the Chronic Condition Indicator (CCI) for ICD-9-CM

The CCI for ICD-9-CM provides an easy way for users to identify chronic conditions. This tool can be applied to both inpatient and outpatient administrative data.

In addition, the tool groups all diagnoses into body systems so that users can create indicators listing which specific body systems are affected by a chronic condition.

The CCI for ICD-9-CM includes ICD-9-CM codes valid through September 2015.

Examples of conditions considered to be chronic and not chronic

  • Chronic
    For an ICD-9-CM diagnosis code to be classified as chronic condition, the following criteria must be met:

    • Condition that lasts 12 months or longer
    • Places limitations on self-care, independent living, and social interactions
    • Results in the need for ongoing intervention with medical products, services, and special equipment

    Identifying chronic conditions in admistrative data can help researchers better understand their impact on certain key health-related outcomes, such as in-hospital mortality, length of stay, and hospital costs.


  • Not chronic
    ICD-9-CM diagnosis codes that do not meet the definition of a chronic condition are assigned a value of not chronic.
Return to Contents


Downloading Information for the CCI for ICD-9-CM

The CCI for ICD-9-CM and supporting documentation are available for download on the HCUP-US website. The tool includes an ASCII translation file that is available for download in a CSV file format, which can be used with SAS, SPSS, or other programming languages. Separate sets of CCI for ICD-9-CM program files are provided specifically for Stata.

Return to Contents


Documentation for the CCI for ICD-9-CM

Documentation for the CCI for ICD-9-CM is provided on the tool's web page of the HCUP-US website. The web page includes several sections with detailed information about the tool:
  • A description of the process used to assign chronic conditions
  • Technical guidance on applying the CCI for ICD-9-CM to the user's data
Return to Contents

You have completed the overview of the CCI for ICD-9-CM.

For any questions about the CCI for ICD-9-CM that cannot be addressed by this tutorial or the tool's documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents


Module 4: Elixhauser Comorbidity Software for ICD-9-CM

The Elixhauser Comorbidity Software for ICD-9-CM identifies secondary ICD-9-CM diagnoses as comorbidities.

Information on the Elixhauser Comorbidity Software for ICD-9-CM is organized into the three subsections listed below. Additional information is also available on the Elixhauser Comorbidity Software for ICD-9-CM page of the HCUP-US website.

This section of the tutorial will follow the below outline:

  • Overview
  • Downloading Information
  • Documentation
Return to Contents


Overview of the Elixhauser Comorbidity Software for ICD-9-CM

Description of the Elixhauser Comorbidity Software for ICD-9-CM

The Elixhauser Comorbidity Software for ICD-9-CM assigns variables that identify comorbidities in hospital discharge records using secondary ICD-9-CM diagnosis codes and diagnosis-related groups (DRGs). This tool can be applied only to inpatient administrative data.

The tool creates 29 comorbidity measures that identify coexisting medical conditions that are not directly related to the principal diagnosis, or the main reason for admission, and are likely to have originated prior to the hospital stay. In health services research, it is often important to control for comorbidities (i.e., pre-existing conditions) that are not directly related to the reason for the inpatient stay as they can impact resource allocation (e.g., length of stay or charges), as well as possibly affect outcomes used to assess the quality of care, such as in-hospital mortality.

The Process for Creating Elixhauser Comorbidity Measures is:

Secondary ICD-9-CM diagnosis codes and DRGs → Elixhauser Comorbidity Software for ICD-9-CM → Comorbidity Measures (29) (i.e. Valvular disease, hypertension, paralysis, liver disease)

The Elixhauser Comorbidity Software for ICD-9-CM includes ICD-9-CM codes valid through September 2015.

Use of Diagnosis-Related Groups

The Elixhauser Comorbidity Software for ICD-9-CM requires administrative data to include the following information:

  • ICD-9-CM diagnosis codes
  • Diagnosis-related groups (DRGs) or Medicare Severity (MS)-DRGs
The tool uses DRGs or MS-DRGs to eliminate comorbidities directly related to the principal diagnosis.

Secondary diagnosis of Heart failure, unspecified (ICD-9-CM code 428.9)
Record assigned to a cardiac DRG? Record assigned to a noncardiac DRG?
Comorbidity measure for congestive heart failure not assigned Comorbidity measure for congestive heart failure assigned
If the ICD-9-CM diagnosis code 428.9 (Heart failure, unspecified) appeared as a secondary diagnosis on a record that included a cardiac-related DRG, it is not flagged as a comorbidity (congestive heart failure) because the heart failure diagnosis is determined to be related to the principal diagnosis. If the ICD-9-CM diagnosis code 428.9 (Heart failure, unspecified) appeared as a secondary diagnosis on a record that included a noncardiac-related DRG, it is flagged as a comorbidity (congestive heart failure) because the heart failure diagnosis is not related to the principal diagnosis.

Index for the Elixhauser Comorbidity Software

Two indices based on the Elixhauser Comorbidity measures are available.

Weights are applied to inpatient records and create the two indices for the software:

  • One for In-hospital mortality
  • One for Readmission
The resulting index score(s) can be used in analyses in place of the 29 individual Elixhauser Comorbidity measures.

Return to Contents


Downloading Information for the Elixhauser Comorbidity Software for ICD-9-CM

The Elixhauser Comorbidity Software for ICD-9-CM and supporting documentation are available for download on the HCUP-US website. The tool is provided as three SAS programs in ASCII file format, which can be used with SAS, Stata, SPSS, or other programming languages. Two of the SAS programs are specific to the creation of the 29 comorbidity measures, and the third is for the index scores.

Return to Contents


Documentation for the Elixhauser Comorbidity Software for ICD-9-CM

Documentation for the Elixhauser Comorbidity Software for ICD-9-CM is provided on the tool’s web page of the HCUP-US website. The web page includes several sections with detailed information about the tool:

  • Data elements required for the SAS programs to run
  • Additional information on the purpose of the SAS programs
  • Technical guidance on using the SAS programs
Return to Contents

You have completed the overview of the Elixhauser Comorbidity Software for ICD-9-CM.

For any questions about the Elixhauser Comorbidity Software for ICD-9-CM that cannot be addressed by this tutorial or the tool’s documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents


Module 4: Utilization Flags Software for ICD-9-CM

The Utilization Flags Software for ICD-9-CM identifies specific hospital services based on ICD-9-CM procedures and revenue center codes.

Information on the Utilization Flags Software for ICD-9-CM is organized into the three subsections listed below. Additional information is also available on the Utilization Flags Software for ICD-9-CM page of the HCUP-US website.

This section of the tutorial will follow the below outline:

  • Overview
  • Downloading Information
  • Documentation
Return to Contents


Overview of the Utilization Flags Software for ICD-9-CM

Description of the Utilization Flags Software for ICD-9-CM

The Utilization Flags Software creates 30 data elements that reveal additional information about use of healthcare services. The tool combines information from ICD-9-CM procedure codes and Uniform Billing (UB-04) revenue codes to obtain a more complete picture of utilization of services rendered in healthcare settings.

The 30 utilization flags cover six types of services. This tool can be applied to both inpatient and outpatient administrative data.

  • Accommodation
    The Accommodation service type includes five utilization flags:

    • Intensive Care Unit (ICU)*
    • Coronary Care Unit (CCU) *
    • Newborn Level II*
    • Newborn Level III*
    • Newborn Level IV*


  • Cardiac Services
    The Cardiac Services service type includes three utilization flags:

    • Cardiac Catherization Lab‡
    • Echocardiogram‡
    • Cardiac Stress Test‡


  • Imaging and Diagnostic Tests
    The Imaging and Diagnostic Tests service type includes six utilization flags:

    • Computed Tomography (CT) Scan‡
    • Chest X-Ray‡
    • Electroencephalogram (EEG)‡
    • Magnetic Resonance Technology (MRT)‡
    • Ultrasound‡
    • Nuclear Medicine‡


  • Devices
    The Devices service type includes two utilization flags:

    • Pacemakers‡
    • Other Implants*


  • Therapeutic Services
    The Therapeutic Services service type includes 10 utilization flags:

    • Lithotripsy‡
    • Physical Therapy‡
    • Respiratory Therapy‡
    • Speech-Language Pathology‡
    • Therapeutic Radiology and Chemotherapy‡
    • Mental Health and Substance Abuse‡
    • Renal Dialysis‡
    • Erythropoietin (EPO)*
    • Blood‡


  • Other
    The Other service type includes three utilization flags:

    • Emergency Department*
    • Observation Room*
    • Organ Acquisition*
*Based on UB-04 revenue codes only

‡Based on UB-04 revenue codes and/or ICD-9-CM procedure codes

Required Data Elements

The following data elements are required for assigning the utilization flags to administrative databases:

  • Unique record identifier
  • Array of four-character UB-04 revenue codes, including the leading zero; user specifies length of the array
  • Array of ICD-9-CM procedure codes, decimals removed; user specifies the length of the array
  • Array of Clinical Classifications Software (CCS) for ICD-9-CM procedure categories; user specifies the length of the array, and it must match the array of the individual ICD-9-CM procedures
  • An indicator identifying the total number of ICD-9-CM procedure codes reported on a record; this value should not exceed the length of the ICD-9-CM procedure array
The Utilization Flags Software for ICD-9-CM includes ICD-9-CM codes valid through September 2015.

Return to Contents


Downloading Information for the Utilization Flags Software for ICD-9-CM

The Utilization Flags Software for ICD-9-CM and supporting documentation are available for download on the HCUP-US website. Both SAS and SPSS programs are available for assigning the utilization flags to administrative databases.

Return to Contents


Documentation for the Utilization Flags Software for ICD-9-CM

Documentation for the Utilization Flags Software for ICD-9-CM is provided on the tool’s web page of the HCUP-US website.

Additional documentation is available in the HCUP Methods Series Report #2006-04, Development of Utilization Flags for Use with UB-92 Administrative Data and accompanying Appendices: A–F. This Methods Series Report details the initial development of the utilization flags.

Return to Contents

You have completed the overview of the Utilization Flags Software for ICD-9-CM.

For any questions about the Utilization Flags Software for ICD-9-CM that cannot be addressed by this tutorial or the tool’s documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents


Module 4: Procedure Classes for ICD-9-CM

The Procedure Classes for ICD-9-CM identifies major, minor, diagnostic, and therapeutic ICD-9-CM procedures.

Information on the Procedure Classes for ICD-9-CM is organized into the three subsections listed below. Additional information is also available on the Procedure Classes for ICD-9-CM page of the HCUP-US website.

This section of the tutorial will follow the below outline:

  • Overview
  • Downloading Information
  • Documentation
Return to Contents


Overview of the Procedure Classes for ICD-9-CM

Description of the Procedures Classes for ICD-9-CM

The Procedure Classes for ICD-9-CM provides users an easy way to categorize ICD-9-CM procedure codes into one of four broad categories, allowing researchers to readily determine whether:

  • A procedure is diagnostic or therapeutic and
  • A procedure is minor or major in terms of invasiveness and/or resource use
While this tool can be applied to both inpatient and outpatient administrative data, it is used primarily in the inpatient setting. The Procedure Classes for ICD-9-CM includes ICD-9-CM codes valid through September 2015.

  • Minor Diagnostic
    Non-operating room procedures that are diagnostic, such as Computed Tomography (CT) scan of the head


  • Minor Therapeutic
    Non-operating room procedures that are therapeutic, such as irrigating a ventricular shunt


  • Major Diagnostic
    All procedures considered valid operating room procedures by the Medicare Severity-diagnosis related group (MS-DRG) grouper and that are performed for diagnostic reasons, such as an open brain biopsy


  • Major Therapeutic
    All procedures considered valid operating room procedures by the Medicare Severity-diagnosis related group (MS-DRG) grouper and that are performed for therapeutic reasons, such as a coronary artery bypass graft (CABG)


Return to Contents


Downloading Information for the Procedure Classes for ICD-9-CM

The Procedure Classes for ICD-9-CM and supporting documentation are available for download on the HCUP-US website. The tool includes an ASCII translation file that is available for download in a CSV file format, which can be used with SAS, SPSS, or other programming languages. Separate sets of Procedure Classes for ICD-9-CM program files are provided specifically for Stata. The Stata program files are to be used in conjunction with the ASCII file.

Return to Contents


Documentation for the Procedure Classes for ICD-9-CM

Documentation for the Procedure Classes for ICD-9-CM is provided on the tool’s web page of the HCUP-US website. The web page includes several sections with detailed information about the tool:

  • The tool’s categorization scheme
  • A description of the downloadable, electronic files that contain the translation of ICD-9-CM procedure codes into Procedure Classes


Return to Contents

You have completed the overview of the Procedure Classes for ICD-9-CM.

For any questions about the Procedure Classes for ICD-9-CM that cannot be addressed by this tutorial or the tool’s documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents


Module 4: Surgery Flags Software for ICD-9-CM

The Surgery Flags Software for ICD-9-CM identifies ICD-9-CM procedures as surgical procedures.

Information on the Surgery Flags Software for ICD-9-CM is organized into the three subsections listed below. Additional information is also available on the Surgery Flags Software for ICD-9-CM page of the HCUP-US website.

This section of the tutorial will follow the below outline:

  • Overview
  • Downloading Information
  • Documentation
Return to Contents


Overview of the Surgery Flags Software for ICD-9-CM

Description of the Surgery Flags Software for ICD-9-CM

The Surgery Flags Software for ICD-9-CM provides a method for identifying surgical procedures and encounters using ICD-9-CM-coded data.

More specifically, the tool classifies a subset of ICD-9-CM procedure codes into one of the following surgery flag values:

  • Broadly defined surgical procedures
  • Narrowly defined surgical procedures
  • Neither broad nor narrow procedures
While this tool can be applied to both inpatient and outpatient administrative data, it is used primarily in the inpatient setting. The Surgery Flags Software for ICD-9-CM includes ICD-9-CM codes valid through September 2015.

Surgery Flag Values

  1. Broad Surgeries

    An ICD-9-CM procedure code is a assigned a Broad surgery flag if it meets the following criteria:

    • An invasive therapeutic or diagnostic surgical procedure
    • Involves incision, excision, manipulation, or suturing of tissue that penetrates or breaks the skin or enters a body cavity through an existing orifice
    • Typically requires use of an operating room
    • Typically requires regional anesthesia, general anesthesia, or sedation to control pain

    This category includes percutaneous procedures, endoscopic procedures, and all "open" surgical procedures, regardless of therapeutic or diagnostic purpose.

    The following are procedure types and key terms within the labels for ICD-9-CM procedure codes that indicate a broadly defined surgery:

    • Episiotomy
    • Lacerations
    • Simple repair
    • Subcutaneous
    • Drainage


  2. Narrow Surgeries

    An ICD-9-CM procedure code is a assigned a Narrow surgery flag if it meets the following criteria:

    • An invasive therapeutic or diagnostic surgical procedure
    • Involves incision, excision, manipulation, or suturing of tissue that penetrates or breaks the skin or enters a body cavity through an existing orifice
    • Typically requires use of an operating room
    • Typically requires regional anesthesia, general anesthesia, or sedation to control pain

    All narrowly defined surgical procedures are also broadly defined surgical procedures, which include both the broader group of diagnostic and less invasive therapeutic surgeries. Essentially, narrow surgeries are a subset of broad surgeries. However, because of the nature of the Surgery Flags Software for ICD-9-CM, the stricter definition of a narrow surgical procedure supersedes the broader definition.

    The following are procedure types and key terms within the labels for ICD-9-CM procedure codes that indicate a narrowly defined surgery:

    • Pacemakers
    • Robotic-assisted procedures
    • Layer closure
    • Complex repair
    • Deep


  3. Neither Broad Nor Narrow

    ICD-9-CM procedure codes that are not considered surgical procedures.

    The following are examples of procedures that are classified as neither broad nor narrow:

    • Lithotripsy
    • Radiosurgery
    • Closed reductionm
    • Colonoscopy without biopsy or removal of tissue
    • Use of endoscopes for diagnostic purposes only and for which nothing was removed
    • Shaving
    • Identified paired codes
Return to Contents


Downloading Information for the Surgery Flags Software for ICD-9-CM

The Surgery Flags Software for ICD-9-CM and supporting documentation are available for download on the HCUP-US website. The tool includes an ASCII translation file that is available for download in a CSV file format, which can be used with SAS, Stata, SPSS, or other programming languages. This file includes information about the classification of procedures as broad, narrow, or neither (broad nor narrow). A separate SAS load program is also provided.

Return to Contents


Documentation for the Surgery Flags Software for ICD-9-CM

Documentation for the Surgery Flags Software for ICD-9-CM is provided on the tool’s web page of the HCUP-US website. The web page includes several sections with detailed information about the tool:

  • Description of the tool
  • Background on the process for assigning ICD-9-CM procedure codes to surgery flag values
  • Technical guidance for applying the tool to the user’s administrative data.
Return to Contents

You have completed the overview of the Surgery Flags for ICD-9-CM.

For any questions about the Surgery Flags for ICD-9-CM that cannot be addressed by this tutorial or the tool’s documentation, consult HCUP User Support:

  • Email: hcup@ahrq.gov
  • Phone: 866-290-HCUP (4287) (toll free)
  • International users, please contact HCUP User Support by email.
The staff reviews messages daily and usually responds to inquiries within 3 business days.

Return to Contents





  1. True or false: Individual ICD-10-CM diagnoses can be mapped to more than one CCSR category?

    • True - One of the benefits of the CCSR for ICD-10-CM is that it capitalizes on the specificity of ICD-10-CM diagnosis codes, which allows for an individual code to be mapped to more than one CCSR category. This is important in the ICD-10-CM coding system, where a single code can capture several different, but related, diagnoses.


  2. True or false: The beta version of the CCS for ICD-10-CM will continue to be updated for new diagnosis codes.

    • False - The CCSR for ICD-10-CM replaces the beta version of the CCS for ICD-10-CM. The beta version of the CCS includes ICD-10-CM codes valid through September 2019 and will not be updated for codes added after October 2019 (fiscal year 2020).


  3. Which use case would benefit from using the default CCSR assignment for the principal diagnosis?

    • Ranking hospitalizations by principal diagnosis in inpatient data


  4. True or false: The SAS mapping program can be run as is; that is, the user does not need to make any modifications to the program prior to running it on their data.

    • False - If using the SAS mapping program, macro variables or directory paths must be specified or modified within the program. To help with this process, the SAS program includes comments indicating that the "USER MUST MODIFY." If the user does not update the SAS macro variables accordingly, the program will either not run or fail.


  5. Which output file option is available for the CCSR for ICD-10-CM diagnoses? Select the best answer.

    • All the above

Return to Access Quiz

Return to Contents



  1. What is the main objective of the Elixhauser Comorbidity Software Refined for ICD-10-CM? Select the best answer.
    • Identify pre-existing conditions based on secondary diagnoses listed on hospital administrative data


  2. True or false: Beginning with v2021.1 of the Elixhauser Comorbidity Software Refined for ICD-10-CM, the tool can be applied to both inpatient and outpatient administrative data.
    • True - Beginning with v2021.1 of the Elixhauser Comorbidity Software Refined for ICD-10-CM, the tool can be applied to both hospital inpatient and outpatient administrative data. Prior versions of the tool were used only with inpatient data because of the use MS-DRGs in the identification of comorbidities. The use of MS-DRGs has been replaced with indicators of POA.


  3. True or false: The Elixhauser Comorbidity Software Refined for ICD-10-CM assigns data elements that identify different pre-existing conditions (i.e., comorbidities) based on both the principal (or first-listed) diagnosis and secondary diagnoses.
    • False - The Elixhauser Comorbidity Software Refined for ICD-10-CM identifies comorbidities based on secondary diagnoses only. This is because it is often important to control for comorbidities that are not directly related to the reason for the inpatient stay or outpatient encounter as they can impact resource allocation (e.g., length or stay or charges).

Return to Access Quiz

Return to Contents



  1. What is the purpose of the CCS-Services and Procedures? Select the best answer.
    • To classify CPT or HCPCS Level II procedures into clinically meaningful categories


  2. What file provides a summary of changes between a prior and current version of the CCS-Services and Procedures? Select the best answer.
    • Change Log


  3. True or false: Users of the CCS-Services and Procedures are required to make modifications to the SAS mapping program before applying the CCS-Services and Procedures to their data.
    • True - Users are required to make modifications to SAS macros or directory paths within the SAS mapping program before applying the tool to their data. If required modifications are not made, the program will not run or fail.

Return to Access Quiz

Return to Contents



  1. Which value is not included in the Surgery Flags-Services and Procedures tool? Select the best answer.
    • Exploratory


  2. True or false: The Surgery Flags-Services and Procedures tool classifies HCPCS Level II codes as surgical procedures.
    • False


  3. True or false: Users do not need to make any modifications to the SAS mapping program before applying the Surgery Flags-Services and Procedures to their data.
    • False

Return to Access Quiz

Return to Contents

Internet Citation: HCUP Software Tools Tutorial - Accessible Version. Healthcare Cost and Utilization Project (HCUP). February 2021. Agency for Healthcare Research and Quality, Rockville, MD. www.hcup-us.ahrq.gov/tech_assist/software/508course.jsp.
Are you having problems viewing or printing pages on this website?
If you have comments, suggestions, and/or questions, please contact hcup@ahrq.gov.
Privacy Notice, Viewers & Players
Last modified 2/22/21