What is rational use of drug and where is is situated in kd Tripathi

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Searching the Web

KD Tripathi Essentials of Medical Pharmacology rational use of drugs chapter location

Reading Web Page

https://dl.icdst.org/pdfs/files3/f87428a2f2a044977b3c26eff96…

I now have all the information needed. Here is the complete answer:

Rational Use of Drugs - KD Tripathi

Location in KD Tripathi

Chapter 5 - Pharmacotherapy, Clinical Pharmacology and Drug Development Page 71 (7th Edition)
The section is titled "Rational Use of Medicines" and is found within Chapter 5 of KD Tripathi's Essentials of Medical Pharmacology.

Definition (WHO Definition as cited by Tripathi)

"Rational use of medicines requires that patients receive medication appropriate to their clinical needs, in doses that meet their own individual requirements, for an adequate period of time, and at the lowest cost to them and to their community."

Key Concept

Tripathi notes that while it is widely assumed qualified doctors prescribe rationally, in reality irrationality abounds in almost every aspect of drug use - medically inappropriate, ineffective, and economically inefficient drug use occurs worldwide, especially in developing countries.

Rational Prescribing

Rational prescribing is not merely matching a drug to a disease - it means appropriateness of the entire therapeutic setup plus follow-up of outcome.
Criteria to evaluate rational prescribing:
CriterionDescription
Appropriate indicationThe reason to prescribe is based on sound medical considerations
Appropriate drugCorrect choice in terms of efficacy, tolerability, safety, and suitability for the patient
Appropriate dose, route, and durationIndividualized according to specific features of the patient
Appropriate patientNo contraindications; drug is acceptable to the patient; risk of adverse effects is minimal and less than the expected benefit
Correct dispensingWith appropriate information and instructions given to the patient
Adequate monitoringOf patient's adherence, anticipated beneficial effects, and untoward effects

Scope of Rational Use of Medicines

It addresses every step in the supply-use chain:
  • Selection
  • Procurement
  • Storage
  • Prescribing
  • Dispensing
  • Monitoring
  • Feedback
(However, Tripathi focuses mainly on rational prescribing aspects in this section.)

Important Additional Points

  • Essential Medicines List: Adoption of the essential medicines list for procurement and supply (especially in public sector healthcare) has resulted in improved availability, cost savings, and more rational drug use.
  • Knowledge alone is insufficient: Studies have shown that merely improving a prescriber's knowledge has repeatedly failed to promote rational drug use. A variety of other factors (social, economic, regulatory, etc.) also influence prescribing patterns.
  • Pharmacovigilance connection: Pharmacovigilance plays an important role in rational use of medicines by providing the basis for assessing drug safety, thereby helping reduce drug-related harm.

Summary: Rational use of drugs is found in Chapter 5 (page 71) of KD Tripathi's Essentials of Medical Pharmacology (7th edition), under the heading "Rational Use of Medicines." The WHO definition emphasizes the right drug, right dose, right duration, and lowest cost for the right patient.

Generate a summary PDF on rational drug use for quick reference

Reading File
Running Command

mkdir -p /tmp/workspace/rational-drug-use && ls /tmp/workspace/rational-drug-use/

Writing File

~/rational-drug-use/generate_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, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import PageBreak

OUTPUT = "/tmp/workspace/rational-drug-use/Rational_Drug_Use_Quick_Reference.pdf"

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    rightMargin=1.8*cm,
    leftMargin=1.8*cm,
    topMargin=2*cm,
    bottomMargin=2*cm,
    title="Rational Use of Drugs - Quick Reference",
    author="KD Tripathi - Essentials of Medical Pharmacology"
)

