attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment
attachment

Arrange all the questions according to priority vice

Here is a priority-wise arrangement of all the Abdomen & Pelvis Anatomy questions, cross-referenced across all your sources (MBBSInsider question bank, TMs Anatomy 2nd edition LAQ/SAQ lists with star ratings, and the Previous 15 Years paper chapter-wise list):

🔴 PRIORITY 1 - Must Prepare (5-Star / Most Repeated)

These appear as ***** (5 stars) in TMs and/or in the "Most Repeated - Last 5 Years" list.

Long Essays (LAQs)

  1. Stomach - morphology, external features, relations, blood supply, lymphatic drainage, interior, applied aspects
  2. Liver - location, external features, relations, vascular supply, hepatic segments, histology, clinical anatomy
  3. Portal vein - formation, course, relations, branches, tributaries, porto-caval anastomosis, portal hypertension
  4. Rectum - external features, extent, course, direction, relations, mucosal folds, vascular supply, applied
  5. Anal canal - extent, direction, relations, interior, musculature, surgical spaces, blood supply, nerve supply, applied
  6. Uterus - size, shape, normal position, parts, ligaments & supports, vascular supply, clinical anatomy

Short Essays/SAQs (5-star topics)

  1. Hesselbach's triangle
  2. Spermatic cord
  3. Difference between direct and indirect inguinal hernia
  4. Epiploic foramen
  5. Greater omentum
  6. Stomach bed (relations)
  7. Spleen - external features, relations, applied anatomy
  8. Meckel's diverticulum
  9. Abdominal aorta and IVC (branches)
  10. O, I, N, A of psoas major
  11. Perineal membrane
  12. Perineal body
  13. Ischiorectal fossa
  14. Interior (trigone) of urinary bladder
  15. Lobes of prostate
  16. Parts of fallopian tube
  17. Inguinal ligament and its modifications
  18. Posterior relations of kidney
  19. Surgical importance of bare area of liver

🟠 PRIORITY 2 - High Importance (3-Star / Frequently Asked)

Long Essays (LAQs)

  1. Rectus sheath - formation, origin, insertion, nerve supply, blood supply, contents, anatomical importance
  2. Inguinal canal - boundaries, contents, mechanisms, note on inguinal hernia
  3. Testis - external features, coverings, structure, vascular supply, cryptorchidism, ectopic testis, varicocele
  4. Pancreas - external features, relations, ducts, vascular supply, development
  5. Extra-hepatic biliary apparatus - gallbladder parts and ducts, vascular supply, nerve supply, applied anatomy
  6. Duodenum - length, location, parts, relations of 2nd part, openings, vascular supply, histology
  7. Vermiform appendix - external features, positions, peritoneal relations, vascular supply, nerve supply, applied
  8. Kidney and suprarenal glands - external features, location, relations, coverings, vascular supply, development

Short Essays/SAQs (3-star topics)

  1. Transpyloric plane
  2. Conjoint tendon
  3. McBurney's point
  4. Layers of scrotum
  5. Pampiniform plexus
  6. Lesser omentum
  7. Morrison's pouch
  8. Rectouterine pouch
  9. Calot's triangle
  10. Parts, relation, and structure of gallbladder
  11. Referred pain of gallbladder
  12. Murphy's sign, Courvoisier's law
  13. Superior mesenteric artery
  14. Inferior mesenteric artery
  15. Coeliac trunk
  16. Write short note on constrictions of uterus
  17. Pelvic diaphragm
  18. Urogenital triangle
  19. Portocaval (portosystemic) anastomosis ⭐ (starred in previous papers)
  20. Supports of uterus
  21. Perineal body

🟡 PRIORITY 3 - Standard Preparation (2-star / Previous Paper Topics)

Long Essays (LAQs)

  1. Spleen - features, relations, blood supply, applied
  2. Urinary bladder - anatomy, supports, blood supply, nerve supply
  3. Rectum and anal canal (combined)
  4. Uterus (Pelvis LAQ - general features, parts, relations, supports, blood supply, applied)
  5. Urinary bladder - external features, relations, supports, blood supply, nerve supply, applied
  6. Male urinary bladder and prostate - relations, blood supply, clinical anatomy

Short Essays / SAQs

  1. Anterior abdominal wall (layers)
  2. Rectus sheath (SAQ level)
  3. Umbilicus and its importance
  4. O, I, N, A of Rectus Abdominis
  5. Linea alba
  6. Cecum
  7. Ascending colon
  8. Transverse colon
  9. Descending colon
  10. Sigmoid colon
  11. Hepatoduodenal ligament
  12. Extrahepatic biliary apparatus
  13. Suprarenal gland
  14. Ureter
  15. Ischiorectal fossa
  16. Pelvic diaphragm
  17. Ovary
  18. Uterine tube
  19. External features and relations of the oesophagus
  20. Superior mesenteric artery
  21. Inferior vena cava
  22. Histology of adrenal gland
  23. Histology of duodenum
  24. Histology of liver
  25. Histology of pancreas
  26. Derivatives of midgut
  27. Development of diaphragm and its anomalies
  28. Spleen - features and relations
  29. Pancreas - parts and relations
  30. Ischiorectal (ischioanal) fossa
  31. Perineal tear
  32. Uterine ligaments
  33. Broad ligament
  34. Internal iliac artery - branches
  35. Pelvic fascia
  36. Rectouterine pouch (Pouch of Douglas)

🟢 PRIORITY 4 - Lower Priority (1-star / Short Answer 2-3 marks)

  1. Linea alba
  2. Portal hypertension
  3. Caput medusae
  4. Pectinate line
  5. Meckel's diverticulum (VSAQs)
  6. Jejunum and ileum - differences
  7. Inguinal ligament
  8. Deep inguinal ring
  9. Superficial inguinal ring
  10. Umbilicus
  11. Clinical significance of Scarpa's fascia
  12. Cremasteric reflex
  13. Fascia transversalis
  14. Common bile duct
  15. Ligament of Treitz
  16. Mesentery
  17. Marginal artery of Drummond
  18. Exomphalos / Omphalocele
  19. Lesser sac / omental bursa
  20. Descent of testis

