Give me standard ppt on high risk neonate management
/tmp/workspace
mkdir -p /tmp/workspace/high_risk_neonate/output && ls -la /tmp/workspace/high_risk_neonate
~/high_risk_neonate/build_ppt.py
from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.enum.shapes import MSO_SHAPE
from pptx.oxml.ns import qn
# ---------- Theme ----------
NAVY = RGBColor(0x0B, 0x3D, 0x5C)
TEAL = RGBColor(0x11, 0x8A, 0x8F)
LIGHT_TEAL = RGBColor(0xE6, 0xF6, 0xF6)
ACCENT = RGBColor(0xF2, 0x9E, 0x4C)
WHITE = RGBColor(0xFF, 0xFF, 0xFF)
DARK_GREY = RGBColor(0x33, 0x33, 0x33)
LIGHT_GREY = RGBColor(0xF4, 0xF6, 0xF7)
prs = Presentation()
prs.slide_width = Inches(13.333)
prs.slide_height = Inches(7.5)
SW, SH = prs.slide_width, prs.slide_height
blank = prs.slide_layouts[6]
def add_slide():
return prs.slides.add_slide(blank)
def set_background(slide, color):
bg = slide.background
bg.fill.solid()
bg.fill.fore_color.rgb = color
def add_rect(slide, x, y, w, h, color, line=False):
shp = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, x, y, w, h)
shp.fill.solid()
shp.fill.fore_color.rgb = color
if line:
shp.line.color.rgb = color
else:
shp.line.fill.background()
shp.shadow.inherit = False
return shp
def add_text(slide, x, y, w, h, text, size=18, color=DARK_GREY, bold=False,
align=PP_ALIGN.LEFT, font="Calibri", anchor=MSO_ANCHOR.TOP, italic=False,
line_spacing=1.0):
tb = slide.shapes.add_textbox(x, y, w, h)
tf = tb.text_frame
tf.word_wrap = True
tf.vertical_anchor = anchor
tf.margin_left = 0
tf.margin_right = 0
tf.margin_top = 0
tf.margin_bottom = 0
lines = text.split("\n")
for i, line in enumerate(lines):
p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
p.text = line
p.alignment = align
p.line_spacing = line_spacing
r = p.runs[0]
r.font.size = Pt(size)
r.font.bold = bold
r.font.italic = italic
r.font.name = font
r.font.color.rgb = color
return tb
def add_bullets(slide, x, y, w, h, items, size=16, color=DARK_GREY, bold_first=False,
font="Calibri", space_after=8, bullet_color=TEAL, line_spacing=1.05):
tb = slide.shapes.add_textbox(x, y, w, h)
tf = tb.text_frame
tf.word_wrap = True
tf.margin_left = 0
tf.margin_right = 0
tf.margin_top = 0
tf.margin_bottom = 0
for i, item in enumerate(items):
if isinstance(item, tuple):
txt, lvl = item
else:
txt, lvl = item, 0
p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
p.text = ("• " if lvl == 0 else "- ") + txt
p.level = 0
p.space_after = Pt(space_after)
p.line_spacing = line_spacing
r = p.runs[0]
r.font.size = Pt(size - (2 if lvl else 0))
r.font.name = font
r.font.color.rgb = color if lvl == 0 else RGBColor(0x55,0x55,0x55)
if lvl:
p.text = " - " + txt
return tb
def slide_header(slide, kicker, title, num, total=18):
set_background(slide, WHITE)
add_rect(slide, 0, 0, SW, Inches(1.15), NAVY)
add_rect(slide, 0, Inches(1.15), SW, Inches(0.06), ACCENT)
add_text(slide, Inches(0.55), Inches(0.12), Inches(10), Inches(0.35), kicker.upper(),
size=13, color=ACCENT, bold=True)
add_text(slide, Inches(0.55), Inches(0.42), Inches(11.5), Inches(0.65), title,
size=28, color=WHITE, bold=True)
add_text(slide, Inches(12.4), Inches(0.4), Inches(0.7), Inches(0.4), f"{num:02d}",
size=16, color=WHITE, bold=True, align=PP_ALIGN.RIGHT)
# footer
add_rect(slide, 0, SH-Inches(0.32), SW, Inches(0.32), LIGHT_GREY)
add_text(slide, Inches(0.55), SH-Inches(0.32), Inches(8), Inches(0.32),
"High-Risk Neonate: Identification & Management", size=10, color=RGBColor(0x88,0x88,0x88),
anchor=MSO_ANCHOR.MIDDLE)
add_text(slide, Inches(11.8), SH-Inches(0.32), Inches(1.0), Inches(0.32), f"{num}/{total}",
size=10, color=RGBColor(0x88,0x88,0x88), align=PP_ALIGN.RIGHT, anchor=MSO_ANCHOR.MIDDLE)
def content_area():
return Inches(0.55), Inches(1.5), Inches(12.2), Inches(5.5)
TOTAL = 18
# ============= SLIDE 1: TITLE =============
s = add_slide()
set_background(s, NAVY)
add_rect(s, 0, Inches(5.6), SW, Inches(1.9), TEAL)
add_rect(s, 0, Inches(5.55), SW, Inches(0.06), ACCENT)
add_text(s, Inches(0.9), Inches(2.1), Inches(11.5), Inches(1.2), "HIGH-RISK NEONATE",
size=50, color=WHITE, bold=True)
add_text(s, Inches(0.9), Inches(3.15), Inches(11), Inches(0.9), "Identification, Classification & Management",
size=26, color=ACCENT, bold=False)
add_text(s, Inches(0.9), Inches(6.0), Inches(10), Inches(0.4), "Neonatal Care | Nursing & Clinical Practice",
size=16, color=WHITE, bold=True)
add_text(s, Inches(0.9), Inches(6.45), Inches(10), Inches(0.4), "A structured overview for clinical and nursing education",
size=13, color=RGBColor(0xDD,0xEE,0xEE), italic=True)
prs.save("/tmp/workspace/high_risk_neonate/output/tmp.pptx")
# ============= SLIDE 2: OVERVIEW / AGENDA =============
s = add_slide()
slide_header(s, "Agenda", "What We Will Cover", 2, TOTAL)
x, y, w, h = content_area()
topics = [
"Definition of a high-risk neonate",
"Classification by weight, gestation & pathophysiology",
"Antenatal, intranatal & postnatal risk factors",
"Goals of high-risk neonatal management",
"Delivery room stabilization & resuscitation",
"Thermoregulation & Kangaroo Mother Care (KMC)",
"Respiratory, nutritional & fluid/glucose management",
"Infection prevention and common complications",
"Developmental care, family involvement & follow-up",
]
add_bullets(s, x, y+Inches(0.1), w, h, topics, size=18, space_after=14)
# ============= SLIDE 3: DEFINITION =============
s = add_slide()
slide_header(s, "Concept", "Definition of a High-Risk Neonate", 3, TOTAL)
x, y, w, h = content_area()
add_rect(s, x, y, Inches(6.9), Inches(2.1), LIGHT_TEAL)
add_text(s, x+Inches(0.3), y+Inches(0.25), Inches(6.3), Inches(1.7),
"A newborn, irrespective of birth weight or gestational age, who has a "
"higher-than-average chance of morbidity or mortality due to conditions "
"superimposed on the normal course of events associated with birth and "
"adjustment to independent extra-uterine life.",
size=17, color=NAVY, bold=False)
add_bullets(s, x, y+Inches(2.4), Inches(6.9), Inches(2.8), [
"Requires close observation, specialized care and monitoring",
"Managed in Special Newborn Care Units (SNCU) / NICU",
"Early identification allows timely intervention and referral",
], size=17, space_after=12)
add_rect(s, x+Inches(7.2), y, Inches(4.9), Inches(5.3), LIGHT_GREY)
add_text(s, x+Inches(7.5), y+Inches(0.25), Inches(4.3), Inches(0.4), "Why it matters", size=16, bold=True, color=TEAL)
add_bullets(s, x+Inches(7.5), y+Inches(0.75), Inches(4.3), Inches(4.4), [
"Preterm & LBW births contribute heavily to neonatal mortality",
"Most neonatal deaths occur in the first 7 days of life",
"Timely, quality care substantially reduces preventable deaths",
"Focus areas: temperature, feeding, infection, breathing, glucose",
], size=15, space_after=12)
# ============= SLIDE 4: CLASSIFICATION - WEIGHT/GESTATION =============
s = add_slide()
slide_header(s, "Classification", "By Birth Weight & Gestational Age", 4, TOTAL)
x, y, w, h = content_area()
add_text(s, x, y, w, Inches(0.4), "Birth Weight Categories", size=17, bold=True, color=TEAL)
rows1 = [
("Low Birth Weight (LBW)", "< 2500 g"),
("Very Low Birth Weight (VLBW)", "< 1500 g"),
("Extremely Low Birth Weight (ELBW)", "< 1000 g"),
]
yy = y+Inches(0.5)
for label, val in rows1:
add_rect(s, x, yy, Inches(5.9), Inches(0.55), LIGHT_TEAL)
add_text(s, x+Inches(0.2), yy, Inches(4.0), Inches(0.55), label, size=14, color=NAVY, bold=True, anchor=MSO_ANCHOR.MIDDLE)
add_text(s, x+Inches(4.2), yy, Inches(1.6), Inches(0.55), val, size=14, color=NAVY, bold=True, align=PP_ALIGN.RIGHT, anchor=MSO_ANCHOR.MIDDLE)
yy += Inches(0.68)
add_text(s, x, yy+Inches(0.15), w, Inches(0.4), "Gestational Age Categories", size=17, bold=True, color=TEAL)
rows2 = [
("Preterm", "< 37 completed weeks"),
("Late preterm", "34-36 6/7 weeks"),
("Term", "37-41 6/7 weeks"),
("Post-term", "> 42 weeks"),
]
yy2 = yy+Inches(0.65)
for label, val in rows2:
add_rect(s, x, yy2, Inches(5.9), Inches(0.55), LIGHT_GREY)
add_text(s, x+Inches(0.2), yy2, Inches(4.0), Inches(0.55), label, size=14, color=DARK_GREY, bold=True, anchor=MSO_ANCHOR.MIDDLE)
add_text(s, x+Inches(4.2), yy2, Inches(1.6), Inches(0.55), val, size=14, color=DARK_GREY, bold=True, align=PP_ALIGN.RIGHT, anchor=MSO_ANCHOR.MIDDLE)
yy2 += Inches(0.62)
add_rect(s, x+Inches(6.3), y, Inches(5.8), Inches(5.3), LIGHT_GREY)
add_text(s, x+Inches(6.6), y+Inches(0.25), Inches(5.2), Inches(0.4), "Weight-for-Gestation Categories", size=16, bold=True, color=TEAL)
add_bullets(s, x+Inches(6.6), y+Inches(0.8), Inches(5.2), Inches(4.3), [
"Appropriate for Gestational Age (AGA) - weight between 10th and 90th percentile",
"Small for Gestational Age (SGA) - weight below 10th percentile (IUGR)",
"Large for Gestational Age (LGA) - weight above 90th percentile (e.g., infant of diabetic mother)",
], size=15, space_after=16)
# ============= SLIDE 5: CLASSIFICATION - PATHOPHYSIOLOGY =============
s = add_slide()
slide_header(s, "Classification", "By Pathophysiological Groups", 5, TOTAL)
x, y, w, h = content_area()
groups = [
("Prenatal onset", "IUGR, congenital anomalies, TORCH infections, chromosomal disorders, multiple gestation"),
("Natal (intrapartum) onset", "Birth asphyxia, birth trauma, meconium aspiration syndrome"),
("Neonatal onset", "Prematurity, RDS, sepsis, hyperbilirubinemia, hypoglycemia, hypothermia"),
("Maternal-condition related", "Infant of diabetic mother, PIH/pre-eclampsia, Rh-isoimmunization, maternal substance use"),
]
colw = Inches(5.95)
positions = [(x, y), (x+colw+Inches(0.3), y), (x, y+Inches(2.55)), (x+colw+Inches(0.3), y+Inches(2.55))]
colors = [TEAL, NAVY, ACCENT, TEAL]
for (gx, gy), (label, desc), col in zip(positions, groups, colors):
add_rect(s, gx, gy, colw, Inches(2.3), LIGHT_GREY)
add_rect(s, gx, gy, Inches(0.12), Inches(2.3), col)
add_text(s, gx+Inches(0.35), gy+Inches(0.2), colw-Inches(0.6), Inches(0.5), label, size=17, bold=True, color=NAVY)
add_text(s, gx+Inches(0.35), gy+Inches(0.75), colw-Inches(0.6), Inches(1.4), desc, size=14, color=DARK_GREY)
# ============= SLIDE 6: RISK FACTORS TIMELINE =============
s = add_slide()
slide_header(s, "Risk Factors", "Antenatal, Intranatal & Postnatal Risk Factors", 6, TOTAL)
x, y, w, h = content_area()
cols = [
("ANTENATAL", NAVY, [
"Maternal age <18 or >35 years",
"Pregnancy-induced hypertension / pre-eclampsia",
"Diabetes mellitus / gestational diabetes",
"Multiple pregnancy, polyhydramnios/oligohydramnios",
"Antepartum hemorrhage, Rh-isoimmunization",
"Poor antenatal care, malnutrition, infections",
]),
("INTRANATAL", TEAL, [
"Prolonged or obstructed labor",
"Cord prolapse, abnormal presentation",
"Meconium-stained liquor",
"Instrumental / operative delivery",
"Prematurity or post-maturity at delivery",
"Low Apgar score, birth asphyxia",
]),
("POSTNATAL", ACCENT, [
"Low birth weight / prematurity",
"Respiratory distress, cyanosis",
"Poor feeding, lethargy, hypothermia",
"Hypoglycemia, jaundice within 24 hours",
"Congenital malformations",
"Signs of sepsis / seizures",
]),
]
colw = Inches(3.95)
for i, (title, col, items) in enumerate(cols):
cx = x + i*(colw+Inches(0.16))
add_rect(s, cx, y, colw, Inches(0.55), col)
add_text(s, cx, y, colw, Inches(0.55), title, size=16, bold=True, color=WHITE, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
add_rect(s, cx, y+Inches(0.55), colw, Inches(4.5), LIGHT_GREY)
add_bullets(s, cx+Inches(0.2), y+Inches(0.75), colw-Inches(0.4), Inches(4.2), items, size=13, space_after=10)
# ============= SLIDE 7: GOALS OF MANAGEMENT =============
s = add_slide()
slide_header(s, "Principles", "Goals of High-Risk Neonatal Management", 7, TOTAL)
x, y, w, h = content_area()
goals = [
"Early identification of the at-risk neonate before/at birth",
"Effective resuscitation and stabilization immediately after birth",
"Maintenance of a neutral thermal environment (prevent hypothermia)",
"Ensuring adequate oxygenation, ventilation and perfusion",
"Early and adequate nutrition; prevention of hypoglycemia",
"Prevention, early detection and treatment of infection",
"Continuous monitoring of vital signs, weight and biochemical parameters",
"Minimizing handling and painful procedures (developmental care)",
"Family involvement, counselling and structured follow-up after discharge",
]
add_bullets(s, x, y+Inches(0.1), Inches(12.2), h, goals, size=18, space_after=15)
# ============= SLIDE 8: DELIVERY ROOM STABILIZATION =============
s = add_slide()
slide_header(s, "Immediate Care", "Delivery Room Stabilization & Resuscitation", 8, TOTAL)
x, y, w, h = content_area()
add_text(s, x, y, w, Inches(0.4), "The 'Golden Minute' - Initial Steps (Warm chain approach)", size=17, bold=True, color=TEAL)
steps = ["Warm & Dry", "Position / Clear airway", "Stimulate & Assess breathing", "Assess Heart Rate", "PPV if HR<100 / apnea", "Escalate: chest compressions, drugs if needed"]
colw = Inches(2.0)
gap = Inches(0.05)
yy = y+Inches(0.65)
for i, step in enumerate(steps):
cx = x + i*(colw+gap)
col = TEAL if i < 3 else (ACCENT if i < 5 else NAVY)
add_rect(s, cx, yy, colw, Inches(1.3), col)
add_text(s, cx+Inches(0.08), yy+Inches(0.08), colw-Inches(0.16), Inches(1.15), step, size=12.5, color=WHITE, bold=True, align=PP_ALIGN.CENTER, anchor=MSO_ANCHOR.MIDDLE)
if i < len(steps)-1:
add_text(s, cx+colw, yy+Inches(0.35), gap+Inches(0.05), Inches(0.6), "", size=10)
add_rect(s, x, yy+Inches(1.6), Inches(12.2), Inches(2.3), LIGHT_GREY)
add_text(s, x+Inches(0.25), yy+Inches(1.8), Inches(11.7), Inches(0.4), "Key Points", size=15, bold=True, color=NAVY)
add_bullets(s, x+Inches(0.25), yy+Inches(2.2), Inches(11.7), Inches(1.6), [
"Most newborns need only warming, drying, and stimulation - not resuscitation",
"Use room air / titrated oxygen with pulse oximetry; avoid hyperoxia in preterm infants",
"Delayed cord clamping (30-60 sec) for vigorous term/preterm infants who do not need resuscitation",
"Have equipment checklist and a trained team ready before every high-risk delivery",
], size=14, space_after=8)
# ============= SLIDE 9: THERMOREGULATION =============
s = add_slide()
slide_header(s, "Core Care", "Thermoregulation & Kangaroo Mother Care (KMC)", 9, TOTAL)
x, y, w, h = content_area()
add_rect(s, x, y, Inches(5.9), Inches(5.3), LIGHT_TEAL)
add_text(s, x+Inches(0.3), y+Inches(0.2), Inches(5.3), Inches(0.4), "Warm Chain - Prevent Hypothermia", size=16, bold=True, color=NAVY)
add_bullets(s, x+Inches(0.3), y+Inches(0.75), Inches(5.3), Inches(4.4), [
"Dry immediately, remove wet linen, cover head",
"Skin-to-skin contact with mother right after birth",
"Delay bathing; maintain warm delivery/transport environment",
"Use radiant warmer / incubator for sick or very preterm infants",
"Maintain axillary temperature 36.5-37.5°C (normothermia)",
"Warm resuscitation surface, warmed IV fluids/oxygen if used",
], size=14.5, space_after=12)
add_rect(s, x+Inches(6.3), y, Inches(5.8), Inches(5.3), LIGHT_GREY)
add_text(s, x+Inches(6.6), y+Inches(0.2), Inches(5.2), Inches(0.4), "Kangaroo Mother Care (KMC)", size=16, bold=True, color=TEAL)
add_bullets(s, x+Inches(6.6), y+Inches(0.75), Inches(5.2), Inches(4.4), [
"Early, continuous, prolonged skin-to-skin contact",
"Exclusive breastfeeding wherever possible",
"Started in hospital, continued at home",
"Adequate support to the mother-baby dyad",
"Improves thermal stability, weight gain & breastfeeding rates",
"Reduces risk of hospital-acquired infection and mortality in LBW infants",
], size=14.5, space_after=12)
# ============= SLIDE 10: RESPIRATORY MANAGEMENT =============
s = add_slide()
slide_header(s, "Systems Care", "Respiratory Support & Monitoring", 10, TOTAL)
x, y, w, h = content_area()
add_bullets(s, x, y, Inches(6.0), h, [
"Position: neutral/slight extension of neck, clear airway secretions",
"Continuous monitoring: respiratory rate, SpO2, work of breathing (grunting, retractions, flaring)",
"Oxygen therapy titrated to target saturation via pulse oximetry",
"CPAP for infants with respiratory distress syndrome (RDS)",
"Surfactant therapy for surfactant-deficient preterm infants",
"Mechanical ventilation for severe respiratory failure or apnea",
"Apnea monitoring in preterm infants; tactile stimulation, caffeine if indicated",
], size=16, space_after=14)
add_rect(s, x+Inches(6.4), y, Inches(5.7), Inches(5.3), LIGHT_TEAL)
add_text(s, x+Inches(6.7), y+Inches(0.2), Inches(5.1), Inches(0.4), "Common Respiratory Problems", size=15, bold=True, color=NAVY)
add_bullets(s, x+Inches(6.7), y+Inches(0.75), Inches(5.1), Inches(4.3), [
"Respiratory Distress Syndrome (surfactant deficiency)",
"Transient Tachypnea of the Newborn (TTN)",
"Meconium Aspiration Syndrome",
"Apnea of prematurity",
"Persistent Pulmonary Hypertension of the Newborn",
], size=14.5, space_after=12)
# ============= SLIDE 11: NUTRITION & FLUID/GLUCOSE =============
s = add_slide()
slide_header(s, "Systems Care", "Nutrition, Fluid & Glucose Management", 11, TOTAL)
x, y, w, h = content_area()
add_rect(s, x, y, Inches(5.9), Inches(5.3), LIGHT_GREY)
add_text(s, x+Inches(0.3), y+Inches(0.2), Inches(5.3), Inches(0.4), "Nutrition & Feeding", size=16, bold=True, color=TEAL)
add_bullets(s, x+Inches(0.3), y+Inches(0.75), Inches(5.3), Inches(4.4), [
"Early initiation of breastfeeding within 1 hour of birth",
"Expressed breast milk via cup/spoon or gavage if unable to suck",
"Total Parenteral Nutrition (TPN) for very sick / ELBW infants",
"Gradual advancement of enteral feeds; monitor for feed intolerance",
"Track daily weight, watch for signs of Necrotizing Enterocolitis",
], size=14.5, space_after=12)
add_rect(s, x+Inches(6.3), y, Inches(5.8), Inches(5.3), LIGHT_TEAL)
add_text(s, x+Inches(6.6), y+Inches(0.2), Inches(5.2), Inches(0.4), "Fluid, Electrolyte & Glucose Care", size=16, bold=True, color=NAVY)
add_bullets(s, x+Inches(6.6), y+Inches(0.75), Inches(5.2), Inches(4.4), [
"IV fluids calculated per weight, gestation & day of life",
"Monitor for hypoglycemia (blood glucose <45-50 mg/dL) - screen at-risk infants",
"Treat hypoglycemia promptly with feeds or IV dextrose",
"Monitor electrolytes, especially in ELBW / sick infants",
"Watch urine output and weight trends to guide fluid therapy",
], size=14.5, space_after=12)
# ============= SLIDE 12: INFECTION PREVENTION =============
s = add_slide()
slide_header(s, "Systems Care", "Infection Prevention & Sepsis Management", 12, TOTAL)
x, y, w, h = content_area()
add_text(s, x, y, w, Inches(0.4), "Prevention", size=17, bold=True, color=TEAL)
add_bullets(s, x, y+Inches(0.5), Inches(12.2), Inches(1.8), [
"Strict hand hygiene before and after handling every infant",
"Aseptic cord care; minimize unnecessary invasive procedures/lines",
"Restrict unnecessary handling and visitors in NICU/SNCU",
"Screen and treat maternal infections (e.g., GBS prophylaxis)",
], size=15, space_after=8)
add_text(s, x, y+Inches(2.5), w, Inches(0.4), "Recognition & Management of Neonatal Sepsis", size=17, bold=True, color=TEAL)
add_bullets(s, x, y+Inches(3.0), Inches(12.2), Inches(2.2), [
"Early warning signs: temperature instability, lethargy, poor feeding, apnea, respiratory distress, abdominal distension",
"Sepsis screen: CBC, CRP, blood culture as indicated; lumbar puncture if meningitis suspected",
"Prompt empirical broad-spectrum antibiotics while awaiting culture results",
"Supportive care: thermoregulation, oxygenation, fluid & glucose support",
], size=15, space_after=8)
# ============= SLIDE 13: MONITORING & JAUNDICE =============
s = add_slide()
slide_header(s, "Systems Care", "Monitoring & Hyperbilirubinemia", 13, TOTAL)
x, y, w, h = content_area()
add_rect(s, x, y, Inches(5.9), Inches(5.3), LIGHT_GREY)
add_text(s, x+Inches(0.3), y+Inches(0.2), Inches(5.3), Inches(0.4), "Routine Monitoring Parameters", size=16, bold=True, color=TEAL)
add_bullets(s, x+Inches(0.3), y+Inches(0.75), Inches(5.3), Inches(4.4), [
"Vital signs: temperature, heart rate, respiratory rate, SpO2",
"Daily weight and growth trends",
"Blood glucose, electrolytes as indicated",
"Intake-output charting, feeding tolerance",
"Neurological status and activity/tone",
"Bilirubin levels in at-risk infants",
], size=14.5, space_after=12)
add_rect(s, x+Inches(6.3), y, Inches(5.8), Inches(5.3), LIGHT_TEAL)
add_text(s, x+Inches(6.6), y+Inches(0.2), Inches(5.2), Inches(0.4), "Neonatal Hyperbilirubinemia", size=16, bold=True, color=NAVY)
add_bullets(s, x+Inches(6.6), y+Inches(0.75), Inches(5.2), Inches(4.4), [
"Jaundice appearing within first 24 hours is always pathological",
"Assess using transcutaneous/serum bilirubin against hour-specific nomograms",
"Phototherapy for significant hyperbilirubinemia",
"Exchange transfusion for severe/rapidly rising levels or signs of kernicterus",
"Ensure adequate hydration and feeding to aid bilirubin clearance",
], size=14.5, space_after=12)
# ============= SLIDE 14: DEVELOPMENTAL CARE =============
s = add_slide()
slide_header(s, "Holistic Care", "Developmentally Supportive & Family-Centered Care", 14, TOTAL)
x, y, w, h = content_area()
add_bullets(s, x, y, Inches(6.0), h, [
"Minimal handling; cluster nursing procedures together",
"Reduce ambient light and noise in the care unit",
"Positioning support (nesting) to mimic the womb",
"Non-nutritive sucking and comfort measures during procedures",
"Pain assessment and management for invasive procedures",
"Protect sleep-wake cycles as much as possible",
], size=16, space_after=14)
add_rect(s, x+Inches(6.4), y, Inches(5.7), Inches(5.3), LIGHT_TEAL)
add_text(s, x+Inches(6.7), y+Inches(0.2), Inches(5.1), Inches(0.4), "Family Involvement", size=15, bold=True, color=NAVY)
add_bullets(s, x+Inches(6.7), y+Inches(0.75), Inches(5.1), Inches(4.3), [
"Encourage parental presence and skin-to-skin contact (KMC)",
"Teach feeding, hygiene, danger-sign recognition before discharge",
"Provide emotional support and clear communication",
"Involve parents in care planning and decision-making",
], size=14.5, space_after=12)
# ============= SLIDE 15: DANGER SIGNS =============
s = add_slide()
slide_header(s, "Safety Net", "Danger Signs Requiring Urgent Attention", 15, TOTAL)
x, y, w, h = content_area()
signs = [
"Not feeding well / refusal of feeds", "Fast breathing (>60/min) or grunting",
"Severe chest indrawing / apnea episodes", "Temperature <35.5°C or >37.5°C",
"Lethargy, unconsciousness, or reduced activity", "Convulsions / abnormal movements",
"Yellow discoloration of palms & soles", "Umbilical redness/discharge, pus-filled skin lesions",
]
colw = Inches(5.95)
rowh = Inches(1.2)
for i, sgn in enumerate(signs):
cx = x + (i%2)*(colw+Inches(0.3))
cy = y + (i//2)*(rowh+Inches(0.15))
add_rect(s, cx, cy, colw, rowh, LIGHT_GREY)
add_rect(s, cx, cy, Inches(0.12), rowh, ACCENT)
add_text(s, cx+Inches(0.35), cy, colw-Inches(0.55), rowh, sgn, size=15, color=NAVY, bold=True, anchor=MSO_ANCHOR.MIDDLE)
# ============= SLIDE 16: DISCHARGE & FOLLOW-UP =============
s = add_slide()
slide_header(s, "Continuum of Care", "Discharge Planning & Follow-Up", 16, TOTAL)
x, y, w, h = content_area()
add_text(s, x, y, w, Inches(0.4), "Discharge Criteria", size=17, bold=True, color=TEAL)
add_bullets(s, x, y+Inches(0.5), Inches(12.2), Inches(1.9), [
"Stable temperature in open crib, adequate weight gain",
"Full oral feeding established, no apnea/bradycardia episodes",
"Resolved or well-controlled acute medical problems",
"Parents trained in feeding, warmth, hygiene and danger-sign recognition",
], size=15, space_after=8)
add_text(s, x, y+Inches(2.5), w, Inches(0.4), "Follow-Up Care", size=17, bold=True, color=TEAL)
add_bullets(s, x, y+Inches(3.0), Inches(12.2), Inches(2.2), [
"Scheduled visits for growth and developmental monitoring",
"Immunization as per national schedule",
"Screening: hearing, retinopathy of prematurity (ROP) for preterm infants, metabolic screening",
"Early intervention/rehabilitation referral for at-risk infants",
"Continued breastfeeding and nutritional counselling for the family",
], size=15, space_after=8)
# ============= SLIDE 17: SUMMARY =============
s = add_slide()
slide_header(s, "Recap", "Key Takeaways", 17, TOTAL)
x, y, w, h = content_area()
add_bullets(s, x, y+Inches(0.1), Inches(12.2), h, [
"A high-risk neonate has a higher chance of morbidity/mortality due to antenatal, intranatal or postnatal factors",
"Classification is based on birth weight, gestational age and pathophysiology",
"Warmth, feeding, infection control, oxygenation and glucose control are the pillars of management",
"Kangaroo Mother Care improves outcomes and is a low-cost, evidence-based intervention",
"Continuous monitoring enables early detection of complications (RDS, sepsis, jaundice, hypoglycemia)",
"Family-centered, developmentally supportive care and structured follow-up complete the care continuum",
], size=18, space_after=16)
# ============= SLIDE 18: THANK YOU / REFERENCES =============
s = add_slide()
set_background(s, NAVY)
add_rect(s, 0, Inches(5.6), SW, Inches(1.9), TEAL)
add_rect(s, 0, Inches(5.55), SW, Inches(0.06), ACCENT)
add_text(s, Inches(0.9), Inches(2.3), Inches(11), Inches(1.0), "Thank You", size=44, color=WHITE, bold=True)
add_text(s, Inches(0.9), Inches(3.3), Inches(11), Inches(0.5), "Questions & Discussion", size=20, color=ACCENT)
add_text(s, Inches(0.9), Inches(6.0), Inches(11), Inches(1.2),
"References: Park's Textbook of Preventive and Social Medicine; WHO Essential Newborn Care & KMC guidelines; "
"standard neonatology and pediatric nursing texts.",
size=12, color=RGBColor(0xDD,0xEE,0xEE), italic=True)
prs.save("/tmp/workspace/high_risk_neonate/output/High_Risk_Neonate_Management.pptx")
print("Saved. Slides:", len(prs.slides.__iter__.__self__._sldIdLst))
cd /tmp/workspace/high_risk_neonate && python build_ppt.py
~/high_risk_neonate/build_ppt.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/high_risk_neonate/build_ppt.py'
cd /tmp/workspace/high_risk_neonate && python build_ppt.py
cd /tmp/workspace/high_risk_neonate/output && python3 -c " from pptx import Presentation prs = Presentation('High_Risk_Neonate_Management.pptx') print('Slide count:', len(prs.slides)) " && ls -la /tmp/workspace/high_risk_neonate/output
rm -f /tmp/workspace/high_risk_neonate/output/tmp.pptx
High Risk Neonate Management
Presentation · PPTX