# ── Colors ──────────────────────────────────────────────────────────────────
DARK_BLUE   = colors.HexColor("#1A3A5C")
MID_BLUE    = colors.HexColor("#2E6DA4")
LIGHT_BLUE  = colors.HexColor("#D6E8F7")
ACCENT_TEAL = colors.HexColor("#1B7A6E")
ACCENT_BG   = colors.HexColor("#E8F5F3")
WARN_RED    = colors.HexColor("#C0392B")
WARN_BG     = colors.HexColor("#FDEDEC")
GOLD        = colors.HexColor("#D4A017")
GOLD_BG     = colors.HexColor("#FEF9EC")
WHITE       = colors.white
LIGHT_GRAY  = colors.HexColor("#F4F6F8")
MID_GRAY    = colors.HexColor("#BDC3C7")
DARK_GRAY   = colors.HexColor("#2C3E50")

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

title_style = ParagraphStyle(
    "DocTitle",
    fontName="Helvetica-Bold",
    fontSize=22,
    textColor=WHITE,
    alignment=TA_CENTER,
    spaceAfter=4,
    leading=28
)
subtitle_style = ParagraphStyle(
    "DocSubtitle",
    fontName="Helvetica",
    fontSize=11,
    textColor=colors.HexColor("#AED6F1"),
    alignment=TA_CENTER,
    spaceAfter=2
)
source_style = ParagraphStyle(
    "Source",
    fontName="Helvetica-Oblique",
    fontSize=9,
    textColor=colors.HexColor("#85C1E9"),
    alignment=TA_CENTER
)
section_style = ParagraphStyle(
    "Section",
    fontName="Helvetica-Bold",
    fontSize=13,
    textColor=WHITE,
    alignment=TA_LEFT,
    leftIndent=6,
    spaceAfter=2,
    leading=18
)
body_style = ParagraphStyle(
    "Body",
    fontName="Helvetica",
    fontSize=9.5,
    textColor=DARK_GRAY,
    alignment=TA_JUSTIFY,
    leading=14,
    spaceAfter=4
)
bullet_style = ParagraphStyle(
    "Bullet",
    fontName="Helvetica",
    fontSize=9.5,
    textColor=DARK_GRAY,
    leftIndent=14,
    firstLineIndent=-10,
    leading=14,
    spaceAfter=3
)
bold_bullet_style = ParagraphStyle(
    "BoldBullet",
    fontName="Helvetica-Bold",
    fontSize=9.5,
    textColor=DARK_GRAY,
    leftIndent=14,
    firstLineIndent=-10,
    leading=14,
    spaceAfter=2
)
definition_style = ParagraphStyle(
    "Definition",
    fontName="Helvetica-Oblique",
    fontSize=10,
    textColor=DARK_BLUE,
    alignment=TA_JUSTIFY,
    leading=15,
    leftIndent=8,
    rightIndent=8
)
small_style = ParagraphStyle(
    "Small",
    fontName="Helvetica",
    fontSize=8.5,
    textColor=colors.HexColor("#566573"),
    leading=12
)
footer_style = ParagraphStyle(
    "Footer",
    fontName="Helvetica-Oblique",
    fontSize=8,
    textColor=colors.HexColor("#95A5A6"),
    alignment=TA_CENTER
)

# ─────────────────────────────────────────────────────────────────────────────
# Helper: section header bar
# ─────────────────────────────────────────────────────────────────────────────
def section_header(text, bg=MID_BLUE, number=None):
    label = f"{number}.  {text}" if number else text
    tbl = Table([[Paragraph(label, section_style)]], colWidths=[17.4*cm])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), bg),
        ("ROUNDEDCORNERS", [4,4,4,4]),
        ("TOPPADDING",    (0,0), (-1,-1), 6),
        ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ]))
    return tbl

def note_box(text, bg=LIGHT_BLUE, border=MID_BLUE, text_color=DARK_BLUE):
    p = Paragraph(text, ParagraphStyle(
        "NoteText", fontName="Helvetica", fontSize=9.5,
        textColor=text_color, alignment=TA_JUSTIFY, leading=14
    ))
    tbl = Table([[p]], colWidths=[17.4*cm])
    tbl.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), bg),
        ("BOX",           (0,0), (-1,-1), 1.2, border),
        ("TOPPADDING",    (0,0), (-1,-1), 8),
        ("BOTTOMPADDING", (0,0), (-1,-1), 8),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
        ("RIGHTPADDING",  (0,0), (-1,-1), 10),
    ]))
    return tbl

