Patient has primary peritoneal cancer with ca ovarian. Patient age -51 yr. Hight 151 weight -60 kg . S.creatinine - 0.8 . Ca 125- 320, LFT - NORMAL.
| AUC Target | Indication | Dose (mg) |
|---|---|---|
| AUC 5 | 1st line with Paclitaxel (standard) | 5 × (78.8 + 25) = 519 mg |
| AUC 6 | 1st line (some protocols) | 6 × (78.8 + 25) = 623 mg |
| AUC 4 | Reduced intensity / dose-dense | 4 × (78.8 + 25) = 415 mg |
| Drug | Dose |
|---|---|
| Paclitaxel | 278 mg IV (AUC not applicable) |
| Carboplatin | 519 mg IV (AUC 5) |
Paclitaxel not continue. Inj. Gemcitabine
| AUC | Clinical Context | Dose |
|---|---|---|
| AUC 4 | Gemcitabine combination (standard) | 4 × (78.8 + 25) = 415 mg |
| AUC 5 | If used as single agent | 519 mg |
For Carboplatin + Gemcitabine doublet, AUC 4 is the standard target to reduce hematologic toxicity.
| Day | Drug | Dose | Infusion |
|---|---|---|---|
| Day 1 | Gemcitabine | 1500 mg IV | Over 30 min |
| Day 1 | Carboplatin | 415 mg IV (AUC 4) | Over 30-60 min (after Gem) |
| Day 8 | Gemcitabine | 1500 mg IV | Over 30 min |
| Day 8 | Carboplatin | — | Not given on Day 8 |
Repeat every 21 days x 6 cycles
| Day | Drug | Dose |
|---|---|---|
| Day 1 | Gemcitabine 1000 mg/m² + Carboplatin AUC 4 | Gem 1587 mg + Carbo 415 mg |
| Day 8 | Gemcitabine 1000 mg/m² | 1587 mg only |
| Day 15 | REST | — |
| Day 28 | Start next cycle |
| Drug | Dose |
|---|---|
| Gemcitabine | 1500 mg IV over 30 min |
| Carboplatin | 415 mg IV over 30-60 min (after Gemcitabine) |
Inj. Beviruzun
Beviruzun injection ovarian cancer dosing bevacizumab biosimilar
bevacizumab ovarian cancer carboplatin gemcitabine dosing
Standard dose for platinum-sensitive recurrent ovarian / primary peritoneal cancer with Carboplatin + Gemcitabine is 15 mg/kg every 3 weeks (per FDA-approved labeling).
| Day | Drug | Dose | Infusion Notes |
|---|---|---|---|
| Day 1 | Gemcitabine | 1500 mg IV | Over 30 min |
| Day 1 | Carboplatin | 415 mg IV (AUC 4) | Over 30-60 min, after Gemcitabine |
| Day 1 | Bevacizumab | 900 mg IV | 1st dose: over 90 min; 2nd dose: over 60 min; subsequent: over 30 min |
| Day 8 | Gemcitabine | 1500 mg IV | Over 30 min only |
| Cycle | Infusion Duration |
|---|---|
| Cycle 1 (first dose) | 90 minutes - observe for infusion reaction |
| Cycle 2 | 60 minutes - if Cycle 1 tolerated |
| Cycle 3 onwards | 30 minutes - if Cycle 2 tolerated |
| Drug | Dose | Frequency |
|---|---|---|
| Gemcitabine | 1500 mg IV | Day 1 + Day 8 of each 21-day cycle |
| Carboplatin | 415 mg IV (AUC 4) | Day 1 only |
| Bevacizumab | 900 mg IV (15 mg/kg) | Day 1 only |
If "Beviruzun" is a different molecule entirely (not Bevacizumab), please share the full brand/generic name or manufacturer so I can provide the exact dosing.
I gave bevacizumab 400 mg only
| Dose | mg/kg equivalent (60 kg) | Evidence base |
|---|---|---|
| 900 mg | 15 mg/kg | Standard - FDA approved for ovarian/peritoneal ca + Carbo/Gem |
| 450 mg | 7.5 mg/kg | Used in ICON7 trial (1st line with Carbo/Paclitaxel) |
| 400 mg | 6.67 mg/kg | Not a standard dose for this indication |
| Action | Details |
|---|---|
| Document | Record actual dose given (400 mg) in case notes |
| Do NOT re-dose mid-cycle to "top up" | No evidence supports supplemental dosing |
| Next cycle (Day 1, Cycle 2) | Administer full correct dose of 900 mg |
| Review prescribing/dispensing process | Prevent recurrence of dose error |
| Inform treating oncologist | For documentation and oversight |
For all subsequent cycles: Bevacizumab 900 mg IV on Day 1 every 21 days. The 400 mg given this cycle should be noted as a reduced first dose, and full dosing resumed from Cycle 2 onwards.
Should we recalculate carboplatin/gemcitabine doses for Cycle 2?
| Parameter | Cycle 1 | Cycle 2 |
|---|---|---|
| Weight | 60 kg | Reweigh on Day 1 |
| BSA | 1.587 m² | Recalculate if weight changed |
| Dose (1000 mg/m²) | 1500 mg | Adjust only if BSA changes |
| If new S.Creatinine | Estimated CrCl | Carboplatin AUC 4 |
|---|---|---|
| 0.8 (unchanged) | 78.8 mL/min | 415 mg (same) |
| 1.0 | 63 mL/min | 352 mg |
| 1.2 | 52.5 mL/min | 310 mg |
| 1.5 | 42 mL/min | 268 mg |
Carboplatin MUST be recalculated before every cycle - this is standard practice, not optional.
| Weight | Bevacizumab dose |
|---|---|
| 60 kg | 900 mg |
| 58 kg | 870 mg |
| 62 kg | 930 mg |
| Check | Threshold to proceed | Action if abnormal |
|---|---|---|
| ANC | ≥ 1500/mm³ | Delay 1 week |
| Platelets | ≥ 100,000/mm³ | Delay 1 week |
| Hemoglobin | ≥ 8 g/dL | Transfuse if symptomatic |
| S. Creatinine | Recalculate CrCl | Adjust Carboplatin dose |
| LFT | Should be normal | Adjust Gemcitabine if elevated |
| Urine protein | Dipstick < 2+ | If 2+, do 24-hr urine before Bevacizumab |
| Blood pressure | < 150/100 mmHg | Control BP before Bevacizumab |
| Weight | Reweigh | Recalculate BSA + Bevacizumab |
| Drug | Recalculate each cycle? | Based on |
|---|---|---|
| Carboplatin | YES - mandatory | Fresh S. Creatinine → CrCl |
| Gemcitabine | Only if weight changes >5% | Weight → BSA |
| Bevacizumab | Yes, weight-based | Current weight (kg) |
Generate a summary document with all 3 drugs, doses, and monitoring parameters to share with the patient/team
mkdir -p /home/daytona/workspace/chemo-summary && ls /home/daytona/workspace/che…
~/chemo-summary/generate.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
HeadingLevel, AlignmentType, BorderStyle, WidthType, ShadingType,
VerticalAlign, Header, Footer, PageNumber, NumberFormat, UnderlineType
} = require('docx');
const fs = require('fs');
// ── Helpers ──────────────────────────────────────────────────────────────────
const BLUE = "1F4E79";
const LBLUE = "D6E4F0";
const ORANGE = "C55A11";
const LGRAY = "F2F2F2";
const WHITE = "FFFFFF";
const RED = "C00000";
const GREEN = "375623";
function hCell(text, bg = BLUE, color = WHITE, bold = true, width = null) {
const cell = new TableCell({
shading: { type: ShadingType.CLEAR, fill: bg },
verticalAlign: VerticalAlign.CENTER,
margins: { top: 80, bottom: 80, left: 120, right: 120 },
children: [new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text, bold, color, size: 18, font: "Calibri" })]
})],
...(width ? { width: { size: width, type: WidthType.DXA } } : {})
});
return cell;
}
function dCell(text, bg = WHITE, bold = false, color = "000000", align = AlignmentType.LEFT) {
return new TableCell({
shading: { type: ShadingType.CLEAR, fill: bg },
verticalAlign: VerticalAlign.CENTER,
margins: { top: 70, bottom: 70, left: 120, right: 120 },
children: [new Paragraph({
alignment: align,
children: [new TextRun({ text, bold, color, size: 18, font: "Calibri" })]
})]
});
}
function sectionHeading(text) {
return new Paragraph({
spacing: { before: 240, after: 100 },
children: [new TextRun({
text, bold: true, color: BLUE, size: 24, font: "Calibri",
underline: { type: UnderlineType.SINGLE, color: BLUE }
})]
});
}
function bullet(text, bold = false) {
return new Paragraph({
bullet: { level: 0 },
spacing: { after: 60 },
children: [new TextRun({ text, size: 18, font: "Calibri", bold })]
});
}
function note(text) {
return new Paragraph({
spacing: { before: 80, after: 80 },
children: [new TextRun({ text, size: 16, font: "Calibri", italics: true, color: "595959" })]
});
}
function spacer() {
return new Paragraph({ spacing: { after: 120 }, children: [new TextRun("")] });
}
// ── Document ──────────────────────────────────────────────────────────────────
const doc = new Document({
styles: {
default: {
document: {
run: { font: "Calibri", size: 20 }
}
}
},
sections: [{
properties: {
page: { margin: { top: 900, bottom: 900, left: 1000, right: 1000 } }
},
headers: {
default: new Header({
children: [
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 60 },
children: [
new TextRun({ text: "CHEMOTHERAPY TREATMENT SUMMARY", bold: true, size: 26, color: WHITE, font: "Calibri" })
],
shading: { type: ShadingType.CLEAR, fill: BLUE }
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 40 },
children: [
new TextRun({ text: "Primary Peritoneal Cancer + Ovarian Cancer | Carboplatin + Gemcitabine + Bevacizumab", size: 18, color: "595959", font: "Calibri" })
]
})
]
})
},
footers: {
default: new Footer({
children: [new Paragraph({
alignment: AlignmentType.CENTER,
children: [
new TextRun({ text: "Generated: July 2026 | Page ", size: 16, color: "595959", font: "Calibri" }),
new TextRun({ children: [PageNumber.CURRENT], size: 16, color: "595959", font: "Calibri" }),
new TextRun({ text: " of ", size: 16, color: "595959", font: "Calibri" }),
new TextRun({ children: [PageNumber.TOTAL_PAGES], size: 16, color: "595959", font: "Calibri" }),
new TextRun({ text: " | For clinical use only — verify before each cycle", size: 16, color: "595959", font: "Calibri" })
]
})]
})
},
children: [
// ─── Patient Details ───────────────────────────────────────────────────
spacer(),
sectionHeading("1. PATIENT DETAILS"),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({ children: [
hCell("Parameter", BLUE, WHITE), hCell("Value", BLUE, WHITE), hCell("Parameter", BLUE, WHITE), hCell("Value", BLUE, WHITE)
]}),
new TableRow({ children: [
dCell("Age", LGRAY, true), dCell("51 years"), dCell("Diagnosis", LGRAY, true), dCell("Primary Peritoneal Cancer + CA Ovary")
]}),
new TableRow({ children: [
dCell("Weight", LGRAY, true), dCell("60 kg"), dCell("CA-125", LGRAY, true), dCell("320 U/mL")
]}),
new TableRow({ children: [
dCell("Height", LGRAY, true), dCell("151 cm"), dCell("LFT", LGRAY, true), dCell("Normal")
]}),
new TableRow({ children: [
dCell("BSA (Mosteller)", LGRAY, true), dCell("1.587 m²"), dCell("S. Creatinine", LGRAY, true), dCell("0.8 mg/dL")
]}),
new TableRow({ children: [
dCell("CrCl (C-G formula)", LGRAY, true), dCell("78.8 mL/min"), dCell("Regimen Start", LGRAY, true), dCell("July 2026")
]}),
]
}),
// ─── Regimen Overview ─────────────────────────────────────────────────
spacer(),
sectionHeading("2. CHEMOTHERAPY REGIMEN"),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Regimen: Carboplatin (AUC 4) + Gemcitabine (1000 mg/m²) + Bevacizumab (15 mg/kg) | Cycle: Every 21 days | Duration: 6-10 cycles, then Bevacizumab maintenance", size: 18, font: "Calibri", bold: false, color: "000000" })]
}),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({ children: [
hCell("Drug", BLUE, WHITE), hCell("Calculated Dose", BLUE, WHITE), hCell("Day 1", BLUE, WHITE), hCell("Day 8", BLUE, WHITE), hCell("Infusion Duration", BLUE, WHITE)
]}),
new TableRow({ children: [
dCell("Gemcitabine", LGRAY, true, "000000"), dCell("1500 mg\n(1000 mg/m² × 1.587 m²)"), dCell("✓", WHITE, true, GREEN, AlignmentType.CENTER), dCell("✓", WHITE, true, GREEN, AlignmentType.CENTER), dCell("30 minutes")
]}),
new TableRow({ children: [
dCell("Carboplatin", LGRAY, true, "000000"), dCell("415 mg\n(AUC 4 × [78.8+25])"), dCell("✓", WHITE, true, GREEN, AlignmentType.CENTER), dCell("✗", WHITE, true, RED, AlignmentType.CENTER), dCell("30-60 minutes (after Gemcitabine)")
]}),
new TableRow({ children: [
dCell("Bevacizumab", LGRAY, true, "000000"), dCell("900 mg\n(15 mg/kg × 60 kg)"), dCell("✓", WHITE, true, GREEN, AlignmentType.CENTER), dCell("✗", WHITE, true, RED, AlignmentType.CENTER), dCell("Cycle 1: 90 min → Cycle 2: 60 min → Cycle 3+: 30 min")
]}),
]
}),
spacer(),
note("⚠ Cycle 1 Note: Bevacizumab was administered at 400 mg (reduced dose). Full dose of 900 mg to be given from Cycle 2 onwards. Document in patient record."),
// ─── Administration Order ─────────────────────────────────────────────
spacer(),
sectionHeading("3. ADMINISTRATION ORDER (Day 1)"),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({ children: [hCell("Step", BLUE, WHITE), hCell("Drug", BLUE, WHITE), hCell("Dose", BLUE, WHITE), hCell("Route / Duration", BLUE, WHITE)]}),
new TableRow({ children: [dCell("1", LGRAY, true, BLUE, AlignmentType.CENTER), dCell("Pre-medications", LGRAY, true), dCell("Antiemetics, dexamethasone, antihistamine"), dCell("IV — per protocol")]}),
new TableRow({ children: [dCell("2", LGRAY, true, BLUE, AlignmentType.CENTER), dCell("Gemcitabine"), dCell("1500 mg in 250 mL NS"), dCell("IV over 30 min")]}),
new TableRow({ children: [dCell("3", LGRAY, true, BLUE, AlignmentType.CENTER), dCell("Carboplatin"), dCell("415 mg in 250 mL D5W / NS"), dCell("IV over 30-60 min")]}),
new TableRow({ children: [dCell("4", LGRAY, true, BLUE, AlignmentType.CENTER), dCell("Bevacizumab"), dCell("900 mg in 100 mL NS"), dCell("IV over 90/60/30 min (cycle-dependent)")]}),
]
}),
note("Day 8: Gemcitabine 1500 mg only (Carboplatin and Bevacizumab NOT given on Day 8)"),
// ─── Dose Recalculation ───────────────────────────────────────────────
spacer(),
sectionHeading("4. DOSE RECALCULATION BEFORE EACH CYCLE"),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({ children: [hCell("Drug", BLUE, WHITE), hCell("Recalculate?", BLUE, WHITE), hCell("Formula", BLUE, WHITE), hCell("Trigger", BLUE, WHITE)]}),
new TableRow({ children: [dCell("Carboplatin", LGRAY, true), dCell("YES — Every cycle", WHITE, true, RED), dCell("AUC 4 × (CrCl + 25)"), dCell("Fresh S.Creatinine on Day 1 of each cycle")]}),
new TableRow({ children: [dCell("Gemcitabine", LGRAY, true), dCell("Only if weight changes >5%"), dCell("1000 mg/m² × BSA"), dCell("Reweigh on Day 1")]}),
new TableRow({ children: [dCell("Bevacizumab", LGRAY, true), dCell("Yes — weight-based"), dCell("15 mg/kg × current weight"), dCell("Reweigh on Day 1")]}),
]
}),
// ─── Monitoring Parameters ────────────────────────────────────────────
spacer(),
sectionHeading("5. PRE-CYCLE MONITORING CHECKLIST (Day 1 of Each Cycle)"),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({ children: [hCell("Parameter", BLUE, WHITE), hCell("Required Value to Proceed", BLUE, WHITE), hCell("Action if Abnormal", BLUE, WHITE)]}),
new TableRow({ children: [dCell("ANC", LGRAY, true), dCell("≥ 1500 /mm³"), dCell("Delay 1 week; reassess")]}),
new TableRow({ children: [dCell("Platelets", LGRAY, true), dCell("≥ 100,000 /mm³"), dCell("Delay 1 week; reassess")]}),
new TableRow({ children: [dCell("Hemoglobin", LGRAY, true), dCell("≥ 8 g/dL"), dCell("Transfuse if symptomatic; may proceed if PS stable")]}),
new TableRow({ children: [dCell("S. Creatinine", LGRAY, true), dCell("Recheck — recalculate CrCl"), dCell("Adjust Carboplatin dose accordingly")]}),
new TableRow({ children: [dCell("LFT (AST/ALT/Bili)", LGRAY, true), dCell("≤ 2.5× ULN"), dCell("Delay Gemcitabine if significantly elevated")]}),
new TableRow({ children: [dCell("Urine Protein (dipstick)", LGRAY, true), dCell("< 2+"), dCell("If 2+: do 24-hr urine; hold Bevacizumab if >2 g/24h")]}),
new TableRow({ children: [dCell("Blood Pressure", LGRAY, true), dCell("< 150/100 mmHg"), dCell("Control BP before Bevacizumab; anti-hypertensives if needed")]}),
new TableRow({ children: [dCell("Weight", LGRAY, true), dCell("Reweigh each cycle"), dCell("Recalculate BSA and Bevacizumab dose")]}),
new TableRow({ children: [dCell("CA-125", LGRAY, true), dCell("Trend — not a stop criterion"), dCell("Discuss with oncologist if rising trend")]}),
]
}),
// ─── Toxicity Management ──────────────────────────────────────────────
spacer(),
sectionHeading("6. KEY TOXICITIES & MANAGEMENT"),
new Paragraph({ spacing: { after: 80 }, children: [new TextRun({ text: "Gemcitabine", bold: true, size: 20, color: ORANGE, font: "Calibri" })] }),
bullet("Myelosuppression (neutropenia, thrombocytopenia) — most common; check CBC on Day 8 before second dose"),
bullet("Fatigue, nausea, mild flu-like symptoms"),
bullet("Hepatotoxicity — monitor LFT each cycle"),
bullet("Day 8 dose: Hold if ANC < 1000 or Platelets < 100,000"),
new Paragraph({ spacing: { before: 100, after: 80 }, children: [new TextRun({ text: "Carboplatin", bold: true, size: 20, color: ORANGE, font: "Calibri" })] }),
bullet("Myelosuppression — nadir at Day 14-21; cumulative with repeated cycles"),
bullet("Nephrotoxicity — renal function may decline with cumulative doses; always recheck creatinine"),
bullet("Hypersensitivity reactions — more common after multiple cycles; have emergency drugs ready"),
bullet("Nausea/vomiting — premedicate with antiemetics"),
bullet("Peripheral neuropathy — less than cisplatin but monitor"),
new Paragraph({ spacing: { before: 100, after: 80 }, children: [new TextRun({ text: "Bevacizumab", bold: true, size: 20, color: ORANGE, font: "Calibri" })] }),
bullet("Hypertension — monitor BP every visit; start antihypertensives if needed"),
bullet("Proteinuria — urine dipstick before each dose; 24-hr urine if ≥2+"),
bullet("Wound healing impairment — hold 28 days before/after major surgery"),
bullet("Bowel perforation / fistula — rare but serious; stop permanently if occurs"),
bullet("Thromboembolic events (DVT, PE) — monitor for symptoms"),
bullet("Infusion-related reactions — observe during first infusion; emergency kit at bedside"),
bullet("Epistaxis, minor bleeding — common; report any major bleeding immediately"),
// ─── Dose Modification Guide ──────────────────────────────────────────
spacer(),
sectionHeading("7. DOSE MODIFICATION GUIDE"),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({ children: [hCell("Situation", BLUE, WHITE), hCell("Action", BLUE, WHITE)]}),
new TableRow({ children: [dCell("Grade 3-4 Neutropenia (ANC < 1000)", LGRAY, true), dCell("Delay until recovery; reduce Gemcitabine by 25% next cycle")]}),
new TableRow({ children: [dCell("Grade 3-4 Thrombocytopenia (< 50,000)", LGRAY, true), dCell("Delay until recovery; reduce Carboplatin to AUC 3 if recurrent")]}),
new TableRow({ children: [dCell("CrCl drops to 40-60 mL/min", LGRAY, true), dCell("Recalculate Carboplatin — dose will decrease automatically via Calvert")]}),
new TableRow({ children: [dCell("CrCl < 30 mL/min", LGRAY, true), dCell("Discuss with oncologist — consider alternative regimen")]}),
new TableRow({ children: [dCell("Urine Protein > 2 g/24h", LGRAY, true), dCell("Hold Bevacizumab; resume when protein < 2 g/24h")]}),
new TableRow({ children: [dCell("Uncontrolled Hypertension", LGRAY, true), dCell("Hold Bevacizumab until BP controlled")]}),
new TableRow({ children: [dCell("Hypersensitivity to Carboplatin", LGRAY, true), dCell("Stop infusion; desensitization protocol or switch agent")]}),
]
}),
// ─── Maintenance Phase ────────────────────────────────────────────────
spacer(),
sectionHeading("8. MAINTENANCE PHASE (After 6-10 Cycles)"),
bullet("Bevacizumab 900 mg IV every 21 days as single agent"),
bullet("Continue until disease progression or unacceptable toxicity"),
bullet("Monitor BP, urine protein, and CBC at each maintenance visit"),
bullet("CA-125 and imaging per oncologist's schedule (typically every 3-4 months)"),
// ─── Emergency Contacts ───────────────────────────────────────────────
spacer(),
sectionHeading("9. WHEN TO SEEK IMMEDIATE ATTENTION"),
new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({ children: [hCell("Symptom / Sign", RED, WHITE), hCell("Possible Cause", RED, WHITE)]}),
new TableRow({ children: [dCell("Fever > 38°C (especially with chills)", LGRAY, true), dCell("Febrile neutropenia — EMERGENCY")]}),
new TableRow({ children: [dCell("Severe abdominal pain / distension", LGRAY, true), dCell("Bowel perforation (Bevacizumab)")]}),
new TableRow({ children: [dCell("Sudden breathlessness / chest pain / leg swelling", LGRAY, true), dCell("Pulmonary embolism / DVT")]}),
new TableRow({ children: [dCell("Severe headache / blurred vision", LGRAY, true), dCell("Hypertensive urgency — Bevacizumab")]}),
new TableRow({ children: [dCell("Heavy bleeding from any site", LGRAY, true), dCell("Bevacizumab-related hemorrhage")]}),
new TableRow({ children: [dCell("Rash, hives, throat tightness during infusion", LGRAY, true), dCell("Anaphylaxis / infusion reaction")]}),
]
}),
// ─── Disclaimer ───────────────────────────────────────────────────────
spacer(),
new Paragraph({
spacing: { before: 200, after: 60 },
shading: { type: ShadingType.CLEAR, fill: "FFF2CC" },
children: [new TextRun({
text: "⚕ CLINICAL DISCLAIMER: This document is for clinical team reference only. All doses must be verified by a qualified oncologist and pharmacist before administration. Carboplatin dose MUST be recalculated at each cycle using a fresh serum creatinine.",
size: 16, font: "Calibri", bold: false, color: "7B5B00", italics: true
})]
}),
]
}]
});
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync("/home/daytona/workspace/chemo-summary/Chemo_Summary_PPC_Ovarian.docx", buffer);
console.log("Document created successfully.");
}).catch(err => {
console.error("Error:", err);
process.exit(1);
});
cd /home/daytona/workspace/chemo-summary && node generate.js 2>&1
python /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/worksp…
ls -lh /home/daytona/workspace/chemo-summary/Chemo_Summary_PPC_Ovarian.docx && p…
Chemo Summary PPC Ovarian
Word Document · DOCX
| Section | Contents |
|---|---|
| 1. Patient Details | Age, weight, height, BSA, CrCl, CA-125, diagnosis |
| 2. Chemotherapy Regimen | All 3 drugs, calculated doses, Day 1 vs Day 8 schedule |
| 3. Administration Order | Step-by-step infusion sequence with dilution details |
| 4. Dose Recalculation Rules | When and how to recalculate each drug each cycle |
| 5. Pre-Cycle Monitoring Checklist | CBC, renal, hepatic, BP, urine protein thresholds |
| 6. Key Toxicities | Drug-wise toxicity profile and management |
| 7. Dose Modification Guide | What to do for neutropenia, renal decline, proteinuria, etc. |
| 8. Maintenance Phase | Bevacizumab 900 mg q3w until progression |
| 9. Emergency Warning Signs | Red flag symptoms requiring immediate attention |
The Cycle 1 Bevacizumab underdose (400 mg given) is flagged as a clinical note in the document. Full 900 mg dose to resume from Cycle 2 is clearly stated.
I can't able to download file
cd /home/daytona/workspace/chemo-summary && python3 -c " import subprocess resul…
chmod 777 /home/daytona/workspace/chemo-summary/ && libreoffice --headless --con…
pip install --user reportlab 2>/dev/null | tail -1; python3 -c "from reportlab.l…
~/chemo-summary/make_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Table, TableStyle,
Spacer, HRFlowable)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
OUT = "/home/daytona/workspace/chemo-summary/Chemo_Summary_PPC_Ovarian.pdf"
# ── Colors ───────────────────────────────────────────────────────────────────
NAVY = colors.HexColor("#1F4E79")
LBLUE = colors.HexColor("#D6E4F0")
ORANGE = colors.HexColor("#C55A11")
LGRAY = colors.HexColor("#F2F2F2")
YELLOW = colors.HexColor("#FFF2CC")
RED = colors.HexColor("#C00000")
GREEN = colors.HexColor("#375623")
WHITE = colors.white
BLACK = colors.black
doc = SimpleDocTemplate(OUT, pagesize=A4,
leftMargin=1.8*cm, rightMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm)
styles = getSampleStyleSheet()
def S(name, **kw):
return ParagraphStyle(name, **kw)
title_s = S("T", fontSize=16, textColor=WHITE, backColor=NAVY,
alignment=TA_CENTER, spaceAfter=2, spaceBefore=4,
fontName="Helvetica-Bold", leading=22)
sub_s = S("Sub", fontSize=9, textColor=colors.HexColor("#595959"),
alignment=TA_CENTER, spaceAfter=6, fontName="Helvetica")
sec_s = S("Sec", fontSize=11, textColor=NAVY, fontName="Helvetica-Bold",
spaceBefore=12, spaceAfter=4, underlineWidth=0.5)
body_s = S("B", fontSize=8.5, fontName="Helvetica", spaceAfter=3, leading=12)
bold_s = S("Bd", fontSize=8.5, fontName="Helvetica-Bold", spaceAfter=3)
warn_s = S("W", fontSize=8, fontName="Helvetica-Oblique",
textColor=colors.HexColor("#7B5B00"), backColor=YELLOW,
spaceAfter=4, spaceBefore=4, leading=11, leftIndent=6, rightIndent=6)
bullet_s = S("Bu", fontSize=8.5, fontName="Helvetica", spaceAfter=2,
leftIndent=14, leading=12)
def hdr(txt):
return Paragraph(f"<u>{txt}</u>", sec_s)
def sp(h=6):
return Spacer(1, h)
def hr():
return HRFlowable(width="100%", thickness=0.5, color=NAVY, spaceAfter=4)
def bul(txt):
return Paragraph(f"• {txt}", bullet_s)
# Table styles
def base_ts(extra=None):
ts = [
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,-1), 8.5),
('BACKGROUND', (0,0), (-1,0), NAVY),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('ALIGN', (0,0), (-1,-1), 'LEFT'),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('ROWBACKGROUNDS', (0,1), (-1,-1), [WHITE, LGRAY]),
('GRID', (0,0), (-1,-1), 0.4, colors.HexColor("#BFBFBF")),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING', (0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 6),
('RIGHTPADDING', (0,0), (-1,-1), 6),
]
if extra:
ts.extend(extra)
return TableStyle(ts)
W = A4[0] - 3.6*cm # usable width
story = []
# ── Title ────────────────────────────────────────────────────────────────────
story.append(Paragraph("CHEMOTHERAPY TREATMENT SUMMARY", title_s))
story.append(Paragraph("Primary Peritoneal Cancer + Ovarian Cancer | Carboplatin + Gemcitabine + Bevacizumab", sub_s))
story.append(hr())
# ── 1. Patient Details ────────────────────────────────────────────────────────
story.append(hdr("1. PATIENT DETAILS"))
pt = Table([
["Parameter","Value","Parameter","Value"],
["Age","51 years","Diagnosis","Primary Peritoneal Cancer + CA Ovary"],
["Weight","60 kg","CA-125","320 U/mL"],
["Height","151 cm","LFT","Normal"],
["BSA (Mosteller)","1.587 m²","S. Creatinine","0.8 mg/dL"],
["CrCl (C-G)","78.8 mL/min","Regimen Start","July 2026"],
], colWidths=[W*0.2, W*0.3, W*0.2, W*0.3])
pt.setStyle(base_ts([
('FONTNAME',(0,1),(-1,-1),'Helvetica'),
('FONTNAME',(0,1),(0,-1),'Helvetica-Bold'),
('FONTNAME',(2,1),(2,-1),'Helvetica-Bold'),
]))
story += [pt, sp()]
# ── 2. Regimen ────────────────────────────────────────────────────────────────
story.append(hdr("2. CHEMOTHERAPY REGIMEN"))
story.append(Paragraph("Cycle: Every 21 days | Duration: 6-10 cycles, then Bevacizumab maintenance", body_s))
reg = Table([
["Drug","Calculated Dose","Day 1","Day 8","Infusion Duration"],
["Gemcitabine","1500 mg\n(1000 mg/m² × 1.587 m²)","✓","✓","30 minutes"],
["Carboplatin","415 mg\n(AUC 4 × [78.8+25])","✓","✗","30-60 min (after Gemcitabine)"],
["Bevacizumab","900 mg\n(15 mg/kg × 60 kg)","✓","✗","Cycle 1: 90 min → C2: 60 min → C3+: 30 min"],
], colWidths=[W*0.18, W*0.27, W*0.08, W*0.08, W*0.39])
reg.setStyle(base_ts([
('FONTNAME',(0,1),(0,-1),'Helvetica-Bold'),
('ALIGN',(2,0),(3,-1),'CENTER'),
('TEXTCOLOR',(2,1),(2,-1), GREEN),
('TEXTCOLOR',(3,2),(3,3), RED),
]))
story += [reg, sp(3)]
story.append(Paragraph("⚠ Cycle 1 Note: Bevacizumab was administered at 400 mg (reduced dose). Full dose of 900 mg to be given from Cycle 2 onwards. Document in patient record.", warn_s))
story.append(sp())
# ── 3. Administration Order ───────────────────────────────────────────────────
story.append(hdr("3. ADMINISTRATION ORDER — Day 1"))
adm = Table([
["Step","Drug","Dose","Route / Duration"],
["1","Pre-medications","Antiemetics, Dexamethasone, Antihistamine","IV — per protocol"],
["2","Gemcitabine","1500 mg in 250 mL NS","IV over 30 min"],
["3","Carboplatin","415 mg in 250 mL D5W / NS","IV over 30-60 min"],
["4","Bevacizumab","900 mg in 100 mL NS","IV — 90/60/30 min (cycle-dependent)"],
], colWidths=[W*0.06, W*0.2, W*0.38, W*0.36])
adm.setStyle(base_ts([('ALIGN',(0,0),(0,-1),'CENTER')]))
story += [adm, sp(3)]
story.append(Paragraph("Day 8: Gemcitabine 1500 mg only — Carboplatin and Bevacizumab NOT given on Day 8.", body_s))
story.append(sp())
# ── 4. Dose Recalculation ─────────────────────────────────────────────────────
story.append(hdr("4. DOSE RECALCULATION BEFORE EACH CYCLE"))
rec = Table([
["Drug","Recalculate?","Formula","Trigger"],
["Carboplatin","YES — Every cycle","AUC 4 × (CrCl + 25)","Fresh S.Creatinine on Day 1"],
["Gemcitabine","Only if weight changes >5%","1000 mg/m² × BSA","Reweigh on Day 1"],
["Bevacizumab","Yes — weight-based","15 mg/kg × current weight","Reweigh on Day 1"],
], colWidths=[W*0.18, W*0.25, W*0.3, W*0.27])
rec.setStyle(base_ts([
('FONTNAME',(0,1),(0,-1),'Helvetica-Bold'),
('TEXTCOLOR',(1,1),(1,1), RED),
('FONTNAME',(1,1),(1,1),'Helvetica-Bold'),
]))
story += [rec, sp()]
# ── 5. Monitoring ─────────────────────────────────────────────────────────────
story.append(hdr("5. PRE-CYCLE MONITORING CHECKLIST"))
mon = Table([
["Parameter","Required Value to Proceed","Action if Abnormal"],
["ANC","≥ 1500 /mm³","Delay 1 week; reassess"],
["Platelets","≥ 100,000 /mm³","Delay 1 week; reassess"],
["Hemoglobin","≥ 8 g/dL","Transfuse if symptomatic; may proceed if PS stable"],
["S. Creatinine","Recheck — recalculate CrCl","Adjust Carboplatin dose accordingly"],
["LFT (AST/ALT/Bili)","≤ 2.5× ULN","Delay Gemcitabine if significantly elevated"],
["Urine Protein","Dipstick < 2+","If 2+: 24-hr urine; hold Bevacizumab if >2 g/24h"],
["Blood Pressure","< 150/100 mmHg","Control BP before Bevacizumab"],
["Weight","Reweigh each cycle","Recalculate BSA and Bevacizumab dose"],
["CA-125","Trend monitoring","Discuss with oncologist if rising trend"],
], colWidths=[W*0.22, W*0.3, W*0.48])
mon.setStyle(base_ts([('FONTNAME',(0,1),(0,-1),'Helvetica-Bold')]))
story += [mon, sp()]
# ── 6. Toxicities ─────────────────────────────────────────────────────────────
story.append(hdr("6. KEY TOXICITIES & MANAGEMENT"))
story.append(Paragraph("Gemcitabine", S("GT", fontSize=9, fontName="Helvetica-Bold",
textColor=ORANGE, spaceAfter=2, spaceBefore=4)))
for t in ["Myelosuppression (neutropenia, thrombocytopenia) — most common; check CBC on Day 8",
"Fatigue, nausea, mild flu-like symptoms",
"Hepatotoxicity — monitor LFT each cycle",
"Hold Day 8 dose if ANC < 1000 or Platelets < 100,000"]:
story.append(bul(t))
story.append(Paragraph("Carboplatin", S("CT", fontSize=9, fontName="Helvetica-Bold",
textColor=ORANGE, spaceAfter=2, spaceBefore=6)))
for t in ["Myelosuppression — nadir at Day 14-21; cumulative with repeated cycles",
"Nephrotoxicity — always recheck creatinine before each cycle",
"Hypersensitivity — more common after multiple cycles; emergency drugs at bedside",
"Nausea/vomiting — premedicate with antiemetics"]:
story.append(bul(t))
story.append(Paragraph("Bevacizumab", S("BT", fontSize=9, fontName="Helvetica-Bold",
textColor=ORANGE, spaceAfter=2, spaceBefore=6)))
for t in ["Hypertension — monitor BP every visit; start antihypertensives if needed",
"Proteinuria — urine dipstick before each dose; 24-hr urine if ≥2+",
"Wound healing impairment — hold 28 days before/after major surgery",
"Bowel perforation/fistula — rare but serious; stop permanently if occurs",
"Thromboembolic events (DVT, PE) — monitor for symptoms",
"Epistaxis, minor bleeding — report any major bleeding immediately"]:
story.append(bul(t))
story.append(sp())
# ── 7. Dose Modification ──────────────────────────────────────────────────────
story.append(hdr("7. DOSE MODIFICATION GUIDE"))
dm = Table([
["Situation","Action"],
["Grade 3-4 Neutropenia (ANC < 1000)","Delay until recovery; reduce Gemcitabine by 25% next cycle"],
["Grade 3-4 Thrombocytopenia (< 50,000)","Delay; reduce Carboplatin to AUC 3 if recurrent"],
["CrCl drops to 40-60 mL/min","Recalculate Carboplatin — dose decreases via Calvert formula"],
["CrCl < 30 mL/min","Discuss with oncologist — consider alternative regimen"],
["Urine Protein > 2 g/24h","Hold Bevacizumab until protein < 2 g/24h"],
["Uncontrolled Hypertension","Hold Bevacizumab until BP controlled"],
["Hypersensitivity to Carboplatin","Stop infusion; desensitization or switch agent"],
], colWidths=[W*0.42, W*0.58])
dm.setStyle(base_ts([('FONTNAME',(0,1),(0,-1),'Helvetica-Bold')]))
story += [dm, sp()]
# ── 8. Maintenance ────────────────────────────────────────────────────────────
story.append(hdr("8. MAINTENANCE PHASE (After 6-10 Cycles)"))
for t in ["Bevacizumab 900 mg IV every 21 days as single agent",
"Continue until disease progression or unacceptable toxicity",
"Monitor BP, urine protein, and CBC at each maintenance visit",
"CA-125 and imaging per oncologist schedule (typically every 3-4 months)"]:
story.append(bul(t))
story.append(sp())
# ── 9. Emergency ──────────────────────────────────────────────────────────────
story.append(hdr("9. WHEN TO SEEK IMMEDIATE ATTENTION"))
em = Table([
["Symptom / Sign","Possible Cause"],
["Fever > 38°C (especially with chills)","Febrile neutropenia — EMERGENCY"],
["Severe abdominal pain / distension","Bowel perforation (Bevacizumab)"],
["Sudden breathlessness / chest pain / leg swelling","Pulmonary embolism / DVT"],
["Severe headache / blurred vision","Hypertensive urgency — Bevacizumab"],
["Heavy bleeding from any site","Bevacizumab-related hemorrhage"],
["Rash, hives, throat tightness during infusion","Anaphylaxis / infusion reaction"],
], colWidths=[W*0.55, W*0.45])
em.setStyle(base_ts([
('BACKGROUND',(0,0),(-1,0), RED),
('FONTNAME',(0,1),(0,-1),'Helvetica-Bold'),
('TEXTCOLOR',(0,1),(0,-1), RED),
]))
story += [em, sp()]
# ── Disclaimer ────────────────────────────────────────────────────────────────
story.append(hr())
story.append(Paragraph(
"⚕ CLINICAL DISCLAIMER: This document is for clinical team reference only. "
"All doses must be verified by a qualified oncologist and pharmacist before administration. "
"Carboplatin dose MUST be recalculated at each cycle using a fresh serum creatinine.",
warn_s))
doc.build(story)
print("PDF created:", OUT)
python3 /home/daytona/workspace/chemo-summary/make_pdf.py 2>&1 && ls -lh /home/d…
Chemo Summary PPC Ovarian
PDF Document · PDF
Chemo Summary PPC Ovarian
Word Document · DOCX
The Cycle 1 Bevacizumab underdose (400 mg given vs 900 mg required) is highlighted as a warning note in the document.
Explain me about this ECG
| Parameter | Value |
|---|---|
| Heart Rate | 62 bpm |
| Rhythm | Regular Sinus Rhythm |
| PR Interval | ~140-160 ms (Normal) |
| QRS Duration | Narrow < 100 ms (Normal) |
| QT/QTc | Normal for rate |
| Electrical Axis | Normal (positive in I and II) |
| Lead | Findings |
|---|---|
| I | Normal P, narrow QRS, upright T — no ST changes |
| II | Normal upright P, normal QRS, upright T — no ST changes |
| III | Small QRS, flat/slightly inverted T (normal variant) |
| aVR | Inverted P, negative QRS, inverted T — expected normal |
| aVL | Small QRS, flat low-amplitude T — no ST deviation |
| aVF | Normal upright P, positive QRS, upright T |
| V1 | Small r, deep S (rS pattern — normal); T wave inverted (see note below) |
| V2-V6 | Normal R-wave progression; upright T waves throughout; no ST changes |
| Finding | Status |
|---|---|
| Acute ST elevation (STEMI) | None |
| ST depression (ischemia) | None |
| Bundle branch block | None — QRS narrow |
| LVH (S-V1 + R-V5/V6) | Not met — voltages normal |
| RVH | None |
| Arrhythmia | None |
| Conduction delay | None |
NORMAL ECG - Normal sinus rhythm at 62 bpm, normal axis, normal intervals, no evidence of acute ischemia, infarction, hypertrophy, or conduction abnormality.
This ECG
| Parameter | Value | Normal? |
|---|---|---|
| Heart Rate | ~75 bpm | ✓ Normal |
| Rhythm | Regular Sinus Rhythm | ✓ Normal |
| PR Interval | ~140 ms | ✓ Normal (120-200 ms) |
| QRS Duration | ~80 ms | ✓ Normal (<100 ms) |
| QT Interval | ~360 ms | ✓ Normal |
| QTc (Bazett) | ~400 ms | ✓ Normal (<440 ms) |
| Electrical Axis | ~+60° to +70° | ✓ Normal axis |
| Lead | P Wave | QRS | ST Segment | T Wave |
|---|---|---|---|---|
| I | Normal upright | Normal | Isoelectric | Upright, normal |
| II | Normal upright | Normal, tall R | Isoelectric | Upright, normal |
| III | Normal | Small QRS | Isoelectric | Flat/slightly inverted (normal variant) |
| aVR | Inverted (normal) | Predominantly negative (normal) | Isoelectric | Inverted (normal) |
| aVL | Normal | Biphasic/small | Isoelectric | Low amplitude |
| aVF | Normal upright | Positive QRS | Isoelectric | Upright, normal |
| Lead | QRS Pattern | ST Segment | T Wave |
|---|---|---|---|
| V1 | rS pattern (normal) | Mild concave elevation <1mm (normal variant) | Flat/inverted (normal) |
| V2 | rS with deep S (normal) | Mild concave elevation (normal early repol.) | Upright, normal |
| V3 | Transitional rS | Normal | Upright, normal |
| V4 | R > S (normal transition) | Isoelectric | Upright, normal |
| V5 | Tall R (normal) | Isoelectric | Upright, normal |
| V6 | Normal R | Isoelectric | Upright, normal |
| Feature | Assessment |
|---|---|
| STEMI (ST elevation) | None - mild V1-V2 elevation is concave = normal early repolarization |
| NSTEMI (ST depression) | None |
| Pathological Q waves | None |
| Bundle branch block | None - QRS narrow at 80 ms |
| LVH (Sokolov-Lyon) | Not met - S-V1 + R-V5 ≈ 28 mm (threshold >35 mm) |
| RVH | None - no tall R in V1, no right axis |
| Long QT | None - QTc 400 ms |
| Delta waves (WPW) | None |
| Hyperacute T waves | None |
| Atrial enlargement | None - P waves normal amplitude and duration |
NORMAL ECG Normal sinus rhythm at 75 bpm. Normal axis, normal PR/QRS/QTc intervals. No evidence of ischemia, infarction, hypertrophy, or conduction abnormality. Mild concave ST elevation in V1-V2 is a benign normal variant (early repolarization pattern).
Explain ecg
| Parameter | Value | Interpretation |
|---|---|---|
| Heart Rate | ~72 bpm | Normal |
| Rhythm | Regular Sinus Rhythm | Normal |
| PR Interval | ~160 ms | Normal |
| QRS Duration | ~80 ms | Normal (narrow) |
| QT / QTc | 400 ms / ~440 ms | Normal |
| Electrical Axis | -45° to -60° | ⚠ LEFT AXIS DEVIATION |
| Criterion | This ECG |
|---|---|
| Left axis deviation (-45° to -90°) | ✓ Axis ~ -50° |
| qR pattern in leads I and aVL | ✓ Present |
| rS pattern in leads II, III, and aVF | ✓ Present |
| QRS duration normal (<120 ms) | ✓ 80 ms |
| No other cause of LAD | ✓ No LVH, no inferior MI |
| Lead | Pattern | ST | T Wave |
|---|---|---|---|
| I | qR - tall R wave | Isoelectric | Upright, normal |
| II | rS - predominantly negative | Isoelectric | Upright |
| III | rS - deep S wave | Isoelectric | Upright |
| aVR | Inverted P, QRS, T (normal) | Isoelectric | Inverted (normal) |
| aVL | qR - tall R wave | Isoelectric | Upright |
| aVF | rS - deep S wave | Isoelectric | Upright |
| Lead | Pattern | ST | T Wave |
|---|---|---|---|
| V1 | rS - small r, deep S | Normal | Flat/upright |
| V2 | rS pattern | Normal | Upright |
| V3 | RS - transitional | Normal | Upright |
| V4 | Rs - R dominant | Normal | Upright |
| V5 | Upright QRS | Normal | Upright |
| V6 | Upright QRS | Normal | Upright |
| Feature | Assessment |
|---|---|
| STEMI / ST elevation | None |
| NSTEMI / ST depression | None |
| Pathological Q waves | None (small q in I, aVL are LAFB-related) |
| T-wave inversions | None |
| LBBB | None - QRS narrow |
| RBBB | None |
| LVH (Sokolov-Lyon) | Not met - S-V1 + R-V5 ≈ 22 mm (<35 mm) |
| RVH | None |
| WPW / Delta waves | None |
| Long QT | None |
| Hyperkalemia | None |
1. Normal Sinus Rhythm at 72 bpm 2. Left Axis Deviation (~-50°) 3. Left Anterior Fascicular Block (LAFB) 4. No acute ischemia or infarction
This ECG is marked "Unconfirmed" - please have it reviewed and confirmed by the treating cardiologist.
Ecg explain
| Parameter | Value | Status |
|---|---|---|
| Heart Rate | ~88-94 bpm | Normal |
| Rhythm | Regular Sinus Rhythm | Normal |
| PR Interval | ~140-160 ms | Normal |
| QRS Duration | ~80-90 ms | Normal (narrow) |
| QTc (Bazett) | ~440-450 ms | Upper normal range |
| Electrical Axis | ~+30° to +40° | Normal axis |
| Lead | QRS | ST Segment | T Wave |
|---|---|---|---|
| I | Dominant R wave | Isoelectric | Upright, normal |
| II | Dominant R wave | Isoelectric | Upright, normal |
| III | Low voltage rS | Isoelectric | Flat/slightly inverted (normal variant) |
| aVR | Deep QS (normal) | Isoelectric | Inverted (normal) |
| aVL | qR pattern | Isoelectric | Upright |
| aVF | Dominant R wave | Isoelectric | Upright, normal |
| Lead | QRS | ST Segment | T Wave |
|---|---|---|---|
| V1 | rS (small r, deep S) | Isoelectric | Inverted (normal variant) |
| V2 | rS - slow R progression | ⚠ +1.0-1.5 mm elevation (concave) | ⚠ Tall, prominent |
| V3 | RS pattern | ⚠ +1.0-1.5 mm elevation (concave) | ⚠ Tall, prominent |
| V4 | Dominant R wave | ⚠ +0.5-1.0 mm elevation (concave) | ⚠ Tall, prominent |
| V5 | Tall R wave | Isoelectric | Upright, normal |
| V6 | Tall R wave | Isoelectric | Upright, normal |
| Feature | Benign Early Repolarization | Acute Anteroseptal STEMI / Myopericarditis |
|---|---|---|
| ST morphology | Concave upward (smiley face) ✓ present here | Convex upward (frowning / tombstone) |
| T wave | Tall but asymmetric | Hyperacute: broad-based, symmetric |
| Reciprocal ST depression | Absent ✓ (none in II, III, aVF, I, aVL) | Present in opposite leads |
| Pathological Q waves | Absent ✓ | May be present in evolved MI |
| Distribution | Localized V2-V4 ✓ | Widespread or contiguous territory |
| Clinical symptoms | Asymptomatic, young person | Chest pain, dyspnea, troponin rise |
| Feature | Finding |
|---|---|
| Pathological Q waves | None |
| LVH (S-V1 + R-V5 = 27 mm) | Not met (<35 mm) |
| RVH | None |
| Bundle branch block | None |
| Delta waves / WPW | None |
| Long QT | None (QTc ~445 ms, borderline) |
| Hyperkalemia (peaked T) | Not typical - T waves asymmetric |
1. Normal Sinus Rhythm at ~90 bpm 2. Normal axis and conduction 3. Anterior ST elevation in V2-V4 with prominent T waves 4. Most likely: Benign Early Repolarization (BER) - concave ST elevation, no reciprocal changes, no Q waves
| Question to answer | Why it matters |
|---|---|
| Does patient have chest pain, dyspnea, or diaphoresis? | If YES → treat as ACS until proven otherwise |
| Troponin I or T levels? | Single most important test to rule out MI |
| Repeat ECG in 15-30 min | Evolution of ST changes confirms ischemia |
| Echo if pericarditis suspected | Pericardial effusion, wall motion |
If this is an asymptomatic young patient with no cardiac history, this is very likely benign early repolarization - a completely normal variant. If symptoms are present, urgent cardiac evaluation is mandatory.