HEALTHCARE COST & UTILIZATION PROJECT

User Support

Do Your own analysis
Explore Expert Research & Limited Datasets

HCUP Software Tools Tutorial - Accessible Version


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 not 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
The software tools for ICD-10-PCS procedure include:
  • Clinical Classifications Software Refined (CCSR) for ICD-10-PCS Procedures
  • Procedure Classes Refined for ICD-10-PCS Procedures
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 Research Tools page of the HCUP-US website. Choose the Tools you are interested in learning 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 Refined (CCIR) 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 2022.
The ICD-10-CM-based tools are applicable to both inpatient and outpatient administrative data.

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 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: Gastroduodenal 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 mutually exclusive:

    Category assignment is not mutually 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, manifestations, 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 hypertension
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 hypertension
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 data elements that are required for the input dataset
  3. Understand the file output structure(s)
  4. Modify the SAS® program and run it to apply the CCSR to your data
  5. Check the SAS log and output files to ensure correct application
  6. Understand common mistakes when applying the CCSR for ICD-10-CM to your data
  7. Identify resources to validate frequencies of CCSR categories on the HCUP nationwide databases
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. These files include a specific naming convention to indicate the tool's version, where yyyy indicates the fiscal year for ICD-10-CM diagnosis codes and r indicates the release number within the fiscal year. 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.

  • 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.
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.

  • 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.

  • 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.

Understanding the Data Elements Required for the Input Dataset

The input dataset must contain certain elements that are coded in specific ways. These data elements are required for the assignment of the CCSR for ICD-10-CM diagnoses.


Data Element Name in Program Purpose How to Modify the Data Element Name Used in the Program Data Element Name in HCUP Databases
Macro data element &RECID Unique record identifier used to link files Specify name using macro statement %LET RECID= KEY in the HCUP State Databases
DX1-DXn where n is the dimension of the diagnosis array Array of ICD-10-CM diagnoses (without decimals) used to assign CCSR categories Specify prefix for DX array using macro statement %LET DXPREFIX= I10_DX1-I10DXn in all HCUP databases starting in data year 2016
Required only if using data that is a mixture of inpatient and outpatient data: DBTYPE Flag to identify which records are inpatient and which are outpatient Specify data element name using macro statement %LET IOVAR= HCUPFILE in the HCUP Nationwide Emergency Department Sample (NEDS)


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"


  • Type of input data

    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=DBVARNAME;

    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;


  • Input characteristics

    Within the SAS program are five 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 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 available, specify the diagnosis count field found on any record in your input dataset
    (Modify italic text) → %LET NDXVAR=I10_NDX;

    Specify the number of observations to use from the input data set (use MAX for all observations; use smaller value for testing)
    (Modify italic text) → %LET OBS=MAX;


  • Output file types

    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 and output 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 6
RECID OBS DXCCSR_VERSION DXCCSR DX_POSITION DEFAULT_DXCCSR
1001 1 2021.2 DIG020 1 N
1001 2 2021.2 INJ030 1 Y
1001 3 2021.2 INF009 2  
1001 4 2021.2 MBD010 3  
1001 5 2021.2 END016 4  
1001 6 2021.2 INJ028 5  
1001 7 2021.2 END011 6  
1001 8 2021.2 DIGJ025 7  
1001 9 2021.2 INJ030 7  
1001 10 2021.2 INJ028 8  
1001 11 2021.2 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_VERSION" indicates the version of the CCSR for ICD-10-CM diagnoses tool.

  4. Column 4 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.

  5. Column 5 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.

  6. Column 6 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
Obs RECID DXCCSR_VERSION DXCCSR_
DIG018
DXCCSR_
DIG019
DXCCSR_
DIG020
DXCCSR_
DIG021
DXCCSR_
DIG022
DXCCSR_
DIG023
DXCCSR_
DIG024
DXCCSR_
DIG025
1 1001 2021.2 0 0 1 0 0 0 0 3

  1. Column "RECID" 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. Column "DXCCSR_VERSION" above - the data element "DXCCSR_VERSION" indicates the version of the CCSR for ICD-10-CM diagnoses tool.

  3. 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.

  4. 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 DXCCSR_VERSION DEFAULT_DXCCSR_DX1
1001 1 2021.2 INJ030
1002 2 2021.2 PRG024
1003 3 2021.2 RSP005
1004 4 2021.2 INF002
1005 5 2021.2 INF002
1006 6 2021.2 MUS006
1007 7 2021.2 INF002
1008 8 2021.2 INF002
1009 9 2021.2 CIR007
1010 10 2021.2 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-listed) diagnosis on each record, there will be just one observation per record in this file.

  3. Column 3 above with header "DXCCSR_VERSION" - the data element "DXCCSR_VERSION" indicates the version of the CCSR for ICD-10-CM diagnoses.

  4. Column 4 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


Common Mistakes When Applying the CCSR for ICD-10-CM to Your Data

The following are common mistakes that are made by users of the CCSR for ICD-10-CM when applying to HCUP or other administrative databases:

  1. Data element names in the input data file do not match the data element names in the SAS program.


  2. Diagnosis codes include decimals.


  3. SAS program was not updated accordingly to indicate that the input data file was specific to inpatient, outpatient, or both inpatient and outpatient data. This is a required macro in the SAS program.

Resources to Validate Frequencies of CCSR Categories on the HCUP Nationwide Databases

For users applying the CCSR for ICD-10-CM diagnoses, resources are available for validating your results. These resources specifically provide users with frequency distributions by CCSR categories in the HCUP nationwide databases beginning data year 2016. These files are available under "Data Elements" on the respective nationwide database documentation pages:

  • Frequencies by Diagnosis and Procedure Codes, NIS
  • Frequencies by Diagnosis and Procedure Codes, KID
  • Frequencies by Diagnosis Codes, NASS
  • Frequencies by Diagnosis and Procedure Codes, NEDS
  • Frequencies by Diagnosis and Procedure Codes, NRD

Included in these frequency tables are both unweighted and weighted counts for the individual CCSR categories reported as a principal/first-listed diagnosis or any-listed diagnosis on the record. Also available are counts by individual ICD-10-CM diagnosis codes along with their corresponding CCSR category assignment. The frequencies provided are specific to the total number of records in the respective HCUP nationwide database and are not further stratified by any patient characteristics. In addition to validation of results, the frequency tables also allow users to determine whether the respective HCUP nationwide database would have enough cases to support an analysis of interest.

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 coexist at the time of hospitalization or outpatient encounter, impact resource allocation (e.g., length of stay or charges), and possibly affect outcomes such as in-hospital mortality. The comorbidity measures (which are based on secondary diagnoses) provide an analyst with a way to determine how often a given comorbidity influences the treatment plan for that hospitalization; they are not direct indicators of disease prevalence.

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.


