Geriatric patient, pregnancy patient, paediatric patient and obese patient. One sheet pdf revision cheat sheet.

Reading File
Reading File
What subject should the revision sheet cover for these four patient groups? For example: anaesthesia, drug-dose adjustments, perioperative care, or general clinical management.
Asking for Preferences

Choose the clinical focus for the one-page PDF. · Choose the intended exam level.

What subject should the revision sheet cover for these four patient groups? For example: anaesthesia, drug-dose adjustments, perioperative care, or general clinical management.

Anaesthetic management.

Finding Sources
Searching PubMed

anesthesia special populations

Searching the Web

anaesthetic management pregnancy paediatric geriatric obesity guideline recommendations

Finding Sources
Finding Sources
Finding Sources
Finding Sources
Browsing Directory

~/

Running Command

mkdir -p "/tmp/workspace/anaesthesia-special-populations/src" "/tmp/workspace/anaesthesia-special-populations/output" && python -c "import reportlab, pypdf; print('ready')"

Writing File

~/anaesthesia-special-populations/src/create_cheatsheet.py

from reportlab.lib.pagesizes import A4, landscape
from reportlab.pdfgen import canvas
from reportlab.lib import colors
from reportlab.pdfbase.pdfmetrics import stringWidth
from reportlab.lib.units import mm

OUT = '/tmp/workspace/anaesthesia-special-populations/output/Anaesthetic_Management_Special_Populations_Cheat_Sheet.pdf'
W, H = landscape(A4)

NAVY = colors.HexColor('#123047')
TEAL = colors.HexColor('#007C83')
ORANGE = colors.HexColor('#C85A17')
RED = colors.HexColor('#A92D2D')
INK = colors.HexColor('#17232B')
MUTED = colors.HexColor('#52636F')
PALE = colors.HexColor('#F2F6F7')
LINE = colors.HexColor('#C9D5D9')

c = canvas.Canvas(OUT, pagesize=(W,H))
c.setTitle('Anaesthetic Management: Special Populations - Revision Cheat Sheet')
c.setAuthor('Orris')

# helpers
def wrapped(text, font, size, maxw):
    words = text.split()
    lines, line = [], ''
    for word in words:
        test = (line + ' ' + word).strip()
        if stringWidth(test, font, size) <= maxw:
            line = test
        else:
            if line: lines.append(line)
            line = word
    if line: lines.append(line)
    return lines

def draw_lines(x, y, text, width, size=7.2, leading=8.5, color=INK, bullet=False):
    c.setFont('Helvetica', size); c.setFillColor(color)
    indent = 8 if bullet else 0
    for ln in wrapped(text, 'Helvetica', size, width-indent):
        if bullet:
            c.setFillColor(TEAL); c.circle(x+2.2, y+2.4, 1.25, fill=1, stroke=0)
            c.setFillColor(color)
        c.drawString(x+indent, y, ln)
        y -= leading
    return y

def box(x, y, w, h, title, subtitle, accent, sections, alerts):
    # y top
    c.setFillColor(colors.white); c.setStrokeColor(LINE); c.setLineWidth(.7)
    c.roundRect(x, y-h, w, h, 7, fill=1, stroke=1)
    c.setFillColor(accent); c.roundRect(x, y-35, w, 35, 7, fill=1, stroke=0)
    c.rect(x, y-35, w, 7, fill=1, stroke=0)
    c.setFillColor(colors.white); c.setFont('Helvetica-Bold', 12)
    c.drawString(x+10, y-16, title)
    c.setFont('Helvetica', 6.8); c.drawRightString(x+w-10, y-15, subtitle)
    cy = y-46
    for label, items in sections:
        c.setFillColor(NAVY); c.setFont('Helvetica-Bold', 7.4)
        c.drawString(x+9, cy, label.upper()); cy -= 9
        for item in items:
            cy = draw_lines(x+10, cy, item, w-19, size=6.85, leading=7.8, bullet=True)
            cy -= 1.2
        cy -= 1
    if alerts:
        ah=25
        ay=y-h+8
        c.setFillColor(colors.HexColor('#FFF2E6') if accent != RED else colors.HexColor('#FCEAEA'))
        c.roundRect(x+7, ay, w-14, ah, 4, fill=1, stroke=0)
        c.setFillColor(RED); c.setFont('Helvetica-Bold', 6.7)
        c.drawString(x+12, ay+15, 'EXAM PEARL')
        c.setFillColor(INK); c.setFont('Helvetica', 6.55)
        for i,ln in enumerate(wrapped(alerts,'Helvetica',6.55,w-67)):
            c.drawString(x+57, ay+15-i*7, ln)

# background
c.setFillColor(PALE); c.rect(0,0,W,H,fill=1,stroke=0)
# header
c.setFillColor(NAVY); c.rect(0,H-45,W,45,fill=1,stroke=0)
c.setFillColor(colors.white); c.setFont('Helvetica-Bold', 18)
c.drawString(17,H-27,'ANAESTHETIC MANAGEMENT: SPECIAL POPULATIONS')
c.setFont('Helvetica',7.5); c.setFillColor(colors.HexColor('#D6E6E8'))
c.drawString(18,H-38,'One-page perioperative revision sheet | Assess - plan - monitor - recover')

margin=13; gap=9; top=H-55; bw=(W-2*margin-gap)/2; bh=217
x1=margin; x2=margin+bw+gap; y1=top; y2=top-bh-8

