This is first page of field visit of hospital pharmacy creat this
mkdir -p /tmp/workspace/field-visit-report && ls /tmp/workspace/
~/field-visit-report/create_report.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import KeepTogether
OUTPUT = "/tmp/workspace/field-visit-report/Field_Visit_Report_Hospital_Pharmacy.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
rightMargin=2*cm,
leftMargin=2*cm,
topMargin=2*cm,
bottomMargin=2*cm,
)
styles = getSampleStyleSheet()
title_style = ParagraphStyle(
"Title",
parent=styles["Heading1"],
fontSize=14,
fontName="Helvetica-Bold",
alignment=TA_CENTER,
spaceAfter=10,
)
label_style = ParagraphStyle(
"Label",
parent=styles["Normal"],
fontSize=9,
fontName="Helvetica-Bold",
leading=12,
)
value_style = ParagraphStyle(
"Value",
parent=styles["Normal"],
fontSize=9,
fontName="Helvetica",
leading=12,
)
college_style = ParagraphStyle(
"College",
parent=styles["Normal"],
fontSize=9,
fontName="Helvetica-Bold",
spaceAfter=4,
)
box_label_style = ParagraphStyle(
"BoxLabel",
parent=styles["Normal"],
fontSize=9,
fontName="Helvetica-Bold",
leading=13,
)
box_content_style = ParagraphStyle(
"BoxContent",
parent=styles["Normal"],
fontSize=9,
fontName="Helvetica",
leading=13,
alignment=TA_JUSTIFY,
)
story = []
# Title
story.append(Paragraph("Field Visit Report", title_style))
# College name line
story.append(Paragraph("Name of the College: Shri Bhagwan College of Pharmacy, Aurangabad", college_style))
# Info table
info_data = [
[Paragraph("Name Of the Student:", label_style),
Paragraph("Ms. Priya Sharma", value_style)],
[Paragraph("Academic Year of the Student:", label_style),
Paragraph("Third Year B. Pharm (2025-2026)", value_style)],
[Paragraph("Name of the Subject:", label_style),
Paragraph("Hospital and Clinical Pharmacy (BP601T)", value_style)],
[Paragraph("Name & full address of the\norganization visited:", label_style),
Paragraph("Government Medical College & Hospital (GMCH),\nStation Road, Aurangabad – 431001, Maharashtra", value_style)],
[Paragraph("Date and Duration of Visit:", label_style),
Paragraph("10th July 2026 | 9:00 AM – 1:00 PM (4 Hours)", value_style)],
[Paragraph("Name and Designation of the\nEvaluator:", label_style),
Paragraph("Dr. Sunita Patil\nAssistant Professor, Dept. of Pharmacy Practice", value_style)],
[Paragraph("Signature of the Evaluator:", label_style),
Paragraph("", value_style)],
]
col_widths = [5.5*cm, 11.5*cm]
info_table = Table(info_data, colWidths=col_widths)
info_table.setStyle(TableStyle([
("BOX", (0, 0), (-1, -1), 0.8, colors.black),
("INNERGRID", (0, 0), (-1, -1), 0.5, colors.black),
("VALIGN", (0, 0), (-1, -1), "MIDDLE"),
("TOPPADDING", (0, 0), (-1, -1), 5),
("BOTTOMPADDING", (0, 0), (-1, -1), 5),
("LEFTPADDING", (0, 0), (-1, -1), 5),
("RIGHTPADDING", (0, 0), (-1, -1), 5),
("BACKGROUND", (0, 0), (0, -1), colors.HexColor("#F5F5F5")),
]))
story.append(info_table)
story.append(Spacer(1, 0.4*cm))
# ----------------------------------------------------------------
# Helper: section box
# ----------------------------------------------------------------
PAGE_W = A4[0] - 4*cm # usable width
def section_box(label_text, content_text, content_height):
"""Returns a Table that mimics a labelled box with content area."""
content_para = Paragraph(content_text, box_content_style)
label_para = Paragraph(label_text, box_label_style)
data = [
[label_para],
[content_para],
]
row_heights = [0.55*cm, content_height]
t = Table(data, colWidths=[PAGE_W], rowHeights=row_heights)
t.setStyle(TableStyle([
("BOX", (0, 0), (-1, -1), 0.8, colors.black),
("LINEBELOW", (0, 0), (-1, 0), 0.4, colors.black),
("VALIGN", (0, 0), (-1, -1), "TOP"),
("TOPPADDING", (0, 0), (-1, -1), 5),
("BOTTOMPADDING",(0,0), (-1, -1), 5),
("LEFTPADDING", (0, 0), (-1, -1), 6),
("RIGHTPADDING",(0, 0), (-1, -1), 6),
]))
return t
# ----------------------------------------------------------------
# OBJECTIVES
# ----------------------------------------------------------------
obj_text = (
"1. To understand the organizational structure and functioning of a hospital pharmacy department.<br/>"
"2. To observe and learn the dispensing workflow for both inpatient and outpatient sections.<br/>"
"3. To gain practical exposure to drug storage, inventory management, and narcotic/scheduled drug record-keeping.<br/>"
"4. To study the role of a clinical pharmacist in patient counselling and medication error prevention."
)
story.append(section_box(
"Objectives set for the field visit: (give 2-4 objectives one by one)",
obj_text,
3.0*cm
))
story.append(Spacer(1, 0.3*cm))
# ----------------------------------------------------------------
# PRIOR PREPARATION
# ----------------------------------------------------------------
prior_text = (
"Prior to the field visit, a thorough review of the Hospital and Clinical Pharmacy syllabus was carried out, "
"with special emphasis on the structure of a hospital pharmacy, its sub-sections such as the outpatient pharmacy, "
"inpatient pharmacy, central sterile supply department (CSSD), and the pharmacy and therapeutics (P&T) committee. "
"Students were briefed by Dr. Sunita Patil about the objectives of the visit and the key areas to observe. "
"A checklist was prepared listing important points to note during the visit, including drug storage conditions, "
"labelling practices, documentation procedures, and interaction of pharmacists with other healthcare professionals. "
"Reference reading was done from standard textbooks including 'Hospital Pharmacy' by William E. Hassan and "
"'Clinical Pharmacy and Therapeutics' by Roger Walker. Students also reviewed the Drugs and Cosmetics Act provisions "
"applicable to hospital pharmacies and the Schedule H, H1, and X drug regulations to understand the legal framework "
"governing dispensing. Additionally, a set of questions was prepared to ask the hospital pharmacists regarding "
"their daily responsibilities, challenges faced, and workflow optimisation strategies."
)
story.append(section_box(
"Prior preparation of the student for the field visit: (minimum 100 words)",
prior_text,
4.2*cm
))
story.append(Spacer(1, 0.3*cm))
# ----------------------------------------------------------------
# GENERAL EXPERIENCES
# ----------------------------------------------------------------
exp_text = (
"The field visit to GMCH Aurangabad was an enriching and practically insightful experience. Upon arrival, "
"the group was received by the Chief Pharmacist, Mr. Rajesh Kulkarni, who provided a brief orientation of the pharmacy "
"department. The hospital pharmacy was divided into clearly demarcated sections: the main dispensing counter, "
"an inpatient drug distribution unit, a narcotic drug storage room, a cold storage area for biologics and vaccines, "
"and an IV admixture preparation area. "
"Students observed the busy outpatient dispensing process where prescriptions were received, verified, dispensed, "
"and counselled within a structured workflow. The pharmacists demonstrated how LASA (look-alike, sound-alike) drugs "
"were segregated using coloured labels to prevent dispensing errors. The visit also included a walk-through of the "
"store where a first-expiry-first-out (FEFO) system was followed for stock rotation. Overall, the environment was "
"professional, well-organised, and the staff were cooperative and willing to answer student queries."
)
story.append(section_box(
"Describe the general experiences during the field visit: (minimum 100 words)",
exp_text,
4.5*cm
))
story.append(Spacer(1, 0.3*cm))
# ----------------------------------------------------------------
# LEARNING POINTS
# ----------------------------------------------------------------
learning_text = (
"<b>1. Drug Distribution Systems:</b> The visit reinforced the theoretical concept of individual prescription "
"dispensing (IPD) and unit dose drug distribution (UDDD) systems taught in class. The hospital was partially "
"implementing a unit dose system in the ICU ward, where 24-hour medication packs were prepared by pharmacists "
"and sent to nursing stations, minimising waste and errors. This directly correlated with Chapter 5 of our "
"textbook on 'Drug Distribution Systems in Hospitals.'<br/><br/>"
"<b>2. Formulary Management and P&T Committee:</b> The Chief Pharmacist explained how the hospital maintains "
"an essential medicines list aligned with the WHO Model List and the Maharashtra state government formulary. "
"This connected to the theoretical study of the Pharmacy and Therapeutics Committee and its role in selecting, "
"evaluating, and approving drugs for hospital use. Regular audits are conducted to ensure rational prescribing "
"and to eliminate redundant drug entries from the formulary.<br/><br/>"
"<b>3. Narcotic and Psychotropic Drug Management:</b> A dedicated locked room with dual-key access was maintained "
"for Schedule X and NDPS-regulated drugs. A bound register with sequential entries, witness signatures, and "
"daily balance tallying was observed. This aligned with the legal framework discussed in class under the NDPS "
"Act, 1985, and the importance of meticulous record-keeping to prevent drug diversion and misuse.<br/><br/>"
"<b>4. Cold Chain Management:</b> The visit demonstrated how temperature-sensitive drugs such as insulin, "
"vaccines, and certain biologics are stored in dedicated refrigerators with continuous temperature monitoring "
"devices (digital data loggers). Any excursion beyond 2–8°C triggers an alert. This related to the theoretical "
"concept of cold chain maintenance discussed under pharmaceutical storage and good pharmacy practice (GPP) guidelines.<br/><br/>"
"<b>5. Patient Counselling:</b> In the outpatient section, a pharmacist demonstrated patient counselling for "
"a diabetic patient prescribed metformin and glipizide. Key counselling points included administration timing, "
"dietary precautions, signs of hypoglycaemia, and importance of adherence. This correlated with the clinical "
"pharmacy concept of pharmaceutical care and the pharmacist's expanding role in direct patient care beyond "
"mere dispensing, as emphasized in the PCNE (Pharmaceutical Care Network Europe) framework."
)
story.append(section_box(
"Learning points: Describe what theoretical concept is correlated during the field visit: (minimum 300 words)",
learning_text,
10.5*cm
))
doc.build(story)
print(f"PDF created: {OUTPUT}")
python /tmp/workspace/field-visit-report/create_report.py
Field Visit Report Hospital Pharmacy
PDF Document · PDF
Note: The sample content uses placeholder names/details (college, student, hospital). Simply replace them with your actual information before submission.
SN medical collage agra Bobi 2025-2025 Hospital pharmacy and clinical pharmacy 9 December 2025 2(hours) Dr Alka gupta (Assosiate profesar M pharm PHD) Creat a field visit report in with image PDF form
mkdir -p /tmp/workspace/bobi-field-visit/images && cd /tmp/workspace/bobi-field-visit/images && \ wget -q -O group1.jpg "https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068326-1784133471276-hr39vz.jpg" && \ wget -q -O group2.jpg "https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068108-1784133472339-j9mw0g.jpg" && \ wget -q -O shelf4.jpg "https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068460-1784133472858-snfmzn.jpg" && \ wget -q -O shelf3inj.jpg "https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068468-1784133473224-x6f9aw.jpg" && \ wget -q -O shelf3ah.jpg "https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068463-1784133473824-5c86p4.jpg" && \ wget -q -O shelf5.jpg "https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068454-1784133474160-awarlh.jpg" && \ wget -q -O shelf1.jpg "https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068391-1784133474544-vkh1uz.jpg" && \ wget -q -O shelf6.jpg "https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068449-1784133475084-xs8pik.jpg" && \ wget -q -O shelf2.jpg "https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068457-1784133475463-b07a3c.jpg" && \ ls -lh
mkdir -p /tmp/workspace/bobi-field-visit/images && cd /tmp/workspace/bobi-field-visit/images && \ python3 -c " import urllib.request, os imgs = { 'group1.jpg': 'https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068326-1784133471276-hr39vz.jpg', 'group2.jpg': 'https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068108-1784133472339-j9mw0g.jpg', 'shelf4.jpg': 'https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068460-1784133472858-snfmzn.jpg', 'shelf3inj.jpg': 'https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068468-1784133473224-x6f9aw.jpg', 'shelf3ah.jpg': 'https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068463-1784133473824-5c86p4.jpg', 'shelf5.jpg': 'https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068454-1784133474160-awarlh.jpg', 'shelf1.jpg': 'https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068391-1784133474544-vkh1uz.jpg', 'shelf6.jpg': 'https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068449-1784133475084-xs8pik.jpg', 'shelf2.jpg': 'https://d361swluvexzqs.cloudfront.net/chats-attachments/1000068457-1784133475463-b07a3c.jpg', } for name, url in imgs.items(): urllib.request.urlretrieve(url, name) print(f'Downloaded {name}: {os.path.getsize(name)} bytes') "
~/bobi-field-visit/build_report.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.platypus import (
SimpleDocTemplate, Table, TableStyle, Paragraph,
Spacer, Image, KeepTogether, HRFlowable
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
import os
BASE = "/tmp/workspace/bobi-field-visit/images"
OUTPUT = "/tmp/workspace/bobi-field-visit/Field_Visit_Report_Bobi_SN_Medical.pdf"
PAGE_W = A4[0] - 4*cm # usable width (17 cm)
doc = SimpleDocTemplate(
OUTPUT, pagesize=A4,
rightMargin=2*cm, leftMargin=2*cm,
topMargin=2*cm, bottomMargin=2*cm,
)
styles = getSampleStyleSheet()
def S(name, **kw):
base = styles.get(name, styles["Normal"])
p = ParagraphStyle(name + str(id(kw)), parent=base, **kw)
return p
title_s = S("Heading1", fontSize=14, fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=8)
lbl_s = S("Normal", fontSize=9, fontName="Helvetica-Bold", leading=13)
val_s = S("Normal", fontSize=9, fontName="Helvetica", leading=13)
col_s = S("Normal", fontSize=9, fontName="Helvetica-Bold", spaceAfter=4)
box_lbl = S("Normal", fontSize=9, fontName="Helvetica-Bold", leading=13)
box_body = S("Normal", fontSize=9, fontName="Helvetica", leading=13.5, alignment=TA_JUSTIFY)
cap_s = S("Normal", fontSize=8, fontName="Helvetica-Oblique", alignment=TA_CENTER, spaceBefore=2, spaceAfter=6)
sec_head = S("Normal", fontSize=10, fontName="Helvetica-Bold", spaceBefore=6, spaceAfter=3, alignment=TA_CENTER)
story = []
# ── TITLE ────────────────────────────────────────────────────────────────────
story.append(Paragraph("Field Visit Report", title_s))
story.append(Paragraph("Name of the College: S.N. Medical College, Agra", col_s))
# ── INFO TABLE ───────────────────────────────────────────────────────────────
info_rows = [
[Paragraph("Name Of the Student:", lbl_s),
Paragraph("Bobi", val_s)],
[Paragraph("Academic Year of the Student:", lbl_s),
Paragraph("2024-2025", val_s)],
[Paragraph("Name of the Subject:", lbl_s),
Paragraph("Hospital Pharmacy and Clinical Pharmacy", val_s)],
[Paragraph("Name & full address of the\norganization visited:", lbl_s),
Paragraph("S.N. Medical College & Hospital (S.N.M.C.H.),\nAgra – 282002, Uttar Pradesh, India", val_s)],
[Paragraph("Date and Duration of Visit:", lbl_s),
Paragraph("9 December 2025 | Duration: 2 Hours", val_s)],
[Paragraph("Name and Designation of the\nEvaluator:", lbl_s),
Paragraph("Dr. Alka Gupta\nAssociate Professor, M.Pharm, Ph.D.", val_s)],
[Paragraph("Signature of the Evaluator:", lbl_s),
Paragraph("", val_s)],
]
info_tbl = Table(info_rows, colWidths=[5.5*cm, 11.5*cm])
info_tbl.setStyle(TableStyle([
("BOX", (0,0),(-1,-1), 0.8, colors.black),
("INNERGRID", (0,0),(-1,-1), 0.5, colors.black),
("VALIGN", (0,0),(-1,-1), "MIDDLE"),
("TOPPADDING", (0,0),(-1,-1), 5),
("BOTTOMPADDING",(0,0),(-1,-1),5),
("LEFTPADDING", (0,0),(-1,-1), 5),
("RIGHTPADDING",(0,0),(-1,-1), 5),
("BACKGROUND", (0,0),(0,-1), colors.HexColor("#F2F2F2")),
]))
story.append(info_tbl)
story.append(Spacer(1, 0.4*cm))
# ── SECTION BOX HELPER ───────────────────────────────────────────────────────
def section_box(label, body_html, height):
data = [
[Paragraph(label, box_lbl)],
[Paragraph(body_html, box_body)],
]
t = Table(data, colWidths=[PAGE_W], rowHeights=[0.6*cm, height])
t.setStyle(TableStyle([
("BOX", (0,0),(-1,-1), 0.8, colors.black),
("LINEBELOW", (0,0),(-1, 0), 0.4, colors.black),
("VALIGN", (0,0),(-1,-1), "TOP"),
("TOPPADDING", (0,0),(-1,-1), 5),
("BOTTOMPADDING",(0,0),(-1,-1), 5),
("LEFTPADDING", (0,0),(-1,-1), 6),
("RIGHTPADDING", (0,0),(-1,-1), 6),
]))
return t
# ── OBJECTIVES ───────────────────────────────────────────────────────────────
obj = (
"1. To understand the layout, organisation, and workflow of the hospital pharmacy at S.N. Medical College & Hospital, Agra.<br/>"
"2. To observe the dispensing process, drug storage system, and shelf-wise categorisation of medicines actually in use.<br/>"
"3. To learn about the different categories of drugs stocked (injectable, oral, antibiotics, cardiovascular, etc.) and their rational arrangement.<br/>"
"4. To relate theoretical knowledge of hospital pharmacy management with real-world practices observed during the visit."
)
story.append(section_box("Objectives set for the field visit: (give 2-4 objectives one by one)", obj, 3.2*cm))
story.append(Spacer(1, 0.3*cm))
# ── PRIOR PREPARATION ────────────────────────────────────────────────────────
prior = (
"Before the field visit to S.N. Medical College & Hospital, Agra on 9 December 2025, the students "
"undertook thorough academic preparation under the guidance of Dr. Alka Gupta, Associate Professor. "
"The relevant chapters of Hospital Pharmacy and Clinical Pharmacy were revised, covering topics such as "
"the organisation of hospital pharmacy departments, functions of the chief pharmacist, drug procurement "
"and storage policies, and dispensing procedures for outpatient and inpatient sections. "
"Students reviewed the concept of formulary management and the role of the Pharmacy and Therapeutics "
"(P&T) Committee. Legal provisions under the Drugs and Cosmetics Act, 1940 pertaining to hospital "
"pharmacies, Schedule H, H1, and X drugs, and NDPS regulations were also studied. A structured observation "
"checklist was prepared covering drug storage conditions, shelf labelling, cold chain facilities, narcotic "
"drug documentation, and patient counselling practices. The group was divided and briefed about professional "
"conduct during the visit."
)
story.append(section_box("Prior preparation of the student for the field visit: (minimum 100 words)", prior, 4.0*cm))
story.append(Spacer(1, 0.3*cm))
# ── GENERAL EXPERIENCES ──────────────────────────────────────────────────────
exp = (
"The field visit to the Hospital Pharmacy of S.N. Medical College & Hospital, Agra was highly informative "
"and practically enriching. Upon arrival, we were welcomed by the pharmacy staff and given a brief orientation "
"of the department. The pharmacy was well-organised, with medicines arranged shelf-wise according to their "
"pharmacological category. We observed that each shelf was clearly labelled with the category name and the "
"list of drugs stocked, making identification efficient. Separate shelves were dedicated to antibiotics, "
"injectables, anti-hypertensives, oral anti-diabetic drugs, vasodilators, nutritional supplements, and "
"miscellaneous drugs. Cold storage units (refrigerators) were visible in the background for temperature-sensitive "
"products. Faculty members, including Dr. Alka Gupta, guided the group throughout the visit, explaining "
"the significance of each section. The entire student batch posed for group photographs documenting the visit. "
"The practical exposure was directly relevant to our theoretical curriculum and greatly enhanced our understanding "
"of how a functional hospital pharmacy operates in a teaching hospital setting."
)
story.append(section_box("Describe the general experiences during the field visit: (minimum 100 words)", exp, 4.8*cm))
story.append(Spacer(1, 0.3*cm))
# ── LEARNING POINTS ──────────────────────────────────────────────────────────
lp = (
"<b>1. Shelf-wise Drug Classification and Formulary Management:</b> One of the most striking observations was "
"the systematic shelf-wise arrangement of drugs. Shelf No. 1 housed critical injectable antibiotics such as "
"Vancomycin Hydrochloride, Colistimethate Sodium, Tigecycline, Teicoplanin, and Polymyxin-B — all reserve "
"antibiotics used for multi-drug resistant organisms. This directly correlates with the hospital formulary "
"concept and the role of the P&T Committee in selecting and restricting access to high-end antimicrobials "
"to contain antibiotic resistance, as taught in Clinical Pharmacy.<br/><br/>"
"<b>2. Injectable Drug Storage (Shelf No. 3):</b> Shelf No. 3 for injectables contained emergency and "
"anaesthesia-related drugs including Ropivacaine, Nalbuphine, Diazepam, Amiodarone, Atropine Sulphate, "
"Ephedrine, Oxytocin, and Dopamine. The presence of these drugs in a single dedicated shelf reflects the "
"importance of organised emergency drug storage, a concept studied under Good Pharmacy Practice (GPP) "
"guidelines. Each drug's volume was specified, enabling accurate dosing calculations.<br/><br/>"
"<b>3. Cardiovascular Drugs - Anti-Hypertensives and Anti-Diabetics (Shelf No. 3):</b> The oral section "
"of Shelf No. 3 had a comprehensive range of anti-hypertensive drugs (Telmisartan, Metoprolol, Nifedipine, "
"Hydrochlorothiazide, Diltiazem) and oral anti-diabetic drugs (Gliclazide, Glimepiride, Vildagliptin, "
"Teneligliptin, Pioglitazone, Metformin). This reflects the high burden of non-communicable diseases (NCDs) "
"in the hospital's patient population and correlates with the pharmacology of cardiovascular and endocrine "
"drugs studied in our curriculum.<br/><br/>"
"<b>4. Vasodilators, Antiplatelets, and Corticosteroids (Shelf No. 4):</b> This shelf contained "
"Nitroglycerin, Isosorbide Dinitrate, Ticagrelor, Aspirin, Atorvastatin combinations, Dexamethasone, and "
"Formoterol-Budesonide inhalers. The co-presence of statins and antiplatelets on the same shelf mirrors "
"rational polypharmacy in cardiovascular disease management, a topic covered under Clinical Pharmacy and "
"Pharmacotherapeutics.<br/><br/>"
"<b>5. Antibiotics, Bronchodilators, and Antivirals (Shelf No. 5):</b> A wide range of antibiotics — "
"Ciprofloxacin, Moxifloxacin, Faropenem, Amoxicillin-Clavulanate, Cefuroxime, Levofloxacin, Cefixime, "
"Azithromycin, Doxycycline — were stocked alongside bronchodilators (Doxofylline, Etofylline+Theophylline) "
"and Acyclovir. This shelf reinforces the concept of antibiotic stewardship and the importance of "
"spectrum-based selection of antimicrobials as discussed in the subject.<br/><br/>"
"<b>6. Nutritional Supplements, Anti-Gastric, Anti-Parasitic Drugs (Shelf No. 6):</b> This shelf had "
"Folic Acid, Vitamin A, Calcium+Vit D3, Iron+Folic Acid, Methylcobalamin, Cholecalciferol, Pantoprazole, "
"Ranitidine, Albendazole, Metronidazole, and neuropathic pain drugs (Pregabalin combinations). This "
"demonstrates the concept of supportive pharmacotherapy and the essential medicines list approach in "
"tertiary care hospitals."
)
story.append(section_box(
"Learning points: Describe what theoretical concept is correlated during the field visit: (minimum 300 words)",
lp, 13.0*cm
))
# ── PAGE 2: PHOTOGRAPHS ──────────────────────────────────────────────────────
from reportlab.platypus import PageBreak
story.append(PageBreak())
story.append(Paragraph("Photographs from the Field Visit", title_s))
story.append(HRFlowable(width=PAGE_W, thickness=1, color=colors.black, spaceAfter=8))
def img_block(path, caption, w=PAGE_W, h=7*cm):
img = Image(path, width=w, height=h, kind="proportional")
cap = Paragraph(caption, cap_s)
return KeepTogether([img, cap, Spacer(1, 0.3*cm)])
def two_img_row(path1, cap1, path2, cap2, col_w=None):
if col_w is None:
col_w = (PAGE_W - 0.4*cm) / 2
img1 = Image(path1, width=col_w, height=6*cm, kind="proportional")
img2 = Image(path2, width=col_w, height=6*cm, kind="proportional")
cap1p = Paragraph(cap1, cap_s)
cap2p = Paragraph(cap2, cap_s)
t = Table(
[[img1, img2], [cap1p, cap2p]],
colWidths=[col_w, col_w],
rowHeights=[6*cm, 0.5*cm]
)
t.setStyle(TableStyle([
("VALIGN", (0,0),(-1,-1),"TOP"),
("LEFTPADDING", (0,0),(-1,-1),2),
("RIGHTPADDING",(0,0),(-1,-1),2),
("TOPPADDING", (0,0),(-1,-1),2),
("BOTTOMPADDING",(0,0),(-1,-1),2),
]))
return KeepTogether([t, Spacer(1, 0.3*cm)])
# Group photos side by side
story.append(Paragraph("Group Photographs", sec_head))
story.append(two_img_row(
os.path.join(BASE, "group1.jpg"),
"Fig. 1 – Students with faculty in the Hospital Pharmacy department",
os.path.join(BASE, "group2.jpg"),
"Fig. 2 – Entire batch with Dr. Alka Gupta and pharmacy staff"
))
# Drug shelf photos — 2 per row
story.append(Paragraph("Drug Shelf Documentation", sec_head))
story.append(two_img_row(
os.path.join(BASE, "shelf1.jpg"),
"Fig. 3 – Shelf No. 1: Critical Injectables\n(Vancomycin, Colistimethate, Tigecycline, Teicoplanin, Polymyxin-B)",
os.path.join(BASE, "shelf3inj.jpg"),
"Fig. 4 – Shelf No. 3: Anaesthesia & Emergency Injectables\n(Ropivacaine, Nalbuphine, Diazepam, Amiodarone, Atropine)"
))
story.append(two_img_row(
os.path.join(BASE, "shelf3ah.jpg"),
"Fig. 5 – Shelf No. 3: Anti-Hypertensive & Oral Anti-Diabetic Drugs\n(Telmisartan, Metoprolol, Gliclazide, Metformin, Vildagliptin)",
os.path.join(BASE, "shelf4.jpg"),
"Fig. 6 – Shelf No. 4: Vasodilators, Antiplatelets & Corticosteroids\n(Nitroglycerin, Aspirin, Atorvastatin, Dexamethasone, Budesonide)"
))
story.append(two_img_row(
os.path.join(BASE, "shelf5.jpg"),
"Fig. 7 – Shelf No. 5: Antibiotics, Bronchodilators & Antivirals\n(Ciprofloxacin, Moxifloxacin, Levofloxacin, Doxofylline, Acyclovir)",
os.path.join(BASE, "shelf2.jpg"),
"Fig. 8 – Shelf No. 2: Anti-Fibrinolytics, Hormonal & Miscellaneous\n(Tranexamic Acid, Thyroxine, Tamsulosin, Misoprostol, Pregabalin)"
))
# Shelf 6 full width (last one)
story.append(img_block(
os.path.join(BASE, "shelf6.jpg"),
"Fig. 9 – Shelf No. 6: Nutritional Supplements, Anti-Gastric, Anti-Parasitic Drugs\n"
"(Folic Acid, Vit D3, Calcium, Methylcobalamin, Pantoprazole, Albendazole, Metronidazole)",
w=PAGE_W, h=9*cm
))
# ── BUILD ─────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
python3 /tmp/workspace/bobi-field-visit/build_report.py
ls -lh /tmp/workspace/bobi-field-visit/Field_Visit_Report_Bobi_SN_Medical.pdf
Field Visit Report Bobi SN Medical
PDF Document · PDF
| Field | Content |
|---|---|
| College | S.N. Medical College, Agra |
| Student | Bobi |
| Academic Year | 2024-2025 |
| Subject | Hospital Pharmacy and Clinical Pharmacy |
| Organization | S.N.M.C.H., Agra - 282002, U.P. |
| Date & Duration | 9 December 2025 - 2 Hours |
| Evaluator | Dr. Alka Gupta, Associate Professor, M.Pharm, Ph.D. |