Hudson burr hole Watson skin grafting knife handle Doyen rib rasparator Rib cutter Fergusson amputation saw Roux C retractor Doyen abdominal wall retractor Intestinal repositor Yankur suction cannula Gi stapler circular and straight
Create a quick-reference PDF with instrument uses mode of sterilisation and viva Questions
~/
CDC Guideline Disinfection Sterilization healthcare facilities steam sterilization surgical instruments 2008
surgical instruments AND sterilization
mkdir -p "/tmp/workspace/surgical-instruments-quick-reference/src" "/tmp/workspace/surgical-instruments-quick-reference/output" && python -c "import reportlab; print(reportlab.Version)"
python - <<'PY' from pathlib import Path p=Path('/tmp/workspace/surgical-instruments-quick-reference/src/create_pdf.py') p.write_text(r'''from reportlab.lib import colors from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.enums import TA_CENTER from reportlab.lib.units import mm from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak, KeepTogether from reportlab.pdfbase.ttfonts import TTFont from reportlab.pdfbase import pdfmetrics from reportlab.lib.colors import HexColor OUT='/tmp/workspace/surgical-instruments-quick-reference/output/Surgical_Instruments_Quick_Reference.pdf' styles=getSampleStyleSheet() styles.add(ParagraphStyle(name='Title2', parent=styles['Title'], fontName='Helvetica-Bold', fontSize=19, leading=23, alignment=TA_CENTER, textColor=HexColor('#153D5B'), spaceAfter=6)) styles.add(ParagraphStyle(name='Sub', parent=styles['Normal'], fontSize=9.2, leading=12, alignment=TA_CENTER, textColor=HexColor('#456275'), spaceAfter=10)) styles.add(ParagraphStyle(name='H', parent=styles['Heading2'], fontName='Helvetica-Bold', fontSize=12, leading=15, textColor=HexColor('#153D5B'), spaceBefore=5, spaceAfter=5)) styles.add(ParagraphStyle(name='Small', parent=styles['BodyText'], fontSize=7.25, leading=9.1)) styles.add(ParagraphStyle(name='Body', parent=styles['BodyText'], fontSize=9, leading=12)) styles.add(ParagraphStyle(name='Q', parent=styles['BodyText'], fontSize=8.25, leading=10.2, leftIndent=0, spaceAfter=2)) instruments=[ ('Hudson burr-hole perforator / brace','Hand-powered cranial perforator used to make a burr hole in the skull, for example to access an extradural or subdural collection. The brace holds and rotates the perforator.','Reusable metal instrument: clean, disassemble where applicable, then steam sterilise (autoclave) if permitted by the manufacturer.'), ('Watson skin-grafting knife handle','Holds the Watson grafting blade and is used to harvest a split-thickness skin graft at a controlled thickness.','Reusable metal handle: steam sterilise after thorough cleaning. The blade is generally single-use sterile and discarded after use.'), ('Doyen rib raspatory','Periosteal elevator for stripping periosteum and soft tissue from a rib during thoracotomy or rib resection, helping protect the pleura.','Reusable metal instrument: steam sterilise after cleaning.'), ('Rib cutter','Heavy cutting instrument for dividing a rib, usually after the rib is exposed and periosteum is elevated.','Reusable metal instrument: steam sterilise after cleaning. Inspect cutting edges and hinge for function.'), ('Fergusson amputation saw','Large hand saw for transecting bone during an amputation, classically long bones.','Reusable metal instrument: steam sterilise after cleaning, with blade/tooth inspection and protection per local CSSD protocol.'), ('Roux C retractor','Hand-held C-shaped abdominal retractor used to retract the abdominal wall or viscera and improve exposure in deep operative fields.','Reusable metal instrument: steam sterilise after cleaning.'), ('Doyen abdominal-wall retractor','Broad hand-held retractor used to retract layers of the abdominal wall and provide wound exposure during laparotomy.','Reusable metal instrument: steam sterilise after cleaning.'), ('Intestinal repositor','Broad, smooth instrument used to gently retain or replace bowel loops within the abdomen, especially during abdominal-wall closure.','Reusable metal instrument: steam sterilise after cleaning.'), ('Yankauer suction cannula','Rigid, wide-bore suction tip for clearing blood, irrigation fluid, and secretions from the operative field or airway.','Reusable metal cannula: steam sterilise after cleaning and lumen flushing. Disposable sterile versions must not be reprocessed unless their IFU allows it.'), ('GI stapler - circular','Single-use stapling device for end-to-end, end-to-side, or side-to-end gastrointestinal anastomosis, commonly oesophageal, colorectal, or low pelvic anastomoses.','Usually supplied sterile for single use. Do not reprocess or resterilise. Dispose after use according to local policy.'), ('GI stapler - linear / straight','Single-use linear stapler for transection, resection, or creation of side-to-side anastomoses in gastrointestinal surgery.','Usually supplied sterile for single use. Do not reprocess or resterilise. Dispose after use according to local policy.'), ] def P(t, sty='Small'): return Paragraph(t, styles[sty]) def footer(canvas, doc): canvas.saveState() canvas.setStrokeColor(HexColor('#B9CAD4')); canvas.line(16*mm, 13*mm, 194*mm, 13*mm) canvas.setFont('Helvetica', 7.3); canvas.setFillColor(HexColor('#5B7180')) canvas.drawString(16*mm, 8.8*mm, 'Surgical Instruments Quick Reference | Educational use') canvas.drawRightString(194*mm, 8.8*mm, f'Page {doc.page}') canvas.restoreState() doc=SimpleDocTemplate(OUT,pagesize=A4,rightMargin=14*mm,leftMargin=14*mm,topMargin=13*mm,bottomMargin=18*mm) story=[] story += [Paragraph('Surgical Instruments: Quick Reference', styles['Title2']), Paragraph('Uses, usual sterilisation method, and viva practice for the requested instruments', styles['Sub'])] notice='''<b>Sterilisation principle:</b> All reusable instruments listed are normally heat- and moisture-resistant metal devices, so <b>steam sterilisation (autoclave)</b> after cleaning is the usual method. Follow the device manufacturer’s instructions for use (IFU) and local CSSD policy. GI staplers and many graft blades are <b>sterile single-use</b> devices and must not be reprocessed. Steam is the preferred method for critical surgical instruments that tolerate heat, moisture and pressure.''' story += [Table([[P(notice,'Body')]], colWidths=[182*mm], style=[('BACKGROUND',(0,0),(-1,-1),HexColor('#EAF3F7')),('BOX',(0,0),(-1,-1),0.5,HexColor('#9BBBCB')),('LEFTPADDING',(0,0),(-1,-1),7),('RIGHTPADDING',(0,0),(-1,-1),7),('TOPPADDING',(0,0),(-1,-1),6),('BOTTOMPADDING',(0,0),(-1,-1),6)]),Spacer(1,7)] rows=[[P('<b>Instrument</b>'),P('<b>Main use</b>'),P('<b>Mode of sterilisation</b>')]] for n,u,s in instruments: rows.append([P('<b>'+n+'</b>'),P(u),P(s)]) t=Table(rows,colWidths=[36*mm,82*mm,64*mm],repeatRows=1) t.setStyle(TableStyle([ ('BACKGROUND',(0,0),(-1,0),HexColor('#153D5B')),('TEXTCOLOR',(0,0),(-1,0),colors.white), ('GRID',(0,0),(-1,-1),0.35,HexColor('#AEBEC7')),('VALIGN',(0,0),(-1,-1),'TOP'), ('ROWBACKGROUNDS',(0,1),(-1,-1),[colors.white,HexColor('#F3F7F9')]), ('LEFTPADDING',(0,0),(-1,-1),4),('RIGHTPADDING',(0,0),(-1,-1),4),('TOPPADDING',(0,0),(-1,-1),4),('BOTTOMPADDING',(0,0),(-1,-1),4), ])) story += [t,Spacer(1,8),Paragraph('Viva Questions and Model Answers',styles['H'])] viva=[ ('<b>1. What is the basic principle before sterilising any instrument?</b>','Decontaminate and clean it first, including joints, serrations, and lumens. Sterilisation is not a substitute for cleaning.'), ('<b>2. Which method is usually chosen for the reusable metal instruments in this list?</b>','Steam sterilisation in an autoclave, provided the device is compatible with heat, moisture, and pressure and the manufacturer IFU permits it.'), ('<b>3. Why should a Yankauer cannula lumen receive special attention?</b>','Retained soil inside the lumen can prevent effective sterilisation. Flush, brush if appropriate, inspect patency, and dry before packaging and sterilisation.'), ('<b>4. What is the use of a Hudson burr-hole perforator?</b>','It produces a cranial burr hole to access the intracranial space, such as for drainage of an extradural or subdural haematoma.'), ('<b>5. What safety feature is important during burr-hole creation?</b>','Controlled drilling and appropriate stop/guard mechanism help reduce the risk of plunging injury to dura or brain. Use only by trained personnel.'), ('<b>6. What does the Watson knife handle do?</b>','It holds the blade used to harvest a split-thickness skin graft. Graft thickness and even pressure determine graft quality.'), ('<b>7. Differentiate a Doyen rib raspatory from a rib cutter.</b>','The raspatory elevates periosteum and soft tissue from the rib. The rib cutter divides the rib after adequate exposure and protection of adjacent structures.'), ('<b>8. Why is the Doyen rib raspatory used before a rib is cut?</b>','It separates periosteum and tissues, facilitating safer passage of the cutter and reducing risk to pleura and intercostal structures.'), ('<b>9. What is the indication for a Fergusson amputation saw?</b>','It is used to transect bone in an amputation, after soft tissues are managed and the bone level is selected.'), ('<b>10. What is the role of the Roux C retractor?</b>','It provides deep, controlled retraction of abdominal wall or viscera to improve exposure.'), ('<b>11. What is an intestinal repositor used for?</b>','It gently retains or returns bowel into the abdomen, particularly while closing the abdominal wall.'), ('<b>12. What material should a Yankauer cannula remove?</b>','Blood, fluid, irrigation, and secretions. It is not intended for forceful suction directly against delicate tissue.'), ('<b>13. Compare circular and linear GI staplers.</b>','A circular stapler creates a circumferential anastomosis. A linear stapler transects tissue or creates a linear staple line, often for side-to-side anastomosis.'), ('<b>14. Can a single-use GI stapler be autoclaved and reused?</b>','No. It is supplied sterile for single use and must not be reprocessed or resterilised.'), ('<b>15. What checks are made before passing a stapler?</b>','Confirm correct device and cartridge, integrity of packaging, expiry date, staple height/size, procedure requirement, and that the surgeon has requested it.'), ('<b>16. Why is instrument inspection after sterilisation important?</b>','To ensure cleanliness, dryness, intact packaging, functional joints/cutting edges, and a valid chemical indicator before use.'), ] for q,a in viva: story.append(Paragraph(q,styles['Q']));story.append(Paragraph('Answer: '+a,styles['Q']));story.append(Spacer(1,2)) story += [Spacer(1,5),Table([[P('<b>Safety note:</b> This sheet supports learning and does not replace institutional instrument manuals, manufacturer IFUs, or CSSD protocols. Do not use immediate-use steam sterilisation as a routine substitute for planned processing.','Small')]],colWidths=[182*mm],style=[('BACKGROUND',(0,0),(-1,-1),HexColor('#FFF3DD')),('BOX',(0,0),(-1,-1),0.4,HexColor('#D7B77A')),('LEFTPADDING',(0,0),(-1,-1),6),('RIGHTPADDING',(0,0),(-1,-1),6),('TOPPADDING',(0,0),(-1,-1),5),('BOTTOMPADDING',(0,0),(-1,-1),5)]),Spacer(1,4),Paragraph('Reference: CDC, Guideline for Disinfection and Sterilization in Healthcare Facilities (2008; page updated 2024).',styles['Small'])] doc.build(story,onFirstPage=footer,onLaterPages=footer) print(OUT) ''') PY python "/tmp/workspace/surgical-instruments-quick-reference/src/create_pdf.py" python - <<'PY' from pypdf import PdfReader p='/tmp/workspace/surgical-instruments-quick-reference/output/Surgical_Instruments_Quick_Reference.pdf' r=PdfReader(p) print('pages',len(r.pages),'size',__import__('os').path.getsize(p)) for i,x in enumerate(r.pages): print(i+1, len((x.extract_text() or ''))) PY
~/surgical-instruments-quick-reference/src/create_pdf.py
from reportlab.lib import colors
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER
from reportlab.lib.units import mm
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle
from reportlab.lib.colors import HexColor
OUT = '/tmp/workspace/surgical-instruments-quick-reference/output/Surgical_Instruments_Quick_Reference.pdf'
styles = getSampleStyleSheet()
styles.add(ParagraphStyle(name='Title2', parent=styles['Title'], fontName='Helvetica-Bold', fontSize=19, leading=23, alignment=TA_CENTER, textColor=HexColor('#153D5B'), spaceAfter=6))
styles.add(ParagraphStyle(name='Sub', parent=styles['Normal'], fontSize=9.2, leading=12, alignment=TA_CENTER, textColor=HexColor('#456275'), spaceAfter=10))
styles.add(ParagraphStyle(name='H', parent=styles['Heading2'], fontName='Helvetica-Bold', fontSize=12, leading=15, textColor=HexColor('#153D5B'), spaceBefore=5, spaceAfter=5))
styles.add(ParagraphStyle(name='Small', parent=styles['BodyText'], fontSize=7.25, leading=9.1))
styles.add(ParagraphStyle(name='Body', parent=styles['BodyText'], fontSize=9, leading=12))
styles.add(ParagraphStyle(name='Q', parent=styles['BodyText'], fontSize=8.25, leading=10.2, spaceAfter=2))
def P(text, style='Small'):
return Paragraph(text, styles[style])
instruments = [
('Hudson burr-hole perforator / brace', 'Hand-powered cranial perforator used to make a burr hole in the skull, for example to access an extradural or subdural collection. The brace holds and rotates the perforator.', 'Reusable metal instrument: clean, disassemble where applicable, then steam sterilise (autoclave) if permitted by the manufacturer.'),
('Watson skin-grafting knife handle', 'Holds the Watson grafting blade and is used to harvest a split-thickness skin graft at a controlled thickness.', 'Reusable metal handle: steam sterilise after thorough cleaning. The blade is generally single-use sterile and discarded after use.'),
('Doyen rib raspatory', 'Periosteal elevator for stripping periosteum and soft tissue from a rib during thoracotomy or rib resection, helping protect the pleura.', 'Reusable metal instrument: steam sterilise after cleaning.'),
('Rib cutter', 'Heavy cutting instrument for dividing a rib, usually after the rib is exposed and periosteum is elevated.', 'Reusable metal instrument: steam sterilise after cleaning. Inspect cutting edges and hinge for function.'),
('Fergusson amputation saw', 'Large hand saw for transecting bone during an amputation, classically long bones.', 'Reusable metal instrument: steam sterilise after cleaning, with blade/tooth inspection and protection per local CSSD protocol.'),
('Roux C retractor', 'Hand-held C-shaped abdominal retractor used to retract the abdominal wall or viscera and improve exposure in deep operative fields.', 'Reusable metal instrument: steam sterilise after cleaning.'),
('Doyen abdominal-wall retractor', 'Broad hand-held retractor used to retract layers of the abdominal wall and provide wound exposure during laparotomy.', 'Reusable metal instrument: steam sterilise after cleaning.'),
('Intestinal repositor', 'Broad, smooth instrument used to gently retain or replace bowel loops within the abdomen, especially during abdominal-wall closure.', 'Reusable metal instrument: steam sterilise after cleaning.'),
('Yankauer suction cannula', 'Rigid, wide-bore suction tip for clearing blood, irrigation fluid, and secretions from the operative field or airway.', 'Reusable metal cannula: steam sterilise after cleaning and lumen flushing. Disposable sterile versions must not be reprocessed unless their IFU allows it.'),
('GI stapler - circular', 'Single-use stapling device for end-to-end, end-to-side, or side-to-end gastrointestinal anastomosis, commonly oesophageal, colorectal, or low pelvic anastomoses.', 'Usually supplied sterile for single use. Do not reprocess or resterilise. Dispose after use according to local policy.'),
('GI stapler - linear / straight', 'Single-use linear stapler for transection, resection, or creation of side-to-side anastomoses in gastrointestinal surgery.', 'Usually supplied sterile for single use. Do not reprocess or resterilise. Dispose after use according to local policy.'),
]
def footer(canvas, doc):
canvas.saveState()
canvas.setStrokeColor(HexColor('#B9CAD4'))
canvas.line(16*mm, 13*mm, 194*mm, 13*mm)
canvas.setFont('Helvetica', 7.3)
canvas.setFillColor(HexColor('#5B7180'))
canvas.drawString(16*mm, 8.8*mm, 'Surgical Instruments Quick Reference | Educational use')
canvas.drawRightString(194*mm, 8.8*mm, f'Page {doc.page}')
canvas.restoreState()
doc = SimpleDocTemplate(OUT, pagesize=A4, rightMargin=14*mm, leftMargin=14*mm, topMargin=13*mm, bottomMargin=18*mm)
story = [Paragraph('Surgical Instruments: Quick Reference', styles['Title2']), Paragraph('Uses, usual sterilisation method, and viva practice for the requested instruments', styles['Sub'])]
notice = '<b>Sterilisation principle:</b> All reusable instruments listed are normally heat- and moisture-resistant metal devices, so <b>steam sterilisation (autoclave)</b> after cleaning is the usual method. Follow the device manufacturer\'s instructions for use (IFU) and local CSSD policy. GI staplers and many graft blades are <b>sterile single-use</b> devices and must not be reprocessed. Steam is the preferred method for critical surgical instruments that tolerate heat, moisture and pressure.'
story += [Table([[P(notice, 'Body')]], colWidths=[182*mm], style=[('BACKGROUND',(0,0),(-1,-1),HexColor('#EAF3F7')),('BOX',(0,0),(-1,-1),0.5,HexColor('#9BBBCB')),('LEFTPADDING',(0,0),(-1,-1),7),('RIGHTPADDING',(0,0),(-1,-1),7),('TOPPADDING',(0,0),(-1,-1),6),('BOTTOMPADDING',(0,0),(-1,-1),6)]), Spacer(1,7)]
rows = [[P('<b>Instrument</b>'), P('<b>Main use</b>'), P('<b>Mode of sterilisation</b>')]]
for name, use, sterile in instruments:
rows.append([P('<b>'+name+'</b>'), P(use), P(sterile)])
table = Table(rows, colWidths=[36*mm,82*mm,64*mm], repeatRows=1)
table.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,0),HexColor('#153D5B')),('TEXTCOLOR',(0,0),(-1,0),colors.white),('GRID',(0,0),(-1,-1),0.35,HexColor('#AEBEC7')),('VALIGN',(0,0),(-1,-1),'TOP'),('ROWBACKGROUNDS',(0,1),(-1,-1),[colors.white,HexColor('#F3F7F9')]),('LEFTPADDING',(0,0),(-1,-1),4),('RIGHTPADDING',(0,0),(-1,-1),4),('TOPPADDING',(0,0),(-1,-1),4),('BOTTOMPADDING',(0,0),(-1,-1),4)]))
story += [table, Spacer(1,8), Paragraph('Viva Questions and Model Answers', styles['H'])]
viva = [
('1. What is the basic principle before sterilising any instrument?', 'Decontaminate and clean it first, including joints, serrations, and lumens. Sterilisation is not a substitute for cleaning.'),
('2. Which method is usually chosen for the reusable metal instruments in this list?', 'Steam sterilisation in an autoclave, provided the device is compatible with heat, moisture, and pressure and the manufacturer IFU permits it.'),
('3. Why should a Yankauer cannula lumen receive special attention?', 'Retained soil inside the lumen can prevent effective sterilisation. Flush, brush if appropriate, inspect patency, and dry before packaging and sterilisation.'),
('4. What is the use of a Hudson burr-hole perforator?', 'It produces a cranial burr hole to access the intracranial space, such as for drainage of an extradural or subdural haematoma.'),
('5. What safety feature is important during burr-hole creation?', 'Controlled drilling and an appropriate stop or guard help reduce risk of plunging injury to dura or brain. Use only by trained personnel.'),
('6. What does the Watson knife handle do?', 'It holds the blade used to harvest a split-thickness skin graft. Graft thickness and even pressure determine graft quality.'),
('7. Differentiate a Doyen rib raspatory from a rib cutter.', 'The raspatory elevates periosteum and soft tissue from the rib. The rib cutter divides the rib after adequate exposure and protection of adjacent structures.'),
('8. Why is the Doyen rib raspatory used before a rib is cut?', 'It separates periosteum and tissues, facilitating safer passage of the cutter and reducing risk to pleura and intercostal structures.'),
('9. What is the indication for a Fergusson amputation saw?', 'It is used to transect bone in an amputation, after soft tissues are managed and the bone level is selected.'),
('10. What is the role of the Roux C retractor?', 'It provides deep, controlled retraction of abdominal wall or viscera to improve exposure.'),
('11. What is an intestinal repositor used for?', 'It gently retains or returns bowel into the abdomen, particularly while closing the abdominal wall.'),
('12. What material should a Yankauer cannula remove?', 'Blood, fluid, irrigation, and secretions. It is not intended for forceful suction directly against delicate tissue.'),
('13. Compare circular and linear GI staplers.', 'A circular stapler creates a circumferential anastomosis. A linear stapler transects tissue or creates a linear staple line, often for side-to-side anastomosis.'),
('14. Can a single-use GI stapler be autoclaved and reused?', 'No. It is supplied sterile for single use and must not be reprocessed or resterilised.'),
('15. What checks are made before passing a stapler?', 'Confirm correct device and cartridge, integrity of packaging, expiry date, staple height or size, procedure requirement, and that the surgeon has requested it.'),
('16. Why is instrument inspection after sterilisation important?', 'To ensure cleanliness, dryness, intact packaging, functional joints or cutting edges, and a valid chemical indicator before use.'),
]
for question, answer in viva:
story.append(Paragraph('<b>'+question+'</b>', styles['Q']))
story.append(Paragraph('Answer: '+answer, styles['Q']))
story.append(Spacer(1,2))
story += [Spacer(1,5), Table([[P('<b>Safety note:</b> This sheet supports learning and does not replace institutional instrument manuals, manufacturer IFUs, or CSSD protocols. Do not use immediate-use steam sterilisation as a routine substitute for planned processing.', 'Small')]], colWidths=[182*mm], style=[('BACKGROUND',(0,0),(-1,-1),HexColor('#FFF3DD')),('BOX',(0,0),(-1,-1),0.4,HexColor('#D7B77A')),('LEFTPADDING',(0,0),(-1,-1),6),('RIGHTPADDING',(0,0),(-1,-1),6),('TOPPADDING',(0,0),(-1,-1),5),('BOTTOMPADDING',(0,0),(-1,-1),5)]), Spacer(1,4), Paragraph('Reference: CDC, Guideline for Disinfection and Sterilization in Healthcare Facilities (2008; page updated 2024).', styles['Small'])]
doc.build(story, onFirstPage=footer, onLaterPages=footer)
print(OUT)
python "/tmp/workspace/surgical-instruments-quick-reference/src/create_pdf.py" && python - <<'PY' from pypdf import PdfReader from pathlib import Path p=Path('/tmp/workspace/surgical-instruments-quick-reference/output/Surgical_Instruments_Quick_Reference.pdf') r=PdfReader(str(p)) text='\n'.join(page.extract_text() or '' for page in r.pages) print('pages=',len(r.pages),'bytes=',p.stat().st_size) for term in ['Hudson','Yankauer','GI stapler','Viva Questions','Safety note']: print(term, term in text) PY
Add labelled instrument images to the PDF
~/
surgical instrument Hudson burr hole perforator Watson skin graft knife Doyen rib raspatory instrument
surgical instrument rib cutter Fergusson amputation saw Roux C retractor Doyen abdominal wall retractor
surgical instrument intestinal repositor Yankauer suction cannula circular GI stapler linear GI stapler
surgical instrument images Hudson brace burr hole perforator Watson skin grafting knife Doyen rib raspatory rib cutter Fergusson amputation saw
An educational medical textbook illustration plate showing eleven separate surgical instruments on a clean white background, each clearly separated and accurately depicted in neutral metallic steel, with a neat readable label beside each: Hudson burr-hole perforator with brace; Watson skin grafting knife; Doyen rib raspatory; rib cutter; Fergusson amputation saw; Roux C retractor; Doyen abdominal wall retractor; intestinal repositor; Yankauer suction cannula; circular GI stapler; linear GI stapler. Include a small title: Surgical Instrument Identification Plate. No people, no blood, no organs, no branding.
mkdir -p "/tmp/workspace/surgical-instruments-quick-reference/assets" && curl -L "https://cdn.orris.care/image-gen/edf7d19454dd41718811df1d606a504a.png" -o "/tmp/workspace/surgical-instruments-quick-reference/assets/labelled_instrument_plate.png" && file "/tmp/workspace/surgical-instruments-quick-reference/assets/labelled_instrument_plate.png"
~/surgical-instruments-quick-reference/src/create_pdf.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/surgical-instruments-quick-reference/src/create_pdf.py'
python - <<'PY' from PIL import Image p='/tmp/workspace/surgical-instruments-quick-reference/assets/labelled_instrument_plate.png' im=Image.open(p) im.thumbnail((900,500)) im.save('/tmp/workspace/surgical-instruments-quick-reference/assets/labelled_instrument_plate_preview.jpg',quality=70,optimize=True) print(im.size) PY
~/surgical-instruments-quick-reference/src/create_pdf.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/surgical-instruments-quick-reference/src/create_pdf.py'
python "/tmp/workspace/surgical-instruments-quick-reference/src/create_pdf.py" && python - <<'PY' from pypdf import PdfReader from pathlib import Path p=Path('/tmp/workspace/surgical-instruments-quick-reference/output/Surgical_Instruments_Quick_Reference.pdf') r=PdfReader(str(p)) text='\n'.join(page.extract_text() or '' for page in r.pages) print('pages=',len(r.pages),'bytes=',p.stat().st_size) for term in ['Labelled Instrument Identification Plate','Hudson','Yankauer','GI stapler','Viva Questions','Safety note']: print(term,term in text) import fitz pdf=fitz.open(str(p)) for i,page in enumerate(pdf): pix=page.get_pixmap(matrix=fitz.Matrix(1,1),alpha=False) pix.save(f'/tmp/workspace/surgical-instruments-quick-reference/assets/pdf_page_{i+1}.png') print('rendered',len(pdf)) PY
Give me pdf
Unable to download
Surgical Instruments Quick Reference
PDF Document · PDF