Sabhi antibiotics ki naam list and used aur mechanical ki pdf for medical student ke liye

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Running Command

mkdir -p /home/daytona/workspace/antibiotics-pdf && ls /home/daytona/workspace/

Writing File

~/antibiotics-pdf/make_antibiotics_pdf.py

#!/usr/bin/env python3
"""
Antibiotics Complete Guide PDF for Medical Students
Covers: Classification, Mechanism of Action, Uses, Side Effects
"""

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import mm, cm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont

OUTPUT_PATH = "/home/daytona/workspace/antibiotics-pdf/Antibiotics_Complete_Guide.pdf"

# ─── Colour palette ──────────────────────────────────────────────────────────
DARK_BLUE   = colors.HexColor("#1a3a5c")
MED_BLUE    = colors.HexColor("#2E6DA4")
LIGHT_BLUE  = colors.HexColor("#d6e8f7")
TEAL        = colors.HexColor("#17788a")
LIGHT_TEAL  = colors.HexColor("#d0f0f5")
GREEN       = colors.HexColor("#2e7d32")
LIGHT_GREEN = colors.HexColor("#e8f5e9")
ORANGE      = colors.HexColor("#e65100")
LIGHT_ORANGE= colors.HexColor("#fff3e0")
RED         = colors.HexColor("#c62828")
LIGHT_RED   = colors.HexColor("#ffebee")
PURPLE      = colors.HexColor("#6a1b9a")
LIGHT_PURPLE= colors.HexColor("#f3e5f5")
YELLOW_BG   = colors.HexColor("#fffde7")
GREY_ROW    = colors.HexColor("#f5f5f5")
WHITE       = colors.white
BLACK       = colors.black

# ─── Styles ──────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()

title_style = ParagraphStyle("Title", parent=styles["Title"],
    fontSize=26, textColor=WHITE, alignment=TA_CENTER,
    spaceAfter=4, fontName="Helvetica-Bold")

subtitle_style = ParagraphStyle("Subtitle", parent=styles["Normal"],
    fontSize=13, textColor=LIGHT_BLUE, alignment=TA_CENTER,
    spaceAfter=2, fontName="Helvetica")

h1 = ParagraphStyle("H1", fontSize=15, textColor=WHITE,
    fontName="Helvetica-Bold", alignment=TA_LEFT,
    spaceBefore=10, spaceAfter=6, leftIndent=8)

h2 = ParagraphStyle("H2", fontSize=12, textColor=DARK_BLUE,
    fontName="Helvetica-Bold", spaceBefore=8, spaceAfter=4, leftIndent=4)

body = ParagraphStyle("Body", fontSize=9.5, leading=13,
    fontName="Helvetica", spaceBefore=3, spaceAfter=3, leftIndent=4,
    alignment=TA_JUSTIFY)

body_small = ParagraphStyle("BodySm", fontSize=8.5, leading=11,
    fontName="Helvetica", spaceBefore=2, spaceAfter=2)

bold_body = ParagraphStyle("BoldBody", fontSize=9.5, leading=13,
    fontName="Helvetica-Bold", spaceBefore=3, spaceAfter=3)

cell_style = ParagraphStyle("Cell", fontSize=8, leading=10,
    fontName="Helvetica", spaceBefore=1, spaceAfter=1)

cell_bold = ParagraphStyle("CellBold", fontSize=8, leading=10,
    fontName="Helvetica-Bold", spaceBefore=1, spaceAfter=1)

note_style = ParagraphStyle("Note", fontSize=8.5, leading=11,
    fontName="Helvetica-Oblique", textColor=colors.HexColor("#555555"),
    spaceBefore=4, spaceAfter=4, leftIndent=8)

# ─── Helper: coloured section header ─────────────────────────────────────────
def section_header(text, bg_color=MED_BLUE):
    tbl = Table([[Paragraph(text, h1)]], colWidths=[175*mm])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0, 0), (-1, -1), bg_color),
        ("BOTTOMPADDING", (0, 0), (-1, -1), 6),
        ("TOPPADDING", (0, 0), (-1, -1), 6),
        ("LEFTPADDING", (0, 0), (-1, -1), 10),
        ("ROUNDEDCORNERS", [4]),
    ]))
    return tbl

# ─── Helper: standard drug table ─────────────────────────────────────────────
def drug_table(header_row, data_rows, col_widths, header_color=MED_BLUE):
    p = lambda txt, st=cell_style: Paragraph(str(txt), st)
    pb = lambda txt: Paragraph(str(txt), cell_bold)

    hdr = [pb(c) for c in header_row]
    rows = [[p(c) for c in row] for row in data_rows]
    tbl = Table([hdr] + rows, colWidths=col_widths, repeatRows=1)

    style = TableStyle([
        ("BACKGROUND", (0, 0), (-1, 0), header_color),
        ("TEXTCOLOR",  (0, 0), (-1, 0), WHITE),
        ("FONTNAME",   (0, 0), (-1, 0), "Helvetica-Bold"),
        ("FONTSIZE",   (0, 0), (-1, 0), 9),
        ("BOTTOMPADDING", (0, 0), (-1, 0), 7),
        ("TOPPADDING",    (0, 0), (-1, 0), 7),
        ("ROWBACKGROUNDS", (0, 1), (-1, -1), [WHITE, GREY_ROW]),
        ("FONTSIZE",   (0, 1), (-1, -1), 8),
        ("TOPPADDING",    (0, 1), (-1, -1), 5),
        ("BOTTOMPADDING", (0, 1), (-1, -1), 5),
        ("LEFTPADDING",   (0, 0), (-1, -1), 5),
        ("RIGHTPADDING",  (0, 0), (-1, -1), 5),
        ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#cccccc")),
        ("VALIGN", (0, 0), (-1, -1), "TOP"),
    ])
    tbl.setStyle(style)
    return tbl

# ─── Cover page elements ──────────────────────────────────────────────────────
def cover_page():
    elems = []
    # Title banner
    title_tbl = Table([
        [Paragraph("ANTIBIOTICS", title_style)],
        [Paragraph("COMPLETE GUIDE", title_style)],
        [Paragraph("Medical Students ke liye Sampoorna Margdarshika", subtitle_style)],
    ], colWidths=[175*mm])
    title_tbl.setStyle(TableStyle([
        ("BACKGROUND", (0, 0), (-1, -1), DARK_BLUE),
        ("TOPPADDING",    (0, 0), (-1, -1), 12),
        ("BOTTOMPADDING", (0, 0), (-1, -1), 12),
        ("ROUNDEDCORNERS", [8]),
    ]))
    elems.append(Spacer(1, 15*mm))
    elems.append(title_tbl)
    elems.append(Spacer(1, 8*mm))

    # Info box
    info_data = [
        [Paragraph("<b>Ismein Shamil Hai (Contents):</b>", bold_body)],
        [Paragraph("• Sabhi major antibiotic classes ki classification", body)],
        [Paragraph("• Har antibiotic ka Mechanism of Action (MOA)", body)],
        [Paragraph("• Clinical uses (Kab use karein)", body)],
        [Paragraph("• Important side effects aur contraindications", body)],
        [Paragraph("• Bacterial coverage (Gram+, Gram-, Anaerobes, Atypicals)", body)],
        [Paragraph("• Resistance mechanisms", body)],
        [Paragraph("• Quick-reference mnemonics", body)],
    ]
    info_tbl = Table(info_data, colWidths=[175*mm])
    info_tbl.setStyle(TableStyle([
        ("BACKGROUND", (0, 0), (-1, -1), LIGHT_BLUE),
        ("LEFTPADDING", (0, 0), (-1, -1), 14),
        ("TOPPADDING",  (0, 0), (-1, -1), 4),
        ("BOTTOMPADDING", (0, 0), (-1, -1), 4),
        ("BOX", (0, 0), (-1, -1), 1.5, MED_BLUE),
        ("ROUNDEDCORNERS", [6]),
    ]))
    elems.append(info_tbl)
    elems.append(Spacer(1, 6*mm))

    # Source credit
    src = Table([[Paragraph(
        "<i>Sources: Lee's Essential Otolaryngology | Jawetz Medical Microbiology | "
        "Katzung Pharmacology | Goodman &amp; Gilman's Pharmacology</i>", note_style)]],
        colWidths=[175*mm])
    src.setStyle(TableStyle([("BACKGROUND",(0,0),(-1,-1), YELLOW_BG),
                              ("BOX",(0,0),(-1,-1),0.8, colors.HexColor("#e0c800")),
                              ("LEFTPADDING",(0,0),(-1,-1),10),
                              ("TOPPADDING",(0,0),(-1,-1),6),
                              ("BOTTOMPADDING",(0,0),(-1,-1),6)]))
    elems.append(src)
    elems.append(PageBreak())
    return elems

# ─── Section 1: Overview / Classification ────────────────────────────────────
def section_overview():
    elems = []
    elems.append(section_header("1. ANTIBIOTICS KI CLASSIFICATION (Overview)", DARK_BLUE))
    elems.append(Spacer(1, 4*mm))

    elems.append(Paragraph(
        "Antibiotics ko unke <b>target site</b> (jis jagah par kaam karte hain) ke hisab se classify kiya jaata hai:", body))
    elems.append(Spacer(1, 3*mm))

    overview_data = [
        ["Target", "Class", "Examples"],
        ["Cell Wall Synthesis", "Beta-lactams\n(Penicillins, Cephalosporins,\nCarbapenems, Monobactams)\nGlycopeptides", "Amoxicillin, Ceftriaxone,\nMeropenem, Aztreonam,\nVancomycin"],
        ["Cell Membrane", "Polymyxins\nLipopeptides", "Colistin, Polymyxin B\nDaptomycin"],
        ["Protein Synthesis\n(30S Ribosome)", "Aminoglycosides\nTetracyclines", "Gentamicin, Amikacin\nDoxycycline, Minocycline"],
        ["Protein Synthesis\n(50S Ribosome)", "Macrolides\nLincosamides\nChloramphenicol\nOxazolidinones", "Azithromycin, Erythromycin\nClindamycin\nChloramphenicol\nLinezolid"],
        ["DNA / RNA Synthesis", "Fluoroquinolones\nNitroimidazoles\nNitrofurans\nRifamycins", "Ciprofloxacin, Levofloxacin\nMetronidazole\nNitrofurantoin\nRifampicin"],
        ["Folic Acid Synthesis", "Sulfonamides\nDiaminopyrimidines", "Sulfamethoxazole\nTrimethoprim (TMP-SMX)"],
    ]
    col_w = [35*mm, 60*mm, 80*mm]
    elems.append(drug_table(overview_data[0], overview_data[1:], col_w, DARK_BLUE))
    elems.append(Spacer(1, 4*mm))

    elems.append(Paragraph(
        "<b>Bactericidal vs Bacteriostatic:</b>", bold_body))
    bc_data = [
        ["Bactericidal (Bacteria ko Maarta Hai)", "Bacteriostatic (Bacteria ki Growth Rokta Hai)"],
        ["Beta-lactams, Aminoglycosides, Fluoroquinolones,\nGlycopeptides, Polymyxins, Metronidazole",
         "Tetracyclines, Macrolides, Clindamycin,\nChloramphenicol, Sulfonamides, TMP"],
    ]
    bc_tbl = Table(bc_data, colWidths=[87.5*mm, 87.5*mm])
    bc_tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (0,0), GREEN),  ("BACKGROUND", (1,0), (1,0), ORANGE),
        ("TEXTCOLOR",  (0,0), (-1,0), WHITE),
        ("FONTNAME",   (0,0), (-1,0), "Helvetica-Bold"),
        ("FONTSIZE",   (0,0), (-1,-1), 8.5),
        ("BACKGROUND", (0,1), (0,1), LIGHT_GREEN),
        ("BACKGROUND", (1,1), (1,1), LIGHT_ORANGE),
        ("GRID", (0,0), (-1,-1), 0.5, colors.HexColor("#aaaaaa")),
        ("VALIGN", (0,0), (-1,-1), "TOP"),
        ("TOPPADDING", (0,0), (-1,-1), 6), ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",(0,0),(-1,-1),6),
    ]))
    elems.append(bc_tbl)
    elems.append(PageBreak())
    return elems

