POARisk is a risk-adjustment model for in-hospital mortality among inpatients undergoing one or more procedures. It was derived and validated using hospital discharge data from the California State Inpatient Database. Details are provided in the following article:

Dalton JE, Glance LG, Mascha EJ, Ehrlinger J, Chamoun N, and Sessler DI (2013). “Impact of Present-on-Admission Indicators on Risk-Adjusted Hospital Mortality Measurement.” Anesthesiology.

The SAS macro contained in the program file below will calculate the POARisk risk score based on an inputted dataset of a certain format. This inputted dataset must contain the following:

1. A unique discharge identifier or key variable (e.g., encounter ID)

2. A set of variables containing present-on-admission ICD-9-CM diagnosis codes associated with the discharge, but excluding codes not present-on-admission (e.g., dx1, dx2, …, dx30).

  • These variables must be character variables of length five, and must omit decimals from the ICD-9-CM codes (e.g., type II diabetes mellitus without mention of complication, ICD-9-CM code 250.00, would be stored as “25000”).
  • These variables must all be named using a common prefix; in the example immediately above, the prefix is ‘dx’ but this prefix can be anything the user prefers.

3. A similar set of variables containing ICD-9-CM procedure codes (e.g., pr1, pr2, …, pr20) representing either the patient’s primary procedure or secondary procedures occurring on days prior to the date of the primary procedure (but not on the same date as the primary procedure).

  • These variables must be character variables of length four, and must also omit the decimal from the ICD-9-CM codes (e.g., laparoscopic appendectomy, ICD-9-CM code 47.01, would be stored as “4701”).
  • These variables must all be named using a common prefix; in the example immediately above, the prefix is ‘pr’ but this prefix can be anything the user prefers.
  • In many observational registries, the first coded procedure listed is the primary procedure. Refer to your database documentation.

4. A numeric variable representing patient age in years.

5. A binary variable representing female gender, coded as 0 for male and 1 for female.

The format of the input dataset is expressed in a sample CSV data file provided below. Also provided is a sample SAS program file which reads the CSV file, loads the macro, invokes the macro, and returns an augmented dataset containing a new variable ‘POARisk’. The calculated POARisk represents the initially-calibrated version of the risk score (Figure 2B in the Anesthesiology article) and is presented on the log-odds scale. To transform POARisk to a probability estimate, use the following inverse logit equation:

POARisk-equation

Note that the POARisk macro will return a missing value if either age or gender are missing.

File Description
POARisk.sas SAS program file containing the POARisk macro
POARisk_Sample_Program.sas Sample SAS program file calculating POARisk from the macro
POARisk_SampleData.csv CSV file containing discharge data used for the sample SAS program