Solve this paper
| Member | Role |
|---|---|
| Medical Superintendent / Hospital Director | Chairman |
| Infection Control Officer (Microbiologist/Physician) | Convener / Co-chairman |
| Infection Control Nurse (ICN) | Secretary |
| Clinical Pharmacist | Member |
| Surgeon | Member |
| Physician / Internist | Member |
| Nursing Superintendent | Member |
| Head of Housekeeping/Sanitation | Member |
| Engineer / Biomedical Engineer | Member |
| Dietary/Nutrition officer | Member |
| Central Sterile Supply Dept. (CSSD) Head | Member |
Hospital Administration / Medical Superintendent
|
Director of Pharmacy / Chief Pharmacist
|
Deputy / Assistant Chief Pharmacist
|
________________________|________________________
| | | |
Inpatient Outpatient Clinical Drug Store /
Pharmacy Pharmacy Pharmacy Procurement
Head Head Services Manager
| | | |
Staff Staff Clinical Store
Pharmacists Pharmacists Pharmacists Assistants
|
Pharmacy Technicians / Helpers
Reorder Level = Maximum daily consumption × Maximum lead time
ROL = (Average daily consumption × Lead time) + Safety stock
All 15 questions answered. The paper covers: Section I (Q1-Q4), Section II (Q5-Q10), Section III (Q11-Q15). For the exam, you are required to answer any 3 from Section I, any 5 from Section II, and all 5 from Section III.
Generate a study guide PDF summarizing all 15 answers for exam revision
ls -la /tmp/workspace/ 2>/dev/null || echo "workspace does not exist"
mkdir -p /tmp/workspace/hospital-pharmacy-study-guide && python3 << 'EOF' from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm from reportlab.lib import colors from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, KeepTogether, PageBreak) from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY from reportlab.platypus import ListFlowable, ListItem output_path = "/tmp/workspace/hospital-pharmacy-study-guide/Hospital_Pharmacy_Study_Guide.pdf" doc = SimpleDocTemplate( output_path, pagesize=A4, rightMargin=2*cm, leftMargin=2*cm, topMargin=2*cm, bottomMargin=2*cm, title="Hospital & Clinical Pharmacy - Study Guide", author="The Oxford College of Pharmacy", subject="II D.Pharm - I Sessional Exam 2025-26" ) W, H = A4 styles = getSampleStyleSheet() # ── Custom styles ────────────────────────────────────────────────────────────── DARK_BLUE = colors.HexColor("#1a3c6e") MID_BLUE = colors.HexColor("#2f6bbf") ACCENT = colors.HexColor("#e8f0fe") HEADER_BG = colors.HexColor("#1a3c6e") SUBHEAD_BG = colors.HexColor("#2f6bbf") LIGHT_GREY = colors.HexColor("#f5f5f5") GREEN_DARK = colors.HexColor("#1a6e3c") GREEN_LIGHT = colors.HexColor("#e8f5e9") ORANGE = colors.HexColor("#e65c00") cover_title = ParagraphStyle("cover_title", parent=styles["Title"], fontSize=22, textColor=colors.white, spaceAfter=8, alignment=TA_CENTER, leading=28) cover_sub = ParagraphStyle("cover_sub", parent=styles["Normal"], fontSize=12, textColor=colors.white, spaceAfter=4, alignment=TA_CENTER, leading=16) section_header = ParagraphStyle("section_header", parent=styles["Normal"], fontSize=14, textColor=colors.white, backColor=HEADER_BG, spaceBefore=14, spaceAfter=6, leftIndent=-10, rightIndent=-10, borderPad=6, leading=18, fontName="Helvetica-Bold") q_title = ParagraphStyle("q_title", parent=styles["Normal"], fontSize=12, textColor=colors.white, backColor=MID_BLUE, spaceBefore=10, spaceAfter=4, leftIndent=-8, rightIndent=-8, borderPad=5, leading=16, fontName="Helvetica-Bold") sub_heading = ParagraphStyle("sub_heading", parent=styles["Normal"], fontSize=10, textColor=DARK_BLUE, spaceBefore=6, spaceAfter=2, fontName="Helvetica-Bold", leading=14) body = ParagraphStyle("body", parent=styles["Normal"], fontSize=9.5, textColor=colors.black, spaceAfter=3, leading=14, alignment=TA_JUSTIFY) bullet_style = ParagraphStyle("bullet_style", parent=styles["Normal"], fontSize=9.5, textColor=colors.black, spaceAfter=2, leading=13, leftIndent=12, bulletIndent=0) note_style = ParagraphStyle("note_style", parent=styles["Normal"], fontSize=9, textColor=GREEN_DARK, backColor=GREEN_LIGHT, spaceAfter=4, leading=13, leftIndent=10, rightIndent=10, borderPad=4, fontName="Helvetica-Oblique") mark_style = ParagraphStyle("mark_style", parent=styles["Normal"], fontSize=9, textColor=ORANGE, spaceAfter=3, leading=13, fontName="Helvetica-BoldOblique") def B(text): return f"<b>{text}</b>" def U(text): return f"<u>{text}</u>" def I(text): return f"<i>{text}</i>" def H(text, style=section_header): return Paragraph(text, style) def P(text, style=body): return Paragraph(text, style) def SH(text): return Paragraph(text, sub_heading) def SP(h=6): return Spacer(1, h) def HR(): return HRFlowable(width="100%", thickness=0.5, color=colors.lightgrey, spaceAfter=4) def Bullet(items, style=bullet_style): return [Paragraph(f"• {i}", style) for i in items] def make_table(data, col_widths=None, header_bg=DARK_BLUE): t = Table(data, colWidths=col_widths, repeatRows=1) style_cmds = [ ("BACKGROUND", (0,0), (-1,0), header_bg), ("TEXTCOLOR", (0,0), (-1,0), colors.white), ("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"), ("FONTSIZE", (0,0), (-1,0), 9), ("ALIGN", (0,0), (-1,0), "CENTER"), ("ROWBACKGROUNDS",(0,1),(-1,-1), [colors.white, LIGHT_GREY]), ("FONTNAME", (0,1), (-1,-1), "Helvetica"), ("FONTSIZE", (0,1), (-1,-1), 9), ("GRID", (0,0), (-1,-1), 0.4, colors.grey), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING",(0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ] t.setStyle(TableStyle(style_cmds)) return t story = [] # ═══════════════════════════════════════════════════════ # COVER PAGE # ═══════════════════════════════════════════════════════ cover_table_data = [[ Paragraph("🎓 HOSPITAL & CLINICAL PHARMACY", cover_title), ]] cover_box = Table([[ Paragraph("<b>Hospital & Clinical Pharmacy</b>", cover_title) ]], colWidths=[16*cm]) cover_box.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), DARK_BLUE), ("ROUNDEDCORNERS", [8]), ("TOPPADDING", (0,0), (-1,-1), 20), ("BOTTOMPADDING",(0,0),(-1,-1), 20), ])) story.append(SP(40)) story.append(cover_box) story.append(SP(10)) sub_box = Table([[ Paragraph("Complete Study Guide & Model Answers", cover_sub) ]], colWidths=[16*cm]) sub_box.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), MID_BLUE), ("TOPPADDING", (0,0), (-1,-1), 10), ("BOTTOMPADDING",(0,0),(-1,-1), 10), ])) story.append(sub_box) story.append(SP(20)) info_data = [ ["Institution", "The Oxford College of Pharmacy, Bangalore - 560068"], ["Exam", "I Sessional Examination 2025-26"], ["Year / Course","II D.Pharm | Hospital and Clinical Pharmacy"], ["Max Marks", "40 Marks | Time: 02:00 – 03:30 PM"], ["Sections", "Long Answers (3×5=15) | Short Answers (5×3=15) | 2-Mark Qs (5×2=10)"], ] info_t = Table(info_data, colWidths=[4*cm, 12*cm]) info_t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (0,-1), LIGHT_GREY), ("FONTNAME", (0,0), (0,-1), "Helvetica-Bold"), ("FONTSIZE", (0,0), (-1,-1), 9.5), ("GRID", (0,0), (-1,-1), 0.4, colors.grey), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 8), ])) story.append(info_t) story.append(SP(30)) story.append(P(I("This guide covers all 15 exam questions with detailed model answers for quick revision."), note_style)) story.append(PageBreak()) # ═══════════════════════════════════════════════════════ # QUICK REFERENCE TABLE # ═══════════════════════════════════════════════════════ story.append(H(" QUICK REFERENCE — ALL 15 QUESTIONS")) story.append(SP(6)) qref = [ ["Q#", "Question Topic", "Section", "Marks"], ["Q1", "Infection Control Committee — Composition & Functions", "Long Answer", "5"], ["Q2", "Types of Tender", "Long Answer", "5"], ["Q3", "Inventory Control Techniques", "Long Answer", "5"], ["Q4", "Organizational Structure of Hospital Pharmacy", "Long Answer", "5"], ["Q5", "NABH Accreditation", "Short Answer","3"], ["Q6", "Methods of Drug Disposal", "Short Answer","3"], ["Q7", "Role of Pharmacist in Preventing Antibiotic Misuse", "Short Answer","3"], ["Q8", "Steps in Purchase Procedure", "Short Answer","3"], ["Q9", "Electronic Health Record (EHR)", "Short Answer","3"], ["Q10", "Good Pharmacy Practice (GPP) in Hospital", "Short Answer","3"], ["Q11", "Define Hospital Formulary", "2-Mark", "2"], ["Q12", "Reorder Quantity Level", "2-Mark", "2"], ["Q13", "FIFO and FEFO Methods", "2-Mark", "2"], ["Q14", "Examples of Reserved Antibiotics", "2-Mark", "2"], ["Q15", "Schedule H1 Drugs", "2-Mark", "2"], ] story.append(make_table(qref, col_widths=[1.2*cm, 9*cm, 3.5*cm, 2.3*cm])) story.append(PageBreak()) # ═══════════════════════════════════════════════════════ # SECTION I — LONG ANSWERS # ═══════════════════════════════════════════════════════ story.append(H(" SECTION I — LONG ANSWERS (Answer Any 3 × 5 = 15 Marks)")) story.append(SP(8)) # ── Q1 ────────────────────────────────────────────────── story.append(H(" Q1. Infection Control Committee (ICC) — Composition & Functions", q_title)) story.append(SP(4)) story.append(P("<b>Definition:</b> The ICC is a multidisciplinary hospital committee responsible for preventing, monitoring, and controlling hospital-acquired (nosocomial) infections.")) story.append(SP(4)) story.append(SH("Composition of ICC")) icc_data = [ ["Member", "Role"], ["Medical Superintendent / Hospital Director", "Chairman"], ["Infection Control Officer (Microbiologist / Physician)", "Convener / Co-chairman"], ["Infection Control Nurse (ICN)", "Secretary"], ["Clinical Pharmacist", "Member"], ["Surgeon", "Member"], ["Physician / Internist", "Member"], ["Nursing Superintendent", "Member"], ["Head of Housekeeping / Sanitation", "Member"], ["Engineer / Biomedical Engineer", "Member"], ["Dietary / Nutrition Officer", "Member"], ["CSSD Head", "Member"], ] story.append(make_table(icc_data, col_widths=[10*cm, 6*cm])) story.append(SP(6)) story.append(SH("Functions of ICC")) story += Bullet([ "<b>Surveillance</b> — Monitor nosocomial infection rates, identify outbreaks and trends.", "<b>Policy Formulation</b> — Develop written policies on standard precautions, isolation, aseptic techniques.", "<b>Antibiotic Stewardship</b> — Review prescribing patterns; recommend antibiotic policy & formulary.", "<b>Education & Training</b> — Train HCWs on hand hygiene, PPE, waste segregation.", "<b>Environmental Monitoring</b> — Oversee cleanliness, sterilization, disinfection, air/water quality.", "<b>Outbreak Investigation</b> — Investigate infection clusters, identify source, implement control.", "<b>Disinfectant / Sterilization Review</b> — Approve agents and methods used hospital-wide.", "<b>Reporting</b> — Submit periodic reports to administration and health authorities (NABH).", "<b>Waste Management</b> — Ensure biomedical waste is handled and disposed per BMW Rules 2016.", "<b>Quality Improvement</b> — Monitor infection rates against benchmarks; implement corrective actions.", ]) story.append(HR()) # ── Q2 ────────────────────────────────────────────────── story.append(H(" Q2. Types of Tender", q_title)) story.append(SP(4)) story.append(P("<b>Definition:</b> A tender is a formal invitation to suppliers to submit bids/offers for supply of drugs, equipment, or services to a hospital at a specified price and quality.")) story.append(SP(4)) tender_data = [ ["Type", "Description", "When Used", "Key Feature"], ["Open Tender\n(Public)", "Advertised publicly; any eligible supplier can bid", "High-value purchases", "Most transparent; maximum competition"], ["Limited Tender\n(Selective)","Sent to a pre-selected list of known suppliers", "Small supplier pool or urgency", "Faster; reliable suppliers"], ["Single Tender\n(Sole Source)","Only one supplier approached", "Proprietary drugs; emergencies", "Quick; no competition; high price risk"], ["Rate Contract\nTender", "Fixed-rate contract with supplier for a period (1 year)", "Govt hospitals; routine items", "Price stability; avoids re-tendering"], ["Two-Bid / Two-Envelope","Technical bid & financial bid submitted separately", "Quality-critical purchases", "Quality checked before price"], ["Global Tender\n(ICB)", "Open to domestic and foreign suppliers", "High-value / specialty items", "Widest competition; complex process"], ] story.append(make_table(tender_data, col_widths=[3*cm, 4.5*cm, 3.8*cm, 4.7*cm])) story.append(HR()) # ── Q3 ────────────────────────────────────────────────── story.append(H(" Q3. Inventory Control Techniques", q_title)) story.append(SP(4)) story.append(P("<b>Definition:</b> Inventory control is the process of managing hospital drug stocks to ensure continuous availability at minimum cost, avoiding both stockouts and overstocking.")) story.append(SP(4)) story.append(SH("1. ABC Analysis (Always Better Control)")) abc_data = [ ["Category", "% of Items", "% of Annual Value", "Control Level", "Example"], ["A (High value)", "~10%", "~70%", "Strict — frequent review, monthly order", "Biologics, high-cost antibiotics"], ["B (Medium value)", "~20%", "~20%", "Moderate control, quarterly review", "Mid-range drugs"], ["C (Low value)", "~70%", "~10%", "Loose control, bulk ordering", "Cotton, bandages, common OTC"], ] story.append(make_table(abc_data, col_widths=[2.8*cm, 2*cm, 3*cm, 4.2*cm, 4*cm])) story.append(SP(6)) story.append(SH("2. VED Analysis (Vital, Essential, Desirable)")) story += Bullet([ "<b>Vital (V):</b> Life-saving drugs — must NEVER be out of stock. (e.g., Adrenaline, Atropine, Morphine)", "<b>Essential (E):</b> Important drugs — stock-out causes significant patient harm.", "<b>Desirable (D):</b> Less critical — stock-out is inconvenient but not dangerous.", ]) story.append(SP(4)) story.append(SH("3. SDE Analysis")) story += Bullet([ "<b>S (Scarce):</b> Rarely available in the market — maintain large safety stock.", "<b>D (Difficult):</b> Available with difficulty — maintain moderate stock.", "<b>E (Easy):</b> Easily sourced locally — minimal stock needed.", ]) story.append(SP(4)) story.append(SH("4. EOQ (Economic Order Quantity)")) story.append(P("Optimal order quantity minimising total ordering + carrying cost.")) story.append(P("<b>Formula: EOQ = √(2 × D × O / C)</b> where D = Annual demand, O = Ordering cost/order, C = Carrying cost/unit/year.", note_style)) story.append(SP(4)) story.append(SH("5. Other Techniques")) story += Bullet([ "<b>Reorder Level (ROL):</b> ROL = Max daily consumption × Max lead time.", "<b>FIFO / FEFO:</b> First In First Out / First Expired First Out — prevents stock expiry.", "<b>Two-Bin System:</b> Stock kept in two bins; when first empties, order is placed.", "<b>Min-Max Technique:</b> Stock maintained between minimum (safety) and maximum levels.", ]) story.append(HR()) # ── Q4 ────────────────────────────────────────────────── story.append(H(" Q4. Organizational Structure of Hospital Pharmacy", q_title)) story.append(SP(4)) story.append(SH("Hierarchy (Top to Bottom)")) hierarchy = [ ["Level", "Position"], ["1 (Top)", "Hospital Administration / Medical Superintendent"], ["2", "Director of Pharmacy / Chief Pharmacist"], ["3", "Deputy / Assistant Chief Pharmacist"], ["4", "Section Heads: Inpatient Pharmacy | Outpatient Pharmacy | Clinical Pharmacy | Drug Store"], ["5", "Staff Pharmacists / Clinical Pharmacists / Store Managers"], ["6 (Base)","Pharmacy Technicians / Pharmacy Helpers"], ] story.append(make_table(hierarchy, col_widths=[2.5*cm, 13.5*cm])) story.append(SP(6)) story.append(SH("Key Departments / Sections")) dept_data = [ ["Department", "Function"], ["Inpatient (Indoor) Pharmacy", "Dispenses to admitted patients; unit-dose dispensing; ward rounds"], ["Outpatient (OPD) Pharmacy", "Dispenses prescriptions to ambulatory / OPD patients"], ["Drug Store / Central Store", "Procurement, storage, and supply of all drugs to departments"], ["Clinical Pharmacy Services", "Drug therapy monitoring, ADR reporting, patient care involvement"], ["Manufacturing / Compounding", "IV admixtures, parenteral nutrition, extemporaneous preparations"], ["Drug Information Center (DIC)","Provides evidence-based drug information to HCWs and patients"], ["Pharmacy & Therapeutics Committee (PTC)", "Formulary management, drug-use policy"], ] story.append(make_table(dept_data, col_widths=[5.5*cm, 10.5*cm])) story.append(PageBreak()) # ═══════════════════════════════════════════════════════ # SECTION II — SHORT ANSWERS # ═══════════════════════════════════════════════════════ story.append(H(" SECTION II — SHORT ANSWERS (Answer Any 5 × 3 = 15 Marks)")) story.append(SP(8)) # ── Q5 ────────────────────────────────────────────────── story.append(H(" Q5. NABH Accreditation", q_title)) story.append(SP(4)) story.append(P("<b>NABH</b> = <b>National Accreditation Board for Hospitals and Healthcare Providers</b>. Established by the Quality Council of India (QCI) in <b>2005</b>.")) story.append(SP(4)) story.append(SH("NABH Accreditation — 10 Chapters")) nabh_data = [ ["Chapter", "Full Form"], ["AAC", "Access, Assessment and Continuity of Care"], ["COP", "Care of Patients"], ["MOM", "Management of Medication (most relevant to pharmacy)"], ["PRE", "Patient Rights and Education"], ["HIC", "Hospital Infection Control"], ["CQI", "Continuous Quality Improvement"], ["HRM", "Human Resource Management"], ["IMS", "Information Management System"], ["FMS", "Facility Management and Safety"], ["ROM", "Responsibilities of Management"], ] story.append(make_table(nabh_data, col_widths=[2.5*cm, 13.5*cm])) story.append(SP(4)) story.append(SH("Benefits of NABH Accreditation")) story += Bullet([ "Improves quality and patient safety across all departments.", "Builds patient trust and institutional credibility.", "Enables medical tourism (international patients).", "Required for empanelment with CGHS, ESIC, Ayushman Bharat.", "Encourages continuous quality improvement culture.", ]) story.append(HR()) # ── Q6 ────────────────────────────────────────────────── story.append(H(" Q6. Methods of Drug Disposal", q_title)) story.append(SP(4)) disposal_data = [ ["Method", "Description", "Suitable For"], ["Return to Manufacturer", "Expired/recalled drugs returned to supplier", "Large quantities, recalled products"], ["Incineration (>1000°C)", "High-temperature burning in licensed incinerators", "Cytotoxics, controlled drugs, hazardous items"], ["Chemical Degradation", "Drugs inactivated with acids/bases before disposal", "Specific hazardous chemicals"], ["Landfill Disposal", "Encapsulated drugs deposited in sanitary landfills", "Non-hazardous solid drugs only"], ["Drug Take-Back Programs", "Patients return unused drugs to pharmacy", "Unused/expired household medicines"], ["Encapsulation", "Mixed with cement/lime/clay in drum, then sealed", "Solid oral dosage forms"], ["Sewage (limited)", "Highly diluted water-soluble, non-toxic drugs only", "Generally discouraged due to environmental risk"], ] story.append(make_table(disposal_data, col_widths=[3.5*cm, 6.5*cm, 6*cm])) story.append(SP(4)) story.append(P("<b>BMW Rules 2016 (India):</b> Cytotoxic / pharmaceutical waste → Yellow bag → Incineration. Controlled substances must be destroyed in presence of a govt. official with documentation.", note_style)) story.append(HR()) # ── Q7 ────────────────────────────────────────────────── story.append(H(" Q7. Role of Pharmacist in Preventing Misuse of Antibiotics", q_title)) story.append(SP(4)) story.append(P("The pharmacist is a key player in <b>Antibiotic Stewardship</b> — the coordinated programme to promote appropriate antibiotic use and combat AMR (Antimicrobial Resistance).")) story.append(SP(4)) story += Bullet([ "<b>Dispensing only on valid prescription</b> — Antibiotics are Schedule H / H1 drugs; no OTC dispensing.", "<b>Patient counselling</b> — Complete the full course; do not share; do not self-medicate.", "<b>Prescription review</b> — Detect inappropriate choice, dose, duration, or indication.", "<b>Formulary management</b> — Participate in PTC to maintain rational antibiotic formulary; restrict broad-spectrum agents.", "<b>Drug Information</b> — Provide antibiotic spectrum data, local antibiogram, resistance trends to prescribers.", "<b>ADR Monitoring</b> — Identify and report antibiotic adverse effects (e.g., C. difficile colitis from broad-spectrum antibiotics).", "<b>IV-to-Oral Switch</b> — Recommend oral switch when patient is stable to reduce hospital stay.", "<b>Drug Interaction Detection</b> — E.g., fluoroquinolones + antacids reduce absorption.", "<b>Education & Awareness</b> — Conduct AMR awareness programmes for HCWs and public.", "<b>PVPI Reporting</b> — Report ADRs and resistance data to Pharmacovigilance Programme of India.", ]) story.append(HR()) # ── Q8 ────────────────────────────────────────────────── story.append(H(" Q8. Steps in Purchase Procedure", q_title)) story.append(SP(4)) purchase_data = [ ["Step", "Action", "Details"], ["1", "Identification of Need (Indent)", "Dept. heads raise a purchase requisition specifying drug, quantity, specs."], ["2", "Budgetary Approval", "Indent forwarded to administration for budget sanction."], ["3", "Preparation of Specifications", "Define BP/IP grade, shelf life, packaging requirements."], ["4", "Invitation of Tenders / Quotations", "Open/limited/rate contract tenders floated to approved vendors."], ["5", "Evaluation of Bids", "Technical committee evaluates on quality, price, delivery, track record."], ["6", "Selection of Supplier & Negotiation", "Lowest qualified bidder (L1) selected; terms negotiated."], ["7", "Issue of Purchase Order (PO)", "Formal PO issued specifying drug, quantity, price, delivery, payment terms."], ["8", "Receipt of Goods", "Goods received at store; Goods Receipt Note (GRN) prepared."], ["9", "Quality Inspection", "Check quantity, labeling, packaging, expiry date, manufacturer's CoA."], ["10","Storage", "Approved goods stored under appropriate conditions (temp, humidity, light)."], ["11","Payment", "Processed after satisfactory inspection per agreed payment terms."], ] story.append(make_table(purchase_data, col_widths=[1*cm, 4.5*cm, 10.5*cm])) story.append(HR()) # ── Q9 ────────────────────────────────────────────────── story.append(H(" Q9. Electronic Health Record (EHR)", q_title)) story.append(SP(4)) story.append(P("<b>Definition:</b> An EHR is a digitized, longitudinal record of a patient's health information collected from all providers involved in their care, stored in a standardized electronic format.")) story.append(SP(4)) ehr_cols = [["Components", "Advantages", "Disadvantages"]] story.append(SH("Components, Advantages & Disadvantages")) ehr_data = [ ["Components", "Advantages", "Disadvantages"], ["Patient demographics", "Accessibility — available to all authorized providers instantly", "High initial implementation cost"], ["Medical history & diagnoses", "Accuracy — eliminates illegible handwriting errors", "Risk of data breaches / privacy concerns"], ["Medication list & prescriptions", "Drug Safety — CDSS alerts for interactions, allergies", "Staff training required"], ["Lab / radiology reports", "Continuity of Care — complete history for follow-up", "System downtime disrupts care"], ["Nursing notes & allergy info", "Efficiency — reduces paperwork, speeds workflows", ""], ["Immunization records", "Research — population data for disease surveillance", ""], ["Discharge summaries", "Medicolegal — permanent, tamper-evident records", ""], ] story.append(make_table(ehr_data, col_widths=[5*cm, 6.5*cm, 4.5*cm])) story.append(SP(4)) story.append(P("<b>EHR vs EMR:</b> EMR = digital record within a single clinic/practice. EHR = broader; shared across multiple providers and healthcare systems.", note_style)) story.append(HR()) # ── Q10 ────────────────────────────────────────────────── story.append(H(" Q10. Good Pharmacy Practice (GPP) in Hospital", q_title)) story.append(SP(4)) story.append(P("<b>Definition:</b> GPP describes the minimum requirements and responsibilities for pharmacy practice to ensure quality pharmaceutical services. Based on <b>FIP/WHO GPP Guidelines (1993, revised 2011)</b>.")) story.append(SP(4)) story.append(SH("Core Elements of GPP in Hospital")) story += Bullet([ "<b>Appropriate Drug Dispensing</b> — Accurate dispensing with proper labeling (drug, dose, frequency, storage); unit-dose system.", "<b>Drug Storage & Handling</b> — Temperature-controlled storage, FIFO/FEFO, stock rotation; controlled substances in double-locked cabinets.", "<b>Patient Counselling & Education</b> — Counsel on correct drug use, ADR recognition, and adherence.", "<b>Drug Information Services</b> — Accurate, unbiased drug information to patients and healthcare team.", "<b>ADR Monitoring</b> — Identify, document, and report ADRs through pharmacovigilance (PVPI).", "<b>Drug Therapy Monitoring</b> — Clinical pharmacist monitors therapy for appropriateness, efficacy, and safety.", "<b>Formulary Management</b> — Participation in PTC to maintain rational, evidence-based drug formulary.", "<b>Rational Drug Use Promotion</b> — Discourage polypharmacy, irrational FDCs, unnecessary prescriptions.", "<b>Record Keeping & Documentation</b> — Accurate records of dispensing, procurement, controlled substances.", "<b>Infection Control Compliance</b> — Maintain aseptic conditions in compounding and sterile preparation areas.", ]) story.append(PageBreak()) # ═══════════════════════════════════════════════════════ # SECTION III — 2 MARK QUESTIONS # ═══════════════════════════════════════════════════════ story.append(H(" SECTION III — TWO MARKS QUESTIONS (Answer All 5 × 2 = 10 Marks)")) story.append(SP(8)) # ── Q11 ────────────────────────────────────────────────── story.append(H(" Q11. Define Hospital Formulary", q_title)) story.append(SP(4)) story.append(P("A <b>hospital formulary</b> is an official, continually revised list of drugs (with dosage forms, strengths, and dosing guidelines) selected by the hospital's <b>Pharmacy and Therapeutics Committee (PTC)</b> as preferred medicines for that institution.")) story.append(SP(4)) story += Bullet([ "Based on evidence of efficacy, safety, and cost-effectiveness.", "Guides prescribers, pharmacists, and nurses.", "Also called the 'Formulary System' when it includes prescribing policies.", "Example: A formulary may list only metformin + glipizide for T2DM, rather than all antidiabetics.", ]) story.append(HR()) # ── Q12 ────────────────────────────────────────────────── story.append(H(" Q12. Reorder Quantity Level (Reorder Level)", q_title)) story.append(SP(4)) story.append(P("The <b>Reorder Level (ROL)</b> (also called Reorder Point) is the stock level at which a new purchase order must be initiated to replenish stock before it reaches zero.")) story.append(SP(4)) story.append(P("<b>Formula: ROL = Maximum daily consumption × Maximum lead time</b>", note_style)) story.append(P("Or more precisely: <b>ROL = (Average daily consumption × Lead time) + Safety stock</b>", note_style)) story.append(SP(4)) story += Bullet([ "<b>Lead time</b> = Time between placing an order and receiving the goods.", "<b>Safety stock</b> = Buffer stock to cover demand variability during lead time.", "<b>Example:</b> Daily consumption = 50 tablets; Lead time = 7 days → ROL = 50 × 7 = <b>350 tablets</b>.", ]) story.append(HR()) # ── Q13 ────────────────────────────────────────────────── story.append(H(" Q13. FIFO and FEFO Methods", q_title)) story.append(SP(4)) fifo_data = [ ["Method", "Full Form", "Principle", "Priority Factor"], ["FIFO", "First In, First Out", "Stock received FIRST is dispensed FIRST", "Receipt date (older stock used first)"], ["FEFO", "First Expired, First Out", "Stock with EARLIEST EXPIRY DATE is dispensed FIRST regardless of receipt date", "Expiry date (soonest expiry used first)"], ] story.append(make_table(fifo_data, col_widths=[1.5*cm, 3.5*cm, 6*cm, 5*cm])) story.append(SP(4)) story.append(P("<b>Key Point:</b> FEFO takes priority over FIFO in pharmacy practice. If a new batch received has an earlier expiry than existing stock, it should be dispensed first. Both methods aim to prevent drug wastage from expiry.", note_style)) story.append(HR()) # ── Q14 ────────────────────────────────────────────────── story.append(H(" Q14. Examples of Reserved Antibiotics", q_title)) story.append(SP(4)) story.append(P("<b>Reserved antibiotics</b> (WHO AWaRe Classification — 'Reserve' category) are last-resort antibiotics kept strictly for severe, resistant, or life-threatening infections. <b>NOT</b> used as first-line treatment.")) story.append(SP(4)) reserved_data = [ ["Antibiotic", "Class", "Used For"], ["Vancomycin", "Glycopeptide", "MRSA (Methicillin-Resistant S. aureus) infections"], ["Colistin (Polymyxin E)","Polymyxin", "MDR Gram-negative infections — absolute last resort"], ["Linezolid", "Oxazolidinone", "MRSA, VRE (Vancomycin-Resistant Enterococci)"], ["Imipenem / Meropenem", "Carbapenem", "MDR Gram-negative organisms"], ["Tigecycline", "Glycylcycline", "XDR (Extensively Drug-Resistant) infections"], ["Ceftazidime-Avibactam","Cephalosporin + BLI", "Carbapenem-resistant organisms (CRO)"], ["Daptomycin", "Lipopeptide", "Resistant Gram-positive infections"], ] story.append(make_table(reserved_data, col_widths=[4*cm, 3.5*cm, 8.5*cm])) story.append(HR()) # ── Q15 ────────────────────────────────────────────────── story.append(H(" Q15. Schedule H1 Drugs", q_title)) story.append(SP(4)) story.append(P("<b>Schedule H1</b> is a special sub-category of Schedule H under the <b>Drugs and Cosmetics Act, 1940</b> (Rule 65), introduced in <b>2013</b> to impose stricter controls on high-risk drugs.")) story.append(SP(4)) story.append(SH("Key Features of Schedule H1")) story += Bullet([ "Must be sold <b>only on prescription</b> of a Registered Medical Practitioner (RMP).", "Prescription must be <b>retained by pharmacist for 2 years</b>.", 'Label must bear the symbol <b>"Rx"</b> and the Schedule H1 warning text.', "Pharmacist must record in a <b>separate register</b>: drug name, quantity, patient name/address, prescriber details, date.", ]) story.append(SP(4)) story.append(SH("Examples of Schedule H1 Drugs")) h1_data = [ ["Category", "Examples"], ["2nd-line Anti-TB drugs", "Kanamycin, Ethionamide, Cycloserine, Capreomycin, Para-aminosalicylic acid (PAS)"], ["3rd-gen Cephalosporins", "Cefixime, Cefpodoxime, Ceftriaxone"], ["Fluoroquinolones", "Levofloxacin, Moxifloxacin, Ofloxacin"], ["Oxazolidinones", "Linezolid"], ] story.append(make_table(h1_data, col_widths=[4.5*cm, 11.5*cm])) story.append(SP(4)) story.append(P("<b>Purpose:</b> To control misuse of antibiotics and second-line anti-TB drugs, thereby combating Antimicrobial Resistance (AMR).", note_style)) # ═══════════════════════════════════════════════════════ # FOOTER / QUICK REVISION SUMMARY PAGE # ═══════════════════════════════════════════════════════ story.append(PageBreak()) story.append(H(" QUICK REVISION SUMMARY — KEY FORMULAS & MNEMONICS")) story.append(SP(8)) story.append(SH("Key Formulas")) formula_data = [ ["Formula", "Expression"], ["EOQ (Economic Order Quantity)", "√(2 × D × O / C) where D=Annual demand, O=Ordering cost, C=Carrying cost"], ["Reorder Level (ROL)", "Max daily consumption × Max lead time (+ Safety stock)"], ["Safety Stock", "Lead time variability × Average consumption"], ] story.append(make_table(formula_data, col_widths=[5.5*cm, 10.5*cm])) story.append(SP(8)) story.append(SH("Mnemonics & Memory Aids")) story += Bullet([ "<b>ABC</b> — Always Better Control (A=High value, B=Medium, C=Low value)", "<b>VED</b> — Vital (life-saving) | Essential (important) | Desirable (less critical)", "<b>SDE</b> — Scarce | Difficult | Easy (based on market availability)", "<b>FIFO</b> — First In First Out (oldest batch out first — based on receipt date)", "<b>FEFO</b> — First Expired First Out (soonest expiry date out first — PREFERRED in pharmacy)", "<b>NABH</b> — National Accreditation Board for Hospitals & Healthcare Providers (QCI, 2005)", "<b>EHR</b> — Electronic Health Record (multi-provider) vs <b>EMR</b> (single practice)", "<b>GPP</b> — Good Pharmacy Practice (FIP/WHO 1993, revised 2011)", "<b>Schedule H1</b> — Introduced 2013 | Prescription retained 2 years | Separate register maintained", "<b>Reserved Antibiotics (AWaRe)</b> — Vancomycin, Colistin, Linezolid, Carbapenems, Tigecycline", ]) story.append(SP(8)) story.append(SH("NABH Chapters — Quick List")) story.append(P("AAC | COP | <b>MOM</b> (pharmacy-key) | PRE | HIC | CQI | HRM | IMS | FMS | ROM")) story.append(SP(8)) story.append(SH("Antibiotic Schedule Classification")) sched_data = [ ["Schedule", "Requirement", "Examples"], ["Schedule H", "Prescription required; no special register", "Most prescription-only antibiotics"], ["Schedule H1", "Prescription required; retain 2 yr; register", "2nd-line TB drugs, Fluoroquinolones, Cephalosporins"], ["Schedule X", "Prescription required; strict register (2yr)", "Controlled drugs — Morphine, Codeine, Alprazolam"], ] story.append(make_table(sched_data, col_widths=[3*cm, 6.5*cm, 6.5*cm])) story.append(SP(16)) story.append(HR()) story.append(P("<i>Study Guide prepared for: The Oxford College of Pharmacy | II D.Pharm | Hospital & Clinical Pharmacy | I Sessional 2025-26 | Max Marks: 40</i>", ParagraphStyle("footer", parent=styles["Normal"], fontSize=8, textColor=colors.grey, alignment=TA_CENTER))) doc.build(story) print("PDF created:", output_path) EOF
ls -lh /tmp/workspace/hospital-pharmacy-study-guide/
Hospital Pharmacy Study Guide
PDF Document · PDF