# ─── Section 2: Beta-lactams ──────────────────────────────────────────────────
def section_betalactam():
    elems = []
    elems.append(section_header("2. BETA-LACTAM ANTIBIOTICS", MED_BLUE))
    elems.append(Spacer(1, 3*mm))

    elems.append(Paragraph(
        "<b>Mechanism of Action (MOA):</b> Beta-lactam ring, <b>Penicillin-Binding Proteins (PBPs)</b> se bind karta hai "
        "aur <b>transpeptidase enzyme</b> ko inhibit karta hai. Isse cell wall ka peptidoglycan cross-linking nahi ho paata "
        "aur bacteria ka cell wall weak hokar lysis ho jaata hai. Ye <b>Bactericidal</b> hote hain.", body))
    elems.append(Spacer(1, 3*mm))

    # Penicillins
    elems.append(Paragraph("A. Penicillins", h2))
    pen_data = [
        ["Drug Name", "Spectrum/Coverage", "Clinical Use (Kab Dein)", "Side Effects"],
        ["Benzyl Penicillin\n(Pen G IV)", "Narrow: GP cocci, Strep,\nNeisseria, Treponema", "Syphilis, Meningococcal\nmeningitis, Rheumatic fever", "Allergy/anaphylaxis,\nDiarrhea"],
        ["Penicillin V\n(Pen V oral)", "Narrow: GP only", "Strep throat, dental infections", "GI upset, allergy"],
        ["Ampicillin", "Extended: GP + some GN\n(H. influenzae, E. coli,\nListeria)", "Meningitis (Listeria),\nUTI, Typhoid", "Rash (especially in EBV),\namoxicillin rash"],
        ["Amoxicillin", "Same as Ampicillin\n(better oral bioavailability)", "Otitis media, Sinusitis,\nStrep throat, H. pylori\n(triple therapy)", "Rash, diarrhea"],
        ["Amoxicillin-\nClavulanate\n(Co-amoxiclav)", "Extended + beta-lactamase\nresistant: MSSA, Moraxella,\nH. influenzae", "URTI, LRTI, skin infections,\nbites (animal/human)", "Diarrhea, hepatotoxicity,\nCholestatic jaundice"],
        ["Ampicillin-\nSulbactam", "Same as above +\nAcinetobacter (Sulbactam)", "HAP, skin infections,\nIntra-abdominal", "GI side effects, allergy"],
        ["Piperacillin-\nTazobactam\n(Pip-Tazo)", "Broadest penicillin:\nPseudomonas, GN, anaerobes,\nsome MSSA", "Severe HAP, febrile\nneutropenia, sepsis", "Hypokalemia, electrolyte\nimbalance, hepatitis"],
        ["Dicloxacillin /\nFlcloxacillin", "Narrow: MSSA only\n(Penicillinase-resistant)", "MSSA skin, bone, joint\ninfections", "GI upset (take on empty\nstomach)"],
        ["Methicillin /\nOxacillin", "MSSA only", "MSSA bacteremia,\nendocarditis", "Interstitial nephritis\n(methicillin)"],
    ]
    col_w = [35*mm, 45*mm, 55*mm, 40*mm]
    elems.append(drug_table(pen_data[0], pen_data[1:], col_w, MED_BLUE))
    elems.append(Spacer(1, 4*mm))

    # Cephalosporins
    elems.append(Paragraph("B. Cephalosporins (Generations ke mutabiq)", h2))
    ceph_data = [
        ["Generation", "Drug Names", "Coverage", "Clinical Use"],
        ["1st Generation\n(1G)", "Cefazolin (IV)\nCephalexin (oral)\nCefadroxil (oral)", "MSSA, Strep, oral flora\n(GP dominant)", "Surgical prophylaxis,\nSkin infections, UTI\n(uncomplicated)"],
        ["2nd Generation\n(2G)", "Cefuroxime\nCefoxitin\nCefprozil\nCefaclor", "Extended GP + H. influenzae,\nMoraxella; Cefoxitin:\nanaerobes (B. fragilis)", "Sinusitis, Otitis media,\nPelvic inflammatory\ndisease (cefoxitin)"],
        ["3rd Generation\n(3G)", "Ceftriaxone (IV)\nCefotaxime (IV)\nCefixime (oral)\nCeftazidime*\nCefpodoxime (oral)", "Good GN coverage, CSF\npenetration; Ceftazidime:\nPseudomonas (*)", "Meningitis (ceftriaxone),\nGonorrhea, Community\nPneumonia, Typhoid"],
        ["4th Generation\n(4G)", "Cefepime (IV)", "GP + GN + Pseudomonas\n(broader than 3G)", "Febrile neutropenia,\nHAP, Meningitis"],
        ["5th Generation\n(5G)", "Ceftaroline (IV)\nCeftolozane", "MRSA coverage! +\nGN spectrum", "MRSA skin/soft tissue,\nCAP (Ceftaroline)"],
        ["Anti-MRSA +\nPseudomonas", "Ceftazidime-\nAvibactam\nCeftolozane-\nTazobactam", "MDR GN including\nKPC Klebsiella, ESBL", "Complicated UTI,\nHAP, MDR infections"],
    ]
    col_w = [30*mm, 42*mm, 55*mm, 48*mm]
    elems.append(drug_table(ceph_data[0], ceph_data[1:], col_w, TEAL))
    elems.append(Spacer(1, 3*mm))

    elems.append(Paragraph(
        "<b>Mnemonic - Cephalosporin Generations:</b> "
        "<i>\"1G = GP ka Raja, 2G = Haemophilus bhi aaya, 3G = GN ka Badshah + CSF, "
        "4G = Pseudomonas bhi, 5G = MRSA bhi haara\"</i>", note_style))
    elems.append(Spacer(1, 3*mm))

    # Carbapenems + Monobactams
    elems.append(Paragraph("C. Carbapenems", h2))
    carb_data = [
        ["Drug Name", "Coverage", "Clinical Use", "Side Effects / Notes"],
        ["Imipenem-\nCilastatin", "Broadest: GP, GN,\nPseudomonas, anaerobes\n(NOT MRSA, NOT Stenotrophomonas)", "Severe mixed infections,\nFebrile neutropenia,\nIntra-abdominal sepsis", "Seizures (dose-dependent),\nNausea; Cilastatin = renal\nprotection"],
        ["Meropenem", "Similar to imipenem;\nbetter CNS penetration", "Meningitis, Severe HAP,\nCNS infections", "Less seizures than\nimipenem"],
        ["Ertapenem", "No Pseudomonas,\nNo Acinetobacter coverage!\nGood community GN", "Community-acquired\ninfections, Diabetic foot,\nIntra-abdominal", "Once-daily dosing;\nDo NOT use for Pseudo"],
        ["Doripenem", "Similar to meropenem +\nbetter Pseudomonas", "Complicated UTI, HAP,\nMDR GN infections", "Rarely used alone"],
        ["Meropenem-\nVaborbactam", "KPC-producing\nEnterobacteriaceae (MDR)", "CRE infections", "Novel beta-lactamase\ninhibitor combination"],
    ]
    col_w = [38*mm, 48*mm, 50*mm, 39*mm]
    elems.append(drug_table(carb_data[0], carb_data[1:], col_w, colors.HexColor("#1565c0")))
    elems.append(Spacer(1, 3*mm))

    elems.append(Paragraph("D. Monobactams", h2))
    mono_data = [
        ["Drug", "Coverage", "Use", "Special Feature"],
        ["Aztreonam", "ONLY Gram-negative aerobic\nbacteria (no GP, no anaerobes);\nPseudomonas coverage", "UTI, HAP caused by GN;\nUseful in penicillin-allergic\npatients (minimal cross-reactivity)", "Safe in penicillin allergy;\nNo Gram-positive coverage"],
    ]
    elems.append(drug_table(mono_data[0], mono_data[1:], [38*mm, 50*mm, 55*mm, 32*mm], colors.HexColor("#00838f")))
    elems.append(PageBreak())
    return elems

# ─── Section 3: Glycopeptides ────────────────────────────────────────────────
def section_glycopeptides():
    elems = []
    elems.append(section_header("3. GLYCOPEPTIDES", colors.HexColor("#6a1b9a")))
    elems.append(Spacer(1, 3*mm))
    elems.append(Paragraph(
        "<b>MOA:</b> D-Ala-D-Ala terminus se bind karke <b>cell wall synthesis ko inhibit</b> karte hain. "
        "Beta-lactams se alag target hai, isliye beta-lactam resistance wale bacteria par bhi kaam karte hain. "
        "<b>Bactericidal</b> (GP ke liye).", body))
    elems.append(Spacer(1, 3*mm))

    glyco_data = [
        ["Drug", "Coverage", "Clinical Use", "Side Effects / Monitoring"],
        ["Vancomycin\n(IV / Oral)", "GP only: MRSA, MRSE,\nCoNS, Enterococcus,\nC. difficile (oral only -\nnot absorbed)", "MRSA bacteremia/endocarditis,\nMRSA meningitis, MRSA\npneumonia, C. diff (oral)\nHospital-acquired infections",
         "Red Man Syndrome (infusion\nrelated - rate-dependent),\nNephrotoxicity + Ototoxicity\n(with aminoglycosides),\nMonitor: Trough/AUC levels"],
        ["Teicoplanin\n(IV/IM)", "Similar to vancomycin;\nMRSA, Enterococcus,\nC. difficile", "MRSA, Osteomyelitis,\nendocarditis, OPAT therapy\n(long-acting)", "Less nephrotoxic than\nvancomycin; Weekly dosing\npossible"],
        ["Dalbavancin\n(IV)", "MRSA, Strep, Enterococcus\n(not VRE)", "Skin & soft tissue infections\n(ABSSSI)", "Once-weekly / single-dose;\nlong half-life"],
        ["Oritavancin\n(IV)", "MRSA + VRE (unique!)", "ABSSSI", "Single dose treatment;\nbifunctional MOA (also\ndisrupts membrane)"],
    ]
    col_w = [30*mm, 45*mm, 55*mm, 45*mm]
    elems.append(drug_table(glyco_data[0], glyco_data[1:], col_w, colors.HexColor("#6a1b9a")))
    elems.append(Spacer(1, 4*mm))

    elems.append(Paragraph(
        "<b>Vancomycin Red Man Syndrome:</b> Yeh allergy nahi hai! Yeh mast cell degranulation se hota hai "
        "rapid infusion ke wajah se. Treatment: Infusion slow karo + antihistamines dedo.", note_style))
    elems.append(Spacer(1, 3*mm))

    # Lipopeptides
    elems.append(section_header("4. LIPOPEPTIDES", colors.HexColor("#558b2f")))
    elems.append(Spacer(1, 3*mm))
    elems.append(Paragraph(
        "<b>MOA:</b> Bacterial cell membrane ko directly disrupt karte hain - calcium-dependent insertion from "
        "<b>lipid tail</b>. Membrane depolarization se ion leakage aur cell death. <b>Bactericidal</b>.", body))
    elems.append(Spacer(1, 3*mm))
    lip_data = [
        ["Drug", "Coverage", "Clinical Use", "Side Effects / Notes"],
        ["Daptomycin\n(IV)", "GP only: MRSA, VRE,\nEnterococcus, Strep\n(NOT for pneumonia!)", "MRSA bacteremia, Endocarditis,\nVRE infections, Skin infections\n(ABSSSI)", "Myopathy / CK elevation\n(monitor weekly CPK);\n<b>INACTIVATED by surfactant</b>\n- DO NOT use for pneumonia!\nMonitor LFTs"],
    ]
    elems.append(drug_table(lip_data[0], lip_data[1:], [30*mm, 42*mm, 55*mm, 48*mm], colors.HexColor("#558b2f")))
    elems.append(PageBreak())
    return elems

# ─── Section 5: Aminoglycosides ──────────────────────────────────────────────
def section_aminoglycosides():
    elems = []
    elems.append(section_header("5. AMINOGLYCOSIDES", colors.HexColor("#e65100")))
    elems.append(Spacer(1, 3*mm))
    elems.append(Paragraph(
        "<b>MOA:</b> <b>30S ribosomal subunit</b> se irreversibly bind karte hain. mRNA-ribosome complex me "
        "misreading hoti hai, galat amino acids insert hote hain aur faulty proteins banti hain jo cell membrane "
        "damage karti hain. <b>Bactericidal + Concentration-dependent</b> killing. "
        "Active transport se bacteria ke andar jaate hain (anaerobes me kaam nahi karte - no oxygen-dependent transport).", body))
    elems.append(Spacer(1, 3*mm))

    ag_data = [
        ["Drug Name", "Coverage", "Clinical Use", "Toxicity / Monitoring"],
        ["Gentamicin\n(IV/IM)", "Aerobic GN: E. coli,\nKlebsiella, Pseudomonas,\nProteus, Serratia;\nSynergy: Enterococcus + GP", "Severe GN sepsis, UTI,\nPneumonia, Endocarditis\n(synergy with penicillin),\nPelvic inflammatory disease", "Nephrotoxicity (proximal\ntubule), Ototoxicity\n(irreversible - vestibular\n> cochlear);\nMonitor: Trough levels,\nCr, U/E"],
        ["Amikacin\n(IV/IM)", "Broadest aminoglycoside:\nMDR GN including MDR\nPseudomonas, Acinetobacter,\nNTM (non-tuberculous)", "MDR GN infections,\nTB (2nd line), NTM,\nFebrile neutropenia", "Same as gentamicin;\nResistant to modifying\nenzymes (most stable)"],
        ["Tobramycin\n(IV/Inhaled)", "Similar to gentamicin;\nbetter Pseudomonas\nactivity", "CF lung infections\n(inhaled), Pseudomonas\npneumonia, eye drops", "Inhaled: less systemic\ntoxicity; Eye drops:\nconjunctivitis"],
        ["Streptomycin\n(IM)", "Mycobacteria (TB),\nBrucella, Plague,\nTularemia, Enterococcus\n(synergy)", "TB (1st line historically),\nPlague, Brucellosis,\nEnterococcal endocarditis", "Most ototoxic (cochlear\ndamage - hearing loss);\nHistorical TB use"],
        ["Neomycin\n(oral/topical)", "GN bowel flora", "Hepatic encephalopathy\n(reduce NH3), bowel prep\nbefore surgery, topical\nwound care", "Too toxic for systemic\nuse; Minimal absorption\norally; Topical: contact\ndermatitis"],
        ["Spectinomycin\n(IM)", "Gonorrhea (N. gonorrhoeae)", "Gonorrhea in penicillin-\nallergic patients", "Alternative - rarely\nused now"],
    ]
    col_w = [32*mm, 48*mm, 52*mm, 43*mm]
    elems.append(drug_table(ag_data[0], ag_data[1:], col_w, colors.HexColor("#e65100")))
    elems.append(Spacer(1, 3*mm))

    elems.append(Paragraph(
        "<b>Mnemonic - Aminoglycoside Toxicity: \"ANTE\"</b> - "
        "<b>A</b>nalactin nahi, <b>N</b>ephrotoxic, <b>T</b>eratogenic, <b>E</b>ar (Ototoxic). "
        "Remember: <b>Neomycin = Never give systemic</b>", note_style))
    elems.append(PageBreak())
    return elems