VSAQs (Very Short Answers)

  1. Histology of duodenum
  2. Histology of adrenal gland
  3. Derivatives of midgut
  4. Kupffer cells
  5. Peritoneum
  6. Greater omentum
  7. Lesser sac
  8. Appendix
  9. Perineal body
  10. Perineal tear
  11. Broad ligament
  12. Pelvic diaphragm
  13. Rectouterine pouch
  14. Internal iliac artery
  15. Supports of uterus

Quick Study Strategy

PriorityFocusTime
🔴 P1 (5-star)6 LAQs + 19 SAQsFirst
🟠 P2 (3-star)8 LAQs + 29 SAQsSecond
🟡 P3 (standard)Remaining LAQs + SAQsThird
🟢 P4 (1-star/VSAQ)Short notes, 2-3 mark answersLast
Start with Stomach, Liver, Portal vein, Rectum/Anal canal as these are the highest-yield 5-star LAQs that appear most frequently in exams.

Create a study schedule PDF with time allocation per topic

Reading File
Running Command

mkdir -p /home/daytona/workspace/anatomy-schedule && ls /home/daytona/workspace/…

Writing File

~/anatomy-schedule/create_schedule.py

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

# ── Colors ──────────────────────────────────────────────────────────────────
RED       = colors.HexColor("#C0392B")
ORANGE    = colors.HexColor("#E67E22")
YELLOW    = colors.HexColor("#F1C40F")
GREEN     = colors.HexColor("#27AE60")
DARK_BLUE = colors.HexColor("#1A3A5C")
MID_BLUE  = colors.HexColor("#2980B9")
LIGHT_BG  = colors.HexColor("#EBF5FB")
CREAM     = colors.HexColor("#FDFEFE")
GREY_BG   = colors.HexColor("#F2F3F4")
WHITE     = colors.white
BLACK     = colors.black
P1_BG     = colors.HexColor("#FADBD8")
P2_BG     = colors.HexColor("#FAE5D3")
P3_BG     = colors.HexColor("#FEF9E7")
P4_BG     = colors.HexColor("#EAFAF1")

# ── Document ─────────────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    "/home/daytona/workspace/anatomy-schedule/Abdomen_Pelvis_Study_Schedule.pdf",
    pagesize=A4,
    rightMargin=1.5*cm, leftMargin=1.5*cm,
    topMargin=1.8*cm, bottomMargin=1.8*cm,
    title="Abdomen & Pelvis Anatomy Study Schedule",
    author="MBBSInsider"
)

styles = getSampleStyleSheet()

# Custom styles
def make_style(name, parent='Normal', **kw):
    s = ParagraphStyle(name, parent=styles[parent], **kw)
    return s

title_style    = make_style('TitleStyle',    fontSize=22, textColor=WHITE,     alignment=TA_CENTER, fontName='Helvetica-Bold', leading=28)
sub_style      = make_style('SubStyle',      fontSize=11, textColor=WHITE,     alignment=TA_CENTER, fontName='Helvetica', leading=16)
h1_style       = make_style('H1Style',       fontSize=14, textColor=WHITE,     alignment=TA_LEFT,   fontName='Helvetica-Bold', leading=20)
h2_style       = make_style('H2Style',       fontSize=11, textColor=DARK_BLUE, alignment=TA_LEFT,   fontName='Helvetica-Bold', leading=16)
body_style     = make_style('BodyStyle',     fontSize=9,  textColor=BLACK,     alignment=TA_LEFT,   fontName='Helvetica', leading=13)
small_style    = make_style('SmallStyle',    fontSize=8,  textColor=BLACK,     alignment=TA_LEFT,   fontName='Helvetica', leading=11)
center_style   = make_style('CenterStyle',   fontSize=9,  textColor=BLACK,     alignment=TA_CENTER, fontName='Helvetica', leading=13)
bold_center    = make_style('BoldCenter',    fontSize=9,  textColor=WHITE,     alignment=TA_CENTER, fontName='Helvetica-Bold', leading=13)
tbl_hdr_style  = make_style('TblHdr',        fontSize=9,  textColor=WHITE,     alignment=TA_CENTER, fontName='Helvetica-Bold', leading=12)
note_style     = make_style('NoteStyle',     fontSize=8,  textColor=colors.HexColor("#5D6D7E"), alignment=TA_LEFT, fontName='Helvetica-Oblique', leading=12)
tag_style      = make_style('TagStyle',      fontSize=8,  textColor=WHITE,     alignment=TA_CENTER, fontName='Helvetica-Bold', leading=11)

story = []

# ═══════════════════════════════════════════════════════════════
#  PAGE 1 – COVER / OVERVIEW
# ═══════════════════════════════════════════════════════════════

# Title banner
title_table = Table(
    [[Paragraph("ABDOMEN & PELVIS ANATOMY", title_style)],
     [Paragraph("14-Day Priority-Based Study Schedule", sub_style)],
     [Paragraph("Based on MBBSInsider + TMs Anatomy 2nd Ed. | Previous 15 Years Analysis", note_style)]],
    colWidths=[18*cm]
)
title_table.setStyle(TableStyle([
    ('BACKGROUND', (0,0), (-1,1), DARK_BLUE),
    ('BACKGROUND', (0,2), (-1,2), MID_BLUE),
    ('TOPPADDING',  (0,0), (-1,-1), 10),
    ('BOTTOMPADDING',(0,0),(-1,-1), 10),
    ('LEFTPADDING', (0,0), (-1,-1), 14),
    ('RIGHTPADDING',(0,0), (-1,-1), 14),
    ('ROUNDEDCORNERS', [8]),
]))
story.append(title_table)
story.append(Spacer(1, 0.4*cm))

