High risk pregnancy psm

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Finding Sources
Searching the Web

high risk pregnancy PSM Park's textbook criteria scoring identification community medicine

I now have enough information to provide a comprehensive answer on High-Risk Pregnancy from a PSM (Preventive and Social Medicine) perspective. Let me compile this.

High-Risk Pregnancy - PSM (Preventive & Social Medicine)


Definition

A high-risk pregnancy is one in which the mother, fetus, or newborn is at significantly greater risk of morbidity or mortality compared to uncomplicated pregnancies. Identification and management of these pregnancies is a key strategy in reducing maternal and infant mortality - a major focus of community medicine.

Classification of Risk Factors

A. Socio-demographic Factors

FactorRisk
Age < 18 years or > 35 yearsObstetric complications, Down syndrome
Height < 145 cmContracted pelvis, cephalopelvic disproportion
Weight < 40 kg or severe obesityPoor outcomes
Grand multipara (≥ 5 deliveries)PPH, uterine rupture
Primi with age > 30 yearsIncreased operative delivery
Poverty / low socioeconomic statusMalnutrition, poor access to care
Unmarried / unsupportedPsychological stress, poor ANC attendance

B. Obstetric History (Past)

  • 3 or more abortions (spontaneous)
  • 2 or more fetal deaths / stillbirths
  • 2 or more neonatal deaths
  • Previous caesarean section
  • Previous PPH or retained placenta
  • Previous difficult or instrumental delivery
  • Previous baby with congenital anomaly
  • Rh sensitization in a previous pregnancy
  • Pre-eclampsia / eclampsia in previous pregnancy

C. Current Obstetric Complications

  • Antepartum haemorrhage (placenta previa, abruption)
  • Abnormal fetal presentation (breech, transverse)
  • Pregnancy-induced hypertension / pre-eclampsia / eclampsia
  • Multiple pregnancy (twins, triplets)
  • Polyhydramnios or oligohydramnios
  • IUGR (intrauterine growth restriction)
  • Premature labour (< 37 weeks)
  • Post-dated pregnancy (> 42 weeks)
  • Rh isoimmunization

D. Pre-existing Medical Conditions

  • Diabetes mellitus
  • Hypertension (chronic)
  • Heart disease (especially Class III/IV)
  • Renal disease / nephritis
  • Anaemia (Hb < 7 g/dL - severe)
  • Thyroid disorders
  • Epilepsy
  • Tuberculosis
  • HIV/AIDS / STIs
  • Sickle cell disease

Scoring System for High-Risk Pregnancy

The Coopland scoring system (and similar tools used in Indian context) is commonly taught in PSM. Points are assigned to risk factors; a total score of 3 or more = High Risk.
Examples of scoring (simplified):
FactorScore
Age < 16 or > 35 years1
Height < 145 cm1
Grand multiparity (≥ 5)1
Anaemia (Hb < 8 g/dL)1
Malpresentation2
APH3
Pre-eclampsia2
Previous stillbirth/neonatal death1 each
Medical disease (DM, HTN, heart)2-3
Score interpretation:
  • 0-2: Low risk (routine ANC)
  • 3-6: Moderate risk (increased surveillance)
  • ≥ 7: High risk (refer to higher facility)

Identification of High-Risk Pregnancies

Where: At the time of first ANC contact (ideally in first trimester), and re-evaluated at each visit.
Who identifies: ANM (Auxiliary Nurse Midwife) at subcentre level is the key frontline worker for initial identification. ASHA facilitates registration and referral.
How:
  1. Detailed history (obstetric, medical, family, social)
  2. Clinical examination (weight, height, BP, pallor, oedema)
  3. Laboratory investigations (Hb, blood group, Rh, urine, blood glucose, VDRL, HIV)
  4. Ultrasound if available

Government Schemes Related to High-Risk Pregnancy in India