# ─── Section 6: Tetracyclines ────────────────────────────────────────────────
def section_tetracyclines():
    elems = []
    elems.append(section_header("6. TETRACYCLINES", colors.HexColor("#00695c")))
    elems.append(Spacer(1, 3*mm))
    elems.append(Paragraph(
        "<b>MOA:</b> <b>30S ribosomal subunit</b> se reversibly bind karte hain (A site block karte hain) "
        "aur aminoacyl-tRNA ka attachment rokta hai. Result: protein synthesis rukti hai. "
        "<b>Bacteriostatic</b>. Broad-spectrum coverage hai including atypicals, intracellular organisms.", body))
    elems.append(Spacer(1, 3*mm))

    tet_data = [
        ["Drug", "Coverage", "Clinical Use", "Side Effects / Contraindications"],
        ["Doxycycline", "Broad: GP + GN +\nAtypicals (Mycoplasma,\nChlamydia, Rickettsia,\nCoxiella, Brucella,\nBorrelia), malaria", "Community pneumonia\n(CAP - atypicals),\nSTIs (Chlamydia),\nLyme disease, Malaria\nprophylaxis, Anthrax,\nAcne vulgaris, RMSF",
         "Photosensitivity (avoid\nsun!), GI upset (take with\nfood), Esophageal ulcers\n(don't lie down after),\n<b>CI: Pregnancy,\nChildren <8 yrs</b>\n(tooth discoloration,\nbone stunting)"],
        ["Minocycline", "Similar + MRSA\n(skin MRSA), also\nNocardia", "MRSA skin infections,\nAcne (moderate-severe),\nRA (adjunct)", "Vestibular toxicity\n(dizziness, vertigo),\nAutoimmune hepatitis,\nSLE-like syndrome"],
        ["Tetracycline\n(plain)", "Broad: atypicals, H. pylori,\nRickettsia, Chlamydia", "H. pylori eradication,\nAcne, Rosacea,\nChlamydia, Brucella", "Most GI side effects;\nbeing replaced by\ndoxycycline"],
        ["Tigecycline\n(IV)", "Very broad: MRSA, VRE,\nMDR GN (not Pseudomonas!),\nAcinetobacter, anaerobes", "MDR infections,\nIntra-abdominal (cIAI),\nSkin infections (cSSSI),\nCAP", "Nausea/vomiting (most\ncommon); Increased\nmortality in severe HAP;\nAvoid in pregnancy;\nHigher MICs for Pseudo"],
        ["Omadacycline\n(oral/IV)", "MRSA, atypicals,\nCommunity pathogens", "CAP, ABSSSI\n(newer agent)", "Similar to doxycycline;\nonce-daily dosing"],
    ]
    col_w = [30*mm, 48*mm, 52*mm, 45*mm]
    elems.append(drug_table(tet_data[0], tet_data[1:], col_w, colors.HexColor("#00695c")))
    elems.append(Spacer(1, 3*mm))

    elems.append(Paragraph(
        "<b>Tetracycline + Dairy / Antacids:</b> Calcium, Magnesium, Iron se chelation hoti hai - absorption "
        "significantly reduce hoti hai. Always take on empty stomach (except doxycycline - can take with food for GI).", note_style))
    elems.append(PageBreak())
    return elems

# ─── Section 7: Macrolides ───────────────────────────────────────────────────
def section_macrolides():
    elems = []
    elems.append(section_header("7. MACROLIDES & LINCOSAMIDES", colors.HexColor("#ad1457")))
    elems.append(Spacer(1, 3*mm))
    elems.append(Paragraph(
        "<b>Macrolide MOA:</b> <b>50S ribosomal subunit</b> (23S rRNA) se bind karke <b>translocation step</b> "
        "ko block karte hain. Peptide chain ka elongation nahi hota. <b>Bacteriostatic</b> (high conc me bactericidal). "
        "Intracellular organisms ke liye excellent - high tissue concentration achieves hoti hai.", body))
    elems.append(Spacer(1, 3*mm))

    mac_data = [
        ["Drug", "Coverage", "Clinical Use", "Side Effects / Drug Interactions"],
        ["Azithromycin\n(Z-pack)", "Atypicals (Mycoplasma,\nChlamydia, Legionella),\nStrep, H. influenzae,\nMoraxella, NTM, Gonorrhea", "CAP (atypicals),\nChlamydia STI,\nMAC prophylaxis\n(HIV), Otitis media,\nGonorrhea (+ceftriaxone)",
         "GI motility (diarrhea),\nQTc prolongation\n(especially with other\nQT drugs), Hepatotoxicity;\nFew CYP interactions\n(short half-life is advantage)"],
        ["Clarithromycin", "Atypicals, H. pylori,\nMAC, Bartonella,\nStrep, MSSA", "H. pylori (triple/quad\ntherapy), MAC treatment\n(HIV), CAP, Sinusitis", "Most GI SE of macrolides;\nStrong CYP3A4 inhibitor\n(many drug interactions!);\nQTc prolongation;\nMetallic taste; CI:\nPregnancy (teratogen)"],
        ["Erythromycin", "Strep, Atypicals,\nCampylobacter,\nChlamydia (historical)", "Historical CAP,\nGI motility agent\n(motilin agonist),\nBordetella pertussis", "Most GI side effects;\nStrong CYP3A4 inhibitor;\nIV: thrombophlebitis;\nQTc prolongation;\nOtotoxic at high IV doses"],
        ["Fidaxomicin\n(oral)", "C. difficile ONLY\n(narrow spectrum)", "C. difficile infection\n(CDI) - lower recurrence\nthan oral vancomycin", "Minimal systemic\nabsorption; GI upset;\nMore expensive"],
    ]
    col_w = [30*mm, 45*mm, 50*mm, 50*mm]
    elems.append(drug_table(mac_data[0], mac_data[1:], col_w, colors.HexColor("#ad1457")))
    elems.append(Spacer(1, 4*mm))

    # Lincosamides
    elems.append(Paragraph("Lincosamides", h2))
    elems.append(Paragraph(
        "<b>MOA:</b> 50S subunit se bind karta hai - macrolides jaisa lekin alag binding site. "
        "<b>Bacteriostatic</b>. Anaerobic coverage bahut achi hai.", body))
    elems.append(Spacer(1, 2*mm))
    lin_data = [
        ["Drug", "Coverage", "Clinical Use", "Side Effects"],
        ["Clindamycin\n(oral/IV)", "GP (MRSA - esp. CA-MRSA,\nStrep) + Anaerobes above\nthe diaphragm (B. fragilis\nCOVERAGE VARIABLE);\nToxoplasma (combo)", "CA-MRSA skin infections,\nAspiration pneumonia,\nOropharyngeal anaerobes,\nBite wounds, Dental\ninfections, PCP (with\nprimaquine), Toxoplasma",
         "<b>C. difficile colitis</b>\n(most notorious SE - can\ncause PMC!), Diarrhea,\nNMJ blockade (rare),\nPseudo-membranous colitis"],
    ]
    col_w = [30*mm, 48*mm, 55*mm, 42*mm]
    elems.append(drug_table(lin_data[0], lin_data[1:], col_w, colors.HexColor("#880e4f")))
    elems.append(PageBreak())
    return elems

# ─── Section 8: Fluoroquinolones ─────────────────────────────────────────────
def section_fluoroquinolones():
    elems = []
    elems.append(section_header("8. FLUOROQUINOLONES", colors.HexColor("#1565c0")))
    elems.append(Spacer(1, 3*mm))
    elems.append(Paragraph(
        "<b>MOA:</b> Bacterial <b>DNA gyrase (topoisomerase II)</b> aur <b>topoisomerase IV</b> ko inhibit karte "
        "hain. DNA strand breakage hoti hai aur bacteria ka DNA replicate nahi ho paata. "
        "<b>Bactericidal + Concentration-dependent</b> killing.", body))
    elems.append(Spacer(1, 3*mm))

    fq_data = [
        ["Drug", "Coverage (Generation)", "Clinical Use", "Side Effects / CI"],
        ["Ciprofloxacin\n(oral/IV)", "2nd gen: Best GN coverage\n+ Pseudomonas; NO reliable\nGP or anaerobe coverage;\nAtypicals", "Complicated UTI/Pyelonephritis,\nTraveler's diarrhea, Typhoid,\nAnthrax, Pseudomonas UTI,\nProstatitis, Gonorrhea", "QTc prolongation,\nCNS toxicity (seizures,\npsychosis), Tendinopathy/\nTendon rupture (esp.\nAchilles + fluoride steroids),\nPhototoxicity,\nCI: Pregnancy, children\n(<18 yrs in most cases),\nMyasthenia gravis"],
        ["Levofloxacin\n(oral/IV)", "3rd gen: MSSA + Strep +\nGN + Pseudomonas +\nAtypicals (Respiratory FQ)", "CAP, HAP, Complicated\nUTI, Pyelonephritis,\nTB (2nd line), Anthrax,\nSinusitis", "Same class effects;\nLess Pseudomonas than\ncipro; Good for CAP"],
        ["Moxifloxacin\n(oral/IV)", "4th gen: MSSA + Strep +\nGN + Anaerobes + Atypicals;\nNO Pseudomonas coverage!",  "CAP (best for atypicals),\nSinusitis, Intra-abdominal\n(anaerobic coverage),\nSkin infections",
         "Same + Highest QTc risk\nof all FQs; NO renal\nadjustment needed;\nCSF penetration good"],
        ["Norfloxacin\n(oral)", "1st gen: Only urinary\ntract levels adequate;\nGN (E. coli, Klebsiella)", "Uncomplicated UTI,\nGI decontamination\nin cirrhosis", "Obsolete in most\ncountries; poor tissue\npenetration"],
        ["Delafloxacin\n(oral/IV)", "MRSA + GN + Atypicals\n(newer broad spectrum)", "ABSSSI with MRSA,\nCAP", "Similar class effects;\nActive in acidic pH\n(useful in abscesses)"],
        ["Ofloxacin\n(oral/ear drops)", "Similar to ciprofloxacin\nplus Chlamydia", "STIs, Otitis externa,\n(ear drops), Leprosy\n(MDT combination)", "Similar class effects"],
    ]
    col_w = [32*mm, 50*mm, 53*mm, 40*mm]
    elems.append(drug_table(fq_data[0], fq_data[1:], col_w, colors.HexColor("#1565c0")))
    elems.append(Spacer(1, 3*mm))

    elems.append(Paragraph(
        "<b>Fluoroquinolone Black Box Warning (FDA):</b> Tendinitis aur tendon rupture, peripheral neuropathy, "
        "CNS effects, aur aortic aneurysm/dissection ka risk. Elderly aur steroid users me zyada risk.", note_style))
    elems.append(PageBreak())
    return elems

# ─── Section 9: DNA/Anaerobic antibiotics ────────────────────────────────────
def section_dna_others():
    elems = []
    elems.append(section_header("9. DNA / ANAEROBIC ANTIBIOTICS + MISC", colors.HexColor("#37474f")))
    elems.append(Spacer(1, 3*mm))

    misc_data = [
        ["Drug", "Class", "MOA", "Coverage", "Clinical Use", "Side Effects"],
        ["Metronidazole\n(Flagyl)\noral/IV", "Nitroimidazole", "Enters bacteria, reduced to\nreactive nitro radical by\nelectron transport chain,\ndamages DNA & proteins.\nBactericidal.", "Anaerobes (esp. B. fragilis,\nC. difficile, Bacteroides),\nProtozoa (Giardia,\nTrichomonas, Amoeba)", "C. diff infection, BV,\nTrichomonas, Giardia,\nAmoebic dysentery/liver\nabscess, Intra-abdominal\ninfections (+ ceftriaxone)",
         "Metallic taste, Nausea,\nDisulfiram reaction\n(no alcohol!),\nPeripheral neuropathy\n(long-term), Headache;\nCI: 1st trimester\npregnancy"],
        ["Nitrofurantoin\n(Macrobid)\noral only", "Nitrofuran", "Converted to reactive\nintermediates that damage\nbacterial DNA, ribosomes,\ncell membrane.", "GP + GN urinary pathogens:\nE. coli, S. saprophyticus,\nEnterococcus; NOT\nPseudomonas or Proteus", "Uncomplicated cystitis\n(UTI) in women,\nUTI prophylaxis,\nPregnancy UTI (except\nnear term)",
         "Pulmonary fibrosis\n(long-term use),\nHemolytic anemia\n(G6PD deficiency!),\nPeripheral neuropathy;\nCI: GFR <30 (no urine\nconcentration);\nAvoid at term pregnancy"],
        ["Trimethoprim-\nSulfamethoxazole\n(TMP-SMX,\nCo-trimoxazole)", "Sulfonamide +\nDihydrofolate\nreductase\ninhibitor", "SMX: Inhibits dihydropteroate\nsynthase (PABA analogue);\nTMP: Inhibits DHFR; Together:\nSequential blockade of folate\nsynthesis. Bactericidal (synergy).", "Broad GP + GN:\nCA-MRSA, E. coli,\nKlebsiella, Listeria,\nPneumocystis jirovecii\n(PCP), Toxoplasma", "UTI, CA-MRSA skin\ninfections, PCP treatment/\nprophylaxis (HIV),\nToxoplasma prophylaxis,\nPneumocystis pneumonia,\nTraveler's diarrhea,\nNocardia",
         "SJS/TEN (sulfa),\nCytopenias (bone marrow),\nHyperkalemia (TMP blocks\nK secretion), Increases\nwarfarin levels, Renal\n(crystalluria - hydrate!),\nHepato-toxicity;\nCI: G6PD, Pregnancy\n(term)"],
        ["Rifampicin\n(Rifampin)", "Rifamycin", "Binds DNA-dependent\nRNA polymerase beta\nsubunit, inhibits bacterial\ntranscription (mRNA\nsynthesis). Bactericidal.", "Mycobacteria (TB, leprosy),\nMRSA (in combination only),\nNeisseria meningitidis\n(prophylaxis)", "TB (1st line: RIPE),\nLeprosy (MDT),\nMRSA biofilm infections\n(combo), Meningococcal\nchemoprophylaxis,\nH. influenzae prophylaxis",
         "Orange-red discoloration\n(urine, tears, sweat - warn\npatient!), Hepatotoxicity,\nStrong CYP450 inducer\n(many drug interactions -\nOCP, warfarin, HIV drugs),\nFlu-like syndrome\n(intermittent use)"],
        ["Chloramphenicol\n(oral/IV/eye)", "Amphenicol", "50S ribosomal subunit bind;\nblocks peptidyl transferase\nstep. Bacteriostatic (can be\nbactericidal for some).", "Broad: GP + GN + anaerobes\n+ rickettsiae + spirochetes;\nGood CSF penetration", "Typhoid fever, Brain\nabscess, Bacterial\nmeningitis (penicillin\nallergy), Rickettsial\ninfections, Eye infections\n(topical)",
         "Gray Baby Syndrome\n(neonates - UDP\nglucuronyl transferase\ndeficiency), Aplastic\nanemia (idiosyncratic),\nReversible bone marrow\nsuppression (dose-related);\nNow rarely used systemically"],
        ["Linezolid\n(Zyvox)\noral/IV", "Oxazolidinone", "Binds 23S rRNA of 50S\nsubunit at initiation complex\nformation (30S-50S join) -\nblocks protein synthesis\ninitiation. Bacteriostatic.", "GP only: MRSA, VRE,\nMDR Strep, MDR TB\n(XDR-TB)", "MRSA pneumonia,\nMRSA bacteremia\n(alternative), VRE\ninfections, XDR-TB\n(combination)",
         "Myelosuppression\n(thrombocytopenia esp.\n>2 weeks use), Serotonin\nsyndrome (with SSRIs,\nMAOIs!), Peripheral/\noptic neuropathy\n(long-term), Lactic\nacidosis; Monitor CBC\nweekly; MAO inhibitor\nproperties"],
        ["Tedizolid\n(oral/IV)", "Oxazolidinone\n(2nd gen)", "Same as linezolid;\nbetter selectivity", "MRSA, VRE", "ABSSSI (6-day course\nvs 10-day linezolid)", "Less myelosuppression;\nno MAO inhibitor activity"],
    ]
    col_w = [28*mm, 22*mm, 38*mm, 32*mm, 30*mm, 25*mm]
    tbl = drug_table(misc_data[0], misc_data[1:], col_w, colors.HexColor("#37474f"))
    elems.append(tbl)
    elems.append(PageBreak())
    return elems

