C
Can u elaborate on upadacitinib and difference and advantages between tofacitinib
upadacitinib tofacitinib comparison rheumatoid arthritis

| JAK isoform | What it signals | Effect of blocking |
|---|---|---|
| JAK1 | IL-6, IL-10, IL-11, IFN-ฮณ, IL-2 | Anti-inflammatory |
| JAK2 | Erythropoietin, thrombopoietin, GM-CSF | Anemia, thrombocytopenia if blocked |
| JAK3 | IL-2, IL-4, IL-7, IL-15, IL-21 (gamma chain cytokines) | T/NK cell immunity |
| TYK2 | IL-12, IL-23 | Th17 pathway |
| Indication | Tofacitinib | Upadacitinib |
|---|---|---|
| Rheumatoid Arthritis (RA) | Yes (5 mg BID or 11 mg XR OD) | Yes (15 mg OD) |
| Psoriatic Arthritis (PsA) | Yes | Yes (15 mg OD) |
| Ankylosing Spondylitis / AxSpA | Yes | Yes |
| Ulcerative Colitis (UC) | Yes | Yes (45 mg induction, 30 mg maintenance) |
| Atopic Dermatitis | No | Yes (15 mg or 30 mg OD, โฅ12 yrs) |
| Polyarticular JIA | Yes | No |
| Crohn's Disease | No | Yes |