# Legend
legend_data = [
    [Paragraph("🔴  PRIORITY 1", make_style('l1', fontSize=9, textColor=colors.HexColor("#C0392B"), fontName='Helvetica-Bold')),
     Paragraph("5-star / Most Repeated – Do FIRST", body_style),
     Paragraph("🟠  PRIORITY 2", make_style('l2', fontSize=9, textColor=colors.HexColor("#E67E22"), fontName='Helvetica-Bold')),
     Paragraph("3-star / Frequently Asked", body_style)],
    [Paragraph("🟡  PRIORITY 3", make_style('l3', fontSize=9, textColor=colors.HexColor("#D4AC0D"), fontName='Helvetica-Bold')),
     Paragraph("Standard topics – Previous papers", body_style),
     Paragraph("🟢  PRIORITY 4", make_style('l4', fontSize=9, textColor=colors.HexColor("#27AE60"), fontName='Helvetica-Bold')),
     Paragraph("Low priority – Short notes / VSAQs", body_style)],
]
legend_tbl = Table(legend_data, colWidths=[3.5*cm, 5.5*cm, 3.5*cm, 5.5*cm])
legend_tbl.setStyle(TableStyle([
    ('BOX',         (0,0), (-1,-1), 0.5, MID_BLUE),
    ('INNERGRID',   (0,0), (-1,-1), 0.3, colors.HexColor("#AED6F1")),
    ('BACKGROUND',  (0,0), (-1,-1), LIGHT_BG),
    ('TOPPADDING',  (0,0), (-1,-1), 5),
    ('BOTTOMPADDING',(0,0),(-1,-1), 5),
    ('LEFTPADDING', (0,0), (-1,-1), 6),
]))
story.append(legend_tbl)
story.append(Spacer(1, 0.3*cm))

# ── Time Overview Table ────────────────────────────────────────
story.append(Paragraph("Overall Time Allocation at a Glance", h2_style))
story.append(Spacer(1, 0.2*cm))

overview_header = [
    Paragraph("Priority", tbl_hdr_style),
    Paragraph("Focus Area", tbl_hdr_style),
    Paragraph("Days", tbl_hdr_style),
    Paragraph("Hours/Day", tbl_hdr_style),
    Paragraph("Total Hours", tbl_hdr_style),
    Paragraph("% of Schedule", tbl_hdr_style),
]
overview_rows = [
    ["🔴 P1 (5-star)", "Stomach, Liver, Portal Vein, Rectum, Anal Canal, Uterus\n+ High-yield SAQs", "Days 1-4", "6-7 hrs", "~26 hrs", "~37%"],
    ["🟠 P2 (3-star)", "Rectus Sheath, Inguinal Canal, Pancreas, Duodenum,\nKidney, Biliary App., Testis, Vermiform Appendix + SAQs", "Days 5-8", "5-6 hrs", "~22 hrs", "~31%"],
    ["🟡 P3 (standard)", "Remaining LAQs: Spleen, Urinary Bladder, Colon,\nPelvis structures + Standard SAQs", "Days 9-11", "5 hrs", "~15 hrs", "~21%"],
    ["🟢 P4 (low)", "VSAQs, 2-3 mark short notes, Revision of definitions", "Days 12-13", "4 hrs", "~8 hrs", "~11%"],
    ["🔄 REVISION", "Full syllabus revision + Mock Q&A", "Day 14", "6 hrs", "6 hrs", "—"],
]

ov_col_w = [2.6*cm, 6.8*cm, 2.2*cm, 2.2*cm, 2.2*cm, 2*cm]
ov_data  = [overview_header] + [[Paragraph(str(c), small_style) for c in row] for row in overview_rows]
ov_table = Table(ov_data, colWidths=ov_col_w, repeatRows=1)
ov_table.setStyle(TableStyle([
    ('BACKGROUND',   (0,0), (-1,0), DARK_BLUE),
    ('BACKGROUND',   (0,1), (-1,1), P1_BG),
    ('BACKGROUND',   (0,2), (-1,2), P2_BG),
    ('BACKGROUND',   (0,3), (-1,3), P3_BG),
    ('BACKGROUND',   (0,4), (-1,4), P4_BG),
    ('BACKGROUND',   (0,5), (-1,5), colors.HexColor("#EBF5FB")),
    ('BOX',          (0,0), (-1,-1), 0.8, DARK_BLUE),
    ('INNERGRID',    (0,0), (-1,-1), 0.3, colors.HexColor("#AED6F1")),
    ('VALIGN',       (0,0), (-1,-1), 'MIDDLE'),
    ('TOPPADDING',   (0,0), (-1,-1), 5),
    ('BOTTOMPADDING',(0,0), (-1,-1), 5),
    ('LEFTPADDING',  (0,0), (-1,-1), 5),
    ('ALIGN',        (2,0), (-1,-1), 'CENTER'),
]))
story.append(ov_table)
story.append(Spacer(1, 0.4*cm))

# ── Daily Hour Split ──────────────────────────────────────────
story.append(Paragraph("Recommended Daily Study Split (6-hour day example)", h2_style))
story.append(Spacer(1, 0.15*cm))