# ─── Section 10: Anti-TB / Special ──────────────────────────────────────────
def section_antitb():
    elems = []
    elems.append(section_header("10. ANTI-TUBERCULOSIS DRUGS (RIPE)", colors.HexColor("#4e342e")))
    elems.append(Spacer(1, 3*mm))
    elems.append(Paragraph(
        "<b>1st Line TB Drugs - RIPE Mnemonic:</b> <b>R</b>ifampicin + <b>I</b>soniazid + <b>P</b>yrazinamide + "
        "<b>E</b>thambutol (+ Streptomycin = RIPES). Initial 2 months: RIPE, Continuation 4 months: RI.", body))
    elems.append(Spacer(1, 3*mm))

    tb_data = [
        ["Drug", "MOA", "Side Effects (Key)", "Notes"],
        ["Rifampicin (R)", "RNA polymerase inhibitor\n(bactericidal)", "Orange secretions, Hepatitis,\nCYP450 inducer (drug interactions!)", "Monitor LFTs; Turns urine\norange-red"],
        ["Isoniazid (H/I)", "Inhibits mycolic acid synthesis\n(InhA enzyme); prodrug\nactivated by KatG enzyme\n(bactericidal)", "Peripheral neuropathy\n(B6/pyridoxine deficiency),\nDrug-induced lupus (SLE),\nHepatitis (acetylators!),\nSideroblastic anemia", "Give pyridoxine (B6)\nprophylactically; Fast vs\nslow acetylators"],
        ["Pyrazinamide (Z)", "Disrupts membrane energy\n(acidic pH - in macrophages);\nprodrug activated by PncA\n(bactericidal intracellular)", "Hyperuricemia (gout),\nHepatitis, Arthralgias,\nRash", "Active only in acid pH\n(inside macrophages);\nCritical for 1st 2 months"],
        ["Ethambutol (E)", "Inhibits arabinosyl transferase\n(arabinogalactan synthesis)\n(bacteriostatic)", "Optic neuritis (vision change,\nred-green color blindness!),\nRetrobulbar neuritis", "Monitor vision monthly;\nBaseline visual acuity;\nCI: age <6 (can't test\nvision reliably)"],
        ["Streptomycin (S)", "30S ribosome inhibitor\n(aminoglycoside)\n(bactericidal)", "Ototoxicity (hearing loss -\ncochlear), Nephrotoxicity", "IM injection; 5th drug\nin some regimens"],
        ["Pyridoxine (B6)", "Not antibiotic - supplement", "Prevents INH peripheral\nneuropathy", "Always co-prescribe\nwith isoniazid"],
        ["2nd Line: Bedaquiline", "ATP synthase inhibitor\n(bactericidal) - novel MOA!", "QTc prolongation,\nHepatotoxicity, Nausea", "MDR-TB and XDR-TB"],
        ["2nd Line: Delamanid", "Mycolic acid synthesis\ninhibitor (different from INH)", "QTc prolongation,\nNausea", "MDR-TB; Used with\nbedaquiline (avoid\nQTc risk)"],
        ["2nd Line: Pretomanid", "Dual MOA: mycolic acid\ninhibitor + reactive nitrogen\nspecies (bactericidal)", "Peripheral neuropathy,\nHematological toxicity", "XDR-TB (BPaL regimen)"],
    ]
    col_w = [32*mm, 52*mm, 55*mm, 36*mm]
    elems.append(drug_table(tb_data[0], tb_data[1:], col_w, colors.HexColor("#4e342e")))
    elems.append(PageBreak())
    return elems

# ─── Section 11: Resistance Mechanisms ──────────────────────────────────────
def section_resistance():
    elems = []
    elems.append(section_header("11. ANTIBIOTIC RESISTANCE MECHANISMS", colors.HexColor("#b71c1c")))
    elems.append(Spacer(1, 3*mm))

    resist_data = [
        ["Mechanism", "How it Works", "Antibiotics Affected", "Examples"],
        ["Enzymatic\nInactivation", "Bacteria enzymes antibiotic\nko chemically modify/destroy\nkarte hain", "Beta-lactams (beta-lactamases),\nAminoglycosides (modifying\nenzymes), Chloramphenicol\n(acetyltransferase)", "MRSA, ESBL E. coli,\nKPC Klebsiella,\nNDM-producing bacteria"],
        ["Target Site\nModification", "Antibiotic ka binding site\nbadal jaata hai - affinity\nkam ho jaati hai", "Beta-lactams (PBP2a in MRSA),\nGlycopeptides (D-Ala-D-Lac\nin VRE), FQ (mutant gyrase),\nMacrolides (methylated 23S)", "MRSA (mecA gene),\nVRE (vanA/B),\nFQ-resistant salmonella"],
        ["Reduced Permeability\n(Porin changes)", "Outer membrane porins delete\nya modify hote hain - drug\nandar nahi ja paata", "Beta-lactams in Pseudomonas\n(OprD porin loss),\nCarbapenems", "Carbapenem-resistant\nPseudomonas aeruginosa"],
        ["Efflux Pumps", "Active transport pumps drug\nko cell se bahar phenk dete\nhain (ATP-dependent)", "Tetracyclines, FQs, Macrolides,\nBeta-lactams (GN),\nChloramphenicol", "MDR Pseudomonas,\nMDR Acinetobacter,\nMRSA (NorA pump)"],
        ["Biofilm Formation", "Extracellular matrix bacteria\nko protect karta hai - drug\npenetration bahut kam", "Most antibiotics less effective\nin biofilm state; 100-1000x\nhigher MIC needed", "S. aureus on prosthetics,\nP. aeruginosa in CF,\nCoNS on catheters"],
        ["Bypassing\nTarget Pathway", "Bacteria alternate pathway\nuse karta hai same function\nke liye", "Sulfonamides (alternative\nfolate uptake), TMP\n(alternate DHFR)", "Sulfonamide-resistant\nbacteria using\nexogenous folate"],
    ]
    col_w = [32*mm, 48*mm, 52*mm, 43*mm]
    elems.append(drug_table(resist_data[0], resist_data[1:], col_w, colors.HexColor("#b71c1c")))
    elems.append(Spacer(1, 5*mm))

    # Quick coverage summary
    elems.append(section_header("12. QUICK COVERAGE REFERENCE", colors.HexColor("#1b5e20")))
    elems.append(Spacer(1, 3*mm))

    qr_data = [
        ["Organism", "Drug(s) of Choice (1st Line)", "Alternatives"],
        ["MSSA (Methicillin-sensitive\nS. aureus)", "Nafcillin/Oxacillin (IV), Cefazolin\n(IV), Dicloxacillin/Flucloxacillin (oral)", "Clindamycin, TMP-SMX, Doxycycline"],
        ["CA-MRSA (skin, soft tissue)", "TMP-SMX, Doxycycline,\nClindamycin (if D-zone neg)", "Linezolid, Vancomycin (severe)"],
        ["HA-MRSA (bacteremia,\npneumonia)", "Vancomycin (IV) or\nDaptomycin (bacteremia only)", "Linezolid (pneumonia), Ceftaroline"],
        ["Streptococcus pneumoniae\n(meningitis)", "Ceftriaxone + Vancomycin\n(pending sensitivities)", "Meropenem + Vancomycin"],
        ["Pseudomonas aeruginosa", "Piperacillin-tazobactam or\nCefepime or Meropenem +/-\nAminoglycoside", "Ciprofloxacin, Aztreonam,\nColistin (MDR)"],
        ["C. difficile (mild-mod)", "Vancomycin oral (125mg QID) or\nFidaxomicin (preferred - less relapse)", "Metronidazole (mild, resource limited)"],
        ["Atypical pneumonia\n(Mycoplasma, Chlamydophila)", "Azithromycin or Doxycycline", "Levofloxacin, Clarithromycin"],
        ["Legionella pneumophila", "Azithromycin or Levofloxacin", "Doxycycline, Moxifloxacin"],
        ["Anaerobes (below diaphragm)", "Metronidazole, Piperacillin-\ntazobactam, Meropenem", "Clindamycin (above diaphragm),\nCefoxitin, Moxifloxacin"],
        ["ESBL-producing GN", "Meropenem/Ertapenem", "Ceftazidime-avibactam,\nTemocillin (limited regions)"],
        ["VRE (Vancomycin-resistant\nEnterococcus)", "Linezolid or Daptomycin", "Tedizolid, Oritavancin"],
        ["Neisseria gonorrhoeae", "Ceftriaxone 500mg IM single dose\n+ Doxycycline (if chlamydia\nnot excluded)", "Azithromycin (if cephalosporin\nallergy + sensitivities known)"],
    ]
    col_w = [42*mm, 75*mm, 58*mm]
    elems.append(drug_table(qr_data[0], qr_data[1:], col_w, colors.HexColor("#1b5e20")))
    elems.append(PageBreak())
    return elems

# ─── Assemble & Build ────────────────────────────────────────────────────────
def build_pdf():
    doc = SimpleDocTemplate(
        OUTPUT_PATH,
        pagesize=A4,
        rightMargin=15*mm, leftMargin=15*mm,
        topMargin=15*mm, bottomMargin=15*mm,
        title="Antibiotics Complete Guide - Medical Students",
        author="Medical Library Reference",
    )

    story = []
    story += cover_page()
    story += section_overview()
    story += section_betalactam()
    story += section_glycopeptides()
    story += section_aminoglycosides()
    story += section_tetracyclines()
    story += section_macrolides()
    story += section_fluoroquinolones()
    story += section_dna_others()
    story += section_antitb()
    story += section_resistance()

    doc.build(story)
    print(f"PDF created: {OUTPUT_PATH}")

if __name__ == "__main__":
    build_pdf()
Running Command

cd /home/daytona/workspace/antibiotics-pdf && python3 make_antibiotics_pdf.py 2>&1

Running Command

ls -lh /home/daytona/workspace/antibiotics-pdf/

PDF ban gaya! Ab aapko poora answer deta hoon.

Antibiotics - Complete Guide for Medical Students

Yahan PDF download karein:

Antibiotics Complete Guide

PDF Document · PDF


PDF mein kya hai - Summary:


CLASSIFICATION (Target ke mutabiq)

TargetClassExamples
Cell Wall SynthesisBeta-lactams, GlycopeptidesAmoxicillin, Vancomycin
Cell MembranePolymyxins, LipopeptidesColistin, Daptomycin
Protein (30S)Aminoglycosides, TetracyclinesGentamicin, Doxycycline
Protein (50S)Macrolides, Lincosamides, LinezolidAzithromycin, Clindamycin
DNA/RNAFluoroquinolones, Metronidazole, RifampicinCiprofloxacin, Flagyl
Folic AcidSulfonamides, TMPTMP-SMX

CLASS-WISE SUMMARY

1. Beta-Lactams (Bactericidal)
  • MOA: PBPs se bind karke cell wall ka cross-linking rokta hai
  • Penicillins: Amoxicillin (URTI, H. pylori), Pip-Tazo (Pseudomonas, sepsis)
  • Cephalosporins: 1G (surgical prophylaxis) - 2G (Otitis) - 3G (Meningitis, Typhoid) - 4G (Febrile neutropenia) - 5G (MRSA)
  • Carbapenems: Meropenem (Meningitis, MDR), Ertapenem (NO Pseudomonas)
  • Monobactam: Aztreonam (GN only, penicillin-allergic patients ke liye safe)
2. Glycopeptides (Bactericidal)
  • MOA: D-Ala-D-Ala se bind karke cell wall synthesis band
  • Vancomycin: MRSA, C. diff (oral), Red Man Syndrome - nephrotoxic+ototoxic
3. Aminoglycosides (Bactericidal, Concentration-dependent)
  • MOA: 30S ribosome se irreversibly bind - misreading of mRNA
  • Gentamicin, Amikacin: Severe GN infections; Tobramycin: CF/Pseudomonas
  • Side effects: NEPHROTOXICITY + OTOTOXICITY (irreversible)
4. Tetracyclines (Bacteriostatic)
  • MOA: 30S ribosome se reversibly bind - tRNA attachment rokta hai
  • Doxycycline: CAP, Chlamydia, Lyme disease, malaria prophylaxis
  • CI: Pregnancy + Children <8 yrs (tooth staining, bone growth stunted)
5. Macrolides (Bacteriostatic)
  • MOA: 50S ribosome (23S rRNA) - translocation block
  • Azithromycin: CAP (atypicals), Chlamydia, MAC prophylaxis
  • QTc prolongation - always check ECG with other QT-prolonging drugs
6. Fluoroquinolones (Bactericidal, Concentration-dependent)
  • MOA: DNA gyrase + Topoisomerase IV inhibit - DNA strand breakage
  • Ciprofloxacin: UTI, Pseudomonas, Anthrax; Moxifloxacin: CAP+anaerobes
  • Black Box: Tendon rupture, peripheral neuropathy; CI: Pregnancy, <18 yrs
7. Metronidazole (Bactericidal)
  • MOA: DNA damage via reactive nitro radicals
  • Anaerobes, C. diff, Giardia, Trichomonas, Amoeba
  • Disulfiram reaction - absolutely no alcohol!
8. Anti-TB (RIPE)
  • Rifampicin: RNA pol inhibitor - orange urine, CYP inducer
  • Isoniazid: Mycolic acid inhibitor - peripheral neuropathy (give B6!)
  • Pyrazinamide: Intracellular (macrophages) - hyperuricemia
  • Etambutol: Arabinosyl transferase inhibitor - optic neuritis (check vision!)

