attachment
attachment

In one hour i have anatomy exam i left with these topics so make a pdf which includes answer for this topics so that i can understand easily and within less time

Reading File
analyse_media
Reading File
Searching the Web

anatomy duodenum caecum appendix portal vein porta hepatis liver stomach abdominal wall perineum spleen revision notes

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Searching PubMed

abdominal anatomy

Browsing Directory

~/

Running Command

mkdir -p "/tmp/workspace/anatomy-exam-revision/output" 66 python - <<'PY' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_CENTER from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak, KeepTogether from reportlab.lib.units import cm from reportlab.pdfbase.ttfonts import TTFont from reportlab.pdfbase import pdfmetrics from reportlab.lib.colors import HexColor from reportlab.pdfbase.pdfmetrics import stringWidth out='/tmp/workspace/anatomy-exam-revision/output/Anatomy_1_Hour_Revision.pdf' styles=getSampleStyleSheet() styles.add(ParagraphStyle(name='TitleFast', parent=styles['Title'], fontName='Helvetica-Bold', fontSize=20, leading=24, textColor=HexColor('#102A43'), alignment=TA_CENTER, spaceAfter=6)) styles.add(ParagraphStyle(name='Sub', parent=styles['Normal'], fontName='Helvetica', fontSize=9.5, leading=12, textColor=HexColor('#486581'), alignment=TA_CENTER, spaceAfter=10)) styles.add(ParagraphStyle(name='H1Fast', parent=styles['Heading1'], fontName='Helvetica-Bold', fontSize=14, leading=17, textColor=colors.white, spaceBefore=8, spaceAfter=6, backColor=HexColor('#0B7285'), borderPadding=(4,7,4,7))) styles.add(ParagraphStyle(name='H2Fast', parent=styles['Heading2'], fontName='Helvetica-Bold', fontSize=10.5, leading=13, textColor=HexColor('#0B7285'), spaceBefore=5, spaceAfter=2)) styles.add(ParagraphStyle(name='BodyFast', parent=styles['BodyText'], fontName='Helvetica', fontSize=8.6, leading=11.2, spaceAfter=2)) styles.add(ParagraphStyle(name='SmallFast', parent=styles['BodyText'], fontName='Helvetica', fontSize=7.7, leading=9.5, spaceAfter=1)) styles.add(ParagraphStyle(name='BoxFast', parent=styles['BodyText'], fontName='Helvetica-Bold', fontSize=8.5, leading=11, textColor=HexColor('#7C2D12'))) styles.add(ParagraphStyle(name='MiniHead', parent=styles['BodyText'], fontName='Helvetica-Bold', fontSize=8.6, leading=10.5, textColor=HexColor('#102A43'))) DARK=HexColor('#102A43'); TEAL=HexColor('#0B7285'); PALE=HexColor('#E6FCF5'); GOLD=HexColor('#FFF3BF'); LIGHT=HexColor('#F1F5F9') def P(txt, style='BodyFast'): return Paragraph(txt, styles[style]) def bullet(txt): return P('• '+txt) def heading(t): return Paragraph(t,styles['H1Fast']) def subhead(t): return Paragraph(t,styles['H2Fast']) def info_box(label, text, color=GOLD): t=Table([[P('<b>'+label+'</b> '+text,'BoxFast')]], colWidths=[17.3*cm]) t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),color),('BOX',(0,0),(-1,-1),0.5,HexColor('#D69E2E')),('LEFTPADDING',(0,0),(-1,-1),7),('RIGHTPADDING',(0,0),(-1,-1),7),('TOPPADDING',(0,0),(-1,-1),5),('BOTTOMPADDING',(0,0),(-1,-1),5)])) return t def two_col(left,right): t=Table([[left,right]],colWidths=[8.45*cm,8.45*cm],hAlign='LEFT') t.setStyle(TableStyle([('VALIGN',(0,0),(-1,-1),'TOP'),('BOX',(0,0),(-1,-1),0.35,HexColor('#B8C2CC')),('INNERGRID',(0,0),(-1,-1),0.35,HexColor('#B8C2CC')),('BACKGROUND',(0,0),(-1,-1),colors.white),('LEFTPADDING',(0,0),(-1,-1),6),('RIGHTPADDING',(0,0),(-1,-1),6),('TOPPADDING',(0,0),(-1,-1),5),('BOTTOMPADDING',(0,0),(-1,-1),5)])) return t story=[] story += [Paragraph('ANATOMY: 1-HOUR RAPID REVISION',styles['TitleFast']), P('High-yield, short-answer notes based on the photographed list. Read the bold words first, then revise the tables.', 'Sub')] story.append(info_box('10-minute plan:', 'Duodenum + appendix/caecum (10 min) • portal vein/porta hepatis/liver (12 min) • kidney/ureter (12 min) • stomach/spleen (10 min) • abdominal wall/perineum (12 min) • final recall (4 min).')) story.append(Spacer(1,7)) story.append(P('<b>Topics identified:</b> duodenum, caecum, appendix, portal vein, porta hepatis, anterior abdominal wall, perineum, spleen, kidney, ureter, liver and stomach.', 'BodyFast')) story.append(Spacer(1,6)) # Page 1 story.append(heading('1. Duodenum')) story.append(P('<b>Definition:</b> First part of small intestine. It is C-shaped, about <b>25 cm</b> long, from pylorus to duodenojejunal flexure. It curves around head of pancreas. Mostly retroperitoneal: only the first 2 cm is mobile/intraperitoneal.', 'BodyFast')) left=[subhead('Four parts'), bullet('<b>1st (superior), 5 cm:</b> L1. Begins at pylorus. First 2 cm = duodenal cap.'), bullet('<b>2nd (descending), 7.5 cm:</b> right of L1-L3. Receives bile and pancreatic ducts at major papilla.'), bullet('<b>3rd (horizontal), 10 cm:</b> crosses L3, right to left.'), bullet('<b>4th (ascending), 2.5 cm:</b> left of aorta to DJ flexure (supported by ligament of Treitz).')] right=[subhead('Key relations'), bullet('<b>1st part posterior:</b> common bile duct, gastroduodenal artery, portal vein, IVC.'), bullet('<b>2nd part:</b> head of pancreas medially; right kidney posteriorly.'), bullet('<b>3rd part:</b> crossed anteriorly by SMA and SMV; posterior to it lie aorta and IVC.'), bullet('<b>4th part:</b> left psoas major; ends at DJ flexure.')] story.append(two_col(left,right)); story.append(Spacer(1,4)) story.append(P('<b>Blood:</b> proximal to major papilla: superior pancreaticoduodenal artery (from gastroduodenal, coeliac trunk). Distal: inferior pancreaticoduodenal artery (from SMA). <b>Veins</b> drain to portal system. <b>Nerves:</b> vagus and sympathetics via coeliac/superior mesenteric plexuses.', 'BodyFast')) story.append(info_box('One line:', '<b>SMA/SMV pass in front of the 3rd part</b>; the portal vein lies behind the 1st part.', PALE)) story.append(heading('2. Caecum and Vermiform Appendix')) story.append(two_col( [subhead('Caecum'), bullet('Blind pouch of large intestine below ileocaecal junction, in right iliac fossa.'), bullet('<b>Peritoneum:</b> usually completely covered and mobile; no mesentery.'), bullet('<b>Relations:</b> anterior: anterior abdominal wall/greater omentum; posterior: iliacus, psoas, femoral nerve, genitofemoral nerve.'), bullet('<b>Blood:</b> anterior and posterior caecal branches of ileocolic artery (SMA).')], [subhead('Appendix'), bullet('Narrow diverticulum from posteromedial caecum, about 2 cm below ileocaecal valve. Base is constant; tip varies.'), bullet('<b>Surface marking:</b> base at McBurney point, junction of lateral 1/3 and medial 2/3 of line from right ASIS to umbilicus.'), bullet('<b>Positions:</b> retrocaecal most common; pelvic, subcaecal, pre-ileal, post-ileal.'), bullet('<b>Blood:</b> appendicular artery, branch of ileocolic artery, runs in mesoappendix. End artery.'), bullet('<b>Lymph:</b> ileocolic nodes → superior mesenteric nodes.')] )) story.append(info_box('Remember:', 'The <b>three taeniae coli converge at the base</b> of the appendix. This helps find it in surgery.', GOLD)) # p2 story.append(PageBreak()) story.append(heading('3. Portal Vein and Porta Hepatis')) story.append(P('<b>Portal vein:</b> a valveless vein carrying nutrient-rich blood from the gastrointestinal tract, pancreas and spleen to the liver. It forms <b>behind the neck of pancreas</b> by union of <b>SMV + splenic vein</b> (IMV usually joins splenic vein).', 'BodyFast')) story.append(two_col( [subhead('Course and relations'), bullet('Passes upward behind 1st part of duodenum.'), bullet('Then runs in right free margin of lesser omentum, the <b>hepatoduodenal ligament</b>.'), bullet('At porta hepatis divides into right and left portal branches.'), bullet('Receives: left/right gastric, superior pancreaticoduodenal, cystic and paraumbilical veins.')], [subhead('Portal triad in hepatoduodenal ligament'), bullet('<b>Common bile duct:</b> anterior and right.'), bullet('<b>Proper hepatic artery:</b> anterior and left.'), bullet('<b>Portal vein:</b> posterior.'), bullet('Mnemonic: <b>D-A-V</b> from right to left/behind: Duct, Artery, Vein.')] )) story.append(P('<b>Portosystemic anastomoses:</b> lower oesophagus (left gastric ↔ azygos), around umbilicus (paraumbilical ↔ superficial epigastric), anal canal (superior rectal ↔ middle/inferior rectal), and retroperitoneal sites. In portal hypertension: varices, caput medusae, haemorrhoids may occur.', 'BodyFast')) story.append(heading('4. Liver')) story.append(P('<b>Situation:</b> mainly right hypochondrium and epigastrium, extending to left hypochondrium. Largest gland. Has diaphragmatic and visceral surfaces.', 'BodyFast')) story.append(two_col( [subhead('Lobes and fissures'), bullet('Anatomical lobes: right and left. On visceral surface: <b>caudate</b> (above) and <b>quadrate</b> (below).'), bullet('Falciform ligament marks anatomical division on diaphragmatic surface.'), bullet('Functional division follows Cantlie line: gallbladder fossa to IVC.'), bullet('<b>Porta hepatis</b> is transverse fissure on visceral surface: vessels and ducts enter/leave.')], [subhead('Blood and bile'), bullet('<b>Dual supply:</b> hepatic artery proper supplies oxygenated blood; portal vein supplies most blood volume.'), bullet('<b>Venous drainage:</b> right, middle and left hepatic veins → IVC.'), bullet('Bile: right + left hepatic ducts → common hepatic duct; joins cystic duct → common bile duct.'), bullet('Peritoneal reflections: falciform, coronary and triangular ligaments. Bare area contacts diaphragm.')] )) story.append(info_box('Exam sentence:', 'At the porta hepatis, the portal vein is posterior, hepatic artery lies anterior-left, and bile duct is anterior-right.', PALE)) story.append(heading('5. Kidney')) story.append(P('<b>Site:</b> retroperitoneal on posterior abdominal wall, T12-L3. <b>Right kidney is lower</b> because of the liver. Hilum roughly at L1. Left kidney: T11-L2.', 'BodyFast')) story.append(two_col( [subhead('External features'), bullet('Bean-shaped, about 11 × 6 × 3 cm.'), bullet('Poles: upper and lower; borders: lateral convex, medial concave with hilum.'), bullet('Coverings, inside → outside: fibrous capsule → perirenal fat → renal fascia → pararenal fat.'), bullet('<b>Hilum order anterior → posterior:</b> renal <b>V-A-P</b> = vein, artery, pelvis.')], [subhead('Relations and blood'), bullet('<b>Posterior:</b> diaphragm, psoas major, quadratus lumborum, transversus abdominis; subcostal, iliohypogastric and ilioinguinal nerves.'), bullet('<b>Anterior right:</b> liver, 2nd part duodenum, hepatic flexure.'), bullet('<b>Anterior left:</b> stomach, spleen, pancreas, jejunum, left colic flexure.'), bullet('<b>Artery:</b> renal arteries from aorta. <b>Vein:</b> renal veins → IVC; left renal vein crosses anterior to aorta below SMA.')] )) # p3 story.append(PageBreak()) story.append(heading('6. Ureter')) story.append(P('<b>Definition:</b> muscular retroperitoneal tube, about <b>25 cm</b>, conveying urine from renal pelvis to urinary bladder. It has abdominal and pelvic parts.', 'BodyFast')) story.append(two_col( [subhead('Course'), bullet('Begins at pelvi-ureteric junction, descends on psoas major.'), bullet('Crosses pelvic brim anterior to bifurcation of common iliac artery or external iliac artery.'), bullet('Runs on lateral pelvic wall, then enters bladder obliquely at vesicoureteric junction.'), bullet('<b>Blood:</b> branches of renal, gonadal, common/internal iliac, superior and inferior vesical arteries.')], [subhead('Three normal constrictions'), bullet('<b>1. PUJ:</b> renal pelvis to ureter.'), bullet('<b>2. Pelvic brim:</b> where ureter crosses iliac vessels.'), bullet('<b>3. UVJ:</b> where it enters bladder wall.'), bullet('These are common sites for ureteric stones.'), subhead('Important relations'), bullet('<b>Male:</b> ureter passes under ductus deferens.'), bullet('<b>Female:</b> ureter passes under uterine artery, “water under the bridge”.')] )) story.append(info_box('Surgical warning:', 'Avoid ureter injury near the uterine artery during hysterectomy and at pelvic brim.', GOLD)) story.append(heading('7. Stomach')) story.append(P('<b>Site:</b> intraperitoneal J-shaped organ between oesophagus and duodenum, mainly epigastrium and left hypochondrium.', 'BodyFast')) story.append(two_col( [subhead('Parts and features'), bullet('Cardia, fundus, body and pyloric part (antrum + canal + pylorus).'), bullet('Two curvatures: lesser (right) and greater (left); two surfaces: anterior and posterior.'), bullet('<b>Bed of stomach (posterior):</b> pancreas, spleen, left kidney/suprarenal, transverse mesocolon, diaphragm.'), bullet('Greater omentum attaches to greater curvature; lesser omentum to lesser curvature.')], [subhead('Vessels, nerves, lymph'), bullet('<b>Arteries:</b> left and right gastric; left and right gastro-omental; short gastric arteries.'), bullet('<b>Veins:</b> drain to portal system.'), bullet('<b>Nerves:</b> anterior vagal trunk mostly left vagus; posterior vagal trunk mostly right vagus. Sympathetic fibres via coeliac plexus.'), bullet('<b>Lymph:</b> along curvatures → gastric/gastro-omental nodes → coeliac nodes.')] )) story.append(heading('8. Spleen')) story.append(P('<b>Site:</b> intraperitoneal organ in left hypochondrium, deep to ribs <b>9, 10 and 11</b>. Long axis follows 10th rib. It is soft, highly vascular and normally not palpable.', 'BodyFast')) story.append(two_col( [subhead('Features and relations'), bullet('Has diaphragmatic surface and visceral surface; superior border has notches.'), bullet('Visceral impressions: gastric, renal and colic; tail of pancreas reaches hilum.'), bullet('Peritoneal ligaments: <b>gastrosplenic</b> and <b>splenorenal</b>.')], [subhead('Vessels and functions'), bullet('<b>Artery:</b> splenic artery from coeliac trunk, tortuous along upper border of pancreas.'), bullet('<b>Vein:</b> splenic vein joins SMV to form portal vein.'), bullet('Functions: filters blood, removes old RBCs/platelets, immune response, platelet reservoir, fetal haemopoiesis.')] )) # p4 story.append(PageBreak()) story.append(heading('9. Anterior Abdominal Wall')) story.append(P('<b>Layers, superficial → deep:</b> skin → superficial fascia (Camper fatty layer + Scarpa membranous layer) → muscles/aponeuroses → transversalis fascia → extraperitoneal fat → parietal peritoneum.', 'BodyFast')) story.append(two_col( [subhead('Muscles'), bullet('<b>External oblique:</b> fibres inferomedially, “hands in pockets”.'), bullet('<b>Internal oblique:</b> fibres superomedially.'), bullet('<b>Transversus abdominis:</b> fibres transverse.'), bullet('<b>Rectus abdominis:</b> vertical muscle from pubis to xiphoid/costal cartilages; has tendinous intersections.'), bullet('<b>Pyramidalis:</b> may be absent; tenses linea alba.')], [subhead('Rectus sheath and vessels'), bullet('Above arcuate line: anterior wall = external oblique + anterior internal oblique; posterior wall = posterior internal oblique + transversus aponeurosis.'), bullet('Below arcuate line: all 3 aponeuroses pass anterior to rectus; posteriorly only transversalis fascia.'), bullet('<b>Blood:</b> superior epigastric anastomoses with inferior epigastric within rectus sheath.'), bullet('<b>Nerves:</b> thoracoabdominal T7-T11, subcostal T12, iliohypogastric/ilioinguinal L1.')] )) story.append(info_box('Landmark:', '<b>Linea alba</b> is midline fibrous raphe. Umbilicus is approximately T10 dermatome.', PALE)) story.append(heading('10. Perineum')) story.append(P('<b>Definition:</b> diamond-shaped region below pelvic diaphragm. Boundaries: pubic symphysis anteriorly, coccyx posteriorly, ischiopubic rami anterolaterally, sacrotuberous ligaments posterolaterally. A line between ischial tuberosities divides it into two triangles.', 'BodyFast')) story.append(two_col( [subhead('Triangles'), bullet('<b>Urogenital triangle (anterior):</b> external genitalia, urogenital diaphragm/perineal membrane, superficial and deep perineal pouches.'), bullet('<b>Anal triangle (posterior):</b> anal canal and ischioanal fossae.'), bullet('<b>Perineal body:</b> central fibromuscular node between urogenital and anal triangles; supports pelvic floor.')], [subhead('Nerves and vessels'), bullet('<b>Pudendal nerve (S2-S4):</b> main somatic nerve. Leaves pelvis via greater sciatic foramen, hooks around ischial spine/sacrospinous ligament, enters via lesser sciatic foramen, travels in pudendal canal.'), bullet('<b>Internal pudendal artery:</b> follows pudendal nerve; branches include inferior rectal and perineal arteries.'), bullet('<b>Ischioanal fossa:</b> fat-filled space lateral to anal canal, permits expansion during defecation.')] )) story.append(info_box('Key clinical point:', 'Pudendal nerve block is given near the <b>ischial spine</b>. Damage to the perineal body can weaken pelvic support.', GOLD)) story.append(heading('Final 2-Minute Recall')) recall=[['Question','Answer'],['Portal vein formation','SMV + splenic vein behind neck of pancreas'],['Portal triad arrangement','Duct anterior-right, artery anterior-left, portal vein posterior'],['Duodenum relation','SMA/SMV cross anterior to 3rd part'],['Appendix arterial supply','Appendicular artery from ileocolic artery'],['Kidney hilum order','V-A-P: vein, artery, pelvis'],['Ureter constrictions','PUJ, pelvic brim, UVJ'],['Female ureter relation','Under uterine artery: water under bridge'],['Spleen position','Left hypochondrium, ribs 9-11'],['Perineal nerve','Pudendal nerve S2-S4'],['Umbilical dermatome','T10']] t=Table([[P('<b>'+c+'</b>','SmallFast') for c in r] for r in recall], colWidths=[5.5*cm,11.4*cm]) t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,0),TEAL),('TEXTCOLOR',(0,0),(-1,0),colors.white),('GRID',(0,0),(-1,-1),0.35,HexColor('#B8C2CC')),('BACKGROUND',(0,1),(-1,-1),HexColor('#F8FAFC')),('VALIGN',(0,0),(-1,-1),'TOP'),('LEFTPADDING',(0,0),(-1,-1),5),('RIGHTPADDING',(0,0),(-1,-1),5),('TOPPADDING',(0,0),(-1,-1),3),('BOTTOMPADDING',(0,0),(-1,-1),3)])) story.append(t) story.append(Spacer(1,8)); story.append(P('Study note: This is a rapid-revision aid, not a substitute for your prescribed anatomy text. The topic list was transcribed from handwriting; “anterior abdominal wall” was inferred from the visible entry.', 'SmallFast')) def footer(canvas, doc): canvas.saveState(); canvas.setFont('Helvetica',7.5); canvas.setFillColor(HexColor('#486581')) canvas.drawString(1.7*cm,0.85*cm,'Anatomy 1-Hour Rapid Revision') canvas.drawRightString(19.3*cm,0.85*cm,f'Page {doc.page}') canvas.restoreState() doc=SimpleDocTemplate(out,pagesize=A4,rightMargin=1.65*cm,leftMargin=1.65*cm,topMargin=1.35*cm,bottomMargin=1.4*cm,title='Anatomy 1-Hour Rapid Revision',author='Orris') doc.build(story,onFirstPage=footer,onLaterPages=footer) print(out) PY