daily_data = [
    [Paragraph("Session", tbl_hdr_style), Paragraph("Time Slot", tbl_hdr_style),
     Paragraph("Duration", tbl_hdr_style), Paragraph("Activity", tbl_hdr_style)],
    ["Morning Session 1", "6:00 AM – 8:30 AM", "2.5 hrs", "Learn NEW LAQ topic (read + write key points)"],
    ["Morning Session 2", "9:00 AM – 10:30 AM", "1.5 hrs", "Short notes + SAQs for same topic"],
    ["Afternoon Session", "2:00 PM – 3:30 PM", "1.5 hrs", "Previous year Q practice / diagram drawing"],
    ["Evening Revision",  "7:00 PM – 7:30 PM", "30 min",  "Rapid recall – headings only, no book"],
    ["Night Review",      "9:30 PM – 10:00 PM", "30 min",  "Quick flip through today's written notes"],
]
daily_col_w = [3.5*cm, 3.8*cm, 2.2*cm, 8.5*cm]
daily_table = Table(
    [[Paragraph(str(c), tbl_hdr_style) if i == 0 else Paragraph(str(c), small_style) for i, c in enumerate(row)] for row in daily_data],
    colWidths=daily_col_w, repeatRows=1
)
daily_table.setStyle(TableStyle([
    ('BACKGROUND',   (0,0), (-1,0), MID_BLUE),
    ('ROWBACKGROUNDS',(0,1),(-1,-1), [CREAM, GREY_BG]),
    ('BOX',          (0,0), (-1,-1), 0.8, DARK_BLUE),
    ('INNERGRID',    (0,0), (-1,-1), 0.3, colors.HexColor("#AED6F1")),
    ('VALIGN',       (0,0), (-1,-1), 'MIDDLE'),
    ('TOPPADDING',   (0,0), (-1,-1), 5),
    ('BOTTOMPADDING',(0,0), (-1,-1), 5),
    ('LEFTPADDING',  (0,0), (-1,-1), 5),
]))
story.append(daily_table)
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph(
    "Tip: Use the Pomodoro technique – 50 min study + 10 min break. Draw every diagram at least once. "
    "Write answers to at least 1 LAQ per day to build exam speed.",
    note_style
))

story.append(PageBreak())

# ═══════════════════════════════════════════════════════════════
#  PAGE 2 – DAYS 1-7  (Priority 1 & 2)
# ═══════════════════════════════════════════════════════════════

def day_header(day_num, title, priority_label, priority_color, hrs):
    data = [[
        Paragraph(f"DAY {day_num}", make_style(f'dh{day_num}', fontSize=13, textColor=WHITE, fontName='Helvetica-Bold')),
        Paragraph(title, make_style(f'dt{day_num}', fontSize=11, textColor=WHITE, fontName='Helvetica-Bold')),
        Paragraph(f"{priority_label}  |  {hrs}", make_style(f'dp{day_num}', fontSize=9, textColor=WHITE, fontName='Helvetica', alignment=TA_RIGHT)),
    ]]
    t = Table(data, colWidths=[2.5*cm, 11*cm, 4.5*cm])
    t.setStyle(TableStyle([
        ('BACKGROUND',    (0,0), (-1,-1), priority_color),
        ('TOPPADDING',    (0,0), (-1,-1), 7),
        ('BOTTOMPADDING', (0,0), (-1,-1), 7),
        ('LEFTPADDING',   (0,0), (-1,-1), 8),
        ('VALIGN',        (0,0), (-1,-1), 'MIDDLE'),
    ]))
    return t

def session_table(rows, bg=CREAM):
    """rows = list of (session, time, mins, topics, tip)"""
    header = [
        Paragraph("Session", tbl_hdr_style),
        Paragraph("Time", tbl_hdr_style),
        Paragraph("Mins", tbl_hdr_style),
        Paragraph("Topics to Cover", tbl_hdr_style),
        Paragraph("Tip / Output", tbl_hdr_style),
    ]
    data = [header]
    for r in rows:
        data.append([Paragraph(str(c), small_style) for c in r])
    col_w = [2.8*cm, 2.8*cm, 1.2*cm, 7.0*cm, 4.2*cm]
    t = Table(data, colWidths=col_w, repeatRows=1)
    t.setStyle(TableStyle([
        ('BACKGROUND',    (0,0), (-1,0), DARK_BLUE),
        ('ROWBACKGROUNDS',(0,1),(-1,-1), [CREAM, GREY_BG]),
        ('BOX',           (0,0), (-1,-1), 0.6, MID_BLUE),
        ('INNERGRID',     (0,0), (-1,-1), 0.25, colors.HexColor("#AED6F1")),
        ('VALIGN',        (0,0), (-1,-1), 'TOP'),
        ('TOPPADDING',    (0,0), (-1,-1), 4),
        ('BOTTOMPADDING', (0,0), (-1,-1), 4),
        ('LEFTPADDING',   (0,0), (-1,-1), 4),
    ]))
    return t