Resistance Mechanisms

  1. Beta-lactamase - penicillin/cephalosporin destroy kar deta hai (ESBL, KPC, NDM)
  2. PBP2a (mecA gene) - MRSA me penicillin bind nahi hota
  3. Efflux pumps - drug ko bahar phenk deta hai
  4. Porin modification - drug andar nahi ja pata (Pseudomonas, Carbapenems)
  5. Target methylation - macrolide/aminoglycoside resistance
  6. Biofilm - 100-1000x higher MIC needed

Sources: Lee's Essential Otolaryngology, Jawetz Medical Microbiology, Katzung Pharmacology, Goodman & Gilman's Pharmacology

Pdf writing me banker do

Reading File
Running Command

fc-list | grep -i "noto.*devanagari\|noto.*hindi\|lohit.*devanagari\|mukti\|gargi\|mangal" | head -20

Running Command

fc-list | grep -i "noto\|hindi\|urdu\|nastaliq\|devanagari" | head -20

Running Command

fc-list | head -30 && python3 -c "from reportlab.pdfbase.cidfonts import UnicodeCIDFont; print('CID ok')" 2>&1

Running Command

find /usr/share/fonts /usr/local/share/fonts ~/.fonts 2>/dev/null | grep -i "\.ttf\|\.otf" | head -20

Running Command

pip install --quiet reportlab bidi arabic-reshaper 2>&1 | tail -3

Running Command

# Download Google Noto Devanagari font mkdir -p /home/daytona/workspace/antibiotics-pdf/fonts curl -sL "https://github.com/googlefonts/noto-fonts/raw/main/hinted/ttf/NotoSansDevanagari/NotoSansDevanagari-Regular.ttf" \ -o /home/daytona/workspace/antibiotics-pdf/fonts/NotoSansDevanagari-Regular.ttf && echo "OK" || echo "FAIL"

Running Command

# Download Bold variant too curl -sL "https://github.com/googlefonts/noto-fonts/raw/main/hinted/ttf/NotoSansDevanagari/NotoSansDevanagari-Bold.ttf" \ -o /home/daytona/workspace/antibiotics-pdf/fonts/NotoSansDevanagari-Bold.ttf && echo "BOLD OK" || echo "BOLD FAIL" ls -lh /home/daytona/workspace/antibiotics-pdf/fonts/

Running Command

python3 -c " from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont from reportlab.platypus import SimpleDocTemplate, Paragraph from reportlab.lib.styles import ParagraphStyle from reportlab.lib.pagesizes import A4 pdfmetrics.registerFont(TTFont('Devanagari', '/home/daytona/workspace/antibiotics-pdf/fonts/NotoSansDevanagari-Regular.ttf')) pdfmetrics.registerFont(TTFont('Devanagari-Bold', '/home/daytona/workspace/antibiotics-pdf/fonts/NotoSansDevanagari-Bold.ttf')) style = ParagraphStyle('test', fontName='Devanagari', fontSize=14) doc = SimpleDocTemplate('/tmp/test_hindi.pdf', pagesize=A4) doc.build([Paragraph('एंटीबायोटिक्स की पूरी जानकारी - मेडिकल छात्रों के लिए', style)]) print('Hindi PDF test OK') " 2>&1

Writing File

~/antibiotics-pdf/make_hindi_antibiotics.py

#!/usr/bin/env python3
"""
Antibiotics Complete Guide - Hindi PDF for Medical Students
"""
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import mm
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont

# Register fonts
FONT_REG  = '/home/daytona/workspace/antibiotics-pdf/fonts/NotoSansDevanagari-Regular.ttf'
FONT_BOLD = '/home/daytona/workspace/antibiotics-pdf/fonts/NotoSansDevanagari-Bold.ttf'
pdfmetrics.registerFont(TTFont('Hindi',     FONT_REG))
pdfmetrics.registerFont(TTFont('HindiBold', FONT_BOLD))

OUTPUT = "/home/daytona/workspace/antibiotics-pdf/Antibiotics_Hindi_Guide.pdf"

# Colours
DARK_BLUE    = colors.HexColor("#1a3a5c")
MED_BLUE     = colors.HexColor("#2E6DA4")
LIGHT_BLUE   = colors.HexColor("#d6e8f7")
TEAL         = colors.HexColor("#17788a")
GREEN        = colors.HexColor("#2e7d32")
LIGHT_GREEN  = colors.HexColor("#e8f5e9")
ORANGE       = colors.HexColor("#e65100")
LIGHT_ORANGE = colors.HexColor("#fff3e0")
RED          = colors.HexColor("#c62828")
LIGHT_RED    = colors.HexColor("#ffebee")
PURPLE       = colors.HexColor("#6a1b9a")
YELLOW_BG    = colors.HexColor("#fffde7")
GREY_ROW     = colors.HexColor("#f0f4f8")
WHITE        = colors.white

# Styles
def S(name, font='Hindi', size=10, color=colors.black, align=TA_LEFT,
      bold=False, sb=3, sa=3, li=0, leading=None):
    return ParagraphStyle(name,
        fontName='HindiBold' if bold else font,
        fontSize=size,
        textColor=color,
        alignment=align,
        spaceBefore=sb, spaceAfter=sa,
        leftIndent=li,
        leading=leading or max(size*1.4, 12))

title_st  = S('T',  size=24, color=WHITE,      align=TA_CENTER, bold=True, sb=4, sa=4)
sub_st    = S('S',  size=12, color=LIGHT_BLUE, align=TA_CENTER, sb=2, sa=2)
h1_st     = S('H1', size=14, color=WHITE,      bold=True, sb=6, sa=4, li=6)
h2_st     = S('H2', size=11, color=DARK_BLUE,  bold=True, sb=8, sa=4, li=4)
body_st   = S('B',  size=9,  align=TA_JUSTIFY, sb=2, sa=2, li=4)
bold_st   = S('BB', size=9,  bold=True, sb=2, sa=2, li=4)
cell_st   = S('C',  size=7.5, sb=1, sa=1, leading=10)
cellb_st  = S('CB', size=7.5, bold=True, sb=1, sa=1, leading=10)
note_st   = S('N',  size=8,  color=colors.HexColor("#444444"), sb=3, sa=3, li=8, leading=11)
warn_st   = S('W',  size=8.5, color=RED, bold=True, sb=2, sa=2, li=6)

def sec_hdr(text, bg=MED_BLUE):
    t = Table([[Paragraph(text, h1_st)]], colWidths=[175*mm])
    t.setStyle(TableStyle([
        ('BACKGROUND', (0,0),(-1,-1), bg),
        ('TOPPADDING',    (0,0),(-1,-1), 7),
        ('BOTTOMPADDING', (0,0),(-1,-1), 7),
        ('LEFTPADDING',   (0,0),(-1,-1), 10),
    ]))
    return t

def dtable(hdr, rows, widths, hcol=MED_BLUE):
    p  = lambda t: Paragraph(str(t), cell_st)
    pb = lambda t: Paragraph(str(t), cellb_st)
    data = [[pb(c) for c in hdr]] + [[p(c) for c in r] for r in rows]
    t = Table(data, colWidths=widths, repeatRows=1)
    t.setStyle(TableStyle([
        ('BACKGROUND',    (0,0),(-1,0),  hcol),
        ('TEXTCOLOR',     (0,0),(-1,0),  WHITE),
        ('FONTNAME',      (0,0),(-1,0),  'HindiBold'),
        ('FONTSIZE',      (0,0),(-1,0),  8.5),
        ('TOPPADDING',    (0,0),(-1,0),  6),
        ('BOTTOMPADDING', (0,0),(-1,0),  6),
        ('ROWBACKGROUNDS',(0,1),(-1,-1), [WHITE, GREY_ROW]),
        ('FONTSIZE',      (0,1),(-1,-1), 7.5),
        ('TOPPADDING',    (0,1),(-1,-1), 4),
        ('BOTTOMPADDING', (0,1),(-1,-1), 4),
        ('LEFTPADDING',   (0,0),(-1,-1), 5),
        ('RIGHTPADDING',  (0,0),(-1,-1), 5),
        ('GRID',          (0,0),(-1,-1), 0.4, colors.HexColor("#cccccc")),
        ('VALIGN',        (0,0),(-1,-1), 'TOP'),
    ]))
    return t

def infobox(lines, bg=LIGHT_BLUE, border=MED_BLUE):
    rows = [[Paragraph(l, body_st)] for l in lines]
    t = Table(rows, colWidths=[175*mm])
    t.setStyle(TableStyle([
        ('BACKGROUND',    (0,0),(-1,-1), bg),
        ('LEFTPADDING',   (0,0),(-1,-1), 14),
        ('TOPPADDING',    (0,0),(-1,-1), 4),
        ('BOTTOMPADDING', (0,0),(-1,-1), 4),
        ('BOX',           (0,0),(-1,-1), 1.5, border),
    ]))
    return t

# ─── COVER ───────────────────────────────────────────────────────────────────
def cover():
    e = []
    banner = Table([
        [Paragraph("एंटीबायोटिक्स", title_st)],
        [Paragraph("सम्पूर्ण मार्गदर्शिका", title_st)],
        [Paragraph("(Antibiotics Complete Guide)", sub_st)],
        [Paragraph("मेडिकल छात्रों के लिए - Hindi में", sub_st)],
    ], colWidths=[175*mm])
    banner.setStyle(TableStyle([
        ('BACKGROUND', (0,0),(-1,-1), DARK_BLUE),
        ('TOPPADDING',    (0,0),(-1,-1), 10),
        ('BOTTOMPADDING', (0,0),(-1,-1), 10),
    ]))
    e.append(Spacer(1, 12*mm))
    e.append(banner)
    e.append(Spacer(1, 6*mm))
    e.append(infobox([
        "इस PDF में क्या है:",
        "• सभी एंटीबायोटिक वर्गों की सूची (Classification)",
        "• हर एंटीबायोटिक का कार्य-तंत्र (Mechanism of Action - MOA)",
        "• कब और किस बीमारी में दें (Clinical Uses)",
        "• दुष्प्रभाव और सावधानियाँ (Side Effects & Contraindications)",
        "• बैक्टीरियल कवरेज - Gram+, Gram-, Anaerobes, Atypicals",
        "• Resistance के तरीके",
        "• Quick Reference Chart",
        "• Hindi में याद करने के Mnemonics",
    ]))
    e.append(Spacer(1, 5*mm))
    src = Table([[Paragraph(
        "स्रोत: Lee's Essential Otolaryngology | Jawetz Medical Microbiology | "
        "Katzung Pharmacology | Goodman & Gilman's Pharmacology", note_st)]],
        colWidths=[175*mm])
    src.setStyle(TableStyle([
        ('BACKGROUND',(0,0),(-1,-1), YELLOW_BG),
        ('BOX',(0,0),(-1,-1), 0.8, colors.HexColor("#ccaa00")),
        ('LEFTPADDING',(0,0),(-1,-1),10),
        ('TOPPADDING',(0,0),(-1,-1),5),
        ('BOTTOMPADDING',(0,0),(-1,-1),5),
    ]))
    e.append(src)
    e.append(PageBreak())
    return e

# ─── SECTION 1: OVERVIEW ─────────────────────────────────────────────────────
def sec_overview():
    e = []
    e.append(sec_hdr("१. एंटीबायोटिक्स का वर्गीकरण (Classification)", DARK_BLUE))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "एंटीबायोटिक्स को उनके <b>लक्ष्य स्थान (Target Site)</b> के आधार पर वर्गीकृत किया जाता है "
        "जहाँ वे बैक्टीरिया पर कार्य करते हैं:", body_st))
    e.append(Spacer(1,2*mm))

    ov = [
        ["लक्ष्य (Target)", "वर्ग (Class)", "उदाहरण (Examples)"],
        ["कोशिका भित्ति संश्लेषण\n(Cell Wall Synthesis)",
         "Beta-Lactams:\nPenicillins, Cephalosporins,\nCarbapenems, Monobactams\nGlycopeptides",
         "Amoxicillin, Ceftriaxone,\nMeropenem, Aztreonam,\nVancomycin, Teicoplanin"],
        ["कोशिका झिल्ली\n(Cell Membrane)",
         "Polymyxins\nLipopeptides",
         "Colistin, Polymyxin B\nDaptomycin"],
        ["प्रोटीन संश्लेषण\n30S Ribosome",
         "Aminoglycosides\nTetracyclines",
         "Gentamicin, Amikacin\nDoxycycline, Minocycline"],
        ["प्रोटीन संश्लेषण\n50S Ribosome",
         "Macrolides\nLincosamides\nChloramphenicol\nOxazolidinones",
         "Azithromycin, Erythromycin\nClindamycin\nChloramphenicol\nLinezolid"],
        ["DNA / RNA संश्लेषण",
         "Fluoroquinolones\nNitroimidazoles\nNitrofurans\nRifamycins",
         "Ciprofloxacin, Levofloxacin\nMetronidazole\nNitrofurantoin\nRifampicin"],
        ["फोलिक एसिड संश्लेषण\n(Folic Acid Synthesis)",
         "Sulfonamides\nDHF Reductase Inhibitors",
         "Sulfamethoxazole\nTrimethoprim (TMP-SMX)"],
    ]
    e.append(dtable(ov[0], ov[1:], [45*mm, 65*mm, 65*mm], DARK_BLUE))
    e.append(Spacer(1,4*mm))

    e.append(Paragraph("<b>Bactericidal बनाम Bacteriostatic:</b>", bold_st))
    bc = Table([
        [Paragraph("Bactericidal - बैक्टीरिया को मारता है", cellb_st),
         Paragraph("Bacteriostatic - बैक्टीरिया की वृद्धि रोकता है", cellb_st)],
        [Paragraph("Beta-Lactams, Aminoglycosides, Fluoroquinolones,\nGlycopeptides, Polymyxins, Metronidazole, Daptomycin", cell_st),
         Paragraph("Tetracyclines, Macrolides, Clindamycin,\nChloramphenicol, Sulfonamides, TMP, Linezolid", cell_st)],
    ], colWidths=[87.5*mm, 87.5*mm])
    bc.setStyle(TableStyle([
        ('BACKGROUND',(0,0),(0,0), GREEN), ('BACKGROUND',(1,0),(1,0), ORANGE),
        ('TEXTCOLOR',(0,0),(-1,0), WHITE),
        ('BACKGROUND',(0,1),(0,1), LIGHT_GREEN), ('BACKGROUND',(1,1),(1,1), LIGHT_ORANGE),
        ('GRID',(0,0),(-1,-1), 0.5, colors.HexColor("#aaa")),
        ('TOPPADDING',(0,0),(-1,-1),5), ('BOTTOMPADDING',(0,0),(-1,-1),5),
        ('LEFTPADDING',(0,0),(-1,-1),6), ('VALIGN',(0,0),(-1,-1),'TOP'),
    ]))
    e.append(bc)
    e.append(PageBreak())
    return e

