6.1 Pacritinib Mayo Clinic Data

Published in Haematologica (Abdelmagid et al. 2025)

Code
# Load required packages
library(DT)
library(knitr)

# 1. KEY STUDY FINDINGS TABLE
key_findings <- data.frame(
  Finding = c(
    "Anemia response rate was only 2% (1/47 patients) with 0% in transfusion-dependent patients",
    "Spleen response rate was 18% overall (9/49 patients)",
    "Spleen response was better in JAK inhibitor-naïve patients (36% vs 11%, p=0.06)",
    "Four independent risk factors predicted worse survival: transfusion dependence (HR 7.8), leukocytosis ≥32×10⁹/L (HR 7.0), platelets <50×10⁹/L (HR 6.4), and HMR mutations (HR 6.6)",
    "Treatment was discontinued in 88% of patients: 58% due to intolerance, 54% suboptimal response"
  ),
  Category = c(
    "Efficacy", "Efficacy", "Efficacy", "Survival", "Safety"
  )
)

# 2. PATIENT CHARACTERISTICS
patient_characteristics <- data.frame(
  Category = c(
    "Demographics", "Demographics", "Demographics",
    "Disease", "Disease", "Disease",
    "Prior Treatment", "Prior Treatment", 
    "Risk Features", "Risk Features", "Risk Features", 
    "Driver Mutations", "Driver Mutations", "Driver Mutations", "Driver Mutations"
  ),
  Characteristic = c(
    "Number of patients",
    "Median age (range)",
    "Males",
    "Primary myelofibrosis",
    "Palpable splenomegaly >15 cm",
    "High DIPSS risk",
    "JAK inhibitor experienced",
    "Previous ruxolitinib",
    "Transfusion dependent anemia",
    "Platelets <50 × 10⁹/L",
    "Unfavorable karyotype",
    "JAK2",
    "CALR",
    "MPL",
    "Triple negative"
  ),
  Value = c(
    "60",
    "70 years (51-86)",
    "37 (62%)",
    "38 (63%)",
    "41 (76%)",
    "29 (48%)",
    "41 (68%)",
    "39 (65%)",
    "24 (40%)",
    "15 (25%)",
    "21 (36%)",
    "36 (60%)",
    "16 (27%)",
    "6 (10%)",
    "2 (3%)"
  )
)

# 3. RESPONSE RATES
response_rates <- data.frame(
  Response = c(
    "Anemia response (N=47)",
    "Spleen response (N=49)",
    "→ JAK inhibitor-naïve",
    "→ JAK inhibitor-experienced",
    "Time to spleen response",
    "→ JAK inhibitor-naïve",
    "→ JAK inhibitor-experienced",
    "Duration of spleen response"
  ),
  Rate = c(
    "1 (2%)",
    "9 (18%)",
    "5/14 (36%)",
    "4/35 (11%)",
    "Median 6 months (range 1-9)",
    "Median 3 months (range 1-6)",
    "Median 8 months (range 6-9)",
    "Median 12 months (range 2-28)"
  ),
  `P-value` = c(
    "N/A",
    "N/A",
    "0.06",
    "0.06",
    "N/A",
    "<0.01",
    "<0.01",
    "0.16"
  )
)

# 4. PREDICTORS OF SPLEEN RESPONSE
spleen_predictors <- data.frame(
  Factor = c(
    "Age ≥70 years",
    "Age <70 years",
    "Leukocyte count ≥20 × 10⁹/L",
    "Leukocyte count <20 × 10⁹/L",
    "DIPSS high risk",
    "DIPSS intermediate-2 risk",
    "DIPSS intermediate-1 risk",
    "JAK inhibitor experienced",
    "JAK inhibitor naïve",
    "Unfavorable karyotype",
    "Favorable karyotype",
    "ASXL1 mutation present",
    "ASXL1 mutation absent"
  ),
  `Response Rate` = c(
    "10%",
    "33%",
    "0%",
    "21%",
    "4%",
    "23%",
    "100%",
    "11%",
    "36%",
    "6%",
    "25%",
    "6%",
    "25%"
  ),
  `P-value` = c(
    "0.04",
    "0.04",
    "0.02",
    "0.02",
    "<0.01",
    "<0.01",
    "<0.01",
    "0.06",
    "0.06",
    "0.09",
    "0.09",
    "0.08",
    "0.08"
  )
)

