Hi
Who are you
Are you gpt or claude
What is headache?
"headache disorders"[MeSH Terms] AND "classification"
| Type | Meaning | Common examples |
|---|---|---|
| Primary | The headache is the disease itself. There is no underlying structural cause. | Tension-type headache, migraine, cluster headache |
| Secondary | The headache is a symptom of another condition. | Meningitis, subarachnoid hemorrhage, tumor, giant cell arteritis, sinusitis, medication overuse, raised or low CSF pressure, post-traumatic headache |
Create ppt on it
headache pain-sensitive structures of the head diagram
migraine tension-type cluster headache pain distribution
ls -la /tmp/workspace/
mkdir -p /tmp/workspace/headache-ppt/output && cat > /tmp/workspace/headache-ppt/build.py << 'EOF' from pptx import Presentation from pptx.util import Inches, Pt from pptx.dml.color import RGBColor from pptx.enum.text import PP_ALIGN, MSO_ANCHOR from pptx.enum.shapes import MSO_SHAPE NAVY=RGBColor(0x14,0x2B,0x4D); TEAL=RGBColor(0x1F,0x8A,0x8A); LIGHT=RGBColor(0xF2,0xF6,0xF9) RED=RGBColor(0xC0,0x39,0x2B); GREY=RGBColor(0x44,0x4F,0x5A); WHITE=RGBColor(255,255,255) MID=RGBColor(0xDD,0xE7,0xEE) prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5) blank=prs.slide_layouts[6] def rect(s,x,y,w,h,fill,line=None,shape=MSO_SHAPE.RECTANGLE): r=s.shapes.add_shape(shape,Inches(x),Inches(y),Inches(w),Inches(h)) r.fill.solid(); r.fill.fore_color.rgb=fill if line: r.line.color.rgb=line else: r.line.fill.background() r.shadow.inherit=False return r def text(s,x,y,w,h,t,size=16,bold=False,color=GREY,align=PP_ALIGN.LEFT,anchor=MSO_ANCHOR.TOP): tb=s.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=tb.text_frame; tf.word_wrap=True tf.vertical_anchor=anchor tf.margin_left=tf.margin_right=Inches(0.05) lines=t if isinstance(t,list) else [t] for i,l in enumerate(lines): p=tf.paragraphs[0] if i==0 else tf.add_paragraph() p.alignment=align r=p.add_run(); r.text=l; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color; r.font.name="Calibri" p.space_after=Pt(6) return tb def bullets(s,x,y,w,h,items,size=16,color=GREY): tb=s.shapes.add_textbox(Inches(x),Inches(y),Inches(w),Inches(h)); tf=tb.text_frame; tf.word_wrap=True for i,l in enumerate(items): p=tf.paragraphs[0] if i==0 else tf.add_paragraph() r=p.add_run(); r.text="\u2022 "+l; r.font.size=Pt(size); r.font.color.rgb=color; r.font.name="Calibri" p.space_after=Pt(9) return tb def header(s,title,n): rect(s,0,0,13.333,1.1,NAVY) rect(s,0,1.1,13.333,0.06,TEAL) text(s,0.6,0.15,12,0.8,title,30,True,WHITE,anchor=MSO_ANCHOR.MIDDLE) text(s,12.2,7.05,1,0.3,str(n),11,False,GREY,PP_ALIGN.RIGHT) def notes(s,t): s.notes_slide.notes_text_frame.text=t # 1 Title s=prs.slides.add_slide(blank) rect(s,0,0,13.333,7.5,NAVY); rect(s,0.8,3.55,2.5,0.07,TEAL) text(s,0.8,2.0,11.5,1.5,"Headache",54,True,WHITE) text(s,0.8,3.8,11.5,1,"Definition, classification, red flags and approach",24,False,MID) text(s,0.8,6.4,11.5,0.5,"Educational overview. Not a substitute for clinical judgment.",13,False,MID) # 2 What is headache s=prs.slides.add_slide(blank); header(s,"What is a headache?",2) text(s,0.6,1.5,12,1,"Pain felt in the head, and sometimes the face or upper neck. It is one of the most common symptoms in medicine.",20,False,NAVY) cards=[("Symptom or disease","Can be a symptom of another condition (secondary) or the disease itself (primary)."), ("Very common","Most people have at least one headache in their lifetime. Most are primary and benign."), ("Key task","Separate the benign, common types from the few dangerous causes that need urgent action.")] for i,(h,b) in enumerate(cards): x=0.6+i*4.1 rect(s,x,3.0,3.8,3.4,LIGHT); rect(s,x,3.0,3.8,0.08,TEAL) text(s,x+0.2,3.25,3.4,0.6,h,20,True,NAVY) text(s,x+0.2,4.0,3.4,2.3,b,16) notes(s,"Headache is pain in the head, face or upper neck. The clinical task is to separate benign primary headaches from dangerous secondary causes.") # 3 Pathophysiology s=prs.slides.add_slide(blank); header(s,"Where headache pain comes from",3) rect(s,0.6,1.5,5.9,4.9,LIGHT); rect(s,6.8,1.5,5.9,4.9,LIGHT) text(s,0.8,1.6,5.5,0.5,"Pain-insensitive",20,True,TEAL) bullets(s,0.8,2.2,5.5,4,["Brain tissue itself is almost totally insensitive to pain","Stimulating the cerebral cortex rarely causes pain","So most headache pain does not arise from damage in the brain itself"],16) text(s,7.0,1.6,5.5,0.5,"Pain-sensitive",20,True,RED) bullets(s,7.0,2.2,5.5,4,["Venous sinuses and the tentorium","Dura at the base of the brain","Meningeal blood vessels, especially the middle meningeal artery","Structures outside the skull, such as the nasal sinuses"],16) text(s,0.6,6.5,12,0.5,"Pain from deep structures is often referred to the surface of the head.",15,True,NAVY) text(s,0.6,6.9,10,0.4,"Source: Guyton and Hall Textbook of Medical Physiology",11,False,GREY) # 4 Classification s=prs.slides.add_slide(blank); header(s,"Classification: primary vs secondary",4) rect(s,0.6,1.5,5.9,4.9,LIGHT); rect(s,0.6,1.5,5.9,0.7,TEAL) text(s,0.8,1.5,5.5,0.7,"Primary: the headache is the disease",19,True,WHITE,anchor=MSO_ANCHOR.MIDDLE) bullets(s,0.8,2.45,5.5,3.8,["Tension-type headache","Migraine (with or without aura)","Cluster headache and other trigeminal autonomic cephalalgias","Make up the large majority of cases","No structural cause found"],17) rect(s,6.8,1.5,5.9,4.9,LIGHT); rect(s,6.8,1.5,5.9,0.7,RED) text(s,7.0,1.5,5.5,0.7,"Secondary: a symptom of another condition",19,True,WHITE,anchor=MSO_ANCHOR.MIDDLE) bullets(s,7.0,2.45,5.5,3.8,["Meningitis or encephalitis","Subarachnoid hemorrhage","Tumor, raised or low CSF pressure","Giant cell arteritis","Sinusitis","Medication overuse","Post-traumatic headache"],17) # 5 Primary comparison table s=prs.slides.add_slide(blank); header(s,"Common primary headaches compared",5) cols=["","Tension-type","Migraine","Cluster"] rows=[("Location","Bilateral, band-like","Often unilateral","Strictly one-sided, around the eye"), ("Quality","Pressing, tightening","Throbbing, pulsating","Severe, boring, stabbing"), ("Intensity","Mild to moderate","Moderate to severe","Very severe"), ("Duration","30 min to 7 days","4 to 72 hours","15 to 180 minutes"), ("Associated","Usually none","Nausea, light and sound sensitivity, aura in some","Tearing, runny nose, drooping lid on same side"), ("Activity","Not worsened","Worsened; patient prefers rest","Restless, paces")] tbl=s.shapes.add_table(len(rows)+1,4,Inches(0.6),Inches(1.5),Inches(12.1),Inches(5.0)).table widths=[1.9,3.3,3.5,3.4] for i,w in enumerate(widths): tbl.columns[i].width=Inches(w) def cell(c,t,bold=False,fill=None,color=GREY,size=15): c.text=""; p=c.text_frame.paragraphs[0]; r=p.add_run(); r.text=t r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color; r.font.name="Calibri" c.vertical_anchor=MSO_ANCHOR.MIDDLE if fill is not None: c.fill.solid(); c.fill.fore_color.rgb=fill for j,h in enumerate(cols): cell(tbl.cell(0,j),h,True,NAVY,WHITE,16) for i,r_ in enumerate(rows,1): for j,v in enumerate(r_): cell(tbl.cell(i,j),v,j==0,LIGHT if i%2 else WHITE,NAVY if j==0 else GREY) # 6 Red flags s=prs.slides.add_slide(blank); header(s,"Red flags: think secondary headache",6) flags=["Sudden thunderclap onset, or worst headache of life","Fever with neck stiffness","New headache after age 50; jaw pain or scalp tenderness","Neurological deficit, confusion, seizure, reduced consciousness","Headache after head injury","Progressive pattern, or pain that wakes from sleep or worsens with cough or straining","Pregnancy, cancer or immunocompromise"] for i,f in enumerate(flags): col=i%2; row=i//2 x=0.6+col*6.15; y=1.5+row*1.35 rect(s,x,y,5.95,1.2,LIGHT); rect(s,x,y,0.12,1.2,RED) text(s,x+0.3,y,5.5,1.2,f,16,False,GREY,anchor=MSO_ANCHOR.MIDDLE) text(s,0.6,6.75,12,0.4,"Any red flag calls for prompt evaluation, often with neuroimaging and sometimes lumbar puncture.",14,True,NAVY) # 7 Approach s=prs.slides.add_slide(blank); header(s,"Approach to the patient",7) steps=[("1","History","Onset, duration, location, quality, triggers, associated symptoms, medication use"), ("2","Examination","Vitals, neurological exam, fundi, neck, temporal arteries, sinuses"), ("3","Screen red flags","Decide if urgent investigation is needed"), ("4","Investigate if needed","CT or MRI, CT angiography, lumbar puncture, ESR and CRP"), ("5","Diagnose and treat","Classify as primary or secondary and act accordingly")] for i,(n,h,b) in enumerate(steps): y=1.5+i*1.05 c=rect(s,0.6,y,0.8,0.8,TEAL,shape=MSO_SHAPE.OVAL) text(s,0.6,y,0.8,0.8,n,22,True,WHITE,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) text(s,1.7,y,3.2,0.8,h,20,True,NAVY,anchor=MSO_ANCHOR.MIDDLE) text(s,5.0,y,7.7,0.8,b,16,anchor=MSO_ANCHOR.MIDDLE) # 8 Management s=prs.slides.add_slide(blank); header(s,"Management overview",8) mg=[("Tension-type",["Simple analgesics: acetaminophen or NSAIDs","Non-drug: rest, exercise, stress management","Amitriptyline for frequent or chronic cases"]), ("Migraine",["Acute: NSAIDs, triptans, antiemetics","Newer acute options: gepants","Prevention: beta-blockers, topiramate, CGRP-targeted therapy","Avoid triggers"]), ("Cluster",["Acute: 100% high-flow oxygen, subcutaneous sumatriptan","Prevention: verapamil","Specialist care advised"])] for i,(h,b) in enumerate(mg): x=0.6+i*4.1 rect(s,x,1.5,3.8,4.7,LIGHT); rect(s,x,1.5,3.8,0.7,NAVY) text(s,x+0.1,1.5,3.6,0.7,h,20,True,WHITE,PP_ALIGN.CENTER,MSO_ANCHOR.MIDDLE) bullets(s,x+0.15,2.4,3.5,3.8,b,15) text(s,0.6,6.4,12,0.8,"Limit frequent use of acute pain medicines to avoid medication-overuse headache. Drug choice and dose depend on the patient; confirm against current guidelines.",14,True,NAVY) # 9 Pregnancy s=prs.slides.add_slide(blank); header(s,"Headache in pregnancy",9) rect(s,0.6,1.5,5.9,4.8,LIGHT); rect(s,6.8,1.5,5.9,4.8,LIGHT) text(s,0.8,1.6,5.5,0.5,"Tension-type",20,True,TEAL) bullets(s,0.8,2.2,5.5,4,["Most common headache in pregnancy","Not linked to pregnancy hormones","Rest, moist heat, massage, exercise, avoiding triggers, cognitive behavioral therapy","Acetaminophen at usual doses is considered safe","Tricyclics such as amitriptyline or nortriptyline for severe cases"],15) text(s,7.0,1.6,5.5,0.5,"Migraine",20,True,TEAL) bullets(s,7.0,2.2,5.5,4,["More than 80% improve, about 15% unchanged, about 5% worsen","Usually lessens in the 2nd and 3rd trimesters","New migraine with aura needs a full search for other causes","Linked to higher risk of preeclampsia and peripartum stroke"],15) text(s,0.6,6.5,12,0.4,"Source: Bradley and Daroff's Neurology in Clinical Practice",11) # 10 Takeaways s=prs.slides.add_slide(blank); header(s,"Key takeaways",10) tk=["Headache arises from pain-sensitive structures around the brain, not the brain tissue itself.","Most headaches are primary: tension-type, migraine or cluster.","Secondary headaches are less common but can be dangerous.","Screen every patient for red flags before labeling a headache benign.","Treat by type, and limit acute medication use to avoid overuse headache."] for i,t in enumerate(tk): y=1.5+i*1.0 rect(s,0.6,y,12.1,0.85,LIGHT); rect(s,0.6,y,0.12,0.85,TEAL) text(s,0.95,y,11.6,0.85,t,17,False,GREY,anchor=MSO_ANCHOR.MIDDLE) text(s,0.6,6.65,12,0.5,"References: Guyton and Hall Textbook of Medical Physiology; Bradley and Daroff's Neurology in Clinical Practice.",12) prs.save("/tmp/workspace/headache-ppt/output/Headache_Overview.pptx") EOF python /tmp/workspace/headache-ppt/build.py && ls -la /tmp/workspace/headache-ppt/output
Headache Overview
Presentation · PPTX