What are the indications of NASIDS and preferred Nasid drug for each Take reference from KDT
| # | Indication | Notes |
|---|---|---|
| 1 | Mild-to-moderate pain (somatic) | Headache, musculoskeletal, dental, postoperative |
| 2 | Fever (antipyresis) | Second-line after acetaminophen in some settings |
| 3 | Inflammatory arthritis | Rheumatoid arthritis (RA), ankylosing spondylitis (AS) |
| 4 | Osteoarthritis (OA) | Symptom relief (not disease-modifying) |
| 5 | Dysmenorrhea (primary) | Inhibit uterine prostaglandins |
| 6 | Acute gout | Short-course for acute flares |
| 7 | Bursitis / Tendinitis | Periarticular inflammation |
| 8 | Migraine | Acute treatment (especially naproxen) |
| 9 | Patent ductus arteriosus (PDA) closure | Indomethacin / Ibuprofen IV in neonates |
| 10 | Pericarditis | Aspirin is first-choice; ibuprofen used |
| 11 | Bartter syndrome | Indomethacin |
| 12 | Anti-platelet / Cardioprotection | Low-dose aspirin only |
| 13 | Rheumatic fever | Aspirin (high-dose) |
| 14 | Kawasaki disease | High-dose aspirin (acute phase) |
| 15 | Colorectal cancer prophylaxis (off-label) | Aspirin, sulindac (FAP) |
| 16 | Ophthalmic (anti-inflammatory / itching) | Ketorolac ophthalmic |
| 17 | Juvenile idiopathic arthritis (JIA) | Naproxen, meloxicam, celecoxib |
| Indication | Preferred NSAID | Reason / Notes |
|---|---|---|
| Rheumatic fever | Aspirin (high-dose, 75-100 mg/kg/day) | Only NSAID approved; also anti-inflammatory |
| Kawasaki disease | Aspirin (30-100 mg/kg/day acute phase, then low-dose) | Unique indication; reduces coronary aneurysm risk |
| Cardioprotection / Antiplatelet | Aspirin (75-150 mg/day) | Irreversible COX-1 inhibition of platelets; TXA2 suppression |
| Pericarditis | Aspirin (first-line); ibuprofen (second-line) | Aspirin preferred in post-MI pericarditis |
| Primary dysmenorrhea | Mefenamic acid (KDT preferred) / Naproxen / Ibuprofen | Mefenamic acid inhibits both PG synthesis and action; also reduces menstrual blood loss |
| Acute gout | Indomethacin (traditional preferred) / Naproxen | Indomethacin most potent; naproxen equally effective and better tolerated |
| Patent ductus arteriosus (PDA) | Indomethacin (IV) or Ibuprofen (IV) | Indomethacin is classical first-choice; ibuprofen has less renal side effects |
| Bartter syndrome | Indomethacin | Reduces prostaglandin-mediated renin-angiotensin overdrive |
| Ankylosing spondylitis (AS) | Indomethacin / Diclofenac / Celecoxib | Indomethacin historically most effective in AS |
| Osteoarthritis (OA) | Diclofenac (topical or oral) / Naproxen / Meloxicam / Celecoxib | Topical diclofenac for localized OA (knee); celecoxib if GI risk |
| Rheumatoid arthritis (RA) | Naproxen / Diclofenac / Celecoxib | Used for symptomatic relief alongside DMARDs |
| Postoperative pain | Ketorolac (IM/IV) | Only NSAID available parenterally for acute pain; opioid-sparing |
| Migraine (acute) | Naproxen sodium (also combined with sumatriptan) / Aspirin | Naproxen marketed with sumatriptan for migraine combo |
| Headache / Mild pain (OTC) | Ibuprofen / Paracetamol + Ibuprofen | Best OTC safety/efficacy ratio |
| Fever in children | Ibuprofen (or Paracetamol) | Ibuprofen preferred over aspirin in children (Reye syndrome risk with aspirin) |
| GI-sensitive patients (arthritis) | Celecoxib (COX-2 selective) | Lower GI ulcer risk vs. non-selective NSAIDs |
| JIA (Juvenile Idiopathic Arthritis) | Naproxen / Meloxicam / Celecoxib | Well-studied in pediatric populations |
| Colorectal cancer / FAP prophylaxis | Celecoxib (FDA-approved for FAP adjunct) / Sulindac | Sulindac causes polyp regression in FAP (familial adenomatous polyposis) |
| Bone pain / Metastatic pain | Ketorolac (acute) / Naproxen | Prostaglandins key in bone metastasis pain |
| Ocular inflammation / Itching | Ketorolac (ophthalmic 0.5%) | Post-cataract, seasonal allergic conjunctivitis |
| NSAID | Chemical Class | Preferred/Unique Indication |
|---|---|---|
| Aspirin | Salicylate | Antiplatelet, Rheumatic fever, Kawasaki disease, Pericarditis |
| Indomethacin | Indole acetic acid | Acute gout, PDA closure, Bartter syndrome, AS |
| Diclofenac | Phenylacetic acid | OA (especially topical), RA, post-op pain |
| Mefenamic acid | Fenamate | Dysmenorrhea (inhibits PG synthesis + action), menorrhagia |
| Meclofenamate | Fenamate | Dysmenorrhea, menorrhagia |
| Ketorolac | Pyrrolizine carboxylic acid | Acute moderate-severe pain (IV/IM), post-op pain, ophthalmic |
| Ibuprofen | Propionic acid | Fever in children, OA, RA, mild-moderate pain |
| Naproxen | Propionic acid | RA, OA, JIA, gout, migraine, AS; best CV profile among NSAIDs |
| Celecoxib | Diaryl heterocycle (COX-2) | GI-high-risk patients, RA, OA, FAP, AS |
| Sulindac | Indene acetic acid (prodrug) | FAP (polyp regression), OA, RA; less renal effect |
| Piroxicam | Enolic acid (oxicam) | OA, RA (once-daily dosing, long t½ ~57 h) |
| Meloxicam | Oxicam (partial COX-2 selectivity) | OA, RA, JIA (once-daily; safer GI than indomethacin) |
| Etodolac | Pyranocarboxylic acid | OA, RA (some COX-2 selectivity) |
Send in PDF form.
ls /home/daytona/workspace/ 2>/dev/null && echo "---" && ls /home/daytona/worksp…
mkdir -p /home/daytona/workspace/nsaids-pdf
~/nsaids-pdf/generate_nsaids_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
OUTPUT = "/home/daytona/workspace/nsaids-pdf/NSAIDs_Indications_KDT.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
rightMargin=1.8*cm, leftMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm
)
styles = getSampleStyleSheet()
# Custom styles
title_style = ParagraphStyle(
"CustomTitle",
parent=styles["Title"],
fontSize=18,
textColor=colors.HexColor("#1a3a5c"),
spaceAfter=4,
alignment=TA_CENTER,
fontName="Helvetica-Bold"
)
subtitle_style = ParagraphStyle(
"Subtitle",
parent=styles["Normal"],
fontSize=10,
textColor=colors.HexColor("#4a6fa5"),
spaceAfter=2,
alignment=TA_CENTER,
fontName="Helvetica-Oblique"
)
section_heading = ParagraphStyle(
"SectionHeading",
parent=styles["Heading1"],
fontSize=12,
textColor=colors.HexColor("#1a3a5c"),
spaceBefore=12,
spaceAfter=4,
fontName="Helvetica-Bold",
borderPad=3,
)
body = ParagraphStyle(
"Body",
parent=styles["Normal"],
fontSize=8.5,
leading=13,
textColor=colors.HexColor("#1a1a1a"),
spaceAfter=4,
alignment=TA_JUSTIFY
)
note_style = ParagraphStyle(
"Note",
parent=styles["Normal"],
fontSize=8,
leading=11,
textColor=colors.HexColor("#555555"),
spaceAfter=3,
leftIndent=10,
fontName="Helvetica-Oblique"
)
bullet_style = ParagraphStyle(
"Bullet",
parent=styles["Normal"],
fontSize=8.5,
leading=13,
leftIndent=14,
bulletIndent=4,
spaceAfter=2,
textColor=colors.HexColor("#1a1a1a"),
)
# Header colour
HEADER_BG = colors.HexColor("#1a3a5c")
HEADER_FG = colors.white
ROW_ALT = colors.HexColor("#eaf0fb")
ROW_NORM = colors.white
BORDER = colors.HexColor("#b0c4de")
ACCENT = colors.HexColor("#e8a000")
def header_para(text):
return Paragraph(f"<b><font color='white'>{text}</font></b>",
ParagraphStyle("th", parent=styles["Normal"],
fontSize=8, fontName="Helvetica-Bold",
textColor=colors.white, alignment=TA_CENTER))
def cell(text, bold=False, center=False, color="#1a1a1a"):
align = TA_CENTER if center else TA_LEFT
fname = "Helvetica-Bold" if bold else "Helvetica"
return Paragraph(f'<font color="{color}">{text}</font>',
ParagraphStyle("td", parent=styles["Normal"],
fontSize=7.8, fontName=fname,
leading=11, alignment=align,
textColor=colors.HexColor(color)))
def make_table(headers, rows, col_widths):
data = [[header_para(h) for h in headers]]
for i, row in enumerate(rows):
data.append([cell(c) for c in row])
ts = TableStyle([
("BACKGROUND", (0,0), (-1,0), HEADER_BG),
("TEXTCOLOR", (0,0), (-1,0), HEADER_FG),
("ALIGN", (0,0), (-1,-1), "LEFT"),
("VALIGN", (0,0), (-1,-1), "TOP"),
("ROWBACKGROUNDS", (0,1), (-1,-1), [ROW_NORM, ROW_ALT]),
("GRID", (0,0), (-1,-1), 0.4, BORDER),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
])
t = Table(data, colWidths=col_widths, repeatRows=1)
t.setStyle(ts)
return t
# ── BUILD CONTENT ─────────────────────────────────────────────────────────────
story = []
# Title block
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("NSAIDs — Indications & Preferred Drug for Each", title_style))
story.append(Paragraph("Reference: KD Tripathi | Katzung | Goodman & Gilman | Lippincott Pharmacology", subtitle_style))
story.append(HRFlowable(width="100%", thickness=2, color=ACCENT, spaceAfter=10))
# ── Section 1: Mechanism ──────────────────────────────────────────────────────
story.append(Paragraph("1. Mechanism of Action (Brief)", section_heading))
story.append(Paragraph(
"NSAIDs inhibit <b>cyclooxygenase (COX-1 and/or COX-2)</b> enzymes, reducing the "
"synthesis of prostaglandins, thromboxanes, and prostacyclin. This produces three shared "
"pharmacological effects: <b>Analgesia · Antipyresis · Anti-inflammation</b>.",
body
))
# ── Section 2: General Indications ───────────────────────────────────────────
story.append(Paragraph("2. General Indications of NSAIDs", section_heading))
gen_headers = ["#", "Indication", "Examples / Notes"]
gen_rows = [
["1", "Mild-to-moderate pain (somatic)", "Headache, dental, musculoskeletal, postoperative pain"],
["2", "Fever (antipyresis)", "Second-line to paracetamol in some settings"],
["3", "Inflammatory arthritis", "Rheumatoid arthritis (RA), ankylosing spondylitis (AS)"],
["4", "Osteoarthritis (OA)", "Symptom relief; not disease-modifying"],
["5", "Primary dysmenorrhea", "Inhibit uterine prostaglandin synthesis"],
["6", "Acute gout", "Short-course NSAID therapy for acute flares"],
["7", "Bursitis / Tendinitis", "Periarticular inflammation"],
["8", "Migraine (acute)", "Especially naproxen (also combined with sumatriptan)"],
["9", "Patent ductus arteriosus (PDA)", "Indomethacin / Ibuprofen IV in neonates"],
["10", "Pericarditis", "Aspirin first-choice; ibuprofen second-line"],
["11", "Bartter syndrome", "Indomethacin reduces prostaglandin-driven renin overactivation"],
["12", "Antiplatelet / Cardioprotection", "Low-dose aspirin (75-150 mg/day) only"],
["13", "Rheumatic fever", "High-dose aspirin (75-100 mg/kg/day)"],
["14", "Kawasaki disease", "High-dose aspirin acute phase → low-dose antiplatelet"],
["15", "Colorectal cancer / FAP prophylaxis", "Aspirin (chemoprevention); sulindac / celecoxib (FAP)"],
["16", "Ophthalmic (post-op / seasonal allergy)", "Ketorolac ophthalmic 0.5% drops"],
["17", "Juvenile idiopathic arthritis (JIA)", "Naproxen, meloxicam, celecoxib"],
]
story.append(make_table(gen_headers, gen_rows, [0.6*cm, 5.5*cm, 8.5*cm]))
# ── Section 3: Preferred NSAID per Indication ─────────────────────────────────
story.append(Paragraph("3. Preferred NSAID for Each Indication", section_heading))
pref_headers = ["Indication", "Preferred NSAID", "Reason / Key Points"]
pref_rows = [
["Rheumatic fever",
"Aspirin (high-dose 75-100 mg/kg/day)",
"Only NSAID approved; anti-inflammatory + antipyretic"],
["Kawasaki disease",
"Aspirin (30-100 mg/kg/day acute, then low-dose)",
"Reduces coronary artery aneurysm risk"],
["Antiplatelet / Cardioprotection",
"Aspirin (75-150 mg/day)",
"Irreversible COX-1 inhibition → TXA2 suppression; unique to aspirin"],
["Pericarditis",
"Aspirin (1st line); Ibuprofen (2nd line)",
"Aspirin preferred esp. post-MI; ibuprofen for non-cardiac causes"],
["Primary dysmenorrhea",
"Mefenamic acid (KDT preferred) / Naproxen",
"Mefenamic acid blocks both PG synthesis AND PG receptors; also reduces menorrhagia"],
["Acute gout",
"Indomethacin (traditional) / Naproxen",
"Indomethacin most potent; naproxen equally effective, better tolerated"],
["Patent ductus arteriosus (PDA)",
"Indomethacin IV (classical) / Ibuprofen IV",
"Ibuprofen preferred due to fewer renal side effects in neonates"],
["Bartter syndrome",
"Indomethacin",
"Reduces prostaglandin-mediated renin-angiotensin overdrive in renal tubule"],
["Ankylosing spondylitis (AS)",
"Indomethacin / Diclofenac / Celecoxib",
"Indomethacin historically most effective; diclofenac / celecoxib for better tolerability"],
["Osteoarthritis (OA)",
"Diclofenac topical or oral / Naproxen / Meloxicam",
"Topical diclofenac for local OA (knee); celecoxib if high GI risk"],
["Rheumatoid arthritis (RA)",
"Naproxen / Diclofenac / Celecoxib",
"Symptom relief only; DMARDs used concurrently for disease modification"],
["Postoperative / Acute severe pain",
"Ketorolac (IM / IV)",
"Only parenteral NSAID for acute pain; opioid-sparing; max 5 days use"],
["Migraine (acute)",
"Naproxen sodium / Aspirin",
"Naproxen + sumatriptan combo available; aspirin effective in mild migraine"],
["Fever in children",
"Ibuprofen",
"Aspirin avoided in children (Reye syndrome risk); ibuprofen is drug of choice"],
["GI-risk patients needing NSAID",
"Celecoxib (COX-2 selective)",
"Significantly lower risk of GI ulcers/bleeding vs non-selective NSAIDs"],
["Juvenile idiopathic arthritis (JIA)",
"Naproxen / Meloxicam / Celecoxib",
"Well-studied in paediatric populations; naproxen most widely used"],
["Familial adenomatous polyposis (FAP)",
"Celecoxib (FDA-approved adjunct) / Sulindac",
"Sulindac causes polyp regression; celecoxib approved as adjunct to surgery"],
["Ophthalmic inflammation / Allergy",
"Ketorolac 0.5% ophthalmic",
"Post-cataract inflammation; seasonal allergic conjunctivitis"],
]
story.append(make_table(pref_headers, pref_rows, [4.5*cm, 4.5*cm, 5.6*cm]))
# ── Section 4: KDT Quick Reference Table ─────────────────────────────────────
story.append(Paragraph("4. KDT-Style Quick Reference — Individual NSAIDs", section_heading))
qr_headers = ["NSAID", "Class", "Unique / Preferred Indications"]
qr_rows = [
["Aspirin", "Salicylate", "Antiplatelet, Rheumatic fever, Kawasaki disease, Pericarditis, low-dose TIA prophylaxis"],
["Indomethacin", "Indole acetic acid", "Acute gout, PDA closure (neonates), Bartter syndrome, AS"],
["Diclofenac", "Phenylacetic acid", "OA (topical/oral), RA, post-op pain, biliary/renal colic"],
["Mefenamic acid", "Fenamate", "Dysmenorrhea (preferred in KDT), menorrhagia — blocks PG synthesis AND receptors"],
["Meclofenamate", "Fenamate", "Dysmenorrhea, menorrhagia; rarely used now"],
["Ketorolac", "Pyrrolizine carboxylic acid", "Acute moderate-severe pain (IM/IV); post-op pain; ophthalmic drops — NOT for chronic use"],
["Ibuprofen", "Propionic acid", "Fever in children, OA, RA, mild-moderate pain; IV form for PDA"],
["Naproxen", "Propionic acid", "RA, OA, JIA, gout, migraine, AS; best cardiovascular safety profile among NSAIDs"],
["Celecoxib", "Diaryl heterocycle (COX-2)", "GI-high-risk patients, RA, OA, AS, FAP adjunct; avoid in sulfonamide allergy"],
["Sulindac", "Indene acetic acid (prodrug)", "FAP (polyp regression), OA, RA; spares renal prostaglandins more than others"],
["Piroxicam", "Oxicam (enolic acid)", "OA, RA; long t½ ~57 h → once-daily dosing; higher GI risk at >20 mg/day"],
["Meloxicam", "Oxicam (partial COX-2)", "OA, RA, JIA; once-daily; lower GI risk than indomethacin; t½ 15-20 h"],
["Etodolac", "Pyranocarboxylic acid", "OA, RA; some COX-2 selectivity; lower GI side effects"],
["Nabumetone", "Non-acidic prodrug", "OA, RA; converted to active acid in liver; lower GI ulcerogenicity"],
]
story.append(make_table(qr_headers, qr_rows, [3.2*cm, 3.8*cm, 7.6*cm]))
# ── Section 5: Special Points ─────────────────────────────────────────────────
story.append(Paragraph("5. Key Points to Remember (KDT Emphasis)", section_heading))
points = [
"<b>Aspirin is the ONLY NSAID used as an antiplatelet agent</b> — irreversible COX-1 inhibition prevents TXA2 synthesis in platelets. All other NSAIDs are reversible inhibitors.",
"<b>Indomethacin</b> is the most potent non-selective NSAID but has the worst CNS/GI side-effect profile (headache in ~25-50% patients, GI ulcers).",
"<b>Mefenamic acid</b> is KDT's preferred drug for primary dysmenorrhea because it inhibits both prostaglandin synthesis AND prostaglandin receptor action.",
"<b>Ketorolac</b> is the most potent NSAID analgesic available parenterally. Use is restricted to max 5 days (IM/IV) due to GI/renal toxicity.",
"<b>Celecoxib (COX-2 selective)</b> has significantly lower GI ulcer risk but carries increased cardiovascular (MI) risk — use with caution in cardiac patients.",
"<b>Naproxen</b> has the most favourable cardiovascular safety profile among all NSAIDs.",
"<b>Aspirin in children</b> is contraindicated (Reye syndrome) EXCEPT in Kawasaki disease and Rheumatic fever.",
"<b>Sulindac</b> is a prodrug — converted to active sulfide metabolite in liver; relatively spares renal prostaglandins (useful in mild renal impairment).",
"<b>Fenamates (mefenamic acid, meclofenamate)</b> are unique in also blocking PG receptors — not just inhibiting synthesis.",
"<b>COX-2 selective NSAIDs</b> (celecoxib) do NOT affect platelet TXA2 (only in platelets via COX-1), hence no antiplatelet effect.",
]
for p in points:
story.append(Paragraph(f"• {p}", bullet_style))
story.append(Spacer(1, 2))
story.append(Spacer(1, 0.5*cm))
story.append(HRFlowable(width="100%", thickness=1, color=BORDER))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"<i>Sources: KD Tripathi — Essentials of Medical Pharmacology (reference standard) | "
"Katzung Basic & Clinical Pharmacology 16th Ed. | "
"Goodman & Gilman's Pharmacological Basis of Therapeutics | "
"Lippincott Illustrated Reviews Pharmacology</i>",
note_style
))
doc.build(story)
print(f"PDF created: {OUTPUT}")
python /home/daytona/workspace/nsaids-pdf/generate_nsaids_pdf.py
NSAIDs Indications KDT
PDF Document · PDF