Make a presentation on applied anatomy of parathyroid and diseases. Also include diagram and flowcharts

Reading File
Reading File
Finding Sources
Finding Sources
Searching PubMed

"Hyperparathyroidism"[MeSH Terms] AND treatment

Searching the Web

parathyroid anatomy clinical applied anatomy hyperparathyroidism current overview

Reading File
Reading File
Reading File
Reading File
Searching Images

labeled diagram normal parathyroid gland anatomy posterior thyroid recurrent laryngeal nerve inferior thyroid artery

Browsing Directory

~/

Finding Sources
Finding Sources
Finding Sources
Reading Web Page

https://www.ncbi.nlm.nih.gov/books/NBK537203

Running Command

mkdir -p "/tmp/workspace/parathyroid_presentation/src" "/tmp/workspace/parathyroid_presentation/output" && python -c "import pptx; print('python-pptx ready')"

Writing File

~/parathyroid_presentation/src/create_presentation.py

from pptx import Presentation
from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.dml import MSO_THEME_COLOR
from pptx.enum.shapes import MSO_AUTO_SHAPE_TYPE
from pptx.enum.text import MSO_AUTO_SIZE
from pptx.oxml.xmlchemy import OxmlElement
from pptx.oxml.ns import qn
from pathlib import Path

OUT = Path('/tmp/workspace/parathyroid_presentation/output/Applied_Anatomy_of_Parathyroid_and_Diseases.pptx')
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
blank = prs.slide_layouts[6]

# Palette
NAVY = RGBColor(15, 45, 68)
TEAL = RGBColor(0, 125, 135)
AQUA = RGBColor(46, 180, 175)
GOLD = RGBColor(232, 178, 55)
CORAL = RGBColor(203, 78, 72)
INK = RGBColor(31, 45, 57)
MUTED = RGBColor(91, 110, 122)
PALE = RGBColor(240, 247, 247)
WHITE = RGBColor(255,255,255)
LIGHT_GOLD = RGBColor(255,247,223)
LIGHT_CORAL = RGBColor(253,239,238)
LIGHT_BLUE = RGBColor(229,244,245)
GRAY = RGBColor(210,221,225)


def set_bg(slide, color=WHITE):
    bg=slide.background.fill; bg.solid(); bg.fore_color.rgb=color

def add_text(slide, text, x,y,w,h, size=20, color=INK, bold=False, align=PP_ALIGN.LEFT, font='Aptos', valign=MSO_ANCHOR.TOP, margin=0.05):
    box = slide.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
    tf=box.text_frame; tf.clear(); tf.word_wrap=True; tf.vertical_anchor=valign
    tf.margin_left=tf.margin_right=Inches(margin); tf.margin_top=tf.margin_bottom=Inches(margin)
    p=tf.paragraphs[0]; p.alignment=align
    r=p.add_run(); r.text=text; r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color
    return box

def title(slide, text, kicker=None):
    if kicker: add_text(slide,kicker.upper(),0.6,0.28,8,0.25,10,TEAL,True)
    add_text(slide,text,0.6,0.55,12.1,0.5,28,NAVY,True)
    line=slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(0.6), Inches(1.16), Inches(1.0), Inches(0.055))
    line.fill.solid(); line.fill.fore_color.rgb=GOLD; line.line.fill.background()

def rect(slide,x,y,w,h,fill=PALE,line=None,radius=True):
    shp=slide.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if radius else MSO_SHAPE.RECTANGLE, Inches(x),Inches(y),Inches(w),Inches(h))
    shp.fill.solid(); shp.fill.fore_color.rgb=fill
    if line:
        shp.line.color.rgb=line
    else: shp.line.fill.background()
    return shp

def label_box(slide, text,x,y,w,h,fill=PALE,color=INK,size=16,bold=False, line=None):
    sh=rect(slide,x,y,w,h,fill,line)
    add_text(slide,text,x+.08,y+.05,w-.16,h-.1,size,color,bold,PP_ALIGN.CENTER,valign=MSO_ANCHOR.MIDDLE)
    return sh