# 5. SURVIVAL PREDICTORS
survival_predictors <- data.frame(
  `Risk Factor` = c(
    "Transfusion-dependent anemia",
    "Leukocyte count ≥32 × 10⁹/L",
    "Platelet count <50 × 10⁹/L",
    "High molecular risk mutations (ASXL1, SRSF2, or U2AF1 Q157)"
  ),
  `Hazard Ratio` = c(
    "7.8",
    "7.0",
    "6.4",
    "6.6"
  ),
  `95% CI` = c(
    "1.7-35.4",
    "2.1-23.4",
    "1.7-24.6",
    "1.6-26.1"
  ),
  `P-value` = c(
    "<0.01",
    "<0.01",
    "<0.01",
    "<0.01"
  )
)

# 6. RISK MODEL OUTCOMES
risk_model <- data.frame(
  `Risk Category` = c(
    "Low (0-1 risk factors)",
    "Intermediate (2 risk factors)",
    "High (3-4 risk factors)"
  ),
  `N` = c(
    "37",
    "18",
    "5"
  ),
  `Median Survival` = c(
    "Not reached",
    "16 months",
    "3 months"
  ),
  `1-year Survival` = c(
    "92%",
    "64%",
    "20%"
  ),
  `Hazard Ratio` = c(
    "Reference",
    "5.0 (95% CI 1.9-12.8)",
    "21.9 (95% CI 6.4-75.2)"
  )
)

# 7. ADVERSE EVENTS
adverse_events <- data.frame(
  `Adverse Event` = c(
    "Gastrointestinal symptoms",
    "Peripheral edema",
    "Dyspnea",
    "Neutropenia grade ≥3",
    "Thrombocytopenia grade ≥3 (overall)",
    "→ With baseline platelets >100 × 10⁹/L",
    "→ With baseline platelets 50-100 × 10⁹/L",
    "→ With baseline platelets <50 × 10⁹/L",
    "Treatment discontinuation",
    "→ Due to intolerance",
    "→ Due to suboptimal response"
  ),
  `Frequency` = c(
    "33 (55%)",
    "18 (30%)",
    "15 (25%)",
    "11 (19%)",
    "27 (46%)",
    "6/27 (22%)",
    "11/27 (41%)",
    "10/27 (37%)",
    "53 (88%)",
    "31/53 (58%)",
    "29/53 (54%)"
  ),
  `Notes` = c(
    "More frequent with 200mg BID",
    "",
    "",
    "",
    "More frequent with 200mg BID",
    "",
    "",
    "",
    "",
    "",
    ""
  )
)

# 8. CLINICAL TRIAL COMPARISON
trial_comparison <- data.frame(
  `Outcome` = c(
    "Spleen response (≥35% reduction)",
    "→ JAK inhibitor-naïve",
    "→ JAK inhibitor-experienced",
    "Anemia response",
    "→ Transfusion-dependent patients"
  ),
  `Current Study (N=60)` = c(
    "18%",
    "36%",
    "11%",
    "2%",
    "0%"
  ),
  `PERSIST-1` = c(
    "19% (ITT), 25% (evaluable)",
    "All JAKi-naïve",
    "N/A",
    "Not reported",
    "25% transfusion independence"
  ),
  `PERSIST-2` = c(
    "22% (200mg BID)",
    "Not reported separately",
    "13%",
    "25% (Hb <10g/dL)",
    "25-37% (per post-hoc analysis)"
  )
)