# ─── SECTION 2: BETA-LACTAMS ─────────────────────────────────────────────────
def sec_betalactam():
    e = []
    e.append(sec_hdr("२. Beta-Lactam एंटीबायोटिक्स", MED_BLUE))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "<b>कार्य-तंत्र (MOA):</b> Beta-Lactam की रिंग, <b>Penicillin-Binding Proteins (PBPs)</b> से जुड़ती है "
        "और <b>Transpeptidase एंजाइम</b> को रोकती है। इससे Cell Wall का Peptidoglycan Cross-Linking नहीं हो पाता "
        "और बैक्टीरिया की दीवार कमज़ोर होकर टूट जाती है। ये <b>Bactericidal</b> होते हैं।", body_st))
    e.append(Spacer(1,3*mm))

    # Penicillins
    e.append(Paragraph("A. Penicillins", h2_st))
    pd = [
        ["दवा का नाम", "Coverage / Spectrum", "उपयोग (Clinical Use)", "दुष्प्रभाव (Side Effects)"],
        ["Benzyl Penicillin\n(Pen G - IV)",
         "Narrow: GP cocci,\nStreptococcus, Neisseria,\nTreponema pallidum",
         "उपदंश (Syphilis), Meningococcal\nMeningitis, Rheumatic Fever",
         "Allergy / Anaphylaxis,\nDiarrhea"],
        ["Penicillin V\n(Pen V - Oral)",
         "Narrow: GP bacteria only",
         "Strep Throat, Dental Infections",
         "GI upset, Allergy"],
        ["Amoxicillin\n(Oral)",
         "Extended: GP + कुछ GN\n(H. influenzae, E. coli,\nListeria)",
         "Otitis Media, Sinusitis,\nStrep Throat, H. pylori\n(Triple Therapy)",
         "Rash, Diarrhea,\nEBV में Maculopapular Rash"],
        ["Amoxicillin-\nClavulanate\n(Co-Amoxiclav)",
         "Extended + Beta-Lactamase\nResistant: MSSA, Moraxella,\nH. influenzae",
         "URTI, LRTI,\nत्वचा संक्रमण (Skin Infections),\nजानवर/इंसान का काटना (Bites)",
         "Diarrhea, Hepatotoxicity,\nCholestatic Jaundice"],
        ["Piperacillin-\nTazobactam\n(Pip-Tazo)",
         "सबसे विस्तृत Penicillin:\nPseudomonas, GN, Anaerobes,\nMSSA",
         "गंभीर HAP, Febrile Neutropenia,\nSepsis, Intra-abdominal",
         "Hypokalemia, Hepatitis,\nElectrolyte imbalance"],
        ["Dicloxacillin /\nFlucloxacillin\n(Oral)",
         "Narrow: MSSA only\n(Penicillinase-Resistant)",
         "MSSA की त्वचा, हड्डी,\nजोड़ों के संक्रमण",
         "GI Upset (खाली पेट न लें)"],
    ]
    e.append(dtable(pd[0], pd[1:], [32*mm, 45*mm, 52*mm, 46*mm], MED_BLUE))
    e.append(Spacer(1,4*mm))

    # Cephalosporins
    e.append(Paragraph("B. Cephalosporins (पीढ़ी के अनुसार / Generations)", h2_st))
    cd = [
        ["पीढ़ी", "दवाएँ", "Coverage", "उपयोग"],
        ["1st Generation\n(पहली पीढ़ी)",
         "Cefazolin (IV)\nCephalexin (Oral)\nCefadroxil (Oral)",
         "MSSA, Streptococcus,\nOral Flora (GP Dominant)",
         "शल्य चिकित्सा रोकथाम (Surgical Prophylaxis),\nत्वचा संक्रमण, UTI (uncomplicated)"],
        ["2nd Generation\n(दूसरी पीढ़ी)",
         "Cefuroxime\nCefoxitin\nCefaclor",
         "GP + H. influenzae,\nMoraxella;\nCefoxitin: Anaerobes",
         "Sinusitis, Otitis Media,\nPelvic Inflammatory Disease (Cefoxitin)"],
        ["3rd Generation\n(तीसरी पीढ़ी)",
         "Ceftriaxone (IV)\nCefotaxime (IV)\nCeftazidime* (IV)\nCefixime (Oral)",
         "अच्छी GN Coverage,\nCSF Penetration;\nCeftazidime: Pseudomonas",
         "Meningitis (Ceftriaxone),\nटाइफाइड, Gonorrhea,\nSAP / Community Pneumonia"],
        ["4th Generation\n(चौथी पीढ़ी)",
         "Cefepime (IV)",
         "GP + GN + Pseudomonas\n(3rd Generation से विस्तृत)",
         "Febrile Neutropenia,\nHAP, Meningitis"],
        ["5th Generation\n(पाँचवीं पीढ़ी)",
         "Ceftaroline (IV)\nCeftolozane-Tazobactam",
         "MRSA Coverage!\n+ GN Spectrum",
         "MRSA त्वचा/नरम ऊतक,\nCAP (Ceftaroline);\nMDR GN"],
    ]
    e.append(dtable(cd[0], cd[1:], [28*mm, 38*mm, 50*mm, 59*mm], TEAL))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "याद करें (Mnemonic): '1G = GP का राजा | 2G = Haemophilus भी आया | "
        "3G = GN का बादशाह + CSF | 4G = Pseudomonas भी | 5G = MRSA भी हारा'", note_st))
    e.append(Spacer(1,3*mm))

    # Carbapenems
    e.append(Paragraph("C. Carbapenems (सबसे शक्तिशाली Beta-Lactams)", h2_st))
    cab = [
        ["दवा", "Coverage", "उपयोग", "महत्त्वपूर्ण बातें"],
        ["Imipenem-\nCilastatin",
         "सबसे विस्तृत: GP, GN,\nPseudomonas, Anaerobes\n(MRSA नहीं)",
         "गंभीर Mixed Infections,\nFebrile Neutropenia,\nIntra-Abdominal Sepsis",
         "दौरे (Seizures) - dose-dependent;\nCilastatin = गुर्दों की रक्षा"],
        ["Meropenem",
         "Imipenem जैसा +\nबेहतर CNS Penetration",
         "Meningitis, गंभीर HAP,\nCNS Infections, MDR GN",
         "Seizures कम;\nMeningitis में पसंद"],
        ["Ertapenem",
         "Pseudomonas नहीं!\nAcinetobacter नहीं!\nसामुदायिक GN bacteria",
         "Community Infections,\nDiabetic Foot,\nIntra-Abdominal",
         "एक बार रोज़ (Once Daily);\nPseudomonas में मत दें!"],
    ]
    e.append(dtable(cab[0], cab[1:], [35*mm, 47*mm, 50*mm, 43*mm],
                    colors.HexColor("#1565c0")))
    e.append(Spacer(1,3*mm))

    e.append(Paragraph("D. Monobactams", h2_st))
    mb = [
        ["दवा", "Coverage", "उपयोग", "विशेष बात"],
        ["Aztreonam",
         "केवल Gram-Negative\nAerobic Bacteria\n(Pseudomonas Coverage)",
         "GN UTI, HAP;\nPenicillin Allergy\nवाले मरीज़ों के लिए",
         "Penicillin Allergy में\nसुरक्षित; GP Coverage नहीं"],
    ]
    e.append(dtable(mb[0], mb[1:], [32*mm, 48*mm, 52*mm, 43*mm],
                    colors.HexColor("#00838f")))
    e.append(PageBreak())
    return e

# ─── SECTION 3: GLYCOPEPTIDES + LIPOPEPTIDES ─────────────────────────────────
def sec_glyco():
    e = []
    e.append(sec_hdr("३. Glycopeptides", PURPLE))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "<b>कार्य-तंत्र (MOA):</b> Cell Wall के <b>D-Ala-D-Ala</b> terminus से जुड़ता है और "
        "<b>Cell Wall Synthesis</b> को रोकता है। Beta-Lactams से अलग Target है, इसलिए "
        "Beta-Lactam Resistant बैक्टीरिया पर भी काम करता है। <b>Bactericidal (GP के लिए)</b>।", body_st))
    e.append(Spacer(1,3*mm))
    gd = [
        ["दवा", "Coverage", "उपयोग", "दुष्प्रभाव / निगरानी"],
        ["Vancomycin\n(IV / Oral)",
         "केवल GP: MRSA, MRSE,\nEnterococcus,\nC. difficile (Oral only -\nअवशोषित नहीं होता)",
         "MRSA Bacteremia / Endocarditis,\nMRSA Meningitis,\nMRSA Pneumonia,\nC. diff (Oral),\nHospital-Acquired Infections",
         "Red Man Syndrome (infusion\nrate-dependent - Allergy नहीं!),\nNephrotoxicity + Ototoxicity\n(Aminoglycosides के साथ),\nMonitor: Trough / AUC"],
        ["Teicoplanin\n(IV/IM)",
         "Vancomycin जैसा:\nMRSA, Enterococcus,\nC. difficile",
         "MRSA, Osteomyelitis,\nEndocarditis,\nOPAT (Long-Acting)",
         "Vancomycin से कम\nNephrotoxic;\nसाप्ताहिक खुराक संभव"],
    ]
    e.append(dtable(gd[0], gd[1:], [30*mm, 43*mm, 55*mm, 47*mm], PURPLE))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "Red Man Syndrome: यह Allergy नहीं है! तेज़ Infusion से Mast Cell Degranulation होता है। "
        "इलाज: Infusion धीमा करें + Antihistamine दें।", note_st))
    e.append(Spacer(1,4*mm))

    e.append(sec_hdr("४. Lipopeptides", colors.HexColor("#558b2f")))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "<b>कार्य-तंत्र (MOA):</b> Calcium-Dependent तरीके से Bacterial Cell Membrane में घुस जाता है, "
        "Membrane को Depolarize करता है → Ion Leakage → Cell Death। <b>Bactericidal</b>।", body_st))
    e.append(Spacer(1,3*mm))
    lp = [
        ["दवा", "Coverage", "उपयोग", "महत्त्वपूर्ण दुष्प्रभाव"],
        ["Daptomycin\n(IV)",
         "केवल GP: MRSA, VRE,\nEnterococcus, Streptococcus\n(Pneumonia में नहीं!)",
         "MRSA Bacteremia,\nEndocarditis,\nVRE Infections,\nत्वचा संक्रमण",
         "Myopathy / CPK बढ़ना\n(CPK weekly monitor करें!);\nSurfactant से निष्क्रिय होता है -\nनिमोनिया में मत दें!\nLFTs Monitor करें"],
    ]
    e.append(dtable(lp[0], lp[1:], [30*mm, 43*mm, 52*mm, 50*mm],
                    colors.HexColor("#558b2f")))
    e.append(PageBreak())
    return e

# ─── SECTION 5: AMINOGLYCOSIDES ──────────────────────────────────────────────
def sec_amino():
    e = []
    e.append(sec_hdr("५. Aminoglycosides", ORANGE))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "<b>कार्य-तंत्र (MOA):</b> <b>30S Ribosomal Subunit</b> से <b>अपरिवर्तनीय रूप से (Irreversibly)</b> "
        "जुड़ते हैं। mRNA की Misreading होती है, गलत Amino Acids डलती हैं और खराब Proteins बनती हैं "
        "जो Cell Membrane को नुकसान पहुँचाती हैं। <b>Bactericidal + Concentration-Dependent Killing</b>। "
        "Anaerobes में काम नहीं करते (Oxygen-dependent transport चाहिए)।", body_st))
    e.append(Spacer(1,3*mm))
    ad = [
        ["दवा", "Coverage", "उपयोग", "विषाक्तता / निगरानी"],
        ["Gentamicin\n(IV/IM)",
         "Aerobic GN: E. coli,\nKlebsiella, Pseudomonas,\nProteus, Serratia;\nSynergy: Enterococcus",
         "गंभीर GN Sepsis,\nUTI, Pneumonia,\nEndocarditis (Penicillin\nके साथ Synergy)",
         "Nephrotoxicity\n(Proximal Tubule),\nOtotoxicity - अपरिवर्तनीय!\n(Vestibular > Cochlear);\nTrough Levels Monitor"],
        ["Amikacin\n(IV/IM)",
         "सबसे विस्तृत Aminoglycoside:\nMDR GN, MDR Pseudomonas,\nAcinetobacter, NTM (TB)",
         "MDR GN Infections,\nTB (2nd Line), NTM,\nFebrile Neutropenia",
         "Gentamicin जैसा;\nModifying Enzymes से\nProof - सबसे Stable"],
        ["Tobramycin\n(IV/Inhaled)",
         "Gentamicin जैसा +\nPseudomonas में बेहतर",
         "CF Lung Infections\n(Inhaled), Pseudomonas\nPneumonia, Eye Drops",
         "Inhaled: कम Systemic\nToxicity;\nEye Drops: Conjunctivitis"],
        ["Streptomycin\n(IM)",
         "Mycobacteria (TB),\nBrucella, Plague,\nTularemia",
         "TB (Historical 1st Line),\nBrucellosis, Plague,\nEnterococcal Endocarditis",
         "सबसे अधिक Ototoxic\n(Cochlear - बहरापन);\nNephrotoxicity"],
        ["Neomycin\n(Oral/Topical)",
         "GN Bowel Flora",
         "Hepatic Encephalopathy\n(NH3 कम करने),\nBowel Prep Surgery,\nTopical घाव",
         "Systemic Use के लिए\nबहुत विषाक्त;\nContact Dermatitis (Topical)"],
    ]
    e.append(dtable(ad[0], ad[1:], [30*mm, 45*mm, 50*mm, 50*mm], ORANGE))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "याद करें: 'ANTE' = Anaerobes में काम नहीं, Nephrotoxic, Teratogenic, Ear (Ototoxic)। "
        "Neomycin = कभी Systemic मत दें!", note_st))
    e.append(PageBreak())
    return e