CMR_AIDS:
Acquired immune deficiency syndrome
CMR_CBVD:
Cerebrovascular disease
CMR_LIVER_MLD:
Liver disease, mild
CMR_PUMLCIRC:
Pulmonary circulation disease
CMR_ALCOHOL:
Alcohol abuse
CMR_COAG:
Coagulopathy
CMR_LIVER_SEV:
Liver disease, moderate to severe
CMR_RENLFL_MOD:
Renal failure, moderate
CMR_ANEMDEF:
Deficiency anemias
CMR_DEMENTIA:
Dementia
CMR_LUNG_CHRONIC:
Chronic pulmonary disease
CMR_RENLFL_SEV:
Renal failure, severe
CMR_AUTO_IMMUNE:
Autoimmune conditions
CMR_DEPRESS:
Depression
CMR_NEURO_MOVT:
Neurological disorders affecting movement
CMR_THYROID_HYPO:
Hypothyroidism
CMR_BLDLOSS:
Chronic blood loss anemia
CMR_DIAB_CX:
Diabetes with chronic complications
CMR_NEURO_SEIZ:
Seizures and epilepsy
CMR_THYROID_OTH:
Other thyroid disorders
CMR_CANCER_LEUK:
Leukemia
CMR_DIAB_UNCX:
Diabetes without chronic complications
CMR_NEURO_OTH:
Other neurological disorders
CMR_ULCER_PEPTIC:
Peptic ulcer with bleeding
CMR_CANCER_LYMPH:
Lymphoma
CMR_DRUG_ABUSE:
Drug abuse
CMR_OBESE:
Obesity
CMR_VALVE:
Valvular disease
CMR_CANCER_METS:
Metastatic cancer
CMR_HTN_CX:
Hypertension, complicated
CMR_PARALYSIS:
Paralysis
CMR_WGHTLOSS:
Weight loss
CMR_CANCER_SOLID:
Solid tumor without metastasis, malignant
CMR_HF:
Heart failure
CMR_PERIVASC:
Peripheral vascular disease
 
CMR_CANCER_NSITU:
Solid tumor without metastasis, in situ
CMR_HTN_UNCX:
Hypertension, uncomplicated
CMR_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:

  • Heart failure (HF)
  • 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

Elixhauser Comorbidity Indices Refined for ICD-10-CM

The Elixhauser Comorbidity Index Refined for ICD-10-CM is designed to predict two health outcomes:
  • Risk of in-hospital mortality
  • Risk of 30-day, all-cause readmission
The indices are composite scores based on the individual Elixhauser Comorbidity measures that can often be preferable to the individual measures as the account for interaction between comorbidities and reduce the necessary degrees of freedom required for estimation, which is especially helpful when working with small sample sizes.

Additional information on the indices is available in the User Guide for the Elixhauser Comorbidity Software Refined for ICD-10-CM.

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. Understand the data elements that are required on your data
  3. Modify the SAS® program and run it to apply the Elixhauser Comorbidity Software Refined for ICD-10-CM to your data
  4. Check the SAS log and output files to ensure correct application
  5. Understand common mistakes when applying the Elixhauser Comorbidity Software Refined for ICD-10-CM to your data
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 three files that make up the Elixhauser Comorbidity Software Refined for ICD-10-CM software and three files that make up the supporting documentation. These files include a specific naming convention to indicate the tool's version, where yyyy indicates the fiscal year for ICD-10-CM diagnosis codes and r indicates the release number within the fiscal year.

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

  • CMR_Format_Programvyyyy-r.sas: One of three 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.


  • CMR_Mapping_Program_vyyyy-r.sas: One of three 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.


  • CMR_Index_Program_vyyyy-r.sas: One of three files that make up the Elixhauser Comorbidity Software Refined for ICD-10-CM software. This file is a SAS index program that calculates the Elixhauser comorbidity indices for the risk of in-hospital mortality and the risk of 30-day, all-cause readmissions based on all 38 comorbidity measures.
Elixhauser Comorbidity Software Refined for ICD-10-CM Documentation

  • CMR-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.


  • CMR-ReferenceFile-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.


  • CMR-ChangeLog-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.
Understanding the Data Elements That are Required on Your Data to Assign Elixhauser Comorbidity Measures

The following data elements are required for assigning the Elixhauser Comorbidity Software Refined for ICD-10-CM to administrative databases. Users will need to either modify the data element name in the SAS Mapping program to match field names in their input dataset or modify the field names in the input dataset to match the SAS Mapping program.


Data Element Name in the Program Purpose How to Modify the Data Element Name Used in the Program Data Element Name in HCUP Databases
DX1-DXn where n is the dimension of the diagnosis array. The dimension of the array must be at least 2 because the comorbidity measures are specific to secondary diagnoses. Array of ICD-10-CM diagnoses (without decimals) used to assign comorbidity measures Specify prefix for DX array using macro statement %LET DXPREFIX= I10_DX1-I10DXn in all HCUP databases starting in data year 2016
YEAR Discharge year (format YYYY), which is required to check whether ICD-10-CM diagnosis code is exempt from POA reporting Not modifiable. Hard-coded into program. YEAR
DQTR Discharge quarter (values 1 for Jan-Mar, 2 for April-June, 3 for July-Sept, 4 for Oct-Dec), which is required to check whether the ICD-10-CM diagnosis code is exempt from POA reporting Not modifiable. Hard-coded into program. DQTR
Required to assign 18 of the comorbidity measures: POA1-POAn where n is the dimension of the array of indicators that the diagnosis is present on admission. The dimension of the array must be the same length as the diagnosis array. Array of POA indicators required to assign the comorbidity measures for which coding is sensitive to the diagnosis being present on admission Specify prefix for POA array using macro statement %LET POAPREFIX= DXPOA1-DXPOAn


Understanding the Data Elements That are Required on Your Data to Assign Elixhauser Comorbidity Indices Refined for ICD-10-CM

To assign the indices, the input dataset must contain all 38 comorbidity measures. The indices are designed to use all 38 comorbidity measures which means the data must have included POA indicators when the comorbidity measures were assigned.

Modifying the SAS Programs and Applying Them to Your Data