box(x1,y1,bw,bh,'GERIATRIC PATIENT','frailty | brain | physiology',TEAL,[
 ('Assess', ['Frailty, baseline cognition/delirium risk, function, nutrition and goals of care. Review polypharmacy, anticoagulants and organ reserve.', 'Screen cardiovascular and respiratory disease; obtain investigations only when results will change management.']),
 ('Plan', ['Use regional/local techniques where appropriate, but avoid assuming regional alone prevents delirium. Individualize GA versus regional.', 'Reduced MAC and slower clearance: start low, titrate slowly. Avoid hypotension, hypoxia, hypothermia, anticholinergic burden and unnecessary benzodiazepines.']),
 ('Intra-op', ['Maintain cerebral and organ perfusion. Temperature control, careful fluids, blood loss management and neuromuscular monitoring with complete reversal.']),
 ('Recovery', ['Multimodal, opioid-sparing analgesia. Reorient, mobilize early, restore glasses/hearing aids, prevent urinary retention/constipation; monitor delirium and respiratory depression.'])
], 'Postoperative delirium prevention is multimodal: avoid physiologic insults and use opioid-sparing analgesia.')

box(x2,y1,bw,bh,'PREGNANT PATIENT','maternal safety = fetal safety',ORANGE,[
 ('Assess', ['Gestation, urgency, obstetric history, pre-eclampsia/haemorrhage risk, fetal status and aspiration risk. Left uterine displacement after about 20 weeks.', 'Anticipate difficult airway: airway oedema, breast enlargement, reduced FRC and rapid desaturation.']),
 ('Plan', ['For non-obstetric surgery, defer elective procedures when feasible; multidisciplinary obstetric and neonatal planning.', 'Neuraxial techniques usually preferred for labour and caesarean delivery when no contraindication. Prepare for failed/patchy block and conversion.']),
 ('Intra-op', ['Preoxygenate thoroughly. Use ramping/head-up position when indicated. Rapid-sequence induction if GA needed; have difficult-airway plan and smaller tube available.', 'Prevent aortocaval compression, maintain maternal oxygenation, BP and normocapnia. Treat hypotension promptly.']),
 ('Recovery', ['Aspiration and haemorrhage vigilance. Continue thromboprophylaxis strategy where indicated; use compatible multimodal analgesia and support breastfeeding planning.'])
], 'Do not delay maternal resuscitation or treatment. Optimize maternal oxygenation and perfusion first.')

box(x1,y2,bw,bh,'PAEDIATRIC PATIENT','weight | warmth | airway',TEAL,[
 ('Assess', ['Confirm age, accurate current weight, fasting, comorbidities, recent URTI and prematurity history. Involve parent/carer; reduce anxiety.', 'Equipment and drugs must be age/size appropriate. Calculate doses in mg/kg and check maximum dose.']),
 ('Plan', ['Airway anatomy: proportionally large occiput/tongue, anterior larynx, narrow subglottis. Small oxygen reserve means rapid desaturation.', 'Secure IV access plan, blood-loss estimate and warming strategy. Use behavioural preparation and appropriate premedication selectively.']),
 ('Intra-op', ['Meticulous monitoring: SpO2, capnography, temperature, glucose when risk factors/prolonged surgery. Maintain normothermia and age-appropriate fluids.', 'Ventilate gently; prevent hypoxia, hypercarbia and hypotension. Confirm NM block reversal; extubate fully awake versus deep only with a deliberate risk-based plan.']),
 ('Recovery', ['Weight-based multimodal analgesia. Prevent/treat PONV. Observe for airway obstruction, apnoea, emergence delirium and opioid-related respiratory depression.'])
], 'Children compensate well then deteriorate abruptly: hypoxia and airway events need early, decisive treatment.')

box(x2,y2,bw,bh,'OBESE PATIENT','airway | OSA | VTE',ORANGE,[
 ('Assess', ['BMI distribution, OSA/OHS, CPAP use, hypertension, diabetes, reflux/aspiration risk, cardiopulmonary reserve and VTE risk.', 'Examine airway and neck mobility. Verify equipment: high-capacity table, long needles, positioning aids, BP cuff/ultrasound access.']),
 ('Plan', ['Ramped, head-up position for preoxygenation and laryngoscopy. Plan A-B-C airway strategy; consider awake intubation when difficulty is anticipated.', 'Dose carefully: scalar differs by drug. Avoid automatic total-body-weight dosing. Use local policy/pharmacy support for induction agents, NM blockers and opioids.']),
 ('Intra-op', ['Preoxygenation with positive pressure where appropriate; apnoeic oxygenation may help. Lung-protective ventilation with individualized PEEP and recruitment when suitable.', 'Quantitative NM monitoring and full reversal. Multimodal, opioid-sparing analgesia; thromboprophylaxis and pressure-area protection.']),
 ('Recovery', ['Head-up, fully awake extubation with planned postoperative oxygenation/CPAP where appropriate. Enhanced monitoring for hypoventilation, obstruction and opioid sensitivity.'])
], 'OSA/OHS plus opioids is high risk: minimize opioids and ensure appropriate postoperative respiratory monitoring.')

# Footer
c.setStrokeColor(LINE); c.line(14,15,W-14,15)
c.setFillColor(MUTED); c.setFont('Helvetica',5.8)
c.drawString(15,7,'Revision aid only: adapt to patient, procedure, local policy and senior anaesthetist supervision. No fixed drug doses included.')
c.drawRightString(W-15,7,'Core principles synthesized from Miller’s Anesthesia 10e and Barash Clinical Anesthesia 9e.')
c.showPage(); c.save()
print(OUT)
Running Command

python "/tmp/workspace/anaesthesia-special-populations/src/create_cheatsheet.py" && python -c "from pypdf import PdfReader; p='/tmp/workspace/anaesthesia-special-populations/output/Anaesthetic_Management_Special_Populations_Cheat_Sheet.pdf'; r=PdfReader(p); print('pages=',len(r.pages)); print('chars=',len(r.pages[0].extract_text()))"

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.