diagnosis and treatment for hepatitis B, include a bit on clinical features extra hepatic manifestations, serology and structure. PPT for post graduate imed students

Reading File
Reading File
Finding Sources
Searching PubMed

"Hepatitis B"[MeSH Terms] AND treatment

Searching the Web

WHO hepatitis B guidelines treatment diagnosis 2024 2025

Searching Images

Hepatitis B virus structure diagram Dane particle serology markers

Reading File
Reading File
Reading File
Finding Sources
Finding Sources
Reading Web Page

https://www.who.int/publications-detail-redirect/97892400909…

Reading File
Reading File
Reading File
Reading Web Page

https://www.who.int/publications/i/item/9789240091368

Finding Sources
Browsing Directory

~/

Running Command

mkdir -p "/tmp/workspace/hepatitis-b-ppt/src" "/tmp/workspace/hepatitis-b-ppt/output" "/tmp/workspace/hepatitis-b-ppt/assets" && python "/tmp/skills/shared/scripts/fetch_images.py" "https://cdn.orris.care/cdss_images/136bfd7b1ef328156adfabbfb95b50b295cd829d6460e8c83d34b11434af38c6.png" "https://cdn.orris.care/cdss_images/b42579ac0f9e7f6c109bf9e37dd84df928f5138f4f1a4c7d95bdac5c6f30971c.png" > "/tmp/workspace/hepatitis-b-ppt/assets/images.json"

Running Command

python - <<'PY' import json,base64,os p='/tmp/workspace/hepatitis-b-ppt/assets/images.json' out='/tmp/workspace/hepatitis-b-ppt/assets' items=json.load(open(p)) for i,x in enumerate(items): if x.get('base64'): ext='.png' if 'png' in x['base64'][:50] else '.jpg' open(f'{out}/img{i}{ext}','wb').write(base64.b64decode(x['base64'].split(',',1)[1])) print(f'{out}/img{i}{ext}') else: print(x) PY

Writing File

~/hepatitis-b-ppt/src/create_deck.py

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, MSO_CONNECTOR
from pptx.enum.dml import MSO_THEME_COLOR
from pptx.enum.text import MSO_AUTO_SIZE
from pptx.enum.shapes import PP_PLACEHOLDER
from pptx.enum.shapes import MSO_AUTO_SHAPE_TYPE
from pptx import Presentation
from pathlib import Path

OUT=Path('/tmp/workspace/hepatitis-b-ppt/output/Hepatitis_B_Diagnosis_and_Treatment_PG_IMED.pptx')
AS=Path('/tmp/workspace/hepatitis-b-ppt/assets')
prs=Presentation(); prs.slide_width=Inches(13.333); prs.slide_height=Inches(7.5)
blank=prs.slide_layouts[6]

NAVY=RGBColor(12,35,64); TEAL=RGBColor(0,139,148); CYAN=RGBColor(63,196,204)
GOLD=RGBColor(241,180,70); RED=RGBColor(193,60,57); GREEN=RGBColor(51,140,92)
WHITE=RGBColor(255,255,255); INK=RGBColor(28,43,58); MID=RGBColor(92,110,125); PALE=RGBColor(238,246,247); LIGHT=RGBColor(246,248,250); LINE=RGBColor(206,218,224)

# helpers
def rect(s,x,y,w,h,fill, line=None, radius=False):
    sh=s.shapes.add_shape(MSO_SHAPE.ROUNDED_RECTANGLE if radius else MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h))
    sh.fill.solid(); sh.fill.fore_color.rgb=fill
    sh.line.color.rgb=line if line else fill
    return sh

def text(s,x,y,w,h,txt,size=20,color=INK,bold=False,align=PP_ALIGN.LEFT, font='Aptos', valign=MSO_ANCHOR.TOP):
    tb=s.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h)); tf=tb.text_frame
    tf.clear(); tf.word_wrap=True; tf.margin_left=Inches(.05); tf.margin_right=Inches(.05); tf.margin_top=Inches(.02); tf.margin_bottom=Inches(.02); tf.vertical_anchor=valign
    for j,line in enumerate(txt.split('\n')):
        p=tf.paragraphs[0] if j==0 else tf.add_paragraph(); p.text=line; p.alignment=align
        p.space_after=Pt(3)
        for r in p.runs:
            r.font.name=font; r.font.size=Pt(size); r.font.bold=bold; r.font.color.rgb=color
    return tb