def bullet_list(slide, items, x,y,w,h, size=17, color=INK, bullet_color=TEAL, gap=0.1):
    # items string or tuples (head, body)
    cur=y
    for item in items:
        if isinstance(item,tuple): head,body=item; text=f'{head}: {body}'
        else: text=item
        add_text(slide,'•',x,cur,0.22,0.28,size+2,bullet_color,True)
        add_text(slide,text,x+.26,cur,w-.26,0.48,size,color)
        cur+=0.57+gap

def line(slide,x1,y1,x2,y2,color=TEAL,width=1.8,arrow=False):
    c=slide.shapes.add_connector(MSO_CONNECTOR.STRAIGHT, Inches(x1), Inches(y1), Inches(x2), Inches(y2))
    c.line.color.rgb=color; c.line.width=Pt(width)
    if arrow:
        c.line.end_arrowhead = 'triangle'
    return c

def footer(slide,num):
    add_text(slide,'APPLIED ANATOMY OF PARATHYROID',0.6,7.12,4.2,0.18,8,MUTED,True)
    add_text(slide,str(num).zfill(2),12.25,7.08,0.45,0.22,9,MUTED,True,PP_ALIGN.RIGHT)

# 1 title
s=prs.slides.add_slide(blank); set_bg(s,NAVY)
# decorative circles
for x,y,d,c,a in [(10.7,0.3,2.3,TEAL,0),(11.6,1.3,1.4,AQUA,0),(9.8,5.1,2.7,RGBColor(25,69,90),0)]:
    sh=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x),Inches(y),Inches(d),Inches(d)); sh.fill.solid(); sh.fill.fore_color.rgb=c; sh.line.fill.background()
add_text(s,'ENDOCRINE SURGICAL ANATOMY',0.75,0.75,5.8,0.28,12,AQUA,True)
add_text(s,'Applied anatomy\nof the parathyroid',0.72,1.25,7.7,1.4,34,WHITE,True)
add_text(s,'Landmarks, physiology, disease patterns and surgical decision pathways',0.78,3.05,6.6,0.6,18,RGBColor(213,231,235))
# mini gland graphic
rect(s,8.45,2.0,2.25,3.35,RGBColor(221,151,142),None,True)
add_text(s,'THYROID',8.76,3.46,1.65,.25,12,WHITE,True,PP_ALIGN.CENTER)
for x,y,lab in [(8.29,2.52,'S'),(10.5,2.52,'S'),(8.29,4.48,'I'),(10.5,4.48,'I')]:
    sh=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x),Inches(y),Inches(.37),Inches(.37)); sh.fill.solid(); sh.fill.fore_color.rgb=GOLD; sh.line.color.rgb=WHITE
    add_text(s,lab,x,y+.03,.37,.18,9,NAVY,True,PP_ALIGN.CENTER)
add_text(s,'Parathyroid glands\nposterior to thyroid',8.1,5.75,3.1,.55,14,WHITE,False,PP_ALIGN.CENTER)
add_text(s,'Medical / Surgical Teaching Deck',0.77,6.45,3.5,.25,11,RGBColor(190,216,222))

#2 objectives
s=prs.slides.add_slide(blank); set_bg(s); title(s,'Learning objectives','Roadmap')
objs=[('Locate','the four glands using embryologic and operative landmarks.'),('Explain','PTH actions and the calcium-phosphate feedback loop.'),('Recognize','primary, secondary, tertiary hyperparathyroidism and hypoparathyroidism.'),('Apply','anatomy to imaging, thyroidectomy and parathyroid surgery.')]
for i,(h,b) in enumerate(objs):
    y=1.55+i*1.24
    rect(s,.72,y,1.0,.82,[LIGHT_BLUE,LIGHT_GOLD,LIGHT_CORAL,PALE][i])
    add_text(s,str(i+1).zfill(2),.92,y+.2,.6,.25,20,NAVY,True,PP_ALIGN.CENTER)
    add_text(s,h,1.95,y+.1,2.0,.25,18,NAVY,True)
    add_text(s,b,1.95,y+.42,9.8,.36,16,INK)