# ─────────────────────────────────────────────────────────────────────────────
# CONTENT
# ─────────────────────────────────────────────────────────────────────────────
story = []

# ── TITLE BANNER ─────────────────────────────────────────────────────────────
banner_data = [[
    Paragraph("RATIONAL USE OF DRUGS", title_style),
    Paragraph("Quick Reference Summary", subtitle_style),
    Paragraph("Source: KD Tripathi — Essentials of Medical Pharmacology, 7th Ed. | Chapter 5, Page 71", source_style),
]]
banner = Table(banner_data, colWidths=[17.4*cm])
banner.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), DARK_BLUE),
    ("TOPPADDING",    (0,0), (-1,-1), 18),
    ("BOTTOMPADDING", (0,0), (-1,-1), 18),
    ("LEFTPADDING",   (0,0), (-1,-1), 14),
    ("RIGHTPADDING",  (0,0), (-1,-1), 14),
    ("ROUNDEDCORNERS", [6,6,6,6]),
]))
story.append(banner)
story.append(Spacer(1, 14))

# ── 1. WHO DEFINITION ────────────────────────────────────────────────────────
story.append(section_header("WHO DEFINITION", number="1"))
story.append(Spacer(1, 6))
story.append(note_box(
    '"Rational use of medicines requires that patients receive medication <b>appropriate to their clinical needs</b>, '
    'in <b>doses that meet their individual requirements</b>, for an <b>adequate period of time</b>, '
    'and at the <b>lowest cost</b> to them and to their community."',
    bg=LIGHT_BLUE, border=MID_BLUE, text_color=DARK_BLUE
))
story.append(Spacer(1, 6))
story.append(Paragraph(
    "In simple terms: <b>Right Drug · Right Patient · Right Dose · Right Duration · Right Cost</b>",
    ParagraphStyle("RightDrug", fontName="Helvetica-Bold", fontSize=10,
                   textColor=ACCENT_TEAL, alignment=TA_CENTER, leading=14)
))
story.append(Spacer(1, 10))

# ── 2. REALITY CHECK ─────────────────────────────────────────────────────────
story.append(section_header("REALITY OF DRUG USE", bg=WARN_RED, number="2"))
story.append(Spacer(1, 6))
story.append(note_box(
    "Although it is widely assumed that qualified doctors prescribe rationally, <b>irrationality abounds in "
    "almost every aspect of drug use</b> worldwide — especially in developing countries. "
    "Medically inappropriate, ineffective, and economically inefficient drug use is common.",
    bg=WARN_BG, border=WARN_RED, text_color=colors.HexColor("#922B21")
))
story.append(Spacer(1, 10))

# ── 3. RATIONAL PRESCRIBING CRITERIA ─────────────────────────────────────────
story.append(section_header("CRITERIA FOR RATIONAL PRESCRIBING", number="3"))
story.append(Spacer(1, 7))

criteria = [
    ["#", "Criterion", "Description"],
    ["1", "Appropriate Indication",
     "Reason to prescribe is based on sound medical considerations"],
    ["2", "Appropriate Drug",
     "Correct choice in efficacy, tolerability, safety & suitability for patient"],
    ["3", "Appropriate Dose,\nRoute & Duration",
     "Individualized based on specific features of the patient"],
    ["4", "Appropriate Patient",
     "No contraindications; drug acceptable; adverse effect risk < expected benefit"],
    ["5", "Correct Dispensing",
     "Appropriate information & instructions given to the patient"],
    ["6", "Adequate Monitoring",
     "Monitoring of adherence + anticipated beneficial and untoward effects"],
]