| Adverse Event | Upadacitinib 15 mg |
|---|---|
| Serious infections | 3.8 |
| Herpes zoster | 3.7 |
| Opportunistic infections | 0.6 |
| Malignancies | 0.9 |
| MACE | 0.6 |
| VTE | 0.6 |
| GI perforations | 0.2 |
| CPK elevation | 6.1 |
| Hepatic disorders | 14.4 |
| Safety Issue | Tofacitinib | Upadacitinib |
|---|---|---|
| Long-term CV/cancer data | ORAL Surveillance - formal data showing signal | No equivalent dedicated safety trial; class warning extrapolated |
| Anemia risk | More (JAK2 off-target effect) | Less (more JAK1 selective) |
| Thrombocytopenia | More (JAK2) | Less |
| Herpes zoster | Elevated (class effect) | Elevated (class effect, similar) |
| CPK elevation | Less prominent | More common (6.1/100 pt-yrs) |
| Hepatotoxicity | Less prominent | More common (14.4/100 pt-yrs) |
| Drug interactions | CYP2C19/CYP3A4 dependent | CYP3A4 dependent |
| Dose for VTE risk | 10 mg BID (higher) more concerning | 15 mg OD (data limited) |
| Drug | RA Dose | Notes |
|---|---|---|
| Tofacitinib | 5 mg BID or 11 mg XR once daily | Reduce to 5 mg OD if on potent CYP3A4 inhibitors or in renal/hepatic impairment |
| Upadacitinib | 15 mg once daily (RA, PsA, AxSpA) | 30 mg OD for UC/Crohn's induction (not approved for RA at 30 mg due to safety); 15 or 30 mg for atopic dermatitis |
Clinical note: Both drugs carry the same class black box warning per FDA guidance since 2022, so clinically the risk counseling is identical regardless of which agent is chosen. The choice is often driven by indication, formulary, and individual patient factors (comorbidities, prior treatment history).
Can u make presentation on upadacitinib
mkdir -p /home/daytona/workspace/upadacitinib-pptx && ls /home/daytona/workspace/
~/upadacitinib-pptx/upadacitinib.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Upadacitinib: A Comprehensive Clinical Review";
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// COLOUR PALETTE
// Primary dark: 0D2137 (deep navy)
// Accent teal: 00B4D8
// Mid teal: 0077B6
// Light bg: EAF6FB
// White: FFFFFF
// Text dark: 1A1A2E
// Subtitle grey: 6C8EAD
// Warning red: C0392B
// Green: 1A8B5A
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
const C = {
navy: "0D2137",
teal: "00B4D8",
midTeal: "0077B6",
lightBg: "EAF6FB",
white: "FFFFFF",
dark: "1A1A2E",
grey: "6C8EAD",
red: "C0392B",
green: "1A8B5A",
amber: "E67E22",
card: "F0F8FF",
};
// Helper: dark title slide background
function darkBg(slide) {
slide.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.navy }, line: { color: C.navy } });
}
// Helper: light slide background
function lightBg(slide) {
slide.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg }, line: { color: C.lightBg } });
}
// Helper: accent bar at top
function accentBar(slide, color) {
slide.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 10, h: 0.18, fill: { color: color || C.teal }, line: { color: color || C.teal } });
}
// Helper: left sidebar strip
function leftStrip(slide, color) {
slide.addShape(pres.shapes.RECTANGLE, { x: 0, y: 0, w: 0.12, h: 5.625, fill: { color: color || C.teal }, line: { color: color || C.teal } });
}
// Helper: slide title
function slideTitle(slide, title, y) {
slide.addText(title, {
x: 0.3, y: y || 0.22, w: 9.4, h: 0.55,
fontSize: 22, bold: true, color: C.navy, fontFace: "Calibri",
margin: 0
});
// underline accent
slide.addShape(pres.shapes.RECTANGLE, { x: 0.3, y: (y || 0.22) + 0.58, w: 1.2, h: 0.055, fill: { color: C.teal }, line: { color: C.teal } });
}
// Helper: card (rounded rect with shadow)
function card(slide, x, y, w, h, fillColor) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w, h,
fill: { color: fillColor || C.white },
line: { color: "D0E8F5", width: 0.75 },
rectRadius: 0.08,
shadow: { type: "outer", color: "000000", blur: 5, offset: 2, angle: 135, opacity: 0.10 }
});
}
// Helper: badge (colored pill)
function badge(slide, label, x, y, w, color) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y, w, h: 0.3, fill: { color: color || C.teal }, line: { color: color || C.teal }, rectRadius: 0.15 });
slide.addText(label, { x, y, w, h: 0.3, fontSize: 9.5, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 1 โ TITLE
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
darkBg(s);
// Large teal geometric accent strip top-right
s.addShape(pres.shapes.RECTANGLE, { x: 6.5, y: 0, w: 3.5, h: 5.625, fill: { color: C.midTeal }, line: { color: C.midTeal } });
s.addShape(pres.shapes.RECTANGLE, { x: 6.5, y: 0, w: 3.5, h: 5.625, fill: { color: "006494" }, line: { color: "006494" } });
// White diagonal slash decoration
s.addShape(pres.shapes.RECTANGLE, { x: 5.8, y: 0, w: 0.9, h: 5.625, fill: { color: C.teal }, line: { color: C.teal } });
// Drug brand chip
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: 0.55, y: 0.5, w: 2.2, h: 0.38, fill: { color: C.teal }, line: { color: C.teal }, rectRadius: 0.18 });
s.addText("RINVOQยฎ (ABT-494)", { x: 0.55, y: 0.5, w: 2.2, h: 0.38, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
// Main title
s.addText("Upadacitinib", { x: 0.5, y: 1.1, w: 5.8, h: 1.2, fontSize: 52, bold: true, color: C.white, fontFace: "Calibri", margin: 0 });
s.addText("A Comprehensive Clinical Review", { x: 0.5, y: 2.4, w: 5.5, h: 0.6, fontSize: 20, color: C.teal, fontFace: "Calibri", margin: 0 });
// Subtitle line
s.addShape(pres.shapes.RECTANGLE, { x: 0.5, y: 3.1, w: 4.5, h: 0.05, fill: { color: "4DB5CF" }, line: { color: "4DB5CF" } });
s.addText("Selective JAK1 Inhibitor | Targeted Synthetic DMARD", { x: 0.5, y: 3.25, w: 5.5, h: 0.4, fontSize: 13, color: "A8D8EA", fontFace: "Calibri", margin: 0 });
s.addText("For Clinicians & Specialists", { x: 0.5, y: 3.75, w: 5.5, h: 0.35, fontSize: 11, color: C.grey, fontFace: "Calibri", margin: 0 });
// Right panel text
s.addText([
{ text: "AbbVie / AstraZeneca", options: { breakLine: true, bold: true } },
{ text: "FDA Approved: 2019", options: { breakLine: true } },
{ text: "EMA Approved: 2019", options: { breakLine: true } },
{ text: "Oral ยท Once Daily", options: {} }
], { x: 7.0, y: 2.2, w: 2.7, h: 1.8, fontSize: 11, color: C.white, fontFace: "Calibri", align: "center", valign: "middle" });
// Bottom credits
s.addText("Based on Firestein & Kelley's Textbook of Rheumatology (2024) | Rheumatology 2-Vol Set (2022)", { x: 0.5, y: 5.2, w: 9, h: 0.3, fontSize: 8, color: "4D7A9E", fontFace: "Calibri", align: "left", margin: 0 });
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 2 โ TABLE OF CONTENTS
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Contents at a Glance");
const topics = [
["01", "Drug Overview & Background", C.teal],
["02", "JAK-STAT Signalling Pathway", C.midTeal],
["03", "Mechanism of Action", C.midTeal],
["04", "Approved Indications", C.teal],
["05", "Rheumatoid Arthritis โ Efficacy", C.midTeal],
["06", "Other Inflammatory Diseases", C.teal],
["07", "Dosing & Administration", C.midTeal],
["08", "Safety Profile โ Overview", C.teal],
["09", "ORAL Surveillance & Class Warnings", C.red],
["10", "Drug Interactions & Special Populations", C.amber],
["11", "Upadacitinib vs Tofacitinib", C.midTeal],
["12", "Upadacitinib vs Biologics", C.teal],
["13", "Patient Selection", C.midTeal],
["14", "Monitoring & Follow-up", C.teal],
["15", "Key Trials Summary", C.midTeal],
["16", "Regulatory Notes & Black Box Warning", C.red],
["17", "Clinical Pearls", C.green],
["18", "References & Summary", C.navy],
];
// 2-column layout
const col1 = topics.slice(0, 9);
const col2 = topics.slice(9);
col1.forEach((t, i) => {
const y = 1.05 + i * 0.48;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: 0.28, y: y - 0.01, w: 0.38, h: 0.3, fill: { color: t[2] }, line: { color: t[2] }, rectRadius: 0.05 });
s.addText(t[0], { x: 0.28, y: y - 0.01, w: 0.38, h: 0.3, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(t[1], { x: 0.75, y: y, w: 4.0, h: 0.26, fontSize: 10.5, color: C.dark, fontFace: "Calibri", margin: 0 });
});
col2.forEach((t, i) => {
const y = 1.05 + i * 0.48;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: 5.2, y: y - 0.01, w: 0.38, h: 0.3, fill: { color: t[2] }, line: { color: t[2] }, rectRadius: 0.05 });
s.addText(t[0], { x: 5.2, y: y - 0.01, w: 0.38, h: 0.3, fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(t[1], { x: 5.65, y: y, w: 4.0, h: 0.26, fontSize: 10.5, color: C.dark, fontFace: "Calibri", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 3 โ DRUG OVERVIEW
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Drug Overview & Background");
// Large card
card(s, 0.28, 0.98, 9.44, 4.3, C.white);
const rows = [
["Generic Name", "Upadacitinib"],
["Brand Name", "Rinvoqยฎ"],
["Former Code", "ABT-494"],
["Drug Class", "Janus Kinase (JAK) Inhibitor โ Targeted Synthetic DMARD (tsDMARD)"],
["Selectivity", "Selective JAK1 inhibitor (>70x selectivity for JAK1 over JAK2 and JAK3)"],
["Developer", "AbbVie / AstraZeneca"],
["Route", "Oral (extended-release tablet)"],
["FDA Approval", "August 2019 (RA); expanded to PsA, AxSpA, AD, UC, Crohn's"],
["EMA Approval", "2019 (RA); subsequent expansions"],
["Molecular Weight", "380.84 g/mol"],
["Half-Life", "~9โ14 hours"],
];
rows.forEach((r, i) => {
const y = 1.08 + i * 0.36;
const bg = i % 2 === 0 ? "F4FAFD" : C.white;
s.addShape(pres.shapes.RECTANGLE, { x: 0.3, y, w: 9.4, h: 0.34, fill: { color: bg }, line: { color: bg } });
s.addText(r[0], { x: 0.42, y, w: 2.3, h: 0.34, fontSize: 10, bold: true, color: C.midTeal, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(r[1], { x: 2.8, y, w: 6.8, h: 0.34, fontSize: 10, color: C.dark, fontFace: "Calibri", valign: "middle", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 4 โ JAK-STAT PATHWAY
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "JAK-STAT Signalling Pathway");
// Pathway boxes
const steps = [
{ label: "Cytokine\n(IL-6, IL-4, IFN-ฮณโฆ)", x: 0.3, y: 1.1, color: C.teal },
{ label: "Cell Surface\nReceptor", x: 2.1, y: 1.1, color: C.midTeal },
{ label: "JAK1/JAK2\nor JAK1/JAK3\n(dimerisation)", x: 3.9, y: 1.1, color: C.navy },
{ label: "STAT\nPhosphorylation", x: 5.9, y: 1.1, color: C.midTeal },
{ label: "Gene\nTranscription", x: 7.8, y: 1.1, color: C.teal },
];
steps.forEach((st, i) => {
card(s, st.x, st.y, 1.65, 0.9, st.color);
s.addText(st.label, { x: st.x, y: st.y, w: 1.65, h: 0.9, fontSize: 8.5, color: C.white, bold: true, align: "center", valign: "middle", fontFace: "Calibri", margin: 2 });
if (i < steps.length - 1) {
s.addShape(pres.shapes.RECTANGLE, { x: st.x + 1.65, y: st.y + 0.38, w: 0.28, h: 0.08, fill: { color: C.grey }, line: { color: C.grey } });
// arrowhead
s.addText("โถ", { x: st.x + 1.82, y: st.y + 0.3, w: 0.18, h: 0.22, fontSize: 8, color: C.grey, fontFace: "Calibri", margin: 0 });
}
});
// Inhibition arrow for upadacitinib
s.addShape(pres.shapes.RECTANGLE, { x: 4.05, y: 2.25, w: 0.06, h: 0.5, fill: { color: C.red }, line: { color: C.red } });
s.addShape(pres.shapes.RECTANGLE, { x: 3.85, y: 2.25, w: 0.46, h: 0.06, fill: { color: C.red }, line: { color: C.red } });
badge(s, "Upadacitinib blocks here (JAK1)", 3.4, 2.8, 2.6, C.red);
// JAK isoform table
s.addText("JAK Isoforms & Cytokines Signalled", { x: 0.28, y: 3.35, w: 9.4, h: 0.32, fontSize: 12, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
const jakRows = [
["JAK1", "IL-6, IL-10, IL-11, IFN-ฮณ, IL-2", "Anti-inflammatory target", C.teal],
["JAK2", "EPO, TPO, GM-CSF", "Hematopoiesis โ off-target anemia risk", C.amber],
["JAK3", "IL-2, IL-4, IL-7, IL-15, IL-21 (ฮณ-chain)", "T/NK cell immunity", C.midTeal],
["TYK2", "IL-12, IL-23", "Th17 pathway", C.grey],
];
jakRows.forEach((r, i) => {
const y = 3.75 + i * 0.37;
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y, w: 9.44, h: 0.34, fill: { color: i % 2 === 0 ? "F4FAFD" : C.white }, line: { color: "D0E8F5", width: 0.5 } });
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: 0.32, y: y + 0.04, w: 0.7, h: 0.25, fill: { color: r[3] }, line: { color: r[3] }, rectRadius: 0.04 });
s.addText(r[0], { x: 0.32, y: y + 0.04, w: 0.7, h: 0.25, fontSize: 8.5, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(r[1], { x: 1.1, y, w: 4.1, h: 0.34, fontSize: 9, color: C.dark, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(r[2], { x: 5.3, y, w: 4.3, h: 0.34, fontSize: 9, color: C.grey, italic: true, valign: "middle", fontFace: "Calibri", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 5 โ MECHANISM OF ACTION
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Mechanism of Action");
// Left: MOA description
card(s, 0.28, 0.98, 4.5, 4.3, C.white);
s.addText("How Upadacitinib Works", { x: 0.4, y: 1.05, w: 4.2, h: 0.38, fontSize: 13, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
const points = [
"Binds reversibly to the ATP-binding site of JAK1 kinase domain",
"Competitively inhibits ATP binding โ prevents JAK1 auto-phosphorylation",
"Blocks downstream STAT protein phosphorylation and nuclear translocation",
"Suppresses transcription of pro-inflammatory cytokines (IL-6, IL-2, IFN-ฮณ, GM-CSF)",
"Selectively spares JAK2 โ less impact on erythropoiesis and thrombopoiesis vs less selective JAKi",
"70x more selective for JAK1 over JAK2; also inhibits JAK3 to lesser extent",
];
points.forEach((pt, i) => {
s.addText([
{ text: `${i + 1}. `, options: { bold: true, color: C.teal } },
{ text: pt, options: { color: C.dark } }
], { x: 0.38, y: 1.55 + i * 0.58, w: 4.3, h: 0.52, fontSize: 9.5, fontFace: "Calibri", valign: "top", margin: 0 });
});
// Right: selectivity comparison
card(s, 5.0, 0.98, 4.72, 4.3, "F8FEFF");
s.addText("Selectivity Profile", { x: 5.15, y: 1.05, w: 4.3, h: 0.38, fontSize: 13, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
const selData = [
{ jak: "JAK1", upa: 95, tofa: 60, bar: 55 },
{ jak: "JAK2", upa: 8, tofa: 40, bar: 80 },
{ jak: "JAK3", upa: 12, tofa: 75, bar: 15 },
{ jak: "TYK2", upa: 5, tofa: 20, bar: 10 },
];
s.addText("Relative inhibition (schematic)", { x: 5.0, y: 1.45, w: 4.7, h: 0.25, fontSize: 8.5, italic: true, color: C.grey, fontFace: "Calibri", margin: 0 });
const drugs = ["Upadacitinib", "Tofacitinib", "Baricitinib"];
const dColors = [C.teal, C.navy, C.amber];
drugs.forEach((d, i) => {
badge(s, d, 5.15 + i * 1.52, 1.72, 1.42, dColors[i]);
});
selData.forEach((row, i) => {
const y = 2.12 + i * 0.75;
s.addText(row.jak, { x: 5.05, y, w: 0.65, h: 0.25, fontSize: 10, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
[row.upa, row.tofa, row.bar].forEach((val, j) => {
const bw = val / 100 * 1.1;
s.addShape(pres.shapes.RECTANGLE, { x: 5.75 + j * 1.52, y: y + 0.02, w: 1.1, h: 0.22, fill: { color: "E8F4F8" }, line: { color: "D0E8F5", width: 0.5 } });
s.addShape(pres.shapes.RECTANGLE, { x: 5.75 + j * 1.52, y: y + 0.02, w: bw, h: 0.22, fill: { color: dColors[j] }, line: { color: dColors[j] } });
s.addText(`${val}%`, { x: 5.75 + j * 1.52, y: y + 0.3, w: 1.1, h: 0.2, fontSize: 8, color: C.dark, align: "center", fontFace: "Calibri", margin: 0 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 6 โ APPROVED INDICATIONS
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Approved Indications");
const indications = [
{ name: "Rheumatoid Arthritis (RA)", dose: "15 mg OD", year: "2019", note: "Moderate-to-severe active RA, MTX-IR or bDMARD-IR", color: C.teal },
{ name: "Psoriatic Arthritis (PsA)", dose: "15 mg OD", year: "2021", note: "Active PsA in adults, adequate response to โฅ1 csDMARD", color: C.midTeal },
{ name: "Ankylosing Spondylitis (AS)", dose: "15 mg OD", year: "2022", note: "Active AS, inadequate response to NSAIDs", color: C.navy },
{ name: "Non-rad AxSpA (nr-AxSpA)", dose: "15 mg OD", year: "2022", note: "Active nr-AxSpA with objective signs of inflammation", color: "#1565C0" },
{ name: "Atopic Dermatitis (AD)", dose: "15 or 30 mg OD", year: "2022", note: "Moderate-to-severe refractory AD โฅ12 years (FDA); โฅ18 yrs EMA", color: C.amber },
{ name: "Ulcerative Colitis (UC)", dose: "45 mg induction โ 30 mg maint.", year: "2023", note: "Moderate-to-severe active UC, inadequate response to prior therapy", color: C.green },
{ name: "Crohn's Disease (CD)", dose: "45 mg induction โ 30 mg maint.", year: "2023", note: "Moderate-to-severe active CD; FDA approved", color: "#6A0DAD" },
];
indications.forEach((ind, i) => {
const y = 1.05 + i * 0.63;
card(s, 0.28, y, 9.44, 0.57, C.white);
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y, w: 0.22, h: 0.57, fill: { color: ind.color }, line: { color: ind.color } });
s.addText(ind.name, { x: 0.6, y: y + 0.04, w: 3.6, h: 0.28, fontSize: 11, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
s.addText(ind.note, { x: 0.6, y: y + 0.3, w: 5.2, h: 0.22, fontSize: 8.5, color: C.grey, fontFace: "Calibri", margin: 0 });
badge(s, ind.dose, 6.1, y + 0.12, 1.7, ind.color);
s.addText(`FDA ${ind.year}`, { x: 7.95, y: y + 0.15, w: 1.5, h: 0.25, fontSize: 9, color: C.grey, align: "right", fontFace: "Calibri", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 7 โ RA EFFICACY
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Rheumatoid Arthritis โ Efficacy Data");
// Trial cards
const trials = [
{
name: "SELECT-COMPARE",
population: "MTX-IR patients",
comparator: "vs Adalimumab + MTX",
result: "UPA statistically significantly superior to adalimumab in ACR50 and DAS28-CRP remission at Wk 12 & 26",
highlight: "Superior to TNF inhibitor",
color: C.teal,
},
{
name: "SELECT-MONOTHERAPY",
population: "MTX-IR patients",
comparator: "UPA monotherapy vs MTX",
result: "UPA 15 mg monotherapy superior to MTX for ACR20/50/70 at Wk 14; DAS28-CRP <3.2 significantly higher",
highlight: "Effective as monotherapy",
color: C.midTeal,
},
{
name: "SELECT-NEXT",
population: "csDMARD-IR",
comparator: "UPA + csDMARD vs placebo",
result: "Significantly higher ACR20 at Wk 12 (64% vs 36%); rapid onset within 1โ2 weeks",
highlight: "Rapid onset",
color: C.navy,
},
{
name: "SELECT-CHOICE",
population: "bDMARD-IR (failed biologics)",
comparator: "vs Abatacept",
result: "Higher DAS28-CRP reduction and more remission at Wk 12; but more AEs vs abatacept",
highlight: "Superior to abatacept",
color: "#1565C0",
},
{
name: "SELECT-EARLY",
population: "MTX-naรฏve patients",
comparator: "UPA vs MTX",
result: "UPA 15 mg: higher ACR20/50/70, less radiographic progression vs MTX alone",
highlight: "MTX-naรฏve benefit",
color: C.green,
},
];
trials.forEach((t, i) => {
const row = Math.floor(i / 3);
const col = i % 3;
const x = 0.28 + col * 3.22;
const y = 1.0 + row * 2.2;
const w = 3.1;
const h = 2.05;
card(s, x, y, w, h, C.white);
s.addShape(pres.shapes.RECTANGLE, { x, y, w, h: 0.28, fill: { color: t.color }, line: { color: t.color } });
s.addText(t.name, { x, y, w, h: 0.28, fontSize: 9.5, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(t.population, { x: x + 0.1, y: y + 0.32, w: w - 0.2, h: 0.22, fontSize: 8.5, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
s.addText(t.comparator, { x: x + 0.1, y: y + 0.52, w: w - 0.2, h: 0.2, fontSize: 8, color: C.grey, italic: true, fontFace: "Calibri", margin: 0 });
s.addText(t.result, { x: x + 0.1, y: y + 0.75, w: w - 0.2, h: 0.85, fontSize: 8, color: C.dark, fontFace: "Calibri", margin: 0 });
badge(s, t.highlight, x + 0.1, y + h - 0.38, w - 0.2, t.color);
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 8 โ OTHER INFLAMMATORY DISEASES
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Efficacy in Other Inflammatory Diseases");
const diseases = [
{
name: "Psoriatic Arthritis",
trials: "SELECT-PsA 1 & 2",
detail: "Both UPA 15 mg and 30 mg noninferior to adalimumab in biologic-naรฏve PsA patients (1704 pts). Significant improvements in joint counts, enthesitis, dactylitis, and skin PASI.",
color: C.teal
},
{
name: "Ankylosing Spondylitis / nr-AxSpA",
trials: "SELECT-AXIS 1 & 2",
detail: "Significantly higher ASAS40 response vs placebo at Wk 14. Effective in both bDMARD-naรฏve and TNFi-IR patients.",
color: C.midTeal
},
{
name: "Atopic Dermatitis",
trials: "Measure Up 1 & 2, AD Up",
detail: "65โ75% of patients achieving EASI-75 at Wk 16. Head-to-head vs dupilumab: UPA 30 mg showed superior EASI-75 and IGA response in some studies.",
color: C.amber
},
{
name: "Ulcerative Colitis",
trials: "U-ACHIEVE, U-ACCOMPLISH",
detail: "Induction: 45 mg for 8 weeks โ remission. Maintenance: 30 mg. Higher clinical remission vs placebo. Used after failure of prior biologics.",
color: C.green
},
{
name: "Crohn's Disease",
trials: "U-EXCEL, U-ENDURE",
detail: "Clinical remission at Wk 12 induction significantly higher vs placebo. Maintenance with 30 mg sustained remission at 52 weeks.",
color: "#6A0DAD"
},
];
diseases.forEach((d, i) => {
const y = 1.02 + i * 0.9;
card(s, 0.28, y, 9.44, 0.82, C.white);
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y, w: 0.18, h: 0.82, fill: { color: d.color }, line: { color: d.color } });
s.addText(d.name, { x: 0.58, y: y + 0.04, w: 2.5, h: 0.28, fontSize: 11, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
badge(s, d.trials, 3.15, y + 0.06, 1.7, d.color);
s.addText(d.detail, { x: 0.58, y: y + 0.36, w: 9.0, h: 0.4, fontSize: 9, color: C.dark, fontFace: "Calibri", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 9 โ DOSING
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Dosing & Administration");
const dosing = [
{ indication: "RA / PsA / AS / nr-AxSpA", dose: "15 mg once daily", notes: "With or without MTX; monotherapy or combination" },
{ indication: "Atopic Dermatitis (โฅ12 yrs)", dose: "15 mg or 30 mg once daily", notes: "15 mg for adolescents 12โ17 yrs; 30 mg option for adults with severe disease" },
{ indication: "Ulcerative Colitis (induction)", dose: "45 mg once daily ร 8 weeks", notes: "Then step down to maintenance" },
{ indication: "Ulcerative Colitis (maintenance)", dose: "30 mg once daily", notes: "If adequate response at induction end" },
{ indication: "Crohn's Disease (induction)", dose: "45 mg once daily ร 12 weeks", notes: "" },
{ indication: "Crohn's Disease (maintenance)", dose: "30 mg once daily", notes: "FDA approved 2023" },
];
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y: 0.98, w: 9.44, h: 0.34, fill: { color: C.navy }, line: { color: C.navy } });
s.addText("Indication", { x: 0.35, y: 0.98, w: 3.5, h: 0.34, fontSize: 10, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText("Dose", { x: 3.9, y: 0.98, w: 2.5, h: 0.34, fontSize: 10, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText("Notes", { x: 6.45, y: 0.98, w: 3.1, h: 0.34, fontSize: 10, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
dosing.forEach((row, i) => {
const y = 1.34 + i * 0.44;
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y, w: 9.44, h: 0.42, fill: { color: i % 2 === 0 ? "F4FAFD" : C.white }, line: { color: "D0E8F5", width: 0.5 } });
s.addText(row.indication, { x: 0.35, y, w: 3.5, h: 0.42, fontSize: 9.5, color: C.dark, bold: true, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(row.dose, { x: 3.9, y, w: 2.5, h: 0.42, fontSize: 9.5, color: C.teal, bold: true, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(row.notes, { x: 6.45, y, w: 3.1, h: 0.42, fontSize: 8.5, color: C.grey, valign: "middle", fontFace: "Calibri", margin: 0 });
});
// Administration notes
card(s, 0.28, 4.05, 9.44, 1.22, "FFF8E8");
s.addText("โ Administration Notes", { x: 0.42, y: 4.1, w: 9.0, h: 0.28, fontSize: 11, bold: true, color: C.amber, fontFace: "Calibri", margin: 0 });
const adminNotes = [
"Swallow whole โ do NOT crush, split, or chew (extended-release formulation)",
"Can be taken with or without food",
"Store at room temperature 20โ25ยฐC",
"Dose reduction may be required with potent CYP3A4 inhibitors (e.g. ketoconazole)",
"Not recommended in severe hepatic impairment (Child-Pugh C)",
];
adminNotes.forEach((n, i) => {
s.addText(`โข ${n}`, { x: 0.5, y: 4.38 + i * 0.17, w: 9.0, h: 0.16, fontSize: 8.5, color: C.dark, fontFace: "Calibri", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 10 โ SAFETY OVERVIEW
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Safety Profile โ Overview");
s.addText("Integrated safety from phase III RA trials (UPA 15 mg; 2630 patients, 4020 pt-yrs)", { x: 0.28, y: 0.9, w: 9.44, h: 0.25, fontSize: 9.5, italic: true, color: C.grey, fontFace: "Calibri", margin: 0 });
const safetyData = [
{ event: "Upper Respiratory Tract Infection", rate: "Most common AE", severity: "low" },
{ event: "Serious Infections (SIEs)", rate: "3.8 / 100 pt-yrs", severity: "med" },
{ event: "Herpes Zoster", rate: "3.7 / 100 pt-yrs", severity: "med" },
{ event: "Opportunistic Infections", rate: "0.6 / 100 pt-yrs", severity: "high" },
{ event: "Active / Latent TB reactivation", rate: "2.2 / 100 pt-yrs", severity: "high" },
{ event: "Malignancies (excl. NMSC)", rate: "0.9 / 100 pt-yrs", severity: "high" },
{ event: "MACE", rate: "0.6 / 100 pt-yrs", severity: "high" },
{ event: "VTE (DVT/PE)", rate: "0.6 / 100 pt-yrs", severity: "high" },
{ event: "GI Perforations", rate: "0.2 / 100 pt-yrs", severity: "med" },
{ event: "CPK Elevation", rate: "6.1 / 100 pt-yrs (mostly asymp.)", severity: "low" },
{ event: "Hepatic Disorders (LFT rise)", rate: "14.4 / 100 pt-yrs", severity: "med" },
];
const sevColors = { low: C.green, med: C.amber, high: C.red };
const sevLabel = { low: "Low", med: "Moderate", high: "Monitor" };
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y: 1.2, w: 9.44, h: 0.32, fill: { color: C.navy }, line: { color: C.navy } });
s.addText("Adverse Event", { x: 0.35, y: 1.2, w: 5.0, h: 0.32, fontSize: 9.5, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText("Rate", { x: 5.4, y: 1.2, w: 2.8, h: 0.32, fontSize: 9.5, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText("Severity", { x: 8.3, y: 1.2, w: 1.4, h: 0.32, fontSize: 9.5, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
safetyData.forEach((row, i) => {
const y = 1.54 + i * 0.365;
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y, w: 9.44, h: 0.34, fill: { color: i % 2 === 0 ? "F4FAFD" : C.white }, line: { color: "D0E8F5", width: 0.5 } });
s.addText(row.event, { x: 0.35, y, w: 5.0, h: 0.34, fontSize: 9, color: C.dark, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(row.rate, { x: 5.4, y, w: 2.8, h: 0.34, fontSize: 9, color: C.dark, bold: true, valign: "middle", fontFace: "Calibri", margin: 0 });
badge(s, sevLabel[row.severity], 8.3, y + 0.05, 1.3, sevColors[row.severity]);
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 11 โ ORAL SURVEILLANCE
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s, C.red);
leftStrip(s, C.red);
slideTitle(s, "ORAL Surveillance Trial & Class Black Box Warning");
card(s, 0.28, 0.98, 9.44, 1.6, "FFF2F2");
s.addText("ORAL Surveillance (Tofacitinib) โ Why it matters for ALL JAK inhibitors", { x: 0.42, y: 1.04, w: 9.0, h: 0.32, fontSize: 12, bold: true, color: C.red, fontFace: "Calibri", margin: 0 });
const oralPoints = [
"FDA-mandated prospective RCT โ tofacitinib vs TNF inhibitor (etanercept/adalimumab)",
"Population: RA patients >50 yrs with โฅ1 CV risk factor, on background MTX",
"Co-primary endpoints: MACE (HR 1.33; 95% CI 0.91โ1.94) and Cancer excl. NMSC (HR 1.48; 95% CI 1.04โ2.09)",
"Did NOT meet noninferiority vs TNF inhibitor โ FDA extended class warning to ALL JAK inhibitors in 2022",
"No equivalent safety endpoint trial conducted yet for upadacitinib in this high-risk population",
];
oralPoints.forEach((pt, i) => {
s.addText(`โข ${pt}`, { x: 0.42, y: 1.38 + i * 0.22, w: 9.0, h: 0.2, fontSize: 9, color: C.dark, fontFace: "Calibri", margin: 0 });
});
// Black Box Warning box
card(s, 0.28, 2.65, 9.44, 2.65, "FFF8F8");
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y: 2.65, w: 9.44, h: 0.38, fill: { color: C.red }, line: { color: C.red } });
s.addText("โ FDA BLACK BOX WARNING โ Applies to Upadacitinib (All JAK Inhibitors)", { x: 0.4, y: 2.65, w: 9.1, h: 0.38, fontSize: 11, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
const warnings = [
["Serious Infections", "Including TB, bacterial, fungal, viral. Do not initiate during active infection. Screen for TB before starting."],
["Malignancy", "Increased risk of malignancies including lymphoma. Risk may be higher in patients with existing CV risk factors/smokers."],
["Major Adverse CV Events (MACE)", "Including non-fatal MI, non-fatal stroke, CV death. Higher risk in patients >50 yrs with CV risk factors."],
["Thrombosis", "DVT, PE, arterial thrombosis reported. Use with caution in high VTE-risk patients."],
["All-cause mortality", "Increased vs TNF inhibitors in ORAL Surveillance (tofacitinib); class effect assumed."],
];
warnings.forEach((w, i) => {
s.addText(`โธ ${w[0]}: `, { x: 0.42, y: 3.1 + i * 0.42, w: 1.8, h: 0.38, fontSize: 9.5, bold: true, color: C.red, fontFace: "Calibri", valign: "middle", margin: 0 });
s.addText(w[1], { x: 2.1, y: 3.1 + i * 0.42, w: 7.4, h: 0.38, fontSize: 9, color: C.dark, fontFace: "Calibri", valign: "middle", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 12 โ DRUG INTERACTIONS & SPECIAL POPULATIONS
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Drug Interactions & Special Populations");
// Left col: Drug Interactions
card(s, 0.28, 0.98, 4.6, 4.3, C.white);
s.addText("Drug Interactions", { x: 0.4, y: 1.04, w: 4.3, h: 0.3, fontSize: 13, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
const ddi = [
["Strong CYP3A4 inhibitors", "Ketoconazole, clarithromycin", "Reduce UPA dose (15 mgโ not recommended at higher dose)", C.red],
["Strong CYP3A4 inducers", "Rifampin, phenytoin", "Decreased UPA exposure โ avoid combination", C.red],
["Live vaccines", "All live attenuated", "Contraindicated during therapy", C.red],
["Immunosuppressants", "Azathioprine, cyclosporine", "Avoid โ increased immunosuppression risk", C.amber],
["Methotrexate (low dose)", "Background csDMARD", "Generally safe; used in RA combo regimens", C.green],
];
ddi.forEach((row, i) => {
const y = 1.4 + i * 0.72;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: 0.38, y, w: 4.3, h: 0.65, fill: { color: i % 2 === 0 ? "F4FAFD" : C.white }, line: { color: "D0E8F5", width: 0.5 }, rectRadius: 0.05 });
s.addText(row[0], { x: 0.48, y: y + 0.02, w: 3.6, h: 0.22, fontSize: 9.5, bold: true, color: row[3], fontFace: "Calibri", margin: 0 });
s.addText(row[1], { x: 0.48, y: y + 0.22, w: 3.6, h: 0.2, fontSize: 8.5, color: C.grey, italic: true, fontFace: "Calibri", margin: 0 });
s.addText(row[2], { x: 0.48, y: y + 0.4, w: 3.6, h: 0.2, fontSize: 8.5, color: C.dark, fontFace: "Calibri", margin: 0 });
});
// Right col: Special populations
card(s, 5.1, 0.98, 4.62, 4.3, C.white);
s.addText("Special Populations", { x: 5.22, y: 1.04, w: 4.3, h: 0.3, fontSize: 13, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
const popData = [
["Pregnancy", C.red, "Contraindicated โ teratogenic in animal studies. Effective contraception required during & 4 wks after last dose."],
["Lactation", C.red, "Avoid โ unknown if excreted in breast milk."],
["Paediatric (<12 yrs)", C.amber, "Not approved. AD indication from age 12."],
["Renal Impairment", C.amber, "Mild/moderate: no dose adjustment. Severe (eGFR <15): limited data โ use with caution."],
["Hepatic Impairment", C.amber, "Mild/moderate: no adjustment. Severe (Child-Pugh C): not recommended."],
["Elderly (>65 yrs)", C.amber, "Use with caution โ higher risk of serious infections, MACE, and cancer in this group."],
];
popData.forEach((p, i) => {
const y = 1.42 + i * 0.62;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: 5.18, y, w: 4.42, h: 0.55, fill: { color: i % 2 === 0 ? "F4FAFD" : C.white }, line: { color: "D0E8F5", width: 0.5 }, rectRadius: 0.05 });
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: 5.22, y: y + 0.06, w: 0.65, h: 0.22, fill: { color: p[1] }, line: { color: p[1] }, rectRadius: 0.04 });
s.addText(p[0], { x: 5.22, y: y + 0.06, w: 0.65, h: 0.22, fontSize: 8, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(p[2], { x: 5.95, y: y + 0.04, w: 3.55, h: 0.46, fontSize: 8.5, color: C.dark, fontFace: "Calibri", valign: "middle", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 13 โ UPA vs TOFACITINIB
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Upadacitinib vs Tofacitinib โ Head-to-Head Comparison");
const compData = [
["Feature", "Upadacitinib", "Tofacitinib"],
["JAK Selectivity", "Highly selective JAK1 (>70x over JAK2)", "JAK1 + JAK3 (less selective)"],
["Dosing", "15 mg once daily", "5 mg BID or 11 mg XR once daily"],
["Efficacy vs adalimumab", "Statistically superior in SELECT-COMPARE", "Non-inferior in head-to-head"],
["Efficacy vs abatacept", "Superior (SELECT-CHOICE)", "Not directly compared"],
["Atopic Dermatitis", "Approved (15/30 mg)", "Not approved"],
["Crohn's Disease", "Approved (2023)", "Not approved"],
["JIA", "Not approved", "Approved (polyarticular JIA)"],
["MACE/Cancer data", "Class warning; no dedicated safety trial", "ORAL Surveillance: HR 1.33 MACE, 1.48 cancer"],
["Anemia risk", "Lower (JAK2 spared)", "Higher (JAK2 off-target)"],
["CPK elevation", "More common (6.1/100 pt-yrs)", "Less prominent"],
["Hepatotoxicity", "More common (LFT elevation)", "Less prominent"],
["Drug interactions", "CYP3A4", "CYP2C19 + CYP3A4"],
["Generic available?", "No (patent-protected)", "Yes (increasingly available)"],
];
compData.forEach((row, i) => {
const y = 0.98 + i * 0.33;
const isHeader = i === 0;
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y, w: 9.44, h: 0.31, fill: { color: isHeader ? C.navy : i % 2 === 0 ? "EBF5FB" : C.white }, line: { color: "D0E8F5", width: 0.5 } });
const fc = isHeader ? C.white : C.dark;
const bc = isHeader ? C.white : C.teal;
s.addText(row[0], { x: 0.35, y, w: 2.5, h: 0.31, fontSize: isHeader ? 9.5 : 9, bold: isHeader, color: bc, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(row[1], { x: 2.9, y, w: 3.4, h: 0.31, fontSize: 9, bold: false, color: fc, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(row[2], { x: 6.35, y, w: 3.3, h: 0.31, fontSize: 9, bold: false, color: fc, valign: "middle", fontFace: "Calibri", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 14 โ UPA vs BIOLOGICS
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Upadacitinib vs Biologics in RA");
const bioComp = [
["Feature", "Upadacitinib (JAKi)", "TNF Inhibitors", "IL-6 Inhibitors (TCZ/SAR)", "Abatacept"],
["Route", "Oral", "SC/IV", "SC/IV", "SC/IV"],
["Onset of action", "Rapid (1โ2 wks)", "2โ4 weeks", "2โ4 weeks", "Slower (4โ8 wks)"],
["Efficacy vs MTX-IR", "Superior to adalimumab", "Superior (standard of care)", "Superior", "Superior"],
["Head-to-head vs bDMARD", "Superior to abatacept; superior to adalimumab (SELECT-COMPARE)", "Gold standard comparator", "Noninferior to adalimumab", "Comparator in SELECT-CHOICE"],
["Infection risk", "Elevated (class)", "Elevated", "Elevated", "Lower than others"],
["CV/Cancer risk", "Class warning", "Lower vs JAKi in OS trial", "Neutral CV", "Lowest CV risk"],
["Immunogenicity", "None (small molecule)", "High (ADA formation)", "Moderate", "Low"],
["Pregnancy", "Contraindicated", "Generally avoid", "Avoid", "Limited data"],
["Cost", "High (no generic)", "High (some biosimilars)", "High", "High"],
];
bioComp.forEach((row, i) => {
const y = 0.98 + i * 0.44;
const isHeader = i === 0;
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y, w: 9.44, h: 0.42, fill: { color: isHeader ? C.navy : i % 2 === 0 ? "EBF5FB" : C.white }, line: { color: "D0E8F5", width: 0.5 } });
const fc = isHeader ? C.white : C.dark;
[row[0], row[1], row[2], row[3], row[4]].forEach((cell, j) => {
const xPos = [0.3, 1.95, 3.68, 5.55, 7.42];
const wArr = [1.55, 1.7, 1.8, 1.82, 2.2];
s.addText(cell, { x: xPos[j], y, w: wArr[j], h: 0.42, fontSize: isHeader ? 8.5 : 8, bold: isHeader, color: isHeader ? C.white : j === 1 ? C.teal : fc, valign: "middle", fontFace: "Calibri", margin: 2 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 15 โ PATIENT SELECTION
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Patient Selection โ Who is an Ideal Candidate?");
// Good candidates
card(s, 0.28, 0.98, 4.5, 4.3, C.white);
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y: 0.98, w: 4.5, h: 0.38, fill: { color: C.green }, line: { color: C.green } });
s.addText("โ Suitable Candidates", { x: 0.38, y: 0.98, w: 4.2, h: 0.38, fontSize: 12, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
const good = [
"Moderate-to-severe RA with inadequate response to csDMARDs (especially MTX)",
"bDMARD-experienced patients needing step-up therapy",
"Patients who prefer oral therapy over injections",
"Active PsA, AS, nr-AxSpA with inadequate NSAID/bDMARD response",
"Moderate-to-severe atopic dermatitis (refractory to topicals/dupilumab)",
"UC/Crohn's refractory to anti-TNF or vedolizumab",
"Patients where rapid onset of action is desired",
"Those without high CV risk factors or active malignancy",
];
good.forEach((g, i) => {
s.addText(`โ ${g}`, { x: 0.38, y: 1.43 + i * 0.44, w: 4.22, h: 0.4, fontSize: 9, color: C.dark, fontFace: "Calibri", valign: "top", margin: 0 });
});
// Poor candidates
card(s, 5.0, 0.98, 4.72, 4.3, C.white);
s.addShape(pres.shapes.RECTANGLE, { x: 5.0, y: 0.98, w: 4.72, h: 0.38, fill: { color: C.red }, line: { color: C.red } });
s.addText("โ Use with Caution / Avoid", { x: 5.12, y: 0.98, w: 4.4, h: 0.38, fontSize: 12, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
const bad = [
"Active serious infections (TB, fungal, bacterial sepsis)",
"Age >50 with multiple CV risk factors โ increased MACE risk",
"Prior or current malignancy (especially lymphoma, lung cancer)",
"Severe hepatic impairment (Child-Pugh C)",
"Pregnancy or planned pregnancy",
"Active or recent thrombosis (DVT/PE)",
"Combination with potent immunosuppressants (azathioprine, CsA)",
"Patients who have not trialled csDMARDs first (in RA)",
];
bad.forEach((b, i) => {
s.addText(`โ ${b}`, { x: 5.1, y: 1.43 + i * 0.44, w: 4.52, h: 0.4, fontSize: 9, color: C.dark, fontFace: "Calibri", valign: "top", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 16 โ MONITORING
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Monitoring & Follow-up");
const monData = [
{ timing: "Before initiation", items: ["Screen for active/latent TB (IGRA or TST + CXR)", "Screen for viral hepatitis (HBV, HCV serology)", "Full blood count (FBC): rule out lymphopenia, neutropenia, anaemia", "Lipid panel (baseline)", "Liver function tests (LFTs)", "Renal function (eGFR)", "Assess CV risk factors / malignancy history", "Update vaccinations (incl. herpes zoster vaccine โ ideally before starting)"], color: C.midTeal },
{ timing: "4โ8 weeks after start", items: ["FBC โ monitor for cytopenias", "LFTs โ watch for hepatic transaminase elevation", "Lipid panel โ JAK inhibitors can raise LDL/HDL", "CPK if myalgia reported", "Clinical response assessment (DAS28/CDAI)"], color: C.teal },
{ timing: "Every 3 months", items: ["FBC, LFTs, lipids", "Disease activity scoring", "Assess for infections, zoster", "Monitor BP and CV risk", "Watch for skin changes / new malignancy"], color: C.amber },
{ timing: "Every 6โ12 months", items: ["Annual malignancy screen (skin, lymph nodes)", "Annual TB risk re-assessment", "Annual lipid panel + CV risk calculation", "Radiological assessment of disease in RA/AxSpA as needed"], color: C.green },
];
monData.forEach((m, i) => {
const y = 0.98 + i * 1.15;
card(s, 0.28, y, 9.44, 1.08, C.white);
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y, w: 1.8, h: 1.08, fill: { color: m.color }, line: { color: m.color } });
s.addText(m.timing, { x: 0.28, y, w: 1.8, h: 1.08, fontSize: 10, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 4 });
const perRow = Math.ceil(m.items.length / 2);
m.items.forEach((item, j) => {
const col = Math.floor(j / perRow);
const row = j % perRow;
s.addText(`โข ${item}`, { x: 2.22 + col * 3.7, y: y + 0.1 + row * 0.2, w: 3.5, h: 0.18, fontSize: 8, color: C.dark, fontFace: "Calibri", margin: 0 });
});
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 17 โ KEY TRIALS SUMMARY
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s);
leftStrip(s);
slideTitle(s, "Key Clinical Trials Summary");
const trials = [
{ name: "SELECT-COMPARE", n: "1629", disease: "RA", pop: "MTX-IR", comparator: "Adalimumab", key: "UPA superior to ADA; ACR50 45% vs 29%", color: C.teal },
{ name: "SELECT-MONOTHERAPY", n: "648", disease: "RA", pop: "MTX-IR", comparator: "Placebo + MTX continue", key: "UPA monotherapy superior to MTX", color: C.midTeal },
{ name: "SELECT-NEXT", n: "661", disease: "RA", pop: "csDMARD-IR", comparator: "Placebo", key: "ACR20 at Wk12: 64% vs 36%", color: C.navy },
{ name: "SELECT-BEYOND", n: "498", disease: "RA", pop: "bDMARD-IR", comparator: "Placebo", key: "Effective after biologic failure", color: "#1565C0" },
{ name: "SELECT-EARLY", n: "945", disease: "RA", pop: "MTX-naive", comparator: "MTX", key: "Higher ACR50; less X-ray progression", color: C.green },
{ name: "SELECT-CHOICE", n: "612", disease: "RA", pop: "bDMARD-IR", comparator: "Abatacept", key: "UPA superior in remission; more AEs", color: C.amber },
{ name: "SELECT-PsA 1 & 2", n: "1704 + 642", disease: "PsA", pop: "biologic-naive / TNFi-IR", comparator: "Adalimumab / Placebo", key: "Noninferior to ADA; superior to PBO", color: C.teal },
{ name: "SELECT-AXIS 1 & 2", n: "187 + 420", disease: "AS/nr-AxSpA", pop: "bDMARD-naive / TNFi-IR", comparator: "Placebo", key: "ASAS40 significantly higher at Wk14", color: C.midTeal },
{ name: "Measure Up 1 & 2", n: "1609", disease: "Atopic Derm.", pop: "Adults/adolescents", comparator: "Placebo", key: "EASI-75 at Wk16: ~65โ70%", color: C.amber },
{ name: "U-ACHIEVE / U-ACCOMPLISH", n: "691 + 788", disease: "UC", pop: "Biologic-IR/naive", comparator: "Placebo", key: "Higher clinical remission at Wk8", color: C.green },
];
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y: 0.98, w: 9.44, h: 0.3, fill: { color: C.navy }, line: { color: C.navy } });
["Trial", "N", "Disease", "Key Finding"].forEach((h, j) => {
const xs = [0.35, 2.0, 2.7, 4.5];
const ws = [1.6, 0.65, 1.7, 5.3];
s.addText(h, { x: xs[j], y: 0.98, w: ws[j], h: 0.3, fontSize: 9, bold: true, color: C.white, valign: "middle", fontFace: "Calibri", margin: 0 });
});
trials.forEach((t, i) => {
const y = 1.3 + i * 0.43;
s.addShape(pres.shapes.RECTANGLE, { x: 0.28, y, w: 9.44, h: 0.41, fill: { color: i % 2 === 0 ? "EBF5FB" : C.white }, line: { color: "D0E8F5", width: 0.5 } });
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: 0.32, y: y + 0.06, w: 1.6, h: 0.28, fill: { color: t.color }, line: { color: t.color }, rectRadius: 0.04 });
s.addText(t.name, { x: 0.32, y: y + 0.06, w: 1.6, h: 0.28, fontSize: 8, bold: true, color: C.white, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(t.n, { x: 2.0, y, w: 0.65, h: 0.41, fontSize: 8.5, color: C.dark, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(t.disease, { x: 2.7, y, w: 1.7, h: 0.41, fontSize: 8.5, color: C.dark, bold: true, valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(t.key, { x: 4.5, y, w: 5.1, h: 0.41, fontSize: 8.5, color: C.dark, valign: "middle", fontFace: "Calibri", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 18 โ CLINICAL PEARLS
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
lightBg(s);
accentBar(s, C.green);
leftStrip(s, C.green);
slideTitle(s, "Clinical Pearls");
const pearls = [
{ icon: "๐", title: "Selectivity โ safety", detail: "JAK1 selectivity reduces hematologic off-targets but does NOT eliminate CV/cancer risk. All JAKi carry the same class black box warning." },
{ icon: "โก", title: "Rapid Onset", detail: "Patients often report improvement in pain and stiffness within 1โ2 weeks โ faster than most biologics. Useful when quick disease control is needed." },
{ icon: "๐ฏ", title: "Efficacy Advantage", detail: "One of very few DMARDs to demonstrate superiority (not just non-inferiority) vs adalimumab in MTX-IR RA โ a clinically meaningful benchmark." },
{ icon: "โ ๏ธ", title: "Herpes Zoster Risk", detail: "Zoster rates (~3.7/100 pt-yrs) are notably higher than with biologics. Offer recombinant zoster vaccine (Shingrix) before starting if possible." },
{ icon: "๐ฉธ", title: "CPK & LFT Monitoring", detail: "Asymptomatic CPK elevation is common; monitor and investigate if symptomatic. LFT elevations at 14.4/100 pt-yrs โ check LFTs at baseline and regularly." },
{ icon: "๐งฌ", title: "IBD Advantage", detail: "Upadacitinib is the only JAK inhibitor with FDA approval for both UC and Crohn's disease at 30 mg maintenance โ offering an oral option post-biologic failure." },
{ icon: "๐ถ", title: "Women of childbearing age", detail: "Mandatory contraception. If pregnancy is desired, plan washout period (at least 4 weeks before conception attempt)." },
{ icon: "๐", title: "Switching from biologics", detail: "No washout required when switching from most biologics (except for live vaccines and combination immunosuppressants โ check each case)." },
];
pearls.forEach((p, i) => {
const col = i % 2;
const row = Math.floor(i / 2);
const x = 0.28 + col * 4.85;
const y = 1.02 + row * 1.12;
card(s, x, y, 4.65, 1.02, C.white);
s.addText(p.icon, { x: x + 0.1, y: y + 0.08, w: 0.6, h: 0.55, fontSize: 20, align: "center", valign: "middle", fontFace: "Calibri", margin: 0 });
s.addText(p.title, { x: x + 0.75, y: y + 0.08, w: 3.75, h: 0.28, fontSize: 10.5, bold: true, color: C.navy, fontFace: "Calibri", margin: 0 });
s.addText(p.detail, { x: x + 0.75, y: y + 0.36, w: 3.75, h: 0.58, fontSize: 8.5, color: C.dark, fontFace: "Calibri", margin: 0 });
});
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// SLIDE 19 โ REFERENCES & CLOSING
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
{
const s = pres.addSlide();
darkBg(s);
s.addShape(pres.shapes.RECTANGLE, { x: 6.2, y: 0, w: 3.8, h: 5.625, fill: { color: C.midTeal }, line: { color: C.midTeal } });
s.addShape(pres.shapes.RECTANGLE, { x: 5.9, y: 0, w: 0.35, h: 5.625, fill: { color: C.teal }, line: { color: C.teal } });
s.addText("Key References", { x: 0.4, y: 0.4, w: 5.2, h: 0.5, fontSize: 22, bold: true, color: C.white, fontFace: "Calibri", margin: 0 });
const refs = [
"Firestein & Kelley's Textbook of Rheumatology, 2-Volume Set (2024, Elsevier) โ JAK Inhibitor chapters",
"Rheumatology, 2-Volume Set (2022, Elsevier) โ Chapters on tsDMARDs and upadacitinib",
"Lippincott Illustrated Reviews: Pharmacology โ JAK-STAT pathway and tofacitinib",
"Genovese MC et al. SELECT-COMPARE: N Engl J Med 2019",
"Smolen JS et al. SELECT-MONOTHERAPY: Lancet 2019",
"Fleischmann R et al. SELECT-EARLY: Arthritis Rheumatol 2019",
"Burmester GR et al. SELECT-BEYOND: Ann Rheum Dis 2018",
"Rubbert-Roth A et al. SELECT-CHOICE: Ann Rheum Dis 2021",
"McInnes IB et al. SELECT-PsA 1: Lancet 2021",
"Mease PJ et al. SELECT-PsA 2: Lancet 2021",
"FDA Safety Communication: JAK inhibitor class warnings (2022)",
"ORAL Surveillance Trial: Ytterberg SR et al. N Engl J Med 2022",
"Thomas J et al. Cochrane NMA on DMARDs after biologic failure (Jul 2026, PMID 42440279)",
];
refs.forEach((r, i) => {
s.addText(`${i + 1}. ${r}`, { x: 0.4, y: 0.98 + i * 0.34, w: 5.3, h: 0.32, fontSize: 8.5, color: "A8D8EA", fontFace: "Calibri", margin: 0 });
});
// Right panel closing
s.addText([
{ text: "Upadacitinib\n", options: { bold: true, breakLine: true, fontSize: 22 } },
{ text: "Selective JAK1 Inhibitor\n", options: { breakLine: true, fontSize: 13, color: "D6EEF8" } },
{ text: "\nA clinically significant advance\nin oral targeted therapy\nfor inflammatory diseases.", options: { fontSize: 11, color: "A8D8EA" } }
], { x: 6.25, y: 1.6, w: 3.4, h: 2.5, fontFace: "Calibri", color: C.white, align: "center", valign: "middle" });
s.addText("Thank you", { x: 6.25, y: 4.1, w: 3.4, h: 0.5, fontSize: 16, bold: true, color: C.teal, align: "center", fontFace: "Calibri", margin: 0 });
s.addText("Prepared by Orris AI | July 2026", { x: 0.4, y: 5.2, w: 5.0, h: 0.28, fontSize: 8, color: "4D7A9E", fontFace: "Calibri", margin: 0 });
}
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
// WRITE FILE
// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
pres.writeFile({ fileName: "/home/daytona/workspace/upadacitinib-pptx/Upadacitinib_Clinical_Review.pptx" })
.then(() => console.log("SUCCESS: File saved."))
.catch(e => { console.error("ERROR:", e); process.exit(1); });
cd /home/daytona/workspace/upadacitinib-pptx && node upadacitinib.js
ls -lh /home/daytona/workspace/upadacitinib-pptx/
Upadacitinib Clinical Review
Presentation ยท PPTX
| Slide | Content |
|---|---|
| 1 | Title Slide โ Upadacitinib (Rinvoq), brand/approval info |
| 2 | Table of Contents โ colour-coded index of all 18 topics |
| 3 | Drug Overview โ full fact sheet (class, selectivity, half-life, approvals) |
| 4 | JAK-STAT Pathway โ isoforms, cytokines, site of inhibition |
| 5 | Mechanism of Action โ ATP-competitive binding, selectivity bar chart vs tofacitinib/baricitinib |
| 6 | Approved Indications โ all 7 (RA, PsA, AS, nr-AxSpA, AD, UC, CD) with doses and years |
| 7 | RA Efficacy โ 5 SELECT trial cards (SELECT-COMPARE, MONOTHERAPY, NEXT, CHOICE, EARLY) |
| 8 | Other Diseases โ PsA, AxSpA, AD, UC, Crohn's trial data |
| 9 | Dosing & Administration โ table by indication + administration warnings |
| 10 | Safety Profile โ 11 AEs with rates per 100 pt-yrs and severity colour-coding |
| 11 | ORAL Surveillance + Black Box Warning โ full FDA warning details |
| 12 | Drug Interactions & Special Populations โ CYP3A4, pregnancy, renal/hepatic |
| 13 | UPA vs Tofacitinib โ 14-row head-to-head table |
| 14 | UPA vs Biologics โ comparison vs TNFi, IL-6i, abatacept |
| 15 | Patient Selection โ suitable vs caution/avoid (side-by-side) |
| 16 | Monitoring โ timeline from pre-treatment to annual review |
| 17 | Key Trials Summary โ 10 pivotal trials in one table |
| 18 | Clinical Pearls โ 8 practical takeaways for clinicians |
| 19 | References & Closing โ 13 key references + thank you slide |