can u help me in study I am in 3rd year pt only 3 months are left for exam and I haven't started studying yet and my 1 and 2 year was gone like nothing have studied my subject are medicine, surgery, orthopedics and truamatalogy, Mucoskeletal and sports physiotherapy, cardio respiratory and general physiotherap I have syllabus screenshots I will send u
i will send umore just wait
can u give it in pdf form
mkdir -p /home/daytona/workspace/pt-study-plan && ls /home/daytona/workspace/pt-study-plan
~/pt-study-plan/generate_pdf.py
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, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import ListFlowable, ListItem
OUTPUT = "/home/daytona/workspace/pt-study-plan/PT_3Month_Study_Plan.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
rightMargin=1.8*cm,
leftMargin=1.8*cm,
topMargin=2*cm,
bottomMargin=2*cm
)
styles = getSampleStyleSheet()
# ---- Custom styles ----
title_style = ParagraphStyle(
"Title", parent=styles["Title"],
fontSize=22, textColor=colors.HexColor("#1a237e"),
spaceAfter=6, alignment=TA_CENTER, fontName="Helvetica-Bold"
)
subtitle_style = ParagraphStyle(
"Subtitle", parent=styles["Normal"],
fontSize=11, textColor=colors.HexColor("#455a64"),
spaceAfter=4, alignment=TA_CENTER
)
h1_style = ParagraphStyle(
"H1", parent=styles["Heading1"],
fontSize=14, textColor=colors.white,
backColor=colors.HexColor("#1a237e"),
spaceBefore=14, spaceAfter=6,
leftIndent=-4, rightIndent=-4,
borderPad=5, fontName="Helvetica-Bold"
)
h2_style = ParagraphStyle(
"H2", parent=styles["Heading2"],
fontSize=12, textColor=colors.HexColor("#1a237e"),
spaceBefore=10, spaceAfter=4,
fontName="Helvetica-Bold",
borderPad=2
)
h3_style = ParagraphStyle(
"H3", parent=styles["Heading3"],
fontSize=10.5, textColor=colors.HexColor("#b71c1c"),
spaceBefore=7, spaceAfter=2,
fontName="Helvetica-Bold"
)
body_style = ParagraphStyle(
"Body", parent=styles["Normal"],
fontSize=9.5, leading=14,
spaceAfter=3, textColor=colors.HexColor("#212121")
)
bullet_style = ParagraphStyle(
"Bullet", parent=styles["Normal"],
fontSize=9.5, leading=13,
leftIndent=14, spaceAfter=2,
textColor=colors.HexColor("#212121")
)
note_style = ParagraphStyle(
"Note", parent=styles["Normal"],
fontSize=9, leading=12,
backColor=colors.HexColor("#fff9c4"),
borderPad=6, spaceAfter=6,
textColor=colors.HexColor("#4e342e")
)
red_note_style = ParagraphStyle(
"RedNote", parent=styles["Normal"],
fontSize=9, leading=12,
backColor=colors.HexColor("#ffebee"),
borderPad=6, spaceAfter=6,
textColor=colors.HexColor("#b71c1c")
)
def h1(text): return Paragraph(f" {text}", h1_style)
def h2(text): return Paragraph(text, h2_style)
def h3(text): return Paragraph(text, h3_style)
def body(text): return Paragraph(text, body_style)
def bullet(text): return Paragraph(f"• {text}", bullet_style)
def note(text): return Paragraph(f"<b>NOTE:</b> {text}", note_style)
def red_note(text): return Paragraph(f"<b>⚠</b> {text}", red_note_style)
def sp(n=6): return Spacer(1, n)
def hr(): return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#cfd8dc"), spaceAfter=4)
def make_table(data, col_widths=None, header_color="#1565c0"):
t = Table(data, colWidths=col_widths, repeatRows=1)
style = [
("BACKGROUND", (0,0), (-1,0), colors.HexColor(header_color)),
("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"),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("FONTSIZE", (0,1), (-1,-1), 8.5),
("ROWBACKGROUNDS", (0,1), (-1,-1), [colors.white, colors.HexColor("#f5f5f5")]),
("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#bdbdbd")),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 6),
("RIGHTPADDING", (0,0), (-1,-1), 6),
]
t.setStyle(TableStyle(style))
return t
# ===================== BUILD CONTENT =====================
story = []
# ---- COVER ----
story.append(sp(40))
story.append(Paragraph("3-MONTH PT EXAM", title_style))
story.append(Paragraph("STUDY PLAN", title_style))
story.append(sp(10))
story.append(Paragraph("3rd Year Bachelor of Physiotherapy", subtitle_style))
story.append(Paragraph("Start: July 15, 2026 | Exam: Mid-October 2026", subtitle_style))
story.append(Paragraph("2–3 Hours/Day | 6 Days/Week", subtitle_style))
story.append(sp(20))
story.append(hr())
story.append(sp(8))
story.append(Paragraph("Subjects Covered:", subtitle_style))
subjects_cover = [
["#", "Subject", "Assessment", "Priority"],
["1", "General Medicine", "Written", "HIGH (Weak)"],
["2", "General Surgery", "Written", "HIGH (Weak)"],
["3", "Orthopedics & Traumatology", "Written", "MEDIUM"],
["4", "Musculoskeletal & Sports PT", "Written + Oral + Practical", "HIGH"],
["5", "Cardiorespiratory & General PT", "Written + Oral + Practical", "HIGH (Weak)"],
]
story.append(sp(6))
story.append(make_table(subjects_cover, col_widths=[1*cm, 6.5*cm, 5.5*cm, 3.5*cm]))
story.append(sp(30))
story.append(body("Generated by Orris AI Study Assistant"))
story.append(PageBreak())
# ---- SECTION 1: HOW TO USE THIS PLAN ----
story.append(h1("HOW TO USE THIS PLAN"))
story.append(sp(6))
story.append(note("Read this page first before you start studying!"))
story.append(sp(4))
story.append(h2("Daily Study Method (2-3 hours)"))
steps = [
("<b>Hour 1 (60 min):</b> Read 1 topic from today's plan. Focus on: Etiology → Clinical Features → Management. Understand, don't memorize."),
("<b>Hour 2 (45 min):</b> Make SHORT handwritten bullet-point notes. Use flowcharts for complex topics like DM, IHD, COPD."),
("<b>Hour 3 (30-45 min):</b> Quiz yourself — close notes, write key points from memory. Re-read only what you forgot."),
("<b>Before sleep (15 min):</b> Skim yesterday's notes. This is your single best retention tool."),
]
for s in steps:
story.append(bullet(s))
story.append(sp(3))
story.append(sp(6))
story.append(h2("Key Strategy"))
strategy = [
"Topics OVERLAP between subjects — Ortho feeds into MSK PT; Medicine feeds into Cardiorespiratory PT. Learn once, use twice.",
"MSK PT and Cardiorespiratory PT have PRACTICALS + ORALS — don't just read, practice techniques on friends.",
"Use college notes/slides FIRST before heavy textbooks — they are already exam-filtered.",
"Skip 'reading everything perfectly' — read once, note once, revise twice.",
"Start with HIGH-YIELD topics in each subject, not from page 1.",
]
for s in strategy:
story.append(bullet(s))
story.append(PageBreak())
# ---- SECTION 2: MONTH 1 ----
story.append(h1("MONTH 1: JULY 15 – AUGUST 14"))
story.append(Paragraph("General Medicine + General Surgery", subtitle_style))
story.append(sp(8))
story.append(h2("Week 1–2: General Medicine (High-Yield First)"))
story.append(body("Start with Cardiovascular + Respiratory — these are your weakest AND have the most syllabus hours (17 hrs combined)."))
story.append(sp(4))
w1_data = [
["Day", "Topic", "Syllabus Hours"],
["Day 1–2", "Cardiovascular Disease — ECG, Hypertension, IHD, Pericarditis, Myocarditis, Heart failure", "8 hrs"],
["Day 3–4", "Respiratory Disease — COPD, Asthma, TB, Pneumonia, Respiratory failure, Pleural diseases", "9 hrs"],
["Day 5–6", "Digestive System — GI diseases, Liver (Hepatitis, Cirrhosis, Wilson's), GI bleeding, Peptic ulcer", "7 hrs"],
["Day 7", "REVISION — Write 1-page notes for each system covered this week", "—"],
]
story.append(make_table(w1_data, col_widths=[2*cm, 11.5*cm, 3*cm]))
story.append(sp(8))
story.append(h2("Week 3: General Medicine (Remaining Topics)"))
w3_data = [
["Day", "Topic"],
["Day 8–9", "Endocrine — Diabetes Mellitus (detailed: etiology, clinical features, complications, management), Thyroid"],
["Day 10", "Blood Disorders — Anemia (types, management), Hemophilia, clinical features of blood disorders"],
["Day 11", "Infections — HIV/AIDS, Food Poisoning, Gastroenteritis, Vaccinations, STDs"],
["Day 12", "Nutrition & Obesity — Protein-energy malnutrition, deficiency diseases, Obesity management; Poisoning"],
["Day 13", "Skin Diseases (Leprosy, Psoriasis, Dermatitis) + Pediatrics (CP, Spina Bifida, Developmental delay)"],
["Day 14", "Psychiatry (Classifications, causes, treatment) + FULL Medicine Revision"],
]
story.append(make_table(w3_data, col_widths=[2*cm, 14.5*cm]))
story.append(sp(8))
story.append(h2("Week 4: General Surgery (High-Yield First)"))
w4_data = [
["Day", "Topic", "Hours"],
["Day 15–16", "Surgical Basics — Wound healing (phases, factors), Fluid/Electrolytes, Anaesthesia types, Incisions, Hemostasis, Surgical infections, Post-op complications", "6 hrs"],
["Day 17–18", "Thoracic Trauma — Pneumothorax, Hemothorax, Cardiac Tamponade, Aortic disruption + Chest Wall/Lung disorders (Pleural Effusion, Empyema, Lung abscess, Carcinoma of breast)", "9 hrs"],
["Day 19–20", "Heart Disorders — Congenital (ASD, VSD, TOF, PDA) + Acquired (Mitral/Aortic stenosis, IHD) + Thoracic surgeries (Pneumonectomy, Lobectomy, CABG, Open/Closed heart surgery)", "12 hrs"],
["Day 21", "Burns (classification, Rule of 9s, management, skin grafts) + Arteries & Veins (DVT, Varicose veins, PE, Atherosclerosis)", "9 hrs"],
]
story.append(make_table(w4_data, col_widths=[2*cm, 10.5*cm, 4*cm]))
story.append(sp(6))
story.append(red_note("Surgery exam tip: Know wound healing phases, burns classification (Rule of 9s), and DVT/PE management — these appear almost every year."))
story.append(PageBreak())
# ---- SECTION 3: MONTH 2 ----
story.append(h1("MONTH 2: AUGUST 15 – SEPTEMBER 14"))
story.append(Paragraph("Orthopedics & Traumatology + MSK & Sports Physiotherapy", subtitle_style))
story.append(sp(8))
story.append(h2("Week 5–6: Orthopedics & Traumatology"))
story.append(body("These topics directly feed into MSK PT — learn them well here and you won't need to re-study for MSK."))
story.append(sp(4))
ortho_data = [
["Day", "Topic", "Hours"],
["Day 22–23", "Intro to Ortho + Fracture basics (types, healing, complications, management principles) + Upper limb fractures (Clavicle, Humerus, Radius/Ulna, Scaphoid, Phalanges)", "9 hrs"],
["Day 24–25", "Lower limb fractures — Pelvis, Neck of femur (classification!), Femur shaft, Tibia/Fibula, Ankle (Pott's, Trimalleolar), Calcaneum, Talus, Metatarsals", "5 hrs"],
["Day 26", "Spinal Fractures — Cervical (Hangman's, Odontoid), Thoracolumbar, Rib, Sternum + Traumatic Spinal Cord Injuries (Paraplegia, Quadriplegia)", "6 hrs"],
["Day 27", "Dislocations — Anterior/Posterior shoulder (Kocher's, Hippocrates), Hip (Anterior/Posterior/Central), Elbow, Patella", "—"],
["Day 28", "Soft Tissue Injuries — Sprains/Strains, Meniscal injuries, Cruciate ligaments, Collateral ligaments, Ankle ligaments, Tendon ruptures (Achilles, Rotator cuff)", "3 hrs"],
["Day 29", "Deformities — Congenital (CTEV, CDH, Scoliosis, Torticollis, Flat foot, Limb deficiencies) + Acquired (Kyphosis, Lordosis, Scoliosis, Genu valgum/varum)", "6 hrs"],
["Day 30", "Disease of Bones & Joints — OA, RA, Osteomyelitis (acute/chronic), Septic arthritis, Bone tumors (Osteosarcoma, Ewing's), Metabolic bone disease (Osteoporosis, Rickets)", "4 hrs"],
]
story.append(make_table(ortho_data, col_widths=[2*cm, 10.5*cm, 4*cm]))
story.append(sp(8))
story.append(h2("Week 7: Orthopedics (Remaining) + Start MSK PT"))
w7_data = [
["Day", "Topic"],
["Day 31", "Cervical & Lumbar Pathology — PID, Spondylosis, Spondylolisthesis, Spinal Canal Stenosis, Lumbago/Lumbosacral strain"],
["Day 32", "Inflammatory/Degenerative — OA, RA, Ankylosing Spondylitis, Gout, SLE, Scleroderma, Dermatomyositis, MCTD"],
["Day 33", "Syndromes — TOS, Piriformis, Cervicobrachial, Scalenus + Regional Conditions (Frozen shoulder, Tennis elbow, Plantar fasciitis, Patellar tendinitis, Morton's Neuroma)"],
["Day 34", "Neuromuscular Disorders — CP, Poliomyelitis, Leprosy, Spinal Dysraphism + Orthopedic surgeries overview (Arthroplasty, Arthrodesis, Osteotomy, External fixators)"],
["Day 35", "REVISION — Quick revision of all Ortho topics + Start reading MSK PT assessment chapter"],
]
story.append(make_table(w7_data, col_widths=[2*cm, 14.5*cm]))
story.append(sp(8))
story.append(h2("Week 8: MSK & Sports PT (Core Theory — Practical Exam Focus)"))
story.append(red_note("MSK PT has Written + Oral + Practical exams. SOAP format and clinical assessment are the most tested in practicals/viva."))
story.append(sp(4))
w8_data = [
["Day", "Topic", "Exam Type"],
["Day 36–37", "PT Assessment — Full SOAP format: Subjective (history), Objective (observation, palpation, ROM, MMT, Special tests, Neurological exam), Assessment, Plan. Practice writing a full SOAP note.", "Practical + Oral"],
["Day 38–39", "PT Management in Fractures — Complications (Compartment syndrome, Fat embolism, AVN, Myositis ossificans), Goals of PT, Guidelines during immobilization and post-immobilization", "Written + Oral"],
["Day 40–41", "Specific Fractures PT — Upper limb (shoulder, elbow, wrist, hand fractures + dislocations), Lower limb (hip, knee, ankle fractures), Spine", "Written + Practical"],
["Day 42", "Degenerative & Inflammatory PT — OA (knee, hip, hand), RA, Ankylosing Spondylitis, Gout, Perthes disease, Periarthritic shoulder", "Written + Oral"],
]
story.append(make_table(w8_data, col_widths=[2*cm, 9*cm, 5.5*cm]))
story.append(PageBreak())
# ---- SECTION 4: MONTH 3 ----
story.append(h1("MONTH 3: SEPTEMBER 15 – OCTOBER 14"))
story.append(Paragraph("Cardiorespiratory & General PT + Full Revision + Practical Prep", subtitle_style))
story.append(sp(8))
story.append(h2("Week 9–10: Cardiorespiratory & General PT (Most Time Here — Your Weakest)"))
w9_data = [
["Day", "Topic", "Hours"],
["Day 43–44", "Bedside Assessment (Adult & Pediatric) + Investigations — PFT interpretation (FEV1, FVC, FEV1/FVC), ABG analysis, ECG basics, Chest X-ray, Exercise tolerance testing", "6 hrs"],
["Day 45–46", "PT to increase lung volume — Positioning, Breathing exercises (diaphragmatic, pursed lip), Incentive Spirometry, CPAP, IPPB, Neurophysiological facilitation", "3 hrs"],
["Day 47", "PT to clear secretions — Postural drainage (positions per lobe!), Percussion, Vibration, ACBT, Flutter, PEP, Autogenic drainage, Huff and cough, Suctioning", "3 hrs"],
["Day 48", "PT to decrease work of breathing — IPPB, CPAP, BiPAP, Breathing re-education + Drug therapy (bronchodilators, mucolytics, steroids, inhalers)", "4 hrs"],
["Day 49", "Obstructive lung PT (COPD, Asthma, Bronchiectasis) + Restrictive lung PT (ILD, pulmonary fibrosis) + Management of breathlessness", "6 hrs"],
["Day 50–51", "Respiratory failure — O2 therapy types, Mechanical ventilation (modes, indications, weaning) + ICU PT — ARDS, Shock, Head injury, Tetanus, Multi-organ failure, Near drowning", "4 hrs"],
["Day 52", "Pulmonary Rehabilitation — Program components, patient selection, exercise training, education, psychosocial support, outcomes", "4 hrs"],
["Day 53", "Cardiac Rehabilitation (Phases I-IV, MET levels, activity progression) + PT following cardiac surgeries (post-CABG, post-valve surgery) + PT following PVD", "7 hrs"],
]
story.append(make_table(w9_data, col_widths=[2*cm, 10.5*cm, 3.5*cm]))
story.append(sp(8))
story.append(h2("Week 11: General PT Topics"))
w11_data = [
["Day", "Topic"],
["Day 54", "Neonatal & Pediatric Chest PT — Neonatal unit, chest PT for children, modifications, emergencies + Drug therapy for respiratory conditions"],
["Day 55", "PT in Obstetrics — Antenatal care, exercise, postnatal care, pelvic floor re-education, electrotherapy in obstetrics"],
["Day 56", "Wound management — Care of ulcers/wounds, surgical scars, UVR therapy, electrotherapeutics for wound healing, keloids, hypertrophic scars"],
["Day 57", "PT following Lung surgeries (post-pneumonectomy, lobectomy, thoracotomy) + PT following Abdominal surgeries"],
["Day 58", "Burns PT — Mobilization, positioning, splinting, exercise + Dermatology PT (Vitiligo, Leprosy, skin conditions)"],
["Day 59", "PT in Medical conditions — Hypertension, Diabetes, Renal failure, Obesity (exercise prescriptions, precautions)"],
["Day 60", "Health Fitness & Promotion + Applied Yoga in cardiorespiratory conditions + Oncology PT"],
]
story.append(make_table(w11_data, col_widths=[2*cm, 14.5*cm]))
story.append(PageBreak())
# ---- REVISION SPRINT ----
story.append(h1("WEEK 12–13: REVISION SPRINT"))
story.append(Paragraph("Day 61–90 | Full Subject Revisions + Practical Preparation", subtitle_style))
story.append(sp(8))
story.append(h2("Theory Revision Schedule"))
rev_data = [
["Day", "Focus", "Method"],
["Day 61–62", "General Medicine", "Cheat sheets: 1 page per system. Focus on Cardio, Respiratory, Diabetes"],
["Day 63–64", "General Surgery", "Wound healing flowchart, Burns Rule of 9s, Surgical procedures & complications"],
["Day 65–66", "Orthopedics & Traumatology", "All fractures + Deformities + Diseases. Draw Ortho X-ray findings from memory"],
["Day 67–68", "MSK & Sports PT", "SOAP practice, PT protocols for fractures/OA/RA/Spinal conditions, Sports injuries"],
["Day 69–70", "Cardiorespiratory PT", "All PT techniques, ICU PT, Pulmonary rehab, Cardiac rehab phases"],
["Day 71–75", "PRACTICAL PREP", "Practice: SOAP writing, ROM measurement, MMT grading, Special tests, Postural drainage positioning"],
["Day 76–80", "Previous Year Papers", "Attempt past exam questions under timed conditions. Identify weak areas"],
["Day 81–85", "Mock Answers + Viva", "Write out long answers. Practice viva with a classmate/in front of mirror"],
["Day 86–90", "Light Revision Only", "Cheat sheets only. Sleep well. No new topics!"],
]
story.append(make_table(rev_data, col_widths=[2*cm, 5.5*cm, 9*cm]))
story.append(PageBreak())
# ---- HIGH YIELD TOPICS ----
story.append(h1("HIGH-YIELD TOPICS (Most Likely Exam Questions)"))
story.append(sp(6))
story.append(h2("General Medicine — Must Know"))
med_hy = [
"Diabetes Mellitus — etiology, clinical features, ALL complications (DKA, HHS, Neuropathy, Nephropathy, Retinopathy), management",
"Hypertension — JNC classification, causes, investigations, management (lifestyle + drugs)",
"IHD / Myocardial Infarction — pathogenesis, ECG changes, management, complications",
"COPD vs Asthma — key differences, clinical features, spirometry pattern, management",
"Tuberculosis — types, diagnosis (Mantoux, Sputum, HRCT), DOTS treatment regimen",
"Anemia — iron deficiency vs B12/folate vs hemolytic — clinical features, investigations, management",
"Rheumatic Fever → Valve disease (Mitral stenosis most common)",
"Viral Hepatitis — types A/B/C/D/E, transmission, complications (Cirrhosis, HCC)",
]
for t in med_hy:
story.append(bullet(t))
story.append(sp(6))
story.append(h2("General Surgery — Must Know"))
surg_hy = [
"Wound Healing — 3 phases (Inflammatory, Proliferative, Remodeling), factors affecting healing",
"Burns — Wallace Rule of 9s, depth classification (superficial/partial/full thickness), Fluid resuscitation formula, skin grafts",
"DVT / Pulmonary Embolism — Virchow's triad, clinical features, Homan's sign, management (anticoagulation)",
"Thoracic Trauma — Tension pneumothorax (emergency!), Hemothorax, Cardiac Tamponade (Beck's triad)",
"Breast Carcinoma — TNM staging, types, management",
"Cholecystectomy — indications, laparoscopic vs open, complications",
"Hernia — types (inguinal, femoral, umbilical), reducible vs irreducible vs strangulated",
"Appendicectomy — McBurney's point, clinical features of appendicitis",
]
for t in surg_hy:
story.append(bullet(t))
story.append(sp(6))
story.append(h2("Orthopedics & Traumatology — Must Know"))
ortho_hy = [
"Fracture Neck of Femur — Garden classification, management (conservative vs surgical, hemiarthroplasty vs THA), complications (AVN)",
"Colles' Fracture — mechanism (FOOSH), clinical features (dinner fork deformity), management",
"Supracondylar fracture of humerus — most common in children, Volkmann's ischemic contracture complication",
"Anterior dislocation of shoulder — mechanism, clinical features, Kocher's/Hippocrates reduction, Bankart lesion",
"CTEV (Club foot) — components (CAVE), management (Ponseti method)",
"CDH — clinical features, Barlow/Ortolani tests, management",
"OA — clinical features, radiological features (joint space narrowing, osteophytes, subchondral sclerosis), management",
"RA — clinical features, extra-articular features, DMARDs management",
"PID — L4-L5, L5-S1 most common, dermatomal signs, management (conservative vs surgical)",
"Scoliosis — Cobb's angle, types, Harrington rod/Luque's instrumentation",
]
for t in ortho_hy:
story.append(bullet(t))
story.append(sp(6))
story.append(h2("MSK & Sports PT — Must Know for Practical/Viva"))
msk_hy = [
"SOAP Assessment format — know all components by heart, practice writing in 15 minutes",
"PT for OA knee — exercises (quad strengthening, ROM), electrotherapy (TENS, ultrasound), hydrotherapy, home program",
"PT after TKR/THR — Day-wise protocol (Day 0, 1, 2... Week 1, 2...), precautions (dislocation precautions for THR)",
"PT for spinal conditions — PID (Williams vs McKenzie exercises), Cervical/Lumbar spondylosis",
"ACL injury rehabilitation — pre-op PT, post-op protocol (weeks 0-6-12), criteria for RTS (return to sport)",
"Meniscal injury — conservative vs post-meniscectomy PT",
"PT for fractures — immobilization phase goals, post-immobilization phase (prevent stiffness, restore strength)",
"Manual therapy — Maitland grades of mobilization (I-IV), McKenzie approach for spine",
"Orthotics & Prosthetics — types of AFO, KAFO, upper/lower limb prostheses, stump care, gait training",
"Sports PT — stages of soft tissue healing (acute/subacute/chronic), PRICE principle, return to sport criteria",
]
for t in msk_hy:
story.append(bullet(t))
story.append(sp(6))
story.append(h2("Cardiorespiratory PT — Must Know"))
cardio_hy = [
"Postural Drainage positions — know which position drains EACH lobe/segment (draw it out!)",
"ACBT (Active Cycle of Breathing Technique) — 3 components (breathing control, thoracic expansion, forced expiration), indications",
"PFT interpretation — FEV1, FVC, FEV1/FVC ratio (Obstructive: <0.7, Restrictive: >0.7 but reduced FVC)",
"ABG interpretation — pH, PaO2, PaCO2, HCO3 — identify respiratory vs metabolic acidosis/alkalosis",
"ICU PT — indications, contraindications, positioning, mobilization protocol, precautions in ICU",
"Pulmonary Rehabilitation — components, benefits, exercise training prescription, education",
"Cardiac Rehabilitation Phases — Phase I (in-hospital), Phase II (outpatient 6-12 wks), Phase III (community), Phase IV (maintenance) + MET levels",
"PT after CABG/Thoracotomy — deep breathing, coughing techniques, early mobilization, scar management",
"Mechanical Ventilation — modes (SIMV, CMV, CPAP), weaning criteria, PT role in ventilated patients",
"PT in Obstetrics — antenatal exercises, pelvic floor exercises, breathing in labour, postnatal care",
]
for t in cardio_hy:
story.append(bullet(t))
story.append(PageBreak())
# ---- RECOMMENDED BOOKS ----
story.append(h1("RECOMMENDED BOOKS"))
story.append(sp(6))
books_data = [
["Subject", "Book", "Author", "Priority"],
["MSK & Cardiorespiratory PT", "Tidy's Physiotherapy", "Tidy's", "MUST BUY"],
["Cardiorespiratory PT", "Cash's Textbook of Chest, Heart, Vascular Disorders for Physiotherapists", "Cash", "MUST BUY"],
["Medicine & Surgery (PT view)", "Cash's Textbook of General Medicine & Surgical Conditions for Physiotherapists", "Cash", "MUST BUY"],
["Cardiorespiratory PT", "Physiotherapy in Respiratory Care", "Alexandra Hough", "MUST BUY"],
["MSK PT", "Orthopedic Physiotherapy", "Jayant Joshi", "MUST BUY"],
["Orthopedics", "Outline of Fractures + Outline of Orthopedics", "John Crawford Adams", "Recommended"],
["General Medicine", "Davidson's Principles and Practice of Medicine", "Davidson", "Reference"],
["General Surgery", "Bailey and Love's Short Practice of Surgery", "Bailey & Love", "Reference"],
]
story.append(make_table(books_data, col_widths=[4*cm, 7*cm, 3.5*cm, 2*cm]))
story.append(PageBreak())
# ---- PRACTICAL EXAM TIPS ----
story.append(h1("PRACTICAL EXAM TIPS"))
story.append(sp(6))
story.append(h2("MSK PT Practical — What Examiners Test"))
msk_prac = [
"SOAP note writing — given a case, write a complete SOAP note in 15 minutes. Practice daily from Month 2.",
"Special tests — Know: Lachman's (ACL), McMurray's (Meniscus), Empty can/Drop arm (Supraspinatus), Spurling's (Cervical nerve root), SLR (Lumbar disc), FABER/FADIR (Hip), Thomas test (Hip flexor tightness)",
"MMT grading — 0 to 5 grading. Practice on yourself and classmates.",
"ROM measurement — know normal values for all major joints. Practice goniometry.",
"Gait analysis — identify antalgic gait, Trendelenburg gait, steppage gait, scissor gait",
"PT treatment planning — given 'OA knee patient', state goals (short + long term), treatment plan, home program",
]
for t in msk_prac:
story.append(bullet(t))
story.append(sp(8))
story.append(h2("Cardiorespiratory PT Practical — What Examiners Test"))
cardio_prac = [
"Postural drainage — demonstrate correct position for each lobe. Draw on paper if unsure.",
"ACBT — demonstrate full cycle on a patient/model",
"Breathing exercises — diaphragmatic, pursed lip, segmental, lateral costal",
"Percussion and vibration technique — correct hand position, when to use each",
"Bedside assessment — auscultation (normal vs adventitious sounds), chest expansion measurement, observation (cyanosis, clubbing, barrel chest)",
"Incentive spirometry — explain and demonstrate to 'patient'",
"Cardiac rehab — know Phase I exercises: ankle pumps, deep breathing, sitting to standing, supervised walking",
]
for t in cardio_prac:
story.append(bullet(t))
story.append(sp(10))
story.append(note("VIVA TIP: Always start your viva answer with 'Physiotherapy assessment of this patient would include...' — examiners love a systematic approach."))
story.append(sp(6))
story.append(red_note("Don't skip practical prep. Many students pass written but fail practical — it's where easy marks are if you prepare, but easy marks to lose if you don't."))
story.append(PageBreak())
# ---- WEEKLY SUMMARY TABLE ----
story.append(h1("3-MONTH OVERVIEW AT A GLANCE"))
story.append(sp(6))
overview_data = [
["Month", "Weeks", "Subject Focus", "Goal"],
["Month 1\nJul 15 – Aug 14", "Week 1–2", "General Medicine\n(Cardio, Respiratory, Digestive, Endo, Blood, Infections, Pediatrics)", "Complete all theory\n1-page notes per topic"],
["", "Week 3–4", "General Surgery\n(Wound healing, Thoracic trauma, Heart disorders, Burns, Vascular, Women's health)", "Complete theory\nFocus on surgical procedures"],
["Month 2\nAug 15 – Sep 14", "Week 5–7", "Orthopedics & Traumatology\n(Fractures, Dislocations, Deformities, Bone diseases, Spine)", "Complete Ortho theory\nMake fracture summary"],
["", "Week 7–8", "MSK & Sports PT\n(SOAP assessment, Fracture PT, Inflammatory conditions PT, Spinal PT)", "Begin SOAP practice\nLink Ortho to PT management"],
["Month 3\nSep 15 – Oct 14", "Week 9–11", "Cardiorespiratory & General PT\n(Bedside assessment, PT techniques, ICU, Pulm rehab, Cardiac rehab, General PT)", "Complete all theory\nPractice all PT techniques"],
["", "Week 12–13", "FULL REVISION + PRACTICAL PREP\n(All subjects, Previous papers, Mock viva, Practical skills)", "Pass the exam!"],
]
story.append(make_table(overview_data, col_widths=[3*cm, 2*cm, 7.5*cm, 4*cm]))
story.append(sp(12))
story.append(hr())
story.append(sp(6))
story.append(Paragraph("You've got this. Start today, be consistent, and 3 months is more than enough.",
ParagraphStyle("Motivate", parent=styles["Normal"], fontSize=11, alignment=TA_CENTER,
textColor=colors.HexColor("#1a237e"), fontName="Helvetica-Bold")))
story.append(sp(4))
story.append(Paragraph("Generated by Orris AI Study Assistant | July 2026", subtitle_style))
# ---- BUILD PDF ----
doc.build(story)
print("PDF created successfully:", OUTPUT)
cd /home/daytona/workspace/pt-study-plan && python generate_pdf.py
PT 3Month Study Plan
PDF Document · PDF
can u make notes for me subject by suject
~/pt-study-plan/gen_medicine_notes.py
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, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
OUTPUT = "/home/daytona/workspace/pt-study-plan/General_Medicine_Notes.pdf"
doc = SimpleDocTemplate(
OUTPUT, pagesize=A4,
rightMargin=1.8*cm, leftMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm
)
styles = getSampleStyleSheet()
# ---- Styles ----
title_s = ParagraphStyle("TitleS", fontSize=24, textColor=colors.HexColor("#0d47a1"),
alignment=TA_CENTER, fontName="Helvetica-Bold", spaceAfter=6)
subtitle_s = ParagraphStyle("SubS", fontSize=11, textColor=colors.HexColor("#455a64"),
alignment=TA_CENTER, spaceAfter=4)
h1_s = ParagraphStyle("H1S", fontSize=13, textColor=colors.white,
backColor=colors.HexColor("#0d47a1"), spaceBefore=12, spaceAfter=5,
fontName="Helvetica-Bold", leftIndent=-4, rightIndent=-4, borderPad=5)
h2_s = ParagraphStyle("H2S", fontSize=11, textColor=colors.HexColor("#0d47a1"),
spaceBefore=8, spaceAfter=3, fontName="Helvetica-Bold")
h3_s = ParagraphStyle("H3S", fontSize=10, textColor=colors.HexColor("#b71c1c"),
spaceBefore=5, spaceAfter=2, fontName="Helvetica-Bold")
body_s = ParagraphStyle("BodyS", fontSize=9.5, leading=14, spaceAfter=2,
textColor=colors.HexColor("#212121"))
bullet_s = ParagraphStyle("BulletS", fontSize=9.5, leading=13,
leftIndent=14, spaceAfter=2, textColor=colors.HexColor("#212121"))
sub_bullet_s = ParagraphStyle("SubBulletS", fontSize=9, leading=12,
leftIndent=28, spaceAfter=1, textColor=colors.HexColor("#424242"))
imp_s = ParagraphStyle("ImpS", fontSize=9, leading=12,
backColor=colors.HexColor("#fff9c4"), borderPad=5, spaceAfter=5,
textColor=colors.HexColor("#4e342e"))
red_s = ParagraphStyle("RedS", fontSize=9, leading=12,
backColor=colors.HexColor("#ffebee"), borderPad=5, spaceAfter=5,
textColor=colors.HexColor("#b71c1c"))
green_s = ParagraphStyle("GreenS", fontSize=9, leading=12,
backColor=colors.HexColor("#e8f5e9"), borderPad=5, spaceAfter=5,
textColor=colors.HexColor("#1b5e20"))
def h1(t): return Paragraph(f" {t}", h1_s)
def h2(t): return Paragraph(t, h2_s)
def h3(t): return Paragraph(t, h3_s)
def body(t): return Paragraph(t, body_s)
def bl(t): return Paragraph(f"• {t}", bullet_s)
def sbl(t): return Paragraph(f" – {t}", sub_bullet_s)
def imp(t): return Paragraph(f"<b>★ KEY:</b> {t}", imp_s)
def red(t): return Paragraph(f"<b>⚠ EXAM TIP:</b> {t}", red_s)
def green(t): return Paragraph(f"<b>✔ REMEMBER:</b> {t}", green_s)
def sp(n=5): return Spacer(1, n)
def hr(): return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#bbdefb"), spaceAfter=3)
def tbl(data, widths=None, hcol="#1565c0"):
t = Table(data, colWidths=widths, repeatRows=1)
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor(hcol)),
("TEXTCOLOR", (0,0), (-1,0), colors.white),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 8.5),
("ALIGN", (0,0), (-1,-1), "LEFT"),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("FONTSIZE", (0,1), (-1,-1), 8.5),
("ROWBACKGROUNDS", (0,1), (-1,-1), [colors.white, colors.HexColor("#e3f2fd")]),
("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#90caf9")),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
]))
return t
story = []
# ======== COVER ========
story += [sp(40),
Paragraph("GENERAL MEDICINE", title_s),
Paragraph("Complete Study Notes", title_s),
sp(10),
Paragraph("3rd Year BPT | University Written Exam", subtitle_s),
Paragraph("Based on Official Syllabus", subtitle_s),
sp(20),
HRFlowable(width="100%", thickness=1, color=colors.HexColor("#0d47a1"), spaceAfter=8),
sp(6)]
toc_data = [
["#", "Topic", "Syllabus Hours"],
["1", "Infection", "3 hrs"],
["2", "Poisoning", "2 hrs"],
["3", "Food & Nutrition", "4 hrs"],
["4", "Endocrine Diseases", "4 hrs"],
["5", "Diseases of the Blood", "4 hrs"],
["6", "Diseases of the Digestive System", "7 hrs"],
["7", "Cardiovascular Disease", "8 hrs"],
["8", "Respiratory Disease", "9 hrs"],
["9", "Diseases of the Skin", "6 hrs"],
["10", "Pediatrics", "8 hrs"],
["11", "Psychiatric Disorders", "5 hrs"],
]
story.append(tbl(toc_data, widths=[1*cm, 12*cm, 3.5*cm]))
story += [sp(30), Paragraph("Orris AI Study Assistant | July 2026", subtitle_s), PageBreak()]
# ======== TOPIC 1: INFECTION ========
story.append(h1("TOPIC 1: INFECTION [3 Hours]"))
story += [sp(4)]
story.append(h2("1.1 Effects of Infection on the Body"))
story += [bl("Localised infection — confined to entry site (abscess, cellulitis)"),
bl("Generalised (systemic) infection — spreads via blood (bacteremia, septicemia, toxemia)"),
bl("Inflammatory response — redness, heat, swelling, pain, loss of function"),
bl("Systemic effects — fever (pyrexia), tachycardia, leukocytosis, raised ESR/CRP"),
sp()]
story.append(h2("1.2 Pathology — Source & Spread of Infection"))
story += [
tbl([["Source", "Examples"],
["Exogenous", "Bacteria from environment, other people, contaminated instruments"],
["Endogenous", "Normal flora of skin, gut, respiratory tract becoming pathogenic"],
["Nosocomial", "Hospital-acquired infections (HAI) — E. coli, MRSA, Pseudomonas"],
], widths=[5*cm, 11.5*cm]),
sp(4),
h3("Routes of Spread:"),
bl("Direct contact — touch, droplets"),
bl("Indirect — contaminated water, food, fomites"),
bl("Vector-borne — mosquito (malaria, dengue), tick (Lyme disease)"),
bl("Airborne — TB, measles, influenza"),
bl("Blood-borne — HIV, Hepatitis B/C"),
sp()]
story.append(h2("1.3 Vaccinations"))
story += [
tbl([["Vaccine", "Disease Prevented", "Schedule"],
["BCG", "Tuberculosis", "At birth"],
["OPV / IPV", "Poliomyelitis", "6, 10, 14 weeks + boosters"],
["DPT", "Diphtheria, Pertussis, Tetanus", "6, 10, 14 weeks"],
["MMR", "Measles, Mumps, Rubella", "9 months + 15-18 months"],
["Hepatitis B", "Hep B infection", "0, 1, 6 months"],
["Typhoid", "Typhoid fever", "2 years onwards, every 3 years"],
["Influenza", "Flu", "Annual"],
], widths=[4*cm, 6*cm, 6.5*cm]),
sp(4),
imp("Types of immunity: Active (vaccines, natural infection), Passive (maternal antibodies, immunoglobulins)")]
story.append(h2("1.4 Rashes & Common Infections"))
story += [
tbl([["Infection", "Rash/Feature", "Causative Agent"],
["Measles", "Koplik spots → maculopapular rash (head to toe)", "Paramyxovirus"],
["Chickenpox", "Itchy vesicular rash — different stages at same time", "VZV"],
["Rubella", "Fine pink rash, posterior cervical lymphadenopathy", "Rubella virus"],
["Typhoid", "Rose spots on trunk", "Salmonella typhi"],
["Meningococcemia", "Petechial/purpuric non-blanching rash", "N. meningitidis"],
], widths=[3.5*cm, 7*cm, 6*cm]),
sp(4)]
story.append(h2("1.5 Food Poisoning & Gastroenteritis"))
story += [bl("<b>Food Poisoning:</b> Illness from eating contaminated food"),
bl("Most common organisms: Salmonella, Staphylococcus aureus, Clostridium perfringens, E. coli"),
bl("Features: Nausea, vomiting, diarrhea, abdominal cramps, within 1-72 hrs of eating"),
bl("Management: Oral rehydration therapy (ORT), rest, antibiotics only if severe/systemic"),
sp(3),
bl("<b>Gastroenteritis:</b> Inflammation of stomach + intestines"),
bl("Causes: Rotavirus (most common in children), Norovirus (adults), Bacteria, Parasites"),
bl("Features: Diarrhea, vomiting, fever, dehydration"),
bl("Management: ORT (Oral Rehydration Salts — ORS), zinc supplementation in children, treat cause"),
imp("ORS formula: 1L water + 6 tsp sugar + 0.5 tsp salt")]
story.append(h2("1.6 Sexually Transmitted Diseases (STDs)"))
story += [
tbl([["Disease", "Organism", "Features", "Treatment"],
["Gonorrhea", "N. gonorrhoeae", "Urethral discharge, dysuria, pelvic pain (women)", "Ceftriaxone"],
["Syphilis", "T. pallidum", "Primary: painless chancre; Secondary: rash; Tertiary: gumma", "Penicillin G"],
["Chlamydia", "C. trachomatis", "Often asymptomatic; urethritis, cervicitis, PID", "Azithromycin"],
["Herpes Genitalis", "HSV-2", "Painful vesicles/ulcers on genitals, recurrent", "Acyclovir"],
["Trichomoniasis", "T. vaginalis", "Frothy yellow-green vaginal discharge, itching", "Metronidazole"],
], widths=[3*cm, 3*cm, 5.5*cm, 5*cm]),
sp(4)]
story.append(h2("1.7 HIV Infection & AIDS"))
story += [
h3("Definition:"),
bl("HIV (Human Immunodeficiency Virus) — attacks CD4+ T lymphocytes"),
bl("AIDS (Acquired Immunodeficiency Syndrome) — CD4 count <200 cells/μL OR AIDS-defining illness"),
sp(3),
h3("Transmission:"),
bl("Sexual contact (most common)"),
bl("Blood transfusion / needle sharing (IV drug users)"),
bl("Mother to child (vertical transmission) — during pregnancy, childbirth, breastfeeding"),
sp(3),
h3("Stages of HIV:"),
tbl([["Stage", "CD4 Count", "Features"],
["Acute HIV (2-4 wks)", ">500", "Flu-like illness, fever, lymphadenopathy, rash — lasts 2-4 weeks"],
["Asymptomatic (latent)", "200-500", "No symptoms. Can last years. Still infectious!"],
["Symptomatic HIV", "200-500", "Weight loss, oral candidiasis, TB, recurrent infections"],
["AIDS", "<200", "Opportunistic infections: PCP, CMV retinitis, Cryptococcal meningitis, Kaposi's sarcoma"],
], widths=[3*cm, 3*cm, 10.5*cm]),
sp(4),
h3("Diagnosis:"),
bl("ELISA (screening test) → confirmed by Western Blot"),
bl("CD4 count — monitors immune status"),
bl("Viral load — monitors disease progression and treatment response"),
sp(3),
h3("Treatment — ART (Antiretroviral Therapy):"),
bl("HAART (Highly Active ART) — combination of 3 or more drugs from different classes"),
bl("Goal: Reduce viral load to undetectable, maintain CD4 >500"),
bl("Common regimen: 2 NRTIs + 1 NNRTI or 1 PI"),
bl("Not curative, but controls disease — patient must take lifelong"),
red("HIV exam tip: Know the CD4 thresholds (200 for AIDS), transmission routes, diagnosis (ELISA + Western Blot), and ART. Very common question!"),
PageBreak()]
# ======== TOPIC 2: POISONING ========
story.append(h1("TOPIC 2: POISONING [2 Hours]"))
story += [sp(4)]
story.append(h2("2.1 General Management of Poisoning"))
story += [
h3("Initial Steps (ABCDE):"),
bl("A — Airway: maintain airway, intubate if unconscious"),
bl("B — Breathing: O2, ventilation if needed"),
bl("C — Circulation: IV access, fluids, treat shock"),
bl("D — Disability: GCS, pupils, glucose"),
bl("E — Exposure: remove contaminated clothing, identify poison"),
sp(3),
h3("Decontamination:"),
bl("Skin exposure: Remove clothes, wash with water 15-20 min"),
bl("Eye exposure: Irrigate with normal saline"),
bl("<b>Gastric lavage:</b> Only within 1 hour of ingestion if poison is NOT corrosive/hydrocarbon"),
bl("<b>Activated charcoal:</b> 50g in adults — adsorbs most poisons (NOT effective for iron, lithium, cyanide, alcohols)"),
bl("Cathartics: Sorbitol — speeds gut transit"),
imp("Never induce vomiting in corrosive/petroleum poisoning — causes more damage!")]
story.append(h2("2.2 Common Poisons & Their Management"))
story += [
tbl([["Poison", "Features", "Specific Treatment / Antidote"],
["Organophosphate\n(pesticides)", "DUMBBELS: Diarrhea, Urination, Miosis, Bradycardia, Bronchospasm, Emesis, Lacrimation, Salivation", "Atropine (large doses) + Pralidoxime (2-PAM)"],
["Paracetamol\n(Acetaminophen)", "Initially nausea/vomiting. Liver failure at 24-72 hrs (jaundice, coagulopathy)", "N-Acetylcysteine (NAC) — within 8-10 hrs is most effective"],
["Opioids (morphine,\nheroin, codeine)", "Triad: Miosis (pinpoint pupils), Respiratory depression, Coma", "Naloxone (Narcan) — IV/IM/intranasal"],
["Benzodiazepines", "Sedation, CNS depression, respiratory depression", "Flumazenil"],
["Iron", "GI hemorrhage, shock, liver failure", "Desferrioxamine (chelation)"],
["Cyanide", "Bitter almond smell, rapid collapse, metabolic acidosis", "Hydroxocobalamin + Sodium thiosulfate"],
["CO (Carbon\nMonoxide)", "Headache, nausea, cherry-red skin (late sign), confusion, coma", "100% O2 via non-rebreathing mask; hyperbaric O2"],
["Corrosives\n(acid/alkali)", "Severe burns of mouth, throat, esophagus; drooling", "Dilute with water (milk); NO gastric lavage; supportive"],
], widths=[3*cm, 6*cm, 7.5*cm]),
sp(4),
red("Most tested antidote: Atropine for organophosphate, Naloxone for opioids, NAC for paracetamol")]
story.append(h2("2.3 Drugs of Misuse"))
story += [
tbl([["Drug", "Type", "Effects", "Withdrawal Features"],
["Alcohol", "Depressant", "Euphoria, disinhibition, ataxia, coma", "Tremors, seizures, delirium tremens (DTs)"],
["Heroin/Opioids", "Depressant", "Euphoria, analgesia, miosis, respiratory depression", "Yawning, lacrimation, goosebumps, diarrhea, cramps"],
["Cannabis", "Stimulant/Hallucinogen", "Euphoria, red eyes, increased appetite, paranoia", "Mild: irritability, insomnia, anxiety"],
["Cocaine/Crack", "Stimulant", "Euphoria, tachycardia, hypertension, arrhythmias", "Crash: depression, fatigue, cravings"],
["Amphetamines", "Stimulant", "Increased energy, decreased appetite, paranoia", "Fatigue, depression, hypersomnia"],
], widths=[2.5*cm, 2.5*cm, 6*cm, 5.5*cm]),
PageBreak()]
# ======== TOPIC 3: FOOD AND NUTRITION ========
story.append(h1("TOPIC 3: FOOD & NUTRITION [4 Hours]"))
story += [sp(4)]
story.append(h2("3.1 Nutritional & Energy Requirements"))
story += [
tbl([["Nutrient", "Function", "RDA (Adult)"],
["Carbohydrates", "Primary energy source (4 kcal/g)", "55-60% of total calories"],
["Proteins", "Tissue building, enzymes, antibodies (4 kcal/g)", "0.8-1.0 g/kg/day"],
["Fats", "Energy, fat-soluble vitamins, cell membranes (9 kcal/g)", "25-30% of total calories"],
["Water", "Solvent, temperature regulation, transport", "2-3 L/day"],
], widths=[3.5*cm, 7*cm, 6*cm]),
sp(4),
imp("Total energy needs: Basal Metabolic Rate (BMR) + Physical Activity + Thermogenesis. Average adult needs ~2000-2500 kcal/day.")]
story.append(h2("3.2 Deficiency Diseases"))
story += [
tbl([["Deficiency", "Disease", "Clinical Features", "Treatment"],
["Vitamin A", "Night blindness, Xerophthalmia", "Poor night vision, Bitot spots, corneal ulceration, keratomalacia", "Vitamin A supplements"],
["Vitamin B1 (Thiamine)", "Beriberi", "Wet Beriberi: cardiac failure + edema; Dry Beriberi: peripheral neuropathy; Wernicke's encephalopathy", "Thiamine IV/oral"],
["Vitamin B3 (Niacin)", "Pellagra", "4 Ds: Dermatitis, Diarrhea, Dementia, Death", "Niacin supplements"],
["Vitamin B12/Folate", "Megaloblastic Anemia", "Fatigue, pallor, macrocytic anemia; B12 also causes subacute combined degeneration of spinal cord", "B12/Folate supplements"],
["Vitamin C", "Scurvy", "Bleeding gums, perifollicular hemorrhage, poor wound healing, corkscrew hairs", "Vitamin C (ascorbic acid)"],
["Vitamin D", "Rickets (children)\nOsteomalacia (adults)", "Rickets: bow legs, knock knees, costochondral rosary, Harrison's sulcus. Osteomalacia: bone pain, proximal myopathy", "Vitamin D + Calcium"],
["Iron", "Iron deficiency anemia", "Fatigue, pallor, koilonychia (spoon nails), angular stomatitis, glossitis, pica", "Ferrous sulphate oral"],
["Iodine", "Goitre, Cretinism", "Goitre (thyroid enlargement); Cretinism in children: intellectual disability, short stature, deaf-mutism", "Iodized salt, KI supplements"],
], widths=[3*cm, 3*cm, 5.5*cm, 5*cm]),
sp(4)]
story.append(h2("3.3 Protein-Energy Malnutrition (PEM)"))
story += [
tbl([["Feature", "Kwashiorkor", "Marasmus"],
["Cause", "Protein deficiency (adequate calories)", "Severe calorie + protein deficiency"],
["Age", "Older infants / toddlers (1-3 yrs)", "Infants (<1 yr)"],
["Weight", "Normal or slightly low", "Severe wasting (<60% expected weight)"],
["Edema", "Present (pitting edema)", "Absent"],
["Appearance", "Moon face, pot belly, flaky paint skin, depigmented hair (flag sign)", "Skin and bones — wizened old man appearance"],
["Serum Albumin", "Very low", "Low to normal"],
["Treatment", "High protein diet + micronutrients + treat infections", "Gradual caloric rehabilitation; F-75 then F-100 formulas (WHO)"],
], widths=[3*cm, 7.5*cm, 6*cm]),
sp(4),
red("Kwashiorkor vs Marasmus is a very common exam differentiation question. Learn the table above by heart.")]
story.append(h2("3.4 Obesity"))
story += [
h3("Definition & Classification (BMI):"),
tbl([["BMI (kg/m²)", "Classification"],
["<18.5", "Underweight"],
["18.5–24.9", "Normal weight"],
["25–29.9", "Overweight"],
["30–34.9", "Class I Obesity"],
["35–39.9", "Class II Obesity (Severe)"],
["≥40", "Class III Obesity (Morbid)"],
], widths=[5*cm, 11.5*cm]),
sp(4),
h3("Causes:"), bl("Genetic predisposition"), bl("Excessive caloric intake > expenditure"), bl("Sedentary lifestyle"), bl("Endocrine causes — hypothyroidism, Cushing's syndrome, PCOS"), bl("Medications — steroids, antipsychotics, insulin"),
sp(3),
h3("Complications:"),
bl("Cardiovascular — Hypertension, IHD, stroke, heart failure"),
bl("Metabolic — Type 2 Diabetes, dyslipidemia, metabolic syndrome"),
bl("Respiratory — Sleep apnea, obesity hypoventilation syndrome"),
bl("Musculoskeletal — OA knee, low back pain, gout"),
bl("Psychological — Depression, low self-esteem"),
bl("Malignancy — Breast, colon, endometrial, prostate cancers"),
sp(3),
h3("Management:"),
bl("<b>Diet:</b> Caloric restriction (500 kcal/day deficit = ~0.5 kg/week weight loss)"),
bl("<b>Exercise:</b> 150-300 min/week moderate activity; resistance training"),
bl("<b>Medications:</b> Orlistat (lipase inhibitor), GLP-1 agonists (semaglutide, liraglutide)"),
bl("<b>Bariatric surgery:</b> BMI >40 OR >35 with comorbidities — sleeve gastrectomy, RYGB"),
PageBreak()]
# ======== TOPIC 4: ENDOCRINE ========
story.append(h1("TOPIC 4: ENDOCRINE DISEASES [4 Hours]"))
story += [sp(4)]
story.append(h2("4.1 Diabetes Mellitus (DM)"))
story += [
tbl([["Feature", "Type 1 DM", "Type 2 DM"],
["Pathogenesis", "Autoimmune destruction of beta cells → absolute insulin deficiency", "Insulin resistance + relative insulin deficiency"],
["Age of onset", "Young (<30 yrs)", "Middle-aged/elderly (>40 yrs), but rising in youth"],
["Body habitus", "Lean/normal weight", "Usually overweight/obese"],
["Onset", "Acute (days-weeks)", "Insidious (months-years)"],
["Ketoacidosis", "Common", "Rare"],
["Treatment", "Insulin mandatory", "Lifestyle first → Oral drugs → Insulin"],
], widths=[3.5*cm, 6.5*cm, 6.5*cm]),
sp(4),
h3("Clinical Features (3 Ps + more):"),
bl("Polyuria — excessive urination (osmotic diuresis)"),
bl("Polydipsia — excessive thirst"),
bl("Polyphagia — increased hunger (Type 1)"),
bl("Weight loss (Type 1), weight gain (Type 2)"),
bl("Fatigue, blurred vision, recurrent infections (skin, UTI, candida)"),
bl("Slow healing wounds"),
sp(3),
h3("Diagnosis (WHO Criteria):"),
tbl([["Test", "Normal", "Pre-diabetes", "Diabetes"],
["Fasting Plasma Glucose", "<5.6 mmol/L (<100 mg/dL)", "5.6-6.9 mmol/L (100-125)", "≥7.0 mmol/L (≥126 mg/dL)"],
["2-hr Post-glucose (OGTT)", "<7.8 mmol/L (<140)", "7.8-11.0 mmol/L (140-199)", "≥11.1 mmol/L (≥200 mg/dL)"],
["Random Glucose + symptoms", "—", "—", "≥11.1 mmol/L (≥200 mg/dL)"],
["HbA1c", "<5.7%", "5.7-6.4%", "≥6.5%"],
], widths=[4*cm, 4*cm, 4*cm, 4.5*cm]),
sp(4),
imp("HbA1c reflects average blood glucose over past 2-3 months. Target in treated DM: <7%."),
sp(3),
h3("Complications of Diabetes:"),
h3("Acute Complications:"),
tbl([["Complication", "Features", "Treatment"],
["DKA (Type 1)", "BG >250, Ketones+, pH<7.3, fruity breath, Kussmaul breathing, vomiting", "IV fluids, insulin infusion, K+ replacement, treat cause"],
["HHS (Type 2)", "BG >600, no ketosis, severe dehydration, altered consciousness", "IV fluids (slowly), insulin (small doses), treat cause"],
["Hypoglycemia", "BG <3.9 mmol/L; sweating, tremor, palpitations, confusion, seizures", "15g fast-acting carbs (glucose tabs, juice) if conscious; IV dextrose/glucagon if unconscious"],
], widths=[3*cm, 7*cm, 6.5*cm]),
sp(4),
h3("Chronic Complications:"),
tbl([["Type", "Complication", "Details"],
["Microvascular", "Diabetic Retinopathy", "Most common cause of blindness in working-age adults; background → proliferative"],
["Microvascular", "Diabetic Nephropathy", "Microalbuminuria → proteinuria → CKD → ESRD; treated with ACE inhibitors"],
["Microvascular", "Diabetic Neuropathy", "Glove & stocking sensory loss, autonomic neuropathy (postural hypotension, gastroparesis)"],
["Macrovascular", "IHD / MI", "2-4x increased risk; often silent MI in diabetics"],
["Macrovascular", "Peripheral Vascular Disease", "Claudication → rest pain → gangrene → amputation"],
["Macrovascular", "Stroke", "2-3x increased risk"],
["Other", "Diabetic Foot", "Combination of neuropathy + PVD → ulcers + infection + gangrene"],
], widths=[2.5*cm, 4*cm, 10*cm]),
sp(4),
h3("Management of Type 2 DM:"),
bl("Step 1: Lifestyle — diet (low GI, reduce calories, low fat), exercise (150 min/week), weight loss"),
bl("Step 2: Metformin (first-line drug) — reduces hepatic glucose production, weight neutral, cheap"),
bl("Step 3: Add second agent — Sulfonylurea (glipizide), SGLT2 inhibitor (empagliflozin), GLP-1 agonist"),
bl("Step 4: Insulin when oral drugs fail"),
red("DM is the MOST tested endocrine topic. Know: 3 Ps, diagnostic criteria, DKA vs HHS, all complications, management steps.")]
story.append(h2("4.2 Other Endocrine Diseases"))
story += [
tbl([["Disease", "Cause", "Key Features", "Treatment"],
["Hypothyroidism", "Autoimmune (Hashimoto's); iodine deficiency; post-thyroidectomy", "Weight gain, fatigue, cold intolerance, constipation, bradycardia, dry skin, myxedema, raised TSH, low T3/T4", "Levothyroxine (T4 replacement)"],
["Hyperthyroidism (Graves')", "Autoimmune (TSH-receptor antibodies)", "Weight loss, heat intolerance, tachycardia, tremor, exophthalmos, goitre, low TSH, high T3/T4", "Propylthiouracil, Carbimazole, Beta-blockers, Radioiodine, Surgery"],
["Cushing's Syndrome", "Excess cortisol (ACTH-secreting tumor, adrenal tumor, steroid drugs)", "Moon face, buffalo hump, central obesity, striae, hypertension, hyperglycemia, osteoporosis, proximal weakness", "Treat cause; Metyrapone/Ketoconazole to lower cortisol; Surgery"],
["Addison's Disease", "Autoimmune adrenal insufficiency — cortisol + aldosterone deficiency", "Fatigue, hypotension, hyperpigmentation (buccal, scars, skin creases), hyponatremia, hyperkalemia, hypoglycemia", "Hydrocortisone + Fludrocortisone lifelong"],
["Acromegaly", "GH-secreting pituitary adenoma (adult)", "Large hands/feet/jaw, coarse facial features, sweating, headache, visual field defects, DM, OSA", "Surgery (transsphenoidal), Octreotide, Radiotherapy"],
], widths=[2.5*cm, 3.5*cm, 6*cm, 4.5*cm]),
PageBreak()]
# ======== TOPIC 5: BLOOD ========
story.append(h1("TOPIC 5: DISEASES OF THE BLOOD [4 Hours]"))
story += [sp(4)]
story.append(h2("5.1 Anemia — Overview"))
story += [
body("Definition: Hemoglobin below normal — Men <13 g/dL, Women <12 g/dL"),
sp(3),
h3("Classification by MCV:"),
tbl([["Type", "MCV", "Causes"],
["Microcytic (small RBCs)", "Low (<80 fL)", "Iron deficiency, Thalassemia, Anemia of chronic disease (sometimes), Sideroblastic"],
["Normocytic (normal RBCs)", "Normal (80-100 fL)", "Acute blood loss, Hemolytic anemia, Anemia of chronic disease, Aplastic anemia, CKD"],
["Macrocytic (large RBCs)", "High (>100 fL)", "B12 deficiency, Folate deficiency, Liver disease, Hypothyroidism, Drugs (methotrexate)"],
], widths=[3.5*cm, 3*cm, 10*cm]),
sp(4),
h3("General Features of Anemia:"),
bl("Fatigue, weakness, dyspnea on exertion"),
bl("Pallor (conjunctiva, palm, tongue, nail bed)"),
bl("Tachycardia, palpitations"),
bl("Headache, dizziness, fainting"),
bl("Severe: heart failure, angina"),
sp(4)]
story.append(h2("5.2 Iron Deficiency Anemia (IDA)"))
story += [
h3("Causes:"), bl("Inadequate intake (poor diet)"), bl("Malabsorption (celiac disease, post-gastrectomy)"), bl("Increased need (pregnancy, growth)"), bl("Blood loss — GI bleeding (most common cause in adults: peptic ulcer, colorectal cancer), menorrhagia"),
sp(3),
h3("Specific Features:"), bl("Koilonychia (spoon-shaped nails)"), bl("Angular stomatitis (cracks at corners of mouth)"), bl("Glossitis (smooth, sore tongue)"), bl("Pica (craving non-food items — ice, chalk, dirt)"), bl("Plummer-Vinson syndrome — IDA + dysphagia (post-cricoid web)"),
sp(3),
h3("Investigations:"), bl("CBC: Low Hb, Low MCV, Low MCH, High RDW"), bl("Serum ferritin: LOW (most sensitive indicator of iron stores)"), bl("Serum iron: LOW, TIBC: HIGH"),
sp(3),
h3("Treatment:"), bl("Ferrous sulphate 200mg TDS for 3-6 months"), bl("Continue for 3 months after Hb normalizes to replenish stores"), bl("IV iron if oral not tolerated or malabsorption"), bl("Treat underlying cause!"),
imp("Reticulocyte count rises in 5-7 days after iron treatment — first sign of response.")]
story.append(h2("5.3 B12 & Folate Deficiency — Megaloblastic Anemia"))
story += [
tbl([["Feature", "B12 Deficiency", "Folate Deficiency"],
["Cause", "Pernicious anemia (anti-intrinsic factor Ab), gastrectomy, strict vegan diet, malabsorption", "Poor dietary intake (alcohol, poor diet), malabsorption, pregnancy need, drugs (methotrexate, phenytoin)"],
["Neurological features", "YES — Subacute Combined Degeneration of spinal cord (SACD): posterior + lateral column — proprioception loss, spasticity", "NO neurological features"],
["Blood film", "Hypersegmented neutrophils + macro-ovalocytes", "Same"],
["Treatment", "Hydroxocobalamin IM injections", "Folic acid oral tablets"],
], widths=[3*cm, 6.5*cm, 7*cm]),
sp(4),
red("Key difference: Only B12 deficiency causes neurological damage (SACD). Folate deficiency does NOT.")]
story.append(h2("5.4 Hemophilia"))
story += [
h3("Definition:"), body("Hereditary bleeding disorder due to clotting factor deficiency"),
tbl([["Type", "Deficient Factor", "Inheritance"],
["Hemophilia A (most common)", "Factor VIII", "X-linked recessive (males affected, females carriers)"],
["Hemophilia B (Christmas disease)", "Factor IX", "X-linked recessive"],
], widths=[5.5*cm, 4.5*cm, 6.5*cm]),
sp(4),
h3("Clinical Features:"),
bl("Spontaneous bleeding into joints (hemarthrosis) — knees, ankles, elbows → chronic joint damage"),
bl("Deep muscle hematomas"), bl("Prolonged bleeding after injury/surgery/dental procedures"),
bl("Severity: Mild (5-40% factor), Moderate (1-5%), Severe (<1% factor)"),
sp(3),
h3("Investigations:"), bl("Prolonged APTT (activated partial thromboplastin time)"), bl("Normal PT, Normal bleeding time, Normal platelet count"), bl("Reduced Factor VIII or IX levels"),
sp(3),
h3("Management:"), bl("Factor replacement therapy — recombinant Factor VIII (Hemophilia A) or IX (Hemophilia B)"), bl("DDAVP (desmopressin) — mild Hemophilia A only"), bl("Avoid NSAIDs and IM injections"), bl("Physiotherapy for hemarthrosis — post-acute: gentle ROM exercises, hydrotherapy"),
imp("PT role: Hydrotherapy, gentle ROM, muscle strengthening, orthoses for joint protection. AVOID joint manipulation during acute bleeds."),
PageBreak()]
# ======== TOPIC 6: DIGESTIVE ========
story.append(h1("TOPIC 6: DISEASES OF THE DIGESTIVE SYSTEM [7 Hours]"))
story += [sp(4)]
story.append(h2("6.1 Key GI Conditions"))
story += [
tbl([["Condition", "Key Features", "Management"],
["Reflux Oesophagitis (GERD)", "Heartburn worse lying down/after meals, regurgitation, water brash, odynophagia. Complications: Barrett's esophagus, stricture, adenocarcinoma", "Lifestyle changes, PPI (omeprazole), H2 blockers, antacids, surgery (fundoplication) if severe"],
["Achalasia Cardia", "Failure of LES relaxation. Progressive dysphagia (solids AND liquids equally), regurgitation, weight loss, chest pain. Barium swallow: bird-beak appearance", "Balloon dilatation, Heller's myotomy, Botox injection"],
["Peptic Ulcer Disease", "Epigastric pain: Duodenal — relieved by food, worse at night; Gastric — worse with food. H. pylori + NSAIDs are main causes. Complications: perforation (board-like rigidity), hemorrhage, obstruction", "H. pylori eradication: Triple therapy (PPI + Amoxicillin + Clarithromycin) × 7-14 days; PPIs; avoid NSAIDs"],
["GI Bleeding", "Upper GI: Hematemesis (vomiting blood), melena (tarry black stool); Causes: PUD, varices, Mallory-Weiss tear. Lower GI: Hematochezia (fresh blood PR); Causes: Hemorrhoids, diverticulosis, colorectal CA", "Resuscitate, IV PPI, Endoscopy (diagnose + treat), surgery if needed"],
["Ulcerative Colitis", "Bloody diarrhea, urgency, tenesmus. Starts in rectum, extends proximally. Continuous involvement. Complications: toxic megacolon, colorectal cancer", "5-ASA (mesalazine), Steroids, Immunosuppressants, Surgery (colectomy = curative)"],
["Crohn's Disease", "Any part of GI tract (mouth to anus). Skip lesions. Transmural inflammation. Features: diarrhea, abdominal pain, weight loss, fistulas, strictures", "5-ASA, Steroids, Azathioprine, Biologics (infliximab), Surgery (not curative)"],
], widths=[3.5*cm, 7*cm, 6*cm]),
sp(4),
red("UC vs Crohn's is a classic exam question. UC: rectum, continuous, bloody diarrhea, curative surgery. Crohn's: any part, skip lesions, fistulas, not curative.")]
story.append(h2("6.2 Liver Diseases"))
story += [
h3("Viral Hepatitis — Quick Comparison:"),
tbl([["Type", "Transmission", "Chronic?", "Vaccine?", "Notes"],
["Hep A", "Fecal-oral", "No", "Yes", "Acute self-limiting; endemic in poor sanitation areas"],
["Hep B", "Blood, sexual, vertical", "Yes (5-10%)", "Yes", "Most common cause of cirrhosis + HCC worldwide"],
["Hep C", "Blood (IV drug use, transfusion)", "Yes (80%)", "No", "Treatable with DAAs (Direct-Acting Antivirals)"],
["Hep D", "Blood (only with Hep B)", "Yes (with B)", "Hep B vaccine", "Superinfection — worsens Hep B"],
["Hep E", "Fecal-oral", "No (usually)", "Limited", "Dangerous in pregnancy (high mortality)"],
], widths=[1.5*cm, 3.5*cm, 2*cm, 2*cm, 7.5*cm]),
sp(4),
h3("Cirrhosis:"),
bl("End-stage liver disease — normal liver tissue replaced by fibrosis"),
bl("Causes: Alcohol (most common in Western world), Hep B/C, NAFLD, autoimmune"),
bl("Features:"),
sbl("Liver failure signs: Jaundice, coagulopathy, encephalopathy, hypoalbuminemia"),
sbl("Portal hypertension: Splenomegaly, ascites, esophageal varices, caput medusae"),
sbl("Other: Spider nevi, palmar erythema, leukonychia, gynecomastia, loss of body hair"),
bl("Complications: Ascites, SBP (spontaneous bacterial peritonitis), Hepatic encephalopathy, Hepatorenal syndrome, Hepatocellular carcinoma (HCC)"),
bl("Treatment: Treat cause, diuretics for ascites, propranolol for varices, liver transplant for ESLD"),
sp(3),
h3("Other Liver Conditions:"),
tbl([["Condition", "Key Features"],
["Wilson's Disease", "Autosomal recessive; copper accumulation in liver/brain/eyes. Features: liver disease, neuropsychiatric symptoms, Kayser-Fleischer rings (cornea). Treatment: Penicillamine"],
["Alpha-1 Antitrypsin Deficiency", "Genetic disorder; AAT accumulates in liver (cirrhosis) + unprotected lung (emphysema). No smoking!"],
["Gallstones (Cholelithiasis)", "Most common: cholesterol stones. Risk factors: 5 Fs — Female, Fat, Forty, Fertile, Fair. Features: biliary colic, cholecystitis, jaundice (if CBD stone). Treatment: Cholecystectomy (laparoscopic)"],
["Cholecystitis", "Acute: RUQ pain, fever, Murphy's sign positive, Nausea. Treatment: Antibiotics + Cholecystectomy"],
["Carcinoma of Pancreas", "CA head of pancreas: Painless progressive jaundice, weight loss, Courvoisier's sign (palpable GB). Late presentation = poor prognosis. Treatment: Whipple's surgery if resectable"],
], widths=[3.5*cm, 13*cm]),
PageBreak()]
# ======== TOPIC 7: CARDIOVASCULAR ========
story.append(h1("TOPIC 7: CARDIOVASCULAR DISEASE [8 Hours]"))
story += [sp(4)]
story.append(h2("7.1 Examination of CVS + Investigations"))
story += [
h3("Key Investigations:"),
tbl([["Investigation", "What it shows"],
["ECG", "Heart rate, rhythm, conduction defects, ischemia (ST changes), infarct (Q waves), LVH"],
["Exercise Stress Test", "Assesses exercise-induced ischemia (ST depression), exercise capacity (METs)"],
["Echocardiogram", "Cardiac structure, ejection fraction, valve function, wall motion abnormalities"],
["Chest X-Ray", "Cardiomegaly (CTR >50%), pulmonary congestion, pleural effusion"],
["Cardiac Enzymes", "Troponin I/T (most sensitive & specific for MI), CK-MB, LDH"],
["Coronary Angiography", "Gold standard for coronary artery disease — shows stenosis/blockage"],
], widths=[4.5*cm, 12*cm]),
sp(4)]
story.append(h2("7.2 Hypertension"))
story += [
h3("Classification (JNC 8 / ESC 2018):"),
tbl([["Category", "Systolic (mmHg)", "Diastolic (mmHg)"],
["Normal", "<120", "<80"],
["Elevated", "120-129", "<80"],
["Stage 1 HTN", "130-139", "80-89"],
["Stage 2 HTN", "≥140", "≥90"],
["Hypertensive Crisis", ">180", ">120"],
], widths=[5*cm, 5.5*cm, 6*cm]),
sp(4),
h3("Causes:"), bl("<b>Primary (Essential):</b> No identifiable cause — 95% of all hypertension"), bl("<b>Secondary:</b> Renal disease (most common secondary cause), Renal artery stenosis, Primary aldosteronism (Conn's), Phaeochromocytoma, Coarctation of aorta, Cushing's, Oral contraceptive pill"),
sp(3),
h3("Complications (Target Organ Damage):"), bl("Heart: LVH, IHD, Heart failure"), bl("Brain: Stroke (ischemic/hemorrhagic), hypertensive encephalopathy"), bl("Kidney: Hypertensive nephropathy → CKD"), bl("Eyes: Hypertensive retinopathy (A/V nicking, flame hemorrhages, papilledema in severe)"), bl("Arteries: Aortic dissection, peripheral arterial disease"),
sp(3),
h3("Management:"),
bl("Lifestyle: Salt restriction (<6g/day), weight loss, exercise, stop smoking, limit alcohol, DASH diet"),
bl("First-line drugs:"),
sbl("ACE inhibitor (e.g., ramipril) — especially with DM/CKD/heart failure"),
sbl("ARB (e.g., losartan) — if ACE inhibitor cough"),
sbl("CCB (e.g., amlodipine) — elderly, Afro-Caribbean"),
sbl("Thiazide diuretic (e.g., bendroflumethiazide)"),
sbl("Beta-blocker (e.g., atenolol) — if IHD or heart failure"),
imp("ABCD rule: A = ACE/ARB, B = Beta-blocker, C = CCB, D = Diuretic")]
story.append(h2("7.3 Ischemic Heart Disease (IHD) / Coronary Artery Disease"))
story += [
h3("Spectrum of IHD:"),
tbl([["Condition", "Definition", "Key Features", "ECG Changes"],
["Stable Angina", "Predictable chest pain on exertion, relieved by rest/GTN within 5 min", "Crushing central chest pain radiating to left arm/jaw; S/S: GTN, Beta-blockers, CCBs, Aspirin", "ST depression during attack; normal at rest"],
["Unstable Angina (NSTEMI)", "Chest pain at rest OR new onset severe angina; no enzyme rise (UA) or small rise (NSTEMI)", "Unpredictable, prolonged, not fully relieved by GTN; MEDICAL EMERGENCY", "ST depression or T-wave inversion; Troponin raised in NSTEMI"],
["STEMI (Full thickness MI)", "Complete coronary artery occlusion; transmural infarction", "Severe crushing chest pain >20 min, sweating, nausea, breathlessness, fear of death", "ST elevation; Q waves develop later; Troponin markedly elevated"],
], widths=[3*cm, 4*cm, 4.5*cm, 5*cm]),
sp(4),
h3("STEMI Management (TIME IS MUSCLE):"),
bl("Aspirin 300mg + Clopidogrel (P2Y12 inhibitor) IMMEDIATELY"),
bl("Morphine for pain + Antiemetic"), bl("O2 only if SpO2 <94%"),
bl("<b>Primary PCI (Percutaneous Coronary Intervention):</b> Best treatment — open blocked artery with balloon + stent, within 90 min of presentation"),
bl("If PCI not available within 120 min: Thrombolysis (streptokinase, tPA)"),
bl("Post-MI: Aspirin + Statin + Beta-blocker + ACE inhibitor + Cardiac Rehab"),
red("ECG in STEMI: Hyperacute T waves → ST elevation → Q waves → T-wave inversion. Know the evolution!")]
story.append(h2("7.4 Heart Failure"))
story += [
tbl([["Feature", "Left Heart Failure", "Right Heart Failure"],
["Cause", "IHD, HTN, Mitral/Aortic valve disease, Cardiomyopathy", "Left heart failure (most common), COPD (Cor Pulmonale), Pulmonary HTN"],
["Mechanism", "LV fails → backs up into pulmonary veins → pulmonary edema", "RV fails → backs up into systemic veins → peripheral congestion"],
["Symptoms", "Dyspnea, orthopnea (can't lie flat), PND, pink frothy sputum", "Peripheral edema, ascites, hepatomegaly, raised JVP"],
["Signs", "Bibasal crepitations, S3 gallop, displaced apex beat", "Pitting ankle/leg edema, raised JVP, hepatomegaly"],
["Treatment", "Diuretics (furosemide), ACE inhibitor, Beta-blocker, Spironolactone, Digoxin", "Treat cause + Diuretics"],
], widths=[2.5*cm, 6*cm, 8*cm]),
sp(4),
imp("NYHA Functional Classification: Class I — no symptoms at normal activity; II — mild limitation; III — marked limitation; IV — symptoms at rest")]
story.append(h2("7.5 Valvular Heart Disease"))
story += [
tbl([["Valve Disease", "Cause", "Murmur", "Symptoms"],
["Mitral Stenosis", "Rheumatic fever (most common cause)", "Mid-diastolic rumble at apex; opening snap", "Dyspnea, AF, hemoptysis, pulmonary HTN"],
["Mitral Regurgitation", "Rheumatic fever, MVP, IHD, IE", "Pansystolic murmur at apex, radiates to axilla", "Dyspnea, fatigue, LV dilatation"],
["Aortic Stenosis", "Calcific degeneration (elderly), bicuspid aortic valve (young)", "Ejection systolic murmur, radiates to carotids", "SAD: Syncope, Angina, Dyspnea (bad prognosis signs)"],
["Aortic Regurgitation", "Rheumatic, IE, aortic root dilatation (Marfan's)", "Early diastolic murmur at left sternal edge", "Wide pulse pressure, water hammer pulse, Quincke's sign"],
], widths=[3*cm, 3.5*cm, 5*cm, 5*cm]),
sp(4),
red("Rheumatic Fever causes: JONES criteria — Joints (migratory arthritis), cOreia, Nodules (subcutaneous), Erythema marginatum, Carditis (pancarditis — pericarditis, myocarditis, endocarditis). Treatment: Penicillin + Anti-inflammatory."),
PageBreak()]
# ======== TOPIC 8: RESPIRATORY ========
story.append(h1("TOPIC 8: RESPIRATORY DISEASE [9 Hours]"))
story += [sp(4)]
story.append(h2("8.1 Investigations"))
story += [
h3("Pulmonary Function Tests (PFT):"),
tbl([["Parameter", "Normal", "Obstructive", "Restrictive"],
["FEV1", "≥80% predicted", "Reduced", "Reduced"],
["FVC", "≥80% predicted", "Normal or reduced", "Reduced"],
["FEV1/FVC ratio", ">0.70 (70%)", "<0.70 (diagnostic of obstruction)", ">0.70 (normal or increased)"],
["TLC", "Normal", "Increased (air trapping)", "Reduced"],
["Examples", "—", "COPD, Asthma, Bronchiectasis", "Pulmonary fibrosis, Sarcoidosis, Obesity"],
], widths=[3*cm, 3*cm, 5*cm, 5.5*cm]),
sp(4),
h3("ABG Normal Values:"),
tbl([["Parameter", "Normal Range", "Significance"],
["pH", "7.35–7.45", "<7.35 = Acidosis; >7.45 = Alkalosis"],
["PaO2", "80–100 mmHg", "<60 mmHg = respiratory failure"],
["PaCO2", "35–45 mmHg", ">45 = CO2 retention (hypoventilation); <35 = hyperventilation"],
["HCO3", "22–26 mEq/L", "Reflects metabolic component"],
["SaO2", ">95%", "<90% = serious hypoxemia"],
], widths=[2.5*cm, 3.5*cm, 10.5*cm]),
sp(4),
imp("Type 1 Respiratory Failure: Low PaO2, normal/low PaCO2 (failure of oxygenation — e.g., pneumonia, pulmonary edema). Type 2: Low PaO2 + HIGH PaCO2 (failure of ventilation — e.g., COPD, neuromuscular disease).")]
story.append(h2("8.2 COPD vs Asthma"))
story += [
tbl([["Feature", "COPD", "Asthma"],
["Definition", "Chronic, progressive, largely irreversible airflow limitation", "Chronic reversible airway inflammation"],
["Age", ">40 years", "Often starts in childhood/young adults"],
["Cause", "Smoking (main), pollution, AAT deficiency", "Allergy, genetics, environmental triggers"],
["Reversibility", "Largely irreversible", "Reversible (with bronchodilators)"],
["Sputum", "Chronic productive cough", "May be dry or minimal sputum"],
["Spirometry", "FEV1/FVC <0.70 post-bronchodilator", "FEV1/FVC <0.70 pre-bronchodilator; reverses with salbutamol"],
["GOLD Stages (COPD)", "Based on FEV1: I>80%, II 50-79%, III 30-49%, IV<30%", "BTS steps 1-5 based on symptom control"],
], widths=[3.5*cm, 7*cm, 6*cm]),
sp(4),
h3("COPD Management (GOLD Guidelines):"),
bl("Smoking cessation — MOST important intervention, slows decline"),
bl("Bronchodilators: SABA (salbutamol) PRN → LAMA (tiotropium) → LABA + LAMA → add ICS if frequent exacerbations"),
bl("Pulmonary Rehabilitation — improves exercise tolerance, QoL"),
bl("LTOT (Long-Term Oxygen Therapy) — if PaO2 <7.3 kPa at rest; minimum 15 hrs/day"),
bl("Vaccinations: annual influenza + pneumococcal"),
bl("Acute exacerbation: Controlled O2, nebulized bronchodilators, systemic steroids, antibiotics"),
sp(4),
h3("Asthma Management (BTS Stepwise):"),
bl("Step 1: SABA (salbutamol) PRN only"),
bl("Step 2: + Low-dose ICS (beclomethasone)"),
bl("Step 3: + LABA (salmeterol) — MUST be with ICS"),
bl("Step 4: Increase ICS dose or add LTRA (montelukast)"),
bl("Step 5: Specialist referral, oral steroids, biologics (omalizumab for allergic asthma)"),
bl("Acute severe asthma: O2, nebulized salbutamol + ipratropium, IV/oral steroids, Magnesium sulfate IV, ICU if life-threatening"),
red("PEFR (Peak Expiratory Flow Rate): Best of 3 measurements. In asthma: diurnal variation >20% is diagnostic. <50% predicted = severe attack.")]
story.append(h2("8.3 Key Respiratory Conditions"))
story += [
tbl([["Condition", "Key Features", "Management"],
["Tuberculosis (TB)", "Primary: asymptomatic or mild. Post-primary: Cough >3 weeks, hemoptysis, night sweats, weight loss, fever, apical shadowing on CXR. Dx: Sputum AFB, GeneXpert, Mantoux test, HRCT", "DOTS: 2 months RHEZ + 4 months RH (RIF, INH, ETH, PZA). Adherence is critical."],
["Pneumonia", "Productive cough, fever, pleuritic chest pain, dyspnea. CXR: consolidation. CAP (community-acquired) vs HAP. CURB-65 score for severity", "Antibiotics (amoxicillin for mild CAP; co-amoxiclav + macrolide for moderate/severe). O2, fluids, physio"],
["Bronchiectasis", "Abnormal permanent dilation of bronchi. Causes: TB, CF, recurrent infections. Features: Copious purulent sputum, haemoptysis, coarse crepitations, 'tram-track' sign on CT", "Physiotherapy (postural drainage, ACBT), antibiotics for exacerbations, surgery in localized disease"],
["Pleural Effusion", "Fluid in pleural space. Transudate: heart failure, cirrhosis, nephrotic syndrome. Exudate: infection (empyema), malignancy, PE. Dx: Stony dullness, CXR (blunting of costophrenic angle)", "Treat cause; Thoracocentesis (diagnostic + therapeutic); Chest drain for empyema"],
["Cystic Fibrosis", "Autosomal recessive CFTR gene mutation. Features: Recurrent chest infections, bronchiectasis, pancreatic insufficiency, meconium ileus in newborns, infertility in males, salty sweat. Dx: Sweat chloride test >60 mmol/L", "Physiotherapy (daily CPT essential!), DNase (dornase alfa), antibiotics, pancreatic enzymes, lung transplant"],
["Pulmonary Embolism", "Blood clot in pulmonary artery. Risk: DVT, immobility, surgery, OCP, malignancy. Features: Sudden dyspnea, pleuritic chest pain, hemoptysis, tachycardia. CTPA: gold standard. ECG: S1Q3T3 pattern", "Anticoagulation (LMWH → warfarin/NOAC); Thrombolysis if massive PE with hemodynamic compromise"],
], widths=[3.5*cm, 7*cm, 6*cm]),
sp(4),
imp("TB treatment: Remember RHEZ for 2 months, then RH for 4 months. R=Rifampicin, H=Isoniazid, E=Ethambutol, Z=Pyrazinamide. Side effects: Rifampicin turns urine/secretions orange; INH causes peripheral neuropathy (give pyridoxine)."),
PageBreak()]
# ======== TOPIC 9: SKIN ========
story.append(h1("TOPIC 9: DISEASES OF THE SKIN [6 Hours]"))
story += [sp(4)]
story += [
tbl([["Condition", "Cause/Type", "Clinical Features", "Management"],
["Leprosy", "Mycobacterium leprae (acid-fast bacillus). Spread by droplets from nasal secretions.", "Hypopigmented/erythematous patches with loss of sensation; thickened nerves; Tuberculoid (limited, paucibacillary) vs Lepromatous (widespread, multibacillary). Nerve involvement → claw hand, foot drop, lagophthalmos", "Multi-Drug Therapy (MDT): Paucibacillary — Rifampicin + Dapsone × 6 months. Multibacillary — add Clofazimine × 12 months. Physiotherapy for nerve damage/disability prevention."],
["Psoriasis", "Autoimmune T-cell mediated skin disease. Genetic predisposition + triggers (stress, infection, drugs)", "Well-defined salmon-pink plaques with silvery scales. Extensor surfaces (elbows, knees), scalp, lower back. Nail changes (pitting, onycholysis). Auspitz sign (pinpoint bleeding on scale removal). Psoriatic arthritis in some", "Topical: Emollients, steroids, Vitamin D analogues (calcipotriol), coal tar. Systemic: Methotrexate, Ciclosporin. Biologics (anti-TNF) for severe. Phototherapy: PUVA, narrow-band UVB."],
["Dermatitis (Eczema)", "Atopic: genetic, associated with asthma/hay fever/food allergy. Contact: allergic (Type IV) or irritant", "Atopic: Itchy, dry, scaly, weeping patches in flexures (antecubital, popliteal fossa). Contact: at site of contact. Dry skin is the hallmark", "Emollients (moisturizers) — backbone of treatment. Topical steroids for flares. Antihistamines for itch. Avoid triggers. Topical tacrolimus."],
["Vitiligo", "Autoimmune destruction of melanocytes. Associated with other autoimmune diseases (thyroid, DM)", "Well-defined white depigmented patches on skin; acral and perioral areas common; Wood's lamp — bright white fluorescence", "Topical steroids, Tacrolimus; PUVA, Narrow-band UVB (phototherapy); Surgical (skin grafting); Camouflage makeup"],
["Fungal Infections", "Dermatophytes (tinea) infect skin/hair/nails. Candida infects moist areas", "Tinea corporis: ring-shaped lesion with active border. Tinea pedis (athlete's foot): maceration between toes. Onychomycosis: thickened, discolored nails. Candida: white plaques, genital thrush", "Topical antifungals (clotrimazole, miconazole); Systemic: Fluconazole, Terbinafine, Griseofulvin for nail/hair"],
], widths=[3*cm, 3.5*cm, 6*cm, 4*cm]),
red("Leprosy is high-yield for physiotherapy students due to the PT role in prevention of disability, splinting, wound care, and rehabilitation."),
PageBreak()]
# ======== TOPIC 10: PEDIATRICS ========
story.append(h1("TOPIC 10: PEDIATRICS [8 Hours]"))
story += [sp(4)]
story.append(h2("10.1 Low Birth Weight (LBW) & Neonatal Problems"))
story += [
tbl([["Term", "Definition"],
["LBW", "Birth weight <2500g"],
["VLBW", "<1500g"],
["Preterm", "Birth <37 weeks gestation"],
["SGA (Small for Gestational Age)", "Birth weight <10th percentile for gestational age"],
], widths=[5.5*cm, 11*cm]),
sp(4),
h3("Problems of LBW/Preterm Infants:"),
bl("Respiratory Distress Syndrome (RDS/HMD) — Surfactant deficiency → collapse of alveoli → grunting, nasal flaring, intercostal recession. Treatment: Surfactant replacement, CPAP, ventilation"),
bl("Hypothermia — poor thermoregulation; warm in incubator/kangaroo care"),
bl("Hypoglycemia — poor glycogen stores; early feeds"),
bl("Jaundice (Hyperbilirubinemia) — immature liver; phototherapy, exchange transfusion if severe"),
bl("Infections — immature immune system; sepsis risk"),
bl("IVH (Intraventricular Hemorrhage) — fragile blood vessels in preterm brain"),
sp(4)]
story.append(h2("10.2 Cerebral Palsy (CP)"))
story += [
body("Definition: Non-progressive disorder of movement and posture due to damage to the developing brain (before, during, or after birth, up to age 2)."),
sp(3),
h3("Types of CP:"),
tbl([["Type", "Lesion Site", "Features", "Incidence"],
["Spastic (most common)", "Pyramidal/Cortical", "Increased tone, hyperreflexia, scissors gait, clonus", "75-80%"],
["Dyskinetic/Athetoid", "Basal ganglia", "Involuntary writhing movements (athetosis), dysarthria", "10-15%"],
["Ataxic", "Cerebellum", "Poor balance, incoordination, wide-based gait", "5%"],
["Mixed", "Multiple areas", "Combination of above", "10%"],
], widths=[3.5*cm, 3.5*cm, 6*cm, 3.5*cm]),
sp(4),
h3("Common Problems in CP:"),
bl("Motor: Abnormal tone, primitive reflexes not integrated, poor balance, reduced ROM, contractures"),
bl("Communication: Dysarthria, aphasia"), bl("Cognitive: Intellectual disability (50%)"), bl("Epilepsy (30%)"), bl("Vision/hearing deficits"), bl("Feeding difficulties"),
sp(3),
h3("Management (MDT approach):"),
bl("Physiotherapy: Key role — NDT (Bobath), stretching, strengthening, gait training, splinting, positioning"),
bl("Spasticity management: Baclofen (oral/intrathecal), Botulinum toxin injections, surgical (SDR)"),
bl("Orthotics: AFOs, KAFO for gait support"),
bl("Occupational therapy, Speech therapy, Special education"),
imp("CP PT key techniques: NDT/Bobath, Vojta, conductive education, CIMT, hippotherapy. Know carrying techniques and home program.")]
story.append(h2("10.3 Other Pediatric Conditions"))
story += [
tbl([["Condition", "Key Features & Management"],
["Spina Bifida", "Neural tube defect. Types: Spina bifida occulta (minor, no neurological deficit), Meningocele (meninges herniate), Myelomeningocele (most severe — spinal cord + meninges herniate; paralysis, bowel/bladder dysfunction, hydrocephalus). Prevention: Folic acid. Treatment: Surgical closure, shunt for hydrocephalus, PT for mobility/disability."],
["Epilepsy", "Recurrent unprovoked seizures. Types: Focal (partial), Generalized (absence, tonic-clonic, myoclonic). Dx: EEG. Management: Valproate (generalized), Carbamazepine (focal), Lamotrigine. Status epilepticus: Diazepam IV → Phenytoin IV → General anesthesia."],
["Developmental Delay", "Failure to achieve motor/language/social milestones at expected age. Red flags: Not sitting by 9 months, not walking by 18 months, no words by 18 months. Causes: CP, hypothyroidism, genetic disorders (Down's), hearing loss. Assessment: Denver Developmental Screen."],
["Autism Spectrum Disorder (ASD)", "Neurodevelopmental disorder. Features: Social communication deficits, repetitive behaviors/restricted interests, sensory sensitivities. Diagnosis clinical. No cure — ABA therapy, speech therapy, PT, OT, special education."],
["Down's Syndrome", "Trisomy 21. Features: upslanting eyes, epicanthic folds, single palmar crease, hypotonia, intellectual disability, ASD/VSD, increased Alzheimer's risk. Dx: Karyotype. Management: MDT, cardiac surgery if needed, PT for hypotonia/developmental milestones."],
], widths=[3.5*cm, 13*cm]),
PageBreak()]
# ======== TOPIC 11: PSYCHIATRY ========
story.append(h1("TOPIC 11: PSYCHIATRIC DISORDERS [5 Hours]"))
story += [sp(4)]
story.append(h2("11.1 Classification of Psychiatric Disorders"))
story += [
tbl([["Category", "Examples"],
["Mood Disorders", "Depression, Bipolar disorder"],
["Anxiety Disorders", "GAD, Panic disorder, Social anxiety, Specific phobias, PTSD, OCD"],
["Psychotic Disorders", "Schizophrenia, Schizoaffective disorder"],
["Personality Disorders", "Borderline, Antisocial, Narcissistic"],
["Neurodevelopmental", "Autism, ADHD, Intellectual disability"],
["Substance Use Disorders", "Alcohol use disorder, opioid dependence"],
["Eating Disorders", "Anorexia nervosa, Bulimia nervosa"],
["Somatic Disorders", "Conversion disorder, Somatic symptom disorder, Hypochondria"],
], widths=[5*cm, 11.5*cm]),
sp(4)]
story.append(h2("11.2 Key Psychiatric Conditions"))
story += [
tbl([["Condition", "Causes", "Clinical Features", "Treatment"],
["Depression", "Biopsychosocial: genetics, serotonin/norepinephrine imbalance, life events, chronic illness", "Core: Low mood, anhedonia (loss of pleasure), fatigue. Others: Sleep disturbance (early morning waking), poor concentration, worthlessness, guilt, weight change, suicidal ideation. Diagnosis: ≥2 weeks, ≥5 symptoms", "Mild: CBT, exercise, psychosocial support. Moderate-Severe: SSRIs (fluoxetine, sertraline) first-line + CBT. Severe + suicidal: Hospital admission, ECT"],
["Bipolar Disorder", "Genetic + environmental triggers", "Episodes of mania (elevated/irritable mood, grandiosity, decreased sleep, impulsivity, flight of ideas) AND depression. Type I: full mania; Type II: hypomania + depression", "Mood stabilizers: Lithium (gold standard, narrow TI — monitor levels, renal, thyroid), Valproate, Lamotrigine. Acute mania: Haloperidol, Risperidone"],
["Schizophrenia", "Dopamine excess (mesolimbic pathway), genetic factors", "Positive symptoms: hallucinations (auditory most common), delusions, disorganized thought/speech. Negative symptoms: flat affect, alogia, avolition, social withdrawal, anhedonia. Duration ≥6 months", "Antipsychotics: Typical (Haloperidol, Chlorpromazine) vs Atypical (Risperidone, Olanzapine, Clozapine for treatment-resistant). CBT, psychosocial rehabilitation"],
["Generalized Anxiety Disorder (GAD)", "Chronic worry, stress, temperament, serotonin/GABA imbalance", "Excessive, uncontrollable worry about multiple things, ≥6 months. Associated: restlessness, fatigue, concentration problems, muscle tension, sleep disturbance", "CBT (most effective long-term), SSRIs/SNRIs, Buspirone, Benzodiazepines (short-term only)"],
["PTSD", "Traumatic event (war, assault, disaster, abuse)", "Flashbacks, nightmares, hyperarousal, emotional numbing, avoidance of reminders. Onset within 1 month; lasts >1 month", "Trauma-focused CBT, EMDR (Eye Movement Desensitization), SSRIs (sertraline, paroxetine)"],
], widths=[3*cm, 3*cm, 6.5*cm, 4*cm]),
sp(6),
imp("For physiotherapy: Psychiatric patients may have physical comorbidities. PT should adopt a non-judgmental, empathetic approach. Motivational interviewing is useful. Exercise therapy has strong evidence for depression and anxiety."),
red("Most tested: Depression (features, diagnosis criteria, treatment), Schizophrenia (positive vs negative symptoms), and Bipolar disorder (lithium monitoring)."),
sp(10),
HRFlowable(width="100%", thickness=1, color=colors.HexColor("#0d47a1"), spaceAfter=6),
Paragraph("END OF GENERAL MEDICINE NOTES", ParagraphStyle("End", fontSize=12, alignment=TA_CENTER, textColor=colors.HexColor("#0d47a1"), fontName="Helvetica-Bold", spaceBefore=6)),
Paragraph("Orris AI Study Assistant | For 3rd Year BPT Exam Preparation | July 2026", subtitle_s)]
doc.build(story)
print("SUCCESS:", OUTPUT)
cd /home/daytona/workspace/pt-study-plan && python gen_medicine_notes.py
General Medicine Notes
PDF Document · PDF
| # | Topic | Highlights |
|---|---|---|
| 1 | Infection | HIV/AIDS (stages, CD4, ART), STDs, Vaccinations, Food poisoning |
| 2 | Poisoning | Antidotes table (Atropine, Naloxone, NAC), Drugs of misuse |
| 3 | Food & Nutrition | Kwashiorkor vs Marasmus (full comparison), Deficiency diseases, Obesity (BMI, management) |
| 4 | Endocrine | Diabetes (Type 1 vs 2, DKA vs HHS, ALL complications), Thyroid, Cushing's, Addison's |
| 5 | Blood | IDA vs Megaloblastic, B12 vs Folate, Hemophilia (PT role included) |
| 6 | Digestive | GERD, PUD, UC vs Crohn's, Cirrhosis, Hepatitis types A-E, Gallstones |
| 7 | Cardiovascular | HTN classification + drugs, IHD/STEMI management, Heart failure L vs R, Valvular disease |
| 8 | Respiratory | PFT interpretation, ABG values, COPD vs Asthma, TB treatment, PE, Cystic Fibrosis |
| 9 | Skin | Leprosy (MDT + PT role), Psoriasis, Eczema, Vitiligo, Fungal infections |
| 10 | Pediatrics | CP (types + PT), Spina bifida, Epilepsy, Down's Syndrome, ASD |
| 11 | Psychiatry | Depression, Bipolar, Schizophrenia, GAD, PTSD |
general surgery
~/pt-study-plan/gen_surgery_notes.py
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, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT
OUTPUT = "/home/daytona/workspace/pt-study-plan/General_Surgery_Notes.pdf"
doc = SimpleDocTemplate(
OUTPUT, pagesize=A4,
rightMargin=1.8*cm, leftMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm
)
styles = getSampleStyleSheet()
title_s = ParagraphStyle("TS", fontSize=24, textColor=colors.HexColor("#1b5e20"), alignment=TA_CENTER, fontName="Helvetica-Bold", spaceAfter=6)
sub_s = ParagraphStyle("SS", fontSize=11, textColor=colors.HexColor("#455a64"), alignment=TA_CENTER, spaceAfter=4)
h1_s = ParagraphStyle("H1", fontSize=13, textColor=colors.white, backColor=colors.HexColor("#1b5e20"), spaceBefore=12, spaceAfter=5, fontName="Helvetica-Bold", leftIndent=-4, rightIndent=-4, borderPad=5)
h2_s = ParagraphStyle("H2", fontSize=11, textColor=colors.HexColor("#1b5e20"), spaceBefore=8, spaceAfter=3, fontName="Helvetica-Bold")
h3_s = ParagraphStyle("H3", fontSize=10, textColor=colors.HexColor("#b71c1c"), spaceBefore=5, spaceAfter=2, fontName="Helvetica-Bold")
body_s = ParagraphStyle("BD", fontSize=9.5, leading=14, spaceAfter=2)
bullet_s = ParagraphStyle("BL", fontSize=9.5, leading=13, leftIndent=14, spaceAfter=2)
sub_b_s = ParagraphStyle("SBL", fontSize=9, leading=12, leftIndent=28, spaceAfter=1, textColor=colors.HexColor("#424242"))
imp_s = ParagraphStyle("IMP", fontSize=9, leading=12, backColor=colors.HexColor("#f1f8e9"), borderPad=5, spaceAfter=5, textColor=colors.HexColor("#1b5e20"))
red_s = ParagraphStyle("RED", fontSize=9, leading=12, backColor=colors.HexColor("#ffebee"), borderPad=5, spaceAfter=5, textColor=colors.HexColor("#b71c1c"))
warn_s = ParagraphStyle("WRN", fontSize=9, leading=12, backColor=colors.HexColor("#fff9c4"), borderPad=5, spaceAfter=5, textColor=colors.HexColor("#4e342e"))
def h1(t): return Paragraph(f" {t}", h1_s)
def h2(t): return Paragraph(t, h2_s)
def h3(t): return Paragraph(t, h3_s)
def body(t):return Paragraph(t, body_s)
def bl(t): return Paragraph(f"• {t}", bullet_s)
def sbl(t): return Paragraph(f" – {t}", sub_b_s)
def imp(t): return Paragraph(f"<b>★ KEY:</b> {t}", imp_s)
def red(t): return Paragraph(f"<b>⚠ EXAM TIP:</b> {t}", red_s)
def warn(t):return Paragraph(f"<b>★ NOTE:</b> {t}", warn_s)
def sp(n=5):return Spacer(1, n)
def hr(): return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#a5d6a7"), spaceAfter=3)
def tbl(data, widths=None, hcol="#2e7d32"):
t = Table(data, colWidths=widths, repeatRows=1)
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor(hcol)),
("TEXTCOLOR", (0,0), (-1,0), colors.white),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 8.5),
("ALIGN", (0,0), (-1,-1), "LEFT"),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("FONTSIZE", (0,1), (-1,-1), 8.5),
("ROWBACKGROUNDS",(0,1), (-1,-1), [colors.white, colors.HexColor("#f1f8e9")]),
("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#81c784")),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
]))
return t
story = []
# ── COVER ──
story += [sp(40),
Paragraph("GENERAL SURGERY", title_s),
Paragraph("Complete Study Notes", title_s), sp(10),
Paragraph("3rd Year BPT | University Written Exam", sub_s),
Paragraph("Based on Official Syllabus | 60 Hours Theory", sub_s), sp(20),
HRFlowable(width="100%", thickness=1, color=colors.HexColor("#1b5e20"), spaceAfter=8), sp(6)]
toc = [["#","Topic","Hours"],
["1","Surgical Basics – Fluids, Wound Healing, Haemostasis, Infections","6"],
["2","Anaesthesia, Incisions, Surgical Procedures & Drains","3"],
["3","Thoracic Trauma","4"],
["4","Surgical Oncology","3"],
["5","Chest Wall, Lung & Mediastinum Disorders","5"],
["6","Disorders of the Heart","6"],
["7","Thoracic Surgeries (Lung & Cardiac)","6"],
["8","Diseases of Arteries & Veins","5"],
["9","Common Abdominal Operations","4"],
["10","Burns","4"],
["11","Women's Health & Obstetric Surgery","8"],
["12","ENT","3"],
["13","Ophthalmology","3"],]
story.append(tbl(toc, widths=[1*cm, 13*cm, 2.5*cm]))
story += [sp(30), Paragraph("Orris AI Study Assistant | July 2026", sub_s), PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 1 – SURGICAL BASICS
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 1: SURGICAL BASICS [6 Hours]"))
story += [sp(4)]
story.append(h2("1.1 Fluid, Electrolyte & Acid-Base Disturbances"))
story += [
tbl([["Electrolyte Disorder","Causes","Features","Treatment"],
["Hyponatremia\n(Na <135 mEq/L)","SIADH, heart failure, cirrhosis, over-hydration","Confusion, seizures, coma (if acute)","Fluid restriction; hypertonic saline if severe/symptomatic"],
["Hypernatremia\n(Na >145 mEq/L)","Dehydration, diabetes insipidus","Thirst, lethargy, confusion, seizures","Free water replacement (oral or IV D5W) — SLOWLY"],
["Hypokalemia\n(K <3.5 mEq/L)","Diuretics, vomiting, diarrhea, alkalosis","Muscle weakness, cramps, arrhythmias, U-waves on ECG","Oral/IV KCl — NEVER IV bolus"],
["Hyperkalemia\n(K >5.5 mEq/L)","Renal failure, ACE inhibitors, Addison's","Peaked T waves, bradycardia, VF, muscle weakness","IV Calcium gluconate (stabilise heart), insulin+glucose, kayexalate, dialysis"],
["Metabolic Acidosis","Diabetic ketoacidosis, lactic acidosis, renal failure, diarrhea","pH<7.35, low HCO3, Kussmaul breathing","Treat cause; NaHCO3 if pH<7.1"],
["Metabolic Alkalosis","Vomiting, NG suction, diuretics, antacids","pH>7.45, high HCO3, hypoventilation","IV NaCl + KCl; treat cause"],
], widths=[3*cm, 4*cm, 4.5*cm, 5*cm]),
sp(4),
h3("Surgical IV Fluids:"),
tbl([["Fluid","Contents","When Used"],
["Normal Saline (0.9% NaCl)","Na 154, Cl 154","Volume replacement, hyponatremia (cautious), with blood transfusion"],
["Hartmann's / Ringer's Lactate","Na, K, Ca, Cl, Lactate","Closest to plasma — fluid resuscitation, burns, GI losses"],
["5% Dextrose","Glucose 50g/L (becomes free water)","Maintenance, hypernatremia, post-op maintenance"],
["Colloids (Gelofusine, Albumin)","Large molecules stay intravascular","Hypoalbuminemia, massive hemorrhage"],
], widths=[3.5*cm, 5.5*cm, 7.5*cm]),
sp(4)]
story.append(h2("1.2 Wound Healing"))
story += [
h3("Phases of Wound Healing (★ MOST TESTED TOPIC in Surgery):"),
tbl([["Phase","Timing","Key Events","Cells Involved"],
["Haemostasis","Immediate (0-minutes)","Vasoconstriction, platelet aggregation, clot formation (fibrin)","Platelets, clotting factors"],
["Inflammatory","0–5 days","Vasodilation, increased permeability, phagocytosis of debris and bacteria, pain/redness/swelling/heat","Neutrophils (first), then Macrophages (clean-up crew)"],
["Proliferative\n(Granulation)","3 days – 3 weeks","Fibroblasts lay down collagen, angiogenesis (new blood vessels), wound contraction (myofibroblasts), epithelialization","Fibroblasts, Endothelial cells, Myofibroblasts"],
["Remodelling\n(Maturation)","3 weeks – 2 years","Collagen type III replaced by type I (stronger), scar matures, tensile strength increases (max ~80% of original)","Fibroblasts"],
], widths=[3*cm, 3*cm, 7*cm, 3.5*cm]),
sp(4),
imp("Maximum tensile strength of healed wound is only 80% of original skin — never 100%. Collagen is made by FIBROBLASTS. Macrophages orchestrate healing — most important cell overall."),
sp(4),
h3("Types of Wound Healing:"),
bl("<b>Primary intention:</b> Clean surgical wound, edges closely apposed — minimal scarring, heals fastest"),
bl("<b>Secondary intention:</b> Wound left open (infected/contaminated wounds) — fills from base up with granulation tissue — more scarring"),
bl("<b>Tertiary intention (delayed primary closure):</b> Wound cleaned first, then closed after 4-5 days"),
sp(4),
h3("Factors Affecting Wound Healing:"),
tbl([["Local Factors (at wound)","Systemic Factors (patient)"],
["Infection — most common cause of delayed healing","Diabetes mellitus — impaired neutrophil function, microangiopathy"],
["Poor blood supply / ischaemia","Malnutrition — Vitamin C (collagen synthesis), Zinc, Protein"],
["Haematoma / seroma — provides bacterial culture medium","Steroids — suppress inflammation and fibroblast proliferation"],
["Foreign body / necrotic tissue","Jaundice — impairs healing"],
["Radiation damage","Anaemia — reduced O2 delivery"],
["Wound tension / excessive movement","Age — elderly heal more slowly"],
], widths=[8*cm, 8.5*cm]),
sp(4),
h3("Types of Scars:"),
tbl([["Scar Type","Features","Treatment"],
["Normal scar","Pale, flat, soft — within wound margins","None needed"],
["Hypertrophic scar","Raised, red, within wound margins — improves with time","Compression garments, silicone gel, steroid injection"],
["Keloid scar","Raised, extends BEYOND wound margins, does not regress — more common in dark-skinned individuals","Steroid injection, surgery (+ post-op steroids/radiation to prevent recurrence)"],
["Contracture","Scar shrinks across a joint → restricts movement — common after burns","Physiotherapy (stretching), splinting, surgical release (Z-plasty)"],
], widths=[3.5*cm, 7.5*cm, 5.5*cm]),
red("Know the 4 phases of healing in order with timing + key cells. Draw a timeline if it helps. Examiner favourite!"),
sp(4)]
story.append(h2("1.3 Haemostasis"))
story += [
h3("Coagulation Cascade (simplified):"),
bl("<b>Intrinsic pathway:</b> Triggered by damaged vessel wall (contact activation). Tests by APTT."),
bl("<b>Extrinsic pathway:</b> Triggered by tissue factor (Factor III) released from damaged tissue. Tested by PT/INR."),
bl("<b>Common pathway:</b> Both pathways converge at Factor X → Thrombin → Fibrin clot"),
sp(3),
tbl([["Test","Normal","What it Measures","Prolonged in"],
["PT/INR","10-14 sec / INR 1.0","Extrinsic + Common pathway (Factors VII, X, V, II, I)","Warfarin use, Vitamin K deficiency, Liver disease, DIC"],
["APTT","25-35 seconds","Intrinsic + Common pathway (Factors XII, XI, IX, VIII, X, V, II, I)","Heparin use, Haemophilia A/B, DIC"],
["Bleeding Time","2-7 minutes","Platelet function and number","Thrombocytopenia, VWD, Aspirin use"],
["Platelet Count","150,000-400,000/μL","Platelet number","ITP, DIC, hypersplenism"],
], widths=[2.5*cm, 3*cm, 5.5*cm, 5.5*cm]),
sp(4),
h3("Blood Transfusion:"),
bl("Indications: Hb <7 g/dL (symptomatic anaemia, major surgery, active haemorrhage)"),
tbl([["Component","Content","Indication"],
["Packed Red Blood Cells (PRBC)","RBCs, minimal plasma","Anaemia, haemorrhage"],
["Fresh Frozen Plasma (FFP)","All clotting factors","Coagulopathy, massive transfusion, warfarin reversal"],
["Platelets","Platelets","Platelets <50,000 with bleeding; <10,000 prophylactically"],
["Cryoprecipitate","Factor VIII, vWF, fibrinogen","Haemophilia A, DIC, fibrinogen deficiency"],
], widths=[4*cm, 5*cm, 7.5*cm]),
sp(4),
h3("Transfusion Reactions:"),
tbl([["Reaction","Features","Management"],
["Acute Haemolytic (ABO incompatibility)","Fever, rigors, flank pain, haemoglobinuria, shock","STOP transfusion immediately; IV fluids; urgent crossmatch recheck"],
["Febrile Non-Haemolytic","Fever, chills — most common reaction","Stop/slow transfusion; paracetamol; restart slowly if stable"],
["Allergic/Anaphylactic","Urticaria, bronchospasm, hypotension","Stop; Adrenaline, antihistamine, steroids"],
["TRALI (Transfusion-Related Acute Lung Injury)","Acute respiratory distress within 6 hrs of transfusion","Supportive: O2, ventilation; most common cause of transfusion death"],
["Transfusion Overload (TACO)","Pulmonary oedema, hypertension","Slow transfusion; diuretics"],
], widths=[3.5*cm, 5.5*cm, 7.5*cm]),
sp(4)]
story.append(h2("1.4 Surgical Nutrition"))
story += [
bl("Surgical patients are often catabolic (increased protein breakdown) — adequate nutrition is essential"),
bl("Enteral nutrition (via NGT, PEG tube) preferred over parenteral — maintains gut integrity, cheaper, fewer complications"),
bl("Parenteral nutrition (TPN): IV nutrition when gut is non-functional (ileus, bowel obstruction, short bowel syndrome)"),
bl("Pre-op: ERAS (Enhanced Recovery After Surgery) protocols — allow clear fluids up to 2 hrs before surgery"),
bl("Post-op: Early enteral feeding preferred — reduces infection, improves wound healing"),
sp(4)]
story.append(h2("1.5 Surgical Infections"))
story += [
tbl([["Infection","Organism","Features","Treatment"],
["Cellulitis","Strep pyogenes, S. aureus","Red, warm, swollen skin — no pus, no defined margin","Oral/IV antibiotics (flucloxacillin, amoxicillin-clavulanate)"],
["Abscess","S. aureus (most common)","Localised collection of pus — fluctuant, tender swelling","Incision & Drainage (I&D) — antibiotics alone NOT enough"],
["Necrotising Fasciitis","Polymicrobial (Group A Strep + anaerobes)","Severe pain out of proportion to appearance, crepitus, rapid spread, systemic sepsis — SURGICAL EMERGENCY","Urgent wide surgical debridement + broad-spectrum IV antibiotics + ICU"],
["Gas Gangrene","Clostridium perfringens","Wound with gas in tissues (crepitus), foul smell, rapidly spreading necrosis, septic shock","Emergency amputation + high-dose Penicillin G + Hyperbaric O2"],
["Tetanus","Clostridium tetani (exotoxin)","Trismus (lockjaw), risus sardonicus, opisthotonos (arched back), laryngospasm — triggered by wound infection","Tetanus immunoglobulin + Metronidazole + Diazepam for spasms + ICU"],
], widths=[2.5*cm, 3*cm, 5.5*cm, 5.5*cm]),
sp(4)]
story.append(h2("1.6 Post-Operative Complications"))
story += [
tbl([["Timing","Complication","Features","Action"],
["Immediate (0-24 hrs)","Primary haemorrhage","Bleeding from wound/drain, tachycardia, hypotension","IV fluids, blood transfusion, return to theatre"],
["Immediate","Reactionary haemorrhage","Bleeding within 4-6 hrs as BP rises and clots dislodge","As above"],
["Early (24hrs–1wk)","Secondary haemorrhage","Bleeding at 7-14 days due to infection eroding vessel","Antibiotics + control bleeding"],
["Early","Wound infection","Pyrexia Day 3-5, red, swollen wound, pus","Antibiotics; open wound if fluctuant"],
["Early","Atelectasis / Pneumonia","Pyrexia Day 1-2; shallow breathing, collapse","Physiotherapy! Deep breathing, ambulation, incentive spirometry"],
["Early","DVT","Calf pain, swelling — Homan's sign (unreliable)","Anticoagulation (LMWH/NOAC); TEDS stockings, early mobilisation for prevention"],
["Early","Urinary retention","Inability to pass urine post-op — especially after pelvic/spinal surgery","Catheterisation"],
["Late (>1wk)","Wound dehiscence","Superficial/burst abdomen — risk factors: obesity, poor nutrition, infection, steroids","Resurgery or conservative with wound management"],
["Late","Incisional hernia","Protrusion through abdominal wound — usually months-years later","Surgical repair"],
], widths=[2.5*cm, 3*cm, 5.5*cm, 5.5*cm]),
imp("PT role post-surgery: Deep breathing exercises and early mobilisation from Day 1 are the MOST important PT interventions to prevent atelectasis, pneumonia, DVT, and deconditioning."),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 2 – ANAESTHESIA, INCISIONS, PROCEDURES
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 2: ANAESTHESIA, INCISIONS & PROCEDURES [3 Hours]"))
story += [sp(4)]
story.append(h2("2.1 Types of Anaesthesia"))
story += [
tbl([["Type","Description","Examples/Uses"],
["General Anaesthesia (GA)","Complete unconsciousness — induction (IV/inhalational) + maintenance + muscle relaxation","Major abdominal, thoracic, neuro surgeries"],
["Regional Anaesthesia","Block of specific nerve region — patient awake or sedated","Spinal/epidural (lower body), Brachial plexus block (upper limb), Femoral nerve block"],
["Local Anaesthesia","Infiltration of local agent — small area numbed","Minor procedures: wound repair, skin biopsy"],
["Sedation / Monitored Care","Patient drowsy but rousable — IV midazolam/propofol","Endoscopy, minor procedures"],
], widths=[3.5*cm, 6*cm, 7*cm]),
sp(4),
h3("Spinal vs Epidural:"),
tbl([["Feature","Spinal Anaesthesia","Epidural Anaesthesia"],
["Drug injection site","Subarachnoid space (into CSF)","Epidural space (outside dura)"],
["Onset","Fast (2-5 min)","Slower (10-20 min)"],
["Duration","Shorter (1.5-3 hrs)","Longer (continuous catheter)"],
["Uses","Lower limb surgery, C-section, lower abdominal surgery","Labour pain, post-op analgesia, thoracic surgery"],
["Complication","Spinal headache (dural puncture)","Epidural haematoma, infection, incomplete block"],
], widths=[3.5*cm, 6*cm, 7*cm]),
sp(4),
h3("Effects of Anaesthesia on the Patient (PT relevance):"),
bl("Respiratory: Decreased tidal volume, atelectasis, impaired cough reflex — need deep breathing exercises post-op"),
bl("Cardiovascular: Hypotension (vasodilation), arrhythmias"),
bl("GI: Nausea, vomiting, ileus (bowel stops working)"),
bl("Neurological: Shivering, confusion (especially elderly), delayed awakening"),
bl("Musculoskeletal: Prolonged immobility → DVT, pressure sores, joint stiffness"),
sp(4)]
story.append(h2("2.2 Types of Incisions"))
story += [
tbl([["Incision","Location","Used For"],
["Midline (Median)","Vertical midline of abdomen","Most abdominal/pelvic surgeries — fastest, best access"],
["Paramedian","2.5 cm lateral to midline, vertical","Bowel surgery"],
["Kocher's (Subcostal)","Below right costal margin","Cholecystectomy, hepatic surgery"],
["Pfannenstiel (Bikini)","Transverse, just above pubis","C-section, gynaecological surgery"],
["McBurney's/Gridiron","Right iliac fossa (McBurney's point)","Appendicectomy"],
["Lanz","Transverse in RIF","Appendicectomy (better cosmesis)"],
["Thoracotomy (Posterolateral)","Posterior chest wall, between ribs","Lung, oesophageal surgery"],
["Sternotomy (Median)","Vertical split of sternum","Cardiac surgery (CABG, valve surgery)"],
], widths=[4*cm, 5*cm, 7.5*cm]),
sp(4)]
story.append(h2("2.3 Surgical Instruments"))
story += [
tbl([["Instrument","Purpose"],
["Scalpel (knife)","Make incisions — handle + disposable blade"],
["Clips (haemostatic)","Control bleeding vessels — artery forceps, Halsted mosquito"],
["Ligatures (ties)","Tie off blood vessels — absorbable (Vicryl, catgut) vs non-absorbable (silk, nylon, Prolene)"],
["Sutures","Close wounds — absorbable (PDS, Vicryl) vs non-absorbable (nylon, Prolene); continuous vs interrupted"],
["Retractors","Hold wound edges open — Langenbeck, Deaver, self-retaining (Balfour)"],
["Endoscope","Visualise body cavities — rigid or flexible; used for diagnosis and therapeutic procedures"],
["Biopsy forceps / punch","Obtain tissue specimens for histology"],
], widths=[4.5*cm, 12*cm]),
sp(4),
h3("Drainage Systems:"),
bl("<b>Corrugated drain:</b> Passive drainage of wound cavity — used for abscess cavities"),
bl("<b>Closed suction drain (Redivac/Jackson-Pratt):</b> Negative pressure removes blood/serous fluid post-op"),
bl("<b>Chest drain (intercostal tube):</b> Drains air (pneumothorax) or fluid (haemothorax, pleural effusion)"),
bl("<b>T-tube drain:</b> Placed in common bile duct after CBD exploration — drains bile"),
bl("<b>Nasogastric tube (NGT):</b> Drainage of stomach contents, feeding, drug administration"),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 3 – THORACIC TRAUMA
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 3: THORACIC TRAUMA [4 Hours]"))
story += [sp(4)]
story.append(h2("Immediately Life-Threatening Thoracic Injuries — 'ATOM FC'"))
story += [
tbl([["Injury","Mechanism","Clinical Features","Emergency Management"],
["Airway Obstruction","Foreign body, trauma, haematoma","Stridor, cyanosis, use of accessory muscles, inability to speak","Chin-lift/jaw-thrust, suction, intubation, surgical airway (cricothyrotomy)"],
["Tension Pneumothorax","Air enters pleural space and CANNOT escape — builds up, compresses mediastinum","Tracheal deviation AWAY from affected side, absent breath sounds, hypotension, raised JVP, tachycardia — SURGICAL EMERGENCY","Immediate needle decompression (2nd intercostal space, midclavicular line) → then chest drain"],
["Open Pneumothorax (Sucking Chest Wound)","Chest wall defect >2/3 tracheal diameter — air preferentially enters through wound","Sucking/hissing sound on breathing, respiratory distress","3-sided occlusive dressing → chest drain"],
["Massive Haemothorax",">1500 mL blood in pleural cavity — major vessel injury","Dullness + absent breath sounds on affected side, haemorrhagic shock, tracheal deviation TOWARD affected side","IV access + fluids + blood, chest drain (large bore), thoracotomy if >200 mL/hr ongoing"],
["Flail Chest","≥3 consecutive ribs fractured in ≥2 places — segment moves paradoxically (IN on inspiration, OUT on expiration)","Paradoxical chest movement, severe pain, respiratory failure, underlying pulmonary contusion","O2, pain control (epidural), PPV/IPPB if severe, ICU; PT: breathing exercises, positioning"],
["Cardiac Tamponade","Blood in pericardial sac — compresses heart","BECK'S TRIAD: Hypotension + Raised JVP + Muffled heart sounds; pulsus paradoxus","Pericardiocentesis (needle aspiration) or pericardial window"],
], widths=[2.5*cm, 3*cm, 5.5*cm, 5.5*cm]),
sp(4),
h3("Other Thoracic Injuries:"),
tbl([["Injury","Features","Management"],
["Tracheobronchial disruption","Persistent large air leak from chest drain, surgical emphysema, pneumomediastinum","Intubation (below level of tear), thoracotomy for repair"],
["Aortic disruption","High-speed deceleration injury. Most at aortic isthmus. Widened mediastinum on CXR","CT angiography, urgent surgery/endovascular repair — very high mortality"],
["Diaphragmatic disruption","Left side more common. Bowel herniates into thorax","NGT in chest on CXR, surgical repair"],
["Oesophageal disruption","Penetrating trauma or Boerhaave syndrome (forceful vomiting)","Surgical emergency — repair within 12-24 hrs"],
["Pulmonary Contusion","Bruising of lung parenchyma","Hypoxia, haemoptysis, management: O2, analgesia, physiotherapy, careful fluids"],
], widths=[3.5*cm, 6*cm, 7*cm]),
red("TENSION PNEUMOTHORAX and CARDIAC TAMPONADE are the two most tested thoracic emergencies. Know Beck's Triad and the immediate treatment for each!"),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 4 – SURGICAL ONCOLOGY
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 4: SURGICAL ONCOLOGY [3 Hours]"))
story += [sp(4)]
story.append(h2("4.1 Cancer — Overview"))
story += [
h3("Types of Tumours:"),
tbl([["Feature","Benign","Malignant"],
["Growth","Slow, expansile","Rapid, invasive"],
["Capsule","Yes (encapsulated)","No capsule"],
["Metastasis","Does NOT metastasise","DOES metastasise (local, lymphatic, haematogenous)"],
["Recurrence after removal","Rare","Common"],
["Effect on host","Local pressure effects","Systemic: weight loss, cachexia, anaemia, paraneoplastic syndromes"],
], widths=[3*cm, 6*cm, 7.5*cm]),
sp(4),
h3("Spread of Cancer:"),
bl("<b>Local invasion:</b> Directly into surrounding tissues"),
bl("<b>Lymphatic spread:</b> Most common route for carcinomas (e.g., breast → axillary nodes)"),
bl("<b>Haematogenous spread:</b> Via blood — sarcomas, and late-stage carcinomas → liver, lungs, brain, bone"),
bl("<b>Transcoelomic spread:</b> Via body cavities (peritoneum, pleura) — e.g., ovarian cancer → peritoneal implants"),
bl("<b>Perineural spread:</b> Along nerve sheaths — prostate, pancreas"),
sp(4),
h3("Staging — TNM System:"),
tbl([["Letter","Meaning","Values"],
["T","Primary Tumour size/extent","T0 = no primary tumour; T1-T4 = increasing size/invasion; Tis = carcinoma in situ"],
["N","Regional lymph Node involvement","N0 = no nodes; N1-N3 = increasing node involvement"],
["M","Distant Metastasis","M0 = no metastasis; M1 = distant metastasis present"],
], widths=[2*cm, 5.5*cm, 9*cm]),
sp(4)]
story.append(h2("4.2 Surgical Procedures in Cancer Management"))
story += [
tbl([["Procedure","Purpose"],
["Wide Local Excision","Remove tumour with adequate margin of normal tissue (curative intent)"],
["Radical Resection","Remove tumour + regional lymph nodes (e.g., Radical mastectomy, Whipple's for pancreatic CA)"],
["Palliative Surgery","Relieve symptoms but not curative — e.g., bypass for bowel obstruction, debulking"],
["Sentinel Lymph Node Biopsy","First draining lymph node sampled — if negative, no further node dissection needed (breast, melanoma)"],
["Reconstructive Surgery","After tumour removal — e.g., breast reconstruction after mastectomy"],
["Cytoreductive Surgery","Remove as much tumour as possible before chemo/radiation — e.g., ovarian cancer"],
], widths=[4.5*cm, 12*cm]),
sp(4),
imp("Cancer treatment is multimodal: Surgery + Chemotherapy + Radiotherapy + Targeted therapy + Immunotherapy. PT role: Pre-op conditioning, post-op rehabilitation, lymphoedema management, fatigue management, palliative care."),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 5 – CHEST WALL, LUNG & MEDIASTINUM
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 5: CHEST WALL, LUNG & MEDIASTINUM [5 Hours]"))
story += [sp(4)]
story += [
tbl([["Condition","Key Features","Management"],
["Spontaneous Pneumothorax","Air enters pleural space from ruptured bleb. Primary (young, tall, thin males) vs Secondary (COPD, TB). Features: sudden pleuritic pain, dyspnoea, reduced breath sounds + hyperresonance on affected side","Small (<2cm): O2 + observation. Larger: Needle aspiration or chest drain. Pleurodesis for recurrence"],
["Pleural Effusion","Fluid in pleural space. Transudate (heart failure, cirrhosis, nephrotic syndrome) vs Exudate (infection, malignancy, PE). Features: Dullness on percussion, reduced breath sounds, trachea deviation toward (large effusion)","Treat cause; Thoracocentesis for diagnosis + relief; Chest drain for empyema/large effusion"],
["Empyema Thoracis","Pus in pleural space — complication of pneumonia, TB, lung abscess, post-surgery. Features: Fever, pleuritic pain, CXR shows opaque hemithorax","IV antibiotics + chest drain (large bore); fibrinolytics (streptokinase) via drain; surgery (VATS decortication) if not resolving"],
["Lung Abscess","Pus-filled cavity in lung — aspiration (commonest cause), necrotising pneumonia, septic emboli. Features: Fever, productive foul-smelling sputum, haemoptysis, CXR: air-fluid level inside cavity","IV antibiotics (amoxicillin-clavulanate + metronidazole) × 4-6 weeks; Physiotherapy (postural drainage, ACBT); Surgical drainage if no response"],
["Bronchogenic Carcinoma (Lung Cancer)","#1 cause of cancer death worldwide. Types: Non-small cell (NSCLC — adenocarcinoma, squamous, large cell) 85%; Small cell (SCLC) 15%. Features: Cough, haemoptysis, weight loss, chest pain, clubbing, recurrent pneumonia. Pancoast tumour (apex): Horner's syndrome + brachial plexus pain","NSCLC: Surgery (lobectomy/pneumonectomy) if resectable + chemo/radiotherapy. SCLC: Chemo + radiotherapy (rarely surgical). Palliative PT for breathlessness, mobility"],
["Carcinoma of Breast","Most common cancer in women. Risk factors: Family history, BRCA1/2 mutation, early menarche, late menopause, nulliparity, HRT, obesity. Features: Painless hard lump, skin dimpling (peau d'orange), nipple retraction/discharge, axillary lymphadenopathy","Triple assessment: Clinical examination + Imaging (mammogram/USS) + Biopsy. Surgery: WLE (lumpectomy) or Mastectomy + Sentinel node biopsy/axillary clearance. Adjuvant: Radiotherapy, Chemotherapy, Hormone therapy (tamoxifen, aromatase inhibitors), Trastuzumab (HER2+). PT: Post-mastectomy shoulder rehab, lymphoedema management"],
["Mesothelioma","Malignant tumour of pleura. Almost always due to ASBESTOS exposure. Latent period 20-40 years. Features: Chest pain, dyspnoea, pleural effusion, weight loss. CT: pleural thickening + effusion","Diagnosis: CT + pleural biopsy/VATS. Median survival 9-12 months. Palliative: Chemo (pemetrexed+cisplatin), pleurodesis for effusion, PT for breathlessness management"],
], widths=[3.5*cm, 7*cm, 6*cm]),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 6 – HEART DISORDERS (SURGICAL)
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 6: DISORDERS OF THE HEART [6 Hours]"))
story += [sp(4)]
story.append(h2("6.1 Congenital Heart Disease (CHD)"))
story += [
h3("Acyanotic vs Cyanotic CHD:"),
tbl([["Type","Definition","Conditions"],
["Acyanotic","Left-to-right shunt — oxygenated blood recirculates through lungs. No cyanosis initially but can progress to Eisenmenger's syndrome (reversal of shunt → cyanosis) with pulmonary HTN","VSD (most common CHD), ASD, PDA, Coarctation of aorta, Pulmonary stenosis, Aortic stenosis"],
["Cyanotic","Right-to-left shunt — deoxygenated blood enters systemic circulation. Cyanosis from birth.","Tetralogy of Fallot (TOF — most common cyanotic CHD), Transposition of Great Arteries (TGA), Tricuspid atresia, Total Anomalous Pulmonary Venous Return (TAPVR)"],
], widths=[2*cm, 6.5*cm, 8*cm]),
sp(4),
tbl([["Condition","Defect","Key Features","Management"],
["VSD\n(Ventricular Septal Defect)","Hole in interventricular septum","Pansystolic murmur at LSE; Small VSDs close spontaneously; Large: pulmonary HTN, heart failure","Small: observe. Large: surgical patch closure or catheter device closure"],
["ASD\n(Atrial Septal Defect)","Hole in interatrial septum","Fixed split S2; ejection systolic murmur; RV overload, AF, pulmonary HTN (late)","Device closure (catheter) or surgical repair"],
["PDA\n(Patent Ductus Arteriosus)","Failure of ductus arteriosus to close after birth","Continuous 'machinery' murmur under left clavicle; bounding pulse","Indomethacin (preterm infants); surgical ligation or catheter coil"],
["TOF\n(Tetralogy of Fallot)","4 components: VSD + Overriding aorta + Pulmonary stenosis + RV hypertrophy","Cyanosis, clubbing, squatting position (increases SVR), Tet spells (hypercyanotic spells), Boot-shaped heart on CXR","Surgical repair (complete correction). Palliation: BT shunt (subclavian-PA). Tet spell: O2 + propranolol + morphine + knee-chest position"],
["Coarctation of Aorta","Narrowing of aorta near ductus arteriosus","Hypertension in arms, weak/absent femoral pulses, BP difference arms vs legs >20mmHg, rib notching on CXR","Balloon dilatation + stenting or surgical resection"],
], widths=[2.5*cm, 3.5*cm, 5.5*cm, 5*cm]),
red("TOF = Tetralogy of Fallot — most common CYANOTIC CHD. TOF components: VSD, Overriding Aorta, Pulmonary Stenosis, RVH. Squatting increases SVR → reduces R-to-L shunt → relieves cyanosis."),
sp(4)]
story.append(h2("6.2 Acquired Heart Disease"))
story += [
tbl([["Condition","Causes","Key Features","Surgical Management"],
["Mitral Stenosis","Rheumatic fever (most common in developing world)","Dyspnoea, AF, haemoptysis, malar flush, mid-diastolic rumble, opening snap; CXR: left atrial enlargement","Balloon valvuloplasty (if suitable), Mitral valve replacement (MVR) — mechanical or bioprosthetic"],
["Mitral Regurgitation","Rheumatic, MVP, IHD, IE","Pansystolic murmur at apex → axilla; LV dilatation; Dyspnoea, fatigue","Mitral valve repair (preferred) or MVR"],
["Aortic Stenosis","Calcific degeneration (commonest in elderly), Bicuspid aortic valve (commonest in <60)","SAD triad (Syncope, Angina, Dyspnoea), ejection systolic murmur → carotids, narrow pulse pressure, slow-rising pulse","Aortic Valve Replacement (AVR) — open surgery or TAVI (Transcatheter Aortic Valve Implantation) for high-risk patients"],
["Aortic Regurgitation","Rheumatic, IE, Marfan's, aortic root dilatation","Early diastolic murmur at LSE; wide pulse pressure; water-hammer pulse; Austin Flint murmur; LV dilatation/failure","AVR when symptomatic or LV dysfunction developing"],
["Ischaemic Heart Disease — Surgical","Atherosclerosis of coronary arteries","Angina, MI — when PCI fails or anatomy unsuitable","CABG (Coronary Artery Bypass Graft)"],
], widths=[2.5*cm, 3*cm, 5.5*cm, 5.5*cm]),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 7 – THORACIC SURGERIES
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 7: THORACIC SURGERIES [6 Hours]"))
story += [sp(4)]
story.append(h2("7.1 Lung Surgeries"))
story += [
h3("Types of Thoracotomy Incisions:"),
tbl([["Incision","Approach","Used For"],
["Posterolateral thoracotomy","Most common. Patient lateral, incision curves from anterior to posterior around chest","Lung resections, oesophageal surgery"],
["Anterolateral thoracotomy","Patient supine, curved incision anterior chest wall","Cardiac, emergency access"],
["Median sternotomy","Vertical split of sternum","Cardiac surgery — CABG, valve surgery"],
["VATS (Video-Assisted Thoracoscopic Surgery)","Minimally invasive — ports through chest wall","Lung biopsy, wedge resection, pleurodesis, early lung cancer"],
], widths=[4*cm, 5.5*cm, 7*cm]),
sp(4),
h3("Lung Resection Procedures:"),
tbl([["Procedure","What is Removed","Indications","Physiological Changes"],
["Wedge Resection","Small peripheral segment","Peripheral lung tumour, lung biopsy","Minimal loss of function"],
["Segmentectomy","Bronchopulmonary segment","Small tumours in specific segment","Moderate loss"],
["Lobectomy","One lobe (right: 3 lobes; left: 2 lobes)","Lung cancer — standard surgery; Bronchiectasis","Remaining lung compensates partially"],
["Pneumonectomy","Entire lung","Large/central tumour, TB destroyed lung","Significant loss — remaining lung + heart compensates; Post-pneumonectomy space fills with fluid"],
], widths=[3.5*cm, 3.5*cm, 4.5*cm, 5*cm]),
sp(4),
h3("Complications of Lung Surgery:"),
bl("Respiratory: Atelectasis (most common), pneumonia, bronchopleural fistula (air leak), respiratory failure"),
bl("Haemorrhage: From pulmonary vessels"),
bl("Empyema: Post-op infection in pleural space"),
bl("Cardiac arrhythmias: AF very common after lung surgery (right pneumonectomy)"),
bl("Post-pneumonectomy syndrome: Mediastinal shift causing breathlessness"),
imp("PT ROLE after thoracotomy/lung surgery: Pre-op: breathing exercises, education. Post-op Day 0-1: Deep breathing, incentive spirometry, huffing+coughing. Day 2-3: Mobilisation, shoulder ROM. Ongoing: Pulmonary rehabilitation."),
sp(4)]
story.append(h2("7.2 Cardiac Surgeries"))
story += [
h3("Cardiopulmonary Bypass (CPB) Machine:"),
bl("Takes over heart and lung function during surgery"),
bl("Blood drained from right atrium → oxygenated + CO2 removed → pumped back to aorta"),
bl("Heart stopped with cardioplegia (cold potassium solution)"),
bl("Complications: Stroke, neurological dysfunction, coagulopathy, systemic inflammatory response"),
sp(4),
tbl([["Surgery","Description","PT Role Post-op"],
["CABG (Coronary Artery Bypass Grafting)","Bypass blocked coronary arteries using graft vessels (LIMA — left internal mammary artery, preferred; Saphenous vein; Radial artery). On-pump (CPB) or Off-pump (beating heart)","Early breathing exercises, sternal precautions (no lifting >5 lbs × 6-8 weeks), early ambulation, cardiac rehabilitation"],
["Open Heart Surgery (Valve Replacement/Repair)","Heart opened via sternotomy under CPB — valves replaced with mechanical (lifelong warfarin) or bioprosthetic (no warfarin, but less durable)","Sternal precautions, breathing exercises, early mobilisation, wound care"],
["Closed Heart Surgery","Without opening heart chambers — e.g., BT shunt, coarctation repair, PDA ligation","Post-thoracotomy PT"],
["Transplant Surgery (Heart, Lung, Kidney)","End-stage organ failure. Immune suppression required lifelong. Heart transplant: donor heart implanted (recipient's own removed); Lung transplant: one or both lungs. Complications: rejection, infection","PT: Early mobilisation, pulmonary rehab, exercise training. Denervated heart after transplant — no vagal response, relies on circulating catecholamines for HR increase"],
], widths=[3.5*cm, 7.5*cm, 5.5*cm]),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 8 – ARTERIES & VEINS
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 8: DISEASES OF ARTERIES & VEINS [5 Hours]"))
story += [sp(4)]
story += [
tbl([["Condition","Pathology","Clinical Features","Management"],
["Atherosclerosis","Lipid-laden plaques in intima of arteries → narrowing → ischaemia","Asymptomatic initially → symptoms depend on vessel affected: angina (coronary), TIA/stroke (carotid), claudication (peripheral)","Risk factor modification: smoking cessation, statins, antihypertensives, antiplatelet (aspirin/clopidogrel). Revascularisation if needed"],
["Peripheral Arterial Disease (PAD)","Atherosclerosis of lower limb arteries","Intermittent claudication (pain on walking, relieved by rest) → Rest pain → Ulceration → Gangrene (critical limb ischaemia). ABPI <0.9 diagnostic","Conservative: exercise programme, smoking cessation, medications. Angioplasty ± stenting. Bypass surgery. Amputation if gangrene"],
["Aneurysm (AAA)","Abnormal dilatation of artery ≥50% of normal diameter. AAA (abdominal aortic aneurysm) >3cm — normal aorta is 2cm. Risk: smoking, HTN, male >65yrs","Often asymptomatic — found on ultrasound screening. If large (>5.5cm) or rupturing: severe back/abdominal pain, collapse, pulsatile abdominal mass","<5.5cm: surveillance USS every 6-12 months. ≥5.5cm: Elective EVAR (endovascular repair) or open surgery. Ruptured AAA: Emergency surgery — very high mortality"],
["Buerger's Disease (TAO)","Inflammatory occlusion of small/medium arteries. EXCLUSIVELY in heavy smokers","Young men who smoke. Claudication, rest pain, Raynaud's, gangrene of digits. Positive Allen's test","Stop smoking IMMEDIATELY (only effective treatment). Sympathectomy for pain"],
["Raynaud's Disease/Phenomenon","Vasospasm of digital arteries triggered by cold/stress","Triphasic colour change: WHITE (ischaemia) → BLUE (deoxygenation) → RED (reperfusion). Primary (Raynaud's disease) vs Secondary (connective tissue disease, scleroderma)","Primary: Keep warm, avoid cold. Nifedipine (CCB) for severe. Secondary: Treat underlying cause"],
["Deep Vein Thrombosis (DVT)","Thrombus in deep veins, usually lower limb (DVT) — Virchow's Triad: Stasis + Endothelial damage + Hypercoagulability","Calf pain, swelling, warmth, erythema. Wells score for pre-test probability. D-dimer (sensitive, not specific). Confirmed by compression USS. Complication: Pulmonary Embolism (PE)","LMWH (enoxaparin) bridge to warfarin or NOAC (rivaroxaban, apixaban) × 3-6 months. TED stockings. EARLY MOBILISATION prevents DVT — key PT message"],
["Pulmonary Embolism (PE)","DVT embolises to pulmonary arteries","Sudden dyspnoea, pleuritic chest pain, haemoptysis, tachycardia. CXR: normal or Hampton's hump/Westermark sign. CTPA = gold standard. ECG: S1Q3T3, sinus tachycardia","Anticoagulation (as DVT). Massive PE with haemodynamic compromise: Thrombolysis (alteplase) or surgical embolectomy"],
["Varicose Veins","Tortuous dilated superficial leg veins due to valvular incompetence","Visible bulging veins, aching, heaviness, swelling. Complications: Varicose eczema, lipodermatosclerosis, venous ulcers","Conservative: compression stockings, elevation, exercise. Interventional: Endovenous laser/radiofrequency ablation, foam sclerotherapy, surgical (ligation + stripping)"],
["Thrombophlebitis","Inflammation + thrombus in superficial vein","Red, tender, firm, cord-like vein; low fever","NSAIDs, warm compress, low-dose LMWH. Usually self-limiting"],
], widths=[2.5*cm, 4*cm, 5.5*cm, 4.5*cm]),
red("Virchow's Triad: (1) Venous stasis, (2) Endothelial damage, (3) Hypercoagulability — the three factors causing DVT. PT prevents DVT with early mobilisation, ankle exercises, and TED stockings."),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 9 – COMMON ABDOMINAL OPERATIONS
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 9: COMMON ABDOMINAL OPERATIONS [4 Hours]"))
story += [sp(4)]
story += [
tbl([["Operation","Indication","What Is Done","Physiological Changes & PT Role"],
["Cholecystectomy","Gallstones, cholecystitis, biliary colic","Removal of gallbladder. Laparoscopic (preferred) or open (Kocher's incision)","Laparoscopic: CO2 shoulder tip pain post-op (diaphragmatic irritation), early discharge. PT: Deep breathing, early ambulation. Open: Risk of pulmonary complications — intensive chest physio"],
["Appendicectomy","Acute appendicitis","Removal of appendix. Laparoscopic or open (McBurney's/Lanz incision)","Uncomplicated: quick recovery. Perforated: longer hospital stay, drain. PT: Early ambulation"],
["Colostomy","Bowel obstruction, colorectal cancer, diverticular disease, trauma","Part of colon brought to surface of abdomen as stoma. Temporary (loop colostomy) or permanent (end colostomy after AP resection for rectal cancer)","Patient education about stoma care. PT: Core strengthening (avoid Valsalva), activity modification"],
["Ileostomy","After colectomy for UC/Crohn's, right hemicolectomy","Terminal ileum brought to skin surface — liquid stool","High output → dehydration risk. Patient education on stoma care, diet, fluid intake"],
["Gastrectomy","Gastric cancer, peptic ulcer disease","Partial (Billroth I/II) or Total gastrectomy. Total requires B12 supplementation (no intrinsic factor)","Post-gastrectomy syndrome (dumping): Early — 15-30 min post-meal: nausea, sweating, diarrhoea. Late — 2-3 hrs: hypoglycaemia. Management: Small frequent meals, lie down after eating"],
["Hernias Repair","Symptomatic hernia — groin pain, lump","Mesh repair (Lichtenstein — tension-free). Laparoscopic (TEP/TAPP). Strangulated hernia = EMERGENCY","PT post-repair: No heavy lifting × 6 weeks. Core strengthening when healed"],
["Mastectomy","Breast cancer","Simple/total mastectomy (breast only) or Radical/Modified radical mastectomy (breast + axillary nodes)","PT: Shoulder mobilisation from Day 1 (prevent frozen shoulder), arm exercises, lymphoedema prevention/management, scar massage"],
["Nephrectomy","Renal cell carcinoma, non-functioning kidney, donor transplant","Removal of one kidney — open or laparoscopic","Remaining kidney compensates. PT: Early ambulation, breathing exercises"],
["Prostatectomy","Prostate cancer (radical), BPH (TURP — transurethral)","Radical: removes entire prostate. TURP: resection of prostate via urethra","Complications: Urinary incontinence, erectile dysfunction. PT: Pelvic floor exercises ESSENTIAL pre- and post-op"],
], widths=[2.5*cm, 3*cm, 5.5*cm, 5.5*cm]),
imp("PT after any abdominal surgery: (1) Deep breathing + incentive spirometry Day 0-1, (2) Gentle ambulation Day 1-2, (3) Avoid Valsalva manoeuvre for 6+ weeks (no straining), (4) Core muscle exercises from 6-8 weeks."),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 10 – BURNS
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 10: BURNS [4 Hours]"))
story += [sp(4)]
story.append(h2("10.1 Classification of Burns"))
story += [
tbl([["Depth","Also Called","Features","Healing"],
["Superficial (1st degree)","Epidermal","Redness (erythema), pain, no blisters. Example: Sunburn","Heals in 3-7 days without scarring"],
["Superficial Partial Thickness (2nd degree)","Superficial dermal","Blisters, very painful (nerve endings intact), moist, pink/red wound base","Heals in 14-21 days, minimal scarring"],
["Deep Partial Thickness (2nd degree)","Deep dermal","Pale/mottled, reduced sensation, blisters, moist","Heals in 21-35 days, significant scarring; may need grafting"],
["Full Thickness (3rd degree)","Full dermal","Dry, leathery, white/black, painless (nerve endings destroyed), no blisters","Does NOT heal spontaneously; requires skin grafting"],
["Sub-dermal (4th degree)","Sub-dermal","Burns through skin into muscle, bone, tendon","Requires excision; may need amputation"],
], widths=[3.5*cm, 3*cm, 5*cm, 5*cm]),
sp(4)]
story.append(h2("10.2 Estimation of Burn Area"))
story += [
h3("Wallace Rule of Nines (★ MUST KNOW):"),
tbl([["Body Part","Adult (%)","Child adjustment"],
["Head & Neck","9%","Head = 18% in infant (larger)"],
["Each Upper Limb","9% (x2 = 18%)","—"],
["Anterior Trunk","18%","—"],
["Posterior Trunk","18%","—"],
["Each Lower Limb","18% (x2 = 36%)","Legs relatively smaller in children"],
["Perineum","1%","—"],
["TOTAL","100%","—"],
], widths=[5*cm, 4.5*cm, 7*cm]),
sp(4),
h3("Palmar Method:"),
bl("Patient's palm (including fingers) = ~1% of TBSA — useful for patchy burns"),
sp(4)]
story.append(h2("10.3 Pathological Changes & Systemic Effects"))
story += [
bl("<b>Zone of Coagulation:</b> Central core of burn — irreversible cell death"),
bl("<b>Zone of Stasis:</b> Surrounds coagulation — potentially salvageable with good treatment"),
bl("<b>Zone of Hyperaemia:</b> Outermost zone — inflammation, heals spontaneously"),
sp(3),
h3("Systemic Effects (Burns >15-20% TBSA in adults / >10% in children):"),
bl("Fluid shifts: Massive plasma loss from capillary leakage → hypovolaemic shock (burn shock)"),
bl("Inhalation injury: Most common cause of death in burns patients — CO poisoning, airway oedema, chemical injury"),
bl("Hypermetabolism: Massive caloric demand (up to 3x normal) — early enteral nutrition critical"),
bl("Infection/Sepsis: Most common cause of death after initial resuscitation — wound infection, pneumonia"),
bl("Anaemia: Blood loss + haemolysis + suppressed erythropoiesis"),
sp(4)]
story.append(h2("10.4 Management of Burns"))
story += [
h3("Initial Management (A-E approach):"),
bl("A: Airway — assess for inhalation injury (singed nasal hairs, hoarseness, stridor, carbonaceous sputum); early intubation if airway at risk"),
bl("B: Breathing — 100% O2 via non-rebreathing mask for CO poisoning"),
bl("C: Circulation — IV access (2 large-bore); fluid resuscitation"),
bl("D: Disability — analgesia (IV morphine), assess consciousness"),
bl("E: Exposure — estimate TBSA, remove clothing/jewellery, warm patient"),
sp(3),
h3("Fluid Resuscitation:"),
bl("<b>Parkland Formula (Baxter formula):</b>"),
bl("Total fluid in first 24 hours = 4 mL × Weight (kg) × TBSA (%) of burns"),
bl("Give HALF in first 8 hours (from time of burn, not from admission); remaining HALF over next 16 hours"),
bl("Fluid of choice: Hartmann's/Ringer's Lactate"),
bl("Monitor: Urine output target = 0.5–1 mL/kg/hr in adults; 1 mL/kg/hr in children"),
imp("Parkland Formula: 4 × Weight (kg) × %TBSA = Total mL Hartmann's in 24 hrs. Half in 8 hrs, half in 16 hrs."),
sp(4),
h3("Wound Management:"),
tbl([["Depth","Wound Management"],
["Superficial/Superficial Partial Thickness","Cleanse, non-adherent dressings (e.g., Mepitel), change every 2-3 days, analgesia"],
["Deep Partial Thickness","Early tangential excision + skin grafting within 48-72 hrs improves outcomes"],
["Full Thickness","Escharotomy if circumferential (releases compartment pressure) → Excision + Skin Grafting mandatory"],
], widths=[5*cm, 11.5*cm]),
sp(4),
h3("Skin Grafting:"),
tbl([["Type","Source","Details"],
["Split-skin graft (SSG)","Autograft from donor site (thigh)","Epidermis + part of dermis. Most commonly used. Donor site heals by re-epithelialization"],
["Full thickness graft (FTSG)","Autograft (face, hands, groin)","Epidermis + full dermis. Better cosmesis, less contracture. Donor site needs direct closure"],
["Allograft","Cadaver skin","Temporary cover — biological dressing until autograft available"],
["Xenograft","Animal skin (pig most common)","Temporary cover"],
["Flaps","Tissue with own blood supply (local/pedicled/free flap)","For complex wounds over joints, exposed bone/tendon"],
], widths=[3.5*cm, 3.5*cm, 9.5*cm]),
sp(4),
h3("Complications of Burns:"),
tbl([["Early","Late"],
["Hypovolaemic shock, Inhalation injury, CO poisoning","Hypertrophic scarring, Keloid formation"],
["Acute kidney injury (myoglobinuria in electrical burns)","Contractures — across joints → limit function"],
["Curling's ulcer (stress ulcer of duodenum)","Marjolin's ulcer (SCC arising in old burn scar)"],
["Infection → Sepsis (most common late cause of death)","Psychological trauma, PTSD"],
], widths=[8*cm, 8.5*cm], hcol="#455a64"),
sp(4),
imp("PT role in Burns: Acute phase: Positioning (anti-contracture), passive/active ROM, breathing exercises. Sub-acute: Active ROM, strengthening, pressure garments for scar management (worn 23 hrs/day for 12-18 months), silicone gel sheets. Rehabilitation: Functional retraining, gait training, ADL retraining, prosthesis if amputation."),
red("Burns exam essentials: Rule of Nines (know numbers by heart), 4 depths of burns, Parkland formula, 3 zones of burns, causes of death (early: shock + inhalation; late: sepsis)."),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 11 – WOMEN'S HEALTH
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 11: WOMEN'S HEALTH & OBSTETRIC SURGERY [8 Hours]"))
story += [sp(4)]
story.append(h2("11.1 Menstrual Disorders"))
story += [
tbl([["Term","Definition","Common Causes"],
["Menorrhagia","Heavy periods (>80 mL or periods lasting >7 days)","Fibroids, endometriosis, endometrial polyp, IUCD, coagulation disorders, hypothyroidism"],
["Dysmenorrhoea","Painful periods","Primary (no pathology — prostaglandins), Secondary (endometriosis, PID, fibroids)"],
["Amenorrhoea","Absence of menstruation","Primary (never started): Turner's, imperforate hymen. Secondary (stopped): pregnancy, hypothalamic amenorrhoea, PCOS, premature menopause"],
["PCOS","Polycystic Ovary Syndrome","Oligomenorrhoea, hirsutism, acne, obesity, infertility. USS: polycystic ovaries. Management: Lifestyle + weight loss, OCP, Metformin, Clomifene (for fertility)"],
], widths=[3*cm, 3.5*cm, 10*cm]),
sp(4)]
story.append(h2("11.2 Menopause"))
story += [
bl("Average age: 51 years. Defined as 12 months of amenorrhoea after final period"),
bl("Causes of early menopause: Premature ovarian failure, surgery (bilateral oophorectomy), chemotherapy, radiotherapy"),
h3("Features:"),
bl("Vasomotor: Hot flushes, night sweats"), bl("Urogenital: Vaginal dryness, dyspareunia, urinary frequency/incontinence"),
bl("Psychological: Mood changes, poor concentration, insomnia"), bl("Long-term: Osteoporosis (↑fracture risk), cardiovascular risk"),
h3("Management:"),
bl("HRT (Hormone Replacement Therapy): Oestrogen + Progesterone — most effective for hot flushes. Risks: VTE, breast cancer, stroke (slightly increased)"),
bl("Non-hormonal: SSRIs, Clonidine for hot flushes"), bl("Calcium + Vitamin D + Exercise for osteoporosis prevention"),
sp(4)]
story.append(h2("11.3 Pregnancy — Maternal Physiology & Complications"))
story += [
h3("Normal Physiological Changes in Pregnancy:"),
tbl([["System","Change"],
["CVS","Cardiac output ↑40%, Heart rate ↑15-20 bpm, Blood pressure ↓ (especially 2nd trimester), Blood volume ↑40-50%, Physiological anaemia (dilutional)"],
["Respiratory","Tidal volume ↑40%, Minute ventilation ↑, Respiratory rate same/slightly ↑, FRC ↓ (uterus pushes up diaphragm), Progesterone causes mild hyperventilation → compensated respiratory alkalosis"],
["Musculoskeletal","Centre of gravity shifts forward, lumbar lordosis ↑, ligament laxity (relaxin hormone), sacroiliac joint changes, common: low back pain, SPD (symphysis pubis dysfunction)"],
["GI","Nausea/vomiting (1st trimester), constipation (progesterone slows gut), GERD, delayed gastric emptying"],
["Renal","GFR ↑50%, glycosuria possible (normal), UTI risk increases"],
], widths=[3*cm, 13.5*cm]),
sp(4),
h3("Prenatal Complications:"),
tbl([["Complication","Features","Management"],
["Pre-eclampsia","HTN >140/90 + proteinuria after 20 weeks gestation. Symptoms: headache, visual disturbance, RUQ pain, oedema","Antihypertensives (labetalol, nifedipine), MgSO4 for seizure prevention, delivery if severe"],
["Eclampsia","Pre-eclampsia + seizures — OBSTETRIC EMERGENCY","IV MgSO4, stabilise, urgent delivery"],
["Gestational Diabetes","Glucose intolerance developing in pregnancy. Risk of macrosomia, shoulder dystocia, stillbirth","Diet modification → Insulin if not controlled. Resolves after delivery (but 50% risk T2DM later)"],
["Placenta Praevia","Placenta covering internal os. Feature: Painless bright red antepartum haemorrhage","Bed rest, avoid digital examination, C-section delivery"],
["Placental Abruption","Premature separation of normally situated placenta. Feature: Painful dark red haemorrhage, tender rigid uterus","Emergency — resuscitate, monitor fetus, delivery"],
], widths=[3*cm, 5.5*cm, 8*cm]),
sp(4)]
story.append(h2("11.4 Childbirth & Post-Natal"))
story += [
h3("Stages of Labour:"),
bl("<b>Stage 1:</b> Onset of labour to full cervical dilatation (10 cm). Latent phase (0-4cm) + Active phase (4-10cm)"),
bl("<b>Stage 2:</b> Full dilatation to delivery of baby — pushing phase"),
bl("<b>Stage 3:</b> Delivery of placenta — up to 30 minutes after baby"),
sp(3),
h3("Pain Relief in Labour:"),
bl("Entonox (50% N2O + 50% O2) — inhaled"), bl("Pethidine IM — opioid, causes neonatal respiratory depression"),
bl("Epidural — most effective pain relief"), bl("TENS (Transcutaneous Electrical Nerve Stimulation) — non-invasive, mild benefit"),
sp(3),
h3("Post-Natal Care:"),
bl("Breast feeding: Encourages uterine involution, reduces breast cancer risk, ideal nutrition for infant"),
bl("Post-natal depression: 10-15% of mothers, 2 weeks to 12 months post-delivery. Features: persistent low mood, difficulty bonding with baby. Treatment: CBT, SSRIs"),
bl("Pelvic floor dysfunction: Urinary incontinence, prolapse — PT role: pelvic floor exercises (Kegel's)"),
sp(4)]
story.append(h2("11.5 Gynaecological Surgical Procedures"))
story += [
tbl([["Procedure","Indication","Details"],
["Hysterosalpingography (HSG)","Infertility investigation","X-ray with contrast injected through cervix — outlines uterine cavity and fallopian tubes"],
["Dilatation & Curettage (D&C)","Diagnosis of endometrial pathology, incomplete miscarriage","Cervical dilatation + endometrial scraping under GA"],
["Laparoscopy","Diagnosis of endometriosis, ectopic pregnancy, PID, infertility","Minimally invasive — camera through umbilical port"],
["Colposcopy","Abnormal cervical smear (CIN)","Magnified examination of cervix; biopsy if needed"],
["Hysterectomy","Fibroids, endometrial cancer, cervical cancer, menorrhagia not responding to conservative treatment","Total (uterus + cervix) or Subtotal (uterus only). Abdominal, vaginal, or laparoscopic approach"],
], widths=[3.5*cm, 4*cm, 9*cm]),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 12 – ENT
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 12: ENT [3 Hours]"))
story += [sp(4)]
story += [
tbl([["Condition","Key Features","Management"],
["Otitis Media\n(Acute/Chronic)","Acute: Ear pain (otalgia), fever, reduced hearing, bulging red tympanic membrane — most common in children. Chronic: Persistent discharge (otorrhoea), conductive hearing loss, perforated TM","Acute: Analgesics + Amoxicillin (if bacterial). Chronic: Myringoplasty (repair TM), Tympanoplasty"],
["Otosclerosis","Abnormal bone growth fixing stapes → progressive conductive hearing loss. Features: Paracusis (hears better in noisy environment)","Stapedectomy (replace fixed stapes with prosthesis), hearing aid"],
["Facial Palsy (Bell's Palsy)","LMN VII nerve palsy — unilateral weakness of ALL facial muscles (forehead involved — distinguishes from UMN). Features: Cannot close eye (lagophthalmos), droop, loss of nasolabial fold, loss of taste (ant 2/3 tongue)","Prednisolone (within 72 hrs), eye drops (prevent corneal damage), PT: facial exercises, electrical stimulation"],
["Deafness","Conductive (external/middle ear pathology — wax, OM, otosclerosis) vs Sensorineural (inner ear/nerve — noise, ageing, ototoxic drugs)","Rinne + Weber tests to differentiate. Hearing aids, cochlear implants for severe SNHL"],
["Functional Achonia\n(Aphonia)","Loss of voice — no organic cause. Conversion disorder / vocal cord misuse","Voice therapy, counselling, treat psychosocial factors"],
], widths=[3.5*cm, 7*cm, 6*cm]),
imp("Facial palsy PT: Facial mirror exercises, electrical stimulation (NMES), eye protection (artificial tears, eye patch at night), prevention of contracture."),
PageBreak()]
# ══════════════════════════════════════════════════════
# TOPIC 13 – OPHTHALMOLOGY
# ══════════════════════════════════════════════════════
story.append(h1("TOPIC 13: OPHTHALMOLOGY [3 Hours]"))
story += [sp(4)]
story += [
tbl([["Condition","Cause","Key Features","Management"],
["Refractive Errors","Myopia (short-sighted — eyeball too long), Hypermetropia (long-sighted — too short), Astigmatism (irregular cornea), Presbyopia (ageing — loss of accommodation)","Blurred vision at distance or near depending on type","Spectacles, contact lenses, LASER surgery (LASIK, PRK)"],
["Conjunctivitis","Bacterial (S. aureus, H. influenzae), Viral (adenovirus — most common), Allergic","Red eye, discharge (purulent = bacterial; watery = viral; mucoid = allergic), gritty sensation, normal vision","Bacterial: Antibiotic eye drops. Viral: Self-limiting, lubricants. Allergic: Antihistamine drops, avoid allergen"],
["Glaucoma","Primary Open Angle: Raised IOP (>21 mmHg) → gradual optic nerve damage → irreversible peripheral vision loss → tunnel vision (SILENT — no pain). Primary Angle Closure: Sudden raised IOP — PAINFUL","POAG: asymptomatic until advanced. PACG: Severe eye pain, headache, nausea, halos around lights, redness, fixed dilated pupil — EMERGENCY","POAG: Eye drops (beta-blockers, prostaglandin analogues), laser (SLT), surgery (trabeculectomy). PACG Emergency: IV acetazolamide, pilocarpine drops, laser iridotomy"],
["Cataract","Lens opacification — Senile (age, most common), Congenital, Diabetic, Steroid-induced, Post-traumatic","Gradual painless blurring of vision, glare, difficulty with bright lights, faded colours","Phacoemulsification (ultrasound + aspiration) + IOL (intraocular lens) implant"],
["Iritis (Anterior Uveitis)","Autoimmune (AS, IBD, Sarcoid), HLA-B27 associated","Red eye, photophobia, blurred vision, irregular pupil, hypopyon (pus in anterior chamber)","Topical steroids + mydriatics (atropine) to prevent posterior synechiae"],
["Retinal Detachment","Predisposed by myopia, trauma, surgery. Retina separates from RPE","Flashes, floaters (vitreous detachment), 'curtain coming down' visual field loss — PAINLESS EMERGENCY","Laser photocoagulation (small tears), scleral buckling or vitrectomy (large detachment). Surgery must be within hours"],
["Extra-Ocular Muscle Defects","CN III (ptosis, diplopia, eye down-and-out, dilated pupil — uncal herniation), CN IV (vertical diplopia, head tilt), CN VI (convergent squint, horizontal diplopia — most common CN palsy)","Diplopia, squint, abnormal head posture","Treat cause; prism glasses; surgery for persistent strabismus"],
], widths=[2.5*cm, 3.5*cm, 5.5*cm, 5*cm]),
sp(10),
HRFlowable(width="100%", thickness=1, color=colors.HexColor("#1b5e20"), spaceAfter=6),
Paragraph("END OF GENERAL SURGERY NOTES", ParagraphStyle("End", fontSize=12, alignment=TA_CENTER, textColor=colors.HexColor("#1b5e20"), fontName="Helvetica-Bold", spaceBefore=6)),
Paragraph("Orris AI Study Assistant | For 3rd Year BPT Exam Preparation | July 2026", sub_s)]
doc.build(story)
print("SUCCESS:", OUTPUT)
cd /home/daytona/workspace/pt-study-plan && python gen_surgery_notes.py
General Surgery Notes
PDF Document · PDF
| # | Topic | Key Highlights |
|---|---|---|
| 1 | Surgical Basics | Wound healing (4 phases + cells + timing), Electrolytes, Transfusion reactions, Post-op complications |
| 2 | Anaesthesia & Incisions | Spinal vs Epidural, all incision types, drainage systems |
| 3 | Thoracic Trauma | ATOM FC framework — Tension pneumothorax, Beck's Triad for cardiac tamponade, Flail chest |
| 4 | Surgical Oncology | Benign vs Malignant, TNM staging, Surgical procedures in cancer |
| 5 | Chest Wall, Lung & Mediastinum | Pneumothorax, Empyema, Lung cancer, Breast cancer, Mesothelioma |
| 6 | Heart Disorders | CHD (Acyanotic vs Cyanotic), TOF, VSD/ASD/PDA, Valve disease |
| 7 | Thoracic Surgeries | Lobectomy/Pneumonectomy, CABG, Cardiac surgery, Transplant + PT role |
| 8 | Arteries & Veins | DVT (Virchow's Triad), PE, Varicose veins, PAD, Aneurysm, Buerger's |
| 9 | Abdominal Operations | Cholecystectomy, Hernia, Colostomy, Mastectomy, Prostatectomy + PT role after each |
| 10 | Burns | Rule of Nines table, 4 depths, Parkland formula, skin grafting types, PT rehabilitation |
| 11 | Women's Health | Menopause, Pregnancy complications, Stages of labour, Hysterectomy |
| 12 | ENT | Otitis media, Facial palsy (Bell's) + PT role, Deafness types |
| 13 | Ophthalmology | Glaucoma, Cataract, Retinal detachment, Conjunctivitis, CN palsies |
I want in detail and explain in easy words this pdfsarwe going above my mind
~/pt-study-plan/simple_medicine.py
Structuring content...
This can take a few minutes — feel free to come back later.
whg it is stopped