Title: “Cure based Securities” format: html echo : off


title

Rare and ultra rare disease drug development faces great challenges in attracting resources and investments. These challnges are magnified in the case of potentially curative and near curative treatment. In the Inflammation and Immunology world, as cancers and chronic diseases the dvent of CAR- based therapies bring this oissue in great releif.

In I&I nearly all therapies in development or in market are not curative and often described as temporizing. The profitabilityin commercialization is more or less dependednt on reimbursement price and duration of threapty (i.e. persistence) .

if patients disconinue treatment for whatever reason, it is considered a treatment failure and the reimbursemnt ceases. Thus there is a perverese market reward for manufacturer to offer therapies that are safe and effective but not necessarily cure the disease or even put it on long-term remission.

These problems are amplified multiple fold in the situations where there is a once-and-done curative treatments with very little ling-term manintenance pharmaco therapy. The classic example is that of cell-based threapies such as CAR-T and CAR-NK that may prove themselves capable of inducing cure or long-lasting remission for terrible conditions such as SLE or Systemic Sclerosis

# ── PACKAGES ────────────────────────────────────────────────
# install.packages(c("ggplot2", "grid"))
library(ggplot2)
library(grid)

# ── PALETTE ─────────────────────────────────────────────────
clr_bg      <- "#F7F4EF"
clr_header  <- "#1A2B4A"
clr_problem <- "#C0392B"
clr_pharma  <- "#2471A3"
clr_payer   <- "#1E8449"
clr_society <- "#7D3C98"
clr_subtext <- "#5D6D7E"
clr_body    <- "#17202A"

# ── HELPERS ─────────────────────────────────────────────────
rr <- function(x, y, w, h, fill, col = "white", r = 0.015) {
  roundrectGrob(x = x, y = y, width = w, height = h,
                r = unit(r, "snpc"),
                gp = gpar(fill = fill, col = col, lwd = 1.2),
                default.units = "npc")
}

tx <- function(x, y, label, size = 9, col = "white",
               face = "plain", hjust = 0.5, lh = 1.15) {
  textGrob(label, x = x, y = y, hjust = hjust, vjust = 0.5,
           gp = gpar(fontsize = size, col = col,
                     fontface = face, lineheight = lh),
           default.units = "npc")
}

ar <- function(x0, y0, x1, y1, col) {
  segmentsGrob(x0 = x0, y0 = y0, x1 = x1, y1 = y1,
               default.units = "npc",
               arrow = arrow(length = unit(0.011, "npc"),
                             type = "closed", angle = 20),
               gp = gpar(col = col, lwd = 2.2, fill = col))
}

# ── STAKEHOLDER COLUMN BUILDER ───────────────────────────────
bx_w <- 0.27; bx_h <- 0.43; bx_y <- 0.40; hdr_h <- 0.063

draw_col <- function(cx, c_hdr, c_body, title, bullets, footer) {

  # shadow
  grid.draw(rr(cx+.004, bx_y-.004, bx_w+.004, bx_h+.004,
               fill="#D5D8DC", col=NA))
  # card body
  grid.draw(rr(cx, bx_y, bx_w, bx_h, fill=c_body, col=NA))
  # header strip
  grid.draw(rr(cx, bx_y + (bx_h-hdr_h)/2, bx_w, hdr_h,
               fill=c_hdr, col=NA))
  grid.draw(tx(cx, bx_y + (bx_h-hdr_h)/2,
               title, size=11.5, col="white", face="bold"))

  # bullets
  y0 <- bx_y + bx_h/2 - hdr_h - 0.045
  dy <- 0.057
  for (i in seq_along(bullets)) {
    grid.points(unit(cx - bx_w/2 + 0.022, "npc"),
                unit(y0 - (i-1)*dy, "npc"),
                pch=21, gp=gpar(fill=c_hdr, col=c_hdr, cex=0.65))
    grid.draw(tx(cx - bx_w/2 + 0.032, y0 - (i-1)*dy,
                 bullets[i], size=8.5, col=clr_body,
                 hjust=0, lh=1.1))
  }

  # footer pill
  grid.draw(rr(cx, bx_y - bx_h/2 + 0.037,
               bx_w - 0.04, 0.046, fill=c_hdr, col=NA, r=0.04))
  grid.draw(tx(cx, bx_y - bx_h/2 + 0.037,
               footer, size=8, col="white", face="italic"))
}

# ── RENDER ───────────────────────────────────────────────────
grid.newpage()
grid.rect(gp = gpar(fill = clr_bg, col = NA))

# Title bar
grid.draw(rr(0.5, 0.935, 0.92, 0.09, fill=clr_header, col=NA))
grid.draw(tx(0.5, 0.955, "CURE-BASED SECURITIES PROJECT",
             size=16, col="white", face="bold"))
grid.draw(tx(0.5, 0.920,
             "The Pricing Trilemma of Curative Therapies",
             size=10, col="#A9CCE3"))

# Central problem box
grid.draw(rr(0.5, 0.745, 0.58, 0.096, fill=clr_problem, col=NA))
grid.draw(tx(0.5, 0.772, "THE CORE TENSION",
             size=10.5, col="white", face="bold"))
grid.draw(tx(0.5, 0.748,
             "Potentially curative therapies command unprecedented prices —",
             size=8.8, col="#FDFEFE"))
grid.draw(tx(0.5, 0.725,
             "creating fundamentally misaligned incentives across stakeholders.",
             size=8.8, col="#FDFEFE"))

# Arrows
grid.draw(ar(0.36, 0.695, 0.225, 0.630, col=clr_pharma))
grid.draw(ar(0.50, 0.695, 0.500, 0.630, col=clr_payer))
grid.draw(ar(0.64, 0.695, 0.775, 0.630, col=clr_society))

# ── THREE STAKEHOLDER COLUMNS ────────────────────────────────

# PHARMA
draw_col(
  cx      = 0.17,
  c_hdr   = clr_pharma,
  c_body  = "#EBF5FB",
  title   = "\u2665  PHARMA",
  bullets = c(
    "Single largest payment\n  market will bear",
    "One-time vs. chronic\n  revenue model tension",
    "R&D recovery in small\n  patient populations",
    "Price anchored to QALY\n  / lifetime cost offset",
    "Pressure to prove\n  durable benefit"
  ),
  footer  = "Goal: Maximize Value Capture"
)

# PAYER
draw_col(
  cx      = 0.50,
  c_hdr   = clr_payer,
  c_body  = "#EAFAF1",
  title   = "\u2663  PAYER",
  bullets = c(
    "Upfront budget shock\n  on annual spend cycles",
    "Durability uncertainty:\n  is the cure permanent?",
    "Patient migration risk\n  across plan years",
    "Limited outcomes-based\n  contracting tools",
    "Formulary & coverage\n  access gatekeeping"
  ),
  footer  = "Goal: Manage Budget & Risk"
)

# SOCIETY
draw_col(
  cx      = 0.83,
  c_hdr   = clr_society,
  c_body  = "#F5EEF8",
  title   = "\u2660  SOCIETY",
  bullets = c(
    "Equitable access across\n  income & geography",
    "Healthcare system\n  financing sustainability",
    "Preserve innovation\n  incentive pipeline",
    "Orphan vs. prevalent\n  disease fairness",
    "Political & regulatory\n  pricing pressure"
  ),
  footer  = "Goal: Access + Sustainability"
)

# Bottom solution teaser
grid.draw(rr(0.5, 0.043, 0.90, 0.052,
             fill="#F0F3F4", col="#BDC3C7", r=0.03))
grid.draw(tx(0.5, 0.043,
     paste("Lu, J.M., Cherla, A.J., Carter, A.W. et al.  Gene Ther (2026)"),
             size=8, col=clr_subtext, face="italic"))