col_widths = [1*cm, 4.5*cm, 11.9*cm]
criteria_table = Table(criteria, colWidths=col_widths, repeatRows=1)
criteria_table.setStyle(TableStyle([
    # Header row
    ("BACKGROUND",    (0,0), (-1,0), DARK_BLUE),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,0), 9.5),
    ("ALIGN",         (0,0), (-1,0), "CENTER"),
    ("TOPPADDING",    (0,0), (-1,0), 7),
    ("BOTTOMPADDING", (0,0), (-1,0), 7),
    # Alternating rows
    ("BACKGROUND",    (0,1), (-1,1), LIGHT_BLUE),
    ("BACKGROUND",    (0,2), (-1,2), WHITE),
    ("BACKGROUND",    (0,3), (-1,3), LIGHT_BLUE),
    ("BACKGROUND",    (0,4), (-1,4), WHITE),
    ("BACKGROUND",    (0,5), (-1,5), LIGHT_BLUE),
    ("BACKGROUND",    (0,6), (-1,6), WHITE),
    # Number column
    ("FONTNAME",      (0,1), (0,-1), "Helvetica-Bold"),
    ("TEXTCOLOR",     (0,1), (0,-1), MID_BLUE),
    ("ALIGN",         (0,0), (0,-1), "CENTER"),
    ("FONTNAME",      (1,1), (1,-1), "Helvetica-Bold"),
    ("TEXTCOLOR",     (1,1), (1,-1), DARK_BLUE),
    ("FONTNAME",      (2,1), (2,-1), "Helvetica"),
    ("FONTSIZE",      (1,1), (-1,-1), 9),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ("TOPPADDING",    (0,1), (-1,-1), 6),
    ("BOTTOMPADDING", (0,1), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("RIGHTPADDING",  (0,0), (-1,-1), 8),
    ("GRID",          (0,0), (-1,-1), 0.5, MID_GRAY),
    ("ROUNDEDCORNERS", [3,3,3,3]),
]))
story.append(criteria_table)
story.append(Spacer(1, 10))

# ── 4. SUPPLY-USE CHAIN ───────────────────────────────────────────────────────
story.append(section_header("SCOPE: SUPPLY-USE CHAIN", bg=ACCENT_TEAL, number="4"))
story.append(Spacer(1, 6))
story.append(Paragraph(
    "Rational use of medicines addresses <b>every step</b> in the drug supply-use chain:",
    body_style
))

chain_items = [
    ("Selection", "Choosing appropriate medicines based on clinical need & evidence"),
    ("Procurement", "Obtaining medicines efficiently and at lowest cost"),
    ("Storage", "Maintaining drug quality through proper storage conditions"),
    ("Prescribing", "The most critical step — core focus of rational drug use"),
    ("Dispensing", "Accurate dispensing with correct patient information"),
    ("Monitoring", "Follow-up for efficacy, adherence & adverse effects"),
    ("Feedback", "Continuous improvement through pharmacovigilance data"),
]

chain_data = []
for i, (step, desc) in enumerate(chain_items):
    arrow = "➜" if i < len(chain_items)-1 else "✓"
    chain_data.append([
        Paragraph(f"<b>{step}</b>", ParagraphStyle(
            "ChainStep", fontName="Helvetica-Bold", fontSize=9,
            textColor=WHITE if i % 2 == 0 else DARK_BLUE,
            alignment=TA_CENTER, leading=12
        )),
        Paragraph(desc, ParagraphStyle(
            "ChainDesc", fontName="Helvetica", fontSize=9,
            textColor=DARK_GRAY, leading=12
        )),
    ])

chain_table = Table(chain_data, colWidths=[3.8*cm, 13.6*cm])
row_colors = []
for i in range(len(chain_items)):
    bg = ACCENT_TEAL if i % 2 == 0 else ACCENT_BG
    row_colors.append(("BACKGROUND", (0,i), (0,i), bg))

chain_table.setStyle(TableStyle([
    *row_colors,
    ("BACKGROUND",    (1,0), (1,-1), WHITE),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("RIGHTPADDING",  (0,0), (-1,-1), 8),
    ("GRID",          (0,0), (-1,-1), 0.5, MID_GRAY),
]))
story.append(chain_table)
story.append(Spacer(1, 10))