# ─── SECTION 6: TETRACYCLINES ────────────────────────────────────────────────
def sec_tetracycline():
    e = []
    e.append(sec_hdr("६. Tetracyclines", colors.HexColor("#00695c")))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "<b>कार्य-तंत्र (MOA):</b> <b>30S Ribosomal Subunit</b> से <b>Reversibly</b> जुड़ते हैं "
        "(A-Site Block), Aminoacyl-tRNA का जुड़ाव रोकते हैं → Protein Synthesis रुकती है। "
        "<b>Bacteriostatic</b>। Intracellular Organisms के लिए उत्कृष्ट।", body_st))
    e.append(Spacer(1,3*mm))
    td = [
        ["दवा", "Coverage", "उपयोग", "दुष्प्रभाव / सावधानी"],
        ["Doxycycline\n(Oral/IV)",
         "GP + GN + Atypicals:\nMycoplasma, Chlamydia,\nRickettsia, Coxiella,\nBorrelia, Brucella;\nMalaria",
         "Community Pneumonia (CAP),\nChlamydia STI,\nLyme Disease, Malaria Prophylaxis,\nAnthrax, मुँहासे (Acne),\nRocky Mountain Spotted Fever",
         "Photosensitivity (धूप से बचें!),\nGI Upset,\nEsophageal Ulcers (लेटें नहीं),\nCI: गर्भावस्था,\n8 साल से छोटे बच्चे!\n(दाँत पीले, हड्डी रुकना)"],
        ["Minocycline\n(Oral)",
         "Doxycycline जैसा +\nCA-MRSA, Nocardia",
         "MRSA त्वचा Infections,\nAcne (moderate-severe),\nRA (Adjunct)",
         "Vestibular Toxicity\n(चक्कर, Vertigo),\nAutoimmune Hepatitis,\nSLE-Like Syndrome"],
        ["Tetracycline\n(Plain - Oral)",
         "Broad: Atypicals,\nH. pylori, Rickettsia,\nChlamydia",
         "H. pylori उन्मूलन,\nAcne, Rosacea,\nChlamydia",
         "सबसे अधिक GI दुष्प्रभाव;\nDoxycycline से बदल दिया"],
        ["Tigecycline\n(IV)",
         "बहुत विस्तृत: MRSA, VRE,\nMDR GN (Pseudomonas नहीं!),\nAcinetobacter, Anaerobes",
         "MDR Infections,\nIntra-Abdominal (cIAI),\nत्वचा संक्रमण (cSSSI), CAP",
         "उबकाई/उल्टी (सबसे सामान्य);\nHAP में Mortality बढ़ सकती है;\nगर्भावस्था में नहीं"],
    ]
    e.append(dtable(td[0], td[1:], [30*mm, 45*mm, 52*mm, 48*mm],
                    colors.HexColor("#00695c")))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "महत्त्वपूर्ण: Tetracycline + Dairy / Antacids = Chelation → Absorption बहुत कम हो जाती है। "
        "Calcium, Magnesium, Iron के साथ न लें।", note_st))
    e.append(PageBreak())
    return e

# ─── SECTION 7: MACROLIDES + LINCOSAMIDES ────────────────────────────────────
def sec_macrolide():
    e = []
    e.append(sec_hdr("७. Macrolides और Lincosamides", colors.HexColor("#ad1457")))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "<b>Macrolide MOA:</b> <b>50S Ribosomal Subunit</b> (23S rRNA) से जुड़कर "
        "<b>Translocation Step</b> को Block करते हैं। Peptide Chain का Elongation नहीं होता। "
        "<b>Bacteriostatic</b>। Intracellular Organisms के लिए बेहतरीन।", body_st))
    e.append(Spacer(1,3*mm))
    md = [
        ["दवा", "Coverage", "उपयोग", "दुष्प्रभाव / Drug Interactions"],
        ["Azithromycin\n(Z-Pack, Oral/IV)",
         "Atypicals: Mycoplasma,\nChlamydia, Legionella;\nStreptococcus, H. influenzae,\nMoraxella, NTM",
         "CAP (Atypicals),\nChlamydia STI,\nMAC Prophylaxis (HIV),\nOtitis Media,\nGonorrhea (+Ceftriaxone)",
         "GI Motility (Diarrhea),\nQTc Prolongation!\n(अन्य QT दवाओं के साथ),\nHepatotoxicity;\nCYP Interactions कम"],
        ["Clarithromycin\n(Oral)",
         "Atypicals, H. pylori,\nMAC, Bartonella,\nStreptococcus, MSSA",
         "H. pylori (Triple/Quad Therapy),\nMAC Treatment (HIV),\nCAP, Sinusitis",
         "सबसे अधिक GI Side Effects;\nStrong CYP3A4 Inhibitor\n(बहुत Drug Interactions!);\nQTc Prolongation;\nCI: गर्भावस्था"],
        ["Erythromycin\n(Oral/IV)",
         "Streptococcus, Atypicals,\nCampylobacter",
         "Historical CAP,\nGI Motility Agent\n(Motilin Agonist),\nBordetella Pertussis",
         "सबसे अधिक GI Side Effects;\nStrong CYP3A4 Inhibitor;\nQTc Prolongation;\nIV: Thrombophlebitis"],
    ]
    e.append(dtable(md[0], md[1:], [30*mm, 42*mm, 52*mm, 51*mm],
                    colors.HexColor("#ad1457")))
    e.append(Spacer(1,4*mm))

    e.append(Paragraph("Lincosamides", h2_st))
    e.append(Paragraph(
        "<b>MOA:</b> 50S Subunit से जुड़ता है - Macrolides जैसा लेकिन अलग Binding Site। "
        "<b>Bacteriostatic</b>। Anaerobic Coverage बहुत अच्छी है।", body_st))
    e.append(Spacer(1,2*mm))
    ld = [
        ["दवा", "Coverage", "उपयोग", "दुष्प्रभाव"],
        ["Clindamycin\n(Oral/IV)",
         "GP (CA-MRSA,\nStreptococcus) +\nAnaerobes (ऊपर\nDiaphragm के)",
         "CA-MRSA त्वचा संक्रमण,\nAspiration Pneumonia,\nOropharyngeal Anaerobes,\nDental Infections,\nToxoplasma (combo)",
         "C. difficile Colitis\n(सबसे बड़ा दुष्प्रभाव!),\nDiarrhea,\nPseudomembranous Colitis"],
    ]
    e.append(dtable(ld[0], ld[1:], [30*mm, 43*mm, 55*mm, 47*mm],
                    colors.HexColor("#880e4f")))
    e.append(PageBreak())
    return e

# ─── SECTION 8: FLUOROQUINOLONES ─────────────────────────────────────────────
def sec_fq():
    e = []
    e.append(sec_hdr("८. Fluoroquinolones", colors.HexColor("#1565c0")))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "<b>कार्य-तंत्र (MOA):</b> Bacterial <b>DNA Gyrase (Topoisomerase II)</b> और "
        "<b>Topoisomerase IV</b> को Inhibit करते हैं। DNA Strand Breakage होती है → DNA Replication रुकती है। "
        "<b>Bactericidal + Concentration-Dependent Killing</b>।", body_st))
    e.append(Spacer(1,3*mm))
    fqd = [
        ["दवा", "Coverage", "उपयोग", "दुष्प्रभाव / सावधानी"],
        ["Ciprofloxacin\n(Oral/IV)",
         "2nd Gen: सबसे अच्छी\nGN Coverage + Pseudomonas;\nAtypicals;\nGP Coverage अच्छी नहीं",
         "Complicated UTI / Pyelonephritis,\nYatri Diarrhea (Traveler's),\nटाइफाइड, Anthrax, Prostatitis,\nGonorrhea",
         "QTc Prolongation,\nCNS Toxicity (दौरे, मनोविकृति),\nTendinopathy / Tendon Rupture!\n(Achilles),\nPhotosensitivity;\nCI: गर्भावस्था,\n18 साल से कम, Myasthenia Gravis"],
        ["Levofloxacin\n(Oral/IV)\n'Respiratory FQ'",
         "3rd Gen: MSSA + Strep +\nGN + Pseudomonas +\nAtypicals",
         "CAP (Respiratory FQ),\nHAP, Complicated UTI,\nTB (2nd Line), Sinusitis",
         "Class Effects;\nCAP में पसंद;\nCipro से कम Pseudomonas"],
        ["Moxifloxacin\n(Oral/IV)\n'4th Gen'",
         "4th Gen: MSSA + Strep +\nGN + Anaerobes + Atypicals;\nPseudomonas Coverage नहीं!",
         "CAP (Atypicals के लिए सर्वश्रेष्ठ),\nSinusitis,\nIntra-Abdominal (Anaerobes)",
         "सबसे अधिक QTc Risk!\nGुर्दे की खुराक समायोजन नहीं;\nCSF Penetration अच्छी"],
        ["Ofloxacin\n(Oral/Ear drops)",
         "Cipro जैसा +\nChlamydia",
         "STIs, Otitis Externa\n(कान की बूँदें),\nLeprosy (MDT)",
         "Class Effects;\nकान की बूँदें: Local only"],
    ]
    e.append(dtable(fqd[0], fqd[1:], [32*mm, 48*mm, 52*mm, 43*mm],
                    colors.HexColor("#1565c0")))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "FDA Black Box Warning: Tendinitis और Tendon Rupture, Peripheral Neuropathy, CNS Effects, "
        "Aortic Aneurysm / Dissection का खतरा। बुज़ुर्गों और Steroid लेने वालों में अधिक जोखिम।", note_st))
    e.append(PageBreak())
    return e

# ─── SECTION 9: DNA / MISC ───────────────────────────────────────────────────
def sec_misc():
    e = []
    e.append(sec_hdr("९. DNA / Miscellaneous एंटीबायोटिक्स", colors.HexColor("#37474f")))
    e.append(Spacer(1,3*mm))
    misc = [
        ["दवा", "वर्ग", "MOA (कार्य-तंत्र)", "Coverage", "उपयोग", "दुष्प्रभाव"],
        ["Metronidazole\n(Flagyl)\nOral/IV",
         "Nitroimidazole",
         "Bacteria में जाकर Electron\nTransport Chain द्वारा\nReactive Nitro Radical बनता है\n→ DNA और Proteins को\nनुकसान → Bactericidal",
         "Anaerobes (B. fragilis,\nC. difficile, Bacteroides),\nProtozoa (Giardia,\nTrichomonas, Amoeba)",
         "C. diff Infection, BV,\nTrichomonas, Giardia,\nAmoebic Dysentery /\nLiver Abscess,\nIntra-Abdominal",
         "धातु जैसा स्वाद (Metallic Taste),\nमितली, Disulfiram Reaction\n(शराब बिल्कुल नहीं!),\nPeripheral Neuropathy,\nCI: 1st Trimester गर्भावस्था"],
        ["Nitrofurantoin\n(Macrobid)\nOral only",
         "Nitrofuran",
         "Reactive Intermediates बनाता है\n→ DNA, Ribosomes,\nCell Membrane को नुकसान",
         "GP + GN Urinary Pathogens:\nE. coli, S. saprophyticus,\nEnterococcus;\nPseudomonas / Proteus नहीं",
         "Uncomplicated Cystitis (UTI),\nUTI Prophylaxis,\nगर्भावस्था में UTI\n(Term के पास नहीं)",
         "Pulmonary Fibrosis (Long-term),\nHemolytic Anemia (G6PD!),\nPeripheral Neuropathy;\nCI: GFR <30,\nTerm गर्भावस्था"],
        ["TMP-SMX\n(Co-Trimoxazole)\nOral/IV",
         "Sulfonamide +\nDHFR Inhibitor",
         "SMX: PABA Analogue -\nDihydropteroate Synthase Block;\nTMP: DHFR Inhibit;\nमिलकर: Folate Synthesis\nका Sequential Blockade\n→ Bactericidal (Synergy)",
         "Broad: CA-MRSA,\nE. coli, Klebsiella,\nListeria, Pneumocystis\njirovecii (PCP),\nToxoplasma",
         "UTI, CA-MRSA त्वचा,\nPCP Treatment/Prophylaxis\n(HIV), Toxoplasma,\nTraveler's Diarrhea,\nNocardia",
         "SJS/TEN (Sulfa!),\nCytopenias (Bone Marrow),\nHyperkalemia (TMP),\nWarfarin बढ़ाता है,\nHepatotoxicity;\nCI: G6PD, गर्भावस्था"],
        ["Rifampicin\n(Rifampin)\nOral/IV",
         "Rifamycin",
         "DNA-Dependent RNA\nPolymerase Beta Subunit\nसे जुड़ता है → Transcription\n(mRNA Synthesis) रुकती है\n→ Bactericidal",
         "Mycobacteria (TB, Leprosy),\nMRSA (Combination only),\nNeisseria meningitidis\n(Prophylaxis)",
         "TB (1st Line: RIPE),\nLeprosy (MDT),\nMRSA Biofilm (Combo),\nMeningococcal Prophylaxis",
         "नारंगी-लाल मूत्र / आँसू!\n(मरीज़ को बताएँ),\nHepatotoxicity,\nStrong CYP450 Inducer\n(बहुत Drug Interactions!);\nFlu-Like Syndrome"],
        ["Chloramphenicol\n(Oral/IV/Eye)",
         "Amphenicol",
         "50S Ribosome से जुड़कर\nPeptidyl Transferase\nStep Block करता है\n→ Bacteriostatic",
         "Broad: GP+GN+Anaerobes\n+Rickettsiae;\nबेहतरीन CSF Penetration",
         "Typhoid Fever,\nBrain Abscess,\nMeningitis (Allergy),\nRickettsial Infections,\nकान / आँख (Topical)",
         "Gray Baby Syndrome!\n(Neonates),\nAplastic Anemia\n(Idiosyncratic),\nBone Marrow Suppression"],
        ["Linezolid\n(Zyvox)\nOral/IV",
         "Oxazolidinone",
         "50S Ribosome के 23S rRNA\nसे जुड़ता है, 30S-50S\nजोड़ (Initiation Complex)\nको Block करता है\n→ Bacteriostatic",
         "केवल GP: MRSA, VRE,\nMDR Streptococcus,\nXDR-TB",
         "MRSA Pneumonia,\nMRSA Bacteremia,\nVRE Infections, XDR-TB",
         "Myelosuppression\n(Thrombocytopenia!),\nSerotonin Syndrome\n(SSRIs / MAOIs के साथ!),\nPeripheral / Optic Neuropathy;\nWeekly CBC Monitor"],
    ]
    e.append(dtable(misc[0], misc[1:], [25*mm, 18*mm, 35*mm, 30*mm, 32*mm, 35*mm],
                    colors.HexColor("#37474f")))
    e.append(PageBreak())
    return e