# Create basic datatable function with minimal styling
create_dt <- function(data, caption) {
  DT::datatable(
    data,
    caption = caption,
    rownames = FALSE,
    options = list(
      pageLength = 25,
      dom = 't',
      ordering = TRUE
    ),
    class = 'cell-border stripe'
  )
}

# Create all tables with simple styling
dt1 <- create_dt(key_findings, "Table 1: Key Findings from Mayo Clinic Pacritinib Study (N=60)")
dt2 <- create_dt(patient_characteristics, "Table 2: Patient Characteristics")
dt3 <- create_dt(response_rates, "Table 3: Pacritinib Response Rates")
dt4 <- create_dt(spleen_predictors, "Table 4: Predictors of Spleen Response")
dt5 <- create_dt(survival_predictors, "Table 5: Independent Predictors of Survival in Multivariate Analysis")
dt6 <- create_dt(risk_model, "Table 6: Survival Outcomes by Risk Category")
dt7 <- create_dt(adverse_events, "Table 7: Treatment-Emergent Adverse Events")
dt8 <- create_dt(trial_comparison, "Table 8: Comparison with Clinical Trial Data")

# Display all tables
list(
  htmltools::h1("Pacritinib in Myelofibrosis: Mayo Clinic Study (N=60)"),
  
  htmltools::h2("Key Findings"),
  dt1,
  
  htmltools::h2("Patient Characteristics"),
  dt2,
  
  htmltools::h2("Response Rates"),
  dt3,
  
  htmltools::h2("Predictors of Spleen Response"),
  dt4,
  
  htmltools::h2("Survival Predictors"),
  dt5,
  
  htmltools::h2("Risk Model"),
  dt6,
  
  htmltools::h2("Adverse Events"),
  dt7,
  
  htmltools::h2("Clinical Trial Comparison"),
  dt8,
  
  htmltools::h2("Study Conclusions"),
  htmltools::tags$ul(
    htmltools::tags$li("Real-world anemia response rates with pacritinib (2%) are substantially lower than in clinical trials (25-37%)"),
    htmltools::tags$li("Spleen responses were more common in JAK inhibitor-naïve patients (36% vs 11%)"),
    htmltools::tags$li("Four key risk factors strongly predict survival: transfusion dependence, high leukocytes, low platelets, and high molecular risk mutations"),
    htmltools::tags$li("The high treatment discontinuation rate (88%) reflects both toxicity and limited efficacy"),
    htmltools::tags$li("Pacritinib may be most beneficial in younger JAK inhibitor-naïve patients with lower risk disease")
  )
)
[[1]]
<h1>Pacritinib in Myelofibrosis: Mayo Clinic Study (N=60)</h1>

[[2]]
<h2>Key Findings</h2>

[[3]]

[[4]]
<h2>Patient Characteristics</h2>

[[5]]

[[6]]
<h2>Response Rates</h2>

[[7]]

[[8]]
<h2>Predictors of Spleen Response</h2>

[[9]]

[[10]]
<h2>Survival Predictors</h2>

[[11]]

[[12]]
<h2>Risk Model</h2>

[[13]]

[[14]]
<h2>Adverse Events</h2>

[[15]]

[[16]]
<h2>Clinical Trial Comparison</h2>

[[17]]

[[18]]
<h2>Study Conclusions</h2>

[[19]]
<ul>
  <li>Real-world anemia response rates with pacritinib (2%) are substantially lower than in clinical trials (25-37%)</li>
  <li>Spleen responses were more common in JAK inhibitor-naïve patients (36% vs 11%)</li>
  <li>Four key risk factors strongly predict survival: transfusion dependence, high leukocytes, low platelets, and high molecular risk mutations</li>
  <li>The high treatment discontinuation rate (88%) reflects both toxicity and limited efficacy</li>
  <li>Pacritinib may be most beneficial in younger JAK inhibitor-naïve patients with lower risk disease</li>
</ul>