# ── DAY 1 ────────────────────────────────────────────────────
story.append(day_header(1, "STOMACH  (P1 - 5 Stars)", "🔴 Priority 1", RED, "6.5 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–8:30 AM", "150", "Parts & morphology, External features, Relations (anterior/posterior), Bed of stomach", "Sketch stomach + label all borders"],
    ["Morning 2", "9:00–10:30 AM", "90",  "Blood supply (arteries+veins), Lymphatic drainage, Nerve supply (vagal+sympathetic)", "Draw blood supply diagram"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "Interior of stomach, Applied anatomy: peptic ulcer, volvulus, gastrectomy, referred pain", "Write 1 full LAQ answer"],
    ["Evening",   "7:00–7:30 PM",  "30",  "SAQs: Stomach bed, Greater omentum, Lesser omentum, Morrison's pouch", "Write headings from memory"],
    ["Night",     "9:30–10:00 PM", "30",  "Rapid recall: all relations, blood supply branches", "Close book recall"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 2 ────────────────────────────────────────────────────
story.append(day_header(2, "LIVER + PORTAL VEIN  (P1 - 5 Stars)", "🔴 Priority 1", RED, "7 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–8:30 AM", "150", "Liver: location, external features, surfaces, borders, lobes (Riedel's lobe), ligaments, hepatic segments (Couinaud)", "Draw liver surfaces + label segments"],
    ["Morning 2", "9:00–10:30 AM", "90",  "Liver: vascular supply (hepatic artery, portal vein, hepatic veins), bare area, surgical importance", "Note: bare area = surgical importance ⭐"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "Portal vein: formation, course, tributaries, portocaval anastomosis sites (5), portal hypertension, caput medusae", "Draw portocaval anastomosis diagram"],
    ["Evening",   "7:00–7:30 PM",  "30",  "SAQs: Hepatoduodenal ligament, Calot's triangle, Epiploic foramen, Referred pain of gallbladder", "Write in point format"],
    ["Night",     "9:30–10:00 PM", "30",  "Revision: liver surfaces + portal vein tributaries", "Rapid headings recall"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 3 ────────────────────────────────────────────────────
story.append(day_header(3, "RECTUM + ANAL CANAL  (P1 - 5 Stars)", "🔴 Priority 1", RED, "6.5 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–8:30 AM", "150", "Rectum: extent, external features, course & direction, flexures (3 lateral + 2 AP), relations (male/female separately)", "Draw sagittal section male pelvis"],
    ["Morning 2", "9:00–10:30 AM", "90",  "Rectum: mucosal folds (Houston valves), vascular supply, lymphatics, clinical anatomy (cancer spread)", "Write blood supply in tabular form"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "Anal canal: extent, direction, interior (columns of Morgagni, pectinate line, white line), musculature (sphincters), surgical spaces, blood supply, nerve supply", "Pectinate line – differences above/below"],
    ["Evening",   "7:00–7:30 PM",  "30",  "SAQs: Pectinate line, Ischiorectal fossa, Perineal body, Perineal membrane", "Short note format"],
    ["Night",     "9:30–10:00 PM", "30",  "Recall: anal canal interior + sphincter complex", "Draw from memory"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 4 ────────────────────────────────────────────────────
story.append(day_header(4, "UTERUS + HIGH-YIELD P1 SAQs  (P1 - 5 Stars)", "🔴 Priority 1", RED, "6.5 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–8:30 AM", "150", "Uterus: size/shape, normal position (anteversion + anteflexion), parts, relations (ant/post/lateral), peritoneal relations, pouches", "Draw uterus in situ"],
    ["Morning 2", "9:00–10:30 AM", "90",  "Uterus: ligaments & supports (4 main supports – Mackenrodt's, uterosacral, round, broad), vascular supply, uterine prolapse", "Supports table: ligament + function"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "SAQs P1 (5-star): Hesselbach's triangle, Spermatic cord, Direct vs. indirect inguinal hernia, Greater omentum, Perineal body, Ischiorectal fossa, Lobes of prostate, Trigone of bladder", "Write each as a short note (~half page)"],
    ["Evening",   "7:00–7:30 PM",  "30",  "SAQs: Fallopian tube parts, Inguinal ligament modifications, Surgical bare area of liver", "Bullet point revision"],
    ["Night",     "9:30–10:00 PM", "30",  "Uterus rapid recall: supports + blood supply", "Without notes"],
]))

story.append(PageBreak())

# ── DAY 5 ────────────────────────────────────────────────────
story.append(day_header(5, "RECTUS SHEATH + INGUINAL CANAL  (P2 - 3 Stars)", "🟠 Priority 2", ORANGE, "6 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–8:00 AM", "120", "Rectus sheath: formation above/below arcuate line, contents (6), blood supply (superior + inferior epigastric), nerve supply", "Draw cross-section above + below arcuate line"],
    ["Morning 2", "9:00–10:30 AM", "90",  "Inguinal canal: boundaries (anterior/posterior/roof/floor), contents (male vs female), mechanisms (3), inguinal hernia types", "Table: direct vs indirect hernia"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "SAQs: Hesselbach's triangle, Conjoint tendon, Transpyloric plane, Deep & superficial inguinal rings, Cremasteric reflex, Fascia transversalis", "Short notes for each"],
    ["Evening",   "7:00–7:30 PM",  "30",  "P2 SAQs: Pampiniform plexus, Layers of scrotum, Descent of testis", "Bullet points"],
    ["Night",     "9:30–10:00 PM", "30",  "Recall: inguinal canal boundaries + contents", "Without notes"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 6 ────────────────────────────────────────────────────
story.append(day_header(6, "PANCREAS + EXTRA-HEPATIC BILIARY APPARATUS  (P2 - 3 Stars)", "🟠 Priority 2", ORANGE, "6 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–8:00 AM", "120", "Pancreas: external features, parts (head/neck/body/tail), relations of each part, ducts (main + accessory), vascular supply", "Draw pancreas + ducts in situ"],
    ["Morning 2", "9:00–10:30 AM", "90",  "Development of pancreas (annular pancreas), Histology of pancreas (islets of Langerhans); Extra-hepatic biliary apparatus: gallbladder (parts, relations, Hartmann's pouch), ducts, vascular supply, nerve supply", "Write applied anatomy of gallbladder"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "SAQs: Calot's triangle, Murphy's sign, Courvoisier's law, Parts/relations of gallbladder, Referred pain of gallbladder, Common bile duct, Coeliac trunk", "Clinical correlations focus"],
    ["Evening",   "7:00–7:30 PM",  "30",  "SAQs: Lesser omentum, Epiploic foramen, Ligament of Treitz", "Bullet revision"],
    ["Night",     "9:30–10:00 PM", "30",  "Recall: pancreatic duct openings + biliary tree", "Draw from memory"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 7 ────────────────────────────────────────────────────
story.append(day_header(7, "DUODENUM + VERMIFORM APPENDIX + KIDNEY  (P2 - 3 Stars)", "🟠 Priority 2", ORANGE, "6 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–8:00 AM", "120", "Duodenum: length (25 cm), C-shape, 4 parts – location + relations of each part, openings (major & minor duodenal papillae), vascular supply, histology", "Draw duodenum + head of pancreas"],
    ["Morning 2", "9:00–10:00 AM", "60",  "Vermiform appendix: external features, 6 positions (retrocaecal most common), peritoneal relations, McBurney's point, blood supply, nerve supply, applied (appendicitis)", "Positions of appendix diagram"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "Kidney: external features, location (left higher than right), relations (anterior + posterior separately), coverings (3 layers), vascular supply (segmental + variation), development (horseshoe), anomalies", "Draw posterior relations of kidney"],
    ["Evening",   "7:00–7:30 PM",  "30",  "SAQs: Suprarenal gland, Ureter (course + constrictions), Superior mesenteric artery, Inferior mesenteric artery, Abdominal aorta branches", "Quick notes"],
    ["Night",     "9:30–10:00 PM", "30",  "Recall: kidney relations + vascular supply", "Table format recall"],
]))

story.append(PageBreak())

# ═══════════════════════════════════════════════════════════════
#  PAGE 3 – DAYS 8-11  (Priority 2 remainder & Priority 3)
# ═══════════════════════════════════════════════════════════════

# ── DAY 8 ────────────────────────────────────────────────────
story.append(day_header(8, "TESTIS + P2 SAQs COMPLETION  (P2 - 3 Stars)", "🟠 Priority 2", ORANGE, "5.5 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–8:00 AM", "120", "Testis: external features, coverings (7 layers – processus vaginalis), internal structure (seminiferous tubules, rete testis), vascular supply (testicular artery), varicocele, cryptorchidism, ectopic testis", "Draw cross-section of testis"],
    ["Morning 2", "9:00–10:30 AM", "90",  "P2 SAQs: Pelvic diaphragm (muscles, nerve supply), Urogenital triangle, Perineal membrane, O,I,N,A of psoas major, Spleen (SAQ level – features + relations + applied)", "Write each as a 5-mark short note"],
    ["Afternoon", "2:00–3:00 PM",  "60",  "SAQs: Morrison's pouch, Rectouterine pouch, Greater omentum, Mesentery, Marginal artery of Drummond", "Applied correlations"],
    ["Evening",   "7:00–7:30 PM",  "30",  "P2 SAQ: Portocaval anastomosis ⭐ (most starred in prev. papers)", "Full short note"],
    ["Night",     "9:30–10:00 PM", "30",  "Rapid recall: Day 5–8 topics", "Headings only"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 9 ────────────────────────────────────────────────────
story.append(day_header(9, "SPLEEN + URINARY BLADDER + COLON SEGMENTS  (P3)", "🟡 Priority 3", colors.HexColor("#D4AC0D"), "5 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–7:30 AM", "90",  "Spleen: external features (notches, hilum), relations (gastrosplenic, splenorenal ligaments), blood supply, rupture, accessory spleen, splenomegaly", "Draw spleen with ligaments"],
    ["Morning 2", "8:00–9:30 AM", "90",  "Urinary bladder: external features, relations (male/female), supports (detrusor, pubovesical ligaments), interior (trigone, uvula), blood supply, nerve supply, applied (cystoscopy, cystitis)", "Draw trigone of bladder"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "Colon segments: Cecum, Ascending, Transverse, Descending, Sigmoid – parts, relations, blood supply, clinical points; Jejunum vs ileum differences", "Make a comparison table"],
    ["Evening",   "7:00–7:30 PM",  "30",  "SAQs: Linea alba, Anterior abdominal wall layers, Rectus sheath (short note)", "Bullet points"],
    ["Night",     "9:30–10:00 PM", "30",  "Recall: urinary bladder supports + trigone", "Without notes"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 10 ────────────────────────────────────────────────────
story.append(day_header(10, "PELVIS STRUCTURES – OVARY, UTERINE TUBE, PROSTATE  (P3)", "🟡 Priority 3", colors.HexColor("#D4AC0D"), "5 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–7:30 AM", "90",  "Ovary: external features, relations, ligaments (mesovarium, ovarian ligament, suspensory), blood supply, nerve supply, applied (ovarian cyst, ectopic ovulation)", "Sketch ovary in situ"],
    ["Morning 2", "8:00–9:30 AM", "90",  "Uterine tube/Fallopian tube: parts (interstitial, isthmus, ampulla, infundibulum), peritoneal relations, blood supply, ectopic pregnancy; Prostate: lobes (5 McNeill zones + 4 anatomical lobes), relations, blood supply, applied (BPH, cancer spread)", "Ectopic pregnancy sites table"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "SAQs P3: Rectouterine pouch (Douglas), Broad ligament, Internal iliac artery branches, Pelvic fascia, Uterine ligaments, Ischiorectal fossa, Pelvic diaphragm", "Short note each"],
    ["Evening",   "7:00–7:30 PM",  "30",  "SAQs: Ureter course + 3 constrictions, Suprarenal gland zones + hormones", "Tabular notes"],
    ["Night",     "9:30–10:00 PM", "30",  "Recall: ovary + uterine tube relations", "Quick sketch"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 11 ────────────────────────────────────────────────────
story.append(day_header(11, "HISTOLOGY + EMBRYOLOGY + REMAINING SAQs  (P3)", "🟡 Priority 3", colors.HexColor("#D4AC0D"), "5 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–7:30 AM", "90",  "Histology: Duodenum ⭐, Liver ⭐, Pancreas (islets vs. acini), Adrenal gland ⭐ (cortex zones – GFR rule)", "Draw labeled histology diagrams"],
    ["Morning 2", "8:00–9:30 AM", "90",  "Embryology: Derivatives of midgut ⭐, Development of diaphragm + anomalies (CDH – Bochdalek/Morgagni), Exomphalos/Omphalocele, Meckel's diverticulum (Rule of 2s)", "Rule of 2s for Meckel's"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "Remaining SAQs: Oesophageal features & relations, IVC tributaries + formation, Superior mesenteric artery branches, Inferior mesenteric artery, Coeliac trunk branches, Abdominal aorta", "Draw vascular tree diagram"],
    ["Evening",   "7:00–7:30 PM",  "30",  "SAQs: Exomphalos, Kupffer cells, Peritoneum, Lesser sac, Appendix, Derivatives of midgut", "Bullet notes"],
    ["Night",     "9:30–10:00 PM", "30",  "Recall: histology features of each organ", "Labeled sketches"],
]))

story.append(PageBreak())

# ═══════════════════════════════════════════════════════════════
#  PAGE 4 – DAYS 12-14 + QUICK REFERENCE TABLE
# ═══════════════════════════════════════════════════════════════

# ── DAY 12 ────────────────────────────────────────────────────
story.append(day_header(12, "VSAQs + LOW-PRIORITY SHORT NOTES  (P4)", "🟢 Priority 4", GREEN, "4 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning", "6:00–8:00 AM", "120", "VSAQs (2-3 marks each): Histology of duodenum ⭐, Histology of adrenal gland ⭐, Derivatives of midgut ⭐, Kupffer cells, Peritoneum, Greater omentum, Lesser sac, Appendix", "30-word definitions for each"],
    ["Afternoon", "2:00–3:00 PM",  "60",  "Short notes: Caput medusae, Portal hypertension, Pectinate line, Meckel's diverticulum, Linea alba, Umbilicus, Clinical significance of Scarpa's fascia", "Half-page each"],
    ["Evening",  "7:00–7:30 PM",  "30",  "VSAQs Pelvis: Perineal body ⭐, Perineal tear, Broad ligament, Pelvic diaphragm, Rectouterine pouch, Internal iliac artery, Supports of uterus", "Bullet notes"],
    ["Night",    "9:30–10:00 PM", "30",  "Rapid revision: all P4 topics", "Headings only"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 13 ────────────────────────────────────────────────────
story.append(day_header(13, "SELECTIVE REVISION + WEAK AREAS  (P1 + P2)", "🔄 Revision", MID_BLUE, "5 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–8:00 AM", "120", "Revise P1 LAQs: Stomach + Liver + Portal Vein (written summaries, key diagrams only)", "Write brief answer outlines"],
    ["Morning 2", "9:00–10:30 AM", "90",  "Revise P1 LAQs: Rectum + Anal Canal + Uterus (write key subtopics list)", "Table of key points per topic"],
    ["Afternoon", "2:00–3:30 PM",  "90",  "Revise P2 LAQs: Rectus Sheath, Inguinal Canal, Pancreas, Duodenum, Kidney – rapid review of key facts", "1-page summary per organ"],
    ["Evening",   "7:00–7:30 PM",  "30",  "High-yield SAQs: Portocaval anastomosis, Hesselbach's triangle, Spermatic cord, Calot's triangle", "Quick written notes"],
    ["Night",     "9:30–10:00 PM", "30",  "Identify remaining gaps – make a 'weak topics' list for Day 14", "List on paper"],
]))
story.append(Spacer(1, 0.3*cm))

# ── DAY 14 ────────────────────────────────────────────────────
story.append(day_header(14, "FULL REVISION + MOCK Q&A  (All Priorities)", "🔄 Final Revision", DARK_BLUE, "6 hrs"))
story.append(Spacer(1, 0.15*cm))
story.append(session_table([
    ["Morning 1", "6:00–7:30 AM", "90",  "Attempt 2 full LAQ answers (timed – 20 min each): Pick from P1 list randomly. Self-assess: structure, content, diagrams", "Check against standard answer"],
    ["Morning 2", "8:00–9:30 AM", "90",  "Attempt 4 SAQ answers (10 min each) from P1 + P2 list. Practice diagram drawing (portal vein, inguinal canal, anal canal)", "Time yourself strictly"],
    ["Afternoon", "2:00–3:00 PM",  "60",  "Rapid fire: 15 VSAQ definitions out loud / written (2 min each)", "Cover the book, recall only"],
    ["Afternoon 2","3:00–4:00 PM", "60",  "Revise 'weak topics list' from Day 13", "Focus only on gaps"],
    ["Evening",   "7:00–8:00 PM",  "60",  "Final scan: Most Repeated Topics list (MBBSInsider) – mentally tick off each one", "You should know all 12 MR topics"],
    ["Night",     "9:30–10:00 PM", "30",  "Rest – no new learning. Recall 5 key diagrams mentally", "Sleep well!"],
]))
story.append(Spacer(1, 0.4*cm))

# ── QUICK REFERENCE: Time per topic ──────────────────────────
story.append(Paragraph("Quick Reference – Time Allocation per Major Topic", h2_style))
story.append(Spacer(1, 0.2*cm))

qr_header = [
    Paragraph("Topic", tbl_hdr_style),
    Paragraph("Priority", tbl_hdr_style),
    Paragraph("Day", tbl_hdr_style),
    Paragraph("Approx. Time", tbl_hdr_style),
    Paragraph("Exam Weightage", tbl_hdr_style),
]

def pr(text, col=BLACK):
    return Paragraph(text, ParagraphStyle('qr', fontSize=8, textColor=col, fontName='Helvetica', leading=11))

qr_rows = [
    ["Stomach",                              "🔴 P1 (⭐⭐⭐⭐⭐)", "Day 1",  "~4 hrs",    "LAQ – 10 marks"],
    ["Liver",                                "🔴 P1 (⭐⭐⭐⭐⭐)", "Day 2",  "~3.5 hrs",  "LAQ – 10 marks"],
    ["Portal Vein + Portocaval Anastomosis", "🔴 P1 (⭐⭐⭐⭐⭐)", "Day 2",  "~2.5 hrs",  "LAQ / SAQ"],
    ["Rectum",                               "🔴 P1 (⭐⭐⭐⭐⭐)", "Day 3",  "~3 hrs",    "LAQ – 10 marks"],
    ["Anal Canal",                           "🔴 P1 (⭐⭐⭐⭐⭐)", "Day 3",  "~2.5 hrs",  "LAQ – 10 marks"],
    ["Uterus",                               "🔴 P1 (⭐⭐⭐⭐⭐)", "Day 4",  "~3.5 hrs",  "LAQ – 10 marks"],
    ["Rectus Sheath",                        "🟠 P2 (⭐⭐⭐)",     "Day 5",  "~2.5 hrs",  "LAQ – 10 marks"],
    ["Inguinal Canal",                       "🟠 P2 (⭐⭐⭐)",     "Day 5",  "~2.5 hrs",  "LAQ – 10 marks"],
    ["Pancreas",                             "🟠 P2 (⭐⭐⭐)",     "Day 6",  "~2.5 hrs",  "LAQ – 10 marks"],
    ["Extra-Hepatic Biliary Apparatus",      "🟠 P2 (⭐⭐⭐)",     "Day 6",  "~2 hrs",    "LAQ – 10 marks"],
    ["Duodenum",                             "🟠 P2 (⭐⭐⭐)",     "Day 7",  "~2 hrs",    "LAQ – 10 marks"],
    ["Vermiform Appendix",                   "🟠 P2 (⭐⭐⭐)",     "Day 7",  "~1 hr",     "LAQ / SAQ"],
    ["Kidney + Suprarenal",                  "🟠 P2 (⭐⭐⭐)",     "Day 7",  "~2 hrs",    "LAQ – 10 marks"],
    ["Testis",                               "🟠 P2 (⭐⭐⭐)",     "Day 8",  "~2 hrs",    "LAQ"],
    ["Spleen",                               "🟡 P3",               "Day 9",  "~1.5 hrs",  "SAQ – 5 marks"],
    ["Urinary Bladder",                      "🟡 P3",               "Day 9",  "~1.5 hrs",  "LAQ / SAQ"],
    ["Colon Segments",                       "🟡 P3",               "Day 9",  "~1.5 hrs",  "SAQ – 5 marks"],
    ["Ovary + Uterine Tube",                 "🟡 P3",               "Day 10", "~2 hrs",    "SAQ"],
    ["Prostate",                             "🟡 P3",               "Day 10", "~1 hr",     "SAQ / LAQ"],
    ["Histology (Liver, Duodenum, Pancreas, Adrenal)", "🟡 P3",    "Day 11", "~1.5 hrs",  "SAQ / VSAQ"],
    ["Embryology (Midgut, Diaphragm)",       "🟡 P3",               "Day 11", "~1.5 hrs",  "SAQ / VSAQ"],
    ["VSAQs + Short Notes",                  "🟢 P4",               "Day 12", "~3 hrs",    "2-3 marks each"],
]

qr_data = [qr_header] + [[pr(c) for c in row] for row in qr_rows]
qr_col_w = [5.5*cm, 3.0*cm, 1.8*cm, 2.5*cm, 5.2*cm]
qr_table = Table(qr_data, colWidths=qr_col_w, repeatRows=1)

row_colors = []
for i, row in enumerate(qr_rows):
    if "P1" in row[1]:
        row_colors.append(('BACKGROUND', (0, i+1), (-1, i+1), P1_BG))
    elif "P2" in row[1]:
        row_colors.append(('BACKGROUND', (0, i+1), (-1, i+1), P2_BG))
    elif "P3" in row[1]:
        row_colors.append(('BACKGROUND', (0, i+1), (-1, i+1), P3_BG))
    else:
        row_colors.append(('BACKGROUND', (0, i+1), (-1, i+1), P4_BG))

qr_table.setStyle(TableStyle([
    ('BACKGROUND',    (0,0), (-1,0), DARK_BLUE),
    ('BOX',           (0,0), (-1,-1), 0.8, DARK_BLUE),
    ('INNERGRID',     (0,0), (-1,-1), 0.25, colors.HexColor("#AED6F1")),
    ('VALIGN',        (0,0), (-1,-1), 'MIDDLE'),
    ('TOPPADDING',    (0,0), (-1,-1), 4),
    ('BOTTOMPADDING', (0,0), (-1,-1), 4),
    ('LEFTPADDING',   (0,0), (-1,-1), 4),
] + row_colors))

story.append(qr_table)
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph(
    "Note: Time allocations are approximate for a 6-7 hour study day. Adjust based on your existing knowledge. "
    "Always prioritize writing practice over passive reading - anatomy exams reward structured written answers and clear diagrams.",
    note_style
))

# ── BUILD ─────────────────────────────────────────────────────
doc.build(story)
print("PDF created successfully!")
Running Command

cd /home/daytona/workspace/anatomy-schedule && python create_schedule.py

Running Command

ls -lh /home/daytona/workspace/anatomy-schedule/

Your study schedule PDF is ready! Download it here:

Abdomen Pelvis Study Schedule

PDF Document · PDF


Here's what's inside the 4-page PDF:

Page 1 - Overview

  • Color-coded priority legend (P1 red / P2 orange / P3 yellow / P4 green)
  • Overall time allocation table - total hours per priority tier with % of schedule
  • Daily hour split - exactly how to divide a 6-hour study day across 5 sessions

Pages 2-3 - Day-by-Day Schedule (Days 1-11)

Each day has a detailed session table with:
  • Session name + time slot + exact minutes
  • Topics to cover (specific subtopics listed)
  • Tip / Output (what to produce - diagrams, written answers, tables)
DaysFocusPriority
1-4Stomach, Liver, Portal Vein, Rectum, Anal Canal, Uterus🔴 P1
5-8Rectus Sheath, Inguinal Canal, Pancreas, Biliary App., Duodenum, Kidney, Testis🟠 P2
9-11Spleen, Bladder, Colon, Ovary, Histology, Embryology🟡 P3
12VSAQs + Short Notes🟢 P4
13Selective revision + weak areas🔄
14Full mock Q&A + final revision🔄

Page 4 - Quick Reference Table

All 22 major topics listed with their priority, study day, approximate time, and exam weightage at a glance.
This is a shared conversation. Sign in to Orris to start your own chat.