footer(s,2)

#3 normal anatomy diagram
s=prs.slides.add_slide(blank); set_bg(s); title(s,'Normal anatomy: small glands, high-stakes neighbors','Applied surface anatomy')
add_text(s,'Usually four yellow-brown ovoid glands, each about 30-50 mg, on the posterior thyroid surface.',.65,1.35,8.6,.32,15,MUTED)
# thyroid lobes and trachea
rect(s,4.78,2.05,1.65,3.8,RGBColor(219,137,132),None,True); rect(s,6.88,2.05,1.65,3.8,RGBColor(219,137,132),None,True)
rect(s,6.05,3.35,.85,1.15,RGBColor(219,137,132),None,True)
# trachea
for i in range(6):
    sh=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(6.18), Inches(4.74+i*.28), Inches(.6), Inches(.22)); sh.fill.solid(); sh.fill.fore_color.rgb=RGBColor(227,237,238); sh.line.color.rgb=GRAY
add_text(s,'Posterior view',5.6,1.72,2.5,.22,11,MUTED,False,PP_ALIGN.CENTER)
# glands
for x,y,t in [(4.48,2.7,'Superior'),(4.48,4.62,'Inferior'),(8.57,2.7,'Superior'),(8.57,4.62,'Inferior')]:
    g=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x), Inches(y), Inches(.42), Inches(.28));g.fill.solid();g.fill.fore_color.rgb=GOLD;g.line.color.rgb=NAVY
    add_text(s,t,x-.45,y-.28,1.32,.2,10,NAVY,True,PP_ALIGN.CENTER)
# rln/ita lines
line(s,5.08,5.65,5.08,2.23,CORAL,2); line(s,8.42,5.65,8.42,2.23,CORAL,2)
line(s,3.8,3.75,5.35,3.75,TEAL,2); line(s,8.15,3.75,9.7,3.75,TEAL,2)
add_text(s,'RLN plane',3.72,5.88,1.5,.22,10,CORAL,True);add_text(s,'Inferior thyroid artery',3.15,3.46,2.1,.22,10,TEAL,True)
# side facts
label_box(s,'Superior glands\nPosterior/deep to RLN\nMore constant position',.68,2.05,3.22,1.15,LIGHT_BLUE,NAVY,15,True)
label_box(s,'Inferior glands\nAnterior/superficial to RLN\nMore variable position',9.42,2.05,3.16,1.15,LIGHT_GOLD,NAVY,15,True)
label_box(s,'Key surgical space\nBetween thyroid and carotid sheath lie the RLN, inferior thyroid artery and parathyroids.',9.42,4.2,3.16,1.35,LIGHT_CORAL,INK,14,False)
footer(s,3)

#4 embryology
s=prs.slides.add_slide(blank);set_bg(s);title(s,'Embryology predicts ectopic glands','Why “inferior” is less predictable')
# two tracks
add_text(s,'Fourth pharyngeal pouch',.8,1.55,3.2,.3,17,NAVY,True); add_text(s,'Third pharyngeal pouch',.8,4.43,3.2,.3,17,NAVY,True)
for y,fill in [(2.05,LIGHT_BLUE),(4.92,LIGHT_GOLD)]: rect(s,.78,y,2.1,.72,fill)
add_text(s,'Superior parathyroid',.88,2.25,1.9,.25,15,NAVY,True,PP_ALIGN.CENTER)
add_text(s,'Inferior parathyroid\n+ thymus',.88,5.05,1.9,.42,15,NAVY,True,PP_ALIGN.CENTER)
# arrows/tracks
line(s,3.05,2.41,7.0,2.41,TEAL,2.5,True);line(s,3.05,5.3,7.0,5.3,GOLD,2.5,True)
label_box(s,'Short descent\nPosterior superior thyroid',7.25,1.82,2.15,1.15,PALE,NAVY,14,True)
label_box(s,'Long descent with thymus\nNear lower pole / thymus',7.25,4.7,2.15,1.15,PALE,NAVY,14,True)
label_box(s,'Ectopic search pathway for inferior gland',9.9,1.85,2.62,.4,NAVY,WHITE,14,True)
for i,t in enumerate(['Thyrothymic ligament','Cervical thymus','Anterior mediastinum']):
    label_box(s,t,9.9,2.45+i*.72,2.62,.46,[LIGHT_GOLD,PALE,LIGHT_CORAL][i],INK,13,False)
    if i<2: line(s,11.2,2.93+i*.72,11.2,3.14+i*.72,MUTED,1.5,True)
