specimen collection and staining gastrointestinal tract,respiratory track, urinary tract
specimen collection staining gastrointestinal respiratory urinary tract microbiology methods
https://www.pathologylab.org/filesimages/Microbiology%20Coll…
https://www.healthcare.uiowa.edu/path_handbook/appendix/micr…
staining methods gastrointestinal respiratory urinary tract specimens Gram Ziehl-Neelsen trichrome KOH microbiology
| Specimen | Collection Method | Container / Transport |
|---|---|---|
| Stool (feces) | Patient passes stool into a sterile, wide-mouth, leak-proof container. Do NOT use toilet paper (inhibitory substances). Transfer from bedpan if needed. | Sterile screw-cap container. Keep cool - do not incubate. |
| Stool for O&P (ova and parasites) | Same as above, but place in preservative (Total-Fix or Protofix) immediately. 3 specimens over 7-10 days are optimal (parasites shed intermittently; no >1 per day). | Preservative vial (Total-Fix, Protofix). RT. |
| Rectal swab | Insert swab 2-3 cm past the anal sphincter; rotate to collect material from the rectal wall. Suitable for molecular testing (enteric panels). | Cary-Blair transport medium for enteric pathogens. |
| Gastric lavage / biopsy | Obtained endoscopically. Lavage fluid used for H. pylori, TB (gastric washings for AFB). Biopsies placed in 10% buffered formalin for histology; sterile saline for culture. | Sterile container. Transport immediately. |
| Duodenal aspirates | Collected via endoscope or Enterotest (string test). Used for Giardia, microsporidia, Strongyloides. | Sterile container on ice. |
| Esophageal biopsies/washings | Endoscopic procedure. Used for Candida, CMV, HSV. | Sterile container. |
| Sigmoidoscopy specimens (amebiasis) | Scrape or aspirate material from mucosal surface lesions. Do NOT use absorbent-tipped swabs. Collect from multiple sites, process individually. | Sterile container; prepare wet prep smears immediately. |
| Pinworm (Enterobius) | Apply clear adhesive tape/cellophane to perianal area in the morning, before bathing or defecating. Stick tape onto a glass slide. | Slide in protective case. Use pinworm kit. |
| Stain | Organism/Purpose | Key Features |
|---|---|---|
| Wet Mount (direct) | Motile protozoa (Giardia, Entamoeba), helminth eggs/larvae | Fresh unstained or saline + iodine preparation. Quick but requires fresh specimen. |
| Gram Stain | Bacteria in stool, Candida. Also differentiates Campylobacter (curved gram-negative rods) | Crystal violet + iodine + decolorizer + safranin. Gram+ (purple), Gram- (pink/red). |
| Trichrome Stain (Wheatley) | Intestinal protozoa (Entamoeba histolytica, Giardia, Blastocystis) | Background: green. Protozoa: blue-green to purple cytoplasm, red/purple-red nuclei. Works on fresh or PVA-preserved stool. |
| Iron Hematoxylin Stain | Intestinal protozoa (same indications as trichrome, used as alternative) | Superior nuclear detail; more laborious. |
| Modified Ziehl-Neelsen (Cold Acid-Fast) | Cryptosporidium, Cyclospora, Cystoisospora (Isospora), Sarcocystis | Oocysts stain pink-red against blue background. Does not require heating. Used on fresh, formalin-fixed, or concentrated stool. |
| Modified Trichrome Blue (Ryan modification) | Microsporidia (Enterocytozoon bieneusi, Encephalitozoon intestinalis) | Chromotrope 2R replaced with aniline blue. Spores stain pink-pinkish-red. Also useful on sputum and urine specimens for disseminated infection. |
| Calcofluor White (fluorescence) | Microsporidia, fungi, Acanthamoeba cysts | Binds chitin in cell walls. Requires fluorescence microscope. |
| KOH (Potassium Hydroxide) | Fungi (Candida, other yeast/molds in esophageal/GI specimens) | Clears debris; fungal elements remain visible. |
| Auramine-Phenol (fluorescence) | Mycobacteria, Cryptosporidium | More sensitive than ZN for screening; requires fluorescence microscope. |
| Specimen | Collection Method | Container / Transport |
|---|---|---|
| Expectorated Sputum | Patient rinses mouth and gargles with water first. Deep cough - NOT saliva or postnasal discharge. Collect in a sterile screw-cap container. Early morning sputum is optimal (highest bacterial/mycobacterial load). | Sterile screw-cap container. RT within 2 hrs; refrigerate if >2 hrs. |
| Induced Sputum | Inhalation of hypertonic saline (3-5%) via nebulizer to induce cough. Used when patient cannot produce spontaneous sputum (TB, PCP). | Sterile container. Labeled as "induced." |
| Nasopharyngeal Swab (NPS) | Insert a flexible minitip flocked swab through the nostril to the posterior nasopharynx. Rotate for 5-10 seconds. Withdraw slowly. Used for viral respiratory pathogens, Bordetella pertussis, Mycoplasma. | Viral transport medium (VTM). 2 mL UTM/VTM. Transport on ice for viral culture. |
| Nasopharyngeal Aspirate (NPA) | Suction catheter inserted into nasopharynx. More sensitive than swabs for viruses in children. | Mucus trap. Transport on ice. |
| Throat Swab | Swab posterior pharynx and tonsils, avoiding tongue. Used for Group A Streptococcus, viral cultures. | Transport medium (Amies/Stuart). |
| Bronchoalveolar Lavage (BAL) | Obtained via bronchoscopy - 60-120 mL sterile saline instilled and aspirated from distal airways. Gold standard for PCP, fungi, CMV, TB, NTM in immunocompromised. | Collect in sputum trap; transfer to sterile leak-proof container. Transport at RT within 2 hrs. |
| Bronchial Wash / Brush | Bronchoscopic washings or protected specimen brush. | Brush in sterile container with 1 mL saline. Fluid in sputum trap. |
| Endotracheal Aspirate | Aspirate via suction catheter through endotracheal tube. | Sputum trap/sterile container. RT within 2 hrs. |
| Pleural Fluid | Thoracentesis. Sterile body fluid; submit large volumes (>10 mL). | Sterile container or blood culture bottle. |
| Lung Biopsy | Open/VATS or CT-guided needle biopsy. Keep moist with sterile saline. Do NOT wrap in gauze. | Sterile container with small amount of sterile saline. |
Note: Specimens consisting primarily of saliva are rejected for lower respiratory bacterial culture.
| Stain | Organism/Purpose | Application |
|---|---|---|
| Gram Stain | Bacteria (pneumococci, Klebsiella, Staph aureus, H. influenzae), Candida, quality assessment of sputum | Sputum quality: acceptable if <10 squamous epithelial cells and >25 PMNs per LPF (Bartlett criteria). Gram+ cocci (purple), Gram- rods/cocci (pink). |
| Ziehl-Neelsen (ZN) / Hot Acid-Fast | Mycobacterium tuberculosis, NTM in sputum, BAL, gastric washings | AFB stain pink-red on blue background. Heated carbol fuchsin. |
| Auramine-Phenol (Fluorochrome) | Mycobacteria - screening for AFB | Higher sensitivity than ZN. Organisms fluoresce yellow-green. Positive screens confirmed by ZN. |
| Kinyoun (Cold Acid-Fast) | Mycobacteria, Nocardia (partially acid-fast) | Cold method - no heating required. Same principle as ZN. |
| KOH Preparation | Fungi (Aspergillus, Mucor, Candida, Cryptococcus, Histoplasma, PCP)in sputum/BAL | Clears mucus and debris; reveals fungal hyphae/spores. |
| Gomori Methenamine Silver (GMS) | Pneumocystis jirovecii (PCP) in BAL/induced sputum, fungi | Cysts stain black/dark brown on green background. Gold standard for PCP diagnosis. |
| Calcofluor White | Fungi, Pneumocystis in BAL | Fluorescent; binds fungal cell wall chitin. Rapid screening. |
| Giemsa / Wright-Giemsa | Pneumocystis jirovecii (trophozoites), Histoplasma in macrophages, viral inclusions (CMV) | Trophic forms of PCP stain purple. |
| India Ink | Cryptococcus neoformans - capsule (CSF/BAL) | Negative stain; capsule appears as clear halo. |
| DIF (Direct Immunofluorescence) | Legionella pneumophila, influenza A/B, RSV, parainfluenza, adenovirus in NPS/BAL | Antibody-conjugated fluorescent dye. Rapid antigen detection. |
| Papanicolaou (Pap) Stain | Cytology of BAL/bronchial washings - malignancy, viral cytopathic effect (CMV, HSV, adenovirus) | Nuclear detail, cytoplasmic staining. |
| Specimen | Collection Method | Container / Transport |
|---|---|---|
| Mid-Stream Clean Catch (MSCC) | Cleanse urethral meatus with soap/antiseptic swabs (front to back in females). Discard first stream; collect mid-stream urine (15-30 mL) in sterile container. | Sterile screw-cap container. Refrigerate at 2-8°C; examine or process within 2 hrs; if refrigerated, within 24 hrs. |
| Catheter Specimen (CSU) | Disinfect catheter sampling port with alcohol. Aspirate urine with needle/syringe from sampling port. Do NOT collect from the drainage bag. | Sterile container. Process within 2 hrs. |
| Suprapubic Aspirate (SPA) | Gold standard for infants and when contamination is a concern. Needle inserted suprapubically after aseptic skin prep; urine aspirated directly from the bladder. | Sterile syringe/container. Immediate processing. |
| Urethral Swab | Collect at least 1 hour after patient has urinated. Insert small swab 2-4 cm into urethra, rotate, leave for 2 seconds. Used for GC/Chlamydia, Herpes. | Transport medium. Chlamydia/GC: specific PCR transport kits. |
| Early Morning Urine | First voided urine of the morning - concentrated, best for microscopy and AFB culture (renal TB) | Same as MSCC. |
| 3-Glass Test (Urethral localization) | Patient voids into 3 separate containers - initial stream (urethral), mid-stream (bladder), final post-prostatic massage (prostatic). Each centrifuged separately, sediment examined with/without staining. | 3 sterile containers. |
| 24-Hour Urine | All urine collected over 24 hrs. Used for quantitative studies (protein, creatinine), Schistosoma haematobium (collect at noon - 3 PM). | Large sterile container, often with preservative. |
| Urine for AFB (Renal TB) | First morning MSCC on 3 consecutive days. | Sterile container. 3 specimens total. |
Note: Early morning urine is the best specimen for microscopy if examined within a few minutes of collection (Smith and Tanagho's General Urology, 19th Ed, p.64). Centrifuge 10 mL at 2000 rpm for 5 minutes, decant supernatant, resuspend sediment, prepare slide.
| Stain | Purpose | Details |
|---|---|---|
| Gram Stain (uncentrifuged urine) | Rapid presumptive diagnosis of bacteriuria. If 1 organism/oil-immersion field seen = ~100,000 CFU/mL | Gram+ cocci (purple): Staph, Enterococcus; Gram- rods (pink): E. coli, Klebsiella, Proteus. |
| Gram Stain (urethral discharge/swab) | Gonorrhea diagnosis - intracellular Gram-negative diplococci in PMNs | Sensitivity ~95% in symptomatic males; <50% in females. |
| Methylene Blue / Loeffler's Methylene Blue | Rapid detection of bacteria and pus cells in urine | Simple, quick stain; differentiates nuclei (blue) and cytoplasm (lighter). |
| Ziehl-Neelsen (AFB) | Renal tuberculosis - urine AFB smear and culture | Early morning urine x3 consecutive days. |
| Wet Mount + Microscopy | Trichomonas vaginalis (motile flagellate), Candida, casts, RBCs, WBCs, epithelial cells | Examine within minutes of collection (motility is lost quickly). |
| KOH Preparation | Candida and other fungi in urine | Clears background; yeast cells, pseudohyphae visible. |
| Papanicolaou (Pap) Stain | Urothelial cytology - transitional cell carcinoma, viral inclusions (CMV decoy cells, polyomavirus BK) | Voided urine cytology or bladder washings. |
| Cytocentrifuge (Cytospin) Preparation + Giemsa/Wright | Cytological assessment of urine sediment - malignant cells, casts, eosinophils (eosinophilic cystitis) | Monolayer preparation improves visualization. |
| Modified Trichrome Blue | Microsporidia in urine (Encephalitozoon intestinalis disseminated to kidneys) | Spores stain pink-pinkish-red. |
| Dipstick (semi-quantitative) | Nitrite (bacteriuria), leukocyte esterase (pyuria), protein, glucose, hemoglobin, pH | Nitrite test: positive only with nitrate-reducing bacteria (Enterobacteriaceae). Urine must be in bladder >4 hrs. Nitrite alone is only 40-60% accurate (Smith and Tanagho's General Urology, 19th Ed). |
| Stain | GI Tract | Respiratory | Urinary |
|---|---|---|---|
| Gram Stain | Bacteria, Candida | Bacteria, sputum quality | Bacteria, GC diplococci |
| Ziehl-Neelsen (hot) | M. tuberculosis (gastric wash) | M. tuberculosis, NTM | Renal TB |
| Modified ZN (cold) | Cryptosporidium, Cyclospora, Isospora | Cryptosporidium in BAL | - |
| Auramine-Phenol | Mycobacteria | Mycobacteria screening | Mycobacteria (rare) |
| Trichrome (Wheatley) | Entamoeba, Giardia, Blastocystis | - | - |
| Modified Trichrome Blue | Microsporidia (intestinal) | Microsporidia (pulmonary) | Microsporidia (renal dissemination) |
| KOH | Candida (esophageal) | Aspergillus, PCP, fungi | Candida |
| GMS | Intestinal fungi | PCP, Aspergillus | - |
| Calcofluor White | Microsporidia, Cryptosporidium | Fungi, PCP | - |
| Giemsa / Wright | - | PCP trophozites, Histoplasma | Eosinophils, cytology |
| India Ink | - | Cryptococcus | - |
| Wet Mount | Protozoa, helminth eggs | - | Trichomonas, casts, cells |
| Papanicolaou (Pap) | - | Cytology, viral inclusions | Urothelial cytology, viral inclusions |
| Iron Hematoxylin | Intestinal protozoa | - | - |
Make me ppt
ls /home/daytona/workspace/
~/specimen-ppt/create_ppt.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Specimen Collection and Staining";
pres.author = "Orris";
// ─────────────────────────────────────────────
// THEME COLORS
// Deep navy dominant, teal accent, light gray
// ─────────────────────────────────────────────
const C = {
navy: "0D2B55", // dominant dark
teal: "0E8A8A", // accent
tealDark: "096B6B",
white: "FFFFFF",
offWhite: "F0F4F8",
silver: "C8D6E5",
text: "1A1A2E",
yellow: "F4C842",
green: "2ECC71",
orange: "E67E22",
purple: "8E44AD",
red: "E74C3C",
};
// ─────────────────────────────────────────────
// HELPER: full-slide background rectangle
// ─────────────────────────────────────────────
function bg(slide, color) {
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: "100%", h: "100%",
fill: { color },
line: { color, width: 0 }
});
}
// ─────────────────────────────────────────────
// HELPER: section accent bar (left side)
// ─────────────────────────────────────────────
function accentBar(slide, color = C.teal) {
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color },
line: { color, width: 0 }
});
}
// ─────────────────────────────────────────────
// HELPER: header band
// ─────────────────────────────────────────────
function headerBand(slide, text, color = C.navy) {
slide.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: "100%", h: 1.0,
fill: { color },
line: { color, width: 0 }
});
slide.addText(text, {
x: 0.25, y: 0.08, w: 9.5, h: 0.85,
fontSize: 24, bold: true, color: C.white,
fontFace: "Calibri", valign: "middle", margin: 0
});
}
// ─────────────────────────────────────────────
// HELPER: card (rounded rect with shadow)
// ─────────────────────────────────────────────
function card(slide, x, y, w, h, fillColor = C.white) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x, y, w, h,
fill: { color: fillColor },
line: { color: C.silver, width: 1 },
rectRadius: 0.12,
shadow: { type: "outer", color: "000000", blur: 8, offset: 3, angle: 135, opacity: 0.12 }
});
}
// ─────────────────────────────────────────────
// HELPER: table helper
// ─────────────────────────────────────────────
function addTable(slide, headers, rows, x, y, w, colW) {
const tableData = [];
// header row
const hRow = headers.map(h => ({
text: h,
options: { bold: true, color: C.white, fill: C.navy, fontSize: 9.5, align: "center", valign: "middle" }
}));
tableData.push(hRow);
// data rows
rows.forEach((r, i) => {
const row = r.map((cell, ci) => ({
text: cell,
options: {
color: C.text, fill: i % 2 === 0 ? C.offWhite : C.white,
fontSize: 9, valign: "middle",
align: ci === 0 ? "left" : "left"
}
}));
tableData.push(row);
});
slide.addTable(tableData, {
x, y, w,
colW,
rowH: 0.32,
border: { type: "solid", color: C.silver, pt: 0.5 }
});
}
// ═════════════════════════════════════════════
// SLIDE 1 – TITLE
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.navy);
// decorative teal stripe
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 3.8, w: "100%", h: 0.08,
fill: { color: C.teal }, line: { color: C.teal, width: 0 }
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 3.9, w: "100%", h: 0.04,
fill: { color: C.yellow }, line: { color: C.yellow, width: 0 }
});
s.addText("SPECIMEN COLLECTION", {
x: 0.5, y: 0.7, w: 9, h: 0.9,
fontSize: 38, bold: true, color: C.white,
fontFace: "Calibri", align: "center", charSpacing: 4
});
s.addText("& STAINING TECHNIQUES", {
x: 0.5, y: 1.55, w: 9, h: 0.85,
fontSize: 34, bold: true, color: C.teal,
fontFace: "Calibri", align: "center", charSpacing: 3
});
// 3 organ icons as colored pills
const organs = [
{ label: "GASTROINTESTINAL TRACT", color: C.green, x: 0.6 },
{ label: "RESPIRATORY TRACT", color: C.orange, x: 3.65 },
{ label: "URINARY TRACT", color: C.purple, x: 6.7 },
];
organs.forEach(o => {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {
x: o.x, y: 2.65, w: 2.7, h: 0.65,
fill: { color: o.color }, line: { color: o.color, width: 0 },
rectRadius: 0.32
});
s.addText(o.label, {
x: o.x, y: 2.65, w: 2.7, h: 0.65,
fontSize: 8.5, bold: true, color: C.white,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
});
s.addText("Clinical Microbiology | Laboratory Diagnostics", {
x: 0.5, y: 4.8, w: 9, h: 0.4,
fontSize: 13, color: C.silver, fontFace: "Calibri", align: "center", italic: true
});
}
// ═════════════════════════════════════════════
// SLIDE 2 – OVERVIEW / GENERAL PRINCIPLES
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.offWhite);
accentBar(s, C.teal);
headerBand(s, "General Principles of Specimen Collection");
const points = [
"Collect specimens BEFORE starting antimicrobial therapy whenever possible",
"Use standard precautions — treat all specimens as potentially hazardous",
"Label all containers: patient ID, date, time, collection site",
"Deliver to laboratory as soon as possible after collection",
"Transport guidelines: Urine — refrigerate within 30 min | Stool — within 1 hr | Respiratory — 2 hrs RT",
"Viral specimens must be transported immediately on ice",
"Do NOT use swabs from anaerobic flora-rich sites (expectorated sputum, voided urine) for anaerobic culture",
"Specimen quality directly determines result quality — poor collection = unreliable results",
];
points.forEach((pt, i) => {
const row = Math.floor(i / 1);
card(s, 0.28, 1.1 + i * 0.54, 9.5, 0.48, i % 2 === 0 ? C.white : "EAF4FB");
s.addShape(pres.shapes.ELLIPSE, {
x: 0.38, y: 1.2 + i * 0.54, w: 0.28, h: 0.28,
fill: { color: C.teal }, line: { color: C.teal, width: 0 }
});
s.addText(String(i + 1), {
x: 0.38, y: 1.2 + i * 0.54, w: 0.28, h: 0.28,
fontSize: 9, bold: true, color: C.white, align: "center", valign: "middle", margin: 0
});
s.addText(pt, {
x: 0.75, y: 1.15 + i * 0.54, w: 8.9, h: 0.38,
fontSize: 10.5, color: C.text, fontFace: "Calibri", valign: "middle"
});
});
}
// ═════════════════════════════════════════════
// SLIDE 3 – GI TRACT OVERVIEW
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.offWhite);
accentBar(s, C.green);
headerBand(s, "Gastrointestinal Tract — Specimen Types", C.green.replace("2ECC71","1A7A43") || "1A7A43");
// recolor header
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: "100%", h: 1.0,
fill: { color: "1A7A43" }, line: { color: "1A7A43", width: 0 }
});
s.addText("Gastrointestinal Tract — Specimen Types", {
x: 0.25, y: 0.08, w: 9.5, h: 0.85,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0
});
const headers = ["Specimen", "Collection Method", "Container / Transport"];
const rows = [
["Stool (feces)", "Pass into sterile wide-mouth leak-proof container; transfer from bedpan if needed. No toilet paper.", "Sterile screw-cap. Keep cool. Do NOT incubate."],
["Stool – O&P", "Same as above. Place in preservative immediately. 3 specimens over 7-10 days (not >1/day).", "Total-Fix / Protofix vial. RT."],
["Rectal Swab", "Insert swab 2-3 cm past anal sphincter; rotate to collect from rectal wall.", "Cary-Blair transport medium."],
["Gastric Biopsy / Lavage", "Endoscopic. Lavage → TB/H.pylori. Biopsy → 10% formalin (histo) or sterile saline (culture).", "Sterile container. Transport immediately."],
["Duodenal Aspirate", "Via endoscope or Enterotest (string test). For Giardia, microsporidia, Strongyloides.", "Sterile container on ice."],
["Sigmoidoscopy specimen", "Scrape/aspirate from mucosal lesions — NOT absorbent swabs. Multiple sites, process individually.", "Sterile container; prep wet smear immediately."],
["Pinworm (Enterobius)", "Clear adhesive tape to perianal area in morning BEFORE bathing/defecating. Stick to slide.", "Slide in protective case; pinworm collection kit."],
];
addTable(s, headers, rows, 0.28, 1.1, 9.45, [1.6, 4.4, 3.45]);
}
// ═════════════════════════════════════════════
// SLIDE 4 – GI STAINING METHODS
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.offWhite);
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: "100%", h: 1.0,
fill: { color: "1A7A43" }, line: { color: "1A7A43", width: 0 }
});
s.addText("Gastrointestinal Tract — Staining Methods", {
x: 0.25, y: 0.08, w: 9.5, h: 0.85,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color: "1A7A43" }, line: { color: "1A7A43", width: 0 }
});
const headers = ["Stain", "Target Organisms", "Key Features / Result"];
const rows = [
["Wet Mount (direct)", "Motile protozoa (Giardia, Entamoeba), helminth eggs/larvae", "Saline ± iodine. Quick; requires fresh specimen."],
["Gram Stain", "Bacteria (Campylobacter curved rods), Candida, stool quality", "Gram+ = purple | Gram- = pink/red."],
["Trichrome (Wheatley)", "Entamoeba histolytica, Giardia, Blastocystis", "Background green; protozoa: blue-green/purple cytoplasm, red nuclei."],
["Iron Hematoxylin", "Intestinal protozoa (alternative to trichrome)", "Superior nuclear detail; more laborious."],
["Modified ZN (cold acid-fast)", "Cryptosporidium, Cyclospora, Cystoisospora (Isospora)", "Oocysts: pink-red on blue. No heating required."],
["Modified Trichrome Blue (Ryan)", "Microsporidia (E. bieneusi, E. intestinalis)", "Spores: pink-reddish. Also useful on sputum and urine."],
["Calcofluor White", "Microsporidia, fungi, Acanthamoeba cysts", "Fluorescence microscope needed. Binds chitin."],
["KOH", "Fungi: Candida, molds (esophageal/GI specimens)", "Clears debris; fungal hyphae/spores remain visible."],
];
addTable(s, headers, rows, 0.28, 1.1, 9.45, [2.0, 3.5, 3.95]);
}
// ═════════════════════════════════════════════
// SLIDE 5 – RESPIRATORY TRACT SPECIMEN TYPES
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.offWhite);
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: "100%", h: 1.0,
fill: { color: "C05000" }, line: { color: "C05000", width: 0 }
});
s.addText("Respiratory Tract — Specimen Types", {
x: 0.25, y: 0.08, w: 9.5, h: 0.85,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color: "C05000" }, line: { color: "C05000", width: 0 }
});
const headers = ["Specimen", "Collection Method", "Container / Transport"];
const rows = [
["Expectorated Sputum", "Rinse mouth first. Deep cough (NOT saliva/post-nasal). Early morning optimal. Reject saliva-only.", "Sterile screw-cap. RT <2 hrs; refrigerate if >2 hrs."],
["Induced Sputum", "Inhale hypertonic saline (3-5%) via nebulizer. Used when patient cannot produce sputum (TB, PCP).", "Sterile container. Label 'induced.'"],
["Nasopharyngeal Swab", "Flexible minitip flocked swab to posterior nasopharynx; rotate 5-10 sec. For viruses, Bordetella, Mycoplasma.", "Viral transport media (VTM/UTM). Ice for viral culture."],
["Nasopharyngeal Aspirate", "Suction catheter to nasopharynx. More sensitive than swabs in children.", "Mucus trap. On ice."],
["Bronchoalveolar Lavage (BAL)", "Bronchoscopy: 60-120 mL sterile saline instilled/aspirated from distal airways. Gold standard for PCP/fungi/TB.", "Sputum trap → sterile container. RT <2 hrs."],
["Bronchial Wash / Brush", "Bronchoscopic washings or protected specimen brush.", "Brush in sterile container + 1 mL saline. Fluid in trap."],
["Endotracheal Aspirate", "Suction catheter via endotracheal tube.", "Sputum trap/sterile container. RT <2 hrs."],
["Pleural Fluid", "Thoracentesis. Submit >10 mL.", "Sterile container or blood culture bottle."],
];
addTable(s, headers, rows, 0.28, 1.1, 9.45, [1.9, 4.3, 3.25]);
}
// ═════════════════════════════════════════════
// SLIDE 6 – RESPIRATORY STAINING
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.offWhite);
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: "100%", h: 1.0,
fill: { color: "C05000" }, line: { color: "C05000", width: 0 }
});
s.addText("Respiratory Tract — Staining Methods", {
x: 0.25, y: 0.08, w: 9.5, h: 0.85,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color: "C05000" }, line: { color: "C05000", width: 0 }
});
const headers = ["Stain", "Target / Purpose", "Key Features / Result"];
const rows = [
["Gram Stain", "Bacteria (pneumococci, Klebsiella, Staph, H. influenzae), sputum quality", "Acceptable: <10 squamous cells + >25 PMNs/LPF (Bartlett). Gram+ = purple, Gram- = pink."],
["Ziehl-Neelsen (ZN) – Hot", "Mycobacterium tuberculosis, NTM — sputum, BAL, gastric washings", "AFB: pink-red rods on blue background. Heated carbol fuchsin."],
["Auramine-Phenol (Fluorochrome)", "Mycobacteria screening — higher sensitivity than ZN", "Yellow-green fluorescence. Positive screens confirmed by ZN."],
["Kinyoun (Cold Acid-Fast)", "Mycobacteria, Nocardia (partially AFB)", "Cold method — no heating. Same principle as ZN."],
["KOH Preparation", "Fungi: Aspergillus, Mucor, Candida, Cryptococcus, PCP", "Clears mucus/debris; reveals hyphae and spores."],
["GMS (Gomori Methenamine Silver)", "Pneumocystis jirovecii (PCP), fungi — BAL/induced sputum", "Cysts: black/dark brown on green background. Gold standard PCP."],
["Giemsa / Wright-Giemsa", "PCP trophozoites, Histoplasma in macrophages, viral inclusions", "Trophic forms: purple. Intracellular yeast (Histoplasma) in macrophages."],
["DIF (Direct Immunofluorescence)", "Legionella, influenza A/B, RSV, parainfluenza, adenovirus", "Antibody-conjugated fluorescent dye. Rapid antigen detection."],
["Papanicolaou (Pap)", "BAL/bronchial wash cytology — malignancy, CMV/HSV inclusions", "Nuclear and cytoplasmic detail for viral cytopathic effect."],
];
addTable(s, headers, rows, 0.28, 1.1, 9.45, [2.1, 3.4, 3.95]);
}
// ═════════════════════════════════════════════
// SLIDE 7 – URINARY TRACT SPECIMEN TYPES
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.offWhite);
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: "100%", h: 1.0,
fill: { color: "6A1F9A" }, line: { color: "6A1F9A", width: 0 }
});
s.addText("Urinary Tract — Specimen Types", {
x: 0.25, y: 0.08, w: 9.5, h: 0.85,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color: "6A1F9A" }, line: { color: "6A1F9A", width: 0 }
});
const headers = ["Specimen", "Collection Method", "Container / Transport"];
const rows = [
["Mid-Stream Clean Catch (MSCC)", "Cleanse meatus. Discard first stream. Collect mid-stream 15-30 mL in sterile container.", "Sterile screw-cap. Refrigerate 2-8°C; process within 2 hrs (24 hrs if refrigerated)."],
["Catheter Specimen (CSU)", "Disinfect catheter port with alcohol. Aspirate with syringe from sampling port. NOT from drainage bag.", "Sterile container. Process within 2 hrs."],
["Suprapubic Aspirate (SPA)", "Gold standard (esp. infants). Needle inserted suprapubically under aseptic conditions.", "Sterile syringe. Immediate processing."],
["Urethral Swab", "Collect ≥1 hr after voiding. Insert small swab 2-4 cm into urethra, rotate, hold 2 sec.", "Specific PCR transport kits for GC/Chlamydia."],
["Early Morning Urine", "First void of morning — concentrated. Best for microscopy and AFB (renal TB).", "Same as MSCC. For AFB: 3 specimens on consecutive days."],
["3-Glass Test", "Initial stream, mid-stream, post-prostatic massage. Each centrifuged separately.", "3 sterile containers. Examine sediment with/without staining."],
["24-Hour Urine", "All urine over 24 hrs for quantitative studies. Schistosoma haematobium: collect noon-3 PM.", "Large sterile container ± preservative."],
];
addTable(s, headers, rows, 0.28, 1.1, 9.45, [1.9, 4.3, 3.25]);
}
// ═════════════════════════════════════════════
// SLIDE 8 – URINARY STAINING
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.offWhite);
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: "100%", h: 1.0,
fill: { color: "6A1F9A" }, line: { color: "6A1F9A", width: 0 }
});
s.addText("Urinary Tract — Staining Methods", {
x: 0.25, y: 0.08, w: 9.5, h: 0.85,
fontSize: 24, bold: true, color: C.white, fontFace: "Calibri", valign: "middle", margin: 0
});
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color: "6A1F9A" }, line: { color: "6A1F9A", width: 0 }
});
const headers = ["Stain", "Target / Purpose", "Key Features / Result"];
const rows = [
["Gram Stain (uncentrifuged urine)", "Rapid presumptive bacteriuria. 1 organism/OIF ≈ 100,000 CFU/mL.", "Gram+ cocci (Staph, Enterococcus) = purple. Gram- rods (E. coli, Klebsiella) = pink."],
["Gram Stain (urethral discharge)", "Gonorrhea: intracellular Gram-negative diplococci in PMNs", "Sensitivity ~95% in symptomatic males; <50% in females."],
["Methylene Blue / Loeffler's", "Rapid detection of bacteria and pus cells in urine", "Simple; nuclei stain dark blue, cytoplasm lighter."],
["Ziehl-Neelsen (AFB)", "Renal tuberculosis — urine AFB smear and culture", "Early morning urine × 3 consecutive days. AFB: pink-red on blue."],
["Wet Mount + Microscopy", "Trichomonas vaginalis (motile), Candida, casts, RBCs, WBCs", "Examine within minutes — motility lost quickly."],
["KOH Preparation", "Candida, other fungi in urine", "Clears background; yeast cells and pseudohyphae visible."],
["Papanicolaou (Pap)", "Urothelial cytology: TCC, viral inclusions (CMV decoy cells, BK polyomavirus)", "Voided urine cytology or bladder washings."],
["Modified Trichrome Blue", "Microsporidia in urine (disseminated E. intestinalis)", "Spores stain pink-reddish; also positive in GI/sputum."],
["Dipstick (semi-quantitative)", "Nitrite (bacteria), leukocyte esterase (pyuria), pH, protein, glucose, Hb", "Nitrite: only for nitrate-reducers (Enterobacteriaceae); 40-60% alone. Urine in bladder >4 hrs needed."],
];
addTable(s, headers, rows, 0.28, 1.1, 9.45, [2.1, 3.3, 4.05]);
}
// ═════════════════════════════════════════════
// SLIDE 9 – MASTER STAIN QUICK REFERENCE
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.offWhite);
headerBand(s, "Master Stain Quick Reference — All Three Tracts");
const headers = ["Stain", "GI Tract", "Respiratory", "Urinary"];
const rows = [
["Gram Stain", "Bacteria, Candida", "Bacteria, sputum quality", "Bacteriuria, GC diplococci"],
["Ziehl-Neelsen (hot)", "M. tuberculosis (gastric wash)", "M. tuberculosis, NTM", "Renal TB (urine AFB)"],
["Modified ZN (cold)", "Cryptosporidium, Cyclospora, Isospora", "Cryptosporidium in BAL", "—"],
["Auramine-Phenol", "Mycobacteria", "Mycobacteria (screening)", "Mycobacteria (rare)"],
["Trichrome (Wheatley)", "Entamoeba, Giardia, Blastocystis","—", "—"],
["Modified Trichrome Blue", "Microsporidia (intestinal)", "Microsporidia (pulmonary)", "Microsporidia (renal)"],
["KOH", "Candida (esophageal)", "Aspergillus, PCP, fungi", "Candida"],
["GMS", "Intestinal fungi", "PCP, Aspergillus", "—"],
["Calcofluor White", "Microsporidia, Cryptosporidium", "Fungi, PCP", "—"],
["Giemsa / Wright", "—", "PCP trophozoites, Histoplasma", "Eosinophils, cytology"],
["India Ink", "—", "Cryptococcus (CSF/BAL)", "—"],
["Wet Mount", "Protozoa, helminth eggs", "—", "Trichomonas, casts, cells"],
["Papanicolaou (Pap)", "—", "Cytology, viral inclusions", "Urothelial cytology, BK/CMV"],
];
addTable(s, headers, rows, 0.25, 1.05, 9.5, [2.0, 2.65, 2.45, 2.4]);
}
// ═════════════════════════════════════════════
// SLIDE 10 – MOLECULAR / ADVANCED METHODS
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.offWhite);
headerBand(s, "Molecular & Advanced Diagnostic Methods");
accentBar(s, C.teal);
const cols = [
{
title: "GI TRACT",
color: "1A7A43",
items: [
"FilmArray GI Panel (PCR): 22 pathogens — Salmonella, Campylobacter, Shigella, E. coli O157, Cryptosporidium, Giardia, Norovirus, Rotavirus, etc.",
"Antigen EIA: Rotavirus, Adenovirus 40/41 (C. diff toxin EIA)",
"NAAT for Entamoeba histolytica, Microsporidia",
"H. pylori: rapid urease test + culture from gastric biopsy",
"Rectal swab: acceptable for molecular enteric panel",
]
},
{
title: "RESPIRATORY",
color: "C05000",
items: [
"Respiratory Viral Panel (PCR/NAAT): Influenza A/B, RSV, SARS-CoV-2, Parainfluenza, Adenovirus, Metapneumovirus",
"Bordetella pertussis: NP swab in specific transport",
"Legionella urinary antigen test",
"Pneumococcal urinary antigen test",
"Beta-D-glucan (1,3-β-D-glucan) for invasive fungal infection in BAL",
"Galactomannan for Aspergillus in BAL/serum",
]
},
{
title: "URINARY TRACT",
color: "6A1F9A",
items: [
"NAAT for Chlamydia trachomatis, Neisseria gonorrhoeae (urine or urethral swab)",
"Urine culture: standard quantitative culture ≥10^5 CFU/mL = significant bacteriuria",
"Urine cytology (Pap): for bladder carcinoma surveillance",
"Multiplex PCR panels for UTI pathogens",
"Urine BK virus PCR: for BK nephropathy post-transplant",
]
}
];
cols.forEach((col, i) => {
const x = 0.28 + i * 3.22;
s.addShape(pres.shapes.RECTANGLE, {
x, y: 1.0, w: 3.1, h: 0.38,
fill: { color: col.color }, line: { color: col.color, width: 0 }
});
s.addText(col.title, {
x, y: 1.0, w: 3.1, h: 0.38,
fontSize: 10, bold: true, color: C.white, align: "center", valign: "middle", margin: 0
});
card(s, x, 1.38, 3.1, 3.9, C.white);
const textItems = col.items.map((t, j) => ({
text: `• ${t}`,
options: { breakLine: j < col.items.length - 1, fontSize: 9.5, color: C.text, paraSpaceBefore: 4 }
}));
s.addText(textItems, {
x: x + 0.08, y: 1.44, w: 2.94, h: 3.78,
fontFace: "Calibri", valign: "top"
});
});
}
// ═════════════════════════════════════════════
// SLIDE 11 – CONCLUSION / KEY TAKEAWAYS
// ═════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.navy);
s.addShape(pres.shapes.RECTANGLE, {
x: 0, y: 4.5, w: "100%", h: 1.125,
fill: { color: C.teal }, line: { color: C.teal, width: 0 }
});
s.addText("KEY TAKEAWAYS", {
x: 0.5, y: 0.2, w: 9, h: 0.7,
fontSize: 28, bold: true, color: C.teal, align: "center", charSpacing: 5
});
const takeaways = [
{ icon: "1", text: "Proper specimen collection is the single most important determinant of diagnostic result quality" },
{ icon: "2", text: "Always collect BEFORE antibiotics; label correctly; transport within recommended time windows" },
{ icon: "3", text: "Gram stain is the first-line universal stain across all three tracts; results guide empirical therapy" },
{ icon: "4", text: "Acid-fast staining (ZN / Auramine) essential for Mycobacterium in sputum, gastric wash, and urine" },
{ icon: "5", text: "Trichrome and modified ZN detect intestinal parasites; GMS and Calcofluor White for fungi/PCP" },
{ icon: "6", text: "Molecular platforms (PCR panels, NAAT) now complement and often supersede traditional staining for fastidious pathogens" },
];
takeaways.forEach((t, i) => {
const row = Math.floor(i / 2);
const col = i % 2;
const x = 0.3 + col * 4.85;
const y = 1.05 + row * 1.12;
s.addShape(pres.shapes.ELLIPSE, {
x, y, w: 0.38, h: 0.38,
fill: { color: C.yellow }, line: { color: C.yellow, width: 0 }
});
s.addText(t.icon, {
x, y, w: 0.38, h: 0.38,
fontSize: 12, bold: true, color: C.navy, align: "center", valign: "middle", margin: 0
});
s.addText(t.text, {
x: x + 0.46, y: y + 0.02, w: 4.2, h: 0.9,
fontSize: 10, color: C.silver, fontFace: "Calibri", valign: "top"
});
});
s.addText("Clinical Microbiology | Laboratory Diagnostics | Specimen Quality = Result Quality", {
x: 0.5, y: 4.6, w: 9, h: 0.5,
fontSize: 11, color: C.navy, align: "center", italic: true, bold: true, valign: "middle"
});
}
// ─────────────────────────────────────────────
// WRITE FILE
// ─────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/specimen-ppt/Specimen_Collection_and_Staining.pptx" })
.then(() => console.log("✅ PPT created successfully."))
.catch(err => console.error("❌ Error:", err));
cd /home/daytona/workspace/specimen-ppt && node create_ppt.js
node -e "const p = require('pptxgenjs'); const pres = new p(); console.log(Objec…
node -e "const p = require('pptxgenjs'); const pres = new p(); const keys = Obje…
node -e "const p = require('pptxgenjs'); const pres = new p(); const keys = Obje…
~/specimen-ppt/create_ppt.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/specimen-ppt/create_ppt.js'
"ELLIPSE" in ~/specimen-ppt
"ELLIPSE" in ~/specimen-ppt
~/specimen-ppt/create_ppt.js
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/specimen-ppt/create_ppt.js'
cd /home/daytona/workspace/specimen-ppt && node create_ppt.js
Specimen Collection and Staining
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide with color-coded organ pills |
| 2 | General Principles of Specimen Collection (8 key rules) |
| 3 | GI Tract - Specimen Types (stool, O&P, rectal swab, gastric biopsy, duodenal aspirate, sigmoidoscopy, pinworm) |
| 4 | GI Tract - Staining Methods (Wet mount, Gram, Trichrome, Modified ZN, Ryan Trichrome Blue, Calcofluor, KOH) |
| 5 | Respiratory Tract - Specimen Types (sputum, NPS, BAL, bronchial wash, pleural fluid, etc.) |
| 6 | Respiratory Tract - Staining Methods (Gram, ZN, Auramine, GMS, KOH, Giemsa, DIF, Pap) |
| 7 | Urinary Tract - Specimen Types (MSCC, catheter, SPA, urethral swab, 3-glass test, etc.) |
| 8 | Urinary Tract - Staining Methods (Gram, Methylene Blue, AFB, Wet mount, KOH, Pap, Dipstick) |
| 9 | Master Quick Reference table - all 3 tracts side by side |
| 10 | Molecular & Advanced Methods (PCR panels, NAAT, antigen tests) |
| 11 | Key Takeaways (dark navy conclusion slide) |
Why cant I download
ls -lh /home/daytona/workspace/specimen-ppt/
Specimen Collection and Staining
Presentation · PPTX
I was bit confused. I told, uh, what collection or specimen collection and, uh, staining method, but, uh, I need, uh, preparation of a smear and, uh, staining of a respiratory tract, gastrointestinal tract, and urinary tract.
smear preparation staining procedure steps respiratory sputum gastrointestinal stool urinary urine microbiology laboratory
https://www.cdc.gov/dpdx/diagnosticprocedures/stool/staining…
https://www.ncbi.nlm.nih.gov/books/NBK563195
Gram stain procedure steps sputum smear preparation heat fixation crystal violet iodine decolorization safranin
| Step | GI Tract | Respiratory Tract | Urinary Tract |
|---|---|---|---|
| Specimen selection | Purulent/mucoid stool; fresh if possible | Purulent portion of sputum (green/yellow) | Centrifuged sediment or uncentrifuged urine |
| Smear type | Thin wet smear or dried smear on slide | Thin spread on glass slide | Thin spread from drop of sediment |
| Fixation | Air-dry OR methanol fix (acid-fast); PVA/Schaudinn fix (trichrome) | Air-dry + heat-fix (flame 3×) | Air-dry + heat-fix or methanol fix |
| First-line stain | Wet mount + Trichrome | Gram stain | Gram stain |
| AFB stain | Modified Kinyoun (cold) | ZN hot method | ZN hot method |
| Parasite stain | Trichrome, Modified ZN, Iron Hematoxylin | GMS, Giemsa (PCP) | Wet mount (Trichomonas) |
| Microscope objective | 100x oil (permanent stains); 40x (wet mounts) | 100x oil (Gram, ZN); 40x (initial screening) | 40x (wet mount); 100x oil (Gram stain) |
Make me ppt
~/smear-ppt/create_smear_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Smear Preparation and Staining Procedures";
// ── PALETTE ──────────────────────────────────────────
const C = {
navy: "0B1F3A",
teal: "0E8A8A",
white: "FFFFFF",
off: "F2F6FA",
silver: "C8D6E5",
text: "1A1A2E",
gi: "1A7A43", // green – GI
resp: "B94800", // burnt orange – Respiratory
urine: "5B1A8A", // purple – Urinary
yellow: "F4C430",
step: "1565C0", // step-number blue
};
// ── HELPERS ───────────────────────────────────────────
function bg(s, color){ s.addShape(pres.shapes.RECTANGLE,{ x:0,y:0,w:"100%",h:"100%", fill:{color}, line:{color,width:0} }); }
function headerBand(s, text, color){
s.addShape(pres.shapes.RECTANGLE,{ x:0,y:0,w:"100%",h:1.05, fill:{color}, line:{color,width:0} });
// left accent strip
s.addShape(pres.shapes.RECTANGLE,{ x:0,y:0,w:0.18,h:5.625, fill:{color:C.yellow}, line:{color:C.yellow,width:0} });
s.addText(text,{ x:0.28,y:0.08,w:9.5,h:0.9, fontSize:23,bold:true,color:C.white, fontFace:"Calibri",valign:"middle",margin:0 });
}
function sectionTag(s, label, color){
s.addShape(pres.shapes.ROUNDED_RECTANGLE,{ x:0.28,y:1.12,w:2.0,h:0.36, fill:{color}, line:{color,width:0}, rectRadius:0.18 });
s.addText(label,{ x:0.28,y:1.12,w:2.0,h:0.36, fontSize:9.5,bold:true,color:C.white, align:"center",valign:"middle",margin:0 });
}
function stepBox(s, num, text, x, y, w, h, accentColor){
// card
s.addShape(pres.shapes.RECTANGLE,{ x,y,w,h, fill:{color:C.white}, line:{color:C.silver,width:0.75},
shadow:{type:"outer",color:"000000",blur:5,offset:2,angle:135,opacity:0.1} });
// step circle
s.addShape(pres.shapes.OVAL,{ x:x+0.06,y:y+0.06,w:0.32,h:0.32, fill:{color:accentColor}, line:{color:accentColor,width:0} });
s.addText(String(num),{ x:x+0.06,y:y+0.06,w:0.32,h:0.32, fontSize:9,bold:true,color:C.white, align:"center",valign:"middle",margin:0 });
s.addText(text,{ x:x+0.44,y:y+0.07,w:w-0.52,h:h-0.1, fontSize:9.5,color:C.text,fontFace:"Calibri",valign:"middle" });
}
function resultBox(s, x, y, w, label, items, color){
s.addShape(pres.shapes.RECTANGLE,{ x,y,w,h:0.34, fill:{color}, line:{color,width:0} });
s.addText(label,{ x,y,w,h:0.34, fontSize:10,bold:true,color:C.white, align:"center",valign:"middle",margin:0 });
items.forEach((it,i)=>{
const fy = y+0.36+i*0.34;
s.addShape(pres.shapes.RECTANGLE,{ x,y:fy,w,h:0.33, fill:{color: i%2===0?C.off:C.white}, line:{color:C.silver,width:0.5} });
s.addText(it,{ x:x+0.08,y:fy,w:w-0.1,h:0.33, fontSize:9,color:C.text,valign:"middle" });
});
}
function addTable(s, headers, rows, x, y, w, colW){
const data=[];
data.push(headers.map(h=>({ text:h, options:{bold:true,color:C.white,fill:C.navy,fontSize:9,align:"center",valign:"middle"} })));
rows.forEach((r,i)=>data.push(r.map(cell=>({ text:cell, options:{color:C.text,fill:i%2===0?C.off:C.white,fontSize:8.5,valign:"middle"} }))));
s.addTable(data,{ x,y,w,colW,rowH:0.35, border:{type:"solid",color:C.silver,pt:0.5} });
}
// ════════════════════════════════════════════════════
// SLIDE 1 – TITLE
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.navy);
// decorative bars
s.addShape(pres.shapes.RECTANGLE,{x:0,y:3.6,w:"100%",h:0.07,fill:{color:C.teal},line:{color:C.teal,width:0}});
s.addShape(pres.shapes.RECTANGLE,{x:0,y:3.68,w:"100%",h:0.04,fill:{color:C.yellow},line:{color:C.yellow,width:0}});
s.addText("SMEAR PREPARATION",{x:0.5,y:0.6,w:9,h:0.9,fontSize:40,bold:true,color:C.white,fontFace:"Calibri",align:"center",charSpacing:3});
s.addText("& STAINING PROCEDURES",{x:0.5,y:1.5,w:9,h:0.8,fontSize:34,bold:true,color:C.teal,fontFace:"Calibri",align:"center",charSpacing:2});
const pills=[
{label:"GASTROINTESTINAL",color:C.gi, x:0.55},
{label:"RESPIRATORY", color:C.resp,x:3.65},
{label:"URINARY", color:C.urine,x:6.75},
];
pills.forEach(p=>{
s.addShape(pres.shapes.ROUNDED_RECTANGLE,{x:p.x,y:2.65,w:2.7,h:0.62,fill:{color:p.color},line:{color:p.color,width:0},rectRadius:0.31});
s.addText(p.label,{x:p.x,y:2.65,w:2.7,h:0.62,fontSize:10,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
});
s.addText("Laboratory Microbiology | Step-by-Step Procedures",{x:0.5,y:4.85,w:9,h:0.4,fontSize:12,color:C.silver,align:"center",italic:true});
}
// ════════════════════════════════════════════════════
// SLIDE 2 – WHAT IS A SMEAR? + General principles
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"What is a Smear? — General Principles",C.navy);
// Left column – definition card
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.55,w:4.5,h:3.7,fill:{color:C.white},line:{color:C.silver,width:0.75},
shadow:{type:"outer",color:"000000",blur:6,offset:2,angle:135,opacity:0.1}});
s.addText("DEFINITION",[],{x:0.28,y:1.55,w:4.5,h:0.36});
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.55,w:4.5,h:0.36,fill:{color:C.navy},line:{color:C.navy,width:0}});
s.addText("DEFINITION",{x:0.28,y:1.55,w:4.5,h:0.36,fontSize:10,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
s.addText(
"A smear (film) is a thin, even layer of specimen spread on a glass slide, fixed to preserve morphology, and stained so organisms and cells are visible under the microscope.\n\nSmear QUALITY is the single most important technical factor:\n• Too thick → organisms overlap; missed\n• Too thin → low yield\n• Over-fixed → poor staining uptake\n• Under-fixed → material washes off",
{x:0.38,y:1.95,w:4.3,h:3.2,fontSize:10,color:C.text,fontFace:"Calibri",valign:"top"}
);
// Right column – the 3 universal steps
const steps=[
{n:"1",t:"COLLECT — Choose the most purulent/diagnostic portion of the specimen (avoid saliva in sputum, watery stool, first stream urine)"},
{n:"2",t:"SPREAD — Thin, even smear on a clean, grease-free, labeled glass slide"},
{n:"3",t:"FIX — Air-dry then heat-fix (flame 2-3×) OR methanol/chemical fixation depending on stain required"},
{n:"4",t:"STAIN — Apply staining reagents in sequence; timing is critical"},
{n:"5",t:"RINSE — Each step requires a water rinse to remove excess reagent"},
{n:"6",t:"DRY — Blot dry with bibulous paper; never rub"},
{n:"7",t:"EXAMINE — Correct objective: 10x (screen) → 40x (detail) → 100x oil (definitive ID)"},
];
steps.forEach((st,i)=>{
stepBox(s,st.n,st.t,4.95,1.55+i*0.53,4.78,0.47,C.teal);
});
}
// ════════════════════════════════════════════════════
// SLIDE 3 – GI TRACT: Direct Wet Mount
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"Gastrointestinal Tract — Direct Wet Mount",C.gi);
sectionTag(s,"🔬 Detects: Motile protozoa, helminth eggs/larvae",C.gi);
const steps=[
"Place a drop of 0.85% normal saline on a clean glass slide",
"Transfer a match-head size of fresh stool using an applicator stick; mix to a thin suspension",
"Apply a coverslip (22×22 mm) gently without trapping air bubbles",
"Examine IMMEDIATELY under 10x systematically across the entire coverslip",
"Switch to 40x for suspicious objects; watch motile objects for ≥15 sec (slow-moving amebae)",
"Prepare a SECOND slide: replace saline with 1:5 diluted Lugol's iodine (enhances nuclear detail in cysts)",
"Do NOT use undiluted Lugol — causes clumping; also kills motility",
];
steps.forEach((st,i)=>{
stepBox(s,i+1,st,0.28,1.55+i*0.53,9.45,0.47,C.gi);
});
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:5.2,w:9.45,h:0.28,fill:{color:C.gi+"22"},line:{color:C.gi,width:0.5}});
s.addText("⚠ Examine within 30 minutes of passage. Saline = motility preserved. Iodine = nuclear detail but NO motility.",
{x:0.38,y:5.2,w:9.25,h:0.28,fontSize:9,color:C.gi,bold:true,valign:"middle"});
}
// ════════════════════════════════════════════════════
// SLIDE 4 – GI: Concentration + Trichrome
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"GI Tract — Concentration Technique & Trichrome Stain",C.gi);
// LEFT – concentration
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.12,w:4.6,h:0.34,fill:{color:C.gi},line:{color:C.gi,width:0}});
s.addText("FORMALIN-ETHYL ACETATE CONCENTRATION",{x:0.28,y:1.12,w:4.6,h:0.34,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const concSteps=[
"Emulsify ~1 g stool in 10 mL 10% formalin; strain through gauze",
"Add 3 mL ethyl acetate; cap and shake vigorously 30 sec",
"Centrifuge 500×g for 10 min — 4 layers form",
"Break debris ring with stick; pour off top 3 layers",
"Use bottom SEDIMENT for wet mount or permanent staining",
];
concSteps.forEach((st,i)=>{ stepBox(s,i+1,st,0.28,1.48+i*0.62,4.6,0.56,C.gi); });
// RIGHT – Trichrome
s.addShape(pres.shapes.RECTANGLE,{x:5.08,y:1.12,w:4.65,h:0.34,fill:{color:C.gi},line:{color:C.gi,width:0}});
s.addText("WHEATLEY TRICHROME STAIN (Permanent)",{x:5.08,y:1.12,w:4.65,h:0.34,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const triSteps=[
"Smear stool (fresh/PVA-fixed) on slide; air-dry",
"Fix: 70% ethanol + iodine → 10 min",
"70% ethanol × 2 (5 min, then 3 min)",
"Trichrome stain → 10 min",
"Destain: 90% ethanol + acetic acid → 1-3 sec ONLY",
"100% ethanol (×2, 3 min each) → Xylene (×2, 10 min)",
"Mount coverslip; examine 100x oil — 200-300 fields",
];
triSteps.forEach((st,i)=>{ stepBox(s,i+1,st,5.08,1.48+i*0.545,4.65,0.5,C.gi); });
// Results bar
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:5.2,w:9.45,h:0.3,fill:{color:"E8F5EE"},line:{color:C.gi,width:0.5}});
s.addText("RESULTS — Background: green | Protozoa cytoplasm: blue-green/purple | Nuclei & chromatoids: red/purple-red | Yeast: pink-purple",
{x:0.38,y:5.2,w:9.25,h:0.3,fontSize:8.5,color:C.gi,bold:true,valign:"middle"});
}
// ════════════════════════════════════════════════════
// SLIDE 5 – GI: Modified Kinyoun + Chromotrope
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"GI Tract — Acid-Fast & Chromotrope Stains",C.gi);
// LEFT – Modified Kinyoun
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.12,w:4.6,h:0.36,fill:{color:C.gi},line:{color:C.gi,width:0}});
s.addText("MODIFIED KINYOUN (Cold Acid-Fast)\nCryptosporidium | Cyclospora | Isospora",{x:0.28,y:1.12,w:4.6,h:0.36,fontSize:8.5,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const kinySteps=[
"Place 1-2 drops concentrated stool on slide; dry at 60°C (NOT too thick)",
"Fix with absolute methanol — 30 seconds",
"Flood with Kinyoun's carbol fuchsin — 1 min; brief water rinse",
"Destain with acid-alcohol (1% HCl in 95% ethanol) — 2 min; water rinse",
"Counterstain with malachite green (or methylene blue) — 2 min; water rinse",
"Dry at 60°C (~5 min); mount with coverslip",
"Examine 40x or 100x oil; scan 200-300 fields",
];
kinySteps.forEach((st,i)=>{ stepBox(s,i+1,st,0.28,1.52+i*0.54,4.6,0.48,C.gi); });
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:5.25,w:4.6,h:0.24,fill:{color:"E8F5EE"},line:{color:C.gi,width:0.5}});
s.addText("Results: Oocysts = pink-red | Background = blue-green",{x:0.33,y:5.25,w:4.5,h:0.24,fontSize:8.5,color:C.gi,bold:true,valign:"middle"});
// RIGHT – Chromotrope
s.addShape(pres.shapes.RECTANGLE,{x:5.08,y:1.12,w:4.65,h:0.36,fill:{color:C.gi},line:{color:C.gi,width:0}});
s.addText("CHROMOTROPE STAIN (Modified Trichrome)\nMicrosporidia (E. bieneusi, E. intestinalis)",{x:5.08,y:1.12,w:4.65,h:0.36,fontSize:8.5,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const chromSteps=[
"Place ~10 µL of 10% formalin-fixed stool on slide (unconcentrated)",
"Heat-fix at 60°C until completely dry (5-10 min)",
"Fix in absolute methanol — 30 seconds",
"Perform Gram stain steps (crystal violet → iodine → decolorize) — OMIT safranin",
"Apply chromotrope 2R working stain; heat to 50°C — 10 min",
"Destain in acid ethanol — 10 seconds; rinse 95% then 100% ethanol",
"Clear in xylene; mount coverslip; examine 100x oil",
];
chromSteps.forEach((st,i)=>{ stepBox(s,i+1,st,5.08,1.52+i*0.54,4.65,0.48,C.gi); });
s.addShape(pres.shapes.RECTANGLE,{x:5.08,y:5.25,w:4.65,h:0.24,fill:{color:"E8F5EE"},line:{color:C.gi,width:0.5}});
s.addText("Results: Spores = bright pink-reddish | Background = green",{x:5.13,y:5.25,w:4.55,h:0.24,fontSize:8.5,color:C.gi,bold:true,valign:"middle"});
}
// ════════════════════════════════════════════════════
// SLIDE 6 – RESPIRATORY: Smear Preparation
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"Respiratory Tract — Sputum Smear Preparation",C.resp);
sectionTag(s,"Specimen: Sputum / BAL / Bronchial wash",C.resp);
const steps=[
"Macroscopic selection: choose the MOST PURULENT (green/yellow) portion of sputum — avoid watery, frothy or clear saliva",
"Using a sterile wire loop or wooden applicator, transfer a small amount to the CENTER of a clean, grease-free, labeled glass slide",
"Spread THINLY and EVENLY over an area ~2×3 cm — one smooth stroke; specimen should be barely opaque",
"Air-dry completely at room temperature (5-10 minutes) — do NOT heat before fully dried",
"Heat-fix: pass slide face-up THROUGH a Bunsen burner flame 2-3 times (1 second each) OR on a hot plate at 60-70°C for 5-10 min",
"For BAL / Bronchial wash: use a cytocentrifuge (cytospin) to make a monolayer preparation for optimal cell morphology",
"Quality check after Gram staining: ACCEPTABLE = <10 squamous epithelial cells + >25 PMNs per low-power field (10x) [Bartlett criteria]",
];
steps.forEach((st,i)=>{ stepBox(s,i+1,st,0.28,1.55+i*0.53,9.45,0.47,C.resp); });
}
// ════════════════════════════════════════════════════
// SLIDE 7 – RESPIRATORY: Gram Stain
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"Respiratory Tract — Gram Stain Procedure",C.resp);
sectionTag(s,"First-line universal stain for all specimens",C.resp);
// Steps (left 2/3)
const steps=[
{n:"1",t:"Flood air-dried, heat-fixed smear with CRYSTAL VIOLET (primary stain) — 1 minute"},
{n:"2",t:"Wash: gentle indirect stream of tap water — 2 seconds"},
{n:"3",t:"Flood with GRAM'S IODINE (mordant — fixes crystal violet-iodine complex in cell wall) — 1 minute"},
{n:"4",t:"Wash: gentle water rinse — 2 seconds"},
{n:"5",t:"DECOLORIZE with 95% ethanol/acetone — 15-30 sec or drop by drop until runoff runs CLEAR (CRITICAL — do not over-decolorize)"},
{n:"6",t:"Wash IMMEDIATELY with water to stop decolorization"},
{n:"7",t:"Flood with SAFRANIN (counterstain) — 30 seconds to 1 minute"},
{n:"8",t:"Wash gently until no color in runoff; BLOT DRY (do not rub); examine under 100x oil immersion"},
];
steps.forEach((st,i)=>{ stepBox(s,st.n,st.t,0.28,1.12+i*0.53,6.4,0.47,C.resp); });
// Results panel (right)
s.addShape(pres.shapes.RECTANGLE,{x:6.85,y:1.12,w:2.9,h:0.36,fill:{color:C.resp},line:{color:C.resp,width:0}});
s.addText("RESULTS",{x:6.85,y:1.12,w:2.9,h:0.36,fontSize:10,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const res=[
["Gram + (PURPLE)","Strep, Staph, Pneumococcus"],
["Gram − (PINK)","Klebsiella, E. coli, H. flu"],
["Diplococci","Pneumococcus (lancet-shaped)"],
["Curved rods","Campylobacter"],
["Yeast (oval)","Candida spp."],
["Squamous cells","Saliva — reject specimen"],
];
res.forEach((r,i)=>{
const fy=1.5+i*0.52;
s.addShape(pres.shapes.RECTANGLE,{x:6.85,y:fy,w:2.9,h:0.5,fill:{color:i%2===0?C.off:C.white},line:{color:C.silver,width:0.5}});
s.addText(r[0],{x:6.92,y:fy+0.02,w:2.75,h:0.22,fontSize:9,bold:true,color:C.resp});
s.addText(r[1],{x:6.92,y:fy+0.24,w:2.75,h:0.2,fontSize:8.5,color:C.text});
});
}
// ════════════════════════════════════════════════════
// SLIDE 8 – RESPIRATORY: Ziehl-Neelsen
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"Respiratory Tract — Ziehl-Neelsen (AFB) Stain",C.resp);
sectionTag(s,"Mycobacterium tuberculosis / NTM",C.resp);
const steps=[
{n:"1",t:"Prepare smear as usual; allow to dry THOROUGHLY (incomplete drying = poor AFB staining); heat-fix"},
{n:"2",t:"Flood smear with CARBOL FUCHSIN (basic fuchsin + phenol solution)"},
{n:"3",t:"HEAT slide by passing flame underneath until STEAM RISES — maintain steaming for 5 minutes; reapply stain as it dries (do NOT boil)"},
{n:"4",t:"COOL slide for 5 minutes; wash gently with distilled water"},
{n:"5",t:"DECOLORIZE with ACID-ALCOHOL (3% HCl in 95% ethanol) until smear appears pale pink — approximately 2-3 minutes; wash with water"},
{n:"6",t:"COUNTERSTAIN with methylene blue (or malachite green) — 1-2 minutes; wash with water"},
{n:"7",t:"Blot dry; air-dry; examine 100x oil immersion — scan 100-300 fields (300 fields = 1 cm²)"},
];
steps.forEach((st,i)=>{ stepBox(s,st.n,st.t,0.28,1.12+i*0.56,9.45,0.5,C.resp); });
// Results + Grading bar
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:5.1,w:9.45,h:0.38,fill:{color:"FFF3E0"},line:{color:C.resp,width:0.75}});
s.addText(
"RESULTS: AFB = bright PINK-RED rods | Background = BLUE (methylene blue)\n"+
"GRADING (WHO): Scanty 1-9/100 fields | 1+ = 10-99/100 fields | 2+ = 1-10/field | 3+ = >10/field",
{x:0.38,y:5.1,w:9.25,h:0.38,fontSize:9,color:C.resp,bold:true,valign:"middle"}
);
}
// ════════════════════════════════════════════════════
// SLIDE 9 – RESPIRATORY: Auramine + GMS
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"Respiratory Tract — Auramine-Phenol & GMS Stains",C.resp);
// LEFT – Auramine
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.12,w:4.6,h:0.36,fill:{color:C.resp},line:{color:C.resp,width:0}});
s.addText("AURAMINE-PHENOL (Fluorochrome)\nMore sensitive than ZN for AFB screening",{x:0.28,y:1.12,w:4.6,h:0.36,fontSize:8.5,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const aurSteps=[
"Prepare and heat-fix smear as usual",
"Flood with auramine-phenol stain — 15 minutes; wash with water",
"Decolorize with acid-alcohol — 2-3 minutes; wash with water",
"Counterstain with 0.5% potassium permanganate — 2 min (quenches background fluorescence); wash; blot dry",
"Examine under FLUORESCENCE MICROSCOPE (blue-violet excitation, 450-490 nm)",
"AFB: bright yellow-green / orange on DARK background",
"All positive auramine screens must be CONFIRMED by ZN",
];
aurSteps.forEach((st,i)=>{ stepBox(s,i+1,st,0.28,1.52+i*0.54,4.6,0.48,C.resp); });
// RIGHT – GMS
s.addShape(pres.shapes.RECTANGLE,{x:5.08,y:1.12,w:4.65,h:0.36,fill:{color:C.resp},line:{color:C.resp,width:0}});
s.addText("GOMORI METHENAMINE SILVER (GMS)\nPneumocystis jirovecii (PCP) / Fungi in BAL",{x:5.08,y:1.12,w:4.65,h:0.36,fontSize:8.5,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const gmsSteps=[
"Prepare BAL smear via cytocentrifuge (cytospin monolayer)",
"Fix in 95% ethanol",
"Oxidize with periodic acid or chromic acid (opens cell wall ring structures)",
"Treat with methenamine silver nitrate solution at 60°C for 30-60 min",
"Rinse; tone with gold chloride (optional)",
"Counterstain with light green",
"Results: Fungal walls + PCP cysts = BLACK/dark brown | Background = green",
];
gmsSteps.forEach((st,i)=>{ stepBox(s,i+1,st,5.08,1.52+i*0.54,4.65,0.48,C.resp); });
}
// ════════════════════════════════════════════════════
// SLIDE 10 – URINARY TRACT: Smear Preparation
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"Urinary Tract — Urine Smear Preparation",C.urine);
sectionTag(s,"Specimen: Mid-stream clean catch / Catheter / SPA",C.urine);
// Two methods side by side
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.12,w:4.6,h:0.34,fill:{color:C.urine},line:{color:C.urine,width:0}});
s.addText("METHOD 1 — Centrifuged Sediment",{x:0.28,y:1.12,w:4.6,h:0.34,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const centSteps=[
"Mix urine well; transfer 10 mL into conical centrifuge tube",
"Centrifuge at 2000 rpm (400×g) for 5 minutes",
"Decant supernatant; leave ~0.5-1 mL",
"Resuspend sediment by tapping / flicking tube",
"Transfer ONE DROP to a clean glass slide",
"For WET MOUNT: apply coverslip; examine immediately",
"For STAINED SMEAR: spread evenly; air-dry; heat-fix or methanol-fix",
];
centSteps.forEach((st,i)=>{ stepBox(s,i+1,st,0.28,1.48+i*0.54,4.6,0.48,C.urine); });
s.addShape(pres.shapes.RECTANGLE,{x:5.08,y:1.12,w:4.65,h:0.34,fill:{color:C.urine},line:{color:C.urine,width:0}});
s.addText("METHOD 2 — Uncentrifuged Urine (Gram Stain Screening)",{x:5.08,y:1.12,w:4.65,h:0.34,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const uncentSteps=[
"Use well-mixed, UNCENTRIFUGED midstream urine",
"Place ONE DROP on a clean glass slide",
"Spread thinly and evenly (~2×3 cm area)",
"Air-dry completely at room temperature",
"Heat-fix: pass through flame 2-3 times OR hot plate 60°C / 5 min",
"Proceed directly to Gram stain",
"⚠ 1 organism per oil-immersion field ≈ 100,000 CFU/mL (significant bacteriuria)",
];
uncentSteps.forEach((st,i)=>{ stepBox(s,i+1,st,5.08,1.48+i*0.54,4.65,0.48,C.urine); });
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:5.25,w:9.45,h:0.26,fill:{color:"F3EEF8"},line:{color:C.urine,width:0.5}});
s.addText("KEY: Early morning urine = best for microscopy — examine within MINUTES (cells lyse in dilute/alkaline urine; Trichomonas motility lost rapidly)",
{x:0.38,y:5.25,w:9.25,h:0.26,fontSize:9,color:C.urine,bold:true,valign:"middle"});
}
// ════════════════════════════════════════════════════
// SLIDE 11 – URINARY: Wet Mount + Gram Stain
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"Urinary Tract — Wet Mount & Gram Stain",C.urine);
// LEFT – Wet Mount
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.12,w:4.6,h:0.34,fill:{color:C.urine},line:{color:C.urine,width:0}});
s.addText("WET MOUNT OF URINE SEDIMENT (Unstained)",{x:0.28,y:1.12,w:4.6,h:0.34,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const wmSteps=[
"Centrifuge 10 mL urine at 2000 rpm for 5 min; decant supernatant",
"Resuspend sediment; place one drop on slide; apply coverslip",
"Examine under 10x (low power) then 40x (high power) — IMMEDIATELY",
"Look for: Trichomonas vaginalis (pear-shaped, jerky motility with flagella)",
"RBCs, WBCs, casts (hyaline, granular, RBC casts = glomerulonephritis)",
"Epithelial cells (squamous = contamination; tubular = significant)",
"Bacteria, yeast cells (Candida — budding oval), crystals",
];
wmSteps.forEach((st,i)=>{ stepBox(s,i+1,st,0.28,1.48+i*0.54,4.6,0.48,C.urine); });
// RIGHT – Gram stain for urine
s.addShape(pres.shapes.RECTANGLE,{x:5.08,y:1.12,w:4.65,h:0.34,fill:{color:C.urine},line:{color:C.urine,width:0}});
s.addText("GRAM STAIN OF URINE (Steps same as Respiratory)",{x:5.08,y:1.12,w:4.65,h:0.34,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const gramUSteps=[
"Flood heat-fixed smear with CRYSTAL VIOLET — 1 min; water wash 2 sec",
"Flood with GRAM'S IODINE — 1 min; water wash 2 sec",
"DECOLORIZE with 95% ethanol/acetone — 15-30 sec until runoff clear",
"Water wash IMMEDIATELY to stop decolorization",
"Counterstain with SAFRANIN — 30-60 sec; water rinse; blot dry",
"Examine 100x oil immersion",
];
gramUSteps.forEach((st,i)=>{ stepBox(s,i+1,st,5.08,1.48+i*0.545,4.65,0.5,C.urine); });
// Results
s.addShape(pres.shapes.RECTANGLE,{x:5.08,y:4.82,w:4.65,h:0.66,fill:{color:"F3EEF8"},line:{color:C.urine,width:0.5}});
s.addText(
"RESULTS: Gram+ cocci (purple) = Staph, Enterococcus | Gram− rods (pink) = E. coli, Klebsiella, Proteus\n"+
"Intracellular Gram− diplococci in PMNs = Neisseria gonorrhoeae (urethral discharge)",
{x:5.13,y:4.82,w:4.55,h:0.66,fontSize:8.5,color:C.urine,fontFace:"Calibri",valign:"middle"}
);
}
// ════════════════════════════════════════════════════
// SLIDE 12 – URINARY: ZN + Pap stain
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"Urinary Tract — AFB (ZN) & Papanicolaou Stain",C.urine);
// LEFT – ZN urine
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.12,w:4.6,h:0.34,fill:{color:C.urine},line:{color:C.urine,width:0}});
s.addText("ZIEHL-NEELSEN (AFB) — Renal TB",{x:0.28,y:1.12,w:4.6,h:0.34,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const znUSteps=[
"Collect FIRST MORNING midstream clean-catch urine × 3 consecutive days",
"Centrifuge LARGE volume (50-100 mL) at high speed to concentrate sediment",
"Prepare thin smear from sediment; air-dry; heat-fix",
"Flood with carbol fuchsin; heat until steam rises — 5 minutes",
"Cool, wash; decolorize with acid-alcohol (3% HCl) — 2-3 min; wash",
"Counterstain with methylene blue — 1-2 min; wash; blot dry",
"Examine 100x oil; report using WHO grading scale",
];
znUSteps.forEach((st,i)=>{ stepBox(s,i+1,st,0.28,1.48+i*0.54,4.6,0.48,C.urine); });
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:5.25,w:4.6,h:0.24,fill:{color:"F3EEF8"},line:{color:C.urine,width:0.5}});
s.addText("Results: AFB = pink-red on blue background",{x:0.33,y:5.25,w:4.5,h:0.24,fontSize:8.5,color:C.urine,bold:true,valign:"middle"});
// RIGHT – Pap stain
s.addShape(pres.shapes.RECTANGLE,{x:5.08,y:1.12,w:4.65,h:0.34,fill:{color:C.urine},line:{color:C.urine,width:0}});
s.addText("PAPANICOLAOU (PAP) STAIN — Urine Cytology",{x:5.08,y:1.12,w:4.65,h:0.34,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
const papSteps=[
"Collect voided urine or bladder washing; centrifuge to concentrate",
"Prepare cytospin (cytocentrifuge) preparation for monolayer",
"Fix IMMEDIATELY in 95% ethanol or spray fixative — 15 minutes",
"Hydrate through graded alcohols to water",
"Stain nuclei with HEMATOXYLIN (Harris/modified) — 3-5 min; wash; blue in ammonia",
"Counterstain cytoplasm with ORANGE G-6 then EA (Eosin Azure) solutions",
"Dehydrate; clear in xylene; mount; examine 40x and 100x",
];
papSteps.forEach((st,i)=>{ stepBox(s,i+1,st,5.08,1.48+i*0.54,4.65,0.48,C.urine); });
s.addShape(pres.shapes.RECTANGLE,{x:5.08,y:5.25,w:4.65,h:0.24,fill:{color:"F3EEF8"},line:{color:C.urine,width:0.5}});
s.addText("Detects: TCC, CMV decoy cells, BK polyomavirus inclusions, dysplastic cells",{x:5.13,y:5.25,w:4.55,h:0.24,fontSize:8.5,color:C.urine,bold:true,valign:"middle"});
}
// ════════════════════════════════════════════════════
// SLIDE 13 – COMPARISON SUMMARY TABLE
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.off);
headerBand(s,"Smear Preparation & Staining — Quick Reference Comparison",C.navy);
const headers=["Stain","Fixation","Key Steps (Sequence)","Result Colors","Tract(s)"];
const rows=[
["Wet Mount","None","Saline/Iodine → coverslip → immediate exam","Organisms: translucent; iodine enhances cysts","GI, Urine"],
["Gram Stain","Heat-fix","Crystal violet → Iodine → Decolorize → Safranin","G+ = purple | G− = pink","ALL 3"],
["Ziehl-Neelsen (Hot)","Heat-fix","Carbol fuchsin (heated) → Acid-alcohol → Methylene blue","AFB = pink-red | Bg = blue","GI, Resp, Urine"],
["Modified Kinyoun (Cold)","Methanol-fix","Carbol fuchsin (cold) → Acid-alcohol → Malachite green","Oocysts = pink-red | Bg = blue-green","GI, Resp"],
["Wheatley Trichrome","PVA / Schaudinn","EtOH-iodine → Trichrome 10min → Acid-EtOH destain → Xylene","Protozoa = blue-green | Nuclei = red","GI"],
["Chromotrope","Methanol-fix","Gram steps (no safranin) → Chromotrope 50°C → Acid-EtOH","Spores = pink-red | Bg = green","GI, Urine"],
["Auramine-Phenol","Heat-fix","Auramine-phenol → Acid-alcohol → KMnO₄ counterstain","AFB = yellow-green (fluorescence)","Resp"],
["GMS","EtOH fix","Oxidize → Methenamine silver 60°C → Light green counterstain","Fungi/PCP = black | Bg = green","Resp"],
["Papanicolaou (Pap)","Immediate EtOH","Hematoxylin → Orange G → Eosin Azure → Xylene","Nuclei = blue | Cytoplasm = pink-green","Resp, Urine"],
["KOH Prep","None","Mix with 10-20% KOH → warm gently → coverslip","Fungal hyphae/yeast visible (clear)","ALL 3"],
];
addTable(s,headers,rows,0.18,1.14,9.65,[1.45,1.3,3.2,2.0,1.7]);
}
// ════════════════════════════════════════════════════
// SLIDE 14 – CONCLUSION
// ════════════════════════════════════════════════════
{
const s=pres.addSlide();
bg(s,C.navy);
s.addShape(pres.shapes.RECTANGLE,{x:0,y:4.5,w:"100%",h:1.125,fill:{color:C.teal},line:{color:C.teal,width:0}});
s.addShape(pres.shapes.RECTANGLE,{x:0,y:3.7,w:"100%",h:0.07,fill:{color:C.yellow},line:{color:C.yellow,width:0}});
s.addText("KEY TAKEAWAYS",{x:0.5,y:0.2,w:9,h:0.65,fontSize:26,bold:true,color:C.teal,align:"center",charSpacing:5});
const pts=[
{n:"1",t:"Smear QUALITY is paramount — select the right portion, spread thin, fix properly before staining"},
{n:"2",t:"GRAM STAIN is the universal first-line stain for all three tracts; results guide empirical antibiotic therapy"},
{n:"3",t:"GI TRACT: Wet mount (fresh; immediate) + Trichrome (protozoa) + Modified ZN (coccidia) + Chromotrope (microsporidia)"},
{n:"4",t:"RESPIRATORY: Gram stain (quality check + bacteria) → ZN/Auramine (AFB/TB) → GMS (PCP/fungi in BAL)"},
{n:"5",t:"URINARY: Centrifuge sediment → Wet mount (Trichomonas; immediate!) → Gram stain → ZN (renal TB, ×3 days)"},
{n:"6",t:"DECOLORIZATION is the CRITICAL step in both Gram and ZN — over-decolorize and you lose your result"},
];
pts.forEach((p,i)=>{
const col=i%2; const row=Math.floor(i/2);
const x=0.3+col*4.85; const y=1.0+row*1.1;
s.addShape(pres.shapes.OVAL,{x,y,w:0.36,h:0.36,fill:{color:C.yellow},line:{color:C.yellow,width:0}});
s.addText(p.n,{x,y,w:0.36,h:0.36,fontSize:11,bold:true,color:C.navy,align:"center",valign:"middle",margin:0});
s.addText(p.t,{x:x+0.44,y:y+0.02,w:4.2,h:0.9,fontSize:9.5,color:C.silver,fontFace:"Calibri",valign:"top"});
});
s.addText("Smear Preparation & Staining | GI · Respiratory · Urinary | Lab Microbiology",
{x:0.5,y:4.6,w:9,h:0.45,fontSize:11,color:C.navy,align:"center",italic:true,bold:true,valign:"middle"});
}
// ── WRITE ─────────────────────────────────────────────
pres.writeFile({fileName:"/home/daytona/workspace/smear-ppt/Smear_Preparation_and_Staining.pptx"})
.then(()=>console.log("✅ PPT created successfully."))
.catch(err=>console.error("❌",err));
cd /home/daytona/workspace/smear-ppt && node create_smear_ppt.js
ls -lh /home/daytona/workspace/smear-ppt/
Smear Preparation and Staining
Presentation · PPTX
| # | Slide | Tract |
|---|---|---|
| 1 | Title slide | All |
| 2 | What is a Smear + 7 Universal Steps | All |
| 3 | GI — Direct Wet Mount (step-by-step) | 🟢 GI |
| 4 | GI — Concentration Technique + Wheatley Trichrome | 🟢 GI |
| 5 | GI — Modified Kinyoun (Cryptosporidium) + Chromotrope (Microsporidia) | 🟢 GI |
| 6 | Respiratory — Sputum Smear Preparation + Quality Check | 🟠 Resp |
| 7 | Respiratory — Gram Stain (full steps + results panel) | 🟠 Resp |
| 8 | Respiratory — Ziehl-Neelsen AFB (hot method + WHO grading) | 🟠 Resp |
| 9 | Respiratory — Auramine-Phenol + GMS (PCP) | 🟠 Resp |
| 10 | Urinary — Smear Prep: Centrifuged vs. Uncentrifuged | 🟣 Urine |
| 11 | Urinary — Wet Mount + Gram Stain | 🟣 Urine |
| 12 | Urinary — ZN (Renal TB) + Papanicolaou (Cytology) | 🟣 Urine |
| 13 | Master comparison table — all stains across all 3 tracts | All |
| 14 | Key Takeaways | All |
I cant download ppt
Smear Preparation and Staining
Presentation · PPTX
I need notes for this under 3rd bscmlt Rguhs
RGUHS 3rd BSc MLT syllabus clinical microbiology smear preparation staining respiratory GI urinary tract
RGUHS BSc MLT 3rd year Microbiology II syllabus specimen processing smear preparation staining 2023 2024
| Specimen | Source | Used For |
|---|---|---|
| Stool (feces) | Freshly passed stool | Bacteria, parasites, viruses |
| Rectal swab | Rectum | Enteric bacteria (e.g., Vibrio, Shigella) |
| Gastric lavage | Stomach washings | Mycobacterium tuberculosis (pauci-bacillary TB) |
| Duodenal aspirate | Upper small intestine | Giardia, Strongyloides |
| Sigmoidoscopy scrapings | Colonic mucosa | Entamoeba histolytica |
⚠ Important: Examine within 30 minutes of passage. Do NOT use undiluted Lugol — causes clumping.
| Step | Reagent | Time |
|---|---|---|
| 1. Fix | 70% ethanol + iodine | 10 min |
| 2. Hydrate | 70% ethanol | 5 min |
| 3. Hydrate | 70% ethanol | 3 min |
| 4. Stain | Trichrome stain | 10 min |
| 5. Destain | 90% ethanol + acetic acid | 1–3 sec only |
| 6. Dehydrate | 100% ethanol (×2) | 3 min each |
| 7. Clear | Xylene (×2) | 10 min each |
| 8. Mount | Permount + coverslip | — |
| 9. Examine | 100x oil immersion, 200–300 fields | — |
⚠ Destaining step (1–3 sec) is CRITICAL — over-destaining removes all stain; under-destaining gives dark, non-interpretable smears.
Difference from Hot ZN: Cold method — no heating required; easier and safer. Used specifically for coccidian oocysts, NOT for Mycobacteria.
| Specimen | Method | Used For |
|---|---|---|
| Sputum (expectorated) | Deep cough after rinsing mouth | Bacteria, TB, fungi |
| Induced sputum | Inhaled hypertonic saline | TB, PCP (when patient can't produce sputum) |
| Nasopharyngeal swab | Flocked swab to posterior pharynx | Viruses, Bordetella, Mycoplasma |
| Bronchoalveolar Lavage (BAL) | Bronchoscopy, 60–120 mL saline | TB, PCP, fungi (immunocompromised) |
| Endotracheal aspirate | Via endotracheal tube suction | Ventilator-associated pneumonia |
Acceptable sputum = < 10 squamous epithelial cells AND > 25 PMNs per low power field (10x) This is the Bartlett/Murray-Washington criterion — confirms specimen is from lower respiratory tract, not saliva.
| Step | Action | Time |
|---|---|---|
| 1 | Flood heat-fixed smear with crystal violet | 1 minute |
| 2 | Gentle water wash | 2 seconds |
| 3 | Flood with Gram's iodine | 1 minute |
| 4 | Gentle water wash | 2 seconds |
| 5 | Decolorize with 95% ethanol or acetone until runoff runs clear | 15–30 seconds |
| 6 | Wash immediately with water to stop decolorization | — |
| 7 | Flood with safranin (counterstain) | 30–60 seconds |
| 8 | Gentle water rinse; blot dry (do NOT rub) | — |
| 9 | Examine under 100x oil immersion | — |
| Organism | Gram reaction | Morphology |
|---|---|---|
| Streptococcus pneumoniae | Gram + | Lancet-shaped diplococci |
| Staphylococcus aureus | Gram + | Cocci in clusters |
| Klebsiella pneumoniae | Gram − | Short, plump rods |
| Haemophilus influenzae | Gram − | Small coccobacilli |
| Pseudomonas aeruginosa | Gram − | Slender rods |
| Step | Action | Time |
|---|---|---|
| 1 | Prepare smear; air-dry completely; heat-fix | — |
| 2 | Flood smear with carbol fuchsin | — |
| 3 | Heat under the slide with flame until steam rises — maintain steaming (do NOT boil) | 5 minutes |
| 4 | Cool slide for 5 minutes; wash with distilled water | — |
| 5 | Decolorize with acid-alcohol until smear is pale pink | 2–3 minutes |
| 6 | Wash thoroughly with water | — |
| 7 | Counterstain with methylene blue | 1–2 minutes |
| 8 | Wash, blot dry, air-dry; examine 100x oil immersion | — |
| 9 | Scan at least 100–300 fields | — |
| Grade | Criteria |
|---|---|
| No AFB | 0 AFB in 100 fields |
| Scanty | 1–9 AFB in 100 fields |
| 1+ | 10–99 AFB in 100 fields |
| 2+ | 1–10 AFB per field (in 50 fields) |
| 3+ | >10 AFB per field (in 20 fields) |
All auramine positive smears MUST be confirmed by ZN.
| Specimen | Method | Used For |
|---|---|---|
| Mid-stream clean catch (MSCC) | Patient self-collects (most common) | Routine urine culture, microscopy |
| Catheter specimen (CSU) | From catheter sampling port (NOT drainage bag) | Hospital patients |
| Suprapubic aspirate (SPA) | Needle directly into bladder | Gold standard; infants, contamination avoided |
| Early morning urine | First void of morning | TB (AFB), microscopy |
| Urethral swab/discharge | Swab into urethra 2–4 cm | GC/Chlamydia |
⚠ Early morning urine is best for microscopy — examine within minutes of collection (cells lyse in dilute/alkaline urine; Trichomonas motility is lost rapidly).
| Organism | Gram Reaction | Clinical significance |
|---|---|---|
| Escherichia coli | Gram − rods | Most common UTI |
| Klebsiella spp. | Gram − rods | Complicated UTI |
| Staphylococcus saprophyticus | Gram + cocci | UTI in young women |
| Enterococcus | Gram + cocci (chains) | UTI, nosocomial |
| Neisseria gonorrhoeae | Gram − diplococci | Intracellular in PMNs (urethral discharge) |
| Candida | Gram + yeast (oval cells + pseudohyphae) | Immunocompromised, catheterized |
Kass Criteria (for significant bacteriuria):
- ≥ 10⁵ CFU/mL in midstream urine = significant bacteriuria
- ≥ 10³ CFU/mL in catheter specimen = significant
- Any growth in suprapubic aspirate = significant
| Stain | Principle | Specimen | Result | RGUHS Importance |
|---|---|---|---|---|
| Wet Mount | Direct unstained examination | Stool, urine | Motile organisms visible | ★★★ |
| Gram Stain | Differential; cell wall thickness | Sputum, urine, swabs | G+ purple, G− pink | ★★★★★ |
| Ziehl-Neelsen (Hot) | Acid-fastness due to mycolic acid | Sputum, gastric wash, urine | AFB = pink-red on blue | ★★★★★ |
| Auramine-Phenol | Fluorochrome binds mycolic acid | Sputum, BAL | AFB = yellow-green (UV) | ★★★ |
| Trichrome (Wheatley) | Differential; protozoa vs. debris | Stool | Protozoa = purple; Bg = green | ★★★★ |
| Modified Kinyoun | Cold acid-fast; coccidian oocysts | Stool, BAL | Oocysts = pink-red; Bg = blue-green | ★★★ |
So, can you prepare, uh, me a PPT of, uh, these notes? Mm-hmm. Can you prepare...
~/rguhs-ppt/create_rguhs_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Smear Preparation and Staining - 3rd BSc MLT RGUHS";
// ── PALETTE ──────────────────────────────────────────
const C = {
navy: "0B2545",
teal: "0E8A8A",
white: "FFFFFF",
off: "F0F4F8",
silver: "C8D6E5",
text: "1A1A2E",
gi: "1A7A43",
resp: "B94800",
urine: "5B1A8A",
yellow: "F4C430",
red: "C0392B",
ltgray: "E8EEF4",
};
// ── HELPERS ──────────────────────────────────────────
function bg(s, col) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:"100%", h:"100%", fill:{color:col}, line:{color:col,width:0} });
}
function hdr(s, title, col) {
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:"100%", h:1.0, fill:{color:col}, line:{color:col,width:0} });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.18, h:5.625, fill:{color:C.yellow}, line:{color:C.yellow,width:0} });
s.addText(title, { x:0.28, y:0.08, w:9.5, h:0.85, fontSize:22, bold:true, color:C.white, fontFace:"Calibri", valign:"middle", margin:0 });
}
function tag(s, label, col, x, y) {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y, w:2.4, h:0.32, fill:{color:col}, line:{color:col,width:0}, rectRadius:0.16 });
s.addText(label, { x, y, w:2.4, h:0.32, fontSize:9, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
}
function card(s, x, y, w, h, col) {
col = col || C.white;
s.addShape(pres.shapes.RECTANGLE, { x, y, w, h, fill:{color:col}, line:{color:C.silver,width:0.75},
shadow:{type:"outer",color:"000000",blur:5,offset:2,angle:135,opacity:0.1} });
}
function stepDot(s, n, txt, x, y, w, acol) {
s.addShape(pres.shapes.OVAL, { x:x+0.05, y:y+0.07, w:0.3, h:0.3, fill:{color:acol}, line:{color:acol,width:0} });
s.addText(String(n), { x:x+0.05, y:y+0.07, w:0.3, h:0.3, fontSize:9, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
s.addText(txt, { x:x+0.42, y:y+0.08, w:w-0.5, h:0.36, fontSize:9.5, color:C.text, fontFace:"Calibri", valign:"middle" });
}
function colHdr(s, x, y, w, h, txt, col) {
s.addShape(pres.shapes.RECTANGLE, { x, y, w, h, fill:{color:col}, line:{color:col,width:0} });
s.addText(txt, { x, y, w, h, fontSize:9, bold:true, color:C.white, align:"center", valign:"middle", margin:0 });
}
function tbl(s, headers, rows, x, y, w, colW) {
const data = [];
data.push(headers.map(h => ({ text:h, options:{bold:true,color:C.white,fill:C.navy,fontSize:9,align:"center",valign:"middle"} })));
rows.forEach((r,i) => data.push(r.map(cell => ({ text:cell, options:{color:C.text,fill:i%2===0?C.off:C.white,fontSize:8.5,valign:"middle"} }))));
s.addTable(data, { x, y, w, colW, rowH:0.33, border:{type:"solid",color:C.silver,pt:0.5} });
}
// ════════════════════════════════════════════
// SLIDE 1 — TITLE
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.navy);
s.addShape(pres.shapes.RECTANGLE, {x:0, y:3.55, w:"100%", h:0.07, fill:{color:C.teal}, line:{color:C.teal,width:0}});
s.addShape(pres.shapes.RECTANGLE, {x:0, y:3.63, w:"100%", h:0.04, fill:{color:C.yellow}, line:{color:C.yellow,width:0}});
s.addText("SMEAR PREPARATION", { x:0.5, y:0.45, w:9, h:0.85, fontSize:38, bold:true, color:C.white, align:"center", charSpacing:3, fontFace:"Calibri" });
s.addText("& STAINING PROCEDURES", { x:0.5, y:1.28, w:9, h:0.75, fontSize:32, bold:true, color:C.teal, align:"center", charSpacing:2, fontFace:"Calibri" });
// University badge
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {x:2.8, y:2.2, w:4.4, h:1.1, fill:{color:"142850"}, line:{color:C.teal,width:1.5}, rectRadius:0.12});
s.addText([
{text:"3rd B.Sc. MLT | RGUHS\n", options:{bold:true, fontSize:13, color:C.yellow}},
{text:"Microbiology II — Specimen Processing", options:{fontSize:10.5, color:C.silver}},
], { x:2.8, y:2.2, w:4.4, h:1.1, align:"center", valign:"middle" });
// 3 organ pills
const pills = [
{label:"GASTROINTESTINAL TRACT", col:C.gi, x:0.45},
{label:"RESPIRATORY TRACT", col:C.resp, x:3.65},
{label:"URINARY TRACT", col:C.urine, x:6.85},
];
pills.forEach(p => {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {x:p.x, y:3.75, w:2.7, h:0.58, fill:{color:p.col}, line:{color:p.col,width:0}, rectRadius:0.29});
s.addText(p.label, {x:p.x, y:3.75, w:2.7, h:0.58, fontSize:8.5, bold:true, color:C.white, align:"center", valign:"middle", margin:0});
});
s.addText("Ananthanarayan & Paniker | Mackie & McCartney | RGUHS Prescribed", {x:0.5, y:5.05, w:9, h:0.35, fontSize:9.5, color:C.silver, align:"center", italic:true});
}
// ════════════════════════════════════════════
// SLIDE 2 — UNIT OVERVIEW + KEY DEFINITIONS
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "Unit Overview — Specimen Processing (Microbiology II)", C.navy);
// Left — what is a smear
colHdr(s, 0.28, 1.08, 4.55, 0.34, "WHAT IS A SMEAR?", C.navy);
card(s, 0.28, 1.44, 4.55, 2.4);
s.addText(
"A smear (film) is a thin, even layer of specimen spread on a glass slide, fixed to preserve morphology, and stained with dyes so organisms and cells become visible under the microscope.\n\n• Too THICK → organisms overlap, missed\n• Too THIN → low yield\n• Over-fixed → poor staining\n• Under-fixed → material washes off\n\nSMEAR QUALITY is the most important factor in any staining procedure.",
{x:0.36, y:1.5, w:4.38, h:2.28, fontSize:10, color:C.text, fontFace:"Calibri", valign:"top"}
);
// Right — 7 universal steps
colHdr(s, 5.0, 1.08, 4.73, 0.34, "7 UNIVERSAL STEPS", C.navy);
const steps = [
"SELECT the best portion of specimen",
"SPREAD — thin, even smear on clean labeled slide",
"AIR-DRY completely at room temperature",
"HEAT-FIX — flame 2-3× (1 sec each) or hot plate 60°C",
"APPLY stain reagents in sequence with correct timing",
"RINSE with water after each step",
"BLOT DRY — never rub; examine under correct objective",
];
steps.forEach((st,i) => {
const y = 1.44 + i*0.48;
s.addShape(pres.shapes.RECTANGLE, {x:5.0, y, w:4.73, h:0.46, fill:{color:i%2===0?C.off:C.white}, line:{color:C.silver,width:0.5}});
s.addShape(pres.shapes.OVAL, {x:5.06, y:y+0.08, w:0.28, h:0.28, fill:{color:C.teal}, line:{color:C.teal,width:0}});
s.addText(String(i+1), {x:5.06, y:y+0.08, w:0.28, h:0.28, fontSize:8.5, bold:true, color:C.white, align:"center", valign:"middle", margin:0});
s.addText(st, {x:5.4, y:y+0.06, w:4.25, h:0.34, fontSize:9.5, color:C.text, valign:"middle"});
});
}
// ════════════════════════════════════════════
// SLIDE 3 — GI SPECIMENS + DIRECT WET MOUNT
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "Gastrointestinal Tract — Specimens & Direct Wet Mount", C.gi);
// Specimen table left
colHdr(s, 0.28, 1.08, 4.55, 0.32, "GI TRACT SPECIMENS", C.gi);
tbl(s,
["Specimen","Source","Used For"],
[
["Stool (feces)","Freshly passed","Bacteria, parasites, viruses"],
["Rectal swab","Rectum","Shigella, Vibrio, enteric bacteria"],
["Gastric lavage","Stomach washings","M. tuberculosis (pauci-bacillary)"],
["Duodenal aspirate","Upper small intestine","Giardia, Strongyloides"],
["Sigmoidoscopy scraping","Colonic mucosa","Entamoeba histolytica"],
],
0.28, 1.42, 4.55, [1.3, 1.5, 1.75]
);
// Direct wet mount steps right
colHdr(s, 5.0, 1.08, 4.73, 0.32, "DIRECT WET MOUNT (Smear Prep)", C.gi);
const wmSteps = [
"Place a drop of 0.85% NORMAL SALINE on clean glass slide",
"Transfer match-head size of fresh stool using applicator stick",
"Mix to a thin, uniform suspension; apply coverslip (22×22 mm)",
"Examine IMMEDIATELY under 10x (screen), then 40x (detail)",
"Watch motile amebae for ≥15 seconds (slow-moving!)",
"2nd slide: use 1:5 DILUTED LUGOL'S IODINE instead of saline (nuclear detail)",
"Do NOT use undiluted Lugol — causes clumping",
];
wmSteps.forEach((st,i) => stepDot(s, i+1, st, 5.0, 1.42+i*0.53, 4.73, C.gi));
// Alert bar
s.addShape(pres.shapes.RECTANGLE, {x:5.0, y:5.16, w:4.73, h:0.3, fill:{color:"E8F5EE"}, line:{color:C.gi,width:0.75}});
s.addText("⚠ Saline = motility preserved | Iodine = nuclear detail but kills motility | Examine within 30 min",
{x:5.08, y:5.16, w:4.6, h:0.3, fontSize:8.5, color:C.gi, bold:true, valign:"middle"});
}
// ════════════════════════════════════════════
// SLIDE 4 — CONCENTRATION + TRICHROME
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "GI Tract — Concentration Technique & Trichrome Stain", C.gi);
// Left — Concentration
colHdr(s, 0.28, 1.05, 4.55, 0.34, "FORMALIN-ETHYL ACETATE CONCENTRATION", C.gi);
const concSteps = [
"Emulsify ~1g stool in 10 mL 10% formalin; strain through gauze",
"Add 3 mL ethyl acetate; cap and shake vigorously 30 sec",
"Centrifuge 500×g for 10 min → 4 layers form",
"Layers: (1) Ethyl acetate plug (2) Formalin (3) Debris ring (4) SEDIMENT",
"Break debris ring; discard top 3 layers",
"Use bottom SEDIMENT for wet mount or permanent staining",
];
concSteps.forEach((st,i) => stepDot(s, i+1, st, 0.28, 1.42+i*0.56, 4.55, C.gi));
s.addShape(pres.shapes.RECTANGLE, {x:0.28, y:4.62, w:4.55, h:0.28, fill:{color:"E8F5EE"}, line:{color:C.gi,width:0.5}});
s.addText("Purpose: ↑ sensitivity for protozoan cysts + helminth eggs/larvae",
{x:0.36, y:4.62, w:4.38, h:0.28, fontSize:9, color:C.gi, bold:true, valign:"middle"});
// Right — Trichrome procedure table
colHdr(s, 5.0, 1.05, 4.73, 0.34, "WHEATLEY TRICHROME STAIN (Permanent)", C.gi);
tbl(s,
["Step","Reagent","Time"],
[
["1. Fix","70% ethanol + iodine","10 min"],
["2. Hydrate","70% ethanol","5 min"],
["3. Hydrate","70% ethanol","3 min"],
["4. STAIN","Trichrome stain","10 min"],
["5. DESTAIN ⚠","90% ethanol + acetic acid","1–3 sec ONLY"],
["6. Dehydrate","100% ethanol (×2)","3 min each"],
["7. Clear","Xylene (×2)","10 min each"],
["8. Mount & View","Permount + coverslip","100x oil, 200-300 fields"],
],
5.0, 1.42, 4.73, [1.4, 2.1, 1.23]
);
// Results
s.addShape(pres.shapes.RECTANGLE, {x:5.0, y:4.56, w:4.73, h:0.9, fill:{color:"E8F5EE"}, line:{color:C.gi,width:0.75}});
s.addText("RESULTS\n• Background → GREEN\n• Protozoa cytoplasm → BLUE-GREEN to PURPLE\n• Nuclei & chromatoid bodies → RED/PURPLE-RED\n• Yeast → PINK to PURPLE",
{x:5.08, y:4.56, w:4.58, h:0.9, fontSize:9, color:C.gi, fontFace:"Calibri", valign:"top"});
}
// ════════════════════════════════════════════
// SLIDE 5 — MODIFIED KINYOUN
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "GI Tract — Modified Kinyoun (Cold Acid-Fast) Stain", C.gi);
// Principle
colHdr(s, 0.28, 1.05, 9.45, 0.32, "PRINCIPLE", C.gi);
s.addText(
"Coccidian oocysts (Cryptosporidium, Cyclospora, Cystoisospora/Isospora) have a WAXY wall resistant to decolorization with DILUTE acid-alcohol. They retain carbol fuchsin (pink-red) while the background is decolorized. NO HEAT is required — this is the COLD method.",
{x:0.28, y:1.4, w:9.45, h:0.5, fontSize:10.5, color:C.text, fontFace:"Calibri", valign:"middle"}
);
// Two columns: reagents + steps
colHdr(s, 0.28, 1.97, 2.5, 0.32, "REAGENTS", C.gi);
const reags = ["Kinyoun's carbol fuchsin (primary stain)","Acid-alcohol: 1% HCl in 95% ethanol (decolorizer)","Malachite green or methylene blue (counterstain)","Absolute methanol (fixative)"];
reags.forEach((r,i) => {
s.addShape(pres.shapes.RECTANGLE, {x:0.28, y:2.31+i*0.42, w:2.5, h:0.4, fill:{color:i%2===0?C.off:C.white}, line:{color:C.silver,width:0.5}});
s.addText(`• ${r}`, {x:0.36, y:2.31+i*0.42, w:2.34, h:0.4, fontSize:9, color:C.text, valign:"middle"});
});
colHdr(s, 2.92, 1.97, 6.81, 0.32, "PROCEDURE (Step-by-Step)", C.gi);
const kSteps = [
"Place 1-2 drops concentrated stool on slide; dry at 60°C (NOT too thick)",
"Fix with ABSOLUTE METHANOL — 30 seconds",
"Flood with Kinyoun's carbol fuchsin — 1 minute; brief water rinse",
"Decolorize with ACID-ALCOHOL (1% HCl in 95% ethanol) — 2 minutes; water rinse",
"Counterstain with MALACHITE GREEN (or methylene blue) — 2 minutes; water rinse",
"Dry at 60°C for ~5 minutes; mount with coverslip",
"Examine 40x or 100x oil immersion; scan 200-300 fields",
];
kSteps.forEach((st,i) => stepDot(s, i+1, st, 2.92, 2.31+i*0.43, 6.81, C.gi));
// Result bar
s.addShape(pres.shapes.RECTANGLE, {x:0.28, y:5.2, w:9.45, h:0.3, fill:{color:"E8F5EE"}, line:{color:C.gi,width:0.75}});
s.addText("RESULTS: Oocysts = BRIGHT PINK-RED (acid-fast) | Background = BLUE-GREEN (malachite) | No heating needed = COLD method",
{x:0.36, y:5.2, w:9.28, h:0.3, fontSize:9, color:C.gi, bold:true, valign:"middle"});
}
// ════════════════════════════════════════════
// SLIDE 6 — RESPIRATORY SPECIMENS + SMEAR PREP
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "Respiratory Tract — Specimens & Smear Preparation", C.resp);
// Specimen table
colHdr(s, 0.28, 1.05, 4.55, 0.32, "RESPIRATORY SPECIMENS", C.resp);
tbl(s,
["Specimen","Collection Method","Used For"],
[
["Expectorated sputum","Deep cough after rinsing mouth","Bacteria, TB, fungi"],
["Induced sputum","Inhale hypertonic saline (3-5%)","TB, PCP (can't produce sputum)"],
["NP swab","Flocked swab to posterior pharynx","Viruses, Bordetella, Mycoplasma"],
["BAL","Bronchoscopy, 60-120 mL saline","TB, PCP, fungi (immunocomp.)"],
["ET aspirate","Via endotracheal tube","Ventilator-assoc. pneumonia"],
],
0.28, 1.4, 4.55, [1.35, 1.9, 1.3]
);
// Smear prep steps
colHdr(s, 5.0, 1.05, 4.73, 0.32, "SPUTUM SMEAR PREPARATION", C.resp);
const respSteps = [
"Select PURULENT (green/yellow) portion — reject watery/frothy portions (saliva)",
"Transfer small amount to center of clean, grease-free, labeled glass slide",
"Spread THINLY and EVENLY over ~2×3 cm in one smooth stroke",
"AIR-DRY completely at room temperature (5–10 minutes)",
"HEAT-FIX: pass through flame 2-3× (1 sec each) OR hot plate 60°C for 5-10 min",
"For BAL: use CYTOCENTRIFUGE (cytospin) for monolayer preparation",
"Quality check: <10 squamous cells + >25 PMNs per 10x field (Bartlett criteria)",
];
respSteps.forEach((st,i) => stepDot(s, i+1, st, 5.0, 1.4+i*0.53, 4.73, C.resp));
s.addShape(pres.shapes.RECTANGLE, {x:5.0, y:5.16, w:4.73, h:0.3, fill:{color:"FFF3E0"}, line:{color:C.resp,width:0.75}});
s.addText("⚠ BARTLETT CRITERION: <10 squamous cells + >25 PMNs/LPF = acceptable sputum (lower respiratory, not saliva)",
{x:5.08, y:5.16, w:4.58, h:0.3, fontSize:8.5, color:C.resp, bold:true, valign:"middle"});
}
// ════════════════════════════════════════════
// SLIDE 7 — GRAM STAIN (DETAILED)
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "Gram Stain — Principle, Procedure & Results", C.resp);
// Principle banner
s.addShape(pres.shapes.RECTANGLE, {x:0.28, y:1.07, w:9.45, h:0.42, fill:{color:"FFF3E0"}, line:{color:C.resp,width:0.5}});
s.addText("PRINCIPLE: Gram+ bacteria have THICK peptidoglycan walls — retain crystal violet-iodine complex after decolorization → PURPLE. Gram− bacteria have THIN peptidoglycan + lipopolysaccharide outer membrane — lose crystal violet → stained by safranin → PINK.",
{x:0.36, y:1.07, w:9.28, h:0.42, fontSize:9.5, color:C.text, valign:"middle"});
// Procedure table
colHdr(s, 0.28, 1.55, 6.3, 0.32, "PROCEDURE (Reagent → Time)", C.resp);
tbl(s,
["Step","Reagent","Time","Action"],
[
["1","Crystal violet (primary stain)","1 min","Floods smear — ALL cells turn purple"],
["2","Water wash","2 sec","Removes excess stain"],
["3","Gram's iodine (mordant)","1 min","Forms crystal violet-iodine complex"],
["4","Water wash","2 sec","—"],
["5 ⚠","95% ethanol / acetone (decolorizer)","15-30 sec","CRITICAL — run until colorless runoff"],
["6","Water wash IMMEDIATELY","—","Stops decolorization"],
["7","Safranin (counterstain)","30-60 sec","Stains Gram− cells pink/red"],
["8","Water wash; blot dry","—","Examine 100x oil immersion"],
],
0.28, 1.9, 6.3, [0.4, 2.3, 1.2, 2.4]
);
// Results panel
colHdr(s, 6.75, 1.55, 2.98, 0.32, "RESULTS", C.resp);
const res = [
["Gram + (PURPLE)","Strep pneumoniae, Staph aureus"],
["Gram − (PINK)","E. coli, Klebsiella, Pseudomonas"],
["Lancet diplococci","Streptococcus pneumoniae"],
["Clusters (cocci)","Staphylococcus aureus"],
["Small coccobacilli","Haemophilus influenzae"],
["Intracellular diplococci","N. gonorrhoeae (urethral)"],
["Squamous cells >10","Reject — saliva specimen"],
];
res.forEach((r,i) => {
const fy = 1.9 + i*0.38;
s.addShape(pres.shapes.RECTANGLE, {x:6.75, y:fy, w:2.98, h:0.36, fill:{color:i%2===0?C.off:C.white}, line:{color:C.silver,width:0.5}});
s.addText(r[0], {x:6.82, y:fy+0.01, w:2.82, h:0.18, fontSize:8.5, bold:true, color:C.resp});
s.addText(r[1], {x:6.82, y:fy+0.19, w:2.82, h:0.15, fontSize:8, color:C.text});
});
// Memory Aid
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {x:0.28, y:4.82, w:6.3, h:0.66, fill:{color:C.navy}, line:{color:C.navy,width:0}, rectRadius:0.1});
s.addText("MEMORY AID — GRAM STAIN SEQUENCE:\n\"CIDS\" → Crystal violet → Iodine → Decolorize → Safranin",
{x:0.38, y:4.82, w:6.1, h:0.66, fontSize:11, bold:true, color:C.yellow, align:"center", valign:"middle"});
}
// ════════════════════════════════════════════
// SLIDE 8 — ZIEHL-NEELSEN (ZN) STAIN
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "Ziehl-Neelsen (ZN) Stain — Acid-Fast Bacteria", C.resp);
// Principle
s.addShape(pres.shapes.RECTANGLE, {x:0.28, y:1.05, w:9.45, h:0.4, fill:{color:"FFF3E0"}, line:{color:C.resp,width:0.5}});
s.addText("PRINCIPLE: Mycobacteria have HIGH MYCOLIC ACID content in cell wall → resistant to decolorization. HEAT drives carbol fuchsin into the waxy wall. Once stained, AFB resist acid-alcohol decolorization → appear PINK-RED (acid-fast).",
{x:0.36, y:1.05, w:9.28, h:0.4, fontSize:9.5, color:C.text, valign:"middle"});
// Steps and WHO grading side by side
colHdr(s, 0.28, 1.52, 5.6, 0.32, "HOT ACID-FAST PROCEDURE (Step-by-Step)", C.resp);
const znSteps = [
"Prepare smear; dry THOROUGHLY; heat-fix (incomplete drying = poor AFB staining)",
"Flood with CARBOL FUCHSIN",
"HEAT under the slide until STEAM RISES — maintain 5 minutes (do NOT boil); reapply stain as it dries",
"COOL for 5 minutes; wash with distilled water",
"Decolorize with ACID-ALCOHOL (3% HCl in 95% ethanol) until smear is pale pink — 2-3 min; wash",
"Counterstain with METHYLENE BLUE — 1-2 minutes; wash; blot dry",
"Examine 100x oil immersion; scan 100-300 fields",
];
znSteps.forEach((st,i) => stepDot(s, i+1, st, 0.28, 1.87+i*0.5, 5.6, C.resp));
// WHO Grading table
colHdr(s, 6.05, 1.52, 3.68, 0.32, "WHO GRADING (ZN Smear)", C.resp);
tbl(s,
["Grade","Criteria"],
[
["No AFB","0 AFB in 100 fields"],
["Scanty","1-9 AFB in 100 fields"],
["1+","10-99 AFB in 100 fields"],
["2+","1-10 AFB/field (50 fields)"],
["3+",">10 AFB/field (20 fields)"],
],
6.05, 1.87, 3.68, [1.0, 2.68]
);
// Memory + Results
s.addShape(pres.shapes.RECTANGLE, {x:6.05, y:3.72, w:3.68, h:0.56, fill:{color:"FFF3E0"}, line:{color:C.resp,width:0.75}});
s.addText("RESULTS:\n• AFB → BRIGHT PINK-RED RODS\n• Background → BLUE",
{x:6.12, y:3.72, w:3.54, h:0.56, fontSize:9.5, color:C.resp, bold:true, valign:"middle"});
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {x:0.28, y:4.75, w:5.6, h:0.72, fill:{color:C.navy}, line:{color:C.navy,width:0}, rectRadius:0.1});
s.addText("MEMORY AID — ZN SEQUENCE:\n\"CAM\" → Carbol fuchsin (+ heat) → Acid-alcohol → Methylene blue",
{x:0.38, y:4.75, w:5.4, h:0.72, fontSize:11, bold:true, color:C.yellow, align:"center", valign:"middle"});
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {x:6.05, y:4.38, w:3.68, h:1.09, fill:{color:C.navy}, line:{color:C.navy,width:0}, rectRadius:0.1});
s.addText("ZN vs. AURAMINE:\nZN = Hot, morphology details\nAuramine = Cold fluorescence, MORE SENSITIVE for screening\n→ Auramine positives must be confirmed by ZN",
{x:6.12, y:4.38, w:3.54, h:1.09, fontSize:9, color:C.silver, valign:"middle"});
}
// ════════════════════════════════════════════
// SLIDE 9 — URINARY TRACT SPECIMENS + PREP
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "Urinary Tract — Specimens & Smear Preparation", C.urine);
// Specimen table left
colHdr(s, 0.28, 1.05, 4.55, 0.32, "URINE SPECIMENS", C.urine);
tbl(s,
["Specimen","Method","Used For"],
[
["MSCC (midstream clean catch)","Patient self-collects","Routine culture, microscopy"],
["Catheter specimen (CSU)","From catheter port — NOT bag","Hospital inpatients"],
["Suprapubic aspirate (SPA)","Needle directly into bladder","Gold standard; infants"],
["Early morning urine","First void — concentrated","TB (AFB), best for microscopy"],
["Urethral swab/discharge","Swab 2-4 cm into urethra","GC / Chlamydia"],
],
0.28, 1.4, 4.55, [1.5, 1.75, 1.3]
);
// Smear prep right
colHdr(s, 5.0, 1.05, 4.73, 0.32, "URINE SMEAR PREPARATION", C.urine);
colHdr(s, 5.0, 1.4, 4.73, 0.28, "Method 1: Centrifuged Sediment (Standard)", C.urine);
const m1 = [
"Pour 10 mL urine into conical tube",
"Centrifuge 2000 rpm (400×g) for 5 minutes",
"Decant supernatant; leave ~0.5-1 mL sediment",
"Resuspend sediment by tapping tube",
"Place ONE DROP on glass slide",
"Wet mount → coverslip; examine immediately | Stained → air-dry; heat-fix",
];
m1.forEach((st,i) => stepDot(s, i+1, st, 5.0, 1.7+i*0.45, 4.73, C.urine));
colHdr(s, 5.0, 3.72, 4.73, 0.28, "Method 2: Uncentrifuged (Gram stain screening)", C.urine);
const m2 = [
"Place drop of well-mixed uncentrifuged urine on slide",
"Spread thinly; air-dry; heat-fix → proceed to Gram stain",
"1 organism/oil-immersion field ≈ 100,000 CFU/mL (significant bacteriuria)",
];
m2.forEach((st,i) => stepDot(s, i+1, st, 5.0, 4.02+i*0.46, 4.73, C.urine));
s.addShape(pres.shapes.RECTANGLE, {x:5.0, y:5.42, w:4.73, h:0.26, fill:{color:"F3EEF8"}, line:{color:C.urine,width:0.75}});
s.addText("⚠ Early morning urine = examine within MINUTES (cells lyse in dilute/alkaline urine; Trichomonas motility lost rapidly)",
{x:5.08, y:5.42, w:4.58, h:0.26, fontSize:8.5, color:C.urine, bold:true, valign:"middle"});
}
// ════════════════════════════════════════════
// SLIDE 10 — URINE STAINING: WET MOUNT + GRAM
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "Urinary Tract — Wet Mount & Gram Stain", C.urine);
// Wet mount left
colHdr(s, 0.28, 1.05, 4.55, 0.32, "WET MOUNT OF URINE SEDIMENT (Unstained)", C.urine);
const wmItems = [
["Trichomonas vaginalis","Pear-shaped, jerky motility with flagella — examine IMMEDIATELY"],
["RBCs","Normal: 0-2/HPF; >3/HPF = hematuria"],
["WBCs (pus cells)",">5/HPF = pyuria (UTI, pyelonephritis)"],
["RBC casts","Glomerulonephritis"],
["WBC casts","Pyelonephritis (upper UTI)"],
["Squamous cells","Contamination (vaginal/skin)"],
["Yeast (Candida)","Oval budding cells + pseudohyphae"],
];
wmItems.forEach((r,i) => {
const y = 1.4 + i*0.48;
s.addShape(pres.shapes.RECTANGLE, {x:0.28, y, w:4.55, h:0.46, fill:{color:i%2===0?C.off:C.white}, line:{color:C.silver,width:0.5}});
s.addText(r[0], {x:0.36, y:y+0.02, w:4.38, h:0.2, fontSize:9, bold:true, color:C.urine});
s.addText(r[1], {x:0.36, y:y+0.22, w:4.38, h:0.2, fontSize:8.5, color:C.text});
});
// Gram stain for urine right
colHdr(s, 5.0, 1.05, 4.73, 0.32, "GRAM STAIN OF URINE — Key Findings", C.urine);
s.addText("Steps: SAME as respiratory Gram stain\n(Crystal violet → Iodine → Decolorize → Safranin)",
{x:5.0, y:1.4, w:4.73, h:0.44, fontSize:9.5, color:C.text, valign:"middle", italic:true});
tbl(s,
["Organism","Gram Reaction","Clinical Significance"],
[
["Escherichia coli","Gram − rods","Most common UTI (80%)"],
["Klebsiella pneumoniae","Gram − rods","Complicated UTI"],
["Staphylococcus saprophyticus","Gram + cocci","UTI in young women"],
["Enterococcus faecalis","Gram + cocci (chains)","UTI, nosocomial"],
["N. gonorrhoeae","Gram − diplococci (INTRACELLULAR in PMNs)","Urethral discharge"],
["Candida spp.","Gram + yeast + pseudohyphae","Immunocompromised, catheter"],
],
5.0, 1.87, 4.73, [1.5, 1.6, 1.63]
);
// Kass criteria
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {x:5.0, y:4.82, w:4.73, h:0.72, fill:{color:C.navy}, line:{color:C.navy,width:0}, rectRadius:0.1});
s.addText("KASS CRITERIA (Significant Bacteriuria):\n≥10⁵ CFU/mL (MSCC) | ≥10³ CFU/mL (catheter) | ANY growth (SPA)",
{x:5.08, y:4.82, w:4.58, h:0.72, fontSize:10.5, bold:true, color:C.yellow, align:"center", valign:"middle"});
}
// ════════════════════════════════════════════
// SLIDE 11 — ZN STAIN FOR URINE (RENAL TB)
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "Urinary Tract — ZN Stain for Renal TB + Comparison", C.urine);
// Left — ZN urine
colHdr(s, 0.28, 1.05, 4.55, 0.32, "ZIEHL-NEELSEN FOR URINE (Renal TB)", C.urine);
const zuSteps = [
"Collect EARLY MORNING midstream urine × 3 CONSECUTIVE DAYS",
"(Mycobacteria shed intermittently — 3 samples increases sensitivity)",
"Centrifuge LARGE volume (50-100 mL) at high speed to concentrate",
"Prepare thin smear from sediment; air-dry; heat-fix",
"Flood with carbol fuchsin; heat until steam rises — 5 minutes",
"Cool; wash; acid-alcohol decolorize (3% HCl) — 2-3 min; wash",
"Counterstain methylene blue — 1-2 min; wash; blot dry",
"Examine 100x oil; grade by WHO criteria",
];
zuSteps.forEach((st,i) => stepDot(s, i+1, st, 0.28, 1.4+i*0.5, 4.55, C.urine));
// Right — ZN vs hot vs cold comparison
colHdr(s, 5.0, 1.05, 4.73, 0.32, "ZN HOT vs KINYOUN COLD — Comparison", C.urine);
tbl(s,
["Feature","ZN (Hot)","Kinyoun (Cold)"],
[
["Heat required","YES — steam required","NO"],
["Primary target","Mycobacteria (AFB)","Coccidian oocysts"],
["Decolorizer","Acid-alcohol (3% HCl)","Acid-alcohol (1% HCl)"],
["Counterstain","Methylene blue","Malachite green"],
["Sensitivity for AFB","Gold standard","Less sensitive for AFB"],
["Used in","Sputum, urine, gastric","Stool, BAL"],
],
5.0, 1.4, 4.73, [1.5, 1.62, 1.61]
);
// Alert + result
s.addShape(pres.shapes.RECTANGLE, {x:0.28, y:5.42, w:9.45, h:0.3, fill:{color:"F3EEF8"}, line:{color:C.urine,width:0.75}});
s.addText("RESULTS — AFB = PINK-RED rods on BLUE background | 3 early morning urines must be submitted for renal TB diagnosis",
{x:0.36, y:5.42, w:9.28, h:0.3, fontSize:9, color:C.urine, bold:true, valign:"middle"});
}
// ════════════════════════════════════════════
// SLIDE 12 — MASTER COMPARISON TABLE
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "Master Comparison — All Stains, All Three Tracts (RGUHS Exam)", C.navy);
tbl(s,
["Stain","Principle","Reagents (in order)","Result","Tract(s)","★ RGUHS"],
[
["Wet Mount","Direct motility/morphology","Saline / Diluted Lugol's iodine","Motile protozoa; cysts (iodine)","GI, Urine","★★★"],
["Gram Stain","Cell wall thickness (peptidoglycan)","Crystal violet → Iodine → EtOH → Safranin","G+ = purple | G− = pink","ALL 3","★★★★★"],
["ZN (Hot)","Mycolic acid; acid-fastness","Carbol fuchsin (+heat) → Acid-alcohol → Methylene blue","AFB = pink-red | Bg = blue","GI, Resp, Urine","★★★★★"],
["Kinyoun (Cold)","Acid-fastness; oocysts","Carbol fuchsin → Acid-alcohol → Malachite green","Oocysts = pink-red | Bg = blue-green","GI, BAL","★★★"],
["Trichrome (Wheatley)","Differential dye affinity","EtOH-iodine → Trichrome → Acid-EtOH → Xylene","Protozoa = blue-green/purple | Bg = green","GI","★★★★"],
["Auramine-Phenol","Fluorochrome binds mycolic acid","Auramine → Acid-alcohol → KMnO₄","AFB = yellow-green (fluorescence)","Resp","★★★"],
["GMS","Methenamine silver on cell walls","Oxidize → Methenamine silver → Light green","Fungi/PCP = black | Bg = green","Resp","★★"],
["Pap Stain","Differential cytoplasm staining","Hematoxylin → Orange G → Eosin Azure","Nuclei = blue | Cytoplasm = pink","Resp, Urine","★★"],
],
0.18, 1.12, 9.64, [1.5, 1.6, 2.35, 1.65, 1.0, 1.54]
);
}
// ════════════════════════════════════════════
// SLIDE 13 — EXAM QUESTIONS + MEMORY AIDS
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.off);
hdr(s, "RGUHS Exam Questions & Memory Aids", C.navy);
// Left — exam questions
colHdr(s, 0.28, 1.05, 5.3, 0.32, "IMPORTANT RGUHS EXAM QUESTIONS", C.navy);
card(s, 0.28, 1.4, 5.3, 3.9);
s.addText("LONG ANSWER (10 marks):", {x:0.38, y:1.46, w:5.1, h:0.3, fontSize:10, bold:true, color:C.resp});
const lq = [
"• Smear preparation and Gram staining of sputum with results",
"• Describe ZN staining — principle, procedure, results",
"• Specimen collection, smear prep and staining for respiratory tract infections",
];
lq.forEach((q,i) => s.addText(q, {x:0.38, y:1.78+i*0.36, w:5.1, h:0.34, fontSize:9.5, color:C.text}));
s.addText("SHORT ANSWER (5 marks):", {x:0.38, y:2.9, w:5.1, h:0.3, fontSize:10, bold:true, color:C.resp});
const sq = [
"• Wheatley trichrome stain | • Modified Kinyoun stain",
"• Bartlett criteria for sputum quality",
"• Kass criteria for significant bacteriuria",
"• WHO grading of ZN smear | • Auramine vs ZN",
];
sq.forEach((q,i) => s.addText(q, {x:0.38, y:3.22+i*0.35, w:5.1, h:0.33, fontSize:9.5, color:C.text}));
s.addText("VERY SHORT ANSWER (2 marks):", {x:0.38, y:4.66, w:5.1, h:0.28, fontSize:10, bold:true, color:C.resp});
s.addText("• Reagents of Gram stain in order • Why heat in ZN? • What does 1 org/OIF mean in urine? • Two permanent stains for fecal specimens",
{x:0.38, y:4.96, w:5.1, h:0.3, fontSize:9, color:C.text});
// Right — memory aids
colHdr(s, 5.75, 1.05, 3.98, 0.32, "MEMORY AIDS", C.navy);
const aids = [
{title:"Gram Stain — \"CIDS\"", body:"Crystal violet → Iodine → Decolorize → Safranin"},
{title:"ZN Stain — \"CAM\"", body:"Carbol fuchsin (+heat) → Acid-alcohol → Methylene blue"},
{title:"UTI Organisms — \"KEEPS\"", body:"Klebsiella, E. coli, Enterococcus, Pseudomonas, Staph"},
{title:"Kass Criteria", body:"10⁵/mL (MSCC) | 10³/mL (catheter) | Any (SPA)"},
{title:"Bartlett Criteria", body:"<10 squamous cells + >25 PMNs per LPF"},
{title:"ZN vs Kinyoun", body:"ZN = HOT (steam); Kinyoun = COLD (no heat)"},
];
aids.forEach((a,i) => {
const y = 1.4 + i*0.69;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, {x:5.75, y, w:3.98, h:0.65, fill:{color:i%2===0?C.navy:"142850"}, line:{color:C.teal,width:0.75}, rectRadius:0.1});
s.addText(a.title, {x:5.83, y:y+0.02, w:3.82, h:0.26, fontSize:9.5, bold:true, color:C.yellow});
s.addText(a.body, {x:5.83, y:y+0.28, w:3.82, h:0.3, fontSize:9, color:C.silver});
});
}
// ════════════════════════════════════════════
// SLIDE 14 — CONCLUSION / KEY TAKEAWAYS
// ════════════════════════════════════════════
{
const s = pres.addSlide();
bg(s, C.navy);
s.addShape(pres.shapes.RECTANGLE, {x:0, y:4.5, w:"100%", h:1.125, fill:{color:C.teal}, line:{color:C.teal,width:0}});
s.addShape(pres.shapes.RECTANGLE, {x:0, y:3.65, w:"100%", h:0.07, fill:{color:C.yellow}, line:{color:C.yellow,width:0}});
s.addText("KEY POINTS TO REMEMBER", {x:0.5, y:0.2, w:9, h:0.62, fontSize:26, bold:true, color:C.teal, align:"center", charSpacing:4});
const pts = [
{n:"1",t:"Smear QUALITY = thin, even, properly fixed. Thick smears are the most common error in the lab."},
{n:"2",t:"GRAM STAIN is first-line for ALL three tracts. Sequence: CIDS (Crystal violet → Iodine → Decolorize → Safranin)."},
{n:"3",t:"GI: Wet mount (motility) + Trichrome (protozoa) + Modified Kinyoun (Cryptosporidium/Cyclospora/Isospora)."},
{n:"4",t:"RESPIRATORY: Check sputum quality (Bartlett criteria). ZN = CAM (steam required). Auramine is more sensitive but must confirm with ZN."},
{n:"5",t:"URINARY: Centrifuge 10 mL at 2000 rpm. Wet mount IMMEDIATELY for Trichomonas. Kass: ≥10⁵ CFU/mL = significant bacteriuria."},
{n:"6",t:"RENAL TB: 3 early morning urines × 3 consecutive days. Large volume centrifugation to concentrate AFB."},
];
pts.forEach((p,i) => {
const col = i%2; const row = Math.floor(i/2);
const x = 0.3 + col*4.87; const y = 1.0 + row*1.06;
s.addShape(pres.shapes.OVAL, {x, y, w:0.36, h:0.36, fill:{color:C.yellow}, line:{color:C.yellow,width:0}});
s.addText(p.n, {x, y, w:0.36, h:0.36, fontSize:11, bold:true, color:C.navy, align:"center", valign:"middle", margin:0});
s.addText(p.t, {x:x+0.44, y:y+0.02, w:4.22, h:0.88, fontSize:9.5, color:C.silver, fontFace:"Calibri", valign:"top"});
});
s.addText("3rd B.Sc. MLT | RGUHS Microbiology II | Specimen Processing & Staining", {x:0.5, y:4.6, w:9, h:0.44, fontSize:11, color:C.navy, align:"center", italic:true, bold:true, valign:"middle"});
}
// ── WRITE ─────────────────────────────────
pres.writeFile({fileName:"/home/daytona/workspace/rguhs-ppt/RGUHS_3rd_BSc_MLT_Smear_and_Staining.pptx"})
.then(()=>console.log("✅ Done!"))
.catch(e=>console.error("❌",e));
cd /home/daytona/workspace/rguhs-ppt && node create_rguhs_ppt.js
ls -lh /home/daytona/workspace/rguhs-ppt/
RGUHS 3rd BSc MLT Smear and Staining
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title — 3rd BSc MLT RGUHS branding |
| 2 | Unit overview + What is a smear + 7 universal steps |
| 3 | GI specimens table + Direct Wet Mount (step-by-step) |
| 4 | Concentration technique + Wheatley Trichrome (procedure table) |
| 5 | Modified Kinyoun stain — principle, reagents, steps, results |
| 6 | Respiratory specimens + Sputum smear prep + Bartlett criteria |
| 7 | Gram stain — principle, CIDS sequence, procedure, organism results |
| 8 | Ziehl-Neelsen — CAM sequence, WHO grading, ZN vs Auramine |
| 9 | Urinary tract specimens + 2-method smear prep |
| 10 | Wet mount findings (Trichomonas, casts) + Gram stain organisms + Kass criteria |
| 11 | ZN for renal TB + ZN Hot vs Kinyoun Cold comparison table |
| 12 | Master comparison table — all stains, all tracts (RGUHS exam ready) |
| 13 | RGUHS exam questions (10/5/2 marks) + memory aids (CIDS, CAM, KEEPS) |
| 14 | Key takeaways — 6 must-remember points |
Tip on downloading: Right-click the link above → "Save link as..." on a desktop browser (Chrome/Firefox works best).
Its the topic under pathology
RGUHS 3rd BSc MLT Pathology II syllabus smear preparation staining GI respiratory urinary tract histopathology cytology
https://www.gitam.edu/sites/default/files/syllabus/BSc_Medic…
RGUHS BSc MLT pathology smear preparation staining Papanicolaou HE MGG respiratory urinary GI tract exfoliative cytology
~/rguhs-path-ppt/create_path_ppt.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Smear Preparation and Staining - Pathology - 3rd BSc MLT RGUHS";
const C = {
navy: "0B2545",
teal: "0E7C7C",
white: "FFFFFF",
off: "F0F4F8",
silver: "C8D6E5",
text: "1A1A2E",
gi: "1A6B3A",
resp: "A63D00",
urine: "55178A",
yellow: "F4C430",
purple: "6A0DAD",
ltgray: "E8EEF4",
fix: "1A4A7A",
};
function bg(s,c){ s.addShape(pres.shapes.RECTANGLE,{x:0,y:0,w:"100%",h:"100%",fill:{color:c},line:{color:c,width:0}}); }
function hdr(s,t,c){
s.addShape(pres.shapes.RECTANGLE,{x:0,y:0,w:"100%",h:1.0,fill:{color:c},line:{color:c,width:0}});
s.addShape(pres.shapes.RECTANGLE,{x:0,y:0,w:0.18,h:5.625,fill:{color:C.yellow},line:{color:C.yellow,width:0}});
s.addText(t,{x:0.28,y:0.08,w:9.5,h:0.85,fontSize:21,bold:true,color:C.white,fontFace:"Calibri",valign:"middle",margin:0});
}
function colHdr(s,x,y,w,h,t,c){
s.addShape(pres.shapes.RECTANGLE,{x,y,w,h,fill:{color:c},line:{color:c,width:0}});
s.addText(t,{x,y,w,h,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
}
function stepDot(s,n,t,x,y,w,ac){
s.addShape(pres.shapes.OVAL,{x:x+0.05,y:y+0.07,w:0.29,h:0.29,fill:{color:ac},line:{color:ac,width:0}});
s.addText(String(n),{x:x+0.05,y:y+0.07,w:0.29,h:0.29,fontSize:8.5,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
s.addText(t,{x:x+0.4,y:y+0.08,w:w-0.48,h:0.36,fontSize:9.5,color:C.text,fontFace:"Calibri",valign:"middle"});
}
function tbl(s,headers,rows,x,y,w,colW){
const data=[];
data.push(headers.map(h=>({text:h,options:{bold:true,color:C.white,fill:C.navy,fontSize:9,align:"center",valign:"middle"}})));
rows.forEach((r,i)=>data.push(r.map(cell=>({text:cell,options:{color:C.text,fill:i%2===0?C.off:C.white,fontSize:8.5,valign:"middle"}}))));
s.addTable(data,{x,y,w,colW,rowH:0.33,border:{type:"solid",color:C.silver,pt:0.5}});
}
function resultRow(s,x,y,w,label,val,ac,i){
s.addShape(pres.shapes.RECTANGLE,{x,y,w,h:0.34,fill:{color:i%2===0?C.off:C.white},line:{color:C.silver,width:0.5}});
s.addShape(pres.shapes.RECTANGLE,{x,y,w:0.18,h:0.34,fill:{color:ac},line:{color:ac,width:0}});
s.addText(label,{x:x+0.24,y:y+0.02,w:w*0.42,h:0.3,fontSize:9,bold:true,color:C.text});
s.addText(val,{x:x+0.24+w*0.42,y:y+0.02,w:w*0.52,h:0.3,fontSize:9,color:C.text,italic:true});
}
// ── SLIDE 1: TITLE ────────────────────────────────────
{
const s=pres.addSlide();
bg(s,C.navy);
s.addShape(pres.shapes.RECTANGLE,{x:0,y:3.5,w:"100%",h:0.07,fill:{color:C.teal},line:{color:C.teal,width:0}});
s.addShape(pres.shapes.RECTANGLE,{x:0,y:3.58,w:"100%",h:0.04,fill:{color:C.yellow},line:{color:C.yellow,width:0}});
s.addText("SMEAR PREPARATION",{x:0.5,y:0.4,w:9,h:0.82,fontSize:38,bold:true,color:C.white,align:"center",charSpacing:3,fontFace:"Calibri"});
s.addText("& STAINING PROCEDURES",{x:0.5,y:1.2,w:9,h:0.72,fontSize:32,bold:true,color:C.teal,align:"center",charSpacing:2,fontFace:"Calibri"});
s.addShape(pres.shapes.ROUNDED_RECTANGLE,{x:2.7,y:2.08,w:4.6,h:1.18,fill:{color:"102040"},line:{color:C.teal,width:1.5},rectRadius:0.12});
s.addText("3rd B.Sc. MLT | RGUHS\nPathology — Cytopathology\n(Exfoliative Cytology)",{x:2.7,y:2.08,w:4.6,h:1.18,align:"center",valign:"middle",
fontSize:12,bold:true,color:C.yellow,fontFace:"Calibri"});
const pills=[{l:"GASTROINTESTINAL",c:C.gi,x:0.4},{l:"RESPIRATORY TRACT",c:C.resp,x:3.65},{l:"URINARY TRACT",c:C.urine,x:6.9}];
pills.forEach(p=>{
s.addShape(pres.shapes.ROUNDED_RECTANGLE,{x:p.x,y:3.68,w:2.75,h:0.55,fill:{color:p.c},line:{color:p.c,width:0},rectRadius:0.27});
s.addText(p.l,{x:p.x,y:3.68,w:2.75,h:0.55,fontSize:9,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
});
s.addText("Stains Covered: Papanicolaou (Pap) | May-Grünwald Giemsa (MGG) | Haematoxylin & Eosin (H&E)",{x:0.5,y:4.9,w:9,h:0.35,fontSize:10,color:C.silver,align:"center",italic:true});
}
// ── SLIDE 2: EXFOLIATIVE CYTOLOGY + FIXATION ─────────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"Exfoliative Cytology — Introduction & Fixation",C.navy);
colHdr(s,0.28,1.05,4.55,0.32,"EXFOLIATIVE CYTOLOGY",C.navy);
const defPoints=[
["Definition","Microscopic study of cells shed spontaneously or scraped from body surfaces/cavities"],
["Types","(1) Exfoliative — spontaneously shed (sputum, urine, vaginal secretion)\n(2) Interventional — collected by procedure (brushing, washing, FNAC)"],
["Advantages","Non-invasive, rapid, inexpensive, repeatable"],
["Disadvantages","Cannot assess tissue architecture; sampling errors possible"],
["Specimens","Sputum, urine, gastric washings, brushings, body fluids, cervical smear"],
];
defPoints.forEach(([k,v],i)=>{
const y=1.4+i*0.72;
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y,w:4.55,h:0.7,fill:{color:i%2===0?C.off:C.white},line:{color:C.silver,width:0.5}});
s.addText(k,{x:0.36,y:y+0.02,w:4.38,h:0.26,fontSize:9.5,bold:true,color:C.navy});
s.addText(v,{x:0.36,y:y+0.28,w:4.38,h:0.38,fontSize:9,color:C.text,valign:"top"});
});
colHdr(s,5.0,1.05,4.73,0.32,"FIXATION — TYPES & USES",C.fix);
tbl(s,
["Fixative","Type","Used For"],
[
["95% Ethyl alcohol","Wet fixation","Pap stain (gold standard)"],
["Equal parts 95% EtOH + Ether","Wet fixation","Papanicolaou original fixative"],
["Spray fixative (Cytosprep)","Wet fixation","Field use — Pap stain"],
["Air drying","Dry fixation","MGG stain — MUST air dry"],
["Absolute methanol","Dry/wet","MGG, H&E smears"],
],
5.0,1.4,4.73,[1.8,1.35,1.58]
);
s.addShape(pres.shapes.RECTANGLE,{x:5.0,y:4.48,w:4.73,h:0.64,fill:{color:"EBF4FF"},line:{color:C.fix,width:0.75}});
s.addText("KEY RULE:\n• WET fixation (alcohol) = Pap & H&E → fix BEFORE drying\n• AIR DRYING = MGG → must dry BEFORE staining\n⚠ Wrong fixation = RUINED smear!",
{x:5.08,y:4.48,w:4.58,h:0.64,fontSize:9.5,color:C.fix,fontFace:"Calibri",valign:"top",bold:true});
}
// ── SLIDE 3: RESPIRATORY SPECIMENS + SMEAR PREP ───────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"Respiratory Tract — Specimens & Smear Preparation",C.resp);
colHdr(s,0.28,1.05,4.55,0.32,"RESPIRATORY SPECIMENS (Cytology)",C.resp);
tbl(s,
["Specimen","Collection","Purpose"],
[
["Sputum","Deep cough after rinsing mouth; early morning (×3 for TB)","Malignancy, infection, TB"],
["Bronchial washing","Saline via bronchoscope; aspirated","Peripheral lung lesions"],
["Bronchial brushing","Brush via bronchoscope; smear direct","Bronchial carcinoma"],
["BAL","60-120 mL saline via bronchoscope","PCP, TB, infections, ILD"],
["Pleural fluid","Thoracentesis aspirate","Effusions, malignancy"],
],
0.28,1.4,4.55,[1.35,1.8,1.4]
);
colHdr(s,5.0,1.05,4.73,0.32,"SPUTUM SMEAR PREPARATION",C.resp);
const rsteps=[
"Handle in Class II biosafety cabinet (infectious aerosol risk)",
"Select the MOST PURULENT / blood-stained portion using applicator sticks",
"Spread THINLY and EVENLY on 2-3 glass slides (circular or longitudinal)",
"For PAP: Fix IMMEDIATELY in 95% ethanol (before it dries)",
"For MGG: Allow to AIR DRY completely at room temperature",
"Label slides with patient ID, date, specimen type",
"For BAL/washings: Centrifuge 1500-2000 rpm × 10 min; use sediment OR cytospin",
];
rsteps.forEach((st,i)=>stepDot(s,i+1,st,5.0,1.4+i*0.54,4.73,C.resp));
s.addShape(pres.shapes.RECTANGLE,{x:5.0,y:5.2,w:4.73,h:0.3,fill:{color:"FFF3E0"},line:{color:C.resp,width:0.75}});
s.addText("⚠ Cytocentrifuge (cytospin) gives a monolayer — preferred for washings/BAL; better cellular morphology",
{x:5.08,y:5.2,w:4.58,h:0.3,fontSize:8.5,color:C.resp,bold:true,valign:"middle"});
}
// ── SLIDE 4: PAP STAIN PROCEDURE ─────────────────────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"Papanicolaou (Pap) Stain — Principle, Procedure & Results",C.navy);
// Principle banner
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.05,w:9.45,h:0.42,fill:{color:"EBF4FF"},line:{color:C.navy,width:0.5}});
s.addText("PRINCIPLE: Multi-chromatic stain with 5 dyes in 3 solutions. Hematoxylin stains nuclei. OG-6 stains keratin/cornified cells. EA (Eosin Azure) stains cytoplasm polychromatically. Wet fixation (95% ethanol) ESSENTIAL — preserves nuclear detail.",
{x:0.36,y:1.05,w:9.28,h:0.42,fontSize:9.5,color:C.text,valign:"middle"});
// Procedure table
colHdr(s,0.28,1.52,6.5,0.32,"PROCEDURE (Steps)",C.navy);
tbl(s,
["Step","Reagent","Time","Purpose"],
[
["1","Rehydrate: 80%→70%→50% ethanol","2 min each","Remove fixative"],
["2","Harris HEMATOXYLIN","3-6 min","Stains nuclei blue-black"],
["3","Water rinse","2 min","Removes excess stain"],
["4","Acid-alcohol (1% HCl in 70% EtOH)","6-10 dips","Differentiation"],
["5","Scott's tap water / ammonia water (0.5%)","1-2 min","BLUING — nuclei turn blue"],
["6","50%→70%→80%→95% ethanol","2 min each","Dehydration"],
["7","ORANGE G-6 (OG-6)","2-3 min","Stains keratin orange"],
["8","95% ethanol ×2","2 min each","Rinse OG"],
["9","EOSIN AZURE (EA-36/EA-50)","3-5 min","Cytoplasm polychrome"],
["10","95%→100% ethanol ×2 → Xylene ×2","2 min each","Dehydrate, Clear"],
["11","Mount with DPX + coverslip","—","Permanent mount"],
],
0.28,1.87,6.5,[0.35,2.55,1.1,2.5]
);
// Results panel
colHdr(s,6.95,1.52,2.78,0.32,"RESULTS",C.navy);
const res=[["Nuclei","Blue-black"],["Superficial cells","Orange/pink (OG-6)"],["Intermediate cells","Green-blue (EA)"],["Parabasal/metaplastic","Green (light green)"],
["Malignant cells","Hyperchromatic, irregular nuclei"],["RBCs","Orange-red"],["Mucus","Pale green"],["Keratin","Deep orange"]];
res.forEach((r,i)=>{
const y=1.87+i*0.38;
s.addShape(pres.shapes.RECTANGLE,{x:6.95,y,w:2.78,h:0.36,fill:{color:i%2===0?C.off:C.white},line:{color:C.silver,width:0.5}});
s.addText(r[0],{x:7.02,y:y+0.01,w:2.64,h:0.18,fontSize:8.5,bold:true,color:C.navy});
s.addText("→ "+r[1],{x:7.02,y:y+0.19,w:2.64,h:0.14,fontSize:8,color:C.text,italic:true});
});
s.addShape(pres.shapes.ROUNDED_RECTANGLE,{x:0.28,y:4.88,w:6.5,h:0.6,fill:{color:C.navy},line:{color:C.navy,width:0},rectRadius:0.1});
s.addText("MEMORY AID — Pap Reagents: \"H-A-B-OG-EA\" → Hematoxylin → Acid-alcohol → Bluing → OG-6 → Eosin Azure",
{x:0.38,y:4.88,w:6.3,h:0.6,fontSize:11,bold:true,color:C.yellow,align:"center",valign:"middle"});
}
// ── SLIDE 5: MGG STAIN ───────────────────────────────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"May-Grünwald Giemsa (MGG) Stain — Procedure & Results",C.navy);
// Principle
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.05,w:9.45,h:0.38,fill:{color:"EBF4FF"},line:{color:C.navy,width:0.5}});
s.addText("PRINCIPLE: Romanowsky-type stain. Methylene blue (basic dye) stains acidic components (nuclei, RNA) blue/purple. Eosin (acidic dye) stains basic components (haemoglobin, eosinophil granules) pink/red. AIR-DRIED SMEARS only.",
{x:0.36,y:1.05,w:9.28,h:0.38,fontSize:9.5,color:C.text,valign:"middle"});
colHdr(s,0.28,1.48,5.4,0.32,"PROCEDURE (Step-by-Step)",C.purple);
const mggSteps=[
"Smear must be AIR-DRIED completely (CRITICAL — wet smear gives poor results)",
"Fix in ABSOLUTE METHANOL — 3-5 minutes",
"MAY-GRÜNWALD stain (undiluted) — 3 minutes",
"Add EQUAL VOLUME of phosphate buffer (pH 6.8) to dilute stain on slide — 1 minute",
"Wash off with phosphate buffer",
"GIEMSA stain (diluted 1:20 in phosphate buffer pH 6.8) — 15-20 minutes",
"Wash off with distilled water or buffer",
"Air dry completely; mount with DPX + coverslip",
"Examine 40x then 100x oil immersion",
];
mggSteps.forEach((st,i)=>stepDot(s,i+1,st,0.28,1.83+i*0.415,5.4,C.purple));
// Results + comparison with Pap
colHdr(s,5.85,1.48,3.88,0.32,"RESULTS (MGG)",C.purple);
const mggRes=[["Nuclei","Purple-blue / violet"],["Basophilic cytoplasm","Blue"],["Eosinophilic cytoplasm","Pink-red"],
["Eosinophil granules","Bright red-orange"],["Neutrophil granules","Purple"],["RBCs","Pink"],["Mucus/background","Pale pink"],["Lymphocytes","Deep purple nucleus"]];
mggRes.forEach((r,i)=>{
const y=1.83+i*0.41;
s.addShape(pres.shapes.RECTANGLE,{x:5.85,y,w:3.88,h:0.39,fill:{color:i%2===0?C.off:C.white},line:{color:C.silver,width:0.5}});
s.addText(r[0],{x:5.92,y:y+0.01,w:3.72,h:0.18,fontSize:8.5,bold:true,color:C.purple});
s.addText("→ "+r[1],{x:5.92,y:y+0.2,w:3.72,h:0.16,fontSize:8,color:C.text,italic:true});
});
s.addShape(pres.shapes.ROUNDED_RECTANGLE,{x:0.28,y:5.0,w:9.45,h:0.48,fill:{color:"F5F0FF"},line:{color:C.purple,width:0.75},rectRadius:0.08});
s.addText("KEY: MGG = AIR DRY first → then fix in methanol | PAP = Fix in 95% ethanol FIRST (before drying) | MGG best for FNAC, lymphoma, background material",
{x:0.38,y:5.0,w:9.25,h:0.48,fontSize:9.5,bold:true,color:C.purple,align:"center",valign:"middle"});
}
// ── SLIDE 6: H&E STAIN ───────────────────────────────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"Haematoxylin & Eosin (H&E) Stain — Procedure & Results",C.navy);
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.05,w:9.45,h:0.38,fill:{color:"EBF4FF"},line:{color:C.navy,width:0.5}});
s.addText("PRINCIPLE: Haematoxylin (basic dye) stains acidic components (DNA/RNA in nucleus) BLUE. Eosin Y (acidic dye) stains basic components (cytoplasm, collagen, RBCs) PINK/RED. Used for BOTH histological tissue sections AND cytological smears.",
{x:0.36,y:1.05,w:9.28,h:0.38,fontSize:9.5,color:C.text,valign:"middle"});
colHdr(s,0.28,1.48,5.4,0.32,"H&E PROCEDURE FOR CYTOLOGICAL SMEAR",C.fix);
const heSteps=[
"Fix in 95% ETHANOL — 15 minutes (wet fixation)",
"Rinse with distilled water",
"HARRIS HEMATOXYLIN — 3-5 minutes",
"Water rinse — 2 minutes",
"Acid-alcohol differentiation (1% HCl) — few dips",
"Water rinse; SCOTT'S TAP WATER or ammonia (bluing) — 1-2 min",
"Water rinse; 70% → 95% ethanol (dehydration)",
"EOSIN Y (1% aqueous or alcoholic) — 2-3 minutes",
"95% → 100% ethanol (×2) — dehydration",
"XYLENE (×2) — clearing; mount with DPX",
];
heSteps.forEach((st,i)=>stepDot(s,i+1,st,0.28,1.83+i*0.38,5.4,C.fix));
colHdr(s,5.85,1.48,3.88,0.32,"RESULTS (H&E)",C.fix);
const heRes=[["Nuclei","Blue / dark purple (haematoxylin)"],["Cytoplasm","Pink / red (eosin)"],["RBCs","Bright red/orange"],["Mucus","Pale pink"],["Keratin","Deep pink"],
["Collagen fibers","Pink"],["Muscle","Deep pink (darker than collagen)"],["Malignant cells","Hyperchromatic nuclei, increased N:C"]];
heRes.forEach((r,i)=>{
const y=1.83+i*0.41;
s.addShape(pres.shapes.RECTANGLE,{x:5.85,y,w:3.88,h:0.39,fill:{color:i%2===0?C.off:C.white},line:{color:C.silver,width:0.5}});
s.addText(r[0],{x:5.92,y:y+0.01,w:3.72,h:0.18,fontSize:8.5,bold:true,color:C.fix});
s.addText("→ "+r[1],{x:5.92,y:y+0.2,w:3.72,h:0.16,fontSize:8,color:C.text,italic:true});
});
s.addShape(pres.shapes.ROUNDED_RECTANGLE,{x:0.28,y:5.0,w:9.45,h:0.48,fill:{color:"EBF4FF"},line:{color:C.fix,width:0.75},rectRadius:0.08});
s.addText("H&E used for BOTH histological sections (tissue) AND cytological smears | Nuclei = BLUE | Cytoplasm = PINK — simple 2-color rule",
{x:0.38,y:5.0,w:9.25,h:0.48,fontSize:10,bold:true,color:C.fix,align:"center",valign:"middle"});
}
// ── SLIDE 7: GI TRACT ────────────────────────────────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"Gastrointestinal Tract — Specimens & Smear Preparation",C.gi);
colHdr(s,0.28,1.05,4.55,0.32,"GI TRACT SPECIMENS (Cytology)",C.gi);
tbl(s,
["Specimen","Source","Purpose"],
[
["Gastric washings","Stomach via endoscope/NG tube","Gastric carcinoma, H. pylori"],
["Oesophageal brushings","Oesophagus via endoscope","Carcinoma, Barrett's oesophagus"],
["Colonic/rectal brushing","Colonoscope","Colorectal carcinoma"],
["Ascitic fluid","Peritoneal cavity (aspiration)","Peritoneal metastases"],
["Liver FNAC","US-guided needle","Liver malignancy"],
],
0.28,1.4,4.55,[1.6,1.6,1.35]
);
colHdr(s,5.0,1.05,4.73,0.32,"SMEAR PREPARATION — GI SPECIMENS",C.gi);
const giSteps=[
"GASTRIC WASHING / FLUID: Centrifuge 1500-2000 rpm × 10 min",
"Discard supernatant; use the SEDIMENT",
"Prepare 2-3 smears from sediment — spread thinly",
"Fix IMMEDIATELY in 95% ethanol (Pap) OR air-dry (MGG)",
"BRUSHING specimens: Roll brush directly onto glass slides",
"Fix or air-dry IMMEDIATELY — cells transfer off brush rapidly",
"Cell block: Centrifuge → clot with plasma-thrombin → formalin fix → process like tissue → H&E section",
];
giSteps.forEach((st,i)=>stepDot(s,i+1,st,5.0,1.4+i*0.53,4.73,C.gi));
// Key findings card
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:4.42,w:4.55,h:1.05,fill:{color:"E8F5EE"},line:{color:C.gi,width:0.75}});
s.addText("KEY CYTOLOGICAL FINDINGS IN GI:\n• Normal: Honeycomb pattern of gastric epithelial cells\n• Malignancy: ↑ N:C ratio, hyperchromasia, irregular nuclear membrane, prominent nucleoli\n• H. pylori: Curved rods on Giemsa stain (background)",
{x:0.36,y:4.42,w:4.38,h:1.05,fontSize:9,color:C.gi,fontFace:"Calibri",valign:"top"});
}
// ── SLIDE 8: URINARY TRACT ───────────────────────────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"Urinary Tract — Specimens & Smear Preparation",C.urine);
colHdr(s,0.28,1.05,4.55,0.32,"URINARY TRACT SPECIMENS (Cytology)",C.urine);
tbl(s,
["Specimen","Collection","Purpose"],
[
["Voided urine","Clean catch, 2nd morning void","TCC screening, infection"],
["Bladder washing","Catheter/cystoscope instil+aspirate saline","Higher cellularity; TCC"],
["Ureteric specimen","Ureteric catheterization","Upper tract lesions"],
["Prostatic massage","Post-massage urine/secretion","Prostate carcinoma"],
["Renal pelvis brushing","Ureteroscopy","Renal pelvic carcinoma"],
],
0.28,1.4,4.55,[1.6,1.65,1.3]
);
colHdr(s,5.0,1.05,4.73,0.32,"URINE SMEAR PREPARATION",C.urine);
const uSteps=[
"Collect 2nd MORNING VOID (NOT first — overnight cells degenerate)",
"CENTRIFUGE 1500-2000 rpm × 10 minutes",
"Discard supernatant; leave ~0.5-1 mL; resuspend sediment",
"Transfer drops to glass slides; SPREAD THINLY",
"Fix IMMEDIATELY in 95% ETHANOL (urine cells degenerate very rapidly!)",
"OR use CYTOCENTRIFUGE (cytospin) — monolayer — PREFERRED for urine",
"Stain with PAP (routine gold standard), H&E, or MGG",
];
uSteps.forEach((st,i)=>stepDot(s,i+1,st,5.0,1.4+i*0.535,4.73,C.urine));
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:4.42,w:4.55,h:1.05,fill:{color:"F3EEF8"},line:{color:C.urine,width:0.75}});
s.addText("KEY CYTOLOGICAL FINDINGS IN URINE:\n• Normal: Umbrella cells (large superficial transitional cells)\n• Malignancy (TCC): ↑ N:C ratio, hyperchromasia, irregular nuclear membrane\n• Decoy cells: BK polyomavirus / CMV (nuclear viral inclusions)\n• Inflammatory cells → Cystitis / UTI",
{x:0.36,y:4.42,w:4.38,h:1.05,fontSize:9,color:C.urine,fontFace:"Calibri",valign:"top"});
s.addShape(pres.shapes.RECTANGLE,{x:5.0,y:5.25,w:4.73,h:0.28,fill:{color:"F3EEF8"},line:{color:C.urine,width:0.75}});
s.addText("⚠ PAP stain is GOLD STANDARD for urine cytology — excellent nuclear detail + transparent cytoplasm",
{x:5.08,y:5.25,w:4.58,h:0.28,fontSize:9,color:C.urine,bold:true,valign:"middle"});
}
// ── SLIDE 9: THREE STAINS COMPARISON ─────────────────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"Pap vs. MGG vs. H&E — Comparison Table (RGUHS Exam)",C.navy);
tbl(s,
["Feature","PAP STAIN","MGG STAIN","H&E STAIN"],
[
["Fixation","Wet — 95% ethanol IMMEDIATE","AIR DRYING (before staining)","Wet — 95% ethanol"],
["Nuclear detail","★★★★★ EXCELLENT","★★★ Good","★★★★ Very good"],
["Cytoplasmic detail","★★★★ Very good","★★★★★ EXCELLENT","★★★ Moderate"],
["Transparency","Transparent (overlapping cells readable)","Coloured background","Moderate"],
["Best for","All tracts, gynae smears, malignancy","FNAC, lymphoma, haematology","Histology sections + cytology"],
["Nuclei colour","BLUE-BLACK (hematoxylin)","PURPLE-BLUE/VIOLET","BLUE/DARK PURPLE"],
["Cytoplasm colour","GREEN (EA) / ORANGE (OG-6) / PINK","BLUE (basophilic) / PINK (eosinophilic)","PINK (eosin Y)"],
["Keratin","ORANGE (OG-6)","Pink-red","Deep pink"],
["Gold standard","Urine + Gynaecological cytology","FNAC smears","Histopathology"],
["Staining duration","~1.5-2 hours (multiple steps)","~25-30 min (faster)","~45 min"],
],
0.25,1.12,9.5,[2.0,2.5,2.5,2.5]
);
s.addShape(pres.shapes.ROUNDED_RECTANGLE,{x:0.25,y:4.7,w:9.5,h:0.72,fill:{color:C.navy},line:{color:C.navy,width:0},rectRadius:0.1});
s.addText("KEY RULE: WET FIX → Pap & H&E | AIR DRY → MGG\nPap = BEST nuclear detail | MGG = BEST cytoplasm/background | H&E = Tissue AND cytology (dual purpose)",
{x:0.35,y:4.7,w:9.3,h:0.72,fontSize:11.5,bold:true,color:C.yellow,align:"center",valign:"middle"});
}
// ── SLIDE 10: CYTOLOGICAL FINDINGS ALL 3 TRACTS ───────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"Cytological Findings — All Three Tracts (What to See in Exam)",C.navy);
const cols=[
{title:"RESPIRATORY TRACT",col:C.resp,x:0.28,w:3.1,items:[
["Normal cells","Bronchial columnar cells with cilia; mucous cells; alveolar macrophages"],
["Squamous metaplasia","Polygonal cells with dense cytoplasm — precancerous change"],
["Squamous cell carcinoma","Abnormal squamous cells; keratin pearls; tadpole/fibre cells"],
["Adenocarcinoma","Glandular cells; acinar/papillary pattern; mucin vacuoles"],
["Malignant features","↑ N:C ratio; hyperchromasia; irregular nuclear membrane; prominent nucleoli"],
["Pulmonary macrophages","Phagocytic cells with ingested particles; seen in smokers (carbon)"],
]},
{title:"GASTROINTESTINAL TRACT",col:C.gi,x:3.52,w:3.1,items:[
["Normal gastric cells","Honeycomb pattern; columnar with basal nucleus"],
["H. pylori","Curved rods on Giemsa; on surface of epithelial cells"],
["Gastric carcinoma","Single cells or clusters; high N:C ratio; signet ring cells (mucin vacuole pushing nucleus)"],
["Colorectal carcinoma","Columnar cells; dirty necrotic background (Ziegler's necrosis)"],
["Normal colonic cells","Tall columnar cells with goblet cells"],
["Inflammatory cells","Neutrophils, lymphocytes in ulcerative colitis/infection"],
]},
{title:"URINARY TRACT",col:C.urine,x:6.76,w:3.0,items:[
["Umbrella cells","Large superficial transitional cells with eosinophilic cytoplasm — NORMAL"],
["TCC (low grade)","Mild nuclear enlargement; slight hyperchromasia"],
["TCC (high grade)","Marked ↑ N:C; irregular nuclear contour; coarse chromatin; prominent nucleoli"],
["Decoy cells (BK virus)","Smudgy 'owl-eye' nuclear inclusion — BK polyomavirus"],
["CMV cytopathic effect","Large cell; intranuclear 'owl-eye' inclusion; cytoplasmic inclusions"],
["Squamous cells","Contamination from vaginal flora (females)"],
]},
];
cols.forEach(col=>{
s.addShape(pres.shapes.RECTANGLE,{x:col.x,y:1.05,w:col.w,h:0.32,fill:{color:col.col},line:{color:col.col,width:0}});
s.addText(col.title,{x:col.x,y:1.05,w:col.w,h:0.32,fontSize:8.5,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
col.items.forEach((it,i)=>{
const y=1.4+i*0.69;
s.addShape(pres.shapes.RECTANGLE,{x:col.x,y,w:col.w,h:0.67,fill:{color:i%2===0?C.off:C.white},line:{color:C.silver,width:0.5}});
s.addText(it[0],{x:col.x+0.06,y:y+0.02,w:col.w-0.1,h:0.22,fontSize:9,bold:true,color:col.col});
s.addText(it[1],{x:col.x+0.06,y:y+0.24,w:col.w-0.1,h:0.38,fontSize:8.5,color:C.text,valign:"top"});
});
});
}
// ── SLIDE 11: EXAM QUESTIONS + MEMORY AIDS ────────────
{
const s=pres.addSlide();
bg(s,C.off);
hdr(s,"RGUHS Exam Questions & Memory Aids — Pathology",C.navy);
colHdr(s,0.28,1.05,5.3,0.32,"RGUHS EXAM QUESTIONS — PATHOLOGY",C.navy);
s.addShape(pres.shapes.RECTANGLE,{x:0.28,y:1.4,w:5.3,h:3.78,fill:{color:C.white},line:{color:C.silver,width:0.75},shadow:{type:"outer",color:"000000",blur:5,offset:2,angle:135,opacity:0.08}});
s.addText("LONG ANSWER (10 marks):",{x:0.38,y:1.46,w:5.1,h:0.28,fontSize:10,bold:true,color:C.resp});
const lq=["• Describe smear preparation and Pap staining of sputum specimen — principle, procedure, results","• Describe collection, smear preparation and staining of urine for cytological examination","• Compare Papanicolaou stain with MGG stain under — principle, fixation, procedure, results","• Processing of specimens in cytology laboratory — GI, respiratory, urinary tract"];
lq.forEach((q,i)=>s.addText(q,{x:0.38,y:1.76+i*0.35,w:5.1,h:0.33,fontSize:9.5,color:C.text}));
s.addText("SHORT ANSWER (5 marks):",{x:0.38,y:3.22,w:5.1,h:0.28,fontSize:10,bold:true,color:C.resp});
const sq=["• Fixatives used in cytology — types and uses","• Wet vs. dry fixation — differences and uses","• Cytocentrifuge (cytospin) — principle, procedure, advantages","• Urinary sediment cytology — collection and processing","• Normal cells in Pap-stained sputum smear"];
sq.forEach((q,i)=>s.addText(q,{x:0.38,y:3.52+i*0.33,w:5.1,h:0.31,fontSize:9.5,color:C.text}));
s.addText("VSA (2 marks):",{x:0.38,y:5.17,w:5.1,h:0.24,fontSize:10,bold:true,color:C.resp});
s.addText("• 3 components of EA stain • Decoy cells in urine • Difference wet/dry fixation • 2 respiratory cytology specimens",
{x:0.38,y:5.42,w:5.1,h:0.3,fontSize:9,color:C.text});
colHdr(s,5.75,1.05,3.98,0.32,"MEMORY AIDS",C.navy);
const aids=[
{t:"Pap Reagents","b":"H-A-B-OG-EA\n(Haem → Acid-alcohol → Bluing → OG-6 → Eosin Azure)"},
{t:"Pap Colours: \"BOP\"","b":"B=Black nuclei | O=Orange superficial | P=Pink cytoplasm"},
{t:"Wet Fix = Pap & H&E","b":"Fix BEFORE drying — 95% ethanol IMMEDIATELY"},
{t:"Dry Fix = MGG","b":"Air dry COMPLETELY first — then methanol fix"},
{t:"Best nuclear detail","b":"Pap > H&E > MGG"},
{t:"Best cytoplasm/background","b":"MGG > Pap > H&E"},
];
aids.forEach((a,i)=>{
const y=1.4+i*0.69;
s.addShape(pres.shapes.ROUNDED_RECTANGLE,{x:5.75,y,w:3.98,h:0.65,fill:{color:i%2===0?C.navy:"142850"},line:{color:C.teal,width:0.75},rectRadius:0.1});
s.addText(a.t,{x:5.83,y:y+0.02,w:3.82,h:0.24,fontSize:9.5,bold:true,color:C.yellow});
s.addText(a.b,{x:5.83,y:y+0.26,w:3.82,h:0.34,fontSize:9,color:C.silver});
});
}
// ── SLIDE 12: KEY TAKEAWAYS ───────────────────────────
{
const s=pres.addSlide();
bg(s,C.navy);
s.addShape(pres.shapes.RECTANGLE,{x:0,y:4.5,w:"100%",h:1.125,fill:{color:C.teal},line:{color:C.teal,width:0}});
s.addShape(pres.shapes.RECTANGLE,{x:0,y:3.65,w:"100%",h:0.07,fill:{color:C.yellow},line:{color:C.yellow,width:0}});
s.addText("KEY POINTS TO REMEMBER",{x:0.5,y:0.2,w:9,h:0.62,fontSize:26,bold:true,color:C.teal,align:"center",charSpacing:4});
const pts=[
{n:"1",t:"FIXATION is the first and most critical step — wrong fixation = ruined smear. Pap/H&E = WET (alcohol). MGG = AIR DRY."},
{n:"2",t:"PAP STAIN — best nuclear detail; gold standard for urine and respiratory cytology. 5 dyes in 3 solutions. Sequence: H-A-B-OG-EA."},
{n:"3",t:"MGG STAIN — best for cytoplasm and background material; excellent for FNAC, lymphoma. Air-dry smear BEFORE staining."},
{n:"4",t:"H&E — Nuclei = BLUE, Cytoplasm = PINK. Used for both tissue sections and cytological smears."},
{n:"5",t:"RESPIRATORY: Select purulent portion; fix immediately; cytocentrifuge for washings/BAL. Bronchial brushings smeared directly."},
{n:"6",t:"URINARY: 2nd morning void; centrifuge; fix IMMEDIATELY (cells degenerate fast). Decoy cells = BK virus. Umbrella cells = normal urothelium."},
];
pts.forEach((p,i)=>{
const col=i%2; const row=Math.floor(i/2);
const x=0.3+col*4.87; const y=1.0+row*1.06;
s.addShape(pres.shapes.OVAL,{x,y,w:0.36,h:0.36,fill:{color:C.yellow},line:{color:C.yellow,width:0}});
s.addText(p.n,{x,y,w:0.36,h:0.36,fontSize:11,bold:true,color:C.navy,align:"center",valign:"middle",margin:0});
s.addText(p.t,{x:x+0.44,y:y+0.02,w:4.22,h:0.88,fontSize:9.5,color:C.silver,fontFace:"Calibri",valign:"top"});
});
s.addText("3rd B.Sc. MLT | RGUHS Pathology | Cytopathology — Smear Preparation & Staining",
{x:0.5,y:4.62,w:9,h:0.42,fontSize:11,color:C.navy,align:"center",italic:true,bold:true,valign:"middle"});
}
// ── WRITE ─────────────────────────────────────────────
pres.writeFile({fileName:"/home/daytona/workspace/rguhs-path-ppt/RGUHS_Pathology_Smear_Staining_3rdMLT.pptx"})
.then(()=>console.log("✅ Done!"))
.catch(e=>console.error("❌",e));
cd /home/daytona/workspace/rguhs-path-ppt && node create_path_ppt.js
ls -lh /home/daytona/workspace/rguhs-path-ppt/
RGUHS Pathology Smear Staining 3rdMLT
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title — Pathology, Cytopathology, RGUHS branding |
| 2 | Exfoliative cytology introduction + Fixation types (wet vs. dry) |
| 3 | Respiratory tract — specimens + sputum smear preparation |
| 4 | Pap stain — principle, full procedure table (H-A-B-OG-EA), results |
| 5 | MGG stain — principle, step-by-step procedure, results |
| 6 | H&E stain — principle, procedure, results |
| 7 | GI tract — specimens + smear preparation + cytological findings |
| 8 | Urinary tract — specimens + smear preparation + cytological findings |
| 9 | Pap vs. MGG vs. H&E — full comparison table |
| 10 | Cytological findings — all 3 tracts (normal + malignant features) |
| 11 | RGUHS exam questions (10/5/2 marks) + memory aids |
| 12 | Key takeaways |
To download: Right-click the link → "Save link as..." on Chrome/Firefox desktop browser.
I can't download
cd /home/daytona/workspace/rguhs-path-ppt && libreoffice --headless --convert-to…
cp /home/daytona/workspace/rguhs-path-ppt/RGUHS_Pathology_Smear_Staining_3rdMLT.…
mv /home/daytona/Smear_Staining_Pathology.pdf /home/daytona/workspace/rguhs-path…
Smear Staining Pathology
PDF Document · PDF
Smear Staining Pathology
Presentation · PPTX
| Problem | Fix |
|---|---|
| On a phone | Open this chat in Chrome on a desktop/laptop |
| Link opens but doesn't download | Right-click → "Save link as..." |
| Download blocked silently | Look for a blocked download icon in your browser's address bar |
| Using in-app browser (WhatsApp, Instagram, etc.) | Tap "Open in Chrome/Safari" option |
| Nothing happens at all | Try Firefox instead of Chrome |