# ─── SECTION 10: ANTI-TB ─────────────────────────────────────────────────────
def sec_tb():
    e = []
    e.append(sec_hdr("१०. TB-विरोधी दवाएँ (Anti-TB Drugs - RIPE)", colors.HexColor("#4e342e")))
    e.append(Spacer(1,3*mm))
    e.append(Paragraph(
        "<b>1st Line TB Drugs - RIPE याद करें:</b> "
        "<b>R</b>ifampicin + <b>I</b>soniazid + <b>P</b>yrazinamide + <b>E</b>thambutol। "
        "शुरुआती 2 महीने: RIPE | बाद के 4 महीने: RI (केवल दो दवाएँ)।", body_st))
    e.append(Spacer(1,3*mm))
    tbd = [
        ["दवा", "MOA (कार्य-तंत्र)", "प्रमुख दुष्प्रभाव", "महत्त्वपूर्ण बातें"],
        ["Rifampicin (R)",
         "RNA Polymerase Inhibitor\n(Bactericidal)",
         "नारंगी-लाल स्राव,\nHepatitis,\nCYP450 Inducer\n(Drug Interactions!)",
         "LFTs Monitor करें;\nमूत्र नारंगी-लाल होना\nसामान्य है"],
        ["Isoniazid\n(H / INH)",
         "Mycolic Acid Synthesis Inhibit\n(InhA Enzyme); KatG\nद्वारा Activate होती है\n(Bactericidal)",
         "Peripheral Neuropathy\n(B6 / Pyridoxine कमी),\nDrug-Induced Lupus,\nHepatitis,\nSideroblastic Anemia",
         "Pyridoxine (B6) हमेशा\nसाथ दें!\nFast vs Slow Acetylators"],
        ["Pyrazinamide\n(Z / PZA)",
         "Membrane Energy Disruption\n(Acidic pH में - Macrophages\nके अंदर);\nPncA Enzyme द्वारा Activate\n(Bactericidal Intracellular)",
         "Hyperuricemia (गठिया - Gout),\nHepatitis,\nJoints में दर्द (Arthralgias),\nRash",
         "केवल Acidic pH में Active\n(Macrophage के अंदर);\nपहले 2 महीनों में जरूरी"],
        ["Ethambutol\n(E)",
         "Arabinosyl Transferase Inhibit\n→ Arabinogalactan\nSynthesis Block\n(Bacteriostatic)",
         "Optic Neuritis!\n(दृष्टि परिवर्तन,\nलाल-हरे रंग का अंधापन)",
         "हर महीने दृष्टि जाँच;\nBaseline Visual Acuity;\nCI: 6 साल से छोटे बच्चे"],
        ["Streptomycin\n(S)",
         "30S Ribosome Inhibitor\n(Aminoglycoside)\n(Bactericidal)",
         "Ototoxicity (बहरापन - Cochlear),\nNephrotoxicity",
         "IM इंजेक्शन;\nकुछ Regimens में 5वीं दवा"],
        ["Pyridoxine\n(Vitamin B6)",
         "एंटीबायोटिक नहीं - Supplement",
         "INH की Peripheral\nNeuropathy रोकता है",
         "Isoniazid के साथ\nहमेशा दें"],
        ["Bedaquiline\n(2nd Line MDR-TB)",
         "ATP Synthase Inhibitor\n(Bactericidal) - नया MOA!",
         "QTc Prolongation,\nHepatotoxicity, मितली",
         "MDR-TB और XDR-TB\nके लिए"],
    ]
    e.append(dtable(tbd[0], tbd[1:], [32*mm, 48*mm, 52*mm, 43*mm],
                    colors.HexColor("#4e342e")))
    e.append(PageBreak())
    return e

# ─── SECTION 11: RESISTANCE ──────────────────────────────────────────────────
def sec_resistance():
    e = []
    e.append(sec_hdr("११. Antibiotic Resistance के तरीके", RED))
    e.append(Spacer(1,3*mm))
    rd = [
        ["तरीका (Mechanism)", "कैसे काम करता है", "प्रभावित दवाएँ", "उदाहरण"],
        ["एंजाइम द्वारा निष्क्रियता\n(Enzymatic Inactivation)",
         "बैक्टीरिया के एंजाइम\nएंटीबायोटिक को नष्ट\nकर देते हैं",
         "Beta-Lactams (Beta-Lactamases),\nAminoglycosides (Modifying Enzymes),\nChloramphenicol (Acetyltransferase)",
         "MRSA, ESBL E. coli,\nKPC Klebsiella,\nNDM Bacteria"],
        ["Target Site में बदलाव\n(Target Modification)",
         "एंटीबायोटिक की\nBinding Site बदल जाती है",
         "Beta-Lactams (PBP2a - MRSA),\nGlycopeptides (D-Ala-D-Lac - VRE),\nFQ (mutant Gyrase),\nMacrolides (methylated 23S)",
         "MRSA (mecA gene),\nVRE (vanA/B),\nFQ-resistant Salmonella"],
        ["कम प्रवेश्यता\n(Reduced Permeability)",
         "Outer Membrane Porin\nचैनल बंद या बदल\nजाते हैं",
         "Beta-Lactams (Pseudomonas),\nCarbapenems (OprD Porin Loss)",
         "Carbapenem-Resistant\nPseudomonas"],
        ["Efflux Pumps",
         "ATP-Dependent Pumps\nदवा को Cell से\nबाहर निकाल देते हैं",
         "Tetracyclines, FQs,\nMacrolides, Chloramphenicol",
         "MDR Pseudomonas,\nMDR Acinetobacter,\nMRSA (NorA Pump)"],
        ["Biofilm निर्माण\n(Biofilm Formation)",
         "Extracellular Matrix\nबैक्टीरिया को बचाता है,\nदवा अंदर नहीं जा पाती",
         "अधिकांश दवाएँ 100-1000x\nअधिक MIC की जरूरत",
         "S. aureus (Prosthetics),\nPseudomonas (CF),\nCoNS (Catheters)"],
        ["वैकल्पिक रास्ता\n(Bypass Target)",
         "बैक्टीरिया उसी काम\nके लिए अलग रास्ता\nइस्तेमाल करता है",
         "Sulfonamides (बाहर से Folate),\nTMP (Alternate DHFR)",
         "Sulfonamide-Resistant\nBacteria"],
    ]
    e.append(dtable(rd[0], rd[1:], [32*mm, 45*mm, 55*mm, 43*mm], RED))
    e.append(Spacer(1,5*mm))

    # Quick Reference
    e.append(sec_hdr("१२. Quick Reference - कौन सी दवा कब दें", colors.HexColor("#1b5e20")))
    e.append(Spacer(1,3*mm))
    qrd = [
        ["बैक्टीरिया / संक्रमण", "पहली पसंद (1st Line)", "विकल्प (Alternative)"],
        ["MSSA",
         "Nafcillin/Oxacillin (IV),\nCefazolin (IV),\nDicloxacillin (Oral)",
         "Clindamycin, TMP-SMX,\nDoxycycline"],
        ["CA-MRSA (त्वचा)",
         "TMP-SMX, Doxycycline,\nClindamycin",
         "Linezolid,\nVancomycin (गंभीर)"],
        ["HA-MRSA (Bacteremia,\nPneumonia)",
         "Vancomycin (IV) या\nDaptomycin (Bacteremia only)",
         "Linezolid (Pneumonia),\nCeftaroline"],
        ["Streptococcus pneumoniae\n(Meningitis)",
         "Ceftriaxone + Vancomycin\n(Sensitivity आने तक)",
         "Meropenem + Vancomycin"],
        ["Pseudomonas aeruginosa",
         "Pip-Tazo या Cefepime\nया Meropenem +/-\nAminoglycoside",
         "Ciprofloxacin, Aztreonam,\nColistin (MDR के लिए)"],
        ["C. difficile (CDI)",
         "Vancomycin Oral (125mg QID)\nया Fidaxomicin (कम Relapse)",
         "Metronidazole (हल्का,\nसंसाधन सीमित)"],
        ["Atypical Pneumonia\n(Mycoplasma, Chlamydophila)",
         "Azithromycin या Doxycycline",
         "Levofloxacin, Clarithromycin"],
        ["Legionella",
         "Azithromycin या\nLevofloxacin",
         "Doxycycline, Moxifloxacin"],
        ["Anaerobes (Diaphragm के नीचे)",
         "Metronidazole,\nPip-Tazo, Meropenem",
         "Clindamycin (ऊपर Diaphragm),\nCefoxitin, Moxifloxacin"],
        ["VRE (Vancomycin-Resistant\nEnterococcus)",
         "Linezolid या Daptomycin",
         "Tedizolid, Oritavancin"],
        ["Neisseria gonorrhoeae",
         "Ceftriaxone 500mg IM\n(Single Dose) +\nDoxycycline",
         "Azithromycin (Sensitivity\nज्ञात हो तो)"],
    ]
    e.append(dtable(qrd[0], qrd[1:], [42*mm, 72*mm, 61*mm],
                    colors.HexColor("#1b5e20")))
    e.append(PageBreak())
    return e

# ─── SECTION 13: MNEMONICS ───────────────────────────────────────────────────
def sec_mnemonics():
    e = []
    e.append(sec_hdr("१३. याद करने के टिप्स (Mnemonics)", colors.HexColor("#4a148c")))
    e.append(Spacer(1,4*mm))
    mn = [
        ["विषय", "Mnemonic / याद करने का तरीका"],
        ["TB 1st Line Drugs",
         "RIPE = Rifampicin | Isoniazid | Pyrazinamide | Ethambutol\n"
         "'RIPE सेब की तरह - पकी हुई TB ठीक करो'"],
        ["Aminoglycoside Toxicity",
         "ANTE = Anaerobes में काम नहीं | Nephrotoxic | Teratogenic | Ear (Ototoxic)\n"
         "Neomycin = Never Systemic (NN)"],
        ["Tetracycline CI",
         "DAMP = Dental discoloration | Age <8 | Metallic teeth | Pregnancy\n"
         "'DAMP जगह में मत दो Tetracycline'"],
        ["Cephalosporin Generations",
         "1G = GP का राजा (PECKed = Proteus, E. coli, Klebsiella NOT covered)\n"
         "3G = Meningitis, Typhoid, Gonorrhea\n"
         "5G = MRSA भी हारा"],
        ["Vancomycin Red Man",
         "RED MAN = Rate-related, Everyone can get it, Diphenhydramine treat it,\n"
         "Mast cell degranulation, Allergy नहीं! Not IgE mediated"],
        ["Daptomycin - Pneumonia में नहीं",
         "'Dap = DAP karo Pneumonia से - Surfactant Inactivates Daptomycin'\n"
         "(Pulmonary Surfactant निष्क्रिय करता है)"],
        ["Metronidazole + Alcohol",
         "'Metro में Alcohol की मनाही' = Disulfiram Reaction (nausea, flush, BP drop)"],
        ["Linezolid Interactions",
         "'Line = LINE करो SSRIs से दूर' = Serotonin Syndrome का खतरा\n"
         "Also: MAO Inhibitor properties → Check all medications"],
        ["Chloramphenicol - Gray Baby",
         "'Gray Baby = नवजात को Gray मत करो' = UDP-Glucuronyl Transferase Deficiency\n"
         "अप्लास्टिक एनीमिया (Aplastic Anemia) = Idiosyncratic (dose independent)"],
        ["Fluoroquinolone CI",
         "'FQ = Feet (Tendon), Fetus (Pregnancy CI), फ़र्क (Myasthenia Gravis)'\n"
         "QTc, CNS effects, Photosensitivity याद रखें"],
        ["Isoniazid side effects",
         "'INH = I Need Help (Pyridoxine) + Hepatitis + Neuropathy + High Uric acid (नहीं - PZA)\n"
         "INH = NeuropathY → Give B6 | Drug-Induced Lupus | Hepatitis'"],
    ]
    t = dtable(mn[0], mn[1:], [50*mm, 125*mm], colors.HexColor("#4a148c"))
    e.append(t)
    e.append(Spacer(1,5*mm))

    # Final note
    closing = Table([[Paragraph(
        "यह PDF Lee's Essential Otolaryngology, Jawetz Medical Microbiology, "
        "Katzung's Pharmacology, और Goodman & Gilman's Pharmacology पर आधारित है। "
        "यह केवल शैक्षणिक उद्देश्य के लिए है। हमेशा नवीनतम दिशानिर्देशों और "
        "clinical context के अनुसार दवाएँ दें।", note_st)]],
        colWidths=[175*mm])
    closing.setStyle(TableStyle([
        ('BACKGROUND',(0,0),(-1,-1), YELLOW_BG),
        ('BOX',(0,0),(-1,-1), 1, colors.HexColor("#ccaa00")),
        ('LEFTPADDING',(0,0),(-1,-1),10),
        ('TOPPADDING',(0,0),(-1,-1),7),
        ('BOTTOMPADDING',(0,0),(-1,-1),7),
    ]))
    e.append(closing)
    return e

# ─── BUILD ────────────────────────────────────────────────────────────────────
def build():
    doc = SimpleDocTemplate(
        OUTPUT,
        pagesize=A4,
        rightMargin=15*mm, leftMargin=15*mm,
        topMargin=15*mm, bottomMargin=15*mm,
        title="Antibiotics Hindi Guide - Medical Students",
        author="Medical Library Reference",
    )
    story = []
    story += cover()
    story += sec_overview()
    story += sec_betalactam()
    story += sec_glyco()
    story += sec_amino()
    story += sec_tetracycline()
    story += sec_macrolide()
    story += sec_fq()
    story += sec_misc()
    story += sec_tb()
    story += sec_resistance()
    story += sec_mnemonics()
    doc.build(story)
    print(f"PDF created: {OUTPUT}")

if __name__ == "__main__":
    build()
Your credits are exhausted. Your daily credits reset tomorrow, or you can purchase a top-up for more.
This is a shared conversation. Sign in to Orris to start your own chat.