add_text(s,'Clinical consequence: an “inferior” adenoma can be cervical, intrathymic or mediastinal.',.8,6.38,11.7,.34,17,TEAL,True)
footer(s,4)

#5 physiology
s=prs.slides.add_slide(blank);set_bg(s);title(s,'PTH is the rapid defender of extracellular calcium','Physiology')
label_box(s,'↓ Ionized Ca²⁺ sensed by CaSR',4.45,1.35,4.2,.55,LIGHT_BLUE,NAVY,18,True)
line(s,6.55,1.94,6.55,2.35,TEAL,2,True)
label_box(s,'Parathyroid chief cells → ↑ PTH',4.45,2.43,4.2,.55,NAVY,WHITE,18,True)
# outputs
for x,h,b,c in [(1.0,'BONE','↑ resorption\n↑ serum Ca²⁺',LIGHT_CORAL),(5.15,'KIDNEY','↑ Ca²⁺ reabsorption\n↓ phosphate reabsorption',LIGHT_BLUE),(9.3,'KIDNEY','↑ 1α-hydroxylase\n↑ calcitriol',LIGHT_GOLD)]:
    line(s,6.55,3.0,x+1.35,3.75,TEAL,1.8,True)
    label_box(s,h,x,3.82,2.7,.43,c,NAVY,15,True)
    label_box(s,b,x,4.28,2.7,.76,PALE,INK,14,False)
line(s,10.65,5.15,10.65,5.62,GOLD,2,True)
label_box(s,'Gut: ↑ Ca²⁺ absorption via calcitriol',9.3,5.68,2.7,.55,LIGHT_GOLD,NAVY,14,True)
label_box(s,'Net effect: ↑ calcium, ↓ phosphate',4.2,6.25,4.8,.5,RGBColor(222,244,237),NAVY,16,True)
footer(s,5)

#6 disease map
s=prs.slides.add_slide(blank);set_bg(s);title(s,'Disease map: start with calcium, then interpret PTH','Pattern recognition')
# table
headers=['Pattern','Calcium','Phosphate','PTH','Typical setting']
xs=[.65,3.05,4.55,6.15,7.7]; ws=[2.35,1.4,1.55,1.45,4.95]
for x,w,hdr in zip(xs,ws,headers): label_box(s,hdr,x,1.48,w,.5,NAVY,WHITE,14,True)
rows=[('Primary HPT','↑','↓ / N','↑ or inappropriately N','Adenoma, multigland hyperplasia, MEN'),('Secondary HPT','N / ↓','often ↑ in CKD','↑','CKD, vitamin D deficiency / malabsorption'),('Tertiary HPT','↑','variable','↑↑','Autonomous glands after longstanding secondary HPT'),('Hypoparathyroidism','↓','↑','↓ / inappropriately N','Post-neck surgery, autoimmune, DiGeorge')]
colors=[LIGHT_CORAL,LIGHT_GOLD,RGBColor(255,238,222),LIGHT_BLUE,PALE]
for r,row in enumerate(rows):
    y=2.05+r*.77
    for x,w,txt in zip(xs,ws,row): label_box(s,txt,x,y,w,.66,colors[r],INK,13,txt==row[0])
add_text(s,'N = normal. Interpret calcium after albumin correction or use ionized calcium when appropriate.',.7,6.38,11.5,.25,12,MUTED)
footer(s,6)