Running Command

python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/anatomy-exam-revision/output/Anatomy_1_Hour_Revision.pdf' r=PdfReader(p) print('pages',len(r.pages)) for i,x in enumerate(r.pages): t=x.extract_text() or '' print(i+1, len(t), t[:90].replace('\n',' | ')) PY

Browsing Directory

~/

Browsing Directory

~/anatomy-exam-revision

Running Command

mkdir -p "/tmp/workspace/anatomy-exam-revision/output"; python - <<'PY' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_CENTER from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak from reportlab.lib.units import cm from reportlab.lib.colors import HexColor out='/tmp/workspace/anatomy-exam-revision/output/Anatomy_1_Hour_Revision.pdf' s=getSampleStyleSheet() s.add(ParagraphStyle(name='T', parent=s['Title'],fontName='Helvetica-Bold',fontSize=19,leading=22,textColor=HexColor('#102A43'),alignment=TA_CENTER,spaceAfter=5)) s.add(ParagraphStyle(name='ST',parent=s['Normal'],fontSize=9,leading=11,textColor=HexColor('#486581'),alignment=TA_CENTER,spaceAfter=9)) s.add(ParagraphStyle(name='H',parent=s['Heading1'],fontName='Helvetica-Bold',fontSize=13,leading=16,textColor=colors.white,backColor=HexColor('#087F8C'),borderPadding=5,spaceBefore=7,spaceAfter=5)) s.add(ParagraphStyle(name='SH',parent=s['Heading2'],fontName='Helvetica-Bold',fontSize=10,leading=12,textColor=HexColor('#087F8C'),spaceBefore=3,spaceAfter=2)) s.add(ParagraphStyle(name='B',parent=s['BodyText'],fontName='Helvetica',fontSize=8.3,leading=10.4,spaceAfter=2)) s.add(ParagraphStyle(name='X',parent=s['BodyText'],fontName='Helvetica-Bold',fontSize=8.2,leading=10.2,textColor=HexColor('#78350F'))) s.add(ParagraphStyle(name='S',parent=s['BodyText'],fontSize=7.5,leading=9.2,spaceAfter=1)) def p(x,st='B'): return Paragraph(x,s[st]) def b(x): return p('• '+x) def h(x): return p(x,'H') def sh(x): return p(x,'SH') def cols(a,bx): t=Table([[a,bx]],colWidths=[8.42*cm,8.42*cm]);t.setStyle(TableStyle([('VALIGN',(0,0),(-1,-1),'TOP'),('BOX',(0,0),(-1,-1),.35,HexColor('#AAB7C4')),('INNERGRID',(0,0),(-1,-1),.35,HexColor('#AAB7C4')),('LEFTPADDING',(0,0),(-1,-1),6),('RIGHTPADDING',(0,0),(-1,-1),6),('TOPPADDING',(0,0),(-1,-1),4),('BOTTOMPADDING',(0,0),(-1,-1),4)]));return t def box(label,text,colour=HexColor('#FFF3BF')): t=Table([[p('<b>'+label+'</b> '+text,'X')]],colWidths=[17.2*cm]);t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),colour),('BOX',(0,0),(-1,-1),.45,HexColor('#D69E2E')),('LEFTPADDING',(0,0),(-1,-1),7),('RIGHTPADDING',(0,0),(-1,-1),7),('TOPPADDING',(0,0),(-1,-1),5),('BOTTOMPADDING',(0,0),(-1,-1),5)]));return t story=[p('ANATOMY: 1-HOUR RAPID REVISION','T'),p('High-yield short answers from your photographed topic list. Read bold words first.','ST'),box('10-minute plan:','Duodenum + caecum/appendix (10) • portal vein/porta hepatis/liver (12) • kidney/ureter (12) • stomach/spleen (10) • abdominal wall/perineum (12) • final recall (4).'),Spacer(1,6),p('<b>Topics:</b> Duodenum, caecum, appendix, portal vein, porta hepatis, liver, kidney, ureter, stomach, spleen, anterior abdominal wall and perineum.')] story+=[h('1. Duodenum'),p('<b>First part of small intestine</b>, C-shaped, about <b>25 cm</b>, from pylorus to duodenojejunal flexure. It surrounds the pancreatic head. Mostly retroperitoneal: only the first 2 cm is mobile/intraperitoneal.'),cols([sh('Four parts'),b('<b>1st/superior, 5 cm:</b> L1; begins at pylorus. First 2 cm = cap.'),b('<b>2nd/descending, 7.5 cm:</b> right of L1-L3; major papilla receives bile and pancreatic ducts.'),b('<b>3rd/horizontal, 10 cm:</b> crosses L3.'),b('<b>4th/ascending, 2.5 cm:</b> left of aorta to DJ flexure; ligament of Treitz.')],[sh('Relations'),b('<b>1st posterior:</b> CBD, gastroduodenal artery, portal vein, IVC.'),b('<b>2nd:</b> pancreatic head medial; right kidney posterior.'),b('<b>3rd:</b> SMA and SMV cross anteriorly; aorta and IVC posterior.'),b('<b>Blood:</b> superior pancreaticoduodenal artery proximally; inferior pancreaticoduodenal artery distally.')]),box('One line:','<b>SMA/SMV are in front of 3rd part; portal vein is behind 1st part.</b>',HexColor('#E6FCF5')),h('2. Caecum and Vermiform Appendix'),cols([sh('Caecum'),b('Blind pouch of large intestine below ileocaecal junction, in right iliac fossa.'),b('<b>Peritoneum:</b> usually completely covered and mobile; no mesentery.'),b('<b>Posterior relations:</b> iliacus, psoas, femoral nerve, genitofemoral nerve.'),b('<b>Artery:</b> anterior/posterior caecal branches of ileocolic artery.')],[sh('Appendix'),b('Arises posteromedially from caecum, 2 cm below ileocaecal valve. <b>Base constant, tip variable.</b>'),b('<b>McBurney point:</b> junction lateral 1/3 and medial 2/3 from right ASIS to umbilicus.'),b('<b>Positions:</b> retrocaecal most common; pelvic, subcaecal, pre-ileal, post-ileal.'),b('<b>Artery:</b> appendicular artery from ileocolic, an end artery.'),b('<b>Lymph:</b> ileocolic → superior mesenteric nodes.')]),box('Remember:','<b>Three taeniae coli converge at the appendix base</b>, helping locate it.',HexColor('#FFF3BF'))] story+=[PageBreak(),h('3. Portal Vein and Porta Hepatis'),p('<b>Portal vein:</b> valveless vein bringing nutrient-rich blood from gut, pancreas and spleen to liver. Formed <b>behind neck of pancreas</b> by union of <b>SMV + splenic vein</b>.'),cols([sh('Course'),b('Passes upward behind 1st part of duodenum.'),b('Runs in right free margin of lesser omentum, the <b>hepatoduodenal ligament</b>.'),b('At porta hepatis divides into right and left branches.'),b('Receives gastric, pancreaticoduodenal, cystic and paraumbilical veins.')],[sh('Portal triad'),b('<b>Common bile duct:</b> anterior-right.'),b('<b>Proper hepatic artery:</b> anterior-left.'),b('<b>Portal vein:</b> posterior.'),b('Mnemonic: <b>D-A-V</b> = Duct, Artery, Vein.')]),p('<b>Portosystemic anastomoses:</b> lower oesophagus (left gastric ↔ azygos), umbilicus (paraumbilical ↔ superficial epigastric), anal canal (superior rectal ↔ middle/inferior rectal), retroperitoneal sites. Portal hypertension can cause varices and caput medusae.'),h('4. Liver'),p('Largest gland, mainly right hypochondrium and epigastrium. Has diaphragmatic and visceral surfaces.'),cols([sh('Lobes'),b('Anatomical lobes: right and left. Visceral surface also has <b>caudate</b> above and <b>quadrate</b> below.'),b('Falciform ligament marks anatomical division. Functional division follows Cantlie line from gallbladder fossa to IVC.'),b('<b>Porta hepatis:</b> transverse fissure on visceral surface.')],[sh('Vessels and bile'),b('<b>Dual supply:</b> hepatic artery proper and portal vein.'),b('<b>Drainage:</b> right, middle and left hepatic veins → IVC.'),b('Right + left hepatic ducts → common hepatic duct; plus cystic duct → common bile duct.'),b('Bare area contacts diaphragm; ligaments are falciform, coronary and triangular.')]),box('Exam sentence:','At porta hepatis: <b>portal vein posterior, artery anterior-left, bile duct anterior-right.</b>',HexColor('#E6FCF5')),h('5. Kidney'),p('<b>Retroperitoneal</b>, T12-L3. Right kidney lower due to liver. Hilum at L1.'),cols([sh('Features'),b('About 11 × 6 × 3 cm. Medial concave border has hilum.'),b('Coverings inside → out: fibrous capsule → perirenal fat → renal fascia → pararenal fat.'),b('<b>Hilum anterior → posterior:</b> <b>V-A-P</b>: vein, artery, pelvis.')],[sh('Relations and vessels'),b('<b>Posterior:</b> diaphragm, psoas, quadratus lumborum, transversus; subcostal/iliohypogastric/ilioinguinal nerves.'),b('<b>Right anterior:</b> liver, 2nd duodenum, hepatic flexure.'),b('<b>Left anterior:</b> stomach, spleen, pancreas, jejunum, left colic flexure.'),b('Renal arteries from aorta; renal veins to IVC. Left renal vein crosses anterior to aorta.')])] story+=[PageBreak(),h('6. Ureter'),p('Muscular retroperitoneal tube, about <b>25 cm</b>, conveying urine from renal pelvis to bladder.'),cols([sh('Course'),b('PUJ → descends on psoas major.'),b('Crosses pelvic brim anterior to common iliac bifurcation/external iliac artery.'),b('On lateral pelvic wall, then enters bladder obliquely at UVJ.'),b('Supply: renal, gonadal, common/internal iliac, and vesical arterial branches.')],[sh('Three constrictions'),b('<b>1. PUJ</b>: renal pelvis to ureter.'),b('<b>2. Pelvic brim</b>: crossing iliac vessels.'),b('<b>3. UVJ</b>: entry into bladder.'),b('Stone sites.'),b('<b>Male:</b> ureter under ductus deferens.'),b('<b>Female:</b> ureter under uterine artery, “water under bridge”.')]),box('Surgical warning:','Ureter is at risk near uterine artery and pelvic brim.',HexColor('#FFF3BF')),h('7. Stomach'),p('Intraperitoneal J-shaped organ in epigastrium and left hypochondrium.'),cols([sh('Parts and relations'),b('Cardia, fundus, body, pyloric antrum/canal/pylorus.'),b('Lesser and greater curvatures; anterior and posterior surfaces.'),b('<b>Stomach bed:</b> pancreas, spleen, left kidney/suprarenal, transverse mesocolon, diaphragm.'),b('Greater omentum to greater curvature; lesser omentum to lesser curvature.')],[sh('Supply and nerves'),b('Arteries: left/right gastric, left/right gastro-omental, short gastric.'),b('Veins drain to portal system.'),b('Anterior vagal trunk mostly left vagus; posterior trunk mostly right vagus.'),b('Lymph → gastric/gastro-omental nodes → coeliac nodes.')]),h('8. Spleen'),p('Intraperitoneal, left hypochondrium, deep to ribs <b>9-11</b>; long axis along 10th rib. Usually not palpable.'),cols([sh('Relations'),b('Diaphragmatic and visceral surfaces; notched superior border.'),b('Visceral impressions: gastric, renal, colic; tail of pancreas reaches hilum.'),b('Ligaments: gastrosplenic and splenorenal.')],[sh('Vessels and function'),b('Splenic artery from coeliac trunk, along upper border of pancreas.'),b('Splenic vein joins SMV to form portal vein.'),b('Filters blood, removes old RBCs, immune response, platelet reservoir, fetal haemopoiesis.')])] story+=[PageBreak(),h('9. Anterior Abdominal Wall'),p('<b>Layers superficial → deep:</b> skin → Camper/Scarpa fascia → muscles/aponeuroses → transversalis fascia → extraperitoneal fat → parietal peritoneum.'),cols([sh('Muscles'),b('<b>External oblique:</b> inferomedial, “hands in pockets”.'),b('<b>Internal oblique:</b> superomedial.'),b('<b>Transversus abdominis:</b> transverse.'),b('<b>Rectus abdominis:</b> vertical, pubis to xiphoid/costal cartilages; tendinous intersections.'),b('<b>Pyramidalis:</b> may be absent; tenses linea alba.')],[sh('Rectus sheath and nerves'),b('<b>Above arcuate line:</b> posterior wall contains posterior internal oblique + transversus aponeurosis.'),b('<b>Below arcuate line:</b> all 3 aponeuroses pass anteriorly; posteriorly only transversalis fascia.'),b('Superior epigastric anastomoses with inferior epigastric.'),b('Nerves: T7-T11, T12, L1 iliohypogastric and ilioinguinal.')]),box('Landmark:','<b>Linea alba</b> is midline raphe. Umbilicus is approximately <b>T10</b>.',HexColor('#E6FCF5')),h('10. Perineum'),p('Diamond-shaped region below pelvic diaphragm. Boundaries: pubic symphysis anterior, coccyx posterior, ischiopubic rami and sacrotuberous ligaments laterally. A line between ischial tuberosities forms two triangles.'),cols([sh('Triangles'),b('<b>Urogenital triangle:</b> anterior; external genitalia, perineal membrane, superficial/deep perineal pouches.'),b('<b>Anal triangle:</b> posterior; anal canal and ischioanal fossae.'),b('<b>Perineal body:</b> central fibromuscular node supporting pelvic floor.')],[sh('Nerves and vessels'),b('<b>Pudendal nerve S2-S4:</b> leaves via greater sciatic foramen, around ischial spine/sacrospinous ligament, enters lesser sciatic foramen, in pudendal canal.'),b('<b>Internal pudendal artery</b> follows it; gives inferior rectal and perineal branches.'),b('<b>Ischioanal fossa:</b> fat-filled lateral space allowing anal canal expansion.')]),box('Clinical:','Pudendal block near <b>ischial spine</b>. Perineal body injury can weaken pelvic support.',HexColor('#FFF3BF')),h('Final 2-Minute Recall')] data=[['Question','Answer'],['Portal vein formation','SMV + splenic vein behind neck of pancreas'],['Portal triad','Duct anterior-right, artery anterior-left, vein posterior'],['Duodenum','SMA/SMV cross anterior to 3rd part'],['Appendix artery','Appendicular branch of ileocolic'],['Kidney hilum','V-A-P'],['Ureter constrictions','PUJ, pelvic brim, UVJ'],['Female relation','Ureter under uterine artery'],['Spleen','Ribs 9-11'],['Perineal nerve','Pudendal S2-S4'],['Umbilicus','T10 dermatome']] t=Table([[p('<b>'+x+'</b>','S') for x in r] for r in data],colWidths=[5.3*cm,11.5*cm]);t.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,0),HexColor('#087F8C')),('TEXTCOLOR',(0,0),(-1,0),colors.white),('GRID',(0,0),(-1,-1),.35,HexColor('#AAB7C4')),('BACKGROUND',(0,1),(-1,-1),HexColor('#F8FAFC')),('VALIGN',(0,0),(-1,-1),'TOP'),('LEFTPADDING',(0,0),(-1,-1),5),('RIGHTPADDING',(0,0),(-1,-1),5),('TOPPADDING',(0,0),(-1,-1),3),('BOTTOMPADDING',(0,0),(-1,-1),3)]));story.append(t) def foot(c,d): c.saveState();c.setFont('Helvetica',7);c.setFillColor(HexColor('#486581'));c.drawString(1.6*cm,.75*cm,'Anatomy 1-Hour Rapid Revision');c.drawRightString(19.3*cm,.75*cm,'Page '+str(d.page));c.restoreState() doc=SimpleDocTemplate(out,pagesize=A4,rightMargin=1.65*cm,leftMargin=1.65*cm,topMargin=1.25*cm,bottomMargin=1.25*cm,title='Anatomy 1-Hour Rapid Revision') doc.build(story,onFirstPage=foot,onLaterPages=foot) print(out) PY ls -l "/tmp/workspace/anatomy-exam-revision/output"

Running Command

python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/anatomy-exam-revision/output/Anatomy_1_Hour_Revision.pdf' r=PdfReader(p) print('pages:',len(r.pages)) for i,page in enumerate(r.pages,1): t=page.extract_text() or '' print(f'page {i}: {len(t)} chars | {t[:75].replace(chr(10)," | ")}') assert len(r.pages)==4 assert 'Portal Vein' in ''.join(x.extract_text() or '' for x in r.pages) PY

Your 4-page rapid-revision PDF is ready. It covers:
  • Duodenum
  • Caecum and appendix
  • Portal vein and porta hepatis
  • Liver
  • Kidney and ureter
  • Stomach and spleen
  • Anterior abdominal wall
  • Perineum
  • Final 2-minute recall table

Anatomy 1 Hour Revision

PDF Document · PDF

This is a shared conversation. Sign in to Orris to start your own chat.