Explain all this topics in short with including all details in less words . Make a pdf according to the ruhs university 4th semester exam
mkdir -p /home/daytona/workspace/ruhs-nursing-pdf && ls /home/daytona/workspace/…
~/ruhs-nursing-pdf/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import inch, cm
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table,
TableStyle, HRFlowable, PageBreak, ListFlowable, ListItem)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.pdfgen import canvas
from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate
OUTPUT = "/home/daytona/workspace/ruhs-nursing-pdf/RUHS_4thSem_Immunological_Nursing.pdf"
# ── Colour palette ──────────────────────────────────────────────────────────
DARK_BLUE = colors.HexColor("#1A3A5C")
MED_BLUE = colors.HexColor("#2E6DA4")
LIGHT_BLUE = colors.HexColor("#D6E8FA")
ACCENT = colors.HexColor("#E8534A")
GOLD = colors.HexColor("#F0A500")
LIGHT_GRAY = colors.HexColor("#F4F6F9")
DARK_GRAY = colors.HexColor("#333333")
WHITE = colors.white
# ── Styles ───────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()
def style(name, **kwargs):
return ParagraphStyle(name, **kwargs)
title_style = style("MainTitle",
fontSize=20, leading=26, textColor=WHITE,
fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=4)
subtitle_style = style("SubTitle",
fontSize=12, leading=16, textColor=GOLD,
fontName="Helvetica-Bold", alignment=TA_CENTER, spaceAfter=2)
uni_style = style("UniStyle",
fontSize=10, leading=14, textColor=WHITE,
fontName="Helvetica", alignment=TA_CENTER, spaceAfter=2)
h1_style = style("H1",
fontSize=14, leading=18, textColor=WHITE,
fontName="Helvetica-Bold", alignment=TA_LEFT,
spaceBefore=12, spaceAfter=4,
backColor=DARK_BLUE, borderPad=6)
h2_style = style("H2",
fontSize=12, leading=16, textColor=DARK_BLUE,
fontName="Helvetica-Bold", alignment=TA_LEFT,
spaceBefore=8, spaceAfter=4, leftIndent=4,
borderPad=3, backColor=LIGHT_BLUE)
h3_style = style("H3",
fontSize=11, leading=15, textColor=MED_BLUE,
fontName="Helvetica-Bold", alignment=TA_LEFT,
spaceBefore=6, spaceAfter=2, leftIndent=8)
body_style = style("Body",
fontSize=9.5, leading=14, textColor=DARK_GRAY,
fontName="Helvetica", alignment=TA_JUSTIFY,
spaceBefore=2, spaceAfter=2, leftIndent=12)
bullet_style = style("Bullet",
fontSize=9.5, leading=14, textColor=DARK_GRAY,
fontName="Helvetica", alignment=TA_LEFT,
spaceBefore=1, spaceAfter=1, leftIndent=20, bulletIndent=8)
bold_body = style("BoldBody",
fontSize=9.5, leading=14, textColor=DARK_GRAY,
fontName="Helvetica-Bold", alignment=TA_LEFT,
spaceBefore=2, spaceAfter=1, leftIndent=12)
important_style = style("Important",
fontSize=9.5, leading=14, textColor=ACCENT,
fontName="Helvetica-Bold", alignment=TA_LEFT,
spaceBefore=2, spaceAfter=2, leftIndent=12)
note_style = style("Note",
fontSize=9, leading=13, textColor=colors.HexColor("#555555"),
fontName="Helvetica-Oblique", alignment=TA_LEFT,
spaceBefore=2, spaceAfter=2, leftIndent=16)
footer_style = style("Footer",
fontSize=8, leading=10, textColor=WHITE,
fontName="Helvetica", alignment=TA_CENTER)
# ── Header/Footer canvas ─────────────────────────────────────────────────────
def header_footer(canvas, doc):
canvas.saveState()
w, h = A4
# Top bar
canvas.setFillColor(DARK_BLUE)
canvas.rect(0, h - 28, w, 28, fill=1, stroke=0)
canvas.setFillColor(GOLD)
canvas.setFont("Helvetica-Bold", 9)
canvas.drawString(18, h - 18, "RUHS University | B.Sc. Nursing 4th Semester")
canvas.setFillColor(WHITE)
canvas.setFont("Helvetica", 8)
canvas.drawRightString(w - 18, h - 18, "Nursing Management — Immunological Problems")
# Bottom bar
canvas.setFillColor(DARK_BLUE)
canvas.rect(0, 0, w, 22, fill=1, stroke=0)
canvas.setFillColor(WHITE)
canvas.setFont("Helvetica", 8)
canvas.drawString(18, 7, "Prepared for RUHS 4th Sem Exam")
canvas.drawCentredString(w / 2, 7, f"Page {doc.page}")
canvas.drawRightString(w - 18, 7, "Immunological Nursing — 2024")
canvas.restoreState()
def cover_page(canvas, doc):
canvas.saveState()
w, h = A4
# Full background gradient simulation
canvas.setFillColor(DARK_BLUE)
canvas.rect(0, 0, w, h, fill=1, stroke=0)
# Accent strip
canvas.setFillColor(MED_BLUE)
canvas.rect(0, h * 0.35, w, h * 0.32, fill=1, stroke=0)
# Gold top bar
canvas.setFillColor(GOLD)
canvas.rect(0, h - 8, w, 8, fill=1, stroke=0)
# Gold bottom bar
canvas.rect(0, 0, w, 8, fill=1, stroke=0)
# Decorative side strip
canvas.setFillColor(ACCENT)
canvas.rect(0, 0, 6, h, fill=1, stroke=0)
canvas.rect(w - 6, 0, 6, h, fill=1, stroke=0)
canvas.restoreState()
# ── Helper: section box ───────────────────────────────────────────────────────
def section_heading(text):
return [
Spacer(1, 8),
Table([[Paragraph(text, h1_style)]],
colWidths=[6.5 * inch],
style=TableStyle([
("BACKGROUND", (0, 0), (-1, -1), DARK_BLUE),
("LEFTPADDING", (0, 0), (-1, -1), 10),
("RIGHTPADDING", (0, 0), (-1, -1), 10),
("TOPPADDING", (0, 0), (-1, -1), 6),
("BOTTOMPADDING", (0, 0), (-1, -1), 6),
("ROUNDEDCORNERS", [4, 4, 4, 4]),
])),
Spacer(1, 4),
]
def sub_heading(text):
return [
Spacer(1, 4),
Table([[Paragraph(text, h2_style)]],
colWidths=[6.5 * inch],
style=TableStyle([
("BACKGROUND", (0, 0), (-1, -1), LIGHT_BLUE),
("LEFTPADDING", (0, 0), (-1, -1), 8),
("TOPPADDING", (0, 0), (-1, -1), 4),
("BOTTOMPADDING", (0, 0), (-1, -1), 4),
("LINEBELOW", (0, 0), (-1, -1), 1.5, MED_BLUE),
])),
Spacer(1, 3),
]
def bullet(text, indent=0):
return Paragraph(f"<bullet>\u2022</bullet> {text}", bullet_style)
def p(text):
return Paragraph(text, body_style)
def bp(text):
return Paragraph(text, bold_body)
def note(text):
return Paragraph(f"<i>Note: {text}</i>", note_style)
def imp(text):
return Paragraph(f"\u26a0 {text}", important_style)
def make_table(headers, rows, col_widths=None):
data = [[Paragraph(h, style("TH", fontSize=9, fontName="Helvetica-Bold",
textColor=WHITE, alignment=TA_CENTER)) for h in headers]]
for row in rows:
data.append([Paragraph(str(c), style("TD", fontSize=9, fontName="Helvetica",
textColor=DARK_GRAY, alignment=TA_LEFT,
leading=13)) for c in row])
ts = TableStyle([
("BACKGROUND", (0, 0), (-1, 0), DARK_BLUE),
("ROWBACKGROUNDS", (0, 1), (-1, -1), [WHITE, LIGHT_GRAY]),
("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#CCCCCC")),
("LEFTPADDING", (0, 0), (-1, -1), 6),
("RIGHTPADDING", (0, 0), (-1, -1), 6),
("TOPPADDING", (0, 0), (-1, -1), 4),
("BOTTOMPADDING", (0, 0), (-1, -1), 4),
("VALIGN", (0, 0), (-1, -1), "TOP"),
])
cw = col_widths or [6.5 * inch / len(headers)] * len(headers)
return Table(data, colWidths=cw, style=ts, repeatRows=1)
# ═══════════════════════════════════════════════════════════════════════════════
# BUILD DOCUMENT
# ═══════════════════════════════════════════════════════════════════════════════
story = []
# ── COVER PAGE ────────────────────────────────────────────────────────────────
doc = BaseDocTemplate(
OUTPUT, pagesize=A4,
leftMargin=0.85 * inch, rightMargin=0.85 * inch,
topMargin=0.6 * inch, bottomMargin=0.5 * inch,
)
cover_frame = Frame(0, 0, A4[0], A4[1], leftPadding=60, rightPadding=60,
topPadding=180, bottomPadding=40)
content_frame = Frame(
doc.leftMargin, doc.bottomMargin + 22,
doc.width, doc.height - 22,
leftPadding=4, rightPadding=4, topPadding=8, bottomPadding=8
)
cover_template = PageTemplate("cover", frames=[cover_frame], onPage=cover_page)
content_template = PageTemplate("content", frames=[content_frame], onPage=header_footer)
doc.addPageTemplates([cover_template, content_template])
# Cover content
story.append(Spacer(1, 0.4 * inch))
story.append(Paragraph("RAJASTHAN UNIVERSITY OF", title_style))
story.append(Paragraph("HEALTH SCIENCES (RUHS)", title_style))
story.append(Spacer(1, 0.15 * inch))
story.append(Paragraph("B.Sc. Nursing — 4th Semester", subtitle_style))
story.append(Spacer(1, 0.3 * inch))
story.append(HRFlowable(width="80%", thickness=1.5, color=GOLD, spaceAfter=10))
story.append(Paragraph("NURSING MANAGEMENT OF PATIENTS WITH", uni_style))
story.append(Paragraph("IMMUNOLOGICAL PROBLEMS", title_style))
story.append(HRFlowable(width="80%", thickness=1.5, color=GOLD, spaceBefore=10))
story.append(Spacer(1, 0.3 * inch))
cover_topics = [
"1. Review of Immune System",
"2. Nursing Assessment: History & Physical",
"3. HIV & AIDS — Epidemiology, Transmission, Prevention & Management",
"4. Role of Nurse in HIV/AIDS",
"5. National AIDS Control Programme (NACO)",
"6. National & International Agencies for Infection Control",
]
for t in cover_topics:
story.append(Paragraph(t, uni_style))
story.append(Spacer(1, 0.5 * inch))
story.append(Paragraph("Prepared for RUHS 4th Semester Examination 2024", subtitle_style))
story.append(Paragraph("Medical-Surgical Nursing — Unit V", uni_style))
# Switch to content template
story.append(PageBreak())
from reportlab.platypus import NextPageTemplate
story.insert(-1, NextPageTemplate("content"))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 1 — REVIEW OF IMMUNE SYSTEM
# ══════════════════════════════════════════════════════════════════════════════
story += section_heading("SECTION 1: REVIEW OF IMMUNE SYSTEM")
story += sub_heading("1.1 Definition & Overview")
story.append(p("The immune system is a complex network of cells, tissues, organs, and chemical mediators that protect the body against pathogens, foreign substances, and abnormal (cancerous) cells."))
story += sub_heading("1.2 Types of Immunity")
imm_data = [
["Type", "Definition", "Examples"],
["Innate (Non-specific)", "First line of defence; present from birth; no memory", "Skin, mucous membranes, phagocytes, NK cells, complement"],
["Adaptive (Specific)", "Acquired after exposure; has memory; slower but targeted", "B cells (antibody), T cells (cell-mediated)"],
["Active Immunity", "Host produces own antibodies after exposure or vaccination", "Post-infection, vaccines (BCG, OPV)"],
["Passive Immunity", "Ready-made antibodies given from outside", "Breast milk (IgA), Anti-tetanus serum, Ig injections"],
]
story.append(make_table(imm_data[0], imm_data[1:], [1.5*inch, 2.5*inch, 2.5*inch]))
story += sub_heading("1.3 Key Cells of the Immune System")
cells = [
("B Lymphocytes", "Mature in bone marrow; produce antibodies (immunoglobulins); humoral immunity"),
("T Lymphocytes", "Mature in thymus; CD4+ (helper), CD8+ (cytotoxic), Treg (regulatory)"),
("CD4+ T-Helper", "Coordinate immune response; primary target of HIV"),
("NK Cells", "Natural killer cells; destroy virus-infected and tumour cells"),
("Macrophages", "Phagocytosis; antigen presentation; cytokine release"),
("Dendritic Cells", "Most potent antigen-presenting cells (APC)"),
("Neutrophils", "First responders; phagocytose bacteria"),
("Mast Cells", "Release histamine; involved in allergic response"),
]
for c, d in cells:
story.append(Paragraph(f"<b>{c}:</b> {d}", bullet_style))
story += sub_heading("1.4 Immunoglobulins (Antibodies)")
ig_data = [
["Ig Class", "Location / Function"],
["IgG", "Most abundant (75%); crosses placenta; secondary response; memory antibody"],
["IgA", "Secretory; found in saliva, tears, breast milk, GIT secretions"],
["IgM", "First antibody produced in primary immune response; largest Ig"],
["IgE", "Mediates allergic reactions and parasitic infections (triggers mast cells)"],
["IgD", "Found on surface of B cells; function not fully understood"],
]
story.append(make_table(ig_data[0], ig_data[1:], [1.2*inch, 5.3*inch]))
story += sub_heading("1.5 Complement System")
story.append(p("A cascade of plasma proteins (C1–C9) activated by classical (antigen-antibody), lectin, or alternative pathways. Functions: opsonisation, chemotaxis, cell lysis (membrane attack complex — MAC), inflammation."))
story += sub_heading("1.6 Cytokines — Key Mediators")
cyto = [
"Interleukins (IL-1, IL-2, IL-4, IL-6, IL-10, IL-12): regulate immune cell growth and differentiation",
"Tumour Necrosis Factor (TNF-alpha): pro-inflammatory; anti-tumour",
"Interferons (IFN-alpha, IFN-gamma): antiviral; activate NK cells and macrophages",
"Colony Stimulating Factors (G-CSF, M-CSF): stimulate WBC production in bone marrow",
]
for c in cyto:
story.append(bullet(c))
story += sub_heading("1.7 Organs of Immune System")
organs = [
("Primary Lymphoid Organs", "Bone marrow (B cell maturation), Thymus (T cell maturation)"),
("Secondary Lymphoid Organs", "Spleen, Lymph nodes, Tonsils, Peyer's patches (GALT), MALT"),
]
for k, v in organs:
story.append(Paragraph(f"<b>{k}:</b> {v}", bullet_style))
story.append(note("Normal CD4+ count: 500-1500 cells/mm3. HIV diagnosis when CD4 <200 cells/mm3."))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 2 — NURSING ASSESSMENT
# ══════════════════════════════════════════════════════════════════════════════
story += section_heading("SECTION 2: NURSING ASSESSMENT — HISTORY & PHYSICAL")
story += sub_heading("2.1 Health History")
history_items = [
"<b>Chief Complaint:</b> Fatigue, recurrent infections, unexplained weight loss, night sweats, prolonged fever",
"<b>Past Medical History:</b> Previous infections (TB, fungal, herpes zoster), hospitalizations, blood transfusions",
"<b>Family History:</b> Immunodeficiency disorders, autoimmune diseases, malignancies",
"<b>Social History:</b> Sexual behaviour (MSM, multiple partners), IV drug use, occupation (healthcare worker), travel history",
"<b>Medication History:</b> Immunosuppressive drugs (steroids, chemotherapy), antibiotics, antiretrovirals",
"<b>Allergy History:</b> Drug allergies, food allergies, seasonal allergies",
"<b>Vaccination History:</b> Immunization status — especially BCG, Hepatitis B, Influenza",
]
for h in history_items:
story.append(Paragraph(f"<bullet>\u2022</bullet> {h}", bullet_style))
story += sub_heading("2.2 Physical Assessment (Head-to-Toe)")
physical_data = [
["System", "Findings in Immunocompromised Patients"],
["General", "Wasting syndrome, pallor, cachexia, low-grade fever, fatigue"],
["Skin", "Kaposi's sarcoma (purple lesions), herpes zoster, molluscum, oral candidiasis, seborrheic dermatitis"],
["Lymph Nodes", "Generalised lymphadenopathy (>1 cm, non-tender, persistent >3 months)"],
["Eyes", "CMV retinitis (in AIDS), visual field defects, cotton-wool spots"],
["Oral Cavity", "Oral thrush (white plaques), hairy leukoplakia, gingivitis, ulcers"],
["Respiratory", "Cough, dyspnoea — PCP pneumonia (Pneumocystis jirovecii), TB"],
["GIT", "Diarrhoea (Cryptosporidium, CMV), dysphagia, hepatomegaly, splenomegaly"],
["Neurological", "Dementia (HIV encephalopathy), meningitis (Cryptococcal), peripheral neuropathy, seizures"],
["Musculoskeletal", "Myopathy, arthralgia, wasting of muscle mass"],
]
story.append(make_table(physical_data[0], physical_data[1:], [1.4*inch, 5.1*inch]))
story += sub_heading("2.3 Key Diagnostic Investigations")
invx = [
"CBC with Differential: leucopenia, lymphopenia, anaemia, thrombocytopenia",
"CD4+ T-cell count: marker of immune status in HIV (normal >500/mm3; AIDS <200/mm3)",
"HIV Antibody Test: ELISA (screening), Western Blot (confirmatory)",
"HIV RNA Viral Load (PCR): measures viral replication; guides ART",
"Chest X-ray: PCP pneumonia, TB, lymphoma",
"Skin Tests: Tuberculin test (Mantoux), delayed hypersensitivity panel",
"Serology: CMV, Toxoplasma, Hepatitis B/C, Syphilis (VDRL)",
"Sputum for AFB, Culture & Sensitivity; Blood cultures",
]
for i in invx:
story.append(bullet(i))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 3 — HIV & AIDS
# ══════════════════════════════════════════════════════════════════════════════
story += section_heading("SECTION 3: HIV & AIDS")
story += sub_heading("3.1 Definitions")
story.append(p("<b>HIV (Human Immunodeficiency Virus):</b> A retrovirus (RNA virus) belonging to the Lentivirus family. It attacks CD4+ T-helper lymphocytes, progressively impairing cell-mediated immunity."))
story.append(p("<b>AIDS (Acquired Immunodeficiency Syndrome):</b> The final stage of HIV infection. Defined by CD4+ count <200 cells/mm3 OR presence of an AIDS-defining illness (opportunistic infection or malignancy)."))
story.append(p("<b>Two types:</b> HIV-1 (global pandemic) and HIV-2 (mainly West Africa, less virulent)."))
story += sub_heading("3.2 Epidemiology")
epi = [
"Global: ~39 million people living with HIV (UNAIDS 2023); ~1.3 million new infections/year",
"India: ~2.4 million PLHIV; prevalence ~0.22% (adult); highest burden in Andhra Pradesh, Maharashtra, Karnataka, Manipur, Mizoram",
"Most affected: Age group 15-49 years (sexually active); female to male ratio 1:2 in India",
"Modes: Heterosexual contact (most common in India), IDU, MSM, perinatal (mother to child)",
"Global goal: 95-95-95 targets — 95% diagnosed, 95% on ART, 95% virally suppressed (UNAIDS)",
]
for e in epi:
story.append(bullet(e))
story += sub_heading("3.3 Transmission Routes")
trans_data = [
["Route", "Details", "Risk"],
["Sexual Contact", "Unprotected vaginal, anal, oral sex; anal intercourse highest risk", "High"],
["Blood-borne", "Sharing needles (IDU), blood transfusion (pre-screening era), needle-stick injury", "Very High"],
["Mother-to-Child (MTCT)", "During pregnancy (transplacental), labour/delivery, breastfeeding", "15-45% without PMTCT"],
["Occupational", "Healthcare workers — needle-stick injuries, splash of blood/body fluids", "0.3% per exposure"],
]
story.append(make_table(trans_data[0], trans_data[1:], [1.5*inch, 3.3*inch, 1.7*inch]))
story.append(imp("HIV is NOT transmitted by: casual contact, hugging, sharing utensils, mosquito bites, toilet seats, coughing/sneezing."))
story += sub_heading("3.4 Pathophysiology")
path = [
"HIV binds to CD4 receptor + CCR5/CXCR4 co-receptor on T-helper cells and macrophages.",
"Viral RNA is reverse-transcribed into DNA by reverse transcriptase enzyme.",
"Viral DNA integrates into host cell genome via integrase enzyme.",
"Host cell reproduces viral components; protease enzyme cleaves new virions.",
"Gradual destruction of CD4+ cells leads to progressive immunodeficiency.",
"When CD4 <200/mm3 — susceptibility to opportunistic infections (OIs) = AIDS.",
]
for i, pp in enumerate(path, 1):
story.append(Paragraph(f"<bullet><b>{i}.</b></bullet> {pp}", bullet_style))
story += sub_heading("3.5 Stages of HIV Infection (WHO Clinical Staging)")
stages_data = [
["Stage", "Clinical Features", "CD4 Count"],
["Stage 1 (Acute/Primary)", "Acute retroviral syndrome: fever, sore throat, lymphadenopathy, rash, myalgia — 2-4 weeks after infection. Then asymptomatic.", ">500/mm3"],
["Stage 2 (Early)", "Mild symptoms: weight loss <10%, minor mucocutaneous manifestations, herpes zoster, recurrent URTI", "350-499/mm3"],
["Stage 3 (Intermediate)", "Weight loss >10%, chronic diarrhoea >1 month, oral candidiasis, pulmonary TB, severe bacterial infections", "200-349/mm3"],
["Stage 4 (AIDS)", "AIDS-defining illnesses: PCP, CMV, Toxoplasmosis, Cryptococcal meningitis, Kaposi's sarcoma, Wasting syndrome", "<200/mm3"],
]
story.append(make_table(stages_data[0], stages_data[1:], [1.2*inch, 3.8*inch, 1.5*inch]))
story += sub_heading("3.6 AIDS-Defining Illnesses (Opportunistic Infections)")
oi_data = [
["Category", "Disease / Pathogen"],
["Respiratory", "PCP (Pneumocystis jirovecii pneumonia), Pulmonary TB, Recurrent bacterial pneumonia"],
["CNS", "Cryptococcal meningitis, Toxoplasma encephalitis, CNS lymphoma, CMV encephalitis, HIV dementia"],
["GIT", "Cryptosporidiosis, CMV colitis, Oesophageal candidiasis, Microsporidiosis"],
["Skin", "Kaposi's Sarcoma (HHV-8), Molluscum contagiosum, Disseminated herpes simplex"],
["Systemic/Other", "Wasting syndrome, Disseminated MAC (Mycobacterium avium complex), Cervical cancer (invasive)"],
]
story.append(make_table(oi_data[0], oi_data[1:], [1.5*inch, 5.0*inch]))
story += sub_heading("3.7 Prevention of HIV Transmission")
story += sub_heading("3.7.1 Primary Prevention (Avoiding Infection)")
prim = [
"<b>A-B-C Strategy:</b> Abstinence, Be faithful, Correct & consistent Condom use",
"Needle exchange programmes (harm reduction) for IDUs",
"Safe blood transfusion: mandatory HIV testing of all donated blood",
"Universal precautions in healthcare settings (gloves, mask, goggles, safe disposal)",
"Pre-Exposure Prophylaxis (PrEP): daily oral TDF+FTC for high-risk individuals",
"Post-Exposure Prophylaxis (PEP): ART within 72 hours of exposure for 28 days",
"Male circumcision: reduces heterosexual transmission by ~60% in men",
]
for pr in prim:
story.append(Paragraph(f"<bullet>\u2022</bullet> {pr}", bullet_style))
story += sub_heading("3.7.2 PMTCT (Prevention of Mother-to-Child Transmission)")
pmtct = [
"Option B+: All HIV+ pregnant women start lifelong ART regardless of CD4 count",
"ART reduces MTCT from 25-45% to <2%",
"Delivery by caesarean section if viral load is detectable",
"Infant prophylaxis: NVP (Nevirapine) syrup for 6 weeks after birth",
"Infant feeding: exclusive breastfeeding + ART preferred (avoids mixed feeding risks)",
"Early Infant Diagnosis (EID): DNA PCR at 6 weeks of age",
]
for pm in pmtct:
story.append(bullet(pm))
story += sub_heading("3.8 Management of HIV/AIDS")
story += sub_heading("3.8.1 Antiretroviral Therapy (ART)")
story.append(p("ART does NOT cure HIV but suppresses viral replication to undetectable levels, allowing CD4 recovery and prevention of OIs. The goal is: <b>Undetectable = Untransmittable (U=U).</b>"))
art_data = [
["Drug Class", "Mechanism", "Examples"],
["NRTIs (Nucleoside Reverse Transcriptase Inhibitors)", "Inhibit reverse transcriptase (chain termination)", "Zidovudine (AZT), Lamivudine (3TC), Tenofovir (TDF), Emtricitabine (FTC), Abacavir (ABC)"],
["NNRTIs (Non-nucleoside RTIs)", "Non-competitively inhibit reverse transcriptase", "Nevirapine (NVP), Efavirenz (EFV), Rilpivirine"],
["PIs (Protease Inhibitors)", "Inhibit HIV protease; prevent viral maturation", "Lopinavir/r (LPV/r), Atazanavir, Darunavir"],
["INSTIs (Integrase Strand Transfer Inhibitors)", "Inhibit integrase; prevent viral DNA integration into host", "Dolutegravir (DTG), Raltegravir, Bictegravir"],
["Fusion/Entry Inhibitors", "Block viral entry into host cells", "Enfuvirtide, Maraviroc"],
]
story.append(make_table(art_data[0], art_data[1:], [2.0*inch, 2.2*inch, 2.3*inch]))
story.append(note("First-line regimen in India (NACO 2021): TDF + 3TC + DTG (or EFV) — two NRTIs + one INSTI/NNRTI"))
story += sub_heading("3.8.2 When to Start ART")
start = [
"ALL HIV-positive individuals regardless of CD4 count (WHO/NACO 'treat all' policy since 2016)",
"Immediate initiation preferred ('same-day ART' if patient is ready)",
"Pregnant women: immediately (Option B+)",
"Children: all HIV-positive children under 5 years; ART for older children when CD4 <350",
]
for s in start:
story.append(bullet(s))
story += sub_heading("3.8.3 Treatment of Opportunistic Infections")
oi_tx = [
("PCP Pneumonia", "Co-trimoxazole (TMP-SMX) — high dose; Pentamidine if allergic"),
("Cryptococcal Meningitis", "Amphotericin B + Flucytosine (induction), Fluconazole (consolidation)"),
("TB", "Standard RHEZ regimen; manage drug interactions with ART"),
("Toxoplasmosis", "Pyrimethamine + Sulfadiazine + Folinic acid"),
("CMV Retinitis", "Ganciclovir IV (induction), Valganciclovir (maintenance)"),
("Oral Candidiasis", "Fluconazole oral or nystatin swish-and-swallow"),
("MAC", "Azithromycin/Clarithromycin + Ethambutol"),
]
for oi, tx in oi_tx:
story.append(Paragraph(f"<bullet>\u2022</bullet> <b>{oi}:</b> {tx}", bullet_style))
story += sub_heading("3.8.4 OI Prophylaxis (Co-trimoxazole Preventive Therapy — CPT)")
story.append(p("Co-trimoxazole (TMP-SMX 960 mg OD) prophylaxis is given to ALL HIV+ patients with CD4 <200 cells/mm3 to prevent PCP, Toxoplasmosis, and other bacterial infections."))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 4 — ROLE OF NURSE
# ══════════════════════════════════════════════════════════════════════════════
story += section_heading("SECTION 4: ROLE OF NURSE IN HIV/AIDS")
story += sub_heading("4.1 Clinical Nursing Care")
clin = [
"<b>Monitoring:</b> Vital signs, CD4 count, viral load, weight, OI symptoms, ART side effects",
"<b>Medication Management:</b> Ensure ART adherence (>95% adherence required for viral suppression), manage drug side effects",
"<b>Infection Control:</b> Standard precautions, isolation when needed, prevent HAIs",
"<b>Nutritional Support:</b> High protein, high calorie diet; treat malnutrition; monitor for wasting",
"<b>Symptom Management:</b> Pain (WHO ladder), diarrhoea, nausea, oral care, skin care, fever management",
"<b>Wound Care:</b> Manage Kaposi's sarcoma lesions, pressure injuries, oral ulcers",
"<b>Respiratory Care:</b> Oxygen therapy, positioning, nebulisation for PCP patients",
"<b>Neurological Care:</b> Safety measures for dementia/seizure patients, orientation, fall prevention",
]
for c in clin:
story.append(Paragraph(f"<bullet>\u2022</bullet> {c}", bullet_style))
story += sub_heading("4.2 Counselling")
story.append(p("HIV counselling is a confidential communication between a client and a trained counsellor. It helps the client manage stress related to HIV and facilitates preventive behaviour change."))
counsel = [
"<b>Pre-test Counselling (VCT — Voluntary Counselling and Testing):</b> Explain HIV test, obtain informed consent, assess risk behaviours, address fears",
"<b>Post-test Counselling (HIV Negative):</b> Explain 'window period' (up to 90 days), reinforce prevention, retest if recent exposure",
"<b>Post-test Counselling (HIV Positive):</b> Disclose result empathetically, explain meaning of HIV, ART availability, importance of adherence, partner notification",
"<b>Disclosure Counselling:</b> Help patient disclose status to partner/family; mandatory partner notification in some settings",
"<b>Adherence Counselling:</b> Ongoing; explain importance of >95% ART adherence, management of side effects, pill organizers",
"<b>Grief Counselling:</b> Support for terminal illness, death, bereavement of HIV-positive families",
]
for c in counsel:
story.append(Paragraph(f"<bullet>\u2022</bullet> {c}", bullet_style))
story += sub_heading("4.3 Health Education")
edu = [
"Education on modes of HIV transmission and misconceptions",
"Safe sex education: correct condom use, reducing partners, mutual monogamy",
"Needle exchange and harm reduction for IDUs",
"PMTCT education for HIV+ pregnant women and their partners",
"ART adherence education: timing, storage, side effects, missed doses",
"Opportunistic infection prevention: hygiene, food safety, avoiding sick contacts",
"Early warning signs to report: fever, cough, severe diarrhoea, vision changes, confusion",
"Nutrition counselling: high protein diet, safe food handling, vitamin supplementation",
"Psychosocial support: support groups, legal rights of PLHIV, anti-discrimination",
]
for e in edu:
story.append(bullet(e))
story += sub_heading("4.4 Home Care Considerations")
home = [
"<b>ART Administration:</b> Ensure patient/caregiver understands correct drug timings; directly observed therapy (DOT) if needed",
"<b>Environment:</b> Clean home, safe water, adequate ventilation; prevent exposure to TB/infections",
"<b>Infection Control at Home:</b> Separate towels, safe disposal of sharps/bloody materials, handwashing hygiene",
"<b>Nutritional Support:</b> High calorie meals, fortified foods; refer to nutritionist",
"<b>Pain Management:</b> Teach non-pharmacological methods (heat, positioning); ensure adequate analgesia at home",
"<b>Psychological Support:</b> Reduce stigma, involve family in care, peer support groups, telephone helpline (iCall, NACO helpline 1097)",
"<b>Regular Follow-up:</b> Teach patient to keep ART clinic appointments, CD4/VL testing schedule, refill timing",
"<b>Emergency Preparedness:</b> Signs to report immediately — high fever, severe headache, visual disturbances, seizures, shortness of breath",
]
for h in home:
story.append(Paragraph(f"<bullet>\u2022</bullet> {h}", bullet_style))
story += sub_heading("4.5 Rehabilitation")
rehab = [
"Physical Rehabilitation: graded exercise, physiotherapy for wasting/neuropathy, energy conservation techniques",
"Vocational Rehabilitation: return to work support, disclosure guidance, anti-discrimination laws (PLHIV Act 2017 India)",
"Social Rehabilitation: family re-integration, community reintegration, peer support programs, support groups (PLHIV networks)",
"Psychological Rehabilitation: mental health support, CBT for depression and anxiety, adherence counselling, reducing internalized stigma",
"Nutritional Rehabilitation: treat malnutrition (SAM/MAM), therapeutic feeding, micronutrient supplementation",
]
for r in rehab:
story.append(bullet(r))
story += sub_heading("4.6 Ethical & Legal Responsibilities of Nurse")
ethics = [
"Confidentiality: HIV status is strictly confidential; disclosure only with consent",
"Non-discrimination: provide equal care regardless of HIV status, sexual orientation, or social background",
"Informed consent: for HIV testing, ART initiation, research participation",
"Universal precautions: protect self and others; report needle-stick injuries promptly (PEP protocol)",
"Advocacy: advocate for PLHIV rights, access to ART, reduction of stigma",
"Documentation: accurate, confidential records; maintain privacy",
]
for e in ethics:
story.append(bullet(e))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 5 — NACO
# ══════════════════════════════════════════════════════════════════════════════
story += section_heading("SECTION 5: NATIONAL AIDS CONTROL PROGRAMME (NACP) & NACO")
story += sub_heading("5.1 NACO — Overview")
story.append(p("<b>NACO (National AIDS Control Organisation)</b> was established in 1992 under the Ministry of Health & Family Welfare, Government of India. It is the nodal agency for formulating policy, coordinating, and monitoring the National AIDS Control Programme (NACP)."))
story += sub_heading("5.2 Phases of NACP")
nacp_data = [
["Phase", "Period", "Key Focus"],
["NACP-I", "1992-1999", "Blood safety, sentinel surveillance, STI management, awareness"],
["NACP-II", "1999-2006", "Scale-up of targeted interventions (TIs) for high-risk groups; VCTC establishment; PMTCT pilot"],
["NACP-III", "2007-2012", "Halting and reversing HIV epidemic; free ART scale-up; ICTC, PPTCT, Link Workers"],
["NACP-IV", "2012-2017", "Acceleration toward zero new infections, zero AIDS deaths, zero stigma"],
["NACP-V", "2021-2025", "Fast-track elimination; 95-95-95 targets; community-led approach; key populations focus"],
]
story.append(make_table(nacp_data[0], nacp_data[1:], [1.0*inch, 1.2*inch, 4.3*inch]))
story += sub_heading("5.3 Key Services & Programmes under NACO")
services = [
"<b>ICTC (Integrated Counselling & Testing Centre):</b> Free, confidential HIV testing & counselling at all government hospitals; now renamed ICTC+ to include hepatitis and syphilis",
"<b>ART Centres:</b> >800 government ART centres providing free first-line and second-line ART + CD4/VL testing",
"<b>PPTCT (Prevention of Parent-to-Child Transmission):</b> Option B+ — all HIV+ pregnant women on lifelong ART; EID at 6 weeks by DNA PCR",
"<b>Targeted Interventions (TIs):</b> Programmes for key populations — FSW, MSM, TG, IDU, migrant workers — condom distribution, STI treatment, outreach",
"<b>Blood Safety Programme:</b> 100% voluntary blood donation; mandatory HIV, HBV, HCV, syphilis, malaria testing of all units",
"<b>STI Management:</b> Free syndromic management of STIs at government facilities; STIs increase HIV transmission",
"<b>Opioid Substitution Therapy (OST):</b> Buprenorphine for IDUs; harm reduction",
"<b>Link Worker Scheme:</b> Community-level outreach workers for rural India",
"<b>India HIV Estimation:</b> Annual sentinel surveillance; ANC-based and HSS surveys",
"<b>Human Rights & Legal Aid:</b> PLHIV Act 2017 — prohibits discrimination in employment, healthcare, education",
]
for s in services:
story.append(Paragraph(f"<bullet>\u2022</bullet> {s}", bullet_style))
story += sub_heading("5.4 NACO's 90-90-90 / 95-95-95 Strategy")
story.append(p("Target: By 2025 — <b>95%</b> of all PLHIV know their status; <b>95%</b> of diagnosed PLHIV on sustained ART; <b>95%</b> of those on ART have viral suppression."))
story.append(p("This strategy, if achieved, would end AIDS as a public health threat by 2030 (SDG target)."))
# ══════════════════════════════════════════════════════════════════════════════
# SECTION 6 — NATIONAL & INTERNATIONAL AGENCIES
# ══════════════════════════════════════════════════════════════════════════════
story += section_heading("SECTION 6: NATIONAL & INTERNATIONAL AGENCIES FOR INFECTION CONTROL")
story += sub_heading("6.1 National Agencies (India)")
nat_data = [
["Agency", "Full Name", "Role"],
["NACO", "National AIDS Control Organisation", "Policy, coordination, ART programme, surveillance for HIV/AIDS"],
["ICMR", "Indian Council of Medical Research", "Research on infectious diseases, vaccine trials, surveillance"],
["NVBDCP", "National Vector Borne Disease Control Programme", "Control of malaria, dengue, kala-azar, filaria, JE, Chikungunya"],
["RNTCP/NTP", "National TB Elimination Programme", "DOTS strategy, TB-HIV co-infection management, PMDT"],
["NIHFW", "National Institute of Health & Family Welfare", "Training of health personnel, public health education"],
["NICD", "National Institute of Communicable Diseases (now NCDC)", "Surveillance, outbreak investigation, laboratory support"],
["NCDC", "National Centre for Disease Control", "Disease surveillance, IHR focal point, epidemic preparedness"],
["MoHFW", "Ministry of Health & Family Welfare", "Apex government body; health policy formulation"],
["NABL", "National Accreditation Board for Testing & Calibration Laboratories", "Accreditation of HIV testing labs, quality assurance"],
]
story.append(make_table(nat_data[0], nat_data[1:], [1.0*inch, 1.8*inch, 3.7*inch]))
story += sub_heading("6.2 International Agencies")
int_data = [
["Agency", "Full Name", "Role in Infection Control"],
["WHO", "World Health Organisation", "Sets global health standards, IHR 2005, GLASS (AMR surveillance), pandemic response, ART guidelines"],
["UNAIDS", "Joint United Nations Programme on HIV/AIDS", "Global HIV/AIDS policy, 90-90-90 targets, advocacy, data monitoring"],
["UNICEF", "United Nations Children's Fund", "Child health, PMTCT, nutrition, immunization, pediatric ART"],
["UNDP", "United Nations Development Programme", "HIV and development nexus; funding, legal frameworks, human rights"],
["UNFPA", "United Nations Population Fund", "Sexual & reproductive health; condom supply; gender-based violence"],
["CDC", "Centers for Disease Control and Prevention (USA)", "Global disease surveillance, PEPFAR partner, infection control guidelines, outbreak response"],
["PEPFAR", "President's Emergency Plan for AIDS Relief (USA)", "Largest bilateral HIV funding programme; supports ART in 54 countries incl. India"],
["Global Fund", "The Global Fund to Fight AIDS, TB and Malaria", "Multilateral financing; funds national programs in LMICs"],
["MSF", "Médecins Sans Frontières (Doctors Without Borders)", "Healthcare delivery in resource-limited settings; advocates for affordable medicines"],
["USAID", "United States Agency for International Development", "Health system strengthening, HIV/TB programs, maternal & child health"],
["IOM", "International Organisation for Migration", "HIV among migrants; health services for mobile populations"],
]
story.append(make_table(int_data[0], int_data[1:], [0.9*inch, 1.8*inch, 3.8*inch]))
story += sub_heading("6.3 Infection Control Standards (Brief)")
ic = [
"<b>Standard Precautions (Universal Precautions):</b> Hand hygiene, PPE (gloves, mask, gown, goggles), safe sharps disposal, respiratory hygiene — apply to ALL patients",
"<b>Transmission-Based Precautions:</b> Contact (MRSA), Droplet (influenza, COVID), Airborne (TB, measles) precautions",
"<b>Hand Hygiene:</b> WHO 5 Moments; alcohol-based hand rub preferred; soap & water for visible contamination or C. difficile",
"<b>Biomedical Waste Management:</b> Colour-coded segregation (yellow, red, blue, white/translucent bags); autoclaving, incineration",
"<b>Needle-stick Injury Protocol:</b> Wash with soap/water; report immediately; PEP within 72 hours; complete 28-day ART course; baseline and follow-up HIV testing",
]
for i in ic:
story.append(Paragraph(f"<bullet>\u2022</bullet> {i}", bullet_style))
# ══════════════════════════════════════════════════════════════════════════════
# QUICK REVISION TABLE
# ══════════════════════════════════════════════════════════════════════════════
story += section_heading("QUICK REVISION — KEY VALUES TO REMEMBER")
qr_data = [
["Parameter", "Value / Fact"],
["Normal CD4+ count", "500-1500 cells/mm3"],
["AIDS definition (CD4)", "<200 cells/mm3 OR AIDS-defining illness"],
["HIV window period (4th gen test)", "18-45 days (most; up to 90 days for RNA PCR)"],
["ART adherence required", ">95% for viral suppression"],
["MTCT risk without PMTCT", "25-45%; reduced to <2% with Option B+"],
["PEP window", "Within 72 hours; 28-day course"],
["PrEP drug", "TDF + FTC (Truvada) daily"],
["Co-trimoxazole prophylaxis", "CD4 <200/mm3 — TMP-SMX 960 mg OD"],
["1st line ART regimen (India)", "TDF + 3TC + DTG"],
["NACO established", "1992, Ministry of Health & FW"],
["India PLHIV estimate", "~2.4 million (2023)"],
["95-95-95 target year", "2025; AIDS-free world by 2030"],
["HIV helpline (NACO)", "1097 (toll-free)"],
["PLHIV Act India", "2017 — prohibits discrimination"],
]
story.append(make_table(qr_data[0], qr_data[1:], [2.8*inch, 3.7*inch]))
story.append(Spacer(1, 0.3 * inch))
story.append(HRFlowable(width="100%", thickness=1, color=MED_BLUE))
story.append(Spacer(1, 6))
story.append(Paragraph("All the Best for Your RUHS 4th Semester Examination!",
style("GoodLuck", fontSize=11, fontName="Helvetica-Bold", textColor=MED_BLUE, alignment=TA_CENTER)))
story.append(Spacer(1, 4))
story.append(Paragraph("Nursing Management of Patients with Immunological Problems | RUHS B.Sc. Nursing 4th Semester",
style("Footer2", fontSize=8, fontName="Helvetica", textColor=colors.gray, alignment=TA_CENTER)))
# ── BUILD ─────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
cd /home/daytona/workspace/ruhs-nursing-pdf && python generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/ruhs-nursing-pdf/RUHS_4thSem_Immunological_Nursin…
RUHS 4thSem Immunological Nursing
PDF Document · PDF
| Section | Topics Covered |
|---|---|
| Section 1 | Review of Immune System - Types of immunity, key cells (B/T cells, NK, macrophages), immunoglobulins (IgG/A/M/E/D), complement system, cytokines, lymphoid organs |
| Section 2 | Nursing Assessment - History taking (social, medication, allergy, vaccination), head-to-toe physical assessment findings, investigations (CD4, ELISA, Western Blot, viral load) |
| Section 3 | HIV & AIDS - Definition, epidemiology (India stats), transmission routes with risk %, pathophysiology (virus life cycle), WHO clinical staging (Stages 1-4), OIs, prevention (ABC, PrEP, PEP), PMTCT (Option B+), ART drug classes, first-line regimens (TDF+3TC+DTG) |
| Section 4 | Role of Nurse - Clinical care, VCT counselling (pre/post test), health education, home care, rehabilitation (physical/vocational/social/psychological), ethical & legal duties |
| Section 5 | NACO & NACP - Phases I to V, ICTC, ART centres, blood safety, targeted interventions, 95-95-95 strategy |
| Section 6 | National agencies (NACO, ICMR, NCDC, RNTCP) + International agencies (WHO, UNAIDS, UNICEF, CDC, PEPFAR, Global Fund) + infection control standards |
| Quick Revision | Key values table - CD4 counts, ART drugs, percentages, helpline numbers, important years |