def bulletbox(s,x,y,w,h,items,size=18,accent=TEAL):
    sh=rect(s,x,y,w,h,WHITE,LINE,True); tf=sh.text_frame; tf.clear(); tf.word_wrap=True
    tf.margin_left=Inches(.25);tf.margin_right=Inches(.18);tf.margin_top=Inches(.14);tf.margin_bottom=Inches(.08)
    for i,item in enumerate(items):
        p=tf.paragraphs[0] if i==0 else tf.add_paragraph(); p.text=item; p.level=0; p.font.size=Pt(size); p.font.name='Aptos'; p.font.color.rgb=INK; p.space_after=Pt(7); p.bullet=True
    return sh

def header(s,title,kicker='',n=None):
    rect(s,0,0,13.333,.20,TEAL); text(s,.55,.38,11.8,.47,title,27,NAVY,True)
    if kicker: text(s,.58,.9,11.5,.25,kicker.upper(),9,TEAL,True)
    rect(s,.58,1.2,1.05,.045,GOLD)
    if n: text(s,12.25,.45,.5,.3,f'{n:02d}',13,TEAL,True,PP_ALIGN.RIGHT)

def footer(s,source=''): 
    rect(s,0,7.14,13.333,.36,NAVY); text(s,.55,7.22,11.8,.16,source,7,RGBColor(211,225,231));

def add_title(title,subtitle):
    s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,NAVY); rect(s,0,0,13.333,.16,TEAL); rect(s,.75,1.08,.08,4.9,GOLD)
    text(s,1.1,1.17,10.7,1.65,title,39,WHITE,True)
    text(s,1.13,3.05,9.9,.9,subtitle,21,RGBColor(206,230,234))
    text(s,1.13,5.9,7.8,.5,'POSTGRADUATE INTERNAL MEDICINE',12,CYAN,True)
    text(s,1.13,6.35,8.8,.35,'Diagnosis, staging and treatment approach',15,WHITE)
    # particle motif
    for x,y,r,c in [(11.1,1.35,.72,TEAL),(11.78,2.32,.42,GOLD),(10.8,3.2,.32,CYAN),(11.9,4.15,.58,TEAL),(10.65,4.8,.25,GOLD)]:
        sh=s.shapes.add_shape(MSO_SHAPE.OVAL,Inches(x),Inches(y),Inches(r),Inches(r));sh.fill.solid();sh.fill.fore_color.rgb=c;sh.line.color.rgb=c
    return s

def add_section(title,subtitle,n):
    s=prs.slides.add_slide(blank); rect(s,0,0,13.333,7.5,NAVY); rect(s,.7,1.25,.1,4.8,GOLD)
    text(s,1.12,1.55,10.3,.7,f'{n:02d}',16,CYAN,True)
    text(s,1.12,2.05,10.5,1.15,title,40,WHITE,True)
    text(s,1.15,3.35,9.5,.8,subtitle,21,RGBColor(204,222,230))
    return s

