~/buffy-coat-thesis/thesis.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
HeadingLevel, AlignmentType, WidthType, BorderStyle, ShadingType,
PageNumber, NumberFormat, Header, Footer, PageBreak, TabStopType,
TabStopPosition, VerticalAlign
} = require('docx');
const fs = require('fs');
// ─── helper builders ────────────────────────────────────────────────────────
const h1 = (text) => new Paragraph({
heading: HeadingLevel.HEADING_1,
children: [new TextRun({ text, bold: true, size: 28, color: '1F3864' })],
spacing: { before: 400, after: 200 },
pageBreakBefore: true,
});
const h2 = (text) => new Paragraph({
heading: HeadingLevel.HEADING_2,
children: [new TextRun({ text, bold: true, size: 24, color: '2E5DA7' })],
spacing: { before: 300, after: 160 },
});
const h3 = (text) => new Paragraph({
heading: HeadingLevel.HEADING_3,
children: [new TextRun({ text, bold: true, size: 22, color: '1F5C8B' })],
spacing: { before: 200, after: 120 },
});
const p = (text) => new Paragraph({
children: [new TextRun({ text, size: 22 })],
spacing: { before: 120, after: 120 },
alignment: AlignmentType.JUSTIFIED,
});
const bold = (text) => new TextRun({ text, bold: true, size: 22 });
const bullet = (text) => new Paragraph({
children: [new TextRun({ text, size: 22 })],
bullet: { level: 0 },
spacing: { before: 80, after: 80 },
});
const subbullet = (text) => new Paragraph({
children: [new TextRun({ text, size: 22 })],
bullet: { level: 1 },
spacing: { before: 60, after: 60 },
});
const blankLine = () => new Paragraph({ children: [new TextRun('')], spacing: { before: 120, after: 120 } });
const centerBold = (text, size = 26) => new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text, bold: true, size })],
spacing: { before: 200, after: 200 },
});
const centerText = (text, size = 22) => new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text, size })],
spacing: { before: 120, after: 120 },
});
// ─── table helper ───────────────────────────────────────────────────────────
const makeTable = (headers, rows, colWidths) => new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: [
new TableRow({
tableHeader: true,
children: headers.map((h, i) => new TableCell({
shading: { fill: '2E5DA7', type: ShadingType.CLEAR },
width: colWidths ? { size: colWidths[i], type: WidthType.PERCENTAGE } : undefined,
children: [new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: h, bold: true, size: 20, color: 'FFFFFF' })],
})],
verticalAlign: VerticalAlign.CENTER,
})),
}),
...rows.map((row, ri) => new TableRow({
children: row.map((cell, ci) => new TableCell({
shading: { fill: ri % 2 === 0 ? 'EEF4FB' : 'FFFFFF', type: ShadingType.CLEAR },
width: colWidths ? { size: colWidths[ci], type: WidthType.PERCENTAGE } : undefined,
children: [new Paragraph({
children: [new TextRun({ text: String(cell), size: 20 })],
spacing: { before: 60, after: 60 },
})],
verticalAlign: VerticalAlign.CENTER,
})),
})),
],
});
// ─── proforma table helper (label-value rows) ───────────────────────────────
const proformaTable = (rows) => new Table({
width: { size: 100, type: WidthType.PERCENTAGE },
rows: rows.map((row, i) => new TableRow({
children: [
new TableCell({
shading: { fill: 'D9E8F5', type: ShadingType.CLEAR },
width: { size: 35, type: WidthType.PERCENTAGE },
children: [new Paragraph({ children: [new TextRun({ text: row[0], bold: true, size: 20 })], spacing: { before: 80, after: 80 } })],
}),
new TableCell({
shading: { fill: i % 2 === 0 ? 'F5F9FE' : 'FFFFFF', type: ShadingType.CLEAR },
width: { size: 65, type: WidthType.PERCENTAGE },
children: [new Paragraph({ children: [new TextRun({ text: row[1], size: 20 })], spacing: { before: 80, after: 80 } })],
}),
],
})),
});
// ═══════════════════════════════════════════════════════════════════════════════
// DOCUMENT CONTENT
// ═══════════════════════════════════════════════════════════════════════════════
const doc = new Document({
title: 'Buffy Coat as a Granulocyte Substitute in Febrile Neutropenia and Sepsis',
description: 'MD Thesis – Buffy Coat Transfusion Nepal',
sections: [
// ═══════ SECTION 1: Title Page & Front Matter ═══════
{
headers: {
default: new Header({
children: [new Paragraph({
alignment: AlignmentType.RIGHT,
children: [new TextRun({ text: 'Buffy Coat as Granulocyte Substitute | Nepal', size: 18, color: '666666', italics: true })],
})],
}),
},
footers: {
default: new Footer({
children: [new Paragraph({
alignment: AlignmentType.CENTER,
children: [
new TextRun({ text: 'Page ', size: 18, color: '666666' }),
new PageNumber({ type: NumberFormat.DECIMAL }),
],
})],
}),
},
children: [
// TITLE PAGE
blankLine(), blankLine(),
centerBold('TRIBHUVAN UNIVERSITY\nINSTITUTE OF MEDICINE', 24),
centerText('Department of Pathology / Blood Transfusion Medicine', 22),
blankLine(), blankLine(),
centerBold('BUFFY COAT AS A COST-EFFECTIVE GRANULOCYTE\nSUBSTITUTE IN THE MANAGEMENT OF\nFEBRILE NEUTROPENIA AND SEPSIS:\nA PROSPECTIVE RANDOMIZED CONTROLLED TRIAL\nIN A TERTIARY CARE CENTER, NEPAL', 28),
blankLine(), blankLine(),
centerText('A Thesis Submitted to the Faculty of Medicine\nin Partial Fulfillment of the Requirements\nfor the Degree of Doctor of Medicine (MD)\nin Pathology / Transfusion Medicine', 22),
blankLine(), blankLine(),
centerText('Submitted by:', 22),
centerBold('[Your Name, MBBS]', 22),
centerText('T.U. Reg. No.: ________________', 22),
blankLine(),
centerText('Supervised by:', 22),
centerBold('[Supervisor Name, MD]\nProfessor, Department of Pathology', 22),
blankLine(),
centerText('Co-Supervisor:', 22),
centerBold('[Co-Supervisor Name, MD]\nProfessor, Department of Haematology/Oncology', 22),
blankLine(), blankLine(),
centerBold('[Institution Name]\n[City, Nepal]', 22),
centerText('Date of Submission: ________________', 22),
new Paragraph({ children: [new PageBreak()] }),
// DECLARATION
centerBold('DECLARATION', 26),
p('I hereby declare that the thesis entitled "Buffy Coat as a Cost-Effective Granulocyte Substitute in the Management of Febrile Neutropenia and Sepsis: A Prospective Randomized Controlled Trial in a Tertiary Care Center, Nepal" is a record of original research work conducted by me during the period of study under the supervision of [Supervisor Name], Professor, Department of Pathology, [Institution Name], Nepal.'),
p('This thesis has not been previously submitted for any degree or diploma and is my own work. All sources of information used in this thesis have been duly acknowledged.'),
blankLine(), blankLine(),
p('Date: ________________'),
p('Signature: ________________'),
p('Name: ________________'),
p('Roll No.: ________________'),
new Paragraph({ children: [new PageBreak()] }),
// APPROVAL
centerBold('APPROVAL PAGE', 26),
p('This thesis entitled "Buffy Coat as a Cost-Effective Granulocyte Substitute in the Management of Febrile Neutropenia and Sepsis" submitted by [Your Name] has been examined and is hereby approved for the partial fulfillment of the degree of Doctor of Medicine (MD) in Pathology / Transfusion Medicine, Tribhuvan University, Institute of Medicine.'),
blankLine(),
makeTable(
['Role', 'Name', 'Designation', 'Signature', 'Date'],
[
['Supervisor', '', 'Professor, Pathology', '', ''],
['Co-Supervisor', '', 'Professor, Haematology', '', ''],
['Internal Examiner', '', 'Associate Professor', '', ''],
['External Examiner', '', 'Professor (External)', '', ''],
['Chairperson', '', 'Head of Dept', '', ''],
],
[20, 25, 25, 15, 15]
),
new Paragraph({ children: [new PageBreak()] }),
// ACKNOWLEDGEMENT
centerBold('ACKNOWLEDGEMENT', 26),
p('I am deeply grateful to my supervisor, [Supervisor Name], for the invaluable guidance, constructive criticism, and unwavering support throughout this research. My sincere thanks also go to my co-supervisor for expert clinical insights.'),
p('I extend my gratitude to the Department of Pathology and the Blood Transfusion Service, [Institution Name], for providing the necessary infrastructure and logistical support for this study.'),
p('I am indebted to the Ethics Committee of [Institution Name] and the Institutional Review Board for their oversight and approval. Special thanks to the nursing staff of the Haematology-Oncology ward and NICU for assistance in patient recruitment and data collection.'),
p('Most importantly, I express my deepest appreciation to all the patients and their families who consented to participate in this study. Their contribution is the foundation of this work.'),
p('Finally, I thank my family for their patience and encouragement during the long hours of research and writing.'),
blankLine(),
p('[Your Name]'),
new Paragraph({ children: [new PageBreak()] }),
// ABSTRACT
centerBold('ABSTRACT', 26),
blankLine(),
h3('Background'),
p('Granulocyte transfusion (GT) obtained by apheresis is the standard therapeutic modality for febrile neutropenia (FN) refractory to antimicrobials and for severe sepsis with absolute neutrophil count (ANC) <500/μL. However, granulocytapheresis requires expensive equipment (leukapheresis machines), donor stimulation with G-CSF and dexamethasone, and is unavailable in most low- and middle-income countries (LMICs) including Nepal. Pooled buffy coat (BC)-derived granulocytes offer a low-cost, technically simple alternative that can be prepared from routine whole blood donations.'),
h3('Objectives'),
p('Primary: To evaluate the clinical efficacy of pooled irradiated buffy coat granulocyte transfusion (BCGT) versus standard care alone in patients with febrile neutropenia and ANC <500/μL at [Institution]. Secondary: To assess safety, time to ANC recovery (>500/μL), fever resolution, duration of antibiotic therapy, length of hospital stay, 30-day mortality, and adverse transfusion reactions. Process objective: To develop and validate a standard operating procedure for preparation of pooled buffy coat granulocyte concentrate in a resource-limited blood bank.'),
h3('Methods'),
p('A prospective, open-label, parallel-group randomized controlled trial will be conducted over 24 months (2025–2027) at [Institution], Nepal. Sixty eligible adults and children (≥2 years) with confirmed or presumed sepsis, ANC <500/μL, and failure to respond to ≥48 hours of appropriate antimicrobials will be randomized (1:1) to receive either standard care plus pooled irradiated BCGT (Group A) or standard care alone (Group B). Buffy coats will be pooled from 6 ABO-compatible whole blood donations (450 mL each), processed within 8 hours, irradiated (25 Gy), and transfused within 24 hours of preparation. The primary endpoint is 30-day all-cause mortality. Secondary endpoints include days to ANC recovery, days to fever defervescence, and adverse events.'),
h3('Expected Outcomes'),
p('We hypothesize that BCGT will reduce 30-day mortality by at least 20%, accelerate ANC recovery, and demonstrate an acceptable safety profile. Cost analysis is expected to confirm that pooled BCGT costs 70–80% less than apheresis-derived granulocyte products, supporting adoption across tertiary centers in Nepal and similar LMICs.'),
h3('Keywords'),
p('Buffy coat; granulocyte transfusion; febrile neutropenia; sepsis; resource-limited settings; Nepal; pooled leucocytes; irradiation; blood bank.'),
new Paragraph({ children: [new PageBreak()] }),
// TABLE OF CONTENTS
centerBold('TABLE OF CONTENTS', 26),
makeTable(
['Section', 'Title', 'Page'],
[
['1', 'Introduction & Background', ''],
['2', 'Review of Literature', ''],
['3', 'Objectives', ''],
['4', 'Methodology', ''],
['4.1', 'Study Design', ''],
['4.2', 'Study Site', ''],
['4.3', 'Study Population', ''],
['4.4', 'Sample Size Calculation', ''],
['4.5', 'Randomization & Blinding', ''],
['4.6', 'Intervention: Buffy Coat Preparation SOP', ''],
['4.7', 'Data Collection', ''],
['4.8', 'Statistical Analysis', ''],
['4.9', 'Ethical Considerations', ''],
['5', 'Expected Results & Timeline', ''],
['6', 'Budget & Resource Plan', ''],
['7', 'References', ''],
['Annexure A', 'Patient Information Sheet (Nepali + English)', ''],
['Annexure B', 'Informed Consent Form', ''],
['Annexure C', 'Proforma 1 – Patient Enrollment Form', ''],
['Annexure D', 'Proforma 2 – Daily Clinical Assessment Form', ''],
['Annexure E', 'Proforma 3 – Transfusion Reaction Monitoring Form', ''],
['Annexure F', 'Proforma 4 – Blood Bank SOP & QC Form', ''],
['Annexure G', 'Proforma 5 – Laboratory Result Sheet', ''],
['Annexure H', 'Proforma 6 – Outcome & Discharge Form', ''],
['Annexure I', 'Gantt Chart', ''],
['Annexure J', 'IEC/IRB Submission Checklist', ''],
],
[10, 65, 25]
),
new Paragraph({ children: [new PageBreak()] }),
// LIST OF ABBREVIATIONS
centerBold('LIST OF ABBREVIATIONS', 26),
makeTable(
['Abbreviation', 'Full Form'],
[
['ANC', 'Absolute Neutrophil Count'],
['BC', 'Buffy Coat'],
['BCGT', 'Buffy Coat Granulocyte Transfusion'],
['CBC', 'Complete Blood Count'],
['EDQM', 'European Directorate for the Quality of Medicines'],
['FN', 'Febrile Neutropenia'],
['G-CSF', 'Granulocyte Colony-Stimulating Factor'],
['GN', 'Granulocyte Count'],
['GT', 'Granulocyte Transfusion'],
['Hct', 'Haematocrit'],
['IEC', 'Institutional Ethics Committee'],
['IVIG', 'Intravenous Immunoglobulin'],
['LMIC', 'Low- and Middle-Income Country'],
['NHSBT', 'National Health Service Blood and Transplant (UK)'],
['NICU', 'Neonatal Intensive Care Unit'],
['PAS', 'Platelet Additive Solution'],
['RBC', 'Red Blood Cell'],
['RCT', 'Randomized Controlled Trial'],
['RING', 'Resolving Infection in Neutropenia with Granulocytes (trial)'],
['SOP', 'Standard Operating Procedure'],
['TU/IOM', 'Tribhuvan University / Institute of Medicine'],
],
[30, 70]
),
new Paragraph({ children: [new PageBreak()] }),
// ═══ CHAPTER 1: INTRODUCTION ═══
h1('CHAPTER 1: INTRODUCTION AND BACKGROUND'),
h2('1.1 Overview of Febrile Neutropenia'),
p('Febrile neutropenia (FN) is a potentially life-threatening complication seen in patients receiving myelosuppressive chemotherapy, those with haematological malignancies, bone marrow failure syndromes, aplastic anaemia, and critically ill patients with sepsis-induced bone marrow exhaustion. It is defined by the Infectious Diseases Society of America (IDSA) as a single oral temperature of ≥38.3°C (101°F) or a sustained temperature ≥38.0°C for >1 hour, in a patient with an absolute neutrophil count (ANC) <500 cells/μL or an ANC expected to decrease to <500 cells/μL within 48 hours.'),
p('In Nepal and other South Asian LMICs, haematological malignancies (acute myeloid leukaemia, acute lymphoblastic leukaemia) and solid tumors treated with intensive chemotherapy regimens are increasing. Simultaneously, the infrastructure for managing neutropenic complications remains limited. Broad-spectrum antibiotic coverage is frequently delayed, and anti-fungal agents are expensive. Mortality from FN in resource-limited settings ranges from 20–40%, compared to 5–10% in high-income countries. Novel, affordable adjunct therapies are therefore urgently needed.'),
h2('1.2 The Role of Granulocyte Transfusion'),
p('Neutrophils, the principal effector cells of innate immunity, are critical for containment and clearance of bacterial and fungal pathogens. When ANC drops below 500/μL, the host immune defense collapses, and infections become uncontrollable. The rationale for granulocyte transfusion (GT) is to temporarily restore circulating neutrophil numbers to allow the patient\'s own marrow to recover and/or antimicrobials to work more effectively.'),
p('GT has been practiced since the 1960s. The dose of granulocytes transfused is the single most important determinant of clinical efficacy. Studies indicate that a minimum dose of ≥0.4–0.6 × 10⁹ granulocytes/kg/day is required to achieve any measurable clinical benefit (Seidel et al., 2008; Price et al., 2015). The landmark Resolving Infection in Neutropenia with Granulocytes (RING) trial (Price, 2015) compared high-dose (≥0.6 × 10⁹/kg) versus low-dose GT in 114 neutropenic patients and demonstrated that high-dose GT was associated with significantly better infection-free survival at 30 days (59% vs. 15%, p<0.01).'),
h2('1.3 Apheresis vs. Buffy Coat - The Resource Gap'),
p('Currently, there are two main sources of granulocytes:'),
bullet('Granulocyte apheresis (leukapheresis): Donors are stimulated with dexamethasone ± G-CSF, and granulocytes are collected by automated leukapheresis. Yields are high (0.6–6.0 × 10¹⁰ per donation). However, this method requires costly equipment (USD 100,000+), consumables, trained staff, donor stimulation, and is not available in Nepal or most LMICs.'),
bullet('Pooled Buffy Coat (BC)-derived granulocytes: Buffy coats are the leukocyte-and-platelet-rich layer obtained as a by-product of standard whole blood processing. Each 450 mL whole blood donation yields one buffy coat unit (~50 mL, containing 1–2 × 10⁹ white cells). By pooling 6–10 ABO-compatible buffy coats, a therapeutically relevant granulocyte dose (>5 × 10⁹) can be assembled using only a standard refrigerated centrifuge — equipment already present in most blood banks.'),
p('The NHSBT (UK) formally recommends buffy coats as an alternative to pooled granulocyte concentrates when pooled products are unavailable (INF276/6, 2026). The 2023 Indian RCT by Ramachandran et al. (Am J Blood Res) demonstrated that irradiated BCGT was safe and significantly reduced time to ANC recovery in pediatric FN (4.5 vs. 8 days, p=0.01). A 2026 Indian feasibility study (Batni et al., Transfus Apher Sci) confirmed that pooling 6 buffy coats meets EDQM granulocyte quality standards in 100% of products.'),
h2('1.4 Rationale for This Study in Nepal'),
p('Nepal has over 150 blood banks but zero functional leukapheresis centers. Granulocyte apheresis has never been performed in Nepal. The cost of importing apheresis granulocytes would be prohibitive (estimated NPR 150,000–300,000 per transfusion). By contrast, pooled buffy coat preparation costs only the additional processing labor, as buffy coats are currently discarded as waste during routine blood component preparation.'),
p('This study therefore proposes to: (1) establish a validated low-cost buffy coat granulocyte concentrate preparation protocol at [Institution] blood bank; (2) evaluate clinical outcomes in a randomized trial; and (3) provide a replicable model for other LMIC blood banks. This is the first prospective RCT on buffy coat granulocyte transfusion to be conducted in Nepal.'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ CHAPTER 2: REVIEW OF LITERATURE ═══
h1('CHAPTER 2: REVIEW OF LITERATURE'),
h2('2.1 History of Granulocyte Transfusion'),
p('The use of leukocyte-rich blood for treatment of infections in neutropenic patients dates to the early 1960s. Freireich et al. (1964) first demonstrated that repeated transfusions of leukocytes from chronic myeloid leukaemia donors could reduce bacteremia in aplastic patients. Early trials using leukapheresis from non-stimulated donors produced inconsistent results, largely because neutrophil yields were inadequate.'),
p('In the 1970s–1980s, several groups used buffy coat transfusions in neonatal sepsis with promising results. Baley et al. (1987) and Wheeler et al. (1987) both published RCTs of buffy coat transfusions in neutropenic neonates with presumed sepsis. Reiss et al. (1982, 1985) studied granulocyte-enriched buffy coat transfusions in neutropenic oncology patients with evidence of clinical benefit.'),
h2('2.2 Evidence from Cochrane Systematic Reviews'),
p('The most rigorous evidence base comes from two Cochrane systematic reviews:'),
bullet('Mohan & Brocklehurst (2003, Cochrane): Reviewed 4 RCTs of granulocyte/buffy coat transfusions in neonatal sepsis with neutropenia. Found no statistically significant reduction in all-cause mortality vs. placebo (typical RR 0.89; 95% CI: 0.43–1.86), but the total sample was only 44 neonates, giving insufficient power.'),
bullet('Pammi & Brocklehurst (2011, Cochrane): Updated review with the same 4 trials. When GT was compared with IVIG (one trial, 35 neonates), there was a borderline significant reduction in all-cause mortality (RR 0.06; 95% CI: 0.00–1.04; NNT 2.7; RD -0.34, p-value approaching significance). Pulmonary complications were the main adverse effect of buffy coat transfusions.'),
bullet('Stanworth/Estcourt (2016, Cochrane): 10 RCTs, 587 adult participants. No significant difference in all-cause mortality overall. However, in 5 trials published before 2000, GT appeared to reduce mortality. In the RING study (after 2000), no mortality difference. Importantly, high-dose GT (≥0.6 × 10⁹/kg) was associated with 59% success vs. 15% for low-dose.'),
p('The overarching conclusion is that evidence is inconclusive primarily due to small sample sizes, not because GT is ineffective. There is no large well-powered RCT specifically using pooled buffy coat granulocytes in LMIC settings.'),
h2('2.3 The RING Trial (Price et al., 2015)'),
p('The RING trial (Resolving Infection in Neutropenia with Granulocytes) was a Phase III open-label RCT at 8 US centers in 114 neutropenic patients with refractory infections. It compared GT plus standard of care vs. standard of care alone. The primary endpoint (7-day composite of clinical or microbiological success) was not significantly different between groups. However, the landmark finding was in the post-hoc high-dose subgroup analysis: patients who achieved ≥0.6 × 10⁹ granulocytes/kg/day had 59% success vs. 15% in the low-dose group (p<0.01). Adverse events (alloimmunization, pulmonary toxicity) were uncommon.'),
h2('2.4 Recent Evidence Supporting Buffy Coat'),
bullet('Ramachandran et al. (2023, Am J Blood Res) – RCT, India: 60 pediatric patients with HR febrile neutropenia. BCGT arm received irradiated buffy-coat granulocytes. Time to ANC recovery >500/μL: 4.5 days (GT) vs. 8 days (standard care), p=0.01. No significant mortality difference but clinically important hematological benefit. Concluded BCGT is safe, effective for early ANC recovery, and suitable for low-resource oncology centers.'),
bullet('Batni et al. (2026, Transfus Apher Sci) – Feasibility, India: Evaluated pooling 4 vs. 6 buffy coats. 100% of 6-BC pools met EDQM granulocyte threshold (>5 × 10⁹/unit) vs. only 33% of 4-BC pools. RBC reduction by high-speed centrifugation preserved granulocyte yield for pediatric use. Confirmed buffy coat pooling is feasible in resource-limited Indian blood banks.'),
bullet('Szumowski et al. (2026, Adv Med Sci) – Review: Compared pooled granulocyte concentrates vs. apheresis products. Buffy coat pools of 10–20 donations achieve neutrophil yields of 0.88 × 10¹⁰ per final product. Similar antimicrobial function to apheresis granulocytes when properly irradiated and administered fresh.'),
bullet('Cognasse et al. (2026, Transfusion) – Comparative platelet activation: Buffy coat-derived granulocyte concentrates showed lower platelet activation compared to apheresis products, potentially reducing thrombotic/inflammatory side effects.'),
h2('2.5 Blood Component Specifications for Buffy Coat'),
p('Based on NHSBT guidelines (INF276/6, 2026) and EDQM standards:'),
makeTable(
['Parameter', 'Single Buffy Coat Unit', '6-BC Pool (This Study)', '10-BC Pool (NHSBT)', 'Apheresis GT'],
[
['Volume', '~50 mL', '~280–360 mL', '~590 mL', '~299 mL'],
['WBC content', '1–2 × 10⁹', '>5 × 10⁹', '~1.05 × 10¹⁰', '~6.4 × 10¹⁰'],
['Granulocytes', '0.8–1.5 × 10⁹', '>5 × 10⁹', '~1.05 × 10¹⁰', 'High'],
['Haematocrit', '~40–45%', '~30–40%', '~45%', '~9%'],
['Platelets', '70–100 × 10⁹', '>200 × 10⁹', '~750 × 10⁹ total', '~160 × 10⁹'],
['Irradiation required', 'Yes (25 Gy)', 'Yes (25 Gy)', 'Yes (25 Gy)', 'Yes (25 Gy)'],
['ABO compatibility', 'Required', 'Required', 'Required', 'Required'],
],
[22, 16, 16, 16, 16]
),
h2('2.6 Indications and Contraindications for Granulocyte Transfusion'),
h3('Indications (Harrison\'s Principles, 22nd Ed., 2025; Henry\'s Clinical Lab Methods)'),
bullet('Severe bacterial or fungal infection unresponsive to ≥48h appropriate antimicrobial therapy'),
bullet('ANC <500/μL (adults) or <3000/μL with decreased marrow stores (neonates)'),
bullet('Reasonable expectation of marrow recovery (not end-stage disease)'),
bullet('Severe necrotizing bacterial/fungal infection (meningitis, sepsis, pulmonary infiltrates) with neutropenia or granulocyte dysfunction'),
bullet('Congenital disorders of granulocyte function (CGD, LAD) with life-threatening infection'),
h3('Contraindications / Relative Contraindications'),
bullet('Patient with alloantibodies to donor leukocyte antigens (risk of pulmonary transfusion reaction)'),
bullet('No expectation of marrow recovery (terminal malignancy)'),
bullet('Concurrent amphotericin B infusion (risk of acute pulmonary toxicity – give granulocytes ≥6h apart)'),
bullet('Volume intolerance'),
h2('2.7 Adverse Effects of Granulocyte Transfusion'),
makeTable(
['Adverse Effect', 'Incidence', 'Mechanism', 'Management'],
[
['Febrile non-haemolytic reaction', '30–50%', 'Cytokine release', 'Paracetamol; slow rate'],
['Pulmonary toxicity (TRALI-like)', '1–5%', 'Neutrophil sequestration in lung', 'O₂, stop transfusion'],
['Alloimmunization (HLA, HNA)', '10–30%', 'Donor WBC antigens', 'Leucocyte-reduced products'],
['CMV transmission', 'Low if CMV-neg donors used', 'Cell-associated virus', 'CMV-negative donors / leuco-reduction'],
['Haemolysis', 'Rare', 'ABO incompatibility', 'Strict ABO matching'],
['Polycythaemia', 'Common (buffy coats)', 'High Hct of product', 'Monitor Hct; venesect if needed'],
],
[22, 14, 32, 32]
),
h2('2.8 Situation Analysis in Nepal'),
p('Nepal has a population of approximately 30 million. The national blood transfusion service is operated through 153 blood centers, predominantly hospital-based. All hospitals above secondary level have the capacity to prepare packed red cells, fresh frozen plasma, and platelet concentrates from whole blood donations. Buffy coat separation is performed routinely but the buffy coat layer is discarded.'),
p('There is currently no leukapheresis facility in Nepal. No published literature exists on granulocyte transfusion of any kind conducted in Nepal. Haematology-oncology services are concentrated in 3–4 tertiary centers in Kathmandu, with satellite services in Biratnagar, Pokhara, and Chitwan. The annual number of new haematological malignancy cases is estimated at 2,000–3,000 per year (National Cancer Registry, Nepal), representing a substantial patient population at risk for febrile neutropenia.'),
p('This study directly addresses the critical gap between the documented need for granulocyte support and the complete absence of any deliverable product in Nepal, by proposing a protocol that is implementable with existing blood bank infrastructure and no additional capital expenditure.'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ CHAPTER 3: OBJECTIVES ═══
h1('CHAPTER 3: OBJECTIVES'),
h2('3.1 Primary Objective'),
p('To compare 30-day all-cause mortality in patients with febrile neutropenia (ANC <500/μL) and infection refractory to ≥48 hours of antimicrobial therapy, randomized to receive pooled irradiated buffy coat granulocyte transfusion (BCGT) plus standard care versus standard care alone.'),
h2('3.2 Secondary Objectives'),
bullet('To assess time (days) to ANC recovery (>500/μL) from day of randomization in both groups'),
bullet('To assess time (days) to defervescence (temperature <37.5°C sustained for 48h) in both groups'),
bullet('To compare total duration of antibiotic/antifungal therapy in both groups'),
bullet('To compare length of hospital stay in both groups'),
bullet('To evaluate the incidence and severity of adverse transfusion reactions attributable to BCGT'),
bullet('To assess clinical microbiological response (blood culture clearance rate) in both groups'),
bullet('To perform cost analysis comparing BCGT versus hypothetical apheresis granulocyte transfusion'),
h2('3.3 Process / Laboratory Objective'),
bullet('To develop and validate a Standard Operating Procedure (SOP) for pooled buffy coat granulocyte concentrate preparation in the blood bank of [Institution], Nepal'),
bullet('To assess quality indicators of the prepared BCGT products (volume, WBC count, granulocyte count, Hct, sterility) against EDQM standards'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ CHAPTER 4: METHODOLOGY ═══
h1('CHAPTER 4: METHODOLOGY'),
h2('4.1 Study Design'),
p('Prospective, open-label, parallel-group randomized controlled trial (RCT) with a 1:1 allocation ratio. Open-label design is necessitated by the inability to provide a blood product placebo that is indistinguishable from BCGT in color, volume, and handling. Outcome assessors for the primary endpoint (mortality) will be blinded to group assignment where possible (outcome assessor blinding).'),
h2('4.2 Study Site'),
p('[Institution Name], [City], Nepal — a tertiary care university hospital with a dedicated haematology-oncology unit, NICU, blood bank, and IEC. The blood bank currently processes approximately [X] whole blood donations per month, making pooling of 6 buffy coats feasible on any working day.'),
h2('4.3 Study Duration'),
p('Total duration: 24 months from IEC approval'),
bullet('Months 1–3: SOP development, staff training, pilot run (5 preparations), IEC approval'),
bullet('Months 4–22: Patient recruitment and follow-up'),
bullet('Months 23–24: Data analysis, thesis writing, submission'),
h2('4.4 Study Population'),
h3('Inclusion Criteria'),
bullet('Age ≥2 years (adults and children ≥2 years)'),
bullet('Diagnosed haematological malignancy or solid tumor on myelosuppressive chemotherapy, OR aplastic anaemia, OR bone marrow failure, OR proven sepsis with bone marrow exhaustion'),
bullet('ANC <500 cells/μL (or <1000/μL with expected decline to <500 within 48h)'),
bullet('Documented fever: oral temperature ≥38.3°C or ≥38.0°C sustained >1h'),
bullet('Failure to respond to ≥48 hours of appropriate broad-spectrum antibiotics (with or without antifungals, determined by treating team)'),
bullet('Expected marrow recovery (not end-stage disease or palliative care)'),
bullet('Signed informed consent from patient or legally authorized representative'),
h3('Exclusion Criteria'),
bullet('Pre-existing HLA or HNA alloantibodies (positive crossmatch with donor pool)'),
bullet('Active concurrent amphotericin B infusion (relative; allow 6h gap and include with modification)'),
bullet('ABO blood group incompatibility with available donor pool (when no compatible pool can be assembled within 12h)'),
bullet('Known allergy to blood products or previous severe transfusion reaction'),
bullet('Volume overload / congestive cardiac failure (EF <35%) unable to tolerate additional volume'),
bullet('Septic neonates <1 month of age (separate protocol and weight-based dosing required; may be enrolled as sub-group)'),
bullet('Expected survival <48h (moribund patients)'),
bullet('Concurrent enrolment in another interventional trial'),
bullet('Pregnancy'),
h2('4.5 Sample Size Calculation'),
p('Based on available literature:'),
bullet('Assumed 30-day mortality with standard care alone in FN refractory to antibiotics in Nepal: 40% (conservative estimate based on LMIC data)'),
bullet('Expected absolute risk reduction with BCGT: 20% (mortality reduced to 20%)'),
bullet('Two-tailed test, α = 0.05, power (1-β) = 0.80'),
bullet('Using the formula for two-proportion z-test:'),
p('n per group = [Z(α/2) + Z(β)]² × [P1(1-P1) + P2(1-P2)] / (P1-P2)²'),
p('n = [1.96 + 0.842]² × [0.40×0.60 + 0.20×0.80] / (0.20)²'),
p('n = (7.85) × [0.24 + 0.16] / 0.04 = 7.85 × 0.40 / 0.04 = 78.5'),
p('Adding 15% for dropouts/loss to follow-up: n = 90 (45 per group)'),
p('Final sample size: 90 patients (45 per group)'),
h2('4.6 Randomization and Allocation Concealment'),
p('Simple randomization using computer-generated random number sequence (R statistical software v4.3). Randomization list generated by a statistician not involved in patient care. Sealed opaque sequentially numbered envelopes prepared in advance. Allocation revealed at time of enrollment after confirming eligibility.'),
h2('4.7 Intervention: Buffy Coat Granulocyte Transfusion (BCGT)'),
h3('Product'),
p('Pooled Irradiated Buffy Coat Granulocyte Concentrate (PIBCGC): 6 ABO-compatible buffy coat units pooled within 8 hours of whole blood collection, irradiated with 25 Gy, transfused within 24 hours of irradiation.'),
h3('Dosing'),
bullet('Adults (≥15 years or ≥50 kg): One pool (6 BCs) per day, target granulocyte dose ≥0.2 × 10⁹/kg/day. Up to 2 pools/day if clinically indicated and product available.'),
bullet('Children (<15 years or <50 kg): 10–20 mL/kg/day of PIBCGC'),
bullet('Duration: Daily transfusion for minimum 4 days or until ANC >500/μL, whichever comes first'),
h3('Administration'),
bullet('Infuse over 2–4 hours through a standard 150–260 micron blood filter'),
bullet('Do NOT use microaggregate or leuco-reduction filter (will trap granulocytes)'),
bullet('ABO and Rh type matching mandatory; crossmatch by immediate spin for ABO-incompatible group O products'),
bullet('Pre-medicate with paracetamol 15 mg/kg PO and chlorpheniramine 0.1 mg/kg IV 30 minutes prior'),
bullet('Nurse at bedside during entire infusion; monitor vitals every 15 minutes'),
bullet('Administer amphotericin B (if in use) at least 6 hours before or after BCGT'),
h2('4.8 Standard Care (Both Groups)'),
bullet('Empirical broad-spectrum antibiotics as per institutional protocol (typically piperacillin-tazobactam or meropenem ± vancomycin for gram-positive cover)'),
bullet('Antifungal therapy (fluconazole or amphotericin B) as clinically indicated'),
bullet('G-CSF (filgrastim) if available and deemed appropriate by treating team (recorded as covariate)'),
bullet('Packed red cell transfusion for Hb <7 g/dL'),
bullet('Platelet transfusion for platelets <10 × 10⁹/L or <20 × 10⁹/L with active bleeding'),
bullet('Supportive care: IV fluids, nutrition, antipyretics, oxygen'),
h2('4.9 Buffy Coat Preparation Standard Operating Procedure (SOP)'),
h3('Equipment Required (all available in standard blood bank)'),
bullet('Refrigerated centrifuge capable of 2,000–4,000 × g (most blood banks in Nepal have this)'),
bullet('Plasma extractor press (manual or automated)'),
bullet('Sterile pooling bags (standard quad-pack or satellite bag system)'),
bullet('Blood irradiator (25 Gy) – if not available at institution, arrangement with regional irradiator needed'),
bullet('Laminar flow cabinet (biosafety cabinet class II) for pooling step'),
bullet('Hemocytometer or automated CBC analyzer for QC testing'),
h3('Step-by-Step SOP'),
bullet('Step 1 – Donor Selection: 6 ABO-compatible whole blood donors. CMV-negative preferred but not mandatory if patient is CMV-seropositive. Donors must not have donated in the past 8 weeks.'),
bullet('Step 2 – Whole Blood Collection: 450 ± 45 mL whole blood collected in standard CPD anticoagulant. Whole blood must be processed within 8 hours of collection.'),
bullet('Step 3 – First Centrifugation (Hard Spin): 3,000–4,000 × g, 10 minutes at 20°C. This separates whole blood into: (top) platelet-rich plasma, (middle) buffy coat layer, (bottom) packed red cells.'),
bullet('Step 4 – Component Extraction: Using plasma extractor, express PRP into satellite bag. Leave BC layer and ~10–15 mL plasma on top of red cells. Express red cells into another bag. The remaining middle layer is the buffy coat (~50–70 mL per unit).'),
bullet('Step 5 – Pooling: In a laminar flow cabinet or using sterile connecting device, pool all 6 buffy coat units into a single sterile transfer bag. Label with: date/time of pooling, ABO group, number of units pooled, expiry time.'),
bullet('Step 6 – Second Centrifugation (optional, for RBC reduction): 3,000 × g × 5 min. Press off excess red cells into satellite bag. The final volume should be ~280–360 mL with reduced Hct.'),
bullet('Step 7 – Irradiation: Transfer to irradiation bag. Irradiate with 25 Gy using gamma or X-ray irradiator. Record irradiator log and Rad-Sure indicator color change. Irradiation prevents transfusion-associated graft-versus-host disease (TA-GvHD).'),
bullet('Step 8 – Quality Control (on every 5th product or as per IEC requirement): Volume, visual inspection (no clots/hemolysis), CBC including granulocyte count, Hct, sterility testing (culture). Target: granulocyte count >5 × 10⁹ per pool.'),
bullet('Step 9 – Storage & Dispatch: Store at room temperature (20–24°C) on gentle agitator. Shelf life: maximum 24 hours from time of pooling. Transport to ward in insulated container. Transfuse immediately on receipt.'),
h2('4.10 Data Collection'),
p('Data will be collected using standardized proformas (Annexure C–H). All forms will be completed by the principal investigator or trained research assistant. Electronic data will be entered into an anonymized database (REDCap or Excel).'),
h2('4.11 Outcome Measures'),
makeTable(
['Outcome', 'Measurement Tool', 'Timepoint(s)'],
[
['30-day all-cause mortality', 'Death certificate / hospital record', 'Day 30 from enrollment'],
['Days to ANC recovery (>500/μL)', 'Daily CBC (ANC)', 'Daily until ANC >500 × 2 days'],
['Days to defervescence', 'Temperature chart (4-hourly)', 'Daily until T <37.5°C × 48h'],
['Duration of antibiotics', 'Prescription record', 'From enrollment to cessation'],
['Length of hospital stay', 'Admission/discharge record', 'At discharge'],
['Adverse transfusion reactions', 'Transfusion reaction form (Proforma 3)', 'During and 4h post-transfusion'],
['Microbiological response', 'Blood culture (day 0, 7, 14)', 'Days 0, 7, 14'],
['Cost analysis', 'Blood bank cost ledger', 'Per episode'],
['Product quality (QC)', 'CBC of product, sterility culture', 'Per product prepared'],
],
[30, 35, 35]
),
h2('4.12 Statistical Analysis'),
p('All analyses will be performed using SPSS v26 (or R v4.3). Two-sided p-value <0.05 will be considered statistically significant.'),
bullet('Primary outcome (30-day mortality): Chi-square test or Fisher\'s exact test. Risk ratio (RR) and 95% CI calculated. Number needed to treat (NNT) if significant.'),
bullet('Continuous outcomes (ANC recovery days, hospital stay days): Independent samples t-test (if normally distributed) or Mann-Whitney U test (if non-normal). Kaplan-Meier survival analysis with log-rank test for time-to-event outcomes.'),
bullet('Subgroup analyses: Pediatric vs. adult; bacterial vs. fungal infection; AML vs. other malignancies'),
bullet('Intention-to-treat (ITT) analysis as primary analysis. Per-protocol analysis as sensitivity analysis.'),
bullet('Multivariable logistic regression to adjust for baseline covariates (age, diagnosis, ANC at enrollment, G-CSF use, culture positivity)'),
h2('4.13 Ethical Considerations'),
bullet('Informed consent will be obtained from all patients or their legally authorized representatives before enrollment. Consent will be in both Nepali and English.'),
bullet('Participation is entirely voluntary. Refusal or withdrawal will not affect standard care in any way.'),
bullet('Risk-benefit analysis: BCGT carries known risks (febrile reactions, pulmonary complications, alloimmunization) but these are generally manageable. The potential benefit (early ANC recovery, possible mortality reduction) outweighs risk given that the alternative is death from uncontrolled infection.'),
bullet('Data confidentiality: All data will be de-identified. Patient data stored in password-protected system. Only the research team will have access.'),
bullet('Trial registration: The trial will be registered on ClinicalTrials.gov and the Nepal Health Research Council (NHRC) trials registry prior to enrollment.'),
bullet('Adverse event reporting: Serious adverse events (SAE) will be reported to IEC within 24 hours.'),
bullet('Monitoring: An independent Data Safety Monitoring Board (DSMB) of 3 members (clinician, statistician, ethicist) will review safety data at 25%, 50%, and 75% enrollment.'),
bullet('IEC approval: Full ethical approval from [Institution] IEC required before commencement.'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ CHAPTER 5: EXPECTED RESULTS & TIMELINE ═══
h1('CHAPTER 5: EXPECTED RESULTS AND TIMELINE'),
h2('5.1 Expected Results'),
p('Based on the published literature, we expect:'),
bullet('30-day mortality: 40% in standard care group vs. 20% in BCGT group (p<0.05)'),
bullet('Median time to ANC recovery: 8 days in standard care vs. 4–5 days in BCGT group'),
bullet('Days to defervescence: 7 days vs. 4 days'),
bullet('Adverse events: Febrile reactions in 20–30% of BCGT transfusions; pulmonary reactions in <5%'),
bullet('QC: 100% of 6-BC pools meeting EDQM threshold of >5 × 10⁹ granulocytes/pool'),
bullet('Cost: BCGT ~NPR 3,000–5,000 per transfusion episode (labor + irradiation) vs. estimated NPR 150,000–300,000 for apheresis GT if imported'),
h2('5.2 Gantt Chart'),
makeTable(
['Activity', 'M1-3', 'M4-6', 'M7-12', 'M13-18', 'M19-22', 'M23-24'],
[
['IEC submission & approval', '✓', '', '', '', '', ''],
['SOP development & pilot', '✓', '', '', '', '', ''],
['Staff training', '✓', '✓', '', '', '', ''],
['Patient recruitment', '', '✓', '✓', '✓', '✓', ''],
['Data collection', '', '✓', '✓', '✓', '✓', ''],
['Interim DSMB review', '', '', '✓', '✓', '', ''],
['Data analysis', '', '', '', '', '✓', '✓'],
['Thesis writing', '', '', '', '', '✓', '✓'],
['Submission', '', '', '', '', '', '✓'],
],
[30, 10, 10, 10, 10, 10, 10]
),
new Paragraph({ children: [new PageBreak()] }),
// ═══ CHAPTER 6: BUDGET ═══
h1('CHAPTER 6: BUDGET AND RESOURCE PLAN'),
h2('6.1 Detailed Budget Estimate'),
makeTable(
['Item', 'Unit Cost (NPR)', 'Quantity', 'Total (NPR)'],
[
['Sterile pooling bags (sterile connecting device sets)', '500', '200 sets', '100,000'],
['Irradiation fee (blood irradiator access per product)', '500', '180 products', '90,000'],
['Blood culture bottles (QC sterility testing)', '800', '180', '144,000'],
['CBC analyzer reagents (product QC + patient daily CBC)', '100/test', '3,000 tests', '300,000'],
['REDCap / data management system (software)', '0', 'Free (open source)', '0'],
['Research assistant salary (18 months)', '20,000/month', '18 months', '360,000'],
['Stationery, printing, consent forms', 'Lump sum', '', '20,000'],
['Data analysis (statistician consultation)', 'Lump sum', '', '30,000'],
['Dissemination (conference, publication fee)', 'Lump sum', '', '50,000'],
['Contingency (10%)', '10%', 'Of total', '109,400'],
['TOTAL', '', '', '1,203,400'],
],
[40, 20, 20, 20]
),
p('Note: Whole blood donations, centrifuge, irradiator, and blood bank infrastructure are institutional resources already available. No new capital expenditure is required.'),
h2('6.2 Funding Sources'),
bullet('Primary: Nepal Health Research Council (NHRC) Small Grant Scheme (NPR 500,000 – 1,000,000)'),
bullet('Secondary: Institutional Research Grant, [Institution Name]'),
bullet('Investigator self-funded for deficit (estimated NPR 200,000–400,000)'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ CHAPTER 7: REFERENCES ═══
h1('CHAPTER 7: REFERENCES'),
p('1. Ramachandran M, Gupta AK, Meena JP, et al. A randomized controlled trial to explore the safety and efficacy of irradiated buffy-coat granulocytes in pediatric patients with febrile neutropenia. Am J Blood Res. 2023;13(5):175–184. PMID: 38023414'),
p('2. Pammi M, Brocklehurst P. Granulocyte transfusions for neonates with confirmed or suspected sepsis and neutropenia. Cochrane Database Syst Rev. 2011 Oct 5;(10):CD003956. PMID: 21975741'),
p('3. Mohan P, Brocklehurst P. Granulocyte transfusions for neonates with confirmed or suspected sepsis and neutropaenia. Cochrane Database Syst Rev. 2003;(4):CD003956. PMID: 14584000'),
p('4. Batni K, Arora S, Dua S, et al. Feasibility of preparing whole blood-derived pooled buffy coat granulocyte concentrates for pediatric patients. Transfus Apher Sci. 2026 Feb;104373. PMID: 41505848'),
p('5. Szumowski A, Wasiluk T, Sredzinska M. Pooled granulocyte component – a worthy rival to the apheresis product? Adv Med Sci. 2026 Mar. PMID: 41587737'),
p('6. Seidel MG, Peters C, Wacker A, et al. Randomized phase III study of granulocyte transfusions in neutropenic patients. Bone Marrow Transplant. 2008;42(10):679–684. PMID: 18695660'),
p('7. Wheeler JG, Chauvenet AR, Johnson CA, et al. Buffy coat transfusions in neonates with sepsis and neutrophil storage pool depletion. Pediatrics. 1987;79(3):422–425. PMID: 3547298'),
p('8. Baley JE, Stork EK, Warkentin PI, et al. Buffy coat transfusions in neutropenic neonates with presumed sepsis: a prospective, randomized trial. Pediatrics. 1987;80(5):712–720. PMID: 3670972'),
p('9. Reiss RF, Pindyck J, Waldman AA. Transfusion of granulocyte rich buffy coats to neutropenic patients. Med Pediatr Oncol. 1982;10(4):337–344. PMID: 7144696'),
p('10. Price TH, Boeckh M, Harrison RW, et al. Efficacy of transfusion with granulocytes from G-CSF/dexamethasone-treated donors in neutropenic patients with infection. Blood. 2015;126(18):2153–2161. (RING Trial)'),
p('11. Estcourt LJ, Stanworth SJ, Doree C, et al. Granulocyte transfusions for preventing or treating infections in people with neutropenia or neutrophil dysfunction. Cochrane Database Syst Rev. 2016;4:CD005339.'),
p('12. National Health Service Blood and Transplant. INF276/6 – Clinical Guidelines for the use of Granulocyte Transfusions. Effective date: 24 April 2026.'),
p('13. Cognasse F, Desseux K, Artero V, et al. Comparative platelet activation profile between pooled granulocyte concentrates (PGC) versus apheresis (APC) and buffy coat (BC-PC) method. Transfusion. 2026 Apr. PMID: 41795168'),
p('14. Tanhehco YC, Boral L. Granulocyte transfusion therapy. Ann Blood. 2021;6:42.'),
p('15. Fauci AS, Kasper DL, et al. Harrison\'s Principles of Internal Medicine, 22nd Edition. McGraw Hill Medical; 2025.'),
p('16. McPherson RA, Pincus MR. Henry\'s Clinical Diagnosis and Management by Laboratory Methods, 24th Edition. Elsevier; 2021.'),
p('17. European Directorate for the Quality of Medicines (EDQM). Guide to the Preparation, Use and Quality Assurance of Blood Components, 21st Edition. Council of Europe; 2023.'),
p('18. World Health Organization. Safe Blood and Blood Products: Introductory Module. WHO; 2002.'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ ANNEXURE A: PATIENT INFORMATION SHEET ═══
centerBold('ANNEXURE A\nPATIENT INFORMATION SHEET (English)', 24),
blankLine(),
centerBold('[Institution Name], [City], Nepal\nDepartment of Pathology / Blood Transfusion Medicine', 22),
blankLine(),
h2('Study Title'),
p('"Buffy Coat as a Cost-Effective Granulocyte Substitute in Febrile Neutropenia and Sepsis: A Randomized Controlled Trial"'),
h2('Dear Patient / Guardian,'),
p('You (or your child) are being asked to take part in a research study. Before you decide, it is important that you understand why the research is being done, what it involves, the possible benefits and risks, and your rights as a participant. Please read this information carefully. Ask us if anything is unclear.'),
h3('Why are we doing this study?'),
p('When patients receive chemotherapy or have severe infection, their white blood cell (neutrophil) count can fall very low. This makes them highly vulnerable to life-threatening infections. One treatment is to transfuse white blood cells (granulocytes) from a healthy donor. The standard way to collect granulocytes uses a very expensive machine (leukapheresis) that is not available in Nepal.'),
p('An alternative is to use the "buffy coat" – the layer of white cells that is separated when whole blood is processed in a blood bank. By pooling the buffy coats from 6 blood donations, we can prepare a white blood cell product that can be transfused. This is much cheaper and uses equipment already present in blood banks.'),
h3('What will happen if you agree to participate?'),
p('If you agree, your name will be put into a sealed envelope. By chance (like tossing a coin), you will be placed in one of two groups:'),
bullet('Group A: You will receive your usual treatment (antibiotics, antifungals) PLUS the buffy coat white blood cell transfusion every day for at least 4 days.'),
bullet('Group B: You will receive only your usual treatment (antibiotics, antifungals). This is exactly the same treatment you would receive even if you were not in the study.'),
h3('What are the risks?'),
p('The buffy coat transfusion may cause:'),
bullet('Fever and chills during the transfusion (common; treated with paracetamol)'),
bullet('A reaction in the lungs causing breathing difficulty (uncommon; treated with oxygen and stopping the transfusion)'),
bullet('Mild rise in red blood cell count'),
h3('What are the possible benefits?'),
p('If the buffy coat transfusion works as we hope, it may: help your white blood cell count recover faster; reduce the duration of fever; possibly improve your chance of survival.'),
h3('Is participation voluntary?'),
p('Yes. Participation is completely voluntary. If you decide not to participate, or if you decide to withdraw at any time, your treatment and care will not be affected in any way.'),
h3('Will your information be kept confidential?'),
p('Yes. All information collected will be kept strictly confidential. Your name will not appear in any report or publication. Data will be stored in a password-protected computer accessible only to the research team.'),
h3('Who do you contact with questions or concerns?'),
p('Principal Investigator: [Name], [Phone number]'),
p('Supervisor: [Name], [Phone number]'),
p('IEC Secretariat, [Institution]: [Phone number]'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ ANNEXURE B: INFORMED CONSENT FORM ═══
centerBold('ANNEXURE B\nINFORMED CONSENT FORM', 24),
blankLine(),
centerBold('[Institution Name] – Ethics Committee Approved\nStudy Ref: _______________', 22),
blankLine(),
p('Study Title: "Buffy Coat as a Cost-Effective Granulocyte Substitute in Febrile Neutropenia and Sepsis: A Randomized Controlled Trial"'),
blankLine(),
proformaTable([
['Patient Name', ''],
['Age / Sex', ''],
['Hospital ID No.', ''],
['Ward / Bed No.', ''],
['Diagnosis', ''],
['Guardian Name (if applicable)', ''],
['Relationship to Patient', ''],
]),
blankLine(),
p('I, _________________________________, have read (or had read to me) the Patient Information Sheet. I have had the opportunity to ask questions and I am satisfied with the answers. I understand that:'),
bullet('Participation is voluntary and I may withdraw at any time without affecting my care.'),
bullet('Blood samples (5 mL daily) and clinical data will be collected.'),
bullet('If assigned to Group A, I will receive buffy coat transfusions in addition to standard care.'),
bullet('My personal information will remain confidential.'),
bullet('The results may be published but my identity will not be revealed.'),
blankLine(),
p('I freely agree to participate in this study.'),
blankLine(),
makeTable(
['', 'Patient/Guardian', 'Witness', 'Principal Investigator'],
[
['Name', '', '', ''],
['Signature / Thumbprint', '', '', ''],
['Date & Time', '', '', ''],
['Contact Number', '', '', ''],
],
[20, 27, 27, 26]
),
new Paragraph({ children: [new PageBreak()] }),
// ═══ ANNEXURE C: PROFORMA 1 – ENROLLMENT ═══
centerBold('ANNEXURE C\nPROFORMA 1: PATIENT ENROLLMENT AND BASELINE ASSESSMENT FORM', 24),
blankLine(),
centerText('Study ID: ____________ Date of Enrollment: ______________ Group (A/B): ______', 20),
blankLine(),
h3('SECTION 1: Patient Demographics'),
proformaTable([
['Hospital Registration Number', ''],
['Patient Full Name (initials only in data)', ''],
['Date of Birth / Age', ''],
['Sex', '☐ Male ☐ Female ☐ Other'],
['Weight (kg)', ''],
['Height (cm)', ''],
['Ward / Bed No.', ''],
['Date of Admission', ''],
['Referred from (if applicable)', ''],
['Contact Number of Guardian/NOK', ''],
]),
h3('SECTION 2: Primary Diagnosis'),
proformaTable([
['Primary Diagnosis', '☐ AML ☐ ALL ☐ CML blast ☐ Aplastic Anaemia ☐ Solid Tumor ☐ MDS ☐ Other: ________'],
['Chemotherapy Regimen (if applicable)', ''],
['Cycle Number', ''],
['Date of Last Chemotherapy', ''],
['Other Immunosuppressive Drugs', ''],
['Underlying co-morbidities', '☐ DM ☐ CKD ☐ HIV ☐ HBV ☐ HCV ☐ None ☐ Other:'],
]),
h3('SECTION 3: Infection Details at Enrollment'),
proformaTable([
['Date of Fever Onset', ''],
['Maximum Temperature Recorded (°C)', ''],
['Site of Infection', '☐ Bloodstream ☐ Pneumonia ☐ Soft tissue ☐ UTI ☐ Unknown ☐ Other:'],
['Blood Culture (Day 0)', '☐ Pending ☐ Positive: Organism _______ ☐ Negative ☐ Not done'],
['Other Culture Result', ''],
['Antibiotic(s) in use at enrollment', ''],
['Duration of current antibiotic therapy before enrollment (days)', ''],
['Antifungal in use', '☐ Yes: ______ ☐ No'],
['Response to current antibiotics before enrollment', '☐ No response ☐ Partial response'],
]),
h3('SECTION 4: Baseline Laboratory Values'),
makeTable(
['Test', 'Value', 'Unit', 'Date/Time'],
[
['Haemoglobin', '', 'g/dL', ''],
['WBC Count', '', '× 10³/μL', ''],
['Absolute Neutrophil Count (ANC)', '', 'cells/μL', ''],
['Platelet Count', '', '× 10³/μL', ''],
['Serum Creatinine', '', 'mg/dL', ''],
['ALT / AST', '', 'U/L', ''],
['Total Bilirubin', '', 'mg/dL', ''],
['CRP / PCT (if available)', '', 'mg/L / ng/mL', ''],
['SpO₂ on room air', '', '%', ''],
['Blood Group (ABO/Rh)', '', '', ''],
['Antibody Screen', '', '☐ Pos ☐ Neg', ''],
],
[30, 25, 20, 25]
),
h3('SECTION 5: Enrollment Eligibility Checklist'),
makeTable(
['Criterion', 'Met?'],
[
['ANC <500/μL (or <1000 with expected decline)', '☐ Yes ☐ No'],
['Fever ≥38.3°C or ≥38.0°C sustained >1h', '☐ Yes ☐ No'],
['≥48h appropriate antibiotics without response', '☐ Yes ☐ No'],
['Expected marrow recovery', '☐ Yes ☐ No'],
['No ABO incompatibility with available donor pool', '☐ Yes ☐ No'],
['No severe volume intolerance', '☐ Yes ☐ No'],
['Signed informed consent obtained', '☐ Yes ☐ No'],
['Enrolled in another interventional trial', '☐ Yes (EXCLUDE) ☐ No'],
],
[70, 30]
),
p('ELIGIBLE FOR ENROLLMENT: ☐ YES ☐ NO (Reason: _________________)'),
p('If eligible, randomization envelope number opened: _______ Allocated to Group: ____'),
p('PI Signature: _______________________ Date: _____________'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ ANNEXURE D: PROFORMA 2 – DAILY CLINICAL FORM ═══
centerBold('ANNEXURE D\nPROFORMA 2: DAILY CLINICAL ASSESSMENT FORM', 24),
blankLine(),
centerText('Study ID: ____________ Patient Name (initials): ________ Group: _____', 20),
blankLine(),
makeTable(
['Day', 'Date', 'Temp (°C) Max', 'ANC /μL', 'Hb g/dL', 'Plt ×10³', 'ANC >500?', 'Afebrile?', 'Blood Culture', 'Antibiotics Changed?', 'G-CSF given?', 'BCGT given? (Group A)', 'Clinical Status', 'Adverse Events', 'Clinician Sign'],
[
['0 (Enrollment)', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '☐Pos☐Neg☐Pend', '☐Y☐N', '☐Y☐N', 'N/A', '', '', ''],
['1', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['2', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['3', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['4', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['5', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['6', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['7', '', '', '', '', '', '☐Y☐N', '☐Y☐N', 'BC D7', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['8', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['10', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['14', '', '', '', '', '', '☐Y☐N', '☐Y☐N', 'BC D14', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['21', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
['30', '', '', '', '', '', '☐Y☐N', '☐Y☐N', '—', '☐Y☐N', '☐Y☐N', '☐Y☐N', '', '', ''],
],
[4, 6, 6, 6, 5, 5, 5, 5, 7, 7, 6, 8, 8, 8, 8]
),
p('Clinical Status codes: S = Stable, I = Improving, W = Worsening, ICU = Admitted to ICU, D = Deceased, DC = Discharged'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ ANNEXURE E: PROFORMA 3 – TRANSFUSION REACTION ═══
centerBold('ANNEXURE E\nPROFORMA 3: TRANSFUSION REACTION MONITORING FORM\n(Complete for EVERY BCGT Transfusion – Group A Only)', 24),
blankLine(),
proformaTable([
['Study ID', ''],
['Date of Transfusion', ''],
['Transfusion Number (1st / 2nd / 3rd...)', ''],
['Product Lot Number', ''],
['ABO Group of Product', ''],
['Volume Transfused (mL)', ''],
['Start Time of Transfusion', ''],
['End Time of Transfusion', ''],
['Filter type used', '☐ 150 μm standard ☐ Other: ______'],
['Pre-medication given?', '☐ Paracetamol ☐ Chlorpheniramine ☐ None'],
['Concurrent amphotericin B?', '☐ Yes (time gap: ___ h) ☐ No'],
]),
h3('VITAL SIGNS MONITORING TABLE'),
makeTable(
['Time Point', 'BP (mmHg)', 'HR (/min)', 'RR (/min)', 'Temp (°C)', 'SpO₂ (%)', 'Nurse Sign'],
[
['Pre-transfusion (Baseline)', '', '', '', '', '', ''],
['15 min after start', '', '', '', '', '', ''],
['30 min', '', '', '', '', '', ''],
['60 min', '', '', '', '', '', ''],
['End of transfusion', '', '', '', '', '', ''],
['1 hour post', '', '', '', '', '', ''],
['4 hours post', '', '', '', '', '', ''],
],
[20, 12, 12, 12, 12, 12, 20]
),
h3('ADVERSE EVENT RECORDING'),
makeTable(
['Symptom/Sign', 'Present?', 'Onset Time', 'Severity (Mild/Moderate/Severe)', 'Action Taken', 'Outcome'],
[
['Fever (≥1°C rise from baseline)', '☐Y☐N', '', '', '', ''],
['Rigors / Chills', '☐Y☐N', '', '', '', ''],
['Urticaria / Rash', '☐Y☐N', '', '', '', ''],
['Dyspnoea / Cough', '☐Y☐N', '', '', '', ''],
['SpO₂ drop >3% from baseline', '☐Y☐N', '', '', '', ''],
['Hypotension (>20 mmHg drop)', '☐Y☐N', '', '', '', ''],
['Tachycardia (>20 bpm rise)', '☐Y☐N', '', '', '', ''],
['Back/Chest Pain', '☐Y☐N', '', '', '', ''],
['Haemoglobinuria', '☐Y☐N', '', '', '', ''],
['Transfusion stopped early?', '☐Y☐N', '', '', '', ''],
],
[28, 8, 10, 18, 18, 18]
),
p('Overall reaction grade: ☐ Grade 0 (None) ☐ Grade 1 (Mild) ☐ Grade 2 (Moderate) ☐ Grade 3 (Severe/SAE)'),
p('SAE reported to IEC: ☐ Yes (date: ________) ☐ No (not applicable)'),
p('Physician Signature: _________________________ Date: ________________'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ ANNEXURE F: PROFORMA 4 – BLOOD BANK SOP & QC ═══
centerBold('ANNEXURE F\nPROFORMA 4: BLOOD BANK SOP RECORD &\nPRODUCT QUALITY CONTROL FORM', 24),
blankLine(),
proformaTable([
['Date of Preparation', ''],
['Prepared by (Blood Bank Staff Name)', ''],
['Supervised by', ''],
['Pool Number (sequential)', ''],
['Patient Study ID (for whom prepared)', ''],
]),
h3('DONOR UNITS INCLUDED IN THIS POOL'),
makeTable(
['Unit #', 'Donation ID', 'ABO/Rh', 'Collection Date/Time', 'Volume Collected (mL)', 'TTI Status (HIV/HBV/HCV/Syphilis)', 'Individual BC Volume (mL)', 'WBC ×10³/μL'],
[
['1', '', '', '', '', '☐ All Non-reactive', '', ''],
['2', '', '', '', '', '☐ All Non-reactive', '', ''],
['3', '', '', '', '', '☐ All Non-reactive', '', ''],
['4', '', '', '', '', '☐ All Non-reactive', '', ''],
['5', '', '', '', '', '☐ All Non-reactive', '', ''],
['6', '', '', '', '', '☐ All Non-reactive', '', ''],
],
[5, 15, 8, 15, 10, 18, 12, 17]
),
h3('PROCESSING RECORD'),
proformaTable([
['Time from collection to processing start', 'hrs (must be <8h)'],
['Centrifuge Model/ID', ''],
['First Spin: Speed × g / Time / Temp', '____× g / ____ min / 20°C'],
['Second Spin (RBC reduction): Speed / Time', '3,000 × g / 5 min'],
['Pooling start time', ''],
['Pooling method', '☐ Sterile connecting device ☐ Sterile laminar flow cabinet'],
['Irradiation facility used', ''],
['Irradiation dose delivered (Gy)', '25 Gy (verify with Rad-Sure indicator)'],
['Rad-Sure indicator color change confirmed?', '☐ Yes ☐ No'],
['Time of irradiation completion', ''],
['Final product stored at', '20–24°C on agitator'],
['Expiry time (24h from pooling)', ''],
]),
h3('PRODUCT QUALITY CONTROL RESULTS'),
makeTable(
['QC Parameter', 'Result', 'EDQM Standard', 'Pass/Fail'],
[
['Total volume (mL)', '', '200–400 mL', ''],
['Visual inspection (color, clots, hemolysis)', '', 'No clots, no gross hemolysis', ''],
['Total WBC Count (×10⁹)', '', '>5 × 10⁹', ''],
['Granulocyte Count (×10⁹)', '', '>5 × 10⁹', ''],
['Haematocrit (%)', '', '<45%', ''],
['Platelet Count (×10⁹)', '', 'Not specified, record', ''],
['Sterility culture (aerobic + anaerobic)', '', 'No growth', ''],
['Residual RBC content', '', 'Acceptable for patient weight', ''],
],
[28, 20, 28, 24]
),
p('QC Overall Result: ☐ PASS – Product released for transfusion ☐ FAIL – Product discarded (Reason: _______________)'),
p('Releasing Officer Signature: _______________________ Date/Time: _________________'),
new Paragraph({ children: [new PageBreak()] }),
// ═══ ANNEXURE G: PROFORMA 5 – LABORATORY RESULTS ═══
centerBold('ANNEXURE G\nPROFORMA 5: SERIAL LABORATORY RESULT SHEET', 24),
blankLine(),
centerText('Study ID: ____________ Group: _____ Diagnosis: _______________________', 20),
blankLine(),
h3('Complete Blood Count – Serial Results'),
makeTable(
['Test', 'Day 0', 'Day 1', 'Day 2', 'Day 3', 'Day 4', 'Day 5', 'Day 7', 'Day 10', 'Day 14', 'Day 21', 'Day 30'],
[
['Hb (g/dL)', '', '', '', '', '', '', '', '', '', '', ''],
['WBC (×10³/μL)', '', '', '', '', '', '', '', '', '', '', ''],
['ANC (/μL)', '', '', '', '', '', '', '', '', '', '', ''],
['Neutrophils (%)', '', '', '', '', '', '', '', '', '', '', ''],
['Lymphocytes (%)', '', '', '', '', '', '', '', '', '', '', ''],
['Platelet (×10³/μL)', '', '', '', '', '', '', '', '', '', '', ''],
['Haematocrit (%)', '', '', '', '', '', '', '', '', '', '', ''],
],
[12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]
),
h3('Biochemistry / Inflammatory Markers'),
makeTable(
['Test', 'Day 0', 'Day 7', 'Day 14', 'Day 30'],
[
['Creatinine (mg/dL)', '', '', '', ''],
['ALT (U/L)', '', '', '', ''],
['Total Bilirubin (mg/dL)', '', '', '', ''],
['CRP (mg/L)', '', '', '', ''],
['Procalcitonin (ng/mL)', '', '', '', ''],
['Ferritin (ng/mL)', '', '', '', ''],
['LDH (U/L)', '', '', '', ''],
],
[30, 18, 18, 17, 17]
),
h3('Microbiology Results'),
makeTable(
['Culture Type', 'Day 0', 'Day 7', 'Day 14'],
[
['Blood Culture – Result', '', '', ''],
['Blood Culture – Organism', '', '', ''],
['Blood Culture – Sensitivity', '', '', ''],
['Other culture site', '', '', ''],
['Other culture result', '', '', ''],
],
[30, 23, 23, 24]
),
new Paragraph({ children: [new PageBreak()] }),
// ═══ ANNEXURE H: PROFORMA 6 – OUTCOME & DISCHARGE ═══
centerBold('ANNEXURE H\nPROFORMA 6: OUTCOME AND DISCHARGE SUMMARY FORM', 24),
blankLine(),
proformaTable([
['Study ID', ''],
['Group (A / B)', ''],
['Date of Enrollment', ''],
['Date of Discharge / Death / Day 30', ''],
['Length of Hospital Stay (days)', ''],
]),
h3('PRIMARY OUTCOME'),
proformaTable([
['30-day Status', '☐ Alive ☐ Deceased'],
['Date of Death (if applicable)', ''],
['Cause of Death', '☐ Infection ☐ Bleeding ☐ Organ failure ☐ Disease progression ☐ Other: ____'],
['Autopsy performed?', '☐ Yes ☐ No'],
]),
h3('SECONDARY OUTCOMES'),
proformaTable([
['Day ANC first reached >500/μL (Day from enrollment)', ''],
['ANC confirmed >500/μL for 2 consecutive days', '☐ Yes (Day _____) ☐ No'],
['Day defervescence achieved (T <37.5°C for 48h)', ''],
['Total antibiotic duration (days from enrollment to last antibiotic dose)', ''],
['Total antifungal duration (days)', ''],
['Total number of BCGT transfusions received (Group A)', ''],
['G-CSF (filgrastim) used during this episode?', '☐ Yes (_____ doses) ☐ No'],
['Blood culture clearance achieved by Day 14?', '☐ Yes ☐ No ☐ Not applicable'],
['ICU admission during this episode?', '☐ Yes (days ___) ☐ No'],
['Readmission within 30 days?', '☐ Yes ☐ No'],
['Allergy / Transfusion reaction (Group A)', '☐ Yes (grade ___) ☐ No ☐ N/A'],
]),
h3('COST ANALYSIS (Group A)'),
makeTable(
['Cost Item', 'Unit Cost (NPR)', 'Quantity', 'Total (NPR)'],
[
['Buffy coat pooling labor (per pool)', '200', '', ''],
['Irradiation cost (per pool)', '500', '', ''],
['Sterile connecting sets/bags', '500', '', ''],
['QC testing (CBC × products)', '200', '', ''],
['Sterility culture (if done)', '800', '', ''],
['TOTAL BCGT cost per episode', '', '', ''],
['Equivalent apheresis GT cost (estimated)', 'NPR 150,000–300,000 per episode', '', 'N/A'],
['Cost savings vs. apheresis', '', '', ''],
],
[35, 25, 20, 20]
),
h3('DISCHARGE INFORMATION'),
proformaTable([
['Discharge Diagnosis', ''],
['Discharge ANC (/μL)', ''],
['Discharge Hb (g/dL)', ''],
['Discharge Platelet Count', ''],
['Discharged on antibiotics?', '☐ Yes: _______ ☐ No'],
['Follow-up appointment given?', '☐ Yes: _______ ☐ No'],
['30-day outcome confirmed (from records/phone)?', '☐ Alive ☐ Deceased ☐ Lost to follow-up'],
['Clinician completing form', ''],
['Signature', ''],
['Date', ''],
]),
new Paragraph({ children: [new PageBreak()] }),
// ═══ ANNEXURE I: IEC CHECKLIST ═══
centerBold('ANNEXURE I\nINSTITUTIONAL ETHICS COMMITTEE (IEC) / IRB\nSUBMISSION CHECKLIST', 24),
blankLine(),
p('To be completed and submitted with full protocol package to IEC / Nepal Health Research Council (NHRC).'),
makeTable(
['No.', 'Document Required', 'Included?', 'Page/Ref'],
[
['1', 'Cover letter to IEC', '☐ Yes ☐ No', ''],
['2', 'Full research protocol (this document)', '☐ Yes ☐ No', ''],
['3', 'Patient Information Sheet (English)', '☐ Yes ☐ No', 'Annexure A'],
['4', 'Patient Information Sheet (Nepali)', '☐ Yes ☐ No', 'Annexure A'],
['5', 'Informed Consent Form (English + Nepali)', '☐ Yes ☐ No', 'Annexure B'],
['6', 'Assent form (for children 7–17 years)', '☐ Yes ☐ No', ''],
['7', 'CV of Principal Investigator', '☐ Yes ☐ No', ''],
['8', 'CV of Supervisor / Co-Supervisor', '☐ Yes ☐ No', ''],
['9', 'IEC application form (institution-specific)', '☐ Yes ☐ No', ''],
['10', 'NHRC clearance application form', '☐ Yes ☐ No', ''],
['11', 'Detailed budget and funding source declaration', '☐ Yes ☐ No', 'Ch. 6'],
['12', 'Gantt chart / timeline', '☐ Yes ☐ No', 'Ch. 5'],
['13', 'Blood bank SOP for buffy coat preparation', '☐ Yes ☐ No', 'Annexure F'],
['14', 'Data safety monitoring plan (DSMB composition)', '☐ Yes ☐ No', ''],
['15', 'ClinicalTrials.gov registration (if pre-registered)', '☐ Yes ☐ No', ''],
['16', 'Serious Adverse Event (SAE) reporting plan', '☐ Yes ☐ No', ''],
['17', 'Data management and confidentiality plan', '☐ Yes ☐ No', ''],
['18', 'Conflict of interest declaration', '☐ Yes ☐ No', ''],
['19', 'Institutional support letter from Department Head', '☐ Yes ☐ No', ''],
['20', 'Blood bank support letter confirming irradiator access', '☐ Yes ☐ No', ''],
],
[5, 55, 20, 20]
),
blankLine(),
p('PI Signature: _______________________ Date: _________________'),
p('Submitted to IEC on: _______________________'),
p('IEC Reference Number received: _______________________'),
p('NHRC Clearance Number: _______________________'),
],
},
],
});
// WRITE FILE
Packer.toBuffer(doc).then((buffer) => {
fs.writeFileSync('/home/daytona/workspace/buffy-coat-thesis/Buffy_Coat_Thesis_Nepal.docx', buffer);
console.log('SUCCESS: Thesis DOCX written.');
}).catch((err) => {
console.error('ERROR:', err);
});