Perforation of hollow viscus from Baily and Love book
"gastrointestinal perforation" AND management
WSES guidelines perforated peptic ulcer intra-abdominal infection source control hollow viscus perforation
| Site | Important causes |
|---|---|
| Stomach/duodenum | Perforated peptic ulcer, malignancy, trauma, iatrogenic injury |
| Small bowel | Typhoid, tuberculosis, Crohn disease, strangulation/ischemia, trauma, foreign body |
| Appendix | Perforated acute appendicitis |
| Colon | Diverticulitis, colorectal cancer, volvulus with ischemia, inflammatory bowel disease, stercoral perforation |
| Rectum | Trauma, instrumentation, malignancy |
| Any bowel segment | Anastomotic leak, endoscopy-related perforation, blunt or penetrating trauma |

Make a handwritten easy note pdf for undergrad students
~/
WSES perforated peptic ulcer guidelines diagnosis management free air CT source control
mkdir -p "/tmp/workspace/hollow-viscus-handwritten-note/src" "/tmp/workspace/hollow-viscus-handwritten-note/output" && python - <<'PY' from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont from reportlab.lib.pagesizes import A4 from reportlab.pdfgen import canvas from reportlab.lib.colors import HexColor, Color from reportlab.lib.units import cm from reportlab.pdfbase.pdfmetrics import stringWidth from reportlab.pdfbase.acroform import AcroForm import os, glob out='/tmp/workspace/hollow-viscus-handwritten-note/output/Hollow_Viscus_Perforation_Handwritten_UG_Note.pdf' W,H=A4 c=canvas.Canvas(out,pagesize=A4) c.setTitle('Perforation of Hollow Viscus - Easy Undergraduate Note') # Built-in oblique fonts imitate neat handwritten class notes ink=HexColor('#153A62'); red=HexColor('#B3261E'); green=HexColor('#146C43'); purple=HexColor('#6A3D9A'); pale=HexColor('#FCFCF7'); line=HexColor('#C9DDF0'); margin=1.65*cm def ruled_page(page_no): c.setFillColor(pale); c.rect(0,0,W,H,fill=1,stroke=0) c.setStrokeColor(line); c.setLineWidth(.35) y=H-2.0*cm while y>1.4*cm: c.line(1.05*cm,y,W-1.05*cm,y); y-=0.58*cm c.setStrokeColor(HexColor('#F0A2A2')); c.setLineWidth(.6); c.line(2.25*cm,1.1*cm,2.25*cm,H-1.1*cm) c.setFillColor(HexColor('#777777')); c.setFont('Helvetica-Oblique',7.5); c.drawRightString(W-1.1*cm,0.72*cm,f'UG Surgery Note | Page {page_no}') def title(text, sub=None): c.setFillColor(ink); c.setFont('Helvetica-BoldOblique',20); c.drawString(2.65*cm,H-1.72*cm,text) c.setStrokeColor(red); c.setLineWidth(1.4); c.line(2.65*cm,H-1.87*cm, W-1.25*cm,H-1.87*cm) if sub: c.setFillColor(HexColor('#555555')); c.setFont('Helvetica-Oblique',8.6); c.drawString(2.68*cm,H-2.18*cm,sub) def section(y, heading, color=ink): c.setFillColor(color); c.setFont('Helvetica-BoldOblique',12.2); c.drawString(2.65*cm,y,heading) c.setStrokeColor(color); c.setLineWidth(.7); c.line(2.65*cm,y-2.5,W-1.25*cm,y-2.5) return y-15 def bullet(y, text, color=ink, indent=2.9*cm, font=10.1, leading=13.3, maxw=14.5*cm): c.setFillColor(color); c.setFont('Helvetica-Bold',10); c.drawString(indent-11,y,'•') c.setFont('Helvetica-Oblique',font) words=text.split(); lines=[]; cur='' for word in words: cand=(cur+' '+word).strip() if stringWidth(cand,'Helvetica-Oblique',font)<=maxw: cur=cand else: lines.append(cur); cur=word if cur: lines.append(cur) for i,l in enumerate(lines): c.drawString(indent,y-i*leading,l) return y-len(lines)*leading-2 def callout(x,y,w,h,label,body,stroke=purple): c.setFillColor(Color(1,1,1,alpha=.82)); c.setStrokeColor(stroke); c.setLineWidth(1.1); c.roundRect(x,y-h,w,h,7,fill=1,stroke=1) c.setFillColor(stroke); c.setFont('Helvetica-BoldOblique',10.5); c.drawString(x+8,y-15,label) c.setFillColor(ink); c.setFont('Helvetica-Oblique',8.8) yy=y-30 for ln in body.split('\n'): c.drawString(x+8,yy,ln); yy-=11 # PAGE 1 ruled_page(1); title('PERFORATION OF HOLLOW VISCUS','Easy revision note | Bailey & Love based | Emergency surgical condition') y=H-2.72*cm y=section(y,'1. Definition',red) y=bullet(y,'A full-thickness breach in the wall of a hollow abdominal organ, causing escape of air, fluid and/or bowel contents into the peritoneal cavity.',ink) y=bullet(y,'Result: chemical + bacterial peritonitis -> sepsis -> shock if treatment is delayed.',red) y-=3 y=section(y,'2. Common causes (remember: ulcer - appendix - bowel - colon)',green) for t in [ 'Stomach/duodenum: perforated peptic ulcer, malignancy, trauma.', 'Small bowel: typhoid, tuberculosis, Crohn disease, strangulation/ischemia, trauma.', 'Appendix: perforated appendicitis.', 'Colon: diverticulitis, cancer, volvulus/ischemia, iatrogenic perforation.', 'Postoperative: anastomotic leak.']: y=bullet(y,t,ink) y-=2 y=section(y,'3. What happens? (pathogenesis)',purple) # flow boxes steps=['Wall perforates','Contents enter\nperitoneum','Peritonitis +\nthird-space loss','Sepsis / shock'] x=2.7*cm; by=y-42 for i,s in enumerate(steps): c.setFillColor(HexColor('#FBF4FF')); c.setStrokeColor(purple); c.roundRect(x+i*3.75*cm,by,3.1*cm,1.05*cm,6,fill=1,stroke=1) c.setFillColor(ink); c.setFont('Helvetica-BoldOblique',8.8) yy=by+.66*cm for ln in s.split('\n'): c.drawCentredString(x+i*3.75*cm+1.55*cm,yy,ln); yy-=10 if i<3: c.setFillColor(red); c.setFont('Helvetica-Bold',15); c.drawString(x+i*3.75*cm+3.18*cm,by+.35*cm,'→') y=by-21 y=section(y,'4. Clinical features',red) for t in ['Sudden severe abdominal pain, worse with movement, cough or deep inspiration.', 'Patient lies still; nausea/vomiting, anorexia, fever and tachycardia.', 'Tenderness, involuntary guarding, rebound tenderness and board-like rigidity.', 'Reduced/absent bowel sounds due to paralytic ileus.', 'Late danger signs: hypotension, confusion, oliguria, septic shock.']: y=bullet(y,t,ink) callout(11.8*cm,4.1*cm,7.2*cm,1.65*cm,'EXAM PEARL','Free air + peritonitis =\nthink perforated hollow viscus.',red) c.showPage() # PAGE2 ruled_page(2); title('PERFORATION OF HOLLOW VISCUS','Diagnosis + management: the answer-writing framework') y=H-2.72*cm y=section(y,'5. Investigations',green) for t in ['Bloods: CBC, electrolytes/renal function, LFT, CRP, lactate, ABG, coagulation profile; group and cross-match.', 'Erect chest X-ray: free gas under diaphragm (pneumoperitoneum).', 'CT abdomen-pelvis with IV contrast: best in stable patient; shows free air, site/cause, fluid, abscess, ischemia or obstruction.', 'Do not delay surgery in an unstable patient with generalized peritonitis.']: y=bullet(y,t,ink) y-=2 y=section(y,'6. Management = RESUSCITATE + ANTIBIOTICS + SOURCE CONTROL',red) # ABCDE mini list for t in ['ABCDE, oxygen as needed, 2 large-bore IV cannulas and monitoring.', 'Nil by mouth; IV crystalloids; correct electrolytes and acid-base disturbance.', 'Nasogastric tube for decompression + urinary catheter for urine-output monitoring.', 'Give early broad-spectrum IV antibiotics covering enteric Gram-negatives and anaerobes. Obtain cultures if this does not delay treatment.', 'Analgesia, antiemetic, thromboprophylaxis when appropriate; call senior surgeon and anaesthetist early.']: y=bullet(y,t,ink) y-=2 y=section(y,'7. Definitive treatment: source control',purple) for t in ['Urgent laparoscopy or laparotomy for free perforation, diffuse peritonitis, sepsis, or instability.', 'Find the source -> control the leak -> remove contamination -> lavage -> repair/resect/divert as appropriate.', 'Small perforated peptic ulcer: primary closure with or without omental patch.', 'Small bowel: primary repair if small and viable; otherwise segmental resection ± anastomosis/stoma.', 'Colon: resection with primary anastomosis or stoma according to physiology, contamination and bowel condition.']: y=bullet(y,t,ink) y-=3 # mnemonic callout(2.7*cm,y,15.8*cm,2.05*cm,'Mnemonic: “R-A-S-C”','R = Resuscitate A = Antibiotics\nS = Scan if stable C = Control source (surgery)',green) y-=72 y=section(y,'8. Complications',red) for t in ['Intra-abdominal abscess, wound infection, ileus and adhesional obstruction.', 'Septic shock, multiorgan dysfunction, anastomotic leak/fistula and death.']: y=bullet(y,t,ink) y-=3 c.setFillColor(HexColor('#FFF2C9')); c.setStrokeColor(HexColor('#D89B00')); c.roundRect(2.7*cm,y-41,15.8*cm,41,7,fill=1,stroke=1) c.setFillColor(red); c.setFont('Helvetica-BoldOblique',11); c.drawString(2.95*cm,y-15,'One-line viva / exam answer') c.setFillColor(ink); c.setFont('Helvetica-Oblique',9.2) c.drawString(2.95*cm,y-29,'“A hollow-viscus perforation causes secondary peritonitis from escape of gastrointestinal contents;') c.drawString(2.95*cm,y-40,'treat with resuscitation, antibiotics, imaging if stable, and prompt operative source control.”') # footer reference c.setFillColor(HexColor('#555555')); c.setFont('Helvetica-Oblique',7.3); c.drawString(2.65*cm,1.25*cm,"Study source: Bailey & Love's Short Practice of Surgery, 28th ed., Peritonitis section, pp. 1108-1110.") c.save() print(out) PY python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/hollow-viscus-handwritten-note/output/Hollow_Viscus_Perforation_Handwritten_UG_Note.pdf' r=PdfReader(p) print('pages=',len(r.pages),'bytes=',__import__('os').path.getsize(p)) for i,page in enumerate(r.pages): print(i+1, len(page.extract_text() or '')) PY
Hollow Viscus Perforation Handwritten UG Note
PDF Document · PDF
Add viva questions and answers to the PDF