# 1
add_title('Hepatitis B','A practical postgraduate approach to virology, serology, diagnosis, staging and treatment')
# 2 objectives
s=prs.slides.add_slide(blank);header(s,'Learning objectives','At the end of this session',2)
bulletbox(s,.7,1.55,5.9,4.85,['Recognize the clinical spectrum and extrahepatic disease','Interpret HBV serology including the window period','Stage chronic HBV using virology, liver injury and fibrosis assessment','Select antiviral therapy and address special situations'],20)
rect(s,7.2,1.55,5.35,4.85,PALE,TEAL,True);text(s,7.65,1.98,4.4,.42,'Clinical frame',23,NAVY,True);text(s,7.65,2.7,4.25,2.9,'HBV is a DNA virus whose liver injury is largely immune mediated.\n\nThe central clinical tasks are to:\n1. identify active infection\n2. define chronicity and fibrosis\n3. suppress replication in those who benefit',19,INK)
footer(s,'Teaching sources: Jawetz Medical Microbiology, 28e; WHO chronic HBV guideline (2024).')
# 3 structure
s=prs.slides.add_slide(blank);header(s,'HBV structure and replication','Hepadnavirus with reverse transcriptase',3)
if (AS/'img0.jpg').exists(): s.shapes.add_picture(str(AS/'img0.jpg'), Inches(.65), Inches(1.42), width=Inches(4.9), height=Inches(4.8))
bulletbox(s,6.0,1.45,6.65,4.85,['42 nm infectious virion: Dane particle','Lipid envelope carries HBsAg; inner nucleocapsid contains HBcAg','Relaxed circular, partially double-stranded DNA plus viral polymerase','Genome: S, C, P and X open reading frames','Nuclear cccDNA reservoir explains persistence; reverse transcription produces progeny DNA'],18)
footer(s,'Source: Medical Microbiology 9e, Fig. 55.4; Henry’s Clinical Diagnosis and Management by Laboratory Methods, Hepatitis B.')
# 4 natural history
s=prs.slides.add_slide(blank);header(s,'Natural history and transmission','Risk of chronicity is age dependent',4)
for x,label,val,sub,col in [(0.75,'Perinatal','~90%','chronic infection',RED),(4.45,'Age 1-5 y','20-50%','chronic infection',GOLD),(8.15,'Adult acquisition','<5%','chronic infection',GREEN)]:
    rect(s,x,1.65,3.15,2.15,WHITE,LINE,True);text(s,x+.22,1.94,2.65,.35,label,16,NAVY,True,PP_ALIGN.CENTER);text(s,x+.2,2.38,2.75,.55,val,30,col,True,PP_ALIGN.CENTER);text(s,x+.2,3.04,2.75,.3,sub,13,MID,False,PP_ALIGN.CENTER)
text(s,.85,4.35,11.5,.35,'Routes: perinatal, percutaneous/blood exposure, sexual exposure, and household exposure to blood-containing body fluids.',19,INK,True)
bulletbox(s,.75,4.95,11.75,1.45,['Outcomes: recovery, chronic hepatitis, cirrhosis, hepatic decompensation and hepatocellular carcinoma (HCC). HDV co-infection increases severity.'],18)
footer(s,'Source: Washington Manual of Medical Therapeutics, HBV chapter; WHO chronic HBV guideline (2024).')
# 5 clinical
s=prs.slides.add_slide(blank);header(s,'Clinical features','Think acute syndrome, chronic silent disease and decompensation',5)
for x,title,items in [(0.65,'Acute HBV',['Often asymptomatic','Malaise, anorexia, nausea','RUQ discomfort, dark urine, jaundice','Arthralgia or serum sickness-like prodrome']), (4.55,'Chronic HBV',['Usually asymptomatic','Fluctuating ALT / HBV DNA','May present with cirrhosis or HCC','Assess co-infections and family history']), (8.45,'Red flags',['INR rise, encephalopathy','Rapid bilirubin rise','Ascites, variceal bleed','Sepsis or acute-on-chronic liver failure'])]:
    rect(s,x,1.5,3.5,4.9,WHITE,LINE,True);text(s,x+.3,1.83,2.9,.38,title,22,NAVY,True);bulletbox(s,x+.18,2.45,3.14,3.55,items,16,TEAL)
footer(s,'Source: Jawetz Medical Microbiology, 28e; Washington Manual of Medical Therapeutics.')
#6 extrahepatic
s=prs.slides.add_slide(blank);header(s,'Extrahepatic manifestations','Mostly immune-complex mediated',6)
for x,t,body in [(0.75,'Vascular','Polyarteritis nodosa\nSerum sickness-like syndrome\nCryoglobulinemia'),(4.65,'Renal','Membranous nephropathy\nMembranoproliferative GN\nProteinuria / nephrotic syndrome'),(8.55,'Musculoskeletal / skin','Arthralgia / arthritis\nRash and urticaria\nVasculitic phenomena')]:
    rect(s,x,1.65,3.2,3.25,PALE,TEAL,True);text(s,x+.28,1.98,2.6,.33,t,19,NAVY,True);text(s,x+.28,2.65,2.55,1.55,body,18,INK)