# ── 5. ESSENTIAL MEDICINES LIST ──────────────────────────────────────────────
story.append(section_header("ESSENTIAL MEDICINES LIST (EML)", bg=colors.HexColor("#6C3483"), number="5"))
story.append(Spacer(1, 6))
story.append(note_box(
    "Adoption of the <b>Essential Medicines List</b> for procurement and supply (especially in the public sector) "
    "has resulted in: <b>improved availability of medicines · cost savings · more rational drug use</b>. "
    "The EML is a cornerstone strategy for promoting rationality at the system level.",
    bg=colors.HexColor("#F4ECF7"),
    border=colors.HexColor("#6C3483"),
    text_color=colors.HexColor("#4A235A")
))
story.append(Spacer(1, 10))

# ── 6. FACTORS INFLUENCING PRESCRIBING ───────────────────────────────────────
story.append(section_header("FACTORS INFLUENCING PRESCRIBING", bg=colors.HexColor("#1A5276"), number="6"))
story.append(Spacer(1, 6))
story.append(note_box(
    "<b>Key insight from Tripathi:</b> Knowledge of the prescriber is the most important determinant of prescribing "
    "pattern — but <b>improving knowledge alone has repeatedly failed</b> to promote rational drug use. "
    "Multiple other factors also influence prescribing behavior:",
    bg=GOLD_BG, border=GOLD, text_color=colors.HexColor("#6E5200")
))
story.append(Spacer(1, 6))

factors_data = [
    ["Prescriber Factors", "Patient Factors", "System/Regulatory Factors"],
    [
        "• Knowledge of drugs & disease\n• Attitudes & beliefs\n• Experience & specialty\n• Continuing education",
        "• Clinical needs & severity\n• Age, weight, comorbidities\n• Patient preferences\n• Ability to pay",
        "• Drug availability (EML)\n• Advertising & promotion\n• Regulatory controls\n• Pharmacovigilance data"
    ],
]
factors_table = Table(factors_data, colWidths=[5.8*cm, 5.8*cm, 5.8*cm])
factors_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), colors.HexColor("#1A5276")),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,0), 9),
    ("ALIGN",         (0,0), (-1,0), "CENTER"),
    ("BACKGROUND",    (0,1), (0,1), colors.HexColor("#D6EAF8")),
    ("BACKGROUND",    (1,1), (1,1), colors.HexColor("#EBF5FB")),
    ("BACKGROUND",    (2,1), (2,1), colors.HexColor("#D6EAF8")),
    ("FONTSIZE",      (0,1), (-1,-1), 9),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("TOPPADDING",    (0,0), (-1,-1), 7),
    ("BOTTOMPADDING", (0,0), (-1,-1), 7),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("RIGHTPADDING",  (0,0), (-1,-1), 8),
    ("GRID",          (0,0), (-1,-1), 0.5, MID_GRAY),
]))
story.append(factors_table)
story.append(Spacer(1, 10))

# ── 7. PHARMACOVIGILANCE CONNECTION ──────────────────────────────────────────
story.append(section_header("PHARMACOVIGILANCE & RATIONAL DRUG USE", bg=ACCENT_TEAL, number="7"))
story.append(Spacer(1, 6))

pv_data = [
    [
        Paragraph("<b>WHO Definition (2002)</b>", ParagraphStyle(
            "PVHead", fontName="Helvetica-Bold", fontSize=9.5,
            textColor=DARK_BLUE, leading=13
        )),
        Paragraph(
            '"The science and activities relating to the <b>detection, assessment, understanding and prevention</b> '
            'of adverse effects or any other drug-related problems."',
            ParagraphStyle("PVDef", fontName="Helvetica", fontSize=9.5,
                           textColor=DARK_GRAY, leading=13, alignment=TA_JUSTIFY)
        ),
    ],
    [
        Paragraph("<b>Role in Rational Use</b>", ParagraphStyle(
            "PVHead2", fontName="Helvetica-Bold", fontSize=9.5,
            textColor=DARK_BLUE, leading=13
        )),
        Paragraph(
            "• Provides basis for assessing <b>safety of medicines</b><br/>"
            "• Reduces risk of drug-related harm<br/>"
            "• Educates doctors about ADRs<br/>"
            "• Supports official regulation of drug use",
            ParagraphStyle("PVRole", fontName="Helvetica", fontSize=9.5,
                           textColor=DARK_GRAY, leading=14)
        ),
    ],
]
pv_table = Table(pv_data, colWidths=[4*cm, 13.4*cm])
pv_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (0,-1), ACCENT_BG),
    ("BACKGROUND",    (1,0), (1,-1), WHITE),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ("TOPPADDING",    (0,0), (-1,-1), 8),
    ("BOTTOMPADDING", (0,0), (-1,-1), 8),
    ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ("RIGHTPADDING",  (0,0), (-1,-1), 10),
    ("GRID",          (0,0), (-1,-1), 0.5, MID_GRAY),
    ("LINEABOVE",     (0,1), (-1,1), 0.8, MID_GRAY),
]))
story.append(pv_table)
story.append(Spacer(1, 12))

# ── 8. QUICK MEMORY AID ───────────────────────────────────────────────────────
story.append(section_header("QUICK MEMORY AID — 6 Rs of Rational Prescribing", bg=GOLD, number="8"))
story.append(Spacer(1, 6))

rs_data = [
    ["Right\nIndication", "Right\nDrug", "Right\nDose", "Right\nDuration", "Right\nPatient", "Right\nCost"],
]
rs_table = Table(rs_data, colWidths=[2.9*cm]*6)
rs_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), DARK_BLUE),
    ("TEXTCOLOR",     (0,0), (-1,-1), WHITE),
    ("FONTNAME",      (0,0), (-1,-1), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 10),
    ("ALIGN",         (0,0), (-1,-1), "CENTER"),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ("TOPPADDING",    (0,0), (-1,-1), 12),
    ("BOTTOMPADDING", (0,0), (-1,-1), 12),
    ("GRID",          (0,0), (-1,-1), 1.5, WHITE),
    ("BACKGROUND",    (1,0), (1,0), MID_BLUE),
    ("BACKGROUND",    (3,0), (3,0), MID_BLUE),
    ("BACKGROUND",    (5,0), (5,0), MID_BLUE),
]))
story.append(rs_table)
story.append(Spacer(1, 12))

# ── FOOTER ────────────────────────────────────────────────────────────────────
story.append(HRFlowable(width="100%", thickness=0.8, color=MID_GRAY))
story.append(Spacer(1, 5))
story.append(Paragraph(
    "Reference: KD Tripathi, Essentials of Medical Pharmacology, 7th Edition, Chapter 5 (Pharmacotherapy, "
    "Clinical Pharmacology and Drug Development), Page 71. Jaypee Brothers Medical Publishers, New Delhi. "
    "| Prepared for quick clinical reference — always verify against current guidelines.",
    footer_style
))

# ── BUILD ─────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

python /tmp/workspace/rational-drug-use/generate_pdf.py

Your PDF is ready! Here's what's included:

Rational Drug Use Quick Reference

PDF Document · PDF


The PDF is a single-page A4 quick reference with 8 color-coded sections:
SectionContent
1. WHO DefinitionFull WHO definition with the "5 Rights" highlighted
2. Reality of Drug UseTripathi's warning about widespread irrationality in prescribing
3. Criteria for Rational PrescribingAll 6 criteria in a formatted table (Indication, Drug, Dose, Patient, Dispensing, Monitoring)
4. Supply-Use ChainAll 7 steps from Selection → Feedback
5. Essential Medicines ListRole of EML in promoting rational drug use
6. Factors Influencing PrescribingPrescriber / Patient / System factors in a 3-column table
7. PharmacovigilanceWHO definition + its link to rational drug use
8. Quick Memory AidThe "6 Rs" banner for rapid recall
Source and reference footer is included at the bottom citing KD Tripathi, 7th Ed., Chapter 5, Page 71.
This is a shared conversation. Sign in to Orris to start your own chat.