*****ANTENATAL CARE a) Define , Aims & objectives b) Write in brief examination c) Antenatal investigations d) Antenatal advice e) Follow up
Which section should I expand first?
Every section in detail
antenatal care
WHO antenatal care recommendations routine antenatal contact schedule 2024
https://www.who.int/news/item/07-11-2016-new-guidelines-on-a…
EDD = First day of LMP + 9 months + 7 days
| Gestational age | Fundal height |
|---|---|
| 12 weeks | Just above symphysis pubis |
| 16 weeks | Midway between symphysis pubis and umbilicus |
| 20 weeks | At umbilicus |
| 24 weeks | About 2 fingerbreadths above umbilicus |
| 28 weeks | Midway between umbilicus and xiphisternum |
| 32 weeks | About 3 fingerbreadths below xiphisternum |
| 36 weeks | At xiphisternum |
| 40 weeks | Slightly lower due to lightening |
| Investigation | Purpose |
|---|---|
| Urine pregnancy test | Confirmation of pregnancy |
| Hemoglobin or complete blood count | Detect anemia, infection, platelet abnormality |
| Blood group and Rh typing | Identify ABO group and Rh-negative mother |
| Antibody screening, where available | Detect red-cell alloimmunization |
| Urine routine microscopy and culture where indicated | Detect proteinuria, glycosuria, urinary infection |
| Blood glucose testing | Screen for pre-existing diabetes or hyperglycemia |
| HIV test with counselling and consent | Prevent mother-to-child transmission and provide treatment |
| Syphilis screening | Prevent congenital syphilis |
| Hepatitis B surface antigen | Detect maternal hepatitis B and plan neonatal prophylaxis |
| Hepatitis C test | Offered according to national policy or risk |
| Rubella immunity | Depends on local policy; vaccination is given after pregnancy if non-immune |
| Malaria test | In endemic areas or if fever/symptoms occur |
| Tuberculosis screening | Symptom-based or targeted screening in high-burden settings |
| Hemoglobinopathy screening | Thalassemia/sickle-cell screening in high-prevalence populations or if family history is present |
| Scan | Usual timing | Main purpose |
|---|---|---|
| Dating/viability scan | 6 to 13+6 weeks | Viability, number of fetuses, gestational age, early anomaly assessment |
| Nuchal translucency and first-trimester screening | 11 to 13+6 weeks | Aneuploidy risk assessment where offered |
| Anomaly scan | 18 to 22 weeks | Detailed fetal structural assessment, placenta, amniotic fluid |
| Growth and Doppler scan | As indicated | Fetal growth restriction, placental insufficiency, hypertension, diabetes, reduced movements |
| Placental localization scan | Often around 32 weeks if low-lying placenta found earlier | Assess persistence of placenta previa |
| Contact | Timing |
|---|---|
| First contact | Before 12 weeks |
| Second contact | 20 weeks |
| Third contact | 26 weeks |
| Fourth contact | 30 weeks |
| Fifth contact | 34 weeks |
| Sixth contact | 36 weeks |
| Seventh contact | 38 weeks |
| Eighth contact | 40 weeks |
| Period | Main focus |
|---|---|
| First trimester | Confirmation and dating of pregnancy, booking tests, risk assessment, folic acid, management of nausea/vomiting, early ultrasound where available |
| Second trimester | Anomaly scan, fetal growth, anemia prevention, blood pressure monitoring, diabetes screening at 24 to 28 weeks, fetal movements education |
| Third trimester | Fetal presentation, growth, blood pressure and proteinuria, anemia reassessment, birth preparedness, breastfeeding counselling, danger-sign education, referral planning |
Create a quick-reference PDF on antenatal care
~/
mkdir -p "/tmp/workspace/antenatal-care-quick-reference/src" "/tmp/workspace/antenatal-care-quick-reference/output" && python -c "import reportlab; print('reportlab available')"
~/antenatal-care-quick-reference/src/create_pdf.py
from reportlab.lib import colors
from reportlab.lib.enums import TA_CENTER, TA_LEFT
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, KeepTogether, PageBreak
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfbase import pdfmetrics
from reportlab.lib.colors import HexColor
OUT = '/tmp/workspace/antenatal-care-quick-reference/output/Antenatal_Care_Quick_Reference.pdf'
NAVY = HexColor('#12355B')
TEAL = HexColor('#007C83')
PALE_TEAL = HexColor('#E8F5F5')
PALE_BLUE = HexColor('#EAF2F8')
PALE_RED = HexColor('#FDECEC')
RED = HexColor('#B42318')
DARK = HexColor('#1D2939')
MID = HexColor('#475467')
LIGHT = HexColor('#D0D5DD')
styles = getSampleStyleSheet()
styles.add(ParagraphStyle(name='Title2', parent=styles['Title'], fontName='Helvetica-Bold', fontSize=21, leading=25, alignment=TA_CENTER, textColor=NAVY, spaceAfter=6))
styles.add(ParagraphStyle(name='Subtitle', parent=styles['Normal'], fontName='Helvetica', fontSize=9.5, leading=13, alignment=TA_CENTER, textColor=MID, spaceAfter=12))
styles.add(ParagraphStyle(name='H1x', parent=styles['Heading1'], fontName='Helvetica-Bold', fontSize=13.5, leading=16, textColor='white', spaceBefore=10, spaceAfter=6, backColor=NAVY, borderPadding=(5,7,5,7)))
styles.add(ParagraphStyle(name='H2x', parent=styles['Heading2'], fontName='Helvetica-Bold', fontSize=10.5, leading=13, textColor=TEAL, spaceBefore=7, spaceAfter=3))
styles.add(ParagraphStyle(name='Bodyx', parent=styles['BodyText'], fontName='Helvetica', fontSize=8.5, leading=11.4, textColor=DARK, spaceAfter=3))
styles.add(ParagraphStyle(name='Small', parent=styles['BodyText'], fontName='Helvetica', fontSize=7.6, leading=9.5, textColor=DARK, spaceAfter=1))
styles.add(ParagraphStyle(name='Alert', parent=styles['BodyText'], fontName='Helvetica-Bold', fontSize=8.5, leading=11.2, textColor=RED, spaceAfter=3))
styles.add(ParagraphStyle(name='Footer', parent=styles['Normal'], fontName='Helvetica', fontSize=7.5, leading=9, textColor=MID, alignment=TA_CENTER))
P = lambda text, style='Bodyx': Paragraph(text, styles[style])
BUL = lambda items: [P('• ' + item, 'Bodyx') for item in items]
def section(title): return [Spacer(1, 3), P(title, 'H1x')]
def mini_table(rows, widths, header=True, font=7.5):
data=[]
for r_i,row in enumerate(rows):
data.append([P(str(x), 'Small') for x in row])
t=Table(data, colWidths=widths, repeatRows=1 if header else 0, hAlign='LEFT')
ts=[('VALIGN',(0,0),(-1,-1),'TOP'),('GRID',(0,0),(-1,-1),0.35,LIGHT),('LEFTPADDING',(0,0),(-1,-1),5),('RIGHTPADDING',(0,0),(-1,-1),5),('TOPPADDING',(0,0),(-1,-1),4),('BOTTOMPADDING',(0,0),(-1,-1),4)]
if header:
ts += [('BACKGROUND',(0,0),(-1,0),NAVY),('TEXTCOLOR',(0,0),(-1,0),colors.white),('FONTNAME',(0,0),(-1,0),'Helvetica-Bold')]
for i in range(1 if header else 0, len(rows)):
if i % 2 == 0: ts.append(('BACKGROUND',(0,i),(-1,i),PALE_BLUE))
t.setStyle(TableStyle(ts)); return t
def header_footer(canvas, doc):
canvas.saveState()
canvas.setStrokeColor(TEAL); canvas.setLineWidth(1.2)
canvas.line(doc.leftMargin, A4[1]-1.15*cm, A4[0]-doc.rightMargin, A4[1]-1.15*cm)
canvas.setFont('Helvetica',7.5); canvas.setFillColor(MID)
canvas.drawString(doc.leftMargin,0.75*cm,'Antenatal Care Quick Reference')
canvas.drawRightString(A4[0]-doc.rightMargin,0.75*cm,f'Page {doc.page}')
canvas.restoreState()
story=[]
story += [Spacer(1, 7), P('ANTENATAL CARE', 'Title2'), P('Quick-reference guide for routine low-risk pregnancy care', 'Subtitle')]
intro = Table([[P('<b>Purpose:</b> support safe, respectful, continuous care of the pregnant woman and fetus. Use local protocols and individual clinical assessment for all decisions.', 'Bodyx')]], colWidths=[17.2*cm])
intro.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),PALE_TEAL),('BOX',(0,0),(-1,-1),0.5,TEAL),('LEFTPADDING',(0,0),(-1,-1),8),('RIGHTPADDING',(0,0),(-1,-1),8),('TOPPADDING',(0,0),(-1,-1),6),('BOTTOMPADDING',(0,0),(-1,-1),6)])); story += [intro]
story += section('1. Definition, Aims and Objectives')
story += [P('<b>Definition:</b> Antenatal care (ANC) is skilled, planned care provided throughout pregnancy to optimize maternal and fetal health. It includes risk identification; prevention, detection and management of pregnancy-related or concurrent conditions; health education; support; and referral when required.'),
P('<b>Aims:</b> healthy mother and fetus, safe birth, positive pregnancy experience, and reduced maternal and perinatal illness and death.'),
P('<b>Core objectives</b>', 'H2x')]
story += BUL(['Register pregnancy early and establish gestational age.', 'Identify high-risk pregnancy and arrange timely referral.', 'Prevent and treat anemia, infection, hypertension, diabetes and nutritional deficiency.', 'Monitor fetal growth, wellbeing, lie and presentation.', 'Provide immunization, supplements, counselling, birth preparedness, breastfeeding and family-planning advice.', 'Recognize danger signs early and ensure prompt care.'])
story += section('2. Antenatal Examination')
story += [P('<b>At booking:</b> take a complete history and establish baseline maternal and fetal status. At each follow-up, reassess maternal symptoms, blood pressure, urine where indicated, fetal growth, fetal heart rate and fetal movements.'), P('<b>History</b>', 'H2x')]
story += BUL(['Current pregnancy: LMP, EDD, symptoms, bleeding, fluid loss, pain, fetal movements, medicines and exposures.', 'Obstetric history: parity, abortions, preterm birth, cesarean birth, postpartum hemorrhage, stillbirth, neonatal death and complications.', 'Medical and surgical history: hypertension, diabetes, cardiac/renal/thyroid disease, epilepsy, anemia, infections and allergies.', 'Family and social history: genetic disorders, smoking, alcohol/substances, nutrition, safety, mental health and support.'])
story += [P('<b>General and systemic examination</b>', 'H2x')]
story += BUL(['Measure blood pressure, pulse, temperature, weight trend and height at booking.', 'Look for pallor, jaundice, edema, cyanosis, thyroid enlargement, varicosities and dental problems.', 'Examine cardiovascular and respiratory systems; assess relevant pre-existing disease.', 'Breast examination and counselling when indicated.'])
story += [P('<b>Abdominal and fetal examination</b>', 'H2x')]
story += BUL(['Inspect abdomen for size, scars, striae, shape and visible movements.', 'Measure symphysis-fundal height and plot growth after 24 weeks.', 'Palpate: fundal grip, lateral grip, Pawlik grip and pelvic grip to determine lie, presentation, position and engagement.', 'Auscultate fetal heart rate: usual baseline 110-160 beats/minute.', 'Ask specifically about fetal movements. Reduced movements require urgent assessment.', 'Vaginal examination only when clinically indicated. Avoid digital examination in suspected placenta previa until placental location is safely assessed.'])]
story += section('3. Routine Antenatal Investigations')
story += [mini_table([
['Test / assessment','Purpose / timing'],
['Hemoglobin or CBC','Detect anemia; repeat later in pregnancy per protocol or clinical need.'],
['Blood group, Rh type and antibody screen','Identify Rh-negative status and red-cell alloimmunization risk.'],
['Urine protein and glucose','Screen for proteinuria and glycosuria; repeat as clinically indicated.'],
['Urine microscopy/culture','If symptoms, history or local protocol suggest urinary infection.'],
['HIV, syphilis, hepatitis B','Offer according to national policy, with counselling and prompt linkage to treatment/prevention.'],
['Blood glucose / GDM screening','Commonly 24-28 weeks; earlier if high-risk.'],
['Ultrasound before 24 weeks','Dating, viability, multiples, anatomy and placental location.'],
['Targeted tests','Hemoglobinopathy, TB, malaria, hepatitis C, thyroid, genetic testing, renal/liver tests and fetal surveillance when risk or policy indicates.']
],[4.4*cm,12.8*cm])]
story += [P('<b>High-risk investigations:</b> may include renal and liver function, platelet count, urine protein quantification, Doppler studies, non-stress testing, biophysical profile, echocardiography, cervical-length assessment or genetic diagnostic tests.', 'Small')]
story += [PageBreak()]
story += section('4. Antenatal Advice')
story += [P('<b>Nutrition and supplements</b>', 'H2x')]
story += BUL(['Eat a varied diet: grains, pulses/other protein, fruit, vegetables, dairy or alternatives, and safe fluids. Encourage an additional nutritious meal or snack in later pregnancy where needed.', 'Take folic acid early in pregnancy and iron-folic acid, calcium and other supplements as prescribed by local protocol. Separate iron and calcium doses when advised.', 'Avoid alcohol, tobacco, vaping, illicit drugs and unprescribed medicines or herbal remedies.', 'Avoid unpasteurized dairy and raw or undercooked eggs, meat, fish and shellfish. Wash produce and maintain safe food hygiene.'])
story += [P('<b>Daily living</b>', 'H2x')]
story += BUL(['Encourage rest, sleep and regular moderate activity such as walking in uncomplicated pregnancy. Avoid heavy lifting, high-fall-risk activities and overheating.', 'Maintain oral and personal hygiene; wear comfortable clothing and low-heeled footwear.', 'Travel is usually safest in uncomplicated pregnancy during the second trimester. On long trips: hydrate, walk/stretch regularly and wear a seat belt low across the hips.', 'Sexual activity is generally safe if pregnancy is uncomplicated. Seek advice or avoid intercourse with bleeding, leaking fluid, placenta previa, preterm labour risk or clinician-directed restriction.'])
story += [P('<b>Preventive care and preparation</b>', 'H2x')]
story += BUL(['Give tetanus-containing vaccine and other vaccines according to local schedule and individual risk.', 'Discuss early and exclusive breastfeeding, newborn care, postpartum contraception and postnatal follow-up.', 'Make a birth plan: place of delivery, skilled attendant, transport, records, emergency funds, support person and blood plan where appropriate.', 'Screen support needs: mental health concerns, domestic violence, substance use, food insecurity and access barriers.'])
story += section('5. Danger Signs: Urgent Assessment / Referral')
alert_items=['Vaginal bleeding or suspected rupture/leakage of membranes.', 'Severe abdominal pain, regular painful contractions before 37 weeks, or trauma.', 'Severe headache, visual disturbance, epigastric/right upper abdominal pain, sudden face/hand swelling, seizure or loss of consciousness.', 'Fever, chills, severe vomiting, breathing difficulty, chest pain, fainting or marked weakness.', 'Burning urination with systemic illness, markedly reduced urine output or severe urinary symptoms.', 'Reduced or absent fetal movements once movements have been established.', 'Any symptom the woman considers alarming or unusual.']
alert_tbl=Table([[P('RED FLAGS', 'Alert')]] + [[P('• '+x, 'Alert')] for x in alert_items],colWidths=[17.2*cm])
alert_tbl.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),PALE_RED),('BOX',(0,0),(-1,-1),0.7,RED),('LEFTPADDING',(0,0),(-1,-1),8),('RIGHTPADDING',(0,0),(-1,-1),8),('TOPPADDING',(0,0),(-1,-1),4),('BOTTOMPADDING',(0,0),(-1,-1),4)])); story += [alert_tbl]
story += section('6. Follow-up Schedule and Every-Visit Checklist')
story += [P('<b>WHO routine contact schedule for uncomplicated pregnancy:</b> first contact before 12 weeks, then at 20, 26, 30, 34, 36, 38 and 40 weeks. More visits are needed for symptoms, medical disease, obstetric risk or social vulnerability.'), mini_table([
['At every contact','Key actions'],
['Ask and assess','New symptoms, danger signs, fetal movements, medicines/supplement adherence, nutrition, wellbeing, safety and birth plan.'],
['Measure','Blood pressure; weight trend; fundal height after 24 weeks; fetal heart rate; lie/presentation in later pregnancy.'],
['Test as indicated','Urine protein/glucose, hemoglobin, glucose, infection screening and targeted tests per protocol.'],
['Counsel','Diet, supplements, immunization, danger signs, breastfeeding, delivery plan and postnatal contraception.'],
['Document and refer','Update ANC record. Escalate promptly for high-risk findings, abnormal growth, hypertension, bleeding, reduced movements or abnormal tests.']
],[4.2*cm,13*cm])]
story += [P('<b>Suggested focus by trimester:</b> <b>1st</b> - dating, booking tests, early risk assessment and folate. <b>2nd</b> - anomaly scan, growth, anemia prevention and GDM screening. <b>3rd</b> - presentation, growth, BP/proteinuria, delivery planning and referral readiness.', 'Bodyx')]
story += section('7. Immediate Referral: Common High-Risk Features')
story += BUL(['Severe anemia, hypertension/pre-eclampsia, diabetes, significant cardiac, renal, thyroid or neurological illness.', 'Antepartum hemorrhage, preterm labour, prelabour rupture of membranes, suspected infection or severe hyperemesis.', 'Multiple pregnancy, placenta previa, fetal growth restriction, malpresentation near term or non-reassuring fetal assessment.', 'Previous major obstetric complication, previous cesarean birth requiring specialist planning, recurrent losses or previous stillbirth.', 'Rh-negative pregnancy with antibodies or any significant abnormal investigation.'])
story += [Spacer(1,5), P('<b>Clinical note:</b> This is a study and point-of-care summary, not a substitute for local guidelines, obstetric review or emergency assessment. Adapt investigations, supplements, vaccines and referral thresholds to national policy and patient-specific risk.', 'Small'), Spacer(1,4), P('Sources: Park’s Textbook of Preventive and Social Medicine, ANC section (definition and objectives); World Health Organization, Antenatal care for a positive pregnancy experience (routine contact schedule and early ultrasound guidance).', 'Footer')]
doc=SimpleDocTemplate(OUT,pagesize=A4,rightMargin=1.25*cm,leftMargin=1.25*cm,topMargin=1.55*cm,bottomMargin=1.2*cm,title='Antenatal Care Quick Reference',author='Orris')
doc.build(story,onFirstPage=header_footer,onLaterPages=header_footer)
print(OUT)
python "/tmp/workspace/antenatal-care-quick-reference/src/create_pdf.py" && python -c "from pypdf import PdfReader; p='/tmp/workspace/antenatal-care-quick-reference/output/Antenatal_Care_Quick_Reference.pdf'; r=PdfReader(p); print('pages=',len(r.pages)); print('chars=',sum(len(x.extract_text() or '') for x in r.pages)); print('size=',__import__('os').path.getsize(p))"
~/antenatal-care-quick-reference/src/create_pdf.py
Successfully replaced 1 instance(s) of the string in '/tmp/workspace/antenatal-care-quick-reference/src/create_pdf.py'
python "/tmp/workspace/antenatal-care-quick-reference/src/create_pdf.py" && python -c "from pypdf import PdfReader; import os; p='/tmp/workspace/antenatal-care-quick-reference/output/Antenatal_Care_Quick_Reference.pdf'; r=PdfReader(p); text=''.join(page.extract_text() or '' for page in r.pages); print('pages=',len(r.pages)); print('chars=',len(text)); print('size=',os.path.getsize(p)); print('has_danger=', 'Danger Signs' in text); print('has_followup=', 'Follow-up Schedule' in text)"
Antenatal Care Quick Reference
PDF Document · PDF