rect(s,.75,5.35,11.0,.68,RGBColor(255,247,227),GOLD,True);text(s,1.0,5.55,10.5,.25,'Clinical implication: evaluate renal and vasculitic disease actively; control of HBV replication is part of management.',16,INK,True)
footer(s,'Source: Harrison’s Principles of Internal Medicine, 22e, Extrahepatic manifestations; Washington Manual.')
#7 serology timeline
s=prs.slides.add_slide(blank);header(s,'Acute HBV serology','A time-dependent interpretation',7)
if (AS/'img1.jpg').exists(): s.shapes.add_picture(str(AS/'img1.jpg'), Inches(.55), Inches(1.28), width=Inches(7.0), height=Inches(5.55))
rect(s,7.85,1.5,4.75,4.95,WHITE,LINE,True);text(s,8.15,1.8,4.15,.3,'Key anchors',21,NAVY,True);text(s,8.18,2.38,4.0,3.65,'• HBsAg: current infection\n\n• IgM anti-HBc: acute infection or flare\n\n• Anti-HBs: recovery or vaccine response\n\n• HBeAg / HBV DNA: replication and infectivity\n\n• HBsAg >6 months: chronic infection',17,INK)
footer(s,'Source: Jawetz Medical Microbiology, 28e, Fig. 35-8 and text.')
#8 serology patterns
s=prs.slides.add_slide(blank);header(s,'Serology: high-yield patterns','Always interpret anti-HBc in context',8)
cols=[('Pattern','HBsAg','anti-HBc','anti-HBs','Interpretation'),('Acute','+','IgM +','−','Acute HBV'),('Window','−','IgM +','−','Recent acute HBV'),('Resolved','−','IgG +','+','Past infection'),('Chronic','+','IgG +','−','HBsAg >6 months'),('Vaccinated','−','−','+','Vaccine immunity')]
xs=[.65,3.2,5.0,7.1,9.15]; ws=[2.4,1.65,1.85,1.85,3.45]
for r,row in enumerate(cols):
    yy=1.55+r*.75
    for c,v in enumerate(row):
        rect(s,xs[c],yy,ws[c],.65,NAVY if r==0 else (PALE if r%2 else WHITE),NAVY if r==0 else LINE,False)
        text(s,xs[c]+.08,yy+.17,ws[c]-.16,.25,v,15,WHITE if r==0 else INK,r==0,PP_ALIGN.CENTER)
text(s,.72,6.32,11.4,.36,'Isolated anti-HBc can represent remote infection with waned anti-HBs, false positivity, occult HBV, or the window period. Check HBV DNA when clinically relevant.',16,RED,True)
footer(s,'Source: Washington Manual of Medical Therapeutics, Table 19-3; Jawetz Medical Microbiology, 28e.')
#9 diagnostic workup
s=prs.slides.add_slide(blank);header(s,'Diagnostic and staging work-up','Confirm infection, quantify replication, assess liver disease',9)
for x,t,items in [(0.65,'Confirm / classify',['HBsAg, total anti-HBc, anti-HBs','IgM anti-HBc if acute suspected','HBeAg / anti-HBe','Quantitative HBV DNA']), (4.55,'Assess severity',['ALT, AST, bilirubin, ALP','Albumin, INR, CBC / platelets','Creatinine/eGFR, urinalysis','Ultrasound ± AFP for HCC risk']), (8.45,'Stage and screen',['Elastography preferred for fibrosis','APRI/FIB-4 where needed','HIV, HCV and HDV testing','Assess alcohol, metabolic liver disease'])]:
    rect(s,x,1.48,3.45,4.95,WHITE,LINE,True);text(s,x+.25,1.82,2.9,.35,t,20,NAVY,True);bulletbox(s,x+.16,2.4,3.13,3.55,items,16)
footer(s,'Source: WHO chronic HBV guideline (2024); Henry’s Clinical Diagnosis and Management by Laboratory Methods.')
#10 chronic phases
s=prs.slides.add_slide(blank);header(s,'Chronic HBV: practical phenotyping','Do not assign a phase from one test',10)
steps=[('High replication\nlow injury','Often HBeAg+; high DNA; normal ALT','Observe closely; assess fibrosis'),('Immune-active\nhepatitis','Elevated ALT and replicative HBV','Evaluate for treatment'),('Inactive\ninfection','HBeAg− / anti-HBe+; low DNA; normal ALT','Longitudinal monitoring'),('HBeAg-negative\nhepatitis','Precore / BCP variants; fluctuating DNA and ALT','Frequently needs treatment')]
for i,(a,b,c) in enumerate(steps):
    x=.55+i*3.15; rect(s,x,1.7,2.75,3.8,PALE if i%2==0 else WHITE,TEAL,True);text(s,x+.18,2.0,2.4,.65,a,19,NAVY,True,PP_ALIGN.CENTER);text(s,x+.22,3.05,2.28,.78,b,15,INK,False,PP_ALIGN.CENTER);rect(s,x+.2,4.35,2.35,.68,TEAL);text(s,x+.28,4.54,2.2,.24,c,12,WHITE,True,PP_ALIGN.CENTER)
text(s,.7,6.05,11.5,.3,'Serial ALT, HBV DNA and fibrosis assessment distinguish inactivity from fluctuating disease.',17,INK,True)
footer(s,'Source: Washington Manual of Medical Therapeutics; Harrison’s Principles of Internal Medicine, 22e.')
#11 acute
s=prs.slides.add_slide(blank);header(s,'Treatment of acute hepatitis B','Most patients need supportive care, not routine antivirals',11)
bulletbox(s,.7,1.55,5.85,4.75,['Hydration, nutrition, antiemetics and symptom control','Avoid alcohol and unnecessary hepatotoxic drugs','Monitor bilirubin, INR, mental status and glucose if severe','Counsel on transmission; test and vaccinate close contacts','Hospitalize / refer urgently for acute liver failure or severe / protracted hepatitis'],19)
rect(s,7.15,1.55,5.3,4.75,RGBColor(255,242,240),RED,True);text(s,7.55,1.95,4.4,.38,'When to consider antiviral therapy',22,RED,True);text(s,7.55,2.75,4.3,2.4,'Severe acute hepatitis or acute liver failure warrants specialist-directed nucleos(t)ide analogue therapy, typically tenofovir or entecavir.\n\nEvaluate early for liver transplant if acute liver failure is evolving.',19,INK)
footer(s,'Source: Goldman-Cecil Medicine, Antivirals for HBV; WHO chronic HBV guideline (2024).')
#12 chronic treat
s=prs.slides.add_slide(blank);header(s,'Who should receive treatment?','Treat to prevent cirrhosis, HCC and transmission',12)
rect(s,.65,1.5,12.0,.88,NAVY);text(s,.92,1.76,11.4,.3,'Treat all patients with cirrhosis and detectable HBV DNA, irrespective of ALT.',20,WHITE,True,PP_ALIGN.CENTER)
for x,t,b in [(0.75,'Non-cirrhotic CHB','Treatment decision integrates HBV DNA, persistently elevated ALT, fibrosis, age and other risks.'),(4.65,'Treat earlier when risk is high','HIV or HCV/HDV coinfection, immunosuppression, family history of HCC/cirrhosis, or extrahepatic disease.'),(8.55,'Guideline approach','WHO 2024 expands and simplifies eligibility. Use local protocol and specialist review for thresholds.')]:
    rect(s,x,2.85,3.2,2.95,WHITE,LINE,True);text(s,x+.22,3.14,2.7,.43,t,18,NAVY,True,PP_ALIGN.CENTER);text(s,x+.27,3.85,2.62,1.25,b,16,INK,False,PP_ALIGN.CENTER)
footer(s,'Source: WHO Guidelines for chronic hepatitis B (2024). Treatment criteria should follow local protocol.')
#13 drugs
s=prs.slides.add_slide(blank);header(s,'First-line chronic HBV therapy','Potent oral nucleos(t)ide analogues with high resistance barrier',13)
for x,t,body,c in [(0.75,'Tenofovir DF','Potent; preferred in pregnancy and HIV coinfection. Monitor renal function and bone risk.',TEAL),(4.55,'Tenofovir AF','Potent; less renal/bone toxicity signal. Availability and eligibility vary.',GREEN),(8.35,'Entecavir','Potent option. Avoid as sole anti-HIV therapy; resistance concern after lamivudine exposure.',GOLD)]:
    rect(s,x,1.65,3.25,3.55,WHITE,c,True);rect(s,x,1.65,3.25,.17,c);text(s,x+.35,2.0,2.5,.38,t,21,NAVY,True);text(s,x+.34,2.73,2.5,1.45,body,17,INK)
rect(s,.75,5.72,11.1,.5,PALE,TEAL,True);text(s,1.0,5.86,10.65,.2,'Pegylated interferon is selected only in carefully chosen patients. Lamivudine, adefovir and telbivudine are generally avoided as first-line monotherapy due to resistance or lower potency.',14,INK)
footer(s,'Source: Washington Manual; Goldman-Cecil Medicine; WHO chronic HBV guideline (2024).')
#14 monitoring
s=prs.slides.add_slide(blank);header(s,'Monitoring on treatment and surveillance','Suppression is not the same as cure',14)
for x,t,items in [(0.7,'On antiviral therapy',['Adherence and adverse effects','ALT and HBV DNA response','Creatinine/eGFR ± phosphate','HBeAg/anti-HBe where relevant']), (4.6,'Treatment duration',['Often long-term, especially cirrhosis','Stopping requires specialist criteria','Stopping can cause severe flare','Do not stop unplanned']), (8.5,'HCC surveillance',['Ultrasound ± AFP every 6 months in at-risk groups','Continue despite viral suppression','Cirrhosis: surveillance indefinitely'])]:
    rect(s,x,1.5,3.25,4.9,WHITE,LINE,True);text(s,x+.28,1.88,2.65,.34,t,20,NAVY,True);bulletbox(s,x+.16,2.48,2.92,3.55,items,16)
footer(s,'Source: WHO chronic HBV guideline (2024). HCC surveillance should follow local liver society guidance.')
#15 special
s=prs.slides.add_slide(blank);header(s,'Special situations','Prevent reactivation and vertical transmission',15)
rows=[('Pregnancy','Screen HBsAg in every pregnancy. Give infant HBV vaccine birth dose. Add maternal tenofovir prophylaxis when indicated by local guidance / high viral load.'),('HIV-HBV coinfection','Use fully suppressive ART that includes tenofovir plus lamivudine or emtricitabine. Do not use entecavir as isolated HIV therapy.'),('Immunosuppression','Screen HBsAg and anti-HBc before chemotherapy, biologics or high-dose steroids. Provide prophylaxis or close HBV DNA monitoring according to risk.'),('HDV','Test HBsAg-positive patients for HDV. Coinfection changes prognosis and specialist management.')]
for i,(a,b) in enumerate(rows):
    y=1.42+i*1.25;rect(s,.75,y,2.35,.92,TEAL,TEAL,True);text(s,.98,y+.25,1.85,.25,a,17,WHITE,True,PP_ALIGN.CENTER);rect(s,3.25,y,9.2,.92,WHITE,LINE,True);text(s,3.52,y+.17,8.65,.55,b,15,INK)
footer(s,'Source: WHO chronic HBV guideline (2024); WHO update on HBV diagnosis and treatment.')
#16 algorithm
s=prs.slides.add_slide(blank);header(s,'One-slide diagnostic and treatment algorithm','A bedside sequence for HBsAg-positive patient',16)
flow=[('HBsAg positive','Confirm chronicity: repeat / history ≥6 mo; obtain anti-HBc, HBeAg, HBV DNA'),('Assess liver disease','ALT, bilirubin, INR, albumin, platelets; elastography or non-invasive fibrosis'),('Screen modifiers','HIV, HCV, HDV; pregnancy; immunosuppression; family history; renal disease'),('Treat or monitor','Cirrhosis + detectable DNA: treat. Otherwise use DNA + ALT + fibrosis + risk factors and local criteria.'),('Long-term plan','Adherence, virologic monitoring, renal safety and HCC surveillance where indicated')]
for i,(a,b) in enumerate(flow):
    x=.55+i*2.55; rect(s,x,1.65,2.25,4.45,PALE if i%2==0 else WHITE,TEAL,True);text(s,x+.15,1.98,1.95,.58,f'{i+1}. {a}',18,NAVY,True,PP_ALIGN.CENTER);text(s,x+.18,2.9,1.88,2.3,b,15,INK,False,PP_ALIGN.CENTER)
    if i<4: text(s,x+2.28,3.65,.25,.35,'›',28,GOLD,True,PP_ALIGN.CENTER)
footer(s,'Adapted for teaching from WHO chronic HBV guideline (2024).')
#17 takeaways
s=prs.slides.add_slide(blank);header(s,'Take-home messages','Five points to retain',17)
items=['HBsAg identifies current infection; HBsAg persistence beyond 6 months defines chronic infection.','IgM anti-HBc is the key marker of acute infection and the serologic window period.','HBV DNA, ALT and fibrosis assessment are all required for meaningful treatment decisions.','Tenofovir or entecavir are standard high-barrier agents for chronic HBV.','Treat cirrhosis with detectable HBV DNA and proactively manage pregnancy, HIV, HDV and immunosuppression.']
for i,it in enumerate(items):
    y=1.42+i*.92;rect(s,.85,y,.5,.5,TEAL,TEAL,True);text(s,.85,y+.1,.5,.2,str(i+1),15,WHITE,True,PP_ALIGN.CENTER);text(s,1.6,y+.04,10.75,.42,it,18,INK,True if i in [0,3] else False)
footer(s,'Core sources: WHO chronic HBV guideline (2024); Jawetz 28e; Washington Manual; Harrison’s 22e.')
#18 refs
s=prs.slides.add_slide(blank);header(s,'Selected references','For further reading',18)
refs=['WHO. Guidelines for the prevention, diagnosis, care and treatment for people with chronic hepatitis B infection. 2024.','WHO. Policy brief: chronic hepatitis B guideline. 2024.','Carroll KC et al. Jawetz, Melnick & Adelberg’s Medical Microbiology. 28th ed. Hepatitis B section.','Harrison’s Principles of Internal Medicine. 22nd ed. Viral hepatitis chapters.','Washington Manual of Medical Therapeutics. HBV diagnosis and management chapter.','McPherson RA, Pincus MR. Henry’s Clinical Diagnosis and Management by Laboratory Methods. Hepatitis B section.']
text(s,.82,1.45,11.65,4.8,'\n\n'.join(refs),17,INK)
rect(s,.82,6.27,11.6,.48,PALE,TEAL,True);text(s,1.05,6.42,11.0,.18,'Educational deck: verify treatment thresholds, dosing and surveillance recommendations against current local guidance before patient-level use.',12,INK,True)
footer(s,'Prepared for postgraduate Internal Medicine teaching.')

# slide numbering from slide 2 onward hidden on title
for idx,slide in enumerate(prs.slides,1):
    if idx>1: text(slide,12.55,7.21,.25,.16,str(idx),7,RGBColor(211,225,231),False,PP_ALIGN.RIGHT)
prs.save(str(OUT))
print(OUT)
Running Command

python "/tmp/workspace/hepatitis-b-ppt/src/create_deck.py" && ls -lh "/tmp/workspace/hepatitis-b-ppt/output/Hepatitis_B_Diagnosis_and_Treatment_PG_IMED.pptx"

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.