Management, prevention and lifestyle modification of osteoarthritis and gout
"osteoarthritis"[MeSH Terms] AND "management"[MeSH Terms]
"gout"[MeSH Terms] AND "management"[MeSH Terms]
"osteoarthritis" AND "exercise" OR "lifestyle"
"gout" AND "urate lowering" OR "lifestyle"

| Type | Details |
|---|---|
| Strength training | High-resistance, low-repetition with progressive increase; targets muscle groups around affected joint (e.g., knee extensors/flexors, hip abductors, calf muscles for knee OA) |
| Aerobic exercise | Low-impact, high-repetition (walking, cycling); can be land-based or aquatic (hydrotherapy) |
| Range-of-motion / Flexibility | Maintains joint mobility; should always be included but is insufficient alone |
| Neuromuscular training | Improves movement control; especially useful as patients with OA show altered movement patterns |
| Grade | Intervention | Recommendation |
|---|---|---|
| Strong (4-star) | Patient education, exercise (supervised/unsupervised/aquatic), self-management programs | Recommended |
| Strong (4-star) | Topical NSAIDs, oral NSAIDs, oral acetaminophen | Recommended |
| Strong (4-star) | Oral narcotics (including tramadol) | Not recommended |
| Moderate (3-star) | Canes, braces, neuromuscular training, sustained weight loss | Recommended |
| Moderate (3-star) | Intra-articular corticosteroids (short-term) | Recommended |
| Moderate (3-star) | Hyaluronic acid injections, arthroscopy with lavage/debridement | Not recommended |
| Limited (2-star) | Glucosamine, chondroitin, PRP, acupuncture, TENS, shockwave therapy | May be used selectively |
| Drug | Dose | Notes/Contraindications |
|---|---|---|
| NSAIDs (indomethacin 50 mg TID; naproxen 500 mg BID; ibuprofen 800 mg TID; meloxicam 15 mg daily) | Full anti-inflammatory doses | First-line; avoid in CKD, peptic ulcer disease, anticoagulation |
| Colchicine | 1.2 mg PO, then 0.6 mg 1 hour later (low-dose regimen; equally effective and better tolerated) | Most effective within first 36 hours; avoid with carvedilol/grapefruit juice (raises levels); contraindicated in CKD |
| Intra-articular corticosteroids (triamcinolone/methylprednisolone) | 40 mg for large joints; 10-20 mg for small joints | Monoarticular attack; rule out septic arthritis first; effective in 90% within 24 hours |
| Oral corticosteroids (prednisone) | 40-60 mg daily, taper over 7-10 days | When NSAIDs and colchicine contraindicated; caution with uncontrolled diabetes |
| IL-1 inhibitor (anakinra) | 100 mg SC daily for 3 days | When standard therapy is contraindicated or ineffective; avoid in active infection |

| Drug | Class | Dose | Key Points |
|---|---|---|---|
| Allopurinol | Xanthine oxidase inhibitor | Start 100 mg/day (50 mg in CKD stage 4+); titrate by 100 mg every 2-5 weeks to target; max 800 mg | First-line; screen African Americans and Southeast Asians for HLA-B*5801 before starting (risk of severe cutaneous reaction/allopurinol hypersensitivity syndrome - 25% mortality) |
| Febuxostat | Xanthine oxidase inhibitor | 40-80 mg/day (40 mg ≈ allopurinol 300 mg) | Second-line; more expensive; associated with higher cardiovascular event rate; caution with azathioprine/6-MP (inhibits their metabolism - reduce dose 60-75%) |
| Probenecid | Uricosuric | 500 mg/day, titrate to max 3000 mg/day in divided doses | First-choice uricosuric; ineffective in significant renal impairment; avoid if urinary uric acid >800 mg/24 hours (nephrolithiasis risk) |
| Lesinurad | Uricosuric | 200 mg/day | Used in combination with XOI |
| Pegloticase | Uricase | 8 mg IV every 2 weeks | Refractory tophaceous gout; recombinant uricase converts urate to allantoin |
| Avoid / Limit | Encourage |
|---|---|
| Red meat and organ meats (liver, kidney) - high purine load | Low-fat dairy products (mildly uricosuric effect) |
| Shellfish (shrimp, lobster, scallops) | Vegetables (even high-purine vegetables like spinach do not significantly raise uric acid) |
| High-fructose corn syrup / sugar-sweetened beverages | Adequate hydration (2-3 L/day to promote urate excretion) |
| Alcohol (especially beer - highest risk; spirits moderate risk; wine less so) | Coffee (associated with lower uric acid levels) |
| Excessive fructose | Cherries / tart cherry juice (small evidence for lowering flare frequency) |
| Feature | Osteoarthritis | Gout |
|---|---|---|
| Primary lifestyle change | Weight loss + exercise | Low-purine diet + reduce alcohol |
| First-line drug (acute) | Topical/oral NSAIDs, acetaminophen | NSAIDs, colchicine, corticosteroids |
| Disease-modifying therapy | None approved (exercise/weight loss are closest) | Urate-lowering therapy (allopurinol) |
| Long-term prevention | Exercise adherence, weight maintenance | Maintain serum urate <6 mg/dL with ULT |
| Key "don't" | Avoid opioids/tramadol | Never stop ULT during a flare |
| Surgical option | Total joint arthroplasty | Rarely needed (tophus debridement) |
Make it short and comprehensive
| Step | Drug | Notes |
|---|---|---|
| 1st line | Topical NSAIDs (diclofenac gel) | Preferred - least systemic exposure |
| 1st line | Oral acetaminophen | Modest pain relief |
| 2nd line | Oral NSAIDs (naproxen, ibuprofen, celecoxib) | More effective; use lowest dose/shortest duration; add PPI if high GI risk |
| Adjunct | Duloxetine | Useful for central sensitization |
| Intra-articular | Corticosteroids | Short-term relief only |
| Avoid | Opioids/tramadol | AAOS strongly recommends against |
| Not recommended | Hyaluronic acid, arthroscopic lavage | No proven benefit |
| Drug | Dose | Notes |
|---|---|---|
| NSAIDs (indomethacin, naproxen) | Full anti-inflammatory doses | First-line; avoid in CKD, PUD, anticoagulation |
| Colchicine | 1.2 mg then 0.6 mg 1 hr later | Most effective within first 36 hours; avoid in CKD |
| Intra-articular steroids | 40 mg large / 10-20 mg small joints | Monoarticular attack; rule out septic arthritis |
| Oral prednisone | 40-60 mg/day, taper over 7-10 days | When NSAIDs and colchicine contraindicated |
| Anakinra (IL-1 inhibitor) | 100 mg SC daily × 3 days | Refractory cases; avoid if active infection |
| Drug | Class | Dose | Key Caution |
|---|---|---|---|
| Allopurinol | XO inhibitor | Start 100 mg, titrate slowly | Screen for HLA-B*5801 in African Americans & Southeast Asians (severe skin reaction risk) |
| Febuxostat | XO inhibitor | 40-80 mg/day | Higher CV event rate; second-line |
| Probenecid | Uricosuric | 500-3000 mg/day | Ineffective in renal impairment; nephrolithiasis risk |
| Pegloticase | Uricase (IV) | 8 mg IV q2 weeks | Refractory tophaceous gout only |
| Avoid | Favour |
|---|---|
| Red meat, organ meats, shellfish (high purine) | Low-fat dairy (mildly uricosuric) |
| Beer > spirits > wine | Adequate hydration (2-3 L/day) |
| Sugar-sweetened drinks / fructose | Coffee, cherries/tart cherry juice |
| Thiazide/loop diuretics (if possible, switch) | Losartan (antihypertensive with mild uricosuric effect) |
| Rapid weight loss (triggers flares) | Gradual, sustained weight loss |
| Sedentary lifestyle | Regular moderate exercise |
| Osteoarthritis | Gout | |
|---|---|---|
| Key lifestyle change | Weight loss + exercise | Low-purine diet + reduce alcohol |
| Acute treatment | Topical/oral NSAIDs, acetaminophen | NSAIDs, colchicine, steroids |
| Long-term prevention | Exercise adherence, weight control | ULT to keep urate <6 mg/dL |
| Critical "don't" | Avoid opioids | Never stop ULT during a flare |
Can u make link of this content
ls -la /home/daytona/workspace/ 2>/dev/null || mkdir -p /home/daytona/workspace
mkdir -p /home/daytona/workspace/oa-gout && python3 - << 'EOF' from reportlab.li…
OA Gout Management
PDF Document · PDF
Can u make ppt on it
~/oa-gout/make_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Osteoarthritis & Gout – Management, Prevention & Lifestyle";
pres.author = "Orris Medical";
// ─── PALETTE ────────────────────────────────────────────────
const C = {
navy: "1A3A5C",
teal: "0E7C7B",
amber: "E8A838",
red: "C0392B",
light: "EEF3F8",
white: "FFFFFF",
dark: "0D1F2D",
grey: "6C757D",
ltgrey: "DEE5ED",
green: "2ECC71",
oa_blue: "2C5F8A",
gout_rd: "A93226",
};
const FONT = "Calibri";
// ─── HELPERS ────────────────────────────────────────────────
function darkSlide(slide) {
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{ color: C.dark }, line:{ color: C.dark } });
}
function lightSlide(slide, accent) {
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{ color: C.white }, line:{ color: C.white } });
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:0.08, fill:{ color: accent||C.navy }, line:{ color: accent||C.navy } });
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:5.545, w:10, h:0.08, fill:{ color: accent||C.navy }, line:{ color: accent||C.navy } });
}
function sectionHeader(slide, color) {
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{ color }, line:{ color } });
}
function slideTitle(slide, text, color, y) {
slide.addText(text, {
x:0.4, y: y||0.18, w:9.2, h:0.55,
fontSize:22, bold:true, color: color||C.white, fontFace:FONT, valign:"middle"
});
}
function hRule(slide, y, color) {
slide.addShape(pres.shapes.RECTANGLE, { x:0.4, y, w:9.2, h:0.02, fill:{ color: color||C.ltgrey }, line:{ color: color||C.ltgrey } });
}
function footerBar(slide, text) {
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:5.45, w:10, h:0.175, fill:{ color: C.navy }, line:{ color: C.navy } });
slide.addText(text||"Firestein & Kelley's | Harrison's 22e | Washington Manual | Lippincott Pharmacology | AAOS CPG | ACR 2019", {
x:0.2, y:5.455, w:9.6, h:0.16, fontSize:6, color:"AABBD0", fontFace:FONT, align:"center"
});
}
function card(slide, x, y, w, h, fillColor, radius) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w, h,
fill:{ color: fillColor||C.light },
line:{ color: fillColor||C.light },
rectRadius: radius||0.08,
shadow:{ type:"outer", color:"000000", blur:4, offset:2, angle:135, opacity:0.1 }
});
}
function pill(slide, x, y, w, label, fill, textColor) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y, w, h:0.28, fill:{ color: fill||C.navy }, line:{ color: fill||C.navy }, rectRadius:0.14 });
slide.addText(label, { x, y, w, h:0.28, fontSize:7.5, bold:true, color: textColor||C.white, fontFace:FONT, align:"center", valign:"middle" });
}
function bullets(slide, items, x, y, w, h, opts) {
const arr = items.map((t,i) => ({
text: t,
options: { bullet:{ code:"25CF", color: opts&&opts.dotColor||C.amber }, breakLine: i<items.length-1, fontSize: opts&&opts.fs||9.5, color: opts&&opts.color||"333333", fontFace:FONT }
}));
slide.addText(arr, { x, y, w, h, valign:"top", ...(opts||{}) });
}
// ════════════════════════════════════════════
// SLIDE 1 – TITLE
// ════════════════════════════════════════════
{
const s = pres.addSlide();
darkSlide(s);
// Left accent strip
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.08, h:5.625, fill:{ color: C.amber }, line:{ color: C.amber } });
// Title
s.addText("Osteoarthritis & Gout", {
x:0.3, y:1.1, w:9.4, h:1.0,
fontSize:40, bold:true, color: C.white, fontFace:FONT, align:"center",
charSpacing:1
});
s.addText("Management • Prevention • Lifestyle Modification", {
x:0.3, y:2.15, w:9.4, h:0.5,
fontSize:15, color: C.amber, fontFace:FONT, align:"center", italic:true
});
hRule(s, 2.75, C.teal);
s.addText("Based on: ACR 2019 Guidelines | AAOS CPG | Harrison's 22e | Firestein & Kelley's", {
x:0.3, y:2.88, w:9.4, h:0.35, fontSize:9, color:"8AAEC8", fontFace:FONT, align:"center"
});
// Two condition labels
card(s, 1.0, 3.4, 3.6, 0.7, C.oa_blue, 0.12);
s.addText("🦴 Osteoarthritis", { x:1.0, y:3.4, w:3.6, h:0.7, fontSize:13, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
card(s, 5.4, 3.4, 3.6, 0.7, C.gout_rd, 0.12);
s.addText("🔴 Gout", { x:5.4, y:3.4, w:3.6, h:0.7, fontSize:13, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
}
// ════════════════════════════════════════════
// SLIDE 2 – AGENDA / OUTLINE
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.navy);
slideTitle(s, "What We'll Cover", C.navy, 0.18);
hRule(s, 0.82, C.navy);
const items = [
["01", "OA – Lifestyle & Prevention", C.oa_blue],
["02", "OA – Pharmacologic Management", C.oa_blue],
["03", "OA – Surgical Options", C.oa_blue],
["04", "Gout – Acute Flare Treatment", C.gout_rd],
["05", "Gout – Urate-Lowering Therapy (ULT)", C.gout_rd],
["06", "Gout – Lifestyle & Prevention", C.gout_rd],
["07", "Side-by-Side Comparison", C.teal],
];
const cols = [[0,1,2,3],[4,5,6]];
const xLeft=0.4, xRight=5.2, w=4.4;
items.forEach((item,i) => {
const isRight = i>=4;
const x = isRight ? xRight : xLeft;
const row = isRight ? i-4 : i;
const y = 1.0 + row*0.82;
card(s, x, y, w, 0.65, C.light, 0.08);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: x+0.05, y: y+0.1, w:0.45, h:0.45, fill:{ color: item[2] }, line:{ color: item[2] }, rectRadius:0.22 });
s.addText(item[0], { x: x+0.05, y: y+0.1, w:0.45, h:0.45, fontSize:11, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
s.addText(item[1], { x: x+0.6, y: y+0.12, w: w-0.7, h:0.42, fontSize:11, color:"222222", fontFace:FONT, valign:"middle" });
});
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 3 – OA SECTION DIVIDER
// ════════════════════════════════════════════
{
const s = pres.addSlide();
sectionHeader(s, C.oa_blue);
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.1, h:5.625, fill:{ color: C.amber }, line:{ color: C.amber } });
s.addText("PART 1", { x:0.3, y:1.5, w:9, h:0.5, fontSize:13, color: C.amber, fontFace:FONT, bold:true, charSpacing:6 });
s.addText("Osteoarthritis", { x:0.3, y:2.05, w:9, h:1.0, fontSize:44, bold:true, color:C.white, fontFace:FONT });
s.addText("Management • Prevention • Lifestyle", { x:0.3, y:3.1, w:9, h:0.45, fontSize:14, color:"AACCEE", fontFace:FONT, italic:true });
}
// ════════════════════════════════════════════
// SLIDE 4 – OA: CORE FRAMEWORK
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.oa_blue);
slideTitle(s, "OA – Core Management Framework", C.navy);
hRule(s, 0.82, C.oa_blue);
// Centre label
card(s, 3.5, 1.6, 3.0, 0.9, C.oa_blue, 0.1);
s.addText("Education +\nExercise +\nWeight Loss", { x:3.5, y:1.6, w:3.0, h:0.9, fontSize:10, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
s.addText("CORE (ALL patients)", { x:3.2, y:2.52, w:3.6, h:0.3, fontSize:8, color: C.oa_blue, fontFace:FONT, align:"center", bold:true });
// Four surrounding cards
const corners = [
{ x:0.25, y:1.0, label:"Physical\nModalities", sub:"Exercise, PT, orthotics,\naquatic therapy", fill: "D6E8F5" },
{ x:6.75, y:1.0, label:"Pharmacologic", sub:"Topical → Oral NSAIDs\nIntra-articular", fill: "D6E8F5" },
{ x:0.25, y:3.5, label:"Psychological &\nMind-Body", sub:"CBT, pain education,\nsleep management", fill: "D6E8F5" },
{ x:6.75, y:3.5, label:"Surgery", sub:"Arthroplasty\n(after all else fails)", fill: "FFE8B2" },
];
corners.forEach(c => {
card(s, c.x, c.y, 2.8, 1.7, c.fill, 0.1);
s.addText(c.label, { x: c.x+0.1, y: c.y+0.15, w:2.6, h:0.5, fontSize:11, bold:true, color: C.navy, fontFace:FONT, align:"center" });
s.addText(c.sub, { x: c.x+0.1, y: c.y+0.65, w:2.6, h:0.9, fontSize:8.5, color:"444444", fontFace:FONT, align:"center", valign:"top" });
});
// Arrows (lines)
[[3.05,1.4,3.5,2.0],[6.75,1.4,6.5,2.0],[3.05,3.9,3.5,2.5],[6.75,3.9,6.5,2.5]].forEach(([x1,y1,x2,y2]) => {
s.addShape(pres.shapes.LINE, { x:x1, y:y1, w: x2-x1, h: y2-y1, line:{ color:C.oa_blue, width:1.2, dashType:"dash" } });
});
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 5 – OA LIFESTYLE / PREVENTION
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.oa_blue);
slideTitle(s, "OA – Lifestyle Modifications & Prevention", C.navy);
hRule(s, 0.82, C.oa_blue);
const cats = [
{ icon:"⚖️", title:"Weight Loss", color:"1A6B9A", points:["Most impactful modifiable factor","≥20% loss = greatest benefit","Combine diet + exercise (diet alone risks sarcopenia)","Bariatric surgery if needed"] },
{ icon:"🏃", title:"Exercise", color:"0E7C7B", points:["Strength training – progressive resistance","Aerobic/aquatic – walking, cycling (low-impact)","Range-of-motion & flexibility (always include)","Neuromuscular training"] },
{ icon:"📚", title:"Education", color:"7B3FA0", points:["Ongoing, not one-time","Use positive, non-fatalistic language","Direct to CDC, Arthritis Foundation","Self-management mobile apps"] },
{ icon:"🦯", title:"Assistive Devices", color:"B5600A", points:["Canes & walking aids (recommended)","Braces for knee OA","Lateral wedge insoles: NOT recommended","Occupational therapy for hand OA"] },
];
cats.forEach((c,i) => {
const x = 0.2 + (i%2)*4.9;
const y = 1.0 + Math.floor(i/2)*2.15;
card(s, x, y, 4.7, 1.9, C.light, 0.1);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: x+0.1, y: y+0.1, w:1.1, h:0.5, fill:{ color: c.color }, line:{ color: c.color }, rectRadius:0.08 });
s.addText(c.icon+" "+c.title, { x: x+0.1, y: y+0.1, w:1.1, h:0.5, fontSize:8, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
const arr = c.points.map((t,j) => ({ text:t, options:{ bullet:{ code:"25CF", color:c.color }, breakLine: j<c.points.length-1, fontSize:8.5, color:"333333", fontFace:FONT } }));
s.addText(arr, { x: x+1.3, y: y+0.1, w:3.25, h:1.7, valign:"top" });
});
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 6 – OA PHARMACOLOGIC MGMT
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.oa_blue);
slideTitle(s, "OA – Pharmacologic Management", C.navy);
hRule(s, 0.82, C.oa_blue);
// Step ladder approach
const steps = [
{ step:"PREFER", label:"Topical Agents", detail:"Topical NSAIDs (diclofenac gel), capsaicin cream", why:"Lowest systemic exposure; same efficacy", fill:"1A6B9A" },
{ step:"1ST LINE", label:"Oral Acetaminophen", detail:"Standard analgesia, widely available", why:"Modest pain relief; safe for most", fill:"2E86AB" },
{ step:"2ND LINE", label:"Oral NSAIDs", detail:"Naproxen, ibuprofen, celecoxib", why:"More effective; lowest dose × shortest duration; add PPI if high GI risk", fill:"0E7C7B" },
{ step:"ADJUNCT", label:"Duloxetine", detail:"For central sensitization & widespread pain", why:"Useful when pain is out of proportion", fill:"5A7B3A" },
{ step:"LOCAL", label:"Intra-articular Corticosteroids", detail:"Triamcinolone – short-term relief only", why:"Repeated injections may damage cartilage", fill:"B5600A" },
{ step:"❌ AVOID", label:"Opioids / Tramadol", detail:"AAOS strongly recommends AGAINST", why:"Poor benefit-to-risk ratio", fill:"C0392B" },
];
steps.forEach((st, i) => {
const x = 0.25;
const y = 0.92 + i*0.73;
const w = 9.5;
card(s, x, y, w, 0.65, i===5?"FEE8E6":C.light, 0.06);
// Step badge
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: x+0.05, y: y+0.1, w:1.1, h:0.45, fill:{ color: st.fill }, line:{ color: st.fill }, rectRadius:0.06 });
s.addText(st.step, { x: x+0.05, y: y+0.1, w:1.1, h:0.45, fontSize:7.5, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
s.addText(st.label, { x: x+1.25, y: y+0.08, w:2.8, h:0.26, fontSize:9.5, bold:true, color: i===5?C.gout_rd:C.navy, fontFace:FONT });
s.addText(st.detail, { x: x+1.25, y: y+0.34, w:2.8, h:0.26, fontSize:8, color:"555555", fontFace:FONT });
s.addText("→ "+st.why, { x: x+4.2, y: y+0.16, w:5.1, h:0.35, fontSize:8.5, color:"444444", fontFace:FONT, italic:true });
});
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 7 – OA SURGICAL OPTIONS + AAOS TABLE
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.oa_blue);
slideTitle(s, "OA – Surgical Options & AAOS Recommendations", C.navy);
hRule(s, 0.82, C.oa_blue);
// Surgery cards
const surg = [
{ t:"Total Joint Arthroplasty", d:"After adequate trial of all modalities.\nDurable pain relief & functional restoration.", good:true },
{ t:"High Tibial Osteotomy", d:"Selected unicompartmental knee OA patients.\nModerate evidence.", good:true },
{ t:"Arthroscopic Lavage / Debridement", d:"NOT recommended for OA-related pathology.\nNo proven benefit.", good:false },
];
surg.forEach((c,i) => {
const x = 0.25 + i*3.2;
card(s, x, 0.95, 3.0, 1.5, c.good?"EDF7ED":"FDECEA", 0.1);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x: x+0.1, y:1.0, w:0.5, h:0.5, fill:{ color: c.good?C.teal:C.red }, line:{ color: c.good?C.teal:C.red }, rectRadius:0.25 });
s.addText(c.good?"✓":"✗", { x: x+0.1, y:1.0, w:0.5, h:0.5, fontSize:16, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
s.addText(c.t, { x: x+0.7, y:1.0, w:2.4, h:0.5, fontSize:9, bold:true, color:"222222", fontFace:FONT, valign:"middle" });
s.addText(c.d, { x: x+0.1, y:1.55, w:2.8, h:0.85, fontSize:8, color:"444444", fontFace:FONT });
});
// AAOS mini-table
s.addText("AAOS Evidence-Based Recommendations (Knee OA)", { x:0.25, y:2.6, w:9.5, h:0.3, fontSize:10, bold:true, color:C.oa_blue, fontFace:FONT });
const rows = [
["Grade","Intervention","Status"],
["★★★★ Strong","Patient education, Exercise (supervised/aquatic), Self-management","✓ Recommended"],
["★★★★ Strong","Topical NSAIDs, Oral NSAIDs, Acetaminophen","✓ Recommended"],
["★★★★ Strong","Opioids / Tramadol","✗ NOT Recommended"],
["★★★ Moderate","Canes, Braces, Weight loss, Neuromuscular training, IA Corticosteroids","✓ Recommended"],
["★★ Limited","Glucosamine, Chondroitin, PRP, Acupuncture, TENS","May use selectively"],
];
const tbl = rows.map((r,i) => r.map(cell => ({
text: cell,
options: {
bold: i===0,
color: i===0 ? C.white : (cell.includes("NOT") ? C.red : (cell.includes("✓") ? C.teal : "333333")),
fontSize: i===0 ? 8.5 : 8,
fontFace: FONT,
fill: i===0 ? C.navy : (i%2===0 ? C.light : C.white),
align: i===0||[0,2].includes(rows[0].indexOf(cell)) ? "center" : "left",
valign: "middle",
}
})));
s.addTable(tbl, {
x:0.25, y:2.95, w:9.5, colW:[2.0, 5.8, 1.7],
border:{ color:"B0C4DE", pt:0.5 },
rowH: 0.3,
});
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 8 – GOUT SECTION DIVIDER
// ════════════════════════════════════════════
{
const s = pres.addSlide();
sectionHeader(s, C.gout_rd);
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.1, h:5.625, fill:{ color: C.amber }, line:{ color: C.amber } });
s.addText("PART 2", { x:0.3, y:1.5, w:9, h:0.5, fontSize:13, color: C.amber, fontFace:FONT, bold:true, charSpacing:6 });
s.addText("Gout", { x:0.3, y:2.05, w:9, h:1.0, fontSize:52, bold:true, color:C.white, fontFace:FONT });
s.addText("Acute Treatment • Urate-Lowering Therapy • Prevention", { x:0.3, y:3.1, w:9, h:0.45, fontSize:14, color:"FFCACA", fontFace:FONT, italic:true });
}
// ════════════════════════════════════════════
// SLIDE 9 – GOUT PATHOPHYSIOLOGY & TRIGGERS
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.gout_rd);
slideTitle(s, "Gout – Pathophysiology & Risk Factors", C.navy);
hRule(s, 0.82, C.gout_rd);
// Pathway box
card(s, 0.25, 0.95, 4.5, 4.3, "FFF5F5", 0.1);
s.addText("Pathophysiology", { x:0.35, y:1.0, w:4.3, h:0.35, fontSize:10, bold:true, color:C.gout_rd, fontFace:FONT });
const path = [
"Hyperuricemia (impaired excretion 90%, overproduction 10%)",
"↓",
"Monosodium Urate (MSU) crystal deposition in joints",
"↓",
"NLRP3 inflammasome activation → IL-1β release",
"↓",
"Neutrophil recruitment → lysosomal rupture",
"↓",
"Acute intense inflammation (gout flare)",
"↓",
"Chronic: tophi, erosions, joint destruction",
];
path.forEach((p,i) => {
const isArrow = p==="↓";
s.addText(p, { x:0.45, y:1.38+i*0.27, w:4.1, h:0.27, fontSize: isArrow?13:8, color: isArrow?C.gout_rd:"333333", fontFace:FONT, bold: isArrow, align: isArrow?"center":"left", valign:"middle" });
});
// Risk factors
card(s, 5.0, 0.95, 4.75, 4.3, C.light, 0.1);
s.addText("Risk Factors", { x:5.1, y:1.0, w:4.5, h:0.35, fontSize:10, bold:true, color:C.oa_blue, fontFace:FONT });
const risks = [
["🍖","Purine-rich diet (red meat, shellfish, organ meats)"],
["🍺","Alcohol – beer > spirits > wine"],
["🧃","Fructose / sugar-sweetened beverages"],
["⚖️","Obesity / metabolic syndrome"],
["💊","Diuretics (thiazide, loop)"],
["🫀","Hypertension, CKD, heart failure"],
["🧬","Genetic: HPRT deficiency, PRPP synthetase overactivity"],
["🚶","Sedentary lifestyle"],
];
risks.forEach((r,i) => {
s.addText(r[0], { x:5.1, y:1.42+i*0.35, w:0.35, h:0.32, fontSize:10, fontFace:FONT, align:"center" });
s.addText(r[1], { x:5.5, y:1.42+i*0.35, w:4.1, h:0.32, fontSize:8.5, color:"333333", fontFace:FONT, valign:"middle" });
});
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 10 – GOUT ACUTE TREATMENT
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.gout_rd);
slideTitle(s, "Gout – Acute Flare Treatment", C.navy);
hRule(s, 0.82, C.gout_rd);
s.addText("Treat promptly – can abort attack within hours", { x:0.3, y:0.88, w:9.4, h:0.28, fontSize:9, color: C.gout_rd, fontFace:FONT, italic:true });
const drugs = [
{ rank:"1ST", drug:"NSAIDs", dose:"Indomethacin 50mg TID / Naproxen 500mg BID\nIbuprofen 800mg TID / Meloxicam 15mg daily", note:"Contraindicated: CKD, PUD, anticoagulation", fill:"A93226" },
{ rank:"1ST", drug:"Colchicine", dose:"1.2 mg PO → then 0.6 mg 1 hr later\n(low-dose equally effective, better tolerated)", note:"Most effective within 36 hrs; avoid in CKD; caution: carvedilol/grapefruit juice", fill:"A93226" },
{ rank:"ALT", drug:"Intra-articular Corticosteroids", dose:"40 mg (large joints) / 10–20 mg (small joints)", note:"Rule out septic arthritis first; 90% effective within 24 hrs", fill:"C0702A" },
{ rank:"ALT", drug:"Oral Prednisone", dose:"40–60 mg/day; taper over 7–10 days", note:"When NSAIDs & colchicine contraindicated; caution with uncontrolled diabetes", fill:"C0702A" },
{ rank:"LAST", drug:"Anakinra (IL-1 inhibitor)", dose:"100 mg SC daily × 3 days", note:"Refractory cases only; contraindicated in active infection", fill:"8E44AD" },
];
drugs.forEach((d,i) => {
const y = 1.22 + i*0.82;
card(s, 0.25, y, 9.5, 0.74, i<2?"FFF0F0":i<4?"FFF7EE":"F8F0FE", 0.07);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.32, y:y+0.12, w:0.85, h:0.5, fill:{ color: d.fill }, line:{ color: d.fill }, rectRadius:0.06 });
s.addText(d.rank, { x:0.32, y:y+0.12, w:0.85, h:0.5, fontSize:8, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
s.addText(d.drug, { x:1.25, y:y+0.08, w:2.5, h:0.3, fontSize:10, bold:true, color:"222222", fontFace:FONT });
s.addText(d.dose, { x:1.25, y:y+0.38, w:2.5, h:0.32, fontSize:7.5, color:"555555", fontFace:FONT });
s.addText("⚠ "+d.note, { x:3.9, y:y+0.18, w:5.7, h:0.38, fontSize:8, color:"666666", fontFace:FONT, italic:true });
});
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 11 – GOUT ULT
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.gout_rd);
slideTitle(s, "Gout – Urate-Lowering Therapy (ULT)", C.navy);
hRule(s, 0.82, C.gout_rd);
// Indications + Targets side by side
card(s, 0.25, 0.92, 4.5, 1.85, "FFF5F5", 0.09);
s.addText("Indications for ULT", { x:0.35, y:0.97, w:4.3, h:0.3, fontSize:9.5, bold:true, color:C.gout_rd, fontFace:FONT });
const inds = ["≥2 flares/year","Presence of tophi","Urate nephropathy or nephrolithiasis","CKD ≥ stage 3","Uric acid >9 mg/dL at first flare"];
const indArr = inds.map((t,i) => ({ text:t, options:{ bullet:{ code:"25CF", color:C.gout_rd }, breakLine: i<inds.length-1, fontSize:8.5, color:"333333", fontFace:FONT }}));
s.addText(indArr, { x:0.35, y:1.3, w:4.2, h:1.35, valign:"top" });
card(s, 4.9, 0.92, 4.85, 1.85, "FFF0E0", 0.09);
s.addText("Serum Urate Targets", { x:5.0, y:0.97, w:4.6, h:0.3, fontSize:9.5, bold:true, color:"B5600A", fontFace:FONT });
s.addText("No tophi: < 6 mg/dL", { x:5.0, y:1.32, w:4.6, h:0.35, fontSize:11, bold:true, color:C.teal, fontFace:FONT });
s.addText("With tophi: < 5 mg/dL", { x:5.0, y:1.72, w:4.6, h:0.35, fontSize:11, bold:true, color:C.gout_rd, fontFace:FONT });
s.addText("Start ULT ≥2 weeks AFTER flare resolves\n⚠ NEVER stop ULT during an active flare", { x:5.0, y:2.1, w:4.6, h:0.55, fontSize:8, color:"555555", fontFace:FONT, italic:true });
// Drug table
s.addText("ULT Drug Options", { x:0.25, y:2.88, w:9.5, h:0.28, fontSize:10, bold:true, color:C.navy, fontFace:FONT });
const ult = [
["Drug","Class","Dose","Key Caution"],
["Allopurinol","XO Inhibitor\n(1st line)","Start 100 mg; titrate slowly;\nmax 800 mg","Screen HLA-B*5801 in African Americans\n& SE Asians – severe skin reaction risk"],
["Febuxostat","XO Inhibitor\n(2nd line)","40–80 mg/day","Higher CV event rate; blocks azathioprine/\n6-MP metabolism"],
["Probenecid","Uricosuric","500–3000 mg/day","Ineffective in renal impairment;\nCaution if urinary uric acid >800 mg/24h"],
["Pegloticase","Uricase (IV)","8 mg IV q2 weeks","Refractory tophaceous gout only"],
];
const ultTbl = ult.map((r,i) => r.map(cell => ({
text: cell,
options: {
bold: i===0, fontSize: i===0?8.5:8, fontFace:FONT,
color: i===0 ? C.white : (cell.includes("HLA")||cell.includes("CV")||cell.includes("renal")?"A93226":"333333"),
fill: i===0 ? C.gout_rd : (i%2===0 ? "FFF5F5" : C.white),
valign:"middle", align:"left",
}
})));
s.addTable(ultTbl, { x:0.25, y:3.18, w:9.5, colW:[1.8,1.8,2.5,3.4], border:{ color:"E0B0B0", pt:0.5 }, rowH:0.42 });
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 12 – GOUT LIFESTYLE
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.gout_rd);
slideTitle(s, "Gout – Lifestyle Modifications & Prevention", C.navy);
hRule(s, 0.82, C.gout_rd);
// AVOID column
card(s, 0.25, 0.95, 4.6, 4.35, "FDECEA", 0.1);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.35, y:1.0, w:1.8, h:0.38, fill:{ color:C.gout_rd }, line:{ color:C.gout_rd }, rectRadius:0.06 });
s.addText("❌ AVOID / LIMIT", { x:0.35, y:1.0, w:1.8, h:0.38, fontSize:8.5, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
const avoid = [
"Red meat, organ meats (liver, kidney)",
"Shellfish (shrimp, lobster, scallops)",
"Beer (highest risk) > spirits > wine",
"Sugar-sweetened drinks / fructose",
"Rapid/crash weight loss (triggers flares)",
"Thiazide & loop diuretics – switch if possible",
"Sedentary lifestyle",
"Cyclosporine, pyrazinamide, ethambutol",
];
const avoidArr = avoid.map((t,i) => ({ text:t, options:{ bullet:{ code:"274C", color:C.gout_rd }, breakLine: i<avoid.length-1, fontSize:8.5, color:"333333", fontFace:FONT }}));
s.addText(avoidArr, { x:0.4, y:1.45, w:4.3, h:3.7, valign:"top" });
// ENCOURAGE column
card(s, 5.15, 0.95, 4.6, 4.35, "EDF7ED", 0.1);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:5.25, y:1.0, w:2.0, h:0.38, fill:{ color:C.teal }, line:{ color:C.teal }, rectRadius:0.06 });
s.addText("✅ ENCOURAGE", { x:5.25, y:1.0, w:2.0, h:0.38, fontSize:8.5, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
const enc = [
"Low-fat dairy (mildly uricosuric effect)",
"Adequate hydration: 2–3 L/day",
"Coffee (associated with lower uric acid)",
"Cherries / tart cherry juice",
"Gradual, sustained weight loss",
"Losartan for hypertension (mild uricosuric)",
"Regular moderate exercise",
"Treat comorbidities: HTN, CKD, metabolic syndrome",
];
const encArr = enc.map((t,i) => ({ text:t, options:{ bullet:{ code:"2714", color:C.teal }, breakLine: i<enc.length-1, fontSize:8.5, color:"333333", fontFace:FONT }}));
s.addText(encArr, { x:5.2, y:1.45, w:4.4, h:3.7, valign:"top" });
// Prophylaxis note
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.3, w:10, h:0.14, fill:{ color:"FFF3CD" }, line:{ color:"FFF3CD" } });
s.addText("⚠ Flare Prophylaxis when starting ULT: Low-dose colchicine, starting 1–2 weeks BEFORE ULT, continue ≥6 months after urate reaches target", {
x:0.2, y:5.3, w:9.6, h:0.14, fontSize:7, color:"7B5800", fontFace:FONT, valign:"middle"
});
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 13 – COMPARISON
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightSlide(s, C.teal);
slideTitle(s, "Side-by-Side Comparison: OA vs. Gout", C.navy);
hRule(s, 0.82, C.teal);
const rows = [
["Feature", "Osteoarthritis", "Gout"],
["Key lifestyle change", "Weight loss + exercise", "Low-purine diet + reduce alcohol"],
["Acute treatment", "Topical/oral NSAIDs, acetaminophen", "NSAIDs, colchicine, corticosteroids"],
["Long-term prevention", "Exercise adherence, weight control", "ULT to keep uric acid <6 mg/dL"],
["Disease-modifying Rx", "None approved\n(exercise/weight loss = closest)", "Urate-lowering therapy (allopurinol)"],
["Critical DON'T", "Avoid opioids / tramadol", "Never stop ULT during a flare"],
["Surgical option", "Total joint arthroplasty", "Rarely needed (tophus debridement)"],
];
const tbl = rows.map((r,i) => [
{ text:r[0], options:{ bold:true, fontSize:i===0?9:8.5, fontFace:FONT, color: i===0?C.white:C.navy, fill: i===0?C.teal:(i%2===0?C.light:C.white), valign:"middle" }},
{ text:r[1], options:{ fontSize:i===0?9:8.5, fontFace:FONT, color: i===0?C.white:(i===5?"A93226":"333333"), fill: i===0?C.oa_blue:(i%2===0?"EBF5FF":"F5FAFF"), bold:i===0||i===5, valign:"middle" }},
{ text:r[2], options:{ fontSize:i===0?9:8.5, fontFace:FONT, color: i===0?C.white:(i===5?C.gout_rd:"333333"), fill: i===0?C.gout_rd:(i%2===0?"FFEEEE":"FFF5F5"), bold:i===0||i===5, valign:"middle" }},
]);
s.addTable(tbl, {
x:0.3, y:0.92, w:9.4,
colW:[2.8, 3.3, 3.3],
border:{ color:"C8D8E8", pt:0.5 },
rowH:0.58,
});
footerBar(s);
}
// ════════════════════════════════════════════
// SLIDE 14 – KEY TAKEAWAYS
// ════════════════════════════════════════════
{
const s = pres.addSlide();
darkSlide(s);
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.08, h:5.625, fill:{ color: C.amber }, line:{ color: C.amber } });
s.addText("Key Takeaways", {
x:0.3, y:0.25, w:9.4, h:0.55, fontSize:24, bold:true, color:C.white, fontFace:FONT
});
hRule(s, 0.88, C.teal);
const takes = [
{ icon:"🦴", color:C.oa_blue, title:"OA: Exercise Is Medicine", body:"Weight loss ≥20% + tailored exercise is the most evidence-based intervention. No drug replaces these." },
{ icon:"💊", color:"2E86AB", title:"OA Pharmacology: Stepwise", body:"Start topical → oral acetaminophen → oral NSAIDs. Avoid opioids. IA corticosteroids for short-term only." },
{ icon:"🔴", color:C.gout_rd, title:"Gout: Treat Fast, Prevent Long", body:"Abort acute flares quickly (NSAIDs/colchicine within 36 hrs). Start ULT when indicated; maintain urate <6 mg/dL for life." },
{ icon:"🥗", color:C.teal, title:"Gout Lifestyle: Diet + Hydration", body:"Avoid purines, beer, fructose. Low-fat dairy + adequate hydration + gradual weight loss reduce flares significantly." },
{ icon:"⚠️", color:C.amber, title:"Critical Rules", body:"OA: Never prescribe opioids. • Gout: Never stop ULT during a flare — it worsens the attack." },
];
takes.forEach((t,i) => {
const y = 1.02 + i*0.88;
card(s, 0.3, y, 9.4, 0.78, "0A1E2E", 0.08);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.4, y:y+0.14, w:0.5, h:0.5, fill:{ color:t.color }, line:{ color:t.color }, rectRadius:0.25 });
s.addText(t.icon, { x:0.4, y:y+0.14, w:0.5, h:0.5, fontSize:14, fontFace:FONT, align:"center", valign:"middle" });
s.addText(t.title, { x:1.0, y:y+0.1, w:3.5, h:0.3, fontSize:10, bold:true, color:C.amber, fontFace:FONT });
s.addText(t.body, { x:1.0, y:y+0.42, w:8.5, h:0.3, fontSize:8.5, color:"CCDDEE", fontFace:FONT });
});
}
pres.writeFile({ fileName: "/home/daytona/workspace/oa-gout/OA_Gout_Management.pptx" })
.then(() => console.log("PPTX created successfully!"))
.catch(e => { console.error(e); process.exit(1); });
Failed to create session: bad request: failed to resolve container IP after 3 attempts: no IP address found. Is the Sandbox started?
We encountered an error while processing your request. Please try again or reach out to us for help.
Try One more time
~/oa-gout/make_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Osteoarthritis & Gout – Management, Prevention & Lifestyle";
// ─── PALETTE ────────────────────────────────────────────────
const C = {
navy: "1A3A5C",
teal: "0E7C7B",
amber: "E8A838",
red: "C0392B",
light: "EEF3F8",
white: "FFFFFF",
dark: "0D1F2D",
grey: "6C757D",
ltgrey: "DEE5ED",
oablue: "2C5F8A",
goutrd: "A93226",
};
const FONT = "Calibri";
// ─── HELPERS ────────────────────────────────────────────────
function darkBg(s) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{ color:C.dark }, line:{ color:C.dark } });
}
function lightBg(s, accent) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{ color:C.white }, line:{ color:C.white } });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:0.07, fill:{ color:accent||C.navy }, line:{ color:accent||C.navy } });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.555, w:10, h:0.07, fill:{ color:accent||C.navy }, line:{ color:accent||C.navy } });
}
function sectionBg(s, color) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{ color }, line:{ color } });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.1, h:5.625, fill:{ color:C.amber }, line:{ color:C.amber } });
}
function hLine(s, y, color) {
s.addShape(pres.shapes.RECTANGLE, { x:0.35, y, w:9.3, h:0.02, fill:{ color:color||C.ltgrey }, line:{ color:color||C.ltgrey } });
}
function footer(s) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.44, w:10, h:0.185, fill:{ color:C.navy }, line:{ color:C.navy } });
s.addText("Sources: Firestein & Kelley's | Harrison's 22e | Washington Manual | Lippincott Pharmacology | Miller's Orthopaedics 9e | ACR 2019 | AAOS CPG", {
x:0.2, y:5.447, w:9.6, h:0.17, fontSize:6, color:"8AAEC8", fontFace:FONT, align:"center"
});
}
function slideTitle(s, text, color) {
s.addText(text, { x:0.35, y:0.15, w:9.3, h:0.55, fontSize:21, bold:true, color:color||C.navy, fontFace:FONT, valign:"middle" });
}
function card(s, x, y, w, h, fill, r) {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w, h, fill:{ color:fill||C.light }, line:{ color:fill||C.light }, rectRadius:r||0.08,
shadow:{ type:"outer", color:"000000", blur:4, offset:2, angle:135, opacity:0.1 }
});
}
function badge(s, x, y, w, h, fill, text, fs) {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y, w, h, fill:{ color:fill }, line:{ color:fill }, rectRadius:0.06 });
s.addText(text, { x, y, w, h, fontSize:fs||8, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
}
function bulletList(s, items, x, y, w, h, dotColor, fs) {
const arr = items.map((t,i) => ({
text: t,
options: { bullet:{ code:"25CF", color:dotColor||C.amber }, breakLine: i<items.length-1, fontSize:fs||9, color:"333333", fontFace:FONT }
}));
s.addText(arr, { x, y, w, h, valign:"top" });
}
// ════════════════════════════════════════════
// SLIDE 1 – TITLE
// ════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.1, h:5.625, fill:{ color:C.amber }, line:{ color:C.amber } });
s.addText("Osteoarthritis & Gout", {
x:0.3, y:1.0, w:9.4, h:1.0, fontSize:40, bold:true, color:C.white, fontFace:FONT, align:"center", charSpacing:1
});
s.addText("Management • Prevention • Lifestyle Modification", {
x:0.3, y:2.1, w:9.4, h:0.5, fontSize:15, color:C.amber, fontFace:FONT, align:"center", italic:true
});
hLine(s, 2.72, C.teal);
s.addText("ACR 2019 | AAOS CPG | Harrison's 22e | Firestein & Kelley's | Washington Manual", {
x:0.3, y:2.84, w:9.4, h:0.3, fontSize:8.5, color:"7AAAC8", fontFace:FONT, align:"center"
});
card(s, 1.0, 3.35, 3.5, 0.72, C.oablue, 0.1);
s.addText("🦴 Osteoarthritis", { x:1.0, y:3.35, w:3.5, h:0.72, fontSize:13, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
card(s, 5.5, 3.35, 3.5, 0.72, C.goutrd, 0.1);
s.addText("🔴 Gout", { x:5.5, y:3.35, w:3.5, h:0.72, fontSize:13, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
}
// ════════════════════════════════════════════
// SLIDE 2 – OA SECTION DIVIDER
// ════════════════════════════════════════════
{
const s = pres.addSlide();
sectionBg(s, C.oablue);
s.addText("PART 1", { x:0.4, y:1.4, w:9, h:0.45, fontSize:13, color:C.amber, fontFace:FONT, bold:true, charSpacing:6 });
s.addText("Osteoarthritis", { x:0.4, y:1.9, w:9, h:1.1, fontSize:46, bold:true, color:C.white, fontFace:FONT });
s.addText("Management • Prevention • Lifestyle", { x:0.4, y:3.05, w:9, h:0.45, fontSize:14, color:"AACCEE", fontFace:FONT, italic:true });
}
// ════════════════════════════════════════════
// SLIDE 3 – OA LIFESTYLE & PREVENTION
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightBg(s, C.oablue);
slideTitle(s, "OA – Lifestyle Modifications & Prevention");
hLine(s, 0.78, C.oablue);
const cats = [
{ icon:"⚖️", title:"Weight Loss", fill:"1A6B9A", pts:["Most impactful modifiable factor","≥20% weight loss = greatest benefit","Combine diet + exercise (not diet alone)","Bariatric surgery for select patients"] },
{ icon:"🏃", title:"Exercise", fill:C.teal, pts:["Strength training (progressive resistance)","Aerobic/aquatic – walking, cycling","Range-of-motion & flexibility","Neuromuscular training"] },
{ icon:"📚", title:"Patient Education", fill:"7B3FA0", pts:["Ongoing – not a one-time event","Positive, non-fatalistic language","Direct to CDC / Arthritis Foundation","Tailor self-management strategies"] },
{ icon:"🦯", title:"Assistive Devices", fill:"B5600A", pts:["Canes & walking aids (recommended)","Braces for knee OA (moderate evidence)","Lateral wedge insoles: NOT recommended","Occupational therapy for hand OA"] },
];
cats.forEach((c, i) => {
const x = 0.22 + (i % 2) * 4.9;
const y = 0.95 + Math.floor(i / 2) * 2.2;
card(s, x, y, 4.65, 1.98, C.light, 0.09);
badge(s, x+0.1, y+0.12, 1.6, 0.42, c.fill, c.icon+" "+c.title, 8.5);
bulletList(s, c.pts, x+1.82, y+0.12, 2.72, 1.75, c.fill, 8.5);
});
footer(s);
}
// ════════════════════════════════════════════
// SLIDE 4 – OA PHARMACOLOGIC MANAGEMENT
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightBg(s, C.oablue);
slideTitle(s, "OA – Pharmacologic Management (Stepwise)");
hLine(s, 0.78, C.oablue);
const steps = [
{ rank:"PREFER", drug:"Topical Agents", detail:"Topical NSAIDs (diclofenac gel), capsaicin cream", why:"Lowest systemic exposure; equivalent efficacy to oral", fill:"1A6B9A", bg:"EBF5FF" },
{ rank:"1ST LINE", drug:"Oral Acetaminophen", detail:"Standard analgesia; widely available", why:"Modest pain relief; safe for most patients", fill:"2E86AB", bg:C.light },
{ rank:"2ND LINE", drug:"Oral NSAIDs", detail:"Naproxen, ibuprofen, celecoxib", why:"More effective; lowest dose × shortest duration; add PPI if high GI risk", fill:C.teal, bg:"EBF5FF" },
{ rank:"ADJUNCT", drug:"Duloxetine", detail:"For central sensitization & widespread pain", why:"Useful when pain is out of proportion to structural changes", fill:"5A7B3A", bg:C.light },
{ rank:"LOCAL", drug:"Intra-articular Corticosteroids", detail:"Triamcinolone – short-term relief only", why:"Repeated injections may damage cartilage long-term", fill:"B5600A", bg:"FFF7EE" },
{ rank:"❌ AVOID", drug:"Opioids / Tramadol", detail:"AAOS strongly recommends AGAINST use", why:"Poor benefit-to-risk ratio in OA", fill:C.red, bg:"FEE8E6" },
];
steps.forEach((st, i) => {
const y = 0.9 + i * 0.73;
card(s, 0.22, y, 9.56, 0.66, st.bg, 0.06);
badge(s, 0.3, y+0.1, 1.05, 0.46, st.fill, st.rank, 7.5);
s.addText(st.drug, { x:1.45, y:y+0.08, w:2.85, h:0.27, fontSize:9.5, bold:true, color:i===5?C.red:C.navy, fontFace:FONT });
s.addText(st.detail, { x:1.45, y:y+0.35, w:2.85, h:0.25, fontSize:7.5, color:"555555", fontFace:FONT });
s.addText("→ "+st.why, { x:4.42, y:y+0.18, w:5.22, h:0.32, fontSize:8.5, color:"444444", fontFace:FONT, italic:true });
});
footer(s);
}
// ════════════════════════════════════════════
// SLIDE 5 – OA SURGICAL OPTIONS + AAOS TABLE
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightBg(s, C.oablue);
slideTitle(s, "OA – Surgical Options & AAOS Guideline Summary");
hLine(s, 0.78, C.oablue);
const surg = [
{ t:"Total Joint Arthroplasty", d:"After adequate trial of all modalities.\nDurable pain relief & function restoration.", good:true },
{ t:"High Tibial Osteotomy", d:"Unicompartmental knee OA.\nModerate evidence.", good:true },
{ t:"Arthroscopic Lavage / Debridement", d:"NOT recommended for OA.\nNo proven benefit.", good:false },
];
surg.forEach((c, i) => {
const x = 0.22 + i * 3.26;
card(s, x, 0.9, 3.1, 1.45, c.good?"EDF7ED":"FDECEA", 0.09);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:x+0.12, y:0.98, w:0.5, h:0.5, fill:{ color:c.good?C.teal:C.red }, line:{ color:c.good?C.teal:C.red }, rectRadius:0.25 });
s.addText(c.good?"✓":"✗", { x:x+0.12, y:0.98, w:0.5, h:0.5, fontSize:16, bold:true, color:C.white, fontFace:FONT, align:"center", valign:"middle" });
s.addText(c.t, { x:x+0.72, y:0.98, w:2.28, h:0.5, fontSize:9, bold:true, color:"222222", fontFace:FONT, valign:"middle" });
s.addText(c.d, { x:x+0.12, y:1.52, w:2.88, h:0.76, fontSize:8, color:"555555", fontFace:FONT });
});
s.addText("AAOS Evidence-Based Recommendations – Knee OA (Non-Arthroplasty)", {
x:0.22, y:2.5, w:9.56, h:0.28, fontSize:9.5, bold:true, color:C.oablue, fontFace:FONT
});
const rows = [
["Grade","Intervention","Verdict"],
["★★★★ Strong","Patient education, Exercise (supervised/aquatic), Self-management","✓ Recommended"],
["★★★★ Strong","Topical NSAIDs, Oral NSAIDs, Acetaminophen","✓ Recommended"],
["★★★★ Strong","Opioids / Tramadol","✗ NOT Recommended"],
["★★★ Moderate","Canes, Braces, Weight loss, IA Corticosteroids","✓ Recommended"],
["★★ Limited","Glucosamine, PRP, Acupuncture, TENS, Shockwave","Use selectively"],
];
const tbl = rows.map((r,i) => r.map((cell, ci) => ({
text: cell,
options: {
bold: i===0,
fontSize: i===0 ? 8.5 : 8,
fontFace: FONT,
color: i===0 ? C.white : (cell.includes("NOT") ? C.red : cell.includes("✓") ? C.teal : "333333"),
fill: i===0 ? C.navy : (i%2===0 ? C.light : C.white),
align: "left", valign: "middle",
}
})));
s.addTable(tbl, {
x:0.22, y:2.82, w:9.56, colW:[2.0, 5.76, 1.8],
border:{ color:"B0C4DE", pt:0.5 }, rowH:0.3,
});
footer(s);
}
// ════════════════════════════════════════════
// SLIDE 6 – GOUT SECTION DIVIDER
// ════════════════════════════════════════════
{
const s = pres.addSlide();
sectionBg(s, C.goutrd);
s.addText("PART 2", { x:0.4, y:1.4, w:9, h:0.45, fontSize:13, color:C.amber, fontFace:FONT, bold:true, charSpacing:6 });
s.addText("Gout", { x:0.4, y:1.9, w:9, h:1.1, fontSize:52, bold:true, color:C.white, fontFace:FONT });
s.addText("Acute Treatment • Urate-Lowering Therapy • Prevention", { x:0.4, y:3.05, w:9, h:0.45, fontSize:14, color:"FFCACA", fontFace:FONT, italic:true });
}
// ════════════════════════════════════════════
// SLIDE 7 – GOUT PATHOPHYSIOLOGY
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightBg(s, C.goutrd);
slideTitle(s, "Gout – Pathophysiology & Risk Factors");
hLine(s, 0.78, C.goutrd);
// Left: pathway
card(s, 0.22, 0.9, 4.55, 4.3, "FFF5F5", 0.09);
s.addText("Pathophysiology", { x:0.32, y:0.95, w:4.35, h:0.32, fontSize:10, bold:true, color:C.goutrd, fontFace:FONT });
const path = [
{ t:"Hyperuricemia", arrow:false, bold:true },
{ t:"↓ (impaired renal excretion 90%, overproduction 10%)", arrow:false },
{ t:"MSU crystal deposition in joints", arrow:false, bold:true },
{ t:"↓", arrow:true },
{ t:"NLRP3 inflammasome → IL-1β release", arrow:false },
{ t:"↓", arrow:true },
{ t:"Neutrophil recruitment → lysosomal rupture", arrow:false },
{ t:"↓", arrow:true },
{ t:"ACUTE FLARE (pain, swelling, redness)", arrow:false, bold:true },
{ t:"↓ (if untreated)", arrow:true },
{ t:"Tophi, erosions, joint destruction", arrow:false, bold:true },
];
path.forEach((p,i) => {
s.addText(p.t, {
x:0.32, y:1.32+i*0.27, w:4.3, h:0.26,
fontSize: p.arrow ? 13 : 8.5,
color: p.arrow ? C.goutrd : (p.bold ? C.goutrd : "333333"),
fontFace:FONT, bold:p.bold||false,
align: p.arrow ? "center" : "left", valign:"middle"
});
});
// Right: risk factors
card(s, 5.0, 0.9, 4.78, 4.3, C.light, 0.09);
s.addText("Risk Factors", { x:5.1, y:0.95, w:4.58, h:0.32, fontSize:10, bold:true, color:C.oablue, fontFace:FONT });
const risks = [
"🍖 Purine-rich diet (red meat, shellfish, organ meats)",
"🍺 Alcohol – beer > spirits > wine",
"🧃 Fructose / sugar-sweetened beverages",
"⚖️ Obesity / metabolic syndrome",
"💊 Diuretics (thiazide, loop diuretics)",
"🫀 Hypertension, CKD, heart failure",
"🚶 Sedentary lifestyle",
"🧬 Genetic (HPRT deficiency, PRPP synthetase overactivity)",
];
risks.forEach((r,i) => {
s.addText(r, { x:5.1, y:1.32+i*0.36, w:4.55, h:0.33, fontSize:8.5, color:"333333", fontFace:FONT, valign:"middle" });
});
footer(s);
}
// ════════════════════════════════════════════
// SLIDE 8 – GOUT ACUTE TREATMENT
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightBg(s, C.goutrd);
slideTitle(s, "Gout – Acute Flare Treatment");
hLine(s, 0.78, C.goutrd);
s.addText("Treat promptly – can abort attack within hours | Most effective within first 36 hours", {
x:0.35, y:0.83, w:9.3, h:0.22, fontSize:8.5, color:C.goutrd, fontFace:FONT, italic:true
});
const drugs = [
{ rank:"1ST LINE", drug:"NSAIDs", dose:"Indomethacin 50mg TID | Naproxen 500mg BID\nIbuprofen 800mg TID | Meloxicam 15mg daily", note:"Contraindicated in CKD, peptic ulcer disease, anticoagulation", fill:"A93226", bg:"FFF0F0" },
{ rank:"1ST LINE", drug:"Colchicine", dose:"1.2 mg PO then 0.6 mg 1 hour later\n(Low-dose = equally effective, better tolerated)", note:"Most effective within 36 hrs; avoid in CKD; caution with carvedilol / grapefruit juice", fill:"A93226", bg:"FFF0F0" },
{ rank:"ALTERNATE", drug:"Intra-articular Corticosteroids", dose:"40 mg (large joints) / 10–20 mg (small joints)\nTriamcinolone or methylprednisolone", note:"Monoarticular attack; rule out septic arthritis first; 90% effective within 24 hrs", fill:"C0702A", bg:"FFF7EE" },
{ rank:"ALTERNATE", drug:"Oral Prednisone", dose:"40–60 mg/day; taper over 7–10 days", note:"When NSAIDs & colchicine contraindicated; caution in poorly controlled diabetes", fill:"C0702A", bg:"FFF7EE" },
{ rank:"REFRACTORY", drug:"Anakinra (IL-1 inhibitor)", dose:"100 mg SC daily × 3 days\n(CKD <30 mL/min: every other day)", note:"When standard therapy is contraindicated or ineffective; avoid in active infection", fill:"8E44AD", bg:"F8F0FE" },
];
drugs.forEach((d,i) => {
const y = 1.1 + i * 0.83;
card(s, 0.22, y, 9.56, 0.76, d.bg, 0.07);
badge(s, 0.3, y+0.13, 1.0, 0.5, d.fill, d.rank, 7);
s.addText(d.drug, { x:1.4, y:y+0.08, w:2.8, h:0.28, fontSize:9.5, bold:true, color:C.navy, fontFace:FONT });
s.addText(d.dose, { x:1.4, y:y+0.36, w:2.8, h:0.34, fontSize:7.5, color:"555555", fontFace:FONT });
s.addText("⚠ "+d.note, { x:4.35, y:y+0.2, w:5.3, h:0.37, fontSize:8, color:"666666", fontFace:FONT, italic:true });
});
footer(s);
}
// ════════════════════════════════════════════
// SLIDE 9 – GOUT ULT
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightBg(s, C.goutrd);
slideTitle(s, "Gout – Urate-Lowering Therapy (ULT)");
hLine(s, 0.78, C.goutrd);
// Indications card
card(s, 0.22, 0.88, 4.55, 1.95, "FFF5F5", 0.09);
s.addText("Indications for ULT", { x:0.32, y:0.93, w:4.35, h:0.3, fontSize:9.5, bold:true, color:C.goutrd, fontFace:FONT });
bulletList(s, ["≥2 flares/year","Tophi present","Urate nephropathy or nephrolithiasis","CKD ≥ stage 3","Uric acid >9 mg/dL at first flare"], 0.32, 1.26, 4.3, 1.5, C.goutrd, 8.5);
// Targets card
card(s, 4.95, 0.88, 4.83, 1.95, "FFF0E0", 0.09);
s.addText("Urate Targets & Timing", { x:5.05, y:0.93, w:4.63, h:0.3, fontSize:9.5, bold:true, color:"B5600A", fontFace:FONT });
s.addText("No tophi → < 6 mg/dL", { x:5.05, y:1.28, w:4.63, h:0.35, fontSize:11, bold:true, color:C.teal, fontFace:FONT });
s.addText("With tophi → < 5 mg/dL", { x:5.05, y:1.67, w:4.63, h:0.35, fontSize:11, bold:true, color:C.goutrd, fontFace:FONT });
s.addText("• Start ≥2 weeks AFTER flare resolves\n• NEVER stop ULT during an active flare\n• Prophylaxis: low-dose colchicine ≥6 months", { x:5.05, y:2.06, w:4.63, h:0.65, fontSize:8, color:"555555", fontFace:FONT });
// ULT table
s.addText("ULT Drug Options", { x:0.22, y:2.9, w:9.56, h:0.28, fontSize:10, bold:true, color:C.navy, fontFace:FONT });
const ult = [
["Drug","Class","Dose","Key Caution"],
["Allopurinol","XO Inhibitor (1st line)","Start 100 mg; titrate slowly; max 800 mg","Screen HLA-B*5801 in African Americans & SE Asians\n→ risk of fatal severe cutaneous reaction"],
["Febuxostat","XO Inhibitor (2nd line)","40–80 mg/day","Higher cardiovascular event rate; blocks azathioprine/6-MP metabolism (reduce dose 60–75%)"],
["Probenecid","Uricosuric","500–3000 mg/day in divided doses","Ineffective in renal impairment; avoid if urinary UA >800 mg/24h"],
["Pegloticase","Uricase (IV)","8 mg IV every 2 weeks","Refractory tophaceous gout only; expensive"],
];
const ultTbl = ult.map((r,i) => r.map(cell => ({
text: cell,
options: {
bold:i===0, fontSize:i===0?8.5:8, fontFace:FONT,
color: i===0?C.white:(cell.includes("HLA")||cell.includes("cardiovascular")||cell.includes("Ineffective")?"A93226":"333333"),
fill: i===0?C.goutrd:(i%2===0?"FFF5F5":C.white),
valign:"middle", align:"left",
}
})));
s.addTable(ultTbl, { x:0.22, y:3.2, w:9.56, colW:[1.8,1.9,2.5,3.36], border:{ color:"E0B0B0", pt:0.5 }, rowH:0.43 });
footer(s);
}
// ════════════════════════════════════════════
// SLIDE 10 – GOUT LIFESTYLE
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightBg(s, C.goutrd);
slideTitle(s, "Gout – Lifestyle Modifications & Prevention");
hLine(s, 0.78, C.goutrd);
// AVOID column
card(s, 0.22, 0.9, 4.65, 4.3, "FDECEA", 0.09);
badge(s, 0.32, 0.96, 2.1, 0.38, C.goutrd, "❌ AVOID / LIMIT", 8.5);
const avoid = [
"Red meat & organ meats (liver, kidney)",
"Shellfish (shrimp, lobster, scallops)",
"Beer (highest risk) > spirits > wine",
"Sugar-sweetened drinks & fructose",
"Rapid/crash weight loss (triggers flares)",
"Thiazide & loop diuretics – switch if possible",
"Cyclosporine, pyrazinamide, ethambutol",
"Sedentary lifestyle",
];
const avoidArr = avoid.map((t,i) => ({
text:t, options:{ bullet:{ code:"274C", color:C.goutrd }, breakLine:i<avoid.length-1, fontSize:8.5, color:"333333", fontFace:FONT }
}));
s.addText(avoidArr, { x:0.35, y:1.4, w:4.35, h:3.65, valign:"top" });
// ENCOURAGE column
card(s, 5.13, 0.9, 4.65, 4.3, "EDF7ED", 0.09);
badge(s, 5.23, 0.96, 2.0, 0.38, C.teal, "✅ ENCOURAGE", 8.5);
const enc = [
"Low-fat dairy (mildly uricosuric effect)",
"Adequate hydration: 2–3 L/day",
"Coffee (linked to lower uric acid levels)",
"Cherries / tart cherry juice",
"Gradual, sustained weight loss",
"Losartan for hypertension (mild uricosuric)",
"Regular moderate exercise",
"Treat comorbidities (HTN, CKD, metabolic syndrome)",
];
const encArr = enc.map((t,i) => ({
text:t, options:{ bullet:{ code:"2714", color:C.teal }, breakLine:i<enc.length-1, fontSize:8.5, color:"333333", fontFace:FONT }
}));
s.addText(encArr, { x:5.26, y:1.4, w:4.38, h:3.65, valign:"top" });
// Warning strip above footer
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.3, w:10, h:0.14, fill:{ color:"FFF3CD" }, line:{ color:"FFF3CD" } });
s.addText("⚠ Flare Prophylaxis when starting ULT: Low-dose colchicine starting 1–2 weeks BEFORE ULT; continue ≥6 months after urate reaches target (longer if tophi present)", {
x:0.2, y:5.3, w:9.6, h:0.14, fontSize:7, color:"7B5800", fontFace:FONT, valign:"middle"
});
footer(s);
}
// ════════════════════════════════════════════
// SLIDE 11 – COMPARISON
// ════════════════════════════════════════════
{
const s = pres.addSlide();
lightBg(s, C.teal);
slideTitle(s, "OA vs. Gout – Side-by-Side Comparison");
hLine(s, 0.78, C.teal);
const rows = [
["Feature","Osteoarthritis","Gout"],
["Key lifestyle change","Weight loss + exercise","Low-purine diet + reduce alcohol"],
["Acute treatment","Topical/oral NSAIDs, acetaminophen","NSAIDs, colchicine, corticosteroids"],
["Long-term prevention","Exercise adherence, weight control","ULT – keep uric acid <6 mg/dL"],
["Disease-modifying Rx","None approved\n(exercise/weight loss = closest)","Urate-lowering therapy (allopurinol)"],
["Critical DON'T","Avoid opioids / tramadol","Never stop ULT during a flare"],
["Surgical option","Total joint arthroplasty","Rarely needed (tophus debridement)"],
];
const tbl = rows.map((r,i) => [
{ text:r[0], options:{ bold:true, fontSize:i===0?9:8.5, fontFace:FONT, color:i===0?C.white:C.navy, fill:i===0?C.teal:(i%2===0?C.light:C.white), valign:"middle" }},
{ text:r[1], options:{ fontSize:i===0?9:8.5, fontFace:FONT, color:i===0?C.white:(i===5?"A93226":"333333"), fill:i===0?C.oablue:(i%2===0?"EBF5FF":"F5FAFF"), bold:i===0||i===5, valign:"middle" }},
{ text:r[2], options:{ fontSize:i===0?9:8.5, fontFace:FONT, color:i===0?C.white:(i===5?C.goutrd:"333333"), fill:i===0?C.goutrd:(i%2===0?"FFEEEE":"FFF5F5"), bold:i===0||i===5, valign:"middle" }},
]);
s.addTable(tbl, { x:0.22, y:0.9, w:9.56, colW:[2.8,3.38,3.38], border:{ color:"C8D8E8", pt:0.5 }, rowH:0.59 });
footer(s);
}
// ════════════════════════════════════════════
// SLIDE 12 – KEY TAKEAWAYS
// ════════════════════════════════════════════
{
const s = pres.addSlide();
darkBg(s);
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.1, h:5.625, fill:{ color:C.amber }, line:{ color:C.amber } });
s.addText("Key Takeaways", { x:0.3, y:0.2, w:9.4, h:0.52, fontSize:24, bold:true, color:C.white, fontFace:FONT });
hLine(s, 0.8, C.teal);
const takes = [
{ icon:"⚖️", color:C.oablue, title:"OA: Lifestyle Is the Cornerstone", body:"Weight loss ≥20% + tailored exercise is the strongest evidence-based intervention. No approved disease-modifying drug exists." },
{ icon:"💊", color:"2E86AB", title:"OA Pharmacology: Stepwise & Topical-First", body:"Topical NSAIDs → oral acetaminophen → oral NSAIDs. Avoid opioids. IA corticosteroids for short-term only." },
{ icon:"🔴", color:C.goutrd, title:"Gout: Treat Fast, Prevent Long-Term", body:"Abort acute flares quickly (NSAIDs/colchicine within 36 hrs). Initiate ULT when indicated; maintain urate <6 mg/dL lifelong." },
{ icon:"🥗", color:C.teal, title:"Gout Lifestyle: Diet + Hydration + Comorbidities", body:"Avoid purines, beer, fructose. Low-fat dairy + 2–3 L fluids/day. Treat HTN, CKD, metabolic syndrome aggressively." },
{ icon:"⚠️", color:C.amber, title:"Two Rules to Never Forget", body:"OA → Never prescribe opioids/tramadol. Gout → Never stop ULT during an active flare – it worsens the attack." },
];
takes.forEach((t,i) => {
const y = 0.95 + i * 0.9;
card(s, 0.28, y, 9.44, 0.8, "0A1E2E", 0.08);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.38, y:y+0.15, w:0.5, h:0.5, fill:{ color:t.color }, line:{ color:t.color }, rectRadius:0.25 });
s.addText(t.icon, { x:0.38, y:y+0.15, w:0.5, h:0.5, fontSize:14, fontFace:FONT, align:"center", valign:"middle" });
s.addText(t.title, { x:0.98, y:y+0.1, w:8.6, h:0.3, fontSize:9.5, bold:true, color:C.amber, fontFace:FONT });
s.addText(t.body, { x:0.98, y:y+0.42, w:8.6, h:0.3, fontSize:8.5, color:"BBCCDD", fontFace:FONT });
});
}
// ─── WRITE FILE ─────────────────────────────
pres.writeFile({ fileName:"/home/daytona/workspace/oa-gout/OA_Gout_Management.pptx" })
.then(() => console.log("DONE"))
.catch(e => { console.error(e); process.exit(1); });
cd /home/daytona/workspace/oa-gout && node make_ppt.js
ls -lh /home/daytona/workspace/oa-gout/OA_Gout_Management.pptx
OA Gout Management
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide (dark theme) |
| 2 | OA Section divider |
| 3 | OA – Lifestyle & Prevention (4 cards: Weight loss, Exercise, Education, Assistive devices) |
| 4 | OA – Pharmacologic Management (stepwise table with color-coded badges) |
| 5 | OA – Surgical Options + AAOS evidence-grade table |
| 6 | Gout Section divider |
| 7 | Gout – Pathophysiology & Risk Factors (2-column layout) |
| 8 | Gout – Acute Flare Treatment (5-drug table with 1st line / alternate / refractory tiers) |
| 9 | Gout – Urate-Lowering Therapy (indications, targets, drug table) |
| 10 | Gout – Lifestyle: Avoid vs. Encourage (red/green columns) |
| 11 | OA vs. Gout Side-by-Side Comparison table |
| 12 | Key Takeaways (dark theme, 5 summary cards) |
Make presentation on it
OA Gout Management
Presentation · PPTX