Trends in the treatment of proximal humerus fractures over an 11 year period in New York state
Methods
Data collection
The SPARCS database was queried for all patients presenting with a proximal humerus fracture in New York state from January 2010 to December 2020 based on ICD code of the principal diagnosis. Pathologic fractures and pediatric physeal fractures were excluded from this analysis. After the relevant patient cohort was identified, all subsequent encounters for each patient were evaluated to determine whether patients were treated operatively or nonoperatively. For patients treated operatively, the specific procedure was determined by ICD procedure code and/or CPT code. Any subsequent ED visits, readmissions, or reoperations were recorded. A pre-specified list of relevant postoperative complications was compiled to identify any subsequent complications based on ICD code. Specific complication diagnoses were categorized into groups which included nonunion, malunion, infection, wound complications, osteolysis, instability, mechanical complications, periprosthetic fractures, shoulder stiffness, neuropathy, and persistent shoulder pain.
Statistical analysis
All statistical analysis was performed using R (R Foundation for Statistical Computing; Vienna, Austria). Simple comparisons between groups were performed with standard statistical tests (i.e., t-tests, chi-squared tests, Fisher’s exact test as appropriate). A multivariable logistic regression model was used to evaluate the odds of undergoing reoperation following operative treatment of a proximal humerus fracture with either rTSA or ORIF when controlling for underlying confounding variables.
Code
n_overall <- format(nrow(df), big.mark = ',')
age_overall <- paste(round(mean(df$age), 1), '+/-', round(sd(df$age), 1))
# summarize percentage of op vs nonop patients by year
minmax_perc_op <- df %>%
group_by(disch_yr, eventual_treatment) %>%
count() %>%
ungroup() %>%
group_by(disch_yr) %>%
mutate(perc = 100*(n/sum(n))) %>%
ungroup %>%
filter(eventual_treatment == 'operative') %>%
summarise(min_perc = round(min(perc), 1),
min_perc_year = disch_yr[which.min(perc)],
max_perc = round(max(perc), 1),
max_perc_year = disch_yr[which.max(perc)])
n_operative <- df %>% filter(eventual_treatment == 'operative') %>% nrow()
n_orif <- df %>% filter(surgery == 'orif') %>% nrow()
n_rtsa <- df %>% filter(surgery == 'rTSA') %>% nrow()
n_hemi <- df %>% filter(surgery == 'hemi') %>% nrow()
# n_atsa <- df %>% filter(surgery == 'aTSA') %>% nrow()
# summarize percentage of hemis over time in >65 cohort
minmax_perc_hemi <- df %>%
filter(age_bins == '65+',
eventual_treatment == 'operative') %>%
group_by(disch_yr, surgery) %>%
count() %>%
ungroup() %>%
group_by(disch_yr) %>%
mutate(perc = 100*(n/sum(n))) %>%
ungroup %>%
filter(surgery == 'hemi') %>%
summarise(mean_1 = round(mean(perc[1:3]), 1),
mean_3 = round(mean(perc[9:11]), 1))Results
Demographics
A total of 92,308 patients sustained a proximal humerus fracture during the study period and were included in this analysis. The mean age of patients presenting with proximal humerus fractures during the study period was 67.8 +/- 16.8 and 72.5% were female. 39.1% of fractures were specified as two-part fractures. However, 59% of cases were not associated with an ICD code for a specific fracture pattern. Therefore, the distribution of two-, three-, and four-part fractures is unlikely to be accurate.
Overall, 16.8% of patients with proximal humerus fractures were treated operatively. There was a small general decrease in the percentage of patients treated operatively over the course of the study period (p < 0.001). The lowest percentage of operatively treated patients was 14% in 2017, while the highest percentage was 20.2% in 2010 (Figure 1). On average, patients treated operatively were younger (64.9 +/- 15.1 years versus 68.4 +/- 17.1 years, p < 0.001), more likely to be white (80.2% versus 74.7%, p < 0.001), and more likely to have private insurance (41.4% versus 32.0%, p < 0.001). The mean follow up duration for operative cases was 3.0 +/- 2.9 years (Table 1).
| Characteristic | Overall, N = 92,3081 | Treatment | p-value2 | |
|---|---|---|---|---|
| Nonoperative, N = 76,7851 | Operative, N = 15,5231 | |||
| Age (years) | 67.8 +/- 16.8 | 68.4 +/- 17.1 | 64.9 +/- 15.1 | <0.001 |
| Sex | 0.003 | |||
| Female | 66,885 (72.5%) | 55,787 (72.7%) | 11,098 (71.5%) | |
| Male | 25,422 (27.5%) | 20,997 (27.3%) | 4,425 (28.5%) | |
| Fracture type | <0.001 | |||
| Two part fracture | 36,073 (39.1%) | 30,350 (39.5%) | 5,723 (36.9%) | |
| Three part fracture | 980 (1.1%) | 498 (0.6%) | 482 (3.1%) | |
| Four part fracture | 775 (0.8%) | 174 (0.2%) | 601 (3.9%) | |
| Unspecified fracture | 54,480 (59.0%) | 45,763 (59.6%) | 8,717 (56.2%) | |
| Race | <0.001 | |||
| White | 69,650 (75.6%) | 57,193 (74.7%) | 12,457 (80.2%) | |
| Black | 5,133 (5.6%) | 4,561 (6.0%) | 572 (3.7%) | |
| Hispanic | 7,443 (8.1%) | 6,512 (8.5%) | 931 (6.0%) | |
| Asian | 2,059 (2.2%) | 1,757 (2.3%) | 302 (1.9%) | |
| Native American | 271 (0.3%) | 226 (0.3%) | 45 (0.3%) | |
| Other or Unknown | 7,532 (8.2%) | 6,316 (8.2%) | 1,216 (7.8%) | |
| Elixhauser score | 1.6 +/- 4.3 | 1.6 +/- 4.2 | 1.9 +/- 5.0 | <0.001 |
| Insurance | <0.001 | |||
| Private | 30,981 (33.6%) | 24,556 (32.0%) | 6,425 (41.4%) | |
| Medicare | 49,178 (53.3%) | 41,803 (54.4%) | 7,375 (47.5%) | |
| Medicaid | 5,314 (5.8%) | 4,512 (5.9%) | 802 (5.2%) | |
| Worker's Compensation | 2,457 (2.7%) | 1,908 (2.5%) | 549 (3.5%) | |
| Other | 4,377 (4.7%) | 4,005 (5.2%) | 372 (2.4%) | |
| Follow-up duration (years) | 2.5 +/- 2.7 | 2.4 +/- 2.7 | 3.0 +/- 2.9 | <0.001 |
| 1 Mean +/- SD; n (%) | ||||
| 2 Welch Two Sample t-test; Pearson's Chi-squared test | ||||
Operative treatment of proximal humerus fractures
Of the 15,523 patients treated operatively, 72.2% were treated with ORIF, 18.3% were treated with rTSA, and 9.5% were treated with hemiarthroplasty (Table 2). Over the course of the 10 year study period, the percentage of proximal humerus fractures treated with rTSA increased significantly, particularly in patients over 65 years of age. There was a corresponding decrease in the proportion of fractures treated with ORIF in patients over 65. In 2019, the number of proximal humerus fractures treated with rTSA was greater than the number of proximal humerus fractures treated with ORIF (Figure 2). Concurrently, as the proportion of rTSAs increased over time, the number of hemiarthroplasties performed for proximal humerus fractures decreased rapidly. In the over 65 age cohort, 27.1% of patients with operatively treated proximal humerus fractures underwent hemiarthroplasty during the first three years of the study period. This decreased to 0.6% during the final three years of the study period.
| Characteristic | Surgical Procedure | p-value2 | ||
|---|---|---|---|---|
| Hemiarthroplasty, N = 1,4741 | rTSA, N = 2,8411 | ORIF, N = 11,2081 | ||
| Fracture type | <0.001 | |||
| Two part fracture | 377 (25.6%) | 532 (18.7%) | 4,814 (43.0%) | |
| Three part fracture | 2 (0.1%) | 121 (4.3%) | 359 (3.2%) | |
| Four part fracture | 7 (0.5%) | 435 (15.3%) | 159 (1.4%) | |
| Unspecified fracture | 1,088 (73.8%) | 1,753 (61.7%) | 5,876 (52.4%) | |
| Malunion or nonunion as indication | <0.001 | |||
| None | 1,422 (96.5%) | 2,565 (90.3%) | 10,942 (97.6%) | |
| Malunion | 21 (1.4%) | 107 (3.8%) | 53 (0.5%) | |
| Nonunion | 31 (2.1%) | 169 (5.9%) | 213 (1.9%) | |
| Age (years) | 71.1 +/- 11.6 | 73.8 +/- 9.1 | 61.9 +/- 15.6 | <0.001 |
| Sex | <0.001 | |||
| Female | 1,127 (76.5%) | 2,321 (81.7%) | 7,650 (68.3%) | |
| Male | 347 (23.5%) | 520 (18.3%) | 3,558 (31.7%) | |
| Race | <0.001 | |||
| White | 1,215 (82.4%) | 2,422 (85.3%) | 8,820 (78.7%) | |
| Black | 43 (2.9%) | 61 (2.1%) | 468 (4.2%) | |
| Hispanic | 94 (6.4%) | 119 (4.2%) | 718 (6.4%) | |
| Asian | 26 (1.8%) | 42 (1.5%) | 234 (2.1%) | |
| Native American | 3 (0.2%) | 9 (0.3%) | 33 (0.3%) | |
| Other or Unknown | 93 (6.3%) | 188 (6.6%) | 935 (8.3%) | |
| Elixhauser score | 2.8 +/- 5.4 | 2.3 +/- 5.6 | 1.7 +/- 4.8 | <0.001 |
| Insurance | <0.001 | |||
| Private | 445 (30.2%) | 654 (23.0%) | 5,326 (47.5%) | |
| Medicare | 899 (61.0%) | 2,023 (71.2%) | 4,453 (39.7%) | |
| Medicaid | 49 (3.3%) | 77 (2.7%) | 676 (6.0%) | |
| Worker's Compensation | 53 (3.6%) | 62 (2.2%) | 434 (3.9%) | |
| Other | 28 (1.9%) | 25 (0.9%) | 319 (2.8%) | |
| Follow-up duration (years) | 4.6 +/- 3.2 | 2.1 +/- 2.2 | 3.0 +/- 3.0 | <0.001 |
| Length of stay (days) | 5.1 +/- 4.9 | 3.5 +/- 3.4 | 4.4 +/- 4.8 | <0.001 |
| Accommodation charge ($) | 15,454.2 +/- 20,752.4 | 13,417.5 +/- 18,118.7 | 13,317.0 +/- 24,557.5 | 0.005 |
| Ancillary charge ($) | 39,467.1 +/- 24,830.7 | 67,182.1 +/- 44,215.6 | 35,218.4 +/- 30,190.6 | <0.001 |
| Total charge ($) | 53,398.4 +/- 39,140.0 | 80,442.6 +/- 51,867.1 | 42,225.5 +/- 42,904.2 | <0.001 |
| 1 n (%); Mean +/- SD | ||||
| 2 Pearson's Chi-squared test; One-way ANOVA; Fisher's Exact Test for Count Data with simulated p-value (based on 2000 replicates) | ||||
Operative outcomes
The rate of postoperative complications and reoperations was evaluated for patients with at least one year of postoperative follow up (Table 3).
When directly comparing the outcomes of ORIF and rTSA, there was no difference in rate of surgical complications (\(\chi^2\) = 0.245, p = 0.621) or reoperations (\(\chi^2\) = 0.112, p = 0.730) between groups. There was no difference between the ORIF and rTSA groups with respect to all-cause readmission within 3 months (\(\chi^2\) = 1.046, p = 0.307) or 1 year of surgery (\(\chi^2\) = 3.666, p = 0.056).
Based on a multivariable logistic regression model to control for age, general medical status as approximated by Elixhauser score, and the duration of follow-up, there was no overall difference in the odds of undergoing reoperation between patients who underwent rTSA and patients who underwent ORIF. However, there was a significant interaction effect between procedure and fracture pattern. Patients with four part fractures who underwent ORIF demonstrated a significantly greater odds of undergoing reoperation (Table 4).
| Characteristic | Surgical Procedure | p-value2 | ||
|---|---|---|---|---|
| Hemiarthroplasty, N = 1,1661 | rTSA, N = 1,6501 | ORIF, N = 6,9411 | ||
| Any surgical complication | 183 (15.7%) | 260 (15.8%) | 1,131 (16.3%) | 0.790 |
| Nonunion | 10 (0.9%) | 11 (0.7%) | 138 (2.0%) | <0.001 |
| Malunion | 2 (0.2%) | 5 (0.3%) | 57 (0.8%) | 0.006 |
| Neuropathy | 0 (0.0%) | 1 (0.1%) | 1 (0.0%) | 0.494 |
| Infection | 55 (4.7%) | 62 (3.8%) | 223 (3.2%) | 0.028 |
| Stiffness | 28 (2.4%) | 54 (3.3%) | 326 (4.7%) | <0.001 |
| Instability | 63 (5.4%) | 93 (5.6%) | 261 (3.8%) | <0.001 |
| Osteolysis | 3 (0.3%) | 1 (0.1%) | 5 (0.1%) | 0.154 |
| Periprosthetic fracture | 11 (0.9%) | 32 (1.9%) | 32 (0.5%) | <0.001 |
| Wound complication | 11 (0.9%) | 21 (1.3%) | 101 (1.5%) | 0.356 |
| Mechanical complication | 36 (3.1%) | 41 (2.5%) | 103 (1.5%) | <0.001 |
| Persistent shoulder pain | 15 (1.3%) | 20 (1.2%) | 167 (2.4%) | 0.001 |
| Any medical complication | 92 (7.9%) | 145 (8.8%) | 445 (6.4%) | 0.001 |
| Any reoperation | 104 (8.9%) | 117 (7.1%) | 473 (6.8%) | 0.035 |
| Revision arthroplasty | 83 (7.1%) | 99 (6.0%) | 349 (5.0%) | 0.008 |
| Debridement | 25 (2.1%) | 29 (1.8%) | 106 (1.5%) | 0.283 |
| Revision ORIF | 1 (0.1%) | 2 (0.1%) | 36 (0.5%) | 0.010 |
| Fixation of periprosthetic fracture | 1 (0.1%) | 2 (0.1%) | 6 (0.1%) | 0.866 |
| Time to first revision (years) | 1.6 +/- 2.1 | 1.4 +/- 1.6 | 1.0 +/- 1.3 | <0.001 |
| Readmission within 3 months | 151 (13.0%) | 214 (13.0%) | 834 (12.0%) | 0.435 |
| Readmission within 12 months | 266 (22.8%) | 380 (23.0%) | 1,447 (20.8%) | 0.073 |
| Mortality within 3 months | 0 (0.0%) | 2 (0.1%) | 1 (0.0%) | 0.115 |
| Mortality within 12 months | 1 (0.1%) | 7 (0.4%) | 10 (0.1%) | 0.053 |
| 1 n (%); Mean +/- SD | ||||
| 2 Pearson's Chi-squared test; Fisher's exact test; One-way ANOVA | ||||
Code
# orif versus rtsa with 1 year follow up
df.orifvrtsa <- df %>%
filter(eventual_treatment == 'operative') %>%
filter(surgery == 'orif' | surgery == 'rTSA') %>%
filter(followup > 1)
# chisq.test(df.orifvrtsa$any_surgical_complication, df.orifvrtsa$surgery)
# chisq.test(df.orifvrtsa$eventual_revision, df.orifvrtsa$surgery)
# chisq.test(df.orifvrtsa$readmission_within_3months, df.orifvrtsa$surgery)
# chisq.test(df.orifvrtsa$readmission_within_12months, df.orifvrtsa$surgery)
#
# m1 <- glm(readmission_within_12months ~ surgery + age,
# data = df.orifvrtsa,
# family = 'binomial')
# summary(m1)
df.ind <- df.orifvrtsa %>%
filter(indication_fxtype != 'unspecifiedfx') %>%
mutate(indication_fxtype = recode_factor(indication_fxtype,
'2partfx' = 'Two part fracture',
'3partfx' = 'Three part fracture',
'4partfx' = 'Four part fracture')) %>%
mutate(surgery = recode_factor(surgery,
'rTSA' = 'rTSA',
'orif' = 'ORIF'))
m2 <- glm(eventual_revision ~ surgery*indication_fxtype + age + elixhauser_score + followup,
data = df.ind,
family = 'binomial')
summary(m2)
Call:
glm(formula = eventual_revision ~ surgery * indication_fxtype +
age + elixhauser_score + followup, family = "binomial", data = df.ind)
Deviance Residuals:
Min 1Q Median 3Q Max
-0.9276 -0.3774 -0.3321 -0.2899 2.7090
Coefficients:
Estimate Std. Error z value
(Intercept) -1.945958 0.433986 -4.484
surgeryORIF -0.241307 0.259424 -0.930
indication_fxtypeThree part fracture -0.982656 1.039578 -0.945
indication_fxtypeFour part fracture -0.527977 0.480503 -1.099
age -0.016310 0.004804 -3.395
elixhauser_score 0.041990 0.012717 3.302
followup 0.073933 0.028021 2.639
surgeryORIF:indication_fxtypeThree part fracture 0.595845 1.137003 0.524
surgeryORIF:indication_fxtypeFour part fracture 1.738803 0.598029 2.908
Pr(>|z|)
(Intercept) 7.33e-06 ***
surgeryORIF 0.352286
indication_fxtypeThree part fracture 0.344534
indication_fxtypeFour part fracture 0.271855
age 0.000686 ***
elixhauser_score 0.000961 ***
followup 0.008327 **
surgeryORIF:indication_fxtypeThree part fracture 0.600245
surgeryORIF:indication_fxtypeFour part fracture 0.003643 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1717.1 on 3780 degrees of freedom
Residual deviance: 1678.9 on 3772 degrees of freedom
AIC: 1696.9
Number of Fisher Scoring iterations: 6
Code
rt1 <- m2 %>%
tbl_regression(exponentiate = TRUE,
label = list(
surgery ~ 'Procedure',
indication_fxtype ~ 'Fracture type',
age ~ 'Age (years)',
elixhauser_score ~ 'Elixhauser score',
followup ~ 'Follow-up duration (years)'
),
pvalue_fun = function(x) style_pvalue(x, digits = 3)) %>%
bold_p(t = 0.05) %>%
modify_caption("<div style='text-align: left; font-weight: bold'>
Odds of undergoing reoperation") %>%
as_gt() %>%
gt::tab_options(
table.font.size = 'small',
data_row.padding = gt::px(3)
)
rt1| Characteristic | OR1 | 95% CI1 | p-value |
|---|---|---|---|
| Procedure | |||
| rTSA | — | — | |
| ORIF | 0.79 | 0.48, 1.34 | 0.352 |
| Fracture type | |||
| Two part fracture | — | — | |
| Three part fracture | 0.37 | 0.02, 1.88 | 0.345 |
| Four part fracture | 0.59 | 0.21, 1.43 | 0.272 |
| Age (years) | 0.98 | 0.97, 0.99 | <0.001 |
| Elixhauser score | 1.04 | 1.02, 1.07 | <0.001 |
| Follow-up duration (years) | 1.08 | 1.02, 1.14 | 0.008 |
| Procedure * Fracture type | |||
| ORIF * Three part fracture | 1.81 | 0.26, 36.3 | 0.600 |
| ORIF * Four part fracture | 5.69 | 1.79, 19.2 | 0.004 |
| 1 OR = Odds Ratio, CI = Confidence Interval | |||
Code
# rt1 %>% gt::gtsave(filename = 'rt1.png',
# path = here('reports/'))