1. PMSMA - Pradhan Mantri Surakshit Matritva Abhiyan (2016)

  • Free ANC on the 9th of every month at government facilities
  • Minimum package of investigations and drugs
  • Involves private sector volunteers (obstetricians, gynaecologists)
  • Over 11.66 lakh high-risk pregnancies identified across the country through this scheme
  • (Park's Textbook of PSM, p. 514-515)

2. Janani Suraksha Yojana (JSY)

  • Cash incentive scheme to promote institutional deliveries
  • ~100.41 lakh pregnant women benefited in 2018-19
  • Subsidizes cost of caesarean section and management of obstetric complications (up to Rs. 1500)

3. Janani Shishu Suraksha Karyakaram (JSSK)

  • Free delivery (including C-section) in public health institutions
  • Free drugs, diagnostics, blood, diet, transport
  • Extended to cover complications during ANC, PNC, and sick infants

4. SUMAN (Surakshit Matritva Aashwasan) - 2019

  • Assured, dignified, quality healthcare at zero cost
  • Zero tolerance for denial of services
  • Goal: Zero preventable maternal and newborn deaths

5. LaQshya Programme (2017)

  • Improves quality of care in labour rooms and maternity OTs
  • Evidence-based approach for intrapartum and postpartum periods

6. FRU (First Referral Units)

  • High-risk cases are referred to FRUs at CHC/sub-district level
  • Provide emergency obstetric care (EmOC), C-sections, newborn care, blood storage 24/7
  • Minimum 20-30 bed strength; functional OT, labour room, blood bank

Management of High-Risk Pregnancy (Community Medicine Perspective)

At Subcentre Level (ANM)

  • Identification and registration
  • Basic ANC: weight, BP, fundal height, foetal heart rate
  • IFA supplementation, TT immunization
  • Referral to PHC/CHC for complications

At PHC Level (MO)

  • Detailed ANC with investigations
  • Management of anaemia, mild PIH
  • Counselling on nutrition, birth preparedness
  • Referral to FRU/hospital for high-risk cases

At FRU / District Hospital

  • Specialist obstetric care
  • Management of severe complications (eclampsia, APH, obstructed labour)
  • C-section facilities
  • Neonatal care / NICU

3 Delays Model (Community Medicine Framework)

Maternal deaths in high-risk pregnancies are often explained by the Three Delays Model:
  1. Delay in recognizing danger signs / deciding to seek care (family/community level)
  2. Delay in reaching an appropriate facility (transport, distance)
  3. Delay in receiving adequate care at the facility

Key Danger Signs Requiring Immediate Referral

  • Vaginal bleeding at any time
  • Severe headache, blurred vision, convulsions
  • Fever > 38°C
  • Severe abdominal pain
  • Decreased or absent fetal movements
  • Swelling of face and hands (severe oedema)
  • Difficulty breathing
  • Bag of waters broken without labour

Antenatal Care Schedule (India - WHO-recommended 4-visit ANC, now 8+ visits recommended)

VisitTimingFocus
1st< 12 weeks (ideally < 8 wk)Registration, dating, screening
2nd14-26 weeksAnomaly scan, anaemia check
3rd28-34 weeksGrowth scan, GDM screen, RH status
4th+36 weeks onwardsBirth preparedness, malpresentation
High-risk pregnancies require more frequent visits and specialist involvement.

Maternal Mortality in India (PSM Context)

  • India's MMR has declined from 254 (2004-06) to approximately 97/100,000 live births (2018-20)
  • Leading direct causes: Haemorrhage (PPH), sepsis, eclampsia, obstructed labour, unsafe abortion
  • High-risk pregnancy management is central to achieving SDG target of MMR < 70/100,000 by 2030

Source: Park's Textbook of Preventive and Social Medicine (pp. 514-596); community medicine principles on maternal and child health.

Make a pdf and send

Reading File
Running Command

ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && ls -la /tmp/workspace/

Running Command

mkdir -p /tmp/workspace/high-risk-pregnancy && cat > /tmp/workspace/high-risk-pregnancy/generate_pdf.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib import colors from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm, mm from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, KeepTogether from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY output_path = "/tmp/workspace/high-risk-pregnancy/High_Risk_Pregnancy_PSM.pdf" doc = SimpleDocTemplate( output_path, pagesize=A4, rightMargin=2*cm, leftMargin=2*cm, topMargin=2*cm, bottomMargin=2*cm ) styles = getSampleStyleSheet() # Custom styles title_style = ParagraphStyle( 'CustomTitle', parent=styles['Title'], fontSize=20, textColor=colors.HexColor('#1a3a5c'), spaceAfter=6, alignment=TA_CENTER, fontName='Helvetica-Bold' ) subtitle_style = ParagraphStyle( 'Subtitle', parent=styles['Normal'], fontSize=11, textColor=colors.HexColor('#4a6fa5'), spaceAfter=14, alignment=TA_CENTER, fontName='Helvetica' ) h1_style = ParagraphStyle( 'H1', parent=styles['Heading1'], fontSize=13, textColor=colors.white, spaceBefore=14, spaceAfter=6, fontName='Helvetica-Bold', backColor=colors.HexColor('#1a3a5c'), leftIndent=-10, rightIndent=-10, borderPad=5, ) h2_style = ParagraphStyle( 'H2', parent=styles['Heading2'], fontSize=11, textColor=colors.HexColor('#1a3a5c'), spaceBefore=10, spaceAfter=4, fontName='Helvetica-Bold', ) body_style = ParagraphStyle( 'Body', parent=styles['Normal'], fontSize=9.5, textColor=colors.HexColor('#222222'), spaceAfter=4, leading=14, alignment=TA_JUSTIFY, ) bullet_style = ParagraphStyle( 'Bullet', parent=styles['Normal'], fontSize=9.5, textColor=colors.HexColor('#222222'), spaceAfter=3, leftIndent=14, bulletIndent=4, leading=13, ) note_style = ParagraphStyle( 'Note', parent=styles['Normal'], fontSize=8.5, textColor=colors.HexColor('#555555'), spaceAfter=4, leading=12, fontName='Helvetica-Oblique', ) story = [] # ── Title ────────────────────────────────────────────────────────────────────── story.append(Spacer(1, 0.3*cm)) story.append(Paragraph("HIGH-RISK PREGNANCY", title_style)) story.append(Paragraph("Preventive & Social Medicine (PSM) | Community Medicine", subtitle_style)) story.append(HRFlowable(width="100%", thickness=2, color=colors.HexColor('#1a3a5c'))) story.append(Spacer(1, 0.4*cm)) # ── Definition ───────────────────────────────────────────────────────────────── story.append(Paragraph("1. DEFINITION", h1_style)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph( "A <b>high-risk pregnancy</b> is one in which the mother, fetus, or newborn is at significantly greater " "risk of morbidity or mortality compared to an uncomplicated pregnancy. Identification and management " "of these pregnancies is a key strategy in reducing maternal and infant mortality — a central focus " "of community medicine.", body_style)) # ── Risk Factors ─────────────────────────────────────────────────────────────── story.append(Paragraph("2. CLASSIFICATION OF RISK FACTORS", h1_style)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph("A. Socio-demographic Factors", h2_style)) socio_data = [ [Paragraph('<b>Factor</b>', body_style), Paragraph('<b>Risk</b>', body_style)], [Paragraph('Age < 18 years or > 35 years', body_style), Paragraph('Obstetric complications, Down syndrome', body_style)], [Paragraph('Height < 145 cm', body_style), Paragraph('Contracted pelvis, cephalopelvic disproportion', body_style)], [Paragraph('Weight < 40 kg or severe obesity', body_style), Paragraph('Poor maternal and fetal outcomes', body_style)], [Paragraph('Grand multiparity (≥ 5 deliveries)', body_style), Paragraph('PPH, uterine rupture', body_style)], [Paragraph('Primi with age > 30 years', body_style), Paragraph('Increased operative delivery', body_style)], [Paragraph('Poverty / low socioeconomic status', body_style), Paragraph('Malnutrition, poor ANC attendance', body_style)], ] t = Table(socio_data, colWidths=[8*cm, 9*cm]) t.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#1a3a5c')), ('TEXTCOLOR', (0, 0), (-1, 0), colors.white), ('ROWBACKGROUNDS', (0, 1), (-1, -1), [colors.HexColor('#eef3fa'), colors.white]), ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#b0bec5')), ('TOPPADDING', (0, 0), (-1, -1), 5), ('BOTTOMPADDING', (0, 0), (-1, -1), 5), ('LEFTPADDING', (0, 0), (-1, -1), 6), ])) story.append(t) story.append(Spacer(1, 0.3*cm)) story.append(Paragraph("B. Obstetric History (Past)", h2_style)) obs_history = [ "3 or more spontaneous abortions", "2 or more fetal deaths / stillbirths", "2 or more neonatal deaths", "Previous caesarean section", "Previous PPH or retained placenta", "Previous difficult or instrumental delivery", "Previous baby with congenital anomaly", "Rh sensitization in previous pregnancy", "Pre-eclampsia / eclampsia in previous pregnancy", ] for item in obs_history: story.append(Paragraph(f"• {item}", bullet_style)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph("C. Current Obstetric Complications", h2_style)) current_obs = [ "Antepartum haemorrhage (placenta previa, abruption)", "Abnormal fetal presentation (breech, transverse lie)", "Pregnancy-induced hypertension / pre-eclampsia / eclampsia", "Multiple pregnancy (twins, triplets)", "Polyhydramnios or oligohydramnios", "IUGR (intrauterine growth restriction)", "Premature labour (< 37 weeks)", "Post-dated pregnancy (> 42 weeks)", "Rh isoimmunization", ] for item in current_obs: story.append(Paragraph(f"• {item}", bullet_style)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph("D. Pre-existing Medical Conditions", h2_style)) medical = [ "Diabetes mellitus", "Hypertension (chronic)", "Heart disease (especially Class III/IV)", "Renal disease / nephritis", "Severe anaemia (Hb < 7 g/dL)", "Thyroid disorders", "Epilepsy", "Tuberculosis", "HIV/AIDS / STIs", "Sickle cell disease", ] med_pairs = [] for i in range(0, len(medical), 2): row = [Paragraph(f"• {medical[i]}", bullet_style)] if i+1 < len(medical): row.append(Paragraph(f"• {medical[i+1]}", bullet_style)) else: row.append(Paragraph("", bullet_style)) med_pairs.append(row) t2 = Table(med_pairs, colWidths=[8.5*cm, 8.5*cm]) t2.setStyle(TableStyle([ ('GRID', (0, 0), (-1, -1), 0, colors.white), ('TOPPADDING', (0, 0), (-1, -1), 2), ('BOTTOMPADDING', (0, 0), (-1, -1), 2), ])) story.append(t2) # ── Scoring System ───────────────────────────────────────────────────────────── story.append(Paragraph("3. SCORING SYSTEM (COOPLAND SYSTEM)", h1_style)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph( "Points are assigned to risk factors; a total score of <b>3 or more = High Risk</b>.", body_style)) story.append(Spacer(1, 0.2*cm)) score_data = [ [Paragraph('<b>Risk Factor</b>', body_style), Paragraph('<b>Score</b>', body_style)], [Paragraph('Age < 16 or > 35 years', body_style), Paragraph('1', body_style)], [Paragraph('Height < 145 cm', body_style), Paragraph('1', body_style)], [Paragraph('Grand multiparity (≥ 5)', body_style), Paragraph('1', body_style)], [Paragraph('Anaemia (Hb < 8 g/dL)', body_style), Paragraph('1', body_style)], [Paragraph('Malpresentation', body_style), Paragraph('2', body_style)], [Paragraph('Antepartum haemorrhage (APH)', body_style), Paragraph('3', body_style)], [Paragraph('Pre-eclampsia / PIH', body_style), Paragraph('2', body_style)], [Paragraph('Previous stillbirth / neonatal death (each)', body_style), Paragraph('1', body_style)], [Paragraph('Medical disease (DM, HTN, heart disease)', body_style), Paragraph('2-3', body_style)], ] interp_data = [ [Paragraph('<b>Score</b>', body_style), Paragraph('<b>Risk Level</b>', body_style), Paragraph('<b>Action</b>', body_style)], [Paragraph('0-2', body_style), Paragraph('Low Risk', body_style), Paragraph('Routine ANC', body_style)], [Paragraph('3-6', body_style), Paragraph('Moderate Risk', body_style), Paragraph('Increased surveillance', body_style)], [Paragraph('≥ 7', body_style), Paragraph('High Risk', body_style), Paragraph('Refer to higher facility (FRU/DH)', body_style)], ] t3 = Table(score_data, colWidths=[13*cm, 4*cm]) t3.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#1a3a5c')), ('TEXTCOLOR', (0, 0), (-1, 0), colors.white), ('ROWBACKGROUNDS', (0, 1), (-1, -1), [colors.HexColor('#eef3fa'), colors.white]), ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#b0bec5')), ('TOPPADDING', (0, 0), (-1, -1), 5), ('BOTTOMPADDING', (0, 0), (-1, -1), 5), ('LEFTPADDING', (0, 0), (-1, -1), 6), ('ALIGN', (1, 0), (1, -1), 'CENTER'), ])) story.append(t3) story.append(Spacer(1, 0.3*cm)) t4 = Table(interp_data, colWidths=[3*cm, 5*cm, 9*cm]) t4.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#4a6fa5')), ('TEXTCOLOR', (0, 0), (-1, 0), colors.white), ('ROWBACKGROUNDS', (0, 1), (-1, -1), [colors.HexColor('#fff8e1'), colors.HexColor('#ffe0b2'), colors.HexColor('#ffccbc')]), ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#b0bec5')), ('TOPPADDING', (0, 0), (-1, -1), 5), ('BOTTOMPADDING', (0, 0), (-1, -1), 5), ('LEFTPADDING', (0, 0), (-1, -1), 6), ])) story.append(t4) # ── Identification ───────────────────────────────────────────────────────────── story.append(Paragraph("4. IDENTIFICATION OF HIGH-RISK PREGNANCIES", h1_style)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph( "<b>When:</b> At first ANC contact (ideally first trimester) and re-evaluated at each visit.", body_style)) story.append(Paragraph( "<b>Who:</b> ANM at subcentre level for initial identification; ASHA facilitates registration and referral.", body_style)) story.append(Paragraph("<b>How:</b>", body_style)) how_items = [ "Detailed history - obstetric, medical, family, social", "Clinical examination - weight, height, BP, pallor, oedema", "Laboratory investigations - Hb, blood group, Rh, urine, blood glucose, VDRL, HIV", "Ultrasound where available", ] for item in how_items: story.append(Paragraph(f"• {item}", bullet_style)) # ── Government Schemes ───────────────────────────────────────────────────────── story.append(Paragraph("5. GOVERNMENT SCHEMES (INDIA)", h1_style)) story.append(Spacer(1, 0.2*cm)) schemes = [ ("PMSMA (2016)", "Pradhan Mantri Surakshit Matritva Abhiyan", "Free ANC on the 9th of every month at government facilities. Minimum package of investigations and drugs. Involves private sector volunteers. Over 11.66 lakh high-risk pregnancies identified across the country."), ("JSY", "Janani Suraksha Yojana", "Cash incentive scheme to promote institutional deliveries. ~100.41 lakh pregnant women benefited in 2018-19. Subsidizes cost of C-section and obstetric complications (up to Rs. 1500)."), ("JSSK", "Janani Shishu Suraksha Karyakaram", "Free delivery (including C-section) in public health institutions. Includes free drugs, diagnostics, blood, diet, transport. Extended to ANC/PNC complications and sick infants."), ("SUMAN (2019)", "Surakshit Matritva Aashwasan", "Assured, dignified, quality healthcare at zero cost. Zero tolerance for denial of services. Goal: Zero preventable maternal and newborn deaths."), ("LaQshya (2017)", "Labour Room Quality Improvement Initiative", "Improves quality of care in labour rooms and maternity OTs. Evidence-based approach for intrapartum and postpartum periods."), ("FRU", "First Referral Units", "High-risk cases referred to FRUs at CHC/sub-district level. Provide emergency obstetric care (EmOC), C-sections, newborn care, blood storage 24/7. Minimum 20-30 beds; functional OT, labour room, blood bank."), ("Vandemataram Scheme", "Voluntary obstetric care scheme", "Any obstetric/gynaec specialist or lady doctor can volunteer. Enrolled doctors display 'Vandemataram logo'. IFA tablets, oral pills, TT injections provided free by DMO."), ] scheme_table_data = [ [Paragraph('<b>Scheme</b>', body_style), Paragraph('<b>Full Name</b>', body_style), Paragraph('<b>Key Features</b>', body_style)] ] for s in schemes: scheme_table_data.append([ Paragraph(s[0], body_style), Paragraph(s[1], body_style), Paragraph(s[2], body_style), ]) t5 = Table(scheme_table_data, colWidths=[3.5*cm, 4.5*cm, 9*cm]) t5.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#1a3a5c')), ('TEXTCOLOR', (0, 0), (-1, 0), colors.white), ('ROWBACKGROUNDS', (0, 1), (-1, -1), [colors.HexColor('#eef3fa'), colors.white]), ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#b0bec5')), ('TOPPADDING', (0, 0), (-1, -1), 5), ('BOTTOMPADDING', (0, 0), (-1, -1), 5), ('LEFTPADDING', (0, 0), (-1, -1), 6), ('VALIGN', (0, 0), (-1, -1), 'TOP'), ])) story.append(t5) # ── Management ───────────────────────────────────────────────────────────────── story.append(Paragraph("6. MANAGEMENT (COMMUNITY MEDICINE PERSPECTIVE)", h1_style)) story.append(Spacer(1, 0.2*cm)) mgmt_data = [ [Paragraph('<b>Level</b>', body_style), Paragraph('<b>Provider</b>', body_style), Paragraph('<b>Role</b>', body_style)], [Paragraph('Subcentre', body_style), Paragraph('ANM / ASHA', body_style), Paragraph('Identification & registration, basic ANC (weight, BP, FHR, fundal height), IFA + TT, referral', body_style)], [Paragraph('PHC', body_style), Paragraph('Medical Officer', body_style), Paragraph('Detailed ANC + investigations, manage anaemia & mild PIH, counselling, refer high-risk cases', body_style)], [Paragraph('FRU / CHC', body_style), Paragraph('Specialist', body_style), Paragraph('Specialist obstetric care, manage severe complications, C-section, newborn care, NICU', body_style)], [Paragraph('District Hospital', body_style), Paragraph('Senior Specialist', body_style), Paragraph('Full EmOC, blood bank, NICU, management of eclampsia, APH, obstructed labour', body_style)], ] t6 = Table(mgmt_data, colWidths=[2.5*cm, 3.5*cm, 11*cm]) t6.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#1a3a5c')), ('TEXTCOLOR', (0, 0), (-1, 0), colors.white), ('ROWBACKGROUNDS', (0, 1), (-1, -1), [colors.HexColor('#eef3fa'), colors.white]), ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#b0bec5')), ('TOPPADDING', (0, 0), (-1, -1), 5), ('BOTTOMPADDING', (0, 0), (-1, -1), 5), ('LEFTPADDING', (0, 0), (-1, -1), 6), ('VALIGN', (0, 0), (-1, -1), 'TOP'), ])) story.append(t6) # ── 3 Delays ─────────────────────────────────────────────────────────────────── story.append(Paragraph("7. THREE DELAYS MODEL", h1_style)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph( "Maternal deaths in high-risk pregnancies are often explained by the Three Delays Model:", body_style)) delays = [ "<b>Delay 1 - Recognizing danger signs:</b> Failure or delay in deciding to seek care at family/community level.", "<b>Delay 2 - Reaching a facility:</b> Transport barriers, long distance to appropriate facility.", "<b>Delay 3 - Receiving adequate care:</b> Delay in getting proper treatment once at the facility.", ] for d in delays: story.append(Paragraph(f"• {d}", bullet_style)) # ── Danger Signs ─────────────────────────────────────────────────────────────── story.append(Paragraph("8. DANGER SIGNS REQUIRING IMMEDIATE REFERRAL", h1_style)) story.append(Spacer(1, 0.2*cm)) danger = [ "Vaginal bleeding at any gestational age", "Severe headache, blurred vision, convulsions", "Fever > 38°C", "Severe abdominal pain", "Decreased or absent fetal movements", "Swelling of face and hands (severe oedema)", "Difficulty breathing", "Bag of waters broken without onset of labour", ] danger_pairs = [] for i in range(0, len(danger), 2): row = [Paragraph(f"• {danger[i]}", bullet_style)] if i+1 < len(danger): row.append(Paragraph(f"• {danger[i+1]}", bullet_style)) else: row.append(Paragraph("", bullet_style)) danger_pairs.append(row) t7 = Table(danger_pairs, colWidths=[8.5*cm, 8.5*cm]) t7.setStyle(TableStyle([ ('GRID', (0, 0), (-1, -1), 0, colors.white), ('TOPPADDING', (0, 0), (-1, -1), 2), ('BOTTOMPADDING', (0, 0), (-1, -1), 2), ('ROWBACKGROUNDS', (0, 0), (-1, -1), [colors.HexColor('#fff8e1'), colors.white]), ])) story.append(t7) # ── ANC Schedule ─────────────────────────────────────────────────────────────── story.append(Paragraph("9. ANTENATAL CARE SCHEDULE", h1_style)) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph( "India follows the WHO-recommended ANC schedule (now 8+ visits recommended). High-risk pregnancies require more frequent visits and specialist involvement.", body_style)) story.append(Spacer(1, 0.2*cm)) anc_data = [ [Paragraph('<b>Visit</b>', body_style), Paragraph('<b>Timing</b>', body_style), Paragraph('<b>Focus</b>', body_style)], [Paragraph('1st', body_style), Paragraph('< 12 weeks (ideally < 8 wk)', body_style), Paragraph('Registration, dating ultrasound, initial screening, blood group, Hb, VDRL, HIV', body_style)], [Paragraph('2nd', body_style), Paragraph('14-26 weeks', body_style), Paragraph('Anomaly scan, anaemia check, IFA compliance', body_style)], [Paragraph('3rd', body_style), Paragraph('28-34 weeks', body_style), Paragraph('Growth scan, GDM screening, Rh status, TT 2nd dose', body_style)], [Paragraph('4th+', body_style), Paragraph('36 weeks onwards', body_style), Paragraph('Birth preparedness, malpresentation check, danger signs counselling', body_style)], ] t8 = Table(anc_data, colWidths=[2*cm, 4.5*cm, 10.5*cm]) t8.setStyle(TableStyle([ ('BACKGROUND', (0, 0), (-1, 0), colors.HexColor('#1a3a5c')), ('TEXTCOLOR', (0, 0), (-1, 0), colors.white), ('ROWBACKGROUNDS', (0, 1), (-1, -1), [colors.HexColor('#eef3fa'), colors.white]), ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#b0bec5')), ('TOPPADDING', (0, 0), (-1, -1), 5), ('BOTTOMPADDING', (0, 0), (-1, -1), 5), ('LEFTPADDING', (0, 0), (-1, -1), 6), ('VALIGN', (0, 0), (-1, -1), 'TOP'), ])) story.append(t8) # ── MMR ──────────────────────────────────────────────────────────────────────── story.append(Paragraph("10. MATERNAL MORTALITY IN INDIA", h1_style)) story.append(Spacer(1, 0.2*cm)) mmr_items = [ "India's MMR has declined from <b>254/100,000 live births</b> (2004-06) to approximately <b>97/100,000 live births</b> (2018-20)", "<b>Leading direct causes:</b> Haemorrhage (PPH), sepsis, eclampsia, obstructed labour, unsafe abortion", "<b>SDG Target:</b> MMR &lt; 70/100,000 live births by 2030", "High-risk pregnancy identification and management is central to achieving this target", ] for item in mmr_items: story.append(Paragraph(f"• {item}", bullet_style)) # ── Footer note ──────────────────────────────────────────────────────────────── story.append(Spacer(1, 0.6*cm)) story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor('#b0bec5'))) story.append(Spacer(1, 0.2*cm)) story.append(Paragraph( "Source: Park's Textbook of Preventive and Social Medicine (pp. 514-596); Community Medicine principles on Maternal and Child Health.", note_style)) # Build PDF doc.build(story) print(f"PDF created: {output_path}") PYEOF python3 /tmp/workspace/high-risk-pregnancy/generate_pdf.py

Your PDF is ready! Here's the download link:

High Risk Pregnancy PSM

PDF Document · PDF

The PDF includes all 10 sections in a clean, formatted layout:
  1. Definition of high-risk pregnancy
  2. Classification of Risk Factors (socio-demographic, past obstetric history, current complications, medical conditions) - with colour-coded tables
  3. Coopland Scoring System with score interpretation (Low / Moderate / High Risk)
  4. Identification - who, when, and how
  5. Government Schemes - PMSMA, JSY, JSSK, SUMAN, LaQshya, FRU, Vandemataram
  6. Management at each level (Subcentre → PHC → FRU → District Hospital)
  7. Three Delays Model
  8. Danger Signs requiring immediate referral
  9. ANC Schedule (4-visit model)
  10. Maternal Mortality in India with MMR trends and SDG targets
This is a shared conversation. Sign in to Orris to start your own chat.