Users may use the SAS programs (CMR_Format_Program_vyyyy-r.sas [SAS Format Program]; CMR_Mapping_Program_vyyyy-r.sas [SAS Mapping Program]; CMR Index Program [SAS Index 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 Mapping program and SAS Index 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.

SAS Mapping Program

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

The Directory paths and macro variables within the SAS Analysis program
  • File locations

    Within the SAS Mapping 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 library, 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 prefix used to name the ICD-10-CM diagnosis data element array in the input dataset
      (Modify italic text) → %LET DXPREFIX=I10_DX;
    2. Specify the maximum number of diagnosis coes on any record in the input dataset
      (Modify italic text) → %LET NUMDX15;
    3. Specify the name of the variable that contains a count of the ICD-10-CM codes coded on a record; leave blank if no such variable exists
      (Modify italic text) → %LET NDXVAR=10_NDX;
    4. 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;
    5. Specify the prefix used to name the diagnosis present on admission (POA) data element array in the input data
      (Modify italic text) → %LET POAPREFIX=DXPOA;
    6. Set the number of observations to use from your dataset; use MAX for all observations, other values for testing
      (Modify italic text) → %LET OBS=MAX;


  • 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;"
SAS Index Program

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

    Within the SAS Index program are two directory paths that the user must modify. These directory paths correspond to the locations on the user's computer where the input SAS dataset and the output SAS dataset are stored.
    1. Specify the folder where your input SAS dataset is stored
      (Modify italic text) → LIBNAME IN1 'Location of input dataset'
    2. Choose the folder location where the output SAS dataset will be stored
      (Modify italic text) → LIBNAME OUT1 'Directory to store output files'

  • Input characteristics

    Within the SAS Index program is one macro variable corresponding to an input characteristic within the user's input SAS dataset.
    1. Set the number of observations to use from your dataset; use MAX for all observations, other values for testing
      (Modify italic text) → %LET OBS=MAX;

  • File names

    Within the SAS Index program are two macro variables that specify naming conventions selected by the user that correspond to two files - the input dataset and output dataset.
    1. Specify the name of your input dataset
      (Modify italic text) → %LET OBS=MAX; %LET CORE = INPUT_SAS_FILE;
    2. Specify the name of the output SAS file
      (Modify italic text) → %LET OBS=MAX; %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

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

The following are common mistakes that are made by users of the Elixhauser Comorbidity Software Refined for ICD-10-CM when applying to HCUP or other administrative databases:
  1. Data element names in the input data file do not match the data element names in the SAS Mapping Program
  2. Diagnosis codes include decimals
  3. Input data file only includes principal diagnosis, no secondary diagnoses (recall comorbidity measures are only assigned to secondary diagnoses)
  4. Indicators that diagnoses are present on admission are not coded as expected by the SAS Mapping Program (e.g., "Y", "W", "N", "U")

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, and background on the development of the indices. 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.

Return to Contents


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 coexist at the time of the hospitalization or outpatient encounter, impact resource allocation (e.g., length of stay or charges), and possibly affect outcomes 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 (v2021.1). 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
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
Source: Agency for Healthcare Research and Quality (AHRQ), Healthcare Cost and Utilization Project (HCUP), v2021.1 of the Elixhauser Comorbidity Software Refined for ICD-10-CM, v2021.2 of the Clinical Classifications Software Refined (CCSR) for ICD-10-CM diagnoses


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 2: HCUP Software Tools for ICD-10-PCS Procedures

Module 2 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 Research Tools page of the HCUP-US website.
Because the ICD-10-PCS coding system was developed for reporting inpatient hospital procedures, the ICD-10-PCS-based tools are applicable only to inpatient administrative data. Users interested in HCUP software tools related to procedures reported in outpatient administrative data should refer to Module 3 of this tutorial (HCUP Software Tools for CPT or HCPCS Level II Services and Procedures).

Additional information on the coding system

Both the Clinical Classifications Software Refined (CCSR) for ICD-10-PCS and Procedure Classes Refined for ICD-10-PCS rely on the taxonomy and specificity of the International Classification of Diseases, Tenth Revision, Procedure Coding System (ICD-10-PCS) in the assignment of individual procedure codes in CCSR or procedure class categories.

ICD-10-PCS codes are seven characters long, and each character has a specific meaning in describing the type of procedure.1 The following table provides an example ICD-10-PCS code (0B110F4, Tracheostomy with tracheostomy tube) that is broken up into each of the individual seven characters.


ICD-10-PCS Code Character ICD-10-PCS Code Character's Meaning
0 (Section) The first character indicates section. For this example, ICD-10-PCS code, the value 0 represents the Medical and Surgical procedures section of ICD-10-PCS.
B (Body System) The second character indicates body system. For this example, ICD-10-PCS code, the value B represents the Respiratory System.
1 (Root Operation) The third character indicates root operation. For this example, ICD-10-PCS code, the value 1 represents Bypass.
1 (Body Part) The fourth character indicates body part, which is specific to the root operation and can vary by body system. For this example, ICD-10-PCS code, the value 1 represents the Trachea, which is specific to the respiratory system.
0 (Approach) The fifth character indicates approach. For this example, ICD-10-PCS code, the value 0 represents an Open approach.
F (Device) The sixth character indicates device, which only includes those devices that remain after the procedure is completed, such as electronic appliances, grafts, prostheses, implants, and simple or mechanical appliances. For this example, ICD-10-PCS code, the value F represents a Tracheostomy Device.
4 (Qualifier) The seventh and final character indicates qualifier. There is considerable variation in the seventh character because it is specific to the root operation. For this example, ICD-10-PCS code, the qualifier is 4, which is Cutaneous.


The seven characters described above generally apply to the structure of an ICD-10-PCS code, however some characters can carry different meanings across ICD-10-PCS sections. For example, in the Nuclear Medicine section, the third character indicates type of nuclear medicine procedure as opposed to root operation. For more information on ICD-10-PCS code structure, refer to the ICD-10-PCS Code Book1 or the Centers for Medicare and Medicaid Services (CMS) website (https://www.cms.gov/Medicare/Coding/ICD10).

1 Information about ICD-10-PCS characters was obtained from Casto AB, ed. ICD-10-PCS Code Book, 2021. Chicago, IL: American Health Information Management Association; 2021.

Return to Contents


Module 2: Clinical Classifications Software Refined (CCSR) for ICD-10-PCS Procedures

The Clinical Classifications Software Refined (CCSR) for ICD-10-PCS aggregates more than 80,000 ICD-10-PCS procedure codes into over 320 clinically meaningful categories.

Information on the CCSR for ICD-10-PCS procedures is organized by the six subsections below. Additional information is also available on the CCSR for ICD-10-PCS 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 CCSR for ICD-10-PCS Procedures

The CCSR for ICD-10-PCS aggregates more than 80,000 ICD-10-PCS procedure codes into over 320 clinically meaningful categories. The categories are organized across 31 clinical domains, which generally follow the structure of the chapters in the ICD-10-PCS Code Book.

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


ICD-10-PCS Codes CCSR Categories
0 (Section) The first character indicates section. For this example, ICD-10-PCS code, the value 0 represents the Medical and Surgical procedures section of ICD-10-PCS.
10D00Z0 10D00Z1 10D00Z2 PGN003: Cesarean section
009U30Z 009U3ZX 009U3ZZ 00JU3ZZ CNS002: Lumbar puncture


CCSR Clinical Domains

CCSR categories are organized across clinical domains, which generally follow the structure of the procedure sections of the ICD-10-PCS Code Book.1 The table below provides a complete list of all clinical domains within the CCSR tool.


ICD-10-PCS Clinical Domains (largely aligned with ICD-10-PCS Code Book sections)
Administration of Therapeutic Substances
Cardiovascular Procedures
Chiropractic Treatment
Central Nervous System Procedures
Endocrine Procedures
Ear, Nose, and Throat Procedures
Extracorporeal or Systemic Assistance and Performance
Extracorporeal or Systemic Therapies
Eye Procedures
Female Reproductive System Procedures
Gastrointestinal System Procedures
General Region Procedures
Hepatobiliary and Pancreas Procedures
Imaging
Lymphatic and Hemic System Procedures
Measurement and Monitoring
Mental Health Therapy
Male Reproductive System Procedures
Musculoskeletal, Subcutaneous Tissue, and Fascia Procedures
Nuclear Medicine
Osteopathic Treatment
Other Procedures
Pregnancy-Related Procedures
Dressings and Other Placements
Peripheral Nervous System Procedures
Radiation Therapy
Respiratory System Procedures
Rehabilitation, Evaluation, and Treatment
Skin and Breast Procedures
Substance Use Disorder Treatment
Urinary System Procedures


1 Casto AB, ed. ICD-10-PCS Code Book, 2021. Chicago, IL: American Health Information Management Association; 2021.

Development of the CCSR

The Clinical Classifications Software (CCS) was developed originally for International Classification of Diseases, Ninth Revision, Clinical Modification (ICD-9-CM) procedures. The CCS was translated to ICD-10-PCS prior to the availability of ICD-10-PCS-coded data and released as a beta version. Once ICD-10-PCS-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-PCS were revealed.

These findings led to the development of the CCSR for ICD-10-PCS. The CCSR for ICD-10-PCS provides a means by which to identify specific medical/surgical/ancillary clinical concepts using ICD-10-PCS procedure codes. The CCSR for ICD-10-PCS capitalizes on the taxonomy and specificity of the ICD-10-PCS coding scheme by creating new clinical categories that did not exist in the CCS for ICD-9-CM or beta versions of the CCS for ICD-10-PCS.

The refinement process was informed by American Health Information Management Association Exit Disclaimer certified ICD-10-PCS trainers and supported by a team of clinical experts and surgeons. The team extensively reviewed the CCSR at each stage of its development using the HCUP State Inpatient Databases (SID) for quality control testing.

The CCSR for ICD-10-PCS replaces the beta version of the CCS for ICD-10-PCS and will be updated annually as new ICD-10-PCS codes become available. The beta version of the CCS includes ICD-10-PCS codes valid through September 2020 and will not be updated for codes added after October 2020 (fiscal year 2021). It is recommended that the beta versions of the CCS for ICD-10-PCS no longer be used.

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

Return to Contents


Key Characteristics of the CCSR for ICD-10-PCS Procedures

  • Number of categories: the CCSR for ICD-10-PCS includes over 300 categories.
  • Category naming convention: the naming convention of the CCSR for ICD-10-PCS categories uses a three-character clinical domain abbreviation followed by three digits.
The table below provides the three-character abbreviation that is used for each ICD-10-PCS clinical domain. Individual CCSR categories are numbered sequentially, with the numbering scheme starting at "001" within each clinical domain (i.e., there is a CCSR 001 for each clinical domain).


ICD-10-PCS Clinical Domain Three-Character Abbreviation
Administration of Therapeutic Substances ADM
Cardiovascular Procedures CAR
Chiropractic Treatment CHP
Central Nervous System Procedures CNS
Endocrine Procedures ENP
Ear, Nose, and Throat Procedures ENT
Extracorporeal or Systemic Assistance and Performance ESA
Extracorporeal or Systemic Therapies EST
Eye Procedures EYP
Female Reproductive System Procedures FRS
Gastrointestinal System Procedures GIS
General Region Procedures GNR
Hepatobiliary and Pancreas Procedures HEP
Imaging IMG
Lymphatic and Hemic System Procedures LYM
Measurement and Monitoring MAM
Mental Health Therapy MHT
Male Reproductive System Procedures MRS
Musculoskeletal, Subcutaneous Tissue, and Fascia Procedures MST
Nuclear Medicine NCM
Osteopathic Treatment OST
Other Procedures OTR
Pregnancy-Related Procedures PGN
Dressings and Other Placements PLC
Peripheral Nervous System Procedures PNS
Radiation Therapy RAD
Respiratory System Procedures RES
Rehabilitation, Evaluation, and Treatment RHB
Skin and Breast Procedures SKB
Substance Use Disorder Treatment SUD
Urinary System Procedures URN


  • Category descriptions: the CCSR category descriptions provide a clinically relevant name that represents most of the codes in the category whenever possible, avoiding PCS terminology not used by clinicians. In some cases, acronyms are used for specific procedure types without an accompanying full description.
  • Category assignment is mutually exclusive: category assignment is mutually exclusive; an ICD-10-PCS procedure code is mapped to one and only one CCSR category.
  • Output from SAS® software: in the CCSR for ICD-10-PCS, users have the flexibility of choosing between two different output files—one structured vertically and the other horizontally. The decision of which output file to use is based on programmer experience, storage capacity, and clinical focus. The output file options available for the CCSR for ICD-10-PCS are discussed in greater detail in the subsection "Applying the Tool to Your Data."


Return to Contents


Applying the CCSR for ICD-10-PCS Procedures to Your Data

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

To apply the CCSR for ICD-10-PCS to HCUP or other administrative databases, the following steps are required:
  • Download the CCSR for ICD-10-PCS software
  • Understand the data elements that are required for the input dataset
  • Understand the output file structure(s)
  • Modify the SAS® program and run it to apply the CCSR to your data
  • Check the SAS log and output files to ensure correct application
  • Identify resources to validate frequencies of CCSR categories on the HCUP nationwide databases
Downloading the CCSR for ICD-10-PCS

A zip folder is available for download on the CCSR for ICD-10-PCS Procedures 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-PCS tool to a saved location on their computer.

The zip folder includes two files that make up the CCSR for ICD-10-PCS software and three files that make up the supporting documentation. These files include a specific naming convention to indicate the tool's version, where yyyy indicates the fiscal year for ICD-10-PCS procedure codes and r indicates the release number within the fiscal year. Descriptions for each file are outlined below:

CCSR for ICD-10-PCS Software Files:
  • PRCCSR_vyyyy-r.csv: One of two files that make up the CCSR for ICD-10-PCS software. This is the input file that the SAS program uses to build the tool. Each individual ICD-10-PCS procedure code is listed once (on a single row) with the assigned CCSR category information in columns. The CSV mapping file lists all ICD-10-PCS codes, the ICD-10-PCS code description, the CCSR category assigned, and the CCSR category description.
  • PRCCSR_Mapping_Program_vyyyy-r.sas: One of two files that make up the CCSR for ICD-10-PCS software. This is the SAS mapping program that applies the CCSR assignments to the user's ICD-10-PCS-coded data. The mapping program includes two options for the file structure of the CCSR output.

CCSR for ICD-10-PCS Documentation:
  • PRCCSR-User-Guide-vyyyy-r.pdf: One of three files that make up the CCSR for ICD-10-PCS documentation. This is the User Guide, which contains additional information about the tool.
  • PRCCSR-Reference-File-vyyyy-r.xlsx: One of three files that make up the CCSR for ICD-10-PCS documentation. This is the Reference File (Microsoft® Excel), which includes a list of all ICD-10-PCS procedure codes with descriptions and assigned CCSR categories with descriptions. Also included is a complete list of root operations, body parts, approaches, and devices/supplementals included in each CCSR category.
  • PRCCSR-ChangeLog-yr-vyyyyr.xlsx One of three files that make up the CCSR for ICD-10-PCS documentation. This is a log of changes (Excel) comparing the current version of the CCSR software with the previous version. It includes lists of changes in categories and a mapping of ICD-10-PCS codes into categories.
Understanding the Data Elements Required for the Input Dataset

The input dataset must contain certain elements that are coded in specific ways. These data elements, listed in the table below, are required for the assignment of the CCSR for ICD-10-PCS procedures.


Data Element Name in Program Purpose How to Modify the Data Element Name Used in the Program Data Element Name in HCUP Databases
Macro data element &RECID Unique record identifier used to link files Specify name using macro statement %LET RECID= KEY in the HCUP State databases
PR1-PRn, where n is the dimension of the procedure array Array of ICD-10-PCS procedures used to assign CCSR categories Specify prefix for PR array using macro statement %LET PRPREFIX= I10_PR1-I10PRn in all HCUP databases starting in data year 2016


Understanding the Output File Structure(s)

Users have the flexibility of choosing between two output file structures with the CCSR for ICD-10-PCS.
  • Vertical output file: includes one or more observations (i.e., rows) per input record. This output file 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 output file: includes an array of all CCSR categories. This output file 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.
Modifying the SAS Program and Applying It to Your Data

Users may use the SAS program (PRCCSR_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, 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 CCSR CSV mapping file, the input SAS dataset, and the output SAS dataset(s) are stored.
    1. Specify the full location where the CSV mapping file is stored
      (Modify italic text) → FILENAME INRAW1 'Location of CSV file, PRCCSR_vyyyy-r.CSV'
    2. Specify the folder location where your input SAS dataset is stored
      (Modify italic text) → LIBNAME IN1 'Location of input discharge data'
    3. Choose the folder location where the output SAS dataset(s) will be stored
      (Modify italic text) → LIBNAME OUT1 'Directory to store output file'

  • Input characteristics
    Within the SAS program are four macro variables corresponding to input characteristics in the user's input SAS dataset. Each macro variable has a default value that users must modify to match their input dataset.
    1. Specify the unique record identifier on your input dataset
      (Modify italic text) → %RECID=KEY;
    2. Specify the prefix used on the procedure fields in your input dataset
      (Modify italic text) → LIBNAME IN1 %LET PRPREFIX=I10_PR;
    3. Specify the maximum number of procedure codes on any record in the input dataset
      (Modify italic text) → %LET NUMPR=25;
    4. If available, specify the procedure count field found on any record in your input dataset
      (Modify italic text) → %LET NPRVAR=I10_NPR;

  • Optional output files
    Two output file structures are available to the user—a vertical output file and a horizontal output file. Within the SAS program are two macro variables for these optional output files that the user must modify (highlighted in the figure below). 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."
    1. Indicate if you wish to build a vertical CCSR output file (1=yes, 0=no)
      (Modify italic text) → %LET VERT=1;
    2. Indicate if you wish to build a horizontal CCSR output file (1=yes, 0=no)
      (Modify italic text) → LIBNAME IN1 %LET HORZ=1;

  • File names
    Within the SAS mapping program are three macro variables that specify naming conventions selected by the user that correspond to three files - Input dataset, Vertical output SAS file (this is the default output file), and Horizontal output SAS file (this is an optional output file that is created only if the specific macro variable under "Optional output files" is set to "1"; otherwise, this is blank).
    1. Specify the name of your input dataset
      (Modify italic text) → %LET CORE=INPUT_SAS_FILE;
    2. Specify the name of the vertical output SAS file
      (Modify italic text) → %LET VERTFILE=OUTPUT_VERT_FILE_NAME;
    3. Specify the name of the optional horizontal output SAS file
      (Modify italic text) → %LET HORZFILE=OUTPUT_HORZ_FILE_NAME;

Checking SAS Logs and File Output

To ensure that the SAS program was run correctly, it is recommended that users review both the SAS logs and output. 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.

Example of each output file structure:

Vertical file output

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


List of ICD-10-PCS Procedure Codes for RECID 1002
RECID I10_PR1 I10_PR2 I10_PR3 I10_PR4
1002 0DBM8ZX 0DBE8ZX ODB23ZX ODBB8ZX


Given that this discharge record has four procedure codes, there are four corresponding records in the vertical output file.


CCSR Vertical File Output
1 2 3 4 5
RECID OBS PRCCSR PRCCSR_VERSION PR_POSITION
1001 1 GIS002 2021.1 1
1001 2 GIS002 2021.1 2
1001 3 GIS002 2021.1 3
1001 4 GIS002 2021.1 4


  • 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 the name accordingly within the SAS mapping program, specifically within the %LET RECID=KEY; macro.
  • Column 2 above - the number of ICD-10-PCS procedures on this record triggers a total of four CCSR categories. For that reason, there are a total of four observations for this record within the vertical output file.
  • Column 3 above - the data element "PRCCSR&qot; provides the CCSR category for each respective ICD-10-PCS procedure on the record.
  • Column 4 above - the data element "PRCCSR_VERSION" indicates the version of the CCSR for ICD-10-PCS procedures tool.
  • Column 5 above - the data element "PR_POSITION" indicates which ICD-10-PCS procedure code on the record triggered the corresponding CCSR category. A numeric value of "1" indicates the principal procedure on an inpatient record.

Horizontal file output

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


CCSR Horizontal File Output
RECID Obs PRCCSR_VERSION PRCCSR_GIS001 PRCCSR_GIS002 PRCCSR_GIS003 PRCCSR_GIS004 PRCCSR_GIS005 PRCCSR_GIS006 PRCCSR_GIS007 PRCCSR_GIS008
1002 1 2021.1 0 2 3 0 0 0 0 0


  • Column labeled "RECID" - only the first record is shown for this sample dataset (RECID=1002). In the horizontal output file, there is one row that includes an array of all CCSR categories for each record.
  • Column labeled "PRCCSR_VERSION" - the data element "PRCCSR_VERSION" indicates the version of the CCSR for ICD-10-PCS procedures tool.
  • Columns that begin with "PRCCSR_" - Only a small portion of the CCSR array is shown. In its entirety, this array length includes more than 300 data elements corresponding to the number of CCSR categories in the tool. Shown here are CCSR categories GIS001-GIS008.
  • Row beginning with value "1002" - the first record includes a numeric value of "2" for PRCCSR_GIS002, indicating that this category was triggered by both the principal and any secondary procedure on the record. The data element PRCCSR_GIS003 has the value "3," indicating that this CCSR category was triggered by only a secondary procedure code. The remaining GIS-related categories shown include a numeric value of "0," which means that none of the procedures on the record triggered the respective category. Not shown is a CCSR category with a numeric value of "1," indicating that the category was triggered by only the principal procedure.

Resources to Validate Frequencies of CCSR Categories on the HCUP Nationwide Databases

For users applying the CCSR for ICD-10-PCS procedures, resources are available for validating your results. These resources specifically provide users with frequency distributions by CCSR categories in the HCUP nationwide databases for data years 2016-2018. These files are available under "Data Elements" on the respective nationwide database documentation pages:
Included in these frequency tables are both unweighted and weighted counts for the individual CCSR categories reported as a principal procedure or any-listed procedure on the record. Also available are counts by individual ICD-10-PCS procedure codes along with their corresponding CCSR category assignment. The frequencies provided are specific to the total number of records in the respective HCUP nationwide database and are not further stratified by any patient characteristics.

In addition to validation of results, the frequency tables also allow users to determine whether the respective HCUP nationwide database would have enough cases to support an analysis of interest.

Return to Contents


Documentation for the CCSR for ICD-10-PCS Procedures

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

  • User Guide: The purpose of this document is to provide technical documentation for users applying the CCSR for ICD-10-PCS to their data. If interested in learning more about the development of the CCSR, users should consult this report, particularly for information on how it compares with beta versions of the CCS for ICD-10-PCS as well as for the general guidelines used to assig ICD-10-PCS procedure codes to CCSR categories. Additionally, for each ICD-10-PCS root operation, users are provided the ICD-10-PCS definition, a medical explanation, and example procedures. Users requiring technical guidance should also consult this report, particularly for information on the SAS mapping program as well as the output file options.
  • Change Log: The purpose of this document is to compare the latest version of the CCSR for ICD-10-PCS with the prior version of the tool and alert users to the specific ICD-10-PCS 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, as well as the ICD-10-PCS root operations, body parts, approaches, and devices/supplements included in each CCSR category
  • A cumulative list of all ICD-10-PCS diagnosis codes and their corresponding CCSR category assignment

Return to Contents


Use Case Example for the CCSR for ICD-10-PCS Procedures

The CCSR for ICD-10-PCS aggregates more than 80,000 ICD-10-PCS procedure codes into over 300 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 operations during inpatient stays in the United States in data year 2018. In this case, CCSR categories are reported for any-listed operating room procedure (principal or secondary) on the discharge record. Operating room procedures are identified by the HCUP Procedure Classes Refined for ICD-10-PCS tool as major diagnostic or therapeutic surgical procedures. The Procedure Classes tool is discussed in greater detail in the next section of Module 2.

Top 10 Most Common Operations During Inpatient Stays in the United States, 2018


Rank Operating Room Procedure by CCSR Category (All-Listed) Total Number of Stays Rate of Stays per 100,000
1 Cesarean section 1,167,660 357.6
2 Knee arthroplasty 715,203 219.0
3 Perineal muscle laceration repair (second-degree obstetrical and other) 688,375 210.8
4 Hip arthroplasty 599,494 183.6
5 Percutaneous coronary intervention 481,780 147.5
6 Spine fusion 455,505 139.5
7 Cholecystectomy 335,240 102.7
8 Femur fixation 307,275 94.1
9 Colectomy 298,650 91.5
10 Vertebral discectomy 285,635 87.5
Source: Agency for Healthcare Research and Quality (AHRQ), Healthcare Cost and Utilization Project (HCUP), National Inpatient Sample (NIS), 2018, v2021.1 of the Clinical Classifications Software Refined (CCSR) for ICD-10-PCS procedures


As shown in the table, the most common operating room procedure in 2018 is Cesarean section, with a total of 1,167,660 inpatient stays in the United States. Following Cesarean section are knee arthroplasty and perineal muscle laceration repair (second-degree obstetrical and other).

Return to Contents


Test Your Knowledge of the CCSR for ICD-10-PCS Procedures

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


  2. True or false: The beta version of the CCS for ICD-10-PCS will be updated for new procedure codes.
    • True
    • False


  3. True or false: The SAS mapping program can be run as is so that users do not need to make any modifications to the program before running it on their data.
    • True
    • False

Answers to Test Your Knowledge of the CCSR for ICD-10-PCS Procedures

Return to Contents

You have completed the overview of the CCSR for ICD-10-PCS procedures.

For any questions about the CCSR for ICD-10-PCS 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 2: Procedure Classes Refined for ICD-10-PCS

The Procedures Classes Refined for ICD-10-PCS can be used to readily determine:
  1. Whether a procedure is diagnostic or therapeutic
  2. Whether a procedure is expected to be performed in an operating room (i.e., major)
Information on the Procedure Classes Refined for ICD-10-PCS is organized by the six subsections below. Additional information is also available on the Procedure Classes Refined for ICD-10-PCS 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 Procedure Classes Refined for ICD-10-PCS

The Procedure Classes Refined for ICD-10-PCS software assigns all ICD-10-PCS procedure codes to one of four categories.
  • Minor diagnostic consists of non-operating room procedures that are diagnostic (e.g., B244ZZZ, Ultrasonography of Right Heart).
  • Minor therapeutic consists of non-operating room procedures that are therapeutic (e.g., 02HQ33Z, Insertion of Infusion Device into Right Pulmonary Artery, Percutaneous Approach).
  • Major diagnostic consists of procedures that are considered operating room procedures and that are performed for diagnostic reasons (e.g., 02BV0ZX, Excision of Superior Vena Cava, Open Approach, Diagnostic).
  • Major therapeutic consists of procedures that are considered operating room procedures and that are performed for therapeutic reasons (e.g., 0210093, Bypass Coronary Artery, One Site from Coronary Artery with Autologous Venous Tissue, Open Approach).
The Procedure Classes Refined for ICD-10-PCS is updated annually to coincide with fiscal year updates to the ICD-10-PCS coding system and retains procedure codes valid from the start of ICD-10-PCS in October 2015. For this reason, it is advisable to always use the most recent version of the tool.

Return to Contents


Key Characteristics of the Procedure Classes Refined for ICD-10-PCS

  • Identification of minor versus major procedures: the identification of a major surgery is tied to the expectation that the procedure would be performed in an operating room. Procedure codes are identified as major based on the ICD-10-PCS list of operating room procedures included in the AHRQ Quality Indicator (QI™) software.
  • Identification of therapeutic versus diagnostic procedures: the identification of diagnostic and therapeutic procedures was determined by either the taxonomy of the ICD-10-PCS code or ICD-10-PCS clinical coding experts.

    For example, the following codes are always diagnostic:
    • Medical/surgical codes with a first character of 0 and a seventh character of X
    • Administration codes with a first character of 3 and a seventh character of X
    The taxonomy does not include a clear identification of therapeutic procedures.


Return to Contents


Steps for Applying the Procedure Classes Refined for ICD-10-PCS to Your Data

To apply the Procedure Classes Refined for ICD-10-PCS to HCUP or other administrative databases, the following steps are required:
  • Download the Procedure Classes Refined for ICD-10-PCS software
  • Understand the data elements that are required for the input dataset
  • Modify the SAS® program and run it to apply the Procedure Classes Refined for ICD-10-PCS to your data
  • Check the SAS log and output files to ensure correct application
Downloading the Procedure Classes Refined for ICD-10-PCS

A zip folder is available for download on the Procedure Classes Refined for ICD-10-PCS 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 Procedure Classes Refined tool to a saved location on their computer.

The zip folder includes two files that make up the Procedure Classes Refined for ICD-10-PCS software and two files that make up the supporting documentation. These files include a specific naming convention to indicate the tool's version, where yyyy indicates the fiscal year for ICD-10-PCS procedure codes and r indicates the release number within the fiscal year

Procedure Classes Refined for ICD-10-PCS Software Files
  • PClass_ICD10PCS_vyyyy-r.csv: One of two files that make up the Procedure Classes Refined for ICD-10-PCS software. This is the CSV mapping file that lists ICD-10-PCS procedure codes and the procedure class assignment.
  • PClass_ICD10PCS_Mapping_Program_vyyyy-r.sas: One of two files that make up the Procedure Classes Refined for ICD-10-PCS software. This is the SAS mapping program that applies the Procedure Classes Refined tool to the user-provided input data.
Procedure Classes Refined for ICD-10-PCS Documentation
  • PC-ICD10PCS-User-Guide-vyyyy-r.pdf: One of two files that make up the Procedure Classes Refined for ICD-10-PCS documentation. This is the User Guide, which contains additional information about the tool.
  • PC_ICD10PCS-ChgLog-vyyyyr-vyyyr.xlsx: One of two files that make up the Procedure Classes Refined for ICD-10-PCS documentation. This is the log of changes (Excel) comparing the current version of the tool with a previous version that includes lists of changes and assignment of codes to a procedure class value.
Understanding the Data Elements Required for the Input Dataset

The input dataset must contain an array of ICD-10-PCS procedure codes without decimals. These data elements are required for the assignment of the Procedure Classes Refined for ICD-10-PCS.


Data Element Name in Program Purpose How to Modify the Data Element Name Used in the Program Data Element Name in HCUP Databases
PR1-PRn, where n is the dimension of the procedure array Array of ICD-10-PCS procedures used to assign procedure classes Specify prefix for PR array using macro statement %LET PRPREFIX= I10_PR1-I10PRn in all HCUP databases starting in data year 2016


Modifying the SAS Program and Applying It to Your Data

Users may use the SAS program (PClass_ICD10PCS_Mapping_Program_vyyyy-r.sas) to apply the tool to their data. Currently, only a SAS program is 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, 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 Procedure Classes Refined for ICD-10-PCS 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 INRAW 1 'Location of CSV file, PClass_I10PCS_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 'Directory to store output file'
  • Input characteristics
    Within the SAS program, there are three macro variables corresponding to input characteristics in the user's input SAS dataset. Each macro variable has a default value that users must modify to match their input dataset.
  • Specify the prefix used on the procedure fields in your input dataset
    (Modify italic text) → %LET PRPREFIX=I10_PR;
  • Specify the maximum number of procedure codes on any record in the input dataset
    (Modify italic text) → %LET NUMPR=15;
  • Specify the number of observations to use from input dataset. Use MAX to use all observations and use a smaller value for testing purposes
    (Modify italic text) → %LET OBS=MAX;
  • File names
    Within the SAS mapping program are two macro variables that specify naming conventions selected by the user that correspond to four files - input dataset and 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 dataset (SAS member name)
      (Modify italic text) → %LET OUT1=OUTPUT_SAS_FILE;
Checking SAS Logs and File Output

To ensure that the SAS program was run correctly, it is recommended that users review both the SAS logs and output(s). 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 outputs to ensure correct application (e.g., prints of records, frequency distributions on the procedure classes). These outputs 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. This output includes summary statistics, which provide total frequencies of procedure classes corresponding to the position of the procedure in the procedure array. For this example, overall frequencies of procedure classes are provided only for the principal procedure (PR1).


Sample Data for Procedure Classes Refined for ICD-10-PCS
Procedure Class 1
PCLASS1 Frequency Percent Cumulative Frequency Cumulative Percent
Missing 2,767,772 38.95 2,767,772 38.95
1: Minor Diagnostic 583,492 8.21 3,351,264 47.16
2: Minor Therapeutic 2,069,063 29.12 5,420,327 76.28
3: Major Diagnostic 39,088 0.55 5,459,415 76.83
4: Major Therapeutic 1,646,083 23.17 7,105,498 100.0


  • Header row beginning with PCLASS1 - This summary output provides the frequency or count and percentage for the respective PCLASS values shown, which in this case are for the principal procedure (PCLASS1). Also provided are the cumulative frequency and percentage. The cumulative frequency in the last row should match the total record count in the file.
  • Fourth row beginning with value "Missing" - The frequency for "missing" can be used for validation. Note that the SAS mapping program for this tool will assign any blank procedure field or invalid procedure code to a procedure class value of "missing." Users can compare the missing count and percentage to summary output for the corresponding procedure. For example, if the number of records with PR1 missing or invalid does not match the number of records missing PCLASS1, this would indicate a possible issue in the application of the tool.
  • Beginning at row 5 with value "1: Minor Diagnostic" - All procedure class values are shown here along with record count and percentage. In this case, the distribution for PCLASS1 shows all values 1 to 4. If it were the case that all nonmissing and valid principal procedures were assigned to minor diagnostic (value 1), this might indicate a possible error.


Return to Contents


Documentation for the Procedure Classes Refined for ICD-10-PCS

Documentation is available to users as a resource on the Procedure Classes Refined for ICD-10-PCS page of the HCUP-US website.
  • User Guide: The purpose of this document is to provide technical documentation for users applying the Procedure Classes Refined for ICD-10-PCS to their data. If interested in learning more about the development of the Procedure Classes Refined tool, users should consult this report. Users requiring technical guidance should also consult this report, particularly for information on the SAS mapping program as well as the output file options. Additionally, there is helpful information for users planning to use the Procedure Classes Refined tool in conjunction with the CCSR for ICD-10-PCS procedures.
  • Change Log: The purpose of this document is to compare the latest version of the Procedure Classes Refined for ICD-10-PCS with the prior version of the tool and alert users to the specific ICD-10-PCS coding changes.


Return to Contents


Use Case Example for the Procedure Classes Refined for ICD-10-PCS

The Procedure Classes Refined for ICD-10-PCS is used to readily determine:
  1. Whether a procedure is diagnostic or therapeutic
  2. Whether a procedure is expected to be performed in an operating room (i.e., major)

A researcher may find this tool useful for analyzing trends in the number of inpatient discharges in the United States with at least one operating room procedure from 2016 to 2018 for the following age groups: 0-17, 18-44, 45-64, 65-74, and 75+ years. Operating room procedures are defined as any record with a procedure class value on any procedure = 3 or 4 for major diagnostic or major therapeutic procedures, respectively.

Number of Inpatient Stays in the United States With At least One Operating Room Procedure by Age Group, 2016-2018


Age Group, Years Number of Inpatient Stays in the United States 2016
0-17 334,465 324,055 314,075
18-44 3,203,762 3,143,787 3,089,624
45-64 2,858,894 2,812,299 2,692,064
65-74 1,871,365 1,920,504 1,894,219
75+ 1,569,254 1,591,584 1,615,200
Source: Agency for Healthcare Research and Quality (AHRQ), Healthcare Cost and Utilization Project (HCUP), National Inpatient Sample (NIS), 2016-2018, v2021.2 of the Procedure Classes Refined for ICD-10-PCS


As you can see, the number of inpatient stays with an operating room procedure has decreased from 2016 to 2018 for the following age groups: 0-17, 18-44, and 45-64 years. In contrast, the number of inpatient stays with an operating room procedure has increased over this same time period for patients aged 65-74 and 75+ years.

Return to Contents


Test Your Knowledge of the Procedure Classes Refined for ICD-10-PCS

  1. Which of the following is not a procedure class value?
    • Minor therapeutic procedures
    • Major diagnostic procedures
    • Cardiovascular procedures
    • Major therapeutic procedures


  2. True or false: The Procedure Classes Refined for ICD-10-PCS software identifies operating room procedures.
    • True
    • False


  3. True or false: The SAS mapping program can be run as is, and users do not need to make any modifications to the program before running it on their data.
    • True
    • False

Answers to Test Your Knowledge of the Procedure Classes Refined for ICD-10-PCS

Return to Contents

You have completed the overview of the Procedure Classes Refined for ICD-10-PCS! Module 2 is now complete.

For any questions about the Procedure Classes Refined for ICD-10-PCS 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 Research Tools 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.

Return to Contents

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


Module 3: 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.

Return to Contents


Module 3: 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


Module 3: 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. These files include a specific naming convention to indicate the tool's version, where yyyy indicates the calendar year for CPT/HCPCS Level II codes and r indicates the release number within the calendar year.

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.


  • 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.
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.


  • 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.


  • 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.
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 location 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;"
  • Specify 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;"
  • 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;"
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


Module 3: 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


Module 3: 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


Module 3: 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


Module 3: 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


Module 3: 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


Module 3: 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 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. These files include a specific naming convention to indicate the tool's version, where yyyy indicates the calendar year for CPT/HCPCS Level II codes and r indicates the release number within the calendar year.

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.


  • 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.
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.


  • 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.
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


Module 3: 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


Module 3: 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


Module 3: 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 Research Tools 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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 administrative 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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


Module 4: 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 reduction
    • 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


Module 4: 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


Module 4: 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. True or false: Individual ICD-10-PCS procedures can be mapped to more than one CCSR category?
    • False - Individual ICD-10-PCS procedure codes are assigned to one and only one CCSR category./li>


  2. True or false: The beta version of the CCS for ICD-10-PCS will be updated for new procedure codes.
    • False - The CCSR for ICD-10-PCS replaces the beta version of the CCS for ICD-10-PCS. The beta version of the CCS includes ICD-10-PCS codes valid through September 2020 and will not be updated for codes added after October 2020 (fiscal year 2021).


  3. True or false: The SAS mapping program can be run as is so that users do not need to make any modifications to the program before running it on their data.
    • False - If using the SAS mapping program, the user must specify or modify macro variables or directory paths 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.

Return to Access Quiz

Return to Contents



  1. True or false: Individual ICD-10-PCS procedures can be mapped to more than one CCSR category?
    • False - Individual ICD-10-PCS procedure codes are assigned to one and only one CCSR category.


  2. True or false: The beta version of the CCS for ICD-10-PCS will be updated for new procedure codes.
    • False - The CCSR for ICD-10-PCS replaces the beta version of the CCS for ICD-10-PCS. The beta version of the CCS includes ICD-10-PCS codes valid through September 2020 and will not be updated for codes added after October 2020 (fiscal year 2021).


  3. True or false: The SAS mapping program can be run as is so that users do not need to make any modifications to the program before running it on their data.
    • False - If using the SAS mapping program, the user must specify or modify macro variables or directory paths 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.

Return to Access Quiz

Return to Contents



  1. Which of the following is not a procedure class value?
    • Cardiovascular procedures


  2. True or false: The Procedure Classes Refined for ICD-10-PCS software identifies operating room procedures.
    • True - Major diagnostic and major therapeutic procedures are operating room procedures.


  3. True or false: The SAS mapping program can be run as is, and users do not need to make any modifications to the program before running it on their data.
    • False - If using the SAS mapping program, the user must specify or modify macro variables or directory paths 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.

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). January 2022. 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 1/24/22