#7 primary HPT
s=prs.slides.add_slide(blank);set_bg(s);title(s,'Primary hyperparathyroidism (PHPT)','Most common ambulatory cause of PTH-mediated hypercalcaemia')
# left
label_box(s,'Pathology',.7,1.45,3.4,.48,NAVY,WHITE,15,True)
bullet_list(s,[('Usually','single adenoma.'),('Also','multigland hyperplasia, MEN syndromes; rarely carcinoma.'),('Biochemistry','high calcium with non-suppressed PTH.')],.8,2.05,3.15,2.2,15)
label_box(s,'Clinical expression',4.85,1.45,3.4,.48,TEAL,WHITE,15,True)
bullet_list(s,['Renal: stones, nephrocalcinosis, reduced renal function','Skeletal: low bone density, fractures, osteitis fibrosa in severe disease','Neuro-GI: fatigue, cognition/mood symptoms, constipation'],4.95,2.05,3.05,2.3,15)
label_box(s,'Confirm before localizing',9.0,1.45,3.55,.48,GOLD,NAVY,15,True)
bullet_list(s,['Repeat calcium and intact PTH','25-OH vitamin D, creatinine/eGFR, phosphate','24-h urinary calcium when differential includes FHH','Imaging is for surgical planning, not diagnosis'],9.1,2.05,3.25,2.9,14)
rect(s,.72,5.35,11.85,.85,LIGHT_CORAL)
add_text(s,'Applied point: an adenoma is a localization target, but the diagnosis is biochemical.',1.02,5.58,11.1,.32,18,NAVY,True,PP_ALIGN.CENTER)
footer(s,7)

#8 localization & surgery flowchart
s=prs.slides.add_slide(blank);set_bg(s);title(s,'PHPT: diagnostic and surgical pathway','Flowchart')
steps=[('Hypercalcaemia\nconfirmed',LIGHT_CORAL),('Measure intact PTH',LIGHT_BLUE),('PTH non-suppressed\n→ PTH-mediated',LIGHT_GOLD),('Assess surgical\nindications',PALE),('Localize for operation\nUS ± sestamibi ± 4D-CT',LIGHT_BLUE),('Focused excision or\nbilateral exploration',LIGHT_GOLD)]
startx=.5
for i,(txt,col) in enumerate(steps):
    x=startx+i*2.12; label_box(s,txt,x,2.1,1.68,.82,col,NAVY,14,True)
    if i<len(steps)-1: line(s,x+1.7,2.51,x+2.04,2.51,TEAL,2,True)
label_box(s,'If PTH suppressed: pursue non-PTH causes of hypercalcaemia.',3.0,3.52,7.25,.54,LIGHT_CORAL,INK,16,True)
# lower two branches
label_box(s,'Concordant imaging + presumed single gland disease',1.1,4.75,4.25,.62,LIGHT_BLUE,NAVY,15,True)
label_box(s,'Minimally invasive parathyroidectomy\nTargeted, lower morbidity',1.1,5.55,4.25,.77,PALE,INK,14,False)
line(s,3.2,5.37,3.2,5.5,TEAL,1.8,True)
label_box(s,'Discordant imaging, MEN, lithium-associated or multigland suspicion',7.7,4.75,4.45,.62,LIGHT_GOLD,NAVY,15,True)
label_box(s,'Bilateral neck exploration\nIdentify all glands and ectopic tissue',7.7,5.55,4.45,.77,PALE,INK,14,False)
line(s,9.92,5.37,9.92,5.5,TEAL,1.8,True)
footer(s,8)

#9 secondary tertiary
s=prs.slides.add_slide(blank);set_bg(s);title(s,'Secondary and tertiary hyperparathyroidism','Chronic stimulation can become autonomy')
# flow
label_box(s,'CKD / vitamin D deficiency / malabsorption',.7,1.7,3.15,.62,LIGHT_BLUE,NAVY,15,True)
line(s,3.9,2.01,4.5,2.01,TEAL,2,True)
label_box(s,'↓ calcitriol, phosphate retention or ↓ Ca²⁺',4.57,1.7,3.15,.62,LIGHT_GOLD,NAVY,15,True)
line(s,7.78,2.01,8.42,2.01,TEAL,2,True)
label_box(s,'Compensatory ↑ PTH\n= secondary HPT',8.5,1.7,3.95,.62,LIGHT_CORAL,NAVY,15,True)
line(s,10.45,2.36,10.45,3.18,TEAL,2,True)
label_box(s,'Persistent stimulation → nodular hyperplasia → autonomous PTH\n= tertiary HPT, often with hypercalcaemia',7.6,3.3,5.05,.84,PALE,NAVY,15,True)
# panels
label_box(s,'Secondary HPT: management principle',.75,4.75,5.55,.46,NAVY,WHITE,15,True)
bullet_list(s,['Treat the driver: phosphate control in CKD, replace vitamin D when indicated, address malabsorption','Use CKD-mineral bone disorder pathway and nephrology input'],.88,5.28,5.2,1.1,14)
label_box(s,'Tertiary HPT: applied surgical issue',6.85,4.75,5.65,.46,NAVY,WHITE,15,True)
bullet_list(s,['Consider surgery for medically refractory autonomous disease or severe complications','Expect multigland disease; preoperative imaging helps identify ectopic tissue but does not replace exploration strategy'],6.98,5.28,5.25,1.1,14)
footer(s,9)

#10 hypo
s=prs.slides.add_slide(blank);set_bg(s);title(s,'Hypoparathyroidism: often an anatomy-related complication','Low PTH means low calcium and high phosphate')
label_box(s,'Common causes',.75,1.5,3.25,.5,NAVY,WHITE,15,True)
bullet_list(s,['Post-thyroidectomy or neck surgery: devascularization or inadvertent removal','Autoimmune, genetic/developmental disorders, infiltrative disease'],.88,2.1,3.0,1.5,15)
label_box(s,'Recognize acute hypocalcaemia',4.95,1.5,3.25,.5,TEAL,WHITE,15,True)
bullet_list(s,['Perioral tingling, paresthesia, cramps, tetany','Seizure, laryngospasm, prolonged QT in severe cases'],5.08,2.1,3.0,1.5,15)
label_box(s,'Immediate clinical response',9.12,1.5,3.35,.5,GOLD,NAVY,15,True)
bullet_list(s,['Check ionized calcium, magnesium, phosphate and ECG','Symptomatic or severe: IV calcium under monitored care; correct magnesium','Long-term: oral calcium + active vitamin D, specialist follow-up'],9.25,2.1,3.05,2.2,14)
# surgical protection
rect(s,.75,4.7,11.75,1.2,LIGHT_BLUE)
add_text(s,'Thyroidectomy protection checklist',1.05,4.92,3.3,.25,18,NAVY,True)
add_text(s,'Identify glands • preserve capsular blood supply • avoid traction / thermal damage • autotransplant clearly devascularized gland when appropriate',1.05,5.3,10.75,.28,16,INK)
footer(s,10)

#11 operative applied anatomy
s=prs.slides.add_slide(blank);set_bg(s);title(s,'Applied anatomy in the operating room','What prevents a missed gland or surgical morbidity')
items=[('1. Identify landmarks','RLN and inferior thyroid artery help classify gland plane: superior glands are usually dorsal/deep, inferior glands ventral/superficial.'),('2. Respect the vascular pedicle','Parathyroid blood supply commonly arises from branches of the inferior thyroid artery. Capsular dissection protects perfusion.'),('3. Search intelligently','Failure to find an inferior gland: inspect thyrothymic ligament, cervical thymus and mediastinal pathway. A high posterior lesion may be superior.'),('4. Preserve function','Avoid bilateral devascularization. If a gland is clearly nonviable, consider autotransplantation per surgical practice.')]
for i,(head,body) in enumerate(items):
    x=.7+(i%2)*6.1; y=1.45+(i//2)*2.45
    rect(s,x,y,5.6,1.86,[LIGHT_BLUE,LIGHT_GOLD,LIGHT_CORAL,PALE][i])
    add_text(s,head,x+.25,y+.25,5.1,.25,17,NAVY,True)
    add_text(s,body,x+.25,y+.68,5.05,.85,14,INK)
footer(s,11)

#12 take home
s=prs.slides.add_slide(blank);set_bg(s,NAVY);add_text(s,'Take-home messages',.7,.65,6.8,.45,30,WHITE,True)
notes=['“Superior” and “inferior” describe embryology as much as location.','The RLN plane and inferior thyroid artery are practical surgical landmarks.','Diagnosis of parathyroid disease is biochemical. Imaging localizes disease for treatment.','Long migration of inferior glands explains ectopy and missed adenomas.','Protecting parathyroid vascularity is central to safe thyroid surgery.']
for i,t in enumerate(notes):
    y=1.55+i*.88; sh=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(.78), Inches(y), Inches(.4), Inches(.4));sh.fill.solid();sh.fill.fore_color.rgb=GOLD;sh.line.fill.background(); add_text(s,'✓',.78,y+.05,.4,.2,12,NAVY,True,PP_ALIGN.CENTER)
    add_text(s,t,1.4,y+.03,10.7,.32,18,WHITE,False)
add_text(s,'Anatomy directs safe surgery. Biochemistry directs diagnosis.',.78,6.45,9.8,.35,19,AQUA,True)

# 13 sources
s=prs.slides.add_slide(blank);set_bg(s);title(s,'Selected references','Sources')
refs=[
'Schwartz’s Principles of Surgery, 11th ed. Chapter: Parathyroid, pp. 1663-1681.',
'Fischer’s Mastery of Surgery, 8th ed. Chapter: Anatomy of Parathyroid Surgery.',
'Cummings Otolaryngology Head & Neck Surgery. Embryology and parathyroid ultrasound sections.',
'StatPearls. Anatomy, Head and Neck, Parathyroid. NCBI Bookshelf, updated 2023.',
'Imaging Recommendations for Diagnosis and Management of Primary Parathyroid Pathologies. PMC11274996, 2024.',
'Jeong SY et al. Radiofrequency ablation for hyperparathyroidism: systematic review and meta-analysis. Eur Radiol. 2025. PMID 40244409.'
]
bullet_list(s,refs,.85,1.48,11.55,4.4,16,INK,TEAL,.14)
rect(s,.85,5.98,11.55,.56,LIGHT_BLUE)
add_text(s,'Educational material. Clinical decisions should follow local protocols and specialist guidance.',1.02,6.16,11.18,.22,13,NAVY,True,PP_ALIGN.CENTER)
footer(s,13)

prs.save(OUT)
print(OUT)
Running Command

python "/tmp/workspace/parathyroid_presentation/src/create_presentation.py" && ls -lh "/tmp/workspace/parathyroid_presentation/output/Applied_Anatomy_of_Parathyroid_and_Diseases.pptx"

Running Command

python - <<'PY' from pptx import Presentation p='/tmp/workspace/parathyroid_presentation/output/Applied_Anatomy_of_Parathyroid_and_Diseases.pptx' prs=Presentation(p) print('slides:',len(prs.slides)) for i,s in enumerate(prs.slides,1): tx=' | '.join(sh.text.replace('\n',' / ') for sh in s.shapes if getattr(sh,'has_text_frame',False) and sh.text.strip()) print(i, tx[:170]) PY

Running Command

python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/parathyroid_presentation/output/Applied_Anatomy_of_Parathyroid_and_Diseases.pptx') prs=Presentation(p) W,H=prs.slide_width,prs.slide_height issues=[] for i,s in enumerate(prs.slides,1): for j,sh in enumerate(s.shapes,1): if sh.left < 0 or sh.top < 0 or sh.left+sh.width > W or sh.top+sh.height > H: issues.append((i,j,sh.left,sh.top,sh.width,sh.height)) print('file bytes',p.stat().st_size) print('slides',len(prs.slides),'shapes',sum(len(s.shapes) for s in prs.slides)) print('out_of_bounds',issues) PY

Editing File

~/parathyroid_presentation/src/create_presentation.py

Successfully replaced 1 instance(s) of the string in '/tmp/workspace/parathyroid_presentation/src/create_presentation.py'
Running Command

python "/tmp/workspace/parathyroid_presentation/src/create_presentation.py" && python - <<'PY' from pptx import Presentation from pathlib import Path p=Path('/tmp/workspace/parathyroid_presentation/output/Applied_Anatomy_of_Parathyroid_and_Diseases.pptx') prs=Presentation(p); W,H=prs.slide_width,prs.slide_height issues=[] for i,s in enumerate(prs.slides,1): for j,sh in enumerate(s.shapes,1): if sh.left < 0 or sh.top < 0 or sh.left+sh.width > W or sh.top+sh.height > H: issues.append((i,j)) print(f'slides={len(prs.slides)} file_bytes={p.stat().st_size} out_of_bounds={issues}') PY

Created a 13-slide teaching presentation on applied anatomy of the parathyroid glands and related diseases. It includes:
  • Posterior thyroid and parathyroid anatomical diagram
  • Embryology and ectopic-gland pathway diagram
  • PTH physiology flow diagram
  • Calcium-PTH disease pattern table
  • PHPT diagnostic and surgical flowchart
  • Secondary, tertiary, and hypoparathyroidism
  • Operative landmarks and thyroidectomy safety checklist
  • Selected references

Applied Anatomy of Parathyroid and Diseases

Presentation · PPTX

Add clinical imaging and operative anatomy diagrams

Reading File
Reading File
Browsing Directory

~/

Reading File
Reading File
query_images_db
query_images_db
Searching Images

parathyroid adenoma sestamibi scan ultrasound clinical imaging figure

Searching Images

parathyroid surgical anatomy recurrent laryngeal nerve inferior thyroid artery operative diagram

Searching the Web

parathyroid adenoma ultrasound sestamibi surgical anatomy image clinical imaging

Browsing Directory

~/parathyroid_presentation/

Reading File
Reading Web Page

https://pmc.ncbi.nlm.nih.gov/articles/PMC11274996

Finding Sources
Loading Image
Loading Image
Loading Image
query_images_db
!

Error code: 400 - {'error': {'message': 'Your input image may contain content that is not allowed by our content safety system.', 'type': 'invalid_request_error', 'param': None, 'code': 'content_policy_violation'}}

We encountered an error while processing your request. Please try again or reach out to us for help.

Take reference form bailey and love

!

Error code: 400 - {'error': {'message': 'Your input image may contain content that is not allowed by our content safety system.', 'type': 'invalid_request_error', 'param': None, 'code': 'content_policy_violation'}}

We encountered an error while processing your request. Please try again or reach out to us for help.

Take reference form bailey and love

!

Error code: 400 - {'error': {'message': 'Your input image may contain content that is not allowed by our content safety system.', 'type': 'invalid_request_error', 'param': None, 'code': 'content_policy_violation'}}

We encountered an error while processing your request. Please try again or reach out to us for help.

Take reference form bailey and love

!

Error code: 400 - {'error': {'message': 'Your input image may contain content that is not allowed by our content safety system.', 'type': 'invalid_request_error', 'param': None, 'code': 'content_policy_violation'}}

We encountered an error while processing your request. Please try again or reach out to us for help.

Make a presentation on applied anatomy of parathyroid and diseases. Also include diagram and flowcharts. Taking reference form bailey and love

!

Error code: 400 - {'error': {'message': 'Your input image may contain content that is not allowed by our content safety system.', 'type': 'invalid_request_error', 'param': None, 'code': 'content_policy_violation'}}

We encountered an error while processing your request. Please try again or reach out to us for help.

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