make protocol for thesis topic "Study of clinical spectrum and management outcomes of Corneal and Ocular Surface Injuries Following firecracker trauma" according to below pdf
cd /home/daytona/skills/docx && pandoc /home/daytona/workspace/attachments/09eeb920-166c-4254-9626-d478f02fb57e/"Thesis protocol template Dr PRB SHSRC.docx" -o /tmp/template_output.md 2>&1 && cat /tmp/template_output.md
firecracker firework ocular injury corneal
/home/daytona/skills/docx
ls /home/daytona/skills/docx/scripts/ && ls /home/daytona/workspace/
mkdir -p /home/daytona/workspace/firecracker-thesis && node -e "require('docx')" 2>&1 && echo "docx available"
~/firecracker-thesis/generate_protocol.js
const {
Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
HeadingLevel, AlignmentType, BorderStyle, WidthType, VerticalAlign,
PageNumber, Header, Footer, ShadingType, UnderlineType
} = require('docx');
const fs = require('fs');
// Helper: bold centered heading paragraph
function heading1(text) {
return new Paragraph({
heading: HeadingLevel.HEADING_1,
alignment: AlignmentType.CENTER,
children: [new TextRun({ text, bold: true, size: 28, font: "Times New Roman" })]
});
}
function heading2(text) {
return new Paragraph({
heading: HeadingLevel.HEADING_2,
children: [new TextRun({ text, bold: true, underline: { type: UnderlineType.SINGLE }, size: 26, font: "Times New Roman" })]
});
}
function heading3(text) {
return new Paragraph({
heading: HeadingLevel.HEADING_3,
children: [new TextRun({ text, bold: true, size: 24, font: "Times New Roman" })]
});
}
function para(text, opts = {}) {
return new Paragraph({
alignment: opts.center ? AlignmentType.CENTER : AlignmentType.JUSTIFIED,
spacing: { after: 120, line: 360 },
children: [new TextRun({ text, bold: opts.bold || false, size: 24, font: "Times New Roman", italics: opts.italic || false })]
});
}
function bullet(text) {
return new Paragraph({
bullet: { level: 0 },
spacing: { after: 80 },
children: [new TextRun({ text, size: 24, font: "Times New Roman" })]
});
}
function subbullet(text) {
return new Paragraph({
bullet: { level: 1 },
spacing: { after: 80 },
children: [new TextRun({ text, size: 24, font: "Times New Roman" })]
});
}
function emptyLine() {
return new Paragraph({ children: [new TextRun({ text: "" })] });
}
function pageBreak() {
return new Paragraph({ pageBreakBefore: true, children: [new TextRun({ text: "" })] });
}
function titleLine(text) {
return new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 120 },
children: [new TextRun({ text, bold: true, size: 28, font: "Times New Roman", allCaps: true, underline: { type: UnderlineType.SINGLE } })]
});
}
function centerBold(text, size = 24) {
return new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 100 },
children: [new TextRun({ text, bold: true, size, font: "Times New Roman" })]
});
}
function centerNormal(text, size = 24) {
return new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 100 },
children: [new TextRun({ text, size, font: "Times New Roman" })]
});
}
// Simple bordered table helper
function makeTable(rows, colWidths) {
return new Table({
width: { size: 9000, type: WidthType.DXA },
rows: rows.map(rowData =>
new TableRow({
children: rowData.map((cell, idx) =>
new TableCell({
width: colWidths ? { size: colWidths[idx], type: WidthType.DXA } : undefined,
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({
spacing: { after: 80 },
children: [new TextRun({ text: cell.text || cell, bold: cell.bold || false, size: 22, font: "Times New Roman" })]
})]
})
)
})
)
});
}
// Gantt table
function makeGanttTable() {
const headers = ["Activity", "Q1\nY1", "Q2\nY1", "Q3\nY1", "Q4\nY1", "Q1\nY2", "Q2\nY2", "Q3\nY2", "Q4\nY2", "Q1\nY3", "Q2\nY3", "Q3\nY3", "Q4\nY3"];
const activities = [
["Review of Literature", "✔", "✔", "✔", "✔", "", "", "", "✔", "✔", "✔", "✔", ""],
["Thesis Protocol Preparation", "", "", "✔", "", "", "", "", "", "", "", "", ""],
["Dissertation Screening Committee Submission", "", "", "✔", "✔", "", "", "", "", "", "", "", ""],
["IEC Submission", "", "", "", "✔", "✔", "", "", "", "", "", "", ""],
["Data Collection", "", "", "", "", "✔", "✔", "✔", "✔", "✔", "", "", ""],
["Data Entry and Analysis", "", "", "", "", "", "", "", "✔", "✔", "", "", ""],
["Thesis Report Writing", "", "", "", "", "", "", "", "", "✔", "✔", "✔", ""],
["Thesis Submission", "", "", "", "", "", "", "", "", "", "", "", "✔"],
];
const colW = [3000, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, 450];
const allRows = [headers, ...activities];
return new Table({
width: { size: 9500, type: WidthType.DXA },
rows: allRows.map((rowData, ri) =>
new TableRow({
children: rowData.map((cell, ci) =>
new TableCell({
width: { size: colW[ci], type: WidthType.DXA },
shading: ri === 0 ? { type: ShadingType.CLEAR, fill: "BDD7EE" } : undefined,
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 40 },
children: [new TextRun({ text: cell, bold: ri === 0, size: 18, font: "Times New Roman" })]
})]
})
)
})
)
});
}
// Objectives-Outcomes-Endpoints table
function makeOOETable() {
const rows = [
[{text:"Objective", bold:true}, {text:"Outcome Variable", bold:true}, {text:"Endpoint", bold:true}],
["To describe the clinical spectrum of corneal and ocular surface injuries", "Types and frequency of injuries (corneal abrasion, laceration, FB, chemical burn, thermal burn, etc.)", "Distribution of injury types as percentage of total patients"],
["To assess visual acuity at presentation and at follow-up", "Best Corrected Visual Acuity (BCVA) using Snellen chart", "Change in BCVA from baseline to 6 weeks post-treatment"],
["To evaluate management modalities and their outcomes", "Medical and surgical interventions (topical antibiotics, steroids, patching, primary repair, keratoplasty, enucleation)", "Success rate defined as BCVA ≥ 6/18 or improvement by ≥ 2 Snellen lines at 6 weeks"],
["To identify predictors of poor visual outcome", "Injury severity score (BETT classification), extent of corneal involvement, associated intraocular injury", "Logistic regression-identified independent risk factors for final BCVA < 6/60"],
["To study the demographic and epidemiological profile", "Age, sex, laterality, time of injury, circumstance (bystander vs. handler)", "Frequency distribution of demographic variables"],
];
return new Table({
width: { size: 9000, type: WidthType.DXA },
rows: rows.map((rowData, ri) =>
new TableRow({
children: rowData.map((cell, ci) =>
new TableCell({
width: { size: [3000, 3000, 3000][ci], type: WidthType.DXA },
shading: ri === 0 ? { type: ShadingType.CLEAR, fill: "BDD7EE" } : undefined,
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({
spacing: { after: 60 },
children: [new TextRun({ text: cell.text || cell, bold: cell.bold || false, size: 20, font: "Times New Roman" })]
})]
})
)
})
)
});
}
// Data codebook table
function makeCodebookTable() {
const cols = ["Variable Name", "Code / Values", "Type", "Aligned Objective"];
const rows = [
["Study ID", "Unique numeric code", "Nominal", "All"],
["Age (years)", "Numeric", "Continuous", "Obj 5"],
["Sex", "1=Male, 2=Female, 3=Other", "Nominal", "Obj 5"],
["Laterality", "1=Right, 2=Left, 3=Bilateral", "Nominal", "Obj 5"],
["Time from injury to presentation (hrs)", "Numeric", "Continuous", "Obj 5"],
["Circumstance", "1=Handler, 2=Bystander, 3=Unknown", "Nominal", "Obj 5"],
["Type of firecracker", "1=Sparkler, 2=Rocket, 3=Cracker/bomb, 4=Other", "Nominal", "Obj 1"],
["Primary injury type", "1=Corneal abrasion, 2=Corneal laceration, 3=Full-thickness laceration, 4=Chemical burn, 5=Thermal burn, 6=IOFB, 7=Hyphaema, 8=Lens injury, 9=Retinal injury, 10=Vitreous haemorrhage, 11=Combination", "Nominal", "Obj 1"],
["BETT Zone", "1=Zone I (anterior segment), 2=Zone II (to 5mm post limbus), 3=Zone III (posterior)", "Nominal", "Obj 4"],
["Open globe", "0=No, 1=Yes", "Nominal", "Obj 1"],
["BCVA at presentation", "Snellen fraction converted to LogMAR", "Continuous", "Obj 2"],
["BCVA at 2 weeks", "LogMAR", "Continuous", "Obj 2"],
["BCVA at 6 weeks", "LogMAR", "Continuous", "Obj 2"],
["IOP at presentation (mmHg)", "Numeric", "Continuous", "Obj 2"],
["Management - medical", "1=Topical antibiotics, 2=Topical steroids, 3=Cycloplegics, 4=Anti-glaucoma, 5=Therapeutic CL, 6=Combination", "Nominal", "Obj 3"],
["Management - surgical", "0=None, 1=Primary repair, 2=Corneal suturing, 3=DALK, 4=PKP, 5=PPV, 6=Enucleation/evisceration", "Nominal", "Obj 3"],
["Final BCVA at 3 months", "LogMAR", "Continuous", "Obj 3,4"],
["Adverse outcome (BCVA < 6/60)", "0=No, 1=Yes", "Nominal", "Obj 4"],
["Complications", "1=Corneal scarring, 2=Symblepharon, 3=Secondary glaucoma, 4=Cataract, 5=Phthisis, 6=None", "Nominal", "Obj 1,3"],
];
return new Table({
width: { size: 9500, type: WidthType.DXA },
rows: [cols, ...rows].map((rowData, ri) =>
new TableRow({
children: rowData.map((cell, ci) =>
new TableCell({
width: { size: [2200, 3000, 1800, 2500][ci], type: WidthType.DXA },
shading: ri === 0 ? { type: ShadingType.CLEAR, fill: "BDD7EE" } : undefined,
verticalAlign: VerticalAlign.CENTER,
children: [new Paragraph({
spacing: { after: 60 },
children: [new TextRun({ text: cell, bold: ri === 0, size: 20, font: "Times New Roman" })]
})]
})
)
})
)
});
}
// Dummy tables
function makeDummyTable1() {
// Table 1: Demographic profile
const cols = ["Variable", "Category", "n", "%"];
const rows = [
["Age group", "< 15 years", "", ""],
["", "15–30 years", "", ""],
["", "31–50 years", "", ""],
["", "> 50 years", "", ""],
["Sex", "Male", "", ""],
["", "Female", "", ""],
["Laterality", "Right eye", "", ""],
["", "Left eye", "", ""],
["", "Bilateral", "", ""],
["Circumstance", "Handler", "", ""],
["", "Bystander", "", ""],
];
return new Table({
width: { size: 9000, type: WidthType.DXA },
rows: [cols, ...rows].map((rowData, ri) =>
new TableRow({
children: rowData.map((cell, ci) =>
new TableCell({
shading: ri === 0 ? { type: ShadingType.CLEAR, fill: "BDD7EE" } : undefined,
children: [new Paragraph({
spacing: { after: 60 },
children: [new TextRun({ text: cell, bold: ri === 0, size: 22, font: "Times New Roman" })]
})]
})
)
})
)
});
}
function makeDummyTable2() {
const cols = ["Type of Ocular Injury", "n", "% of cases", "Open Globe n (%)"];
const rows = [
["Corneal abrasion", "", "", ""],
["Corneal foreign body", "", "", ""],
["Corneal laceration (partial thickness)", "", "", ""],
["Full-thickness corneal laceration", "", "", ""],
["Conjunctival tear", "", "", ""],
["Thermal burn (corneal/conjunctival)", "", "", ""],
["Chemical burn", "", "", ""],
["Hyphaema", "", "", ""],
["Lens injury / Traumatic cataract", "", "", ""],
["Vitreous haemorrhage", "", "", ""],
["Retinal injury", "", "", ""],
["Combined injuries", "", "", ""],
["Total", "", "", ""],
];
return new Table({
width: { size: 9000, type: WidthType.DXA },
rows: [cols, ...rows].map((rowData, ri) =>
new TableRow({
children: rowData.map((cell, ci) =>
new TableCell({
shading: ri === 0 ? { type: ShadingType.CLEAR, fill: "BDD7EE" } : undefined,
children: [new Paragraph({
spacing: { after: 60 },
children: [new TextRun({ text: cell, bold: ri === 0, size: 22, font: "Times New Roman" })]
})]
})
)
})
)
});
}
function makeDummyTable3() {
const cols = ["Management", "n", "% of cases", "Mean final BCVA (LogMAR)", "Success rate (BCVA ≥ 6/18)"];
const rows = [
["Medical management only", "", "", "", ""],
["Primary surgical repair", "", "", "", ""],
["Corneal suturing", "", "", "", ""],
["Penetrating Keratoplasty (PKP)", "", "", "", ""],
["Deep Anterior Lamellar Keratoplasty (DALK)", "", "", "", ""],
["Pars Plana Vitrectomy (PPV)", "", "", "", ""],
["Enucleation / Evisceration", "", "", "", ""],
["Combined surgical procedures", "", "", "", ""],
];
return new Table({
width: { size: 9500, type: WidthType.DXA },
rows: [cols, ...rows].map((rowData, ri) =>
new TableRow({
children: rowData.map((cell, ci) =>
new TableCell({
shading: ri === 0 ? { type: ShadingType.CLEAR, fill: "BDD7EE" } : undefined,
children: [new Paragraph({
spacing: { after: 60 },
children: [new TextRun({ text: cell, bold: ri === 0, size: 20, font: "Times New Roman" })]
})]
})
)
})
)
});
}
///////////////////////////////////////////////////////////
// Build the document
///////////////////////////////////////////////////////////
const doc = new Document({
styles: {
default: {
document: {
run: { font: "Times New Roman", size: 24 },
paragraph: { spacing: { line: 360 } }
}
}
},
sections: [{
properties: {
page: {
margin: { top: 1440, bottom: 1440, left: 1440, right: 1080 }
}
},
children: [
// ======== COVER PAGE ========
emptyLine(), emptyLine(),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 200 },
children: [new TextRun({ text: "DISSERTATION PROTOCOL", bold: true, size: 32, font: "Times New Roman", underline: { type: UnderlineType.SINGLE }, allCaps: true })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 200 },
children: [new TextRun({ text: "FOR MS (OPHTHALMOLOGY)", bold: true, size: 28, font: "Times New Roman" })]
}),
emptyLine(),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 160 },
children: [new TextRun({ text: "STUDY PERIOD: 1.5 Years", bold: true, size: 26, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 160 },
children: [new TextRun({ text: "(July 2026 - December 2027)", size: 24, font: "Times New Roman" })]
}),
emptyLine(), emptyLine(),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 160 },
children: [new TextRun({ text: '"STUDY OF CLINICAL SPECTRUM AND MANAGEMENT OUTCOMES OF CORNEAL AND OCULAR SURFACE INJURIES FOLLOWING FIRECRACKER TRAUMA"', bold: true, size: 26, font: "Times New Roman" })]
}),
emptyLine(), emptyLine(),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 100 },
children: [new TextRun({ text: "Submitted by:", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 100 },
children: [new TextRun({ text: "[NAME OF CANDIDATE]", bold: true, size: 24, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 100 },
children: [new TextRun({ text: "2nd Year Resident, Department of Ophthalmology", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 100 },
children: [new TextRun({ text: "[Name of Medical College]", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 100 },
children: [new TextRun({ text: "Contact Number: ________________", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 100 },
children: [new TextRun({ text: "Date of Submission: ________________", size: 24, font: "Times New Roman" })]
}),
// ======== PROPOSAL LETTER ========
pageBreak(),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "PROPOSAL", bold: true, underline: { type: UnderlineType.SINGLE }, size: 28, font: "Times New Roman" })]
}),
emptyLine(),
para("To,"),
para("The Chairperson"),
para("Institutional Ethics Committee,"),
para("[Name of Medical College]"),
para("[City]"),
emptyLine(),
para("[Name of Candidate]"),
para("2nd Year Resident, Department of Ophthalmology,"),
para("[Name of Medical College]"),
emptyLine(),
new Paragraph({
spacing: { after: 100 },
children: [
new TextRun({ text: "Date: ", size: 24, font: "Times New Roman" }),
new TextRun({ text: "________________", size: 24, font: "Times New Roman" }),
new TextRun({ text: " Mob. No.: ", size: 24, font: "Times New Roman" }),
new TextRun({ text: "________________", size: 24, font: "Times New Roman" }),
]
}),
emptyLine(),
new Paragraph({
spacing: { after: 120 },
children: [
new TextRun({ text: "Subject: ", bold: true, size: 24, font: "Times New Roman" }),
new TextRun({ text: "To grant ethical approval to conduct the study for the dissertation entitled ", size: 24, font: "Times New Roman" }),
new TextRun({ text: '"Study of Clinical Spectrum and Management Outcomes of Corneal and Ocular Surface Injuries Following Firecracker Trauma"', bold: true, size: 24, font: "Times New Roman" }),
]
}),
emptyLine(),
para("Respected Sir/Ma'am,"),
new Paragraph({
alignment: AlignmentType.JUSTIFIED,
spacing: { after: 120, line: 360 },
children: [
new TextRun({ text: "I, ", size: 24, font: "Times New Roman" }),
new TextRun({ text: "[Name of Candidate]", bold: true, size: 24, font: "Times New Roman" }),
new TextRun({ text: ", 2nd Year Resident in Department of Ophthalmology, [Name of Medical College], have been assigned the thesis topic: ", size: 24, font: "Times New Roman" }),
new TextRun({ text: '"Study of Clinical Spectrum and Management Outcomes of Corneal and Ocular Surface Injuries Following Firecracker Trauma"', bold: true, size: 24, font: "Times New Roman" }),
new TextRun({ text: " under the guidance of my P.G. Teacher, ", size: 24, font: "Times New Roman" }),
new TextRun({ text: "Dr. [Guide Name], (Degree), [Designation]", bold: true, size: 24, font: "Times New Roman" }),
new TextRun({ text: ", Department of Ophthalmology, [Name of Medical College].", size: 24, font: "Times New Roman" }),
]
}),
para("A synopsis of my dissertation has been attached overleaf. Kindly grant me ethical approval to conduct the dissertation."),
emptyLine(),
para("Yours faithfully,"),
emptyLine(),
emptyLine(),
para("[Name of Candidate]"),
para("2nd Year Resident"),
para("Department of Ophthalmology"),
para("[Name of Medical College]"),
emptyLine(),
makeTable([
[{text:"Guided by:", bold:true}, {text:"Approved by:", bold:true}],
["[Name of Guide]", "Dissertation Screening Committee"],
["[Designation]", "Department of Ophthalmology"],
["Department of Ophthalmology", "[Name of Medical College]"],
["[Name of Medical College]", ""],
], [4500, 4500]),
// ======== PROTOCOL TITLE ========
pageBreak(),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "DISSERTATION PROTOCOL", bold: true, underline: { type: UnderlineType.SINGLE }, size: 28, font: "Times New Roman", allCaps: true })]
}),
emptyLine(),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: '"STUDY OF CLINICAL SPECTRUM AND MANAGEMENT OUTCOMES OF CORNEAL AND OCULAR SURFACE INJURIES FOLLOWING FIRECRACKER TRAUMA"', bold: true, size: 26, font: "Times New Roman" })]
}),
emptyLine(),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "Name of Principal Investigator: [Name of Candidate]", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "2nd Year Resident, Department of Ophthalmology, [Name of Medical College]", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "Study Period: July 2026 to December 2027", bold: true, size: 24, font: "Times New Roman" })]
}),
// ======== INTRODUCTION ========
emptyLine(),
heading2("1. INTRODUCTION"),
emptyLine(),
para("Firecracker-related ocular trauma is a significant preventable cause of visual morbidity and blindness, with a disproportionately high burden in developing nations. Fireworks and firecrackers produce high-energy mechanical, thermal, and chemical insults to the eye simultaneously, resulting in a unique and complex pattern of corneal and ocular surface injuries not seen with other forms of trauma."),
para("The cornea and ocular surface - comprising the corneal epithelium, Bowman's layer, corneal stroma, Descemet's membrane, endothelium, conjunctiva, and limbal stem cells - are the primary structures exposed to the blast, heat, and chemical residue from firecracker explosions. Injuries range from superficial corneal abrasions and conjunctival foreign bodies to full-thickness corneal lacerations, limbal stem cell deficiency, and devastating open-globe injuries. Concurrent involvement of deeper intraocular structures (lens, vitreous, retina) further complicates management and worsens visual prognosis."),
para("Epidemiologically, firecracker injuries show well-recognized temporal clustering during festivals (Diwali, Chinese New Year, Eid celebrations), with the majority of victims being young males and children who are either directly handling firecrackers or present as innocent bystanders. India, with its substantial fireworks manufacturing industry and widespread festive use, bears a particularly heavy burden. Studies from tertiary ophthalmology centres across India document seasonal surges in firecracker-related ophthalmic admissions, often overwhelming emergency resources."),
para("Despite the clinical significance of these injuries, the existing literature is heterogeneous - studies vary in case definitions, injury classification systems, follow-up periods, and management protocols. The Birmingham Eye Trauma Terminology (BETT) system provides a standardized framework for classifying open and closed globe injuries, and the Ocular Trauma Score (OTS) offers a validated tool for predicting visual outcomes; however, these have not been uniformly applied in Indian studies on firecracker trauma. Furthermore, focused data on corneal and ocular surface injuries specifically - as distinct from all forms of ocular trauma - is limited."),
para("Gaps in the literature include: (1) detailed characterization of the full clinical spectrum of corneal and ocular surface injuries in the Indian population; (2) systematic evaluation of management approaches from emergency stabilization to definitive surgical reconstruction; (3) prospective follow-up data to assess visual recovery and complications including corneal scarring, symblepharon, limbal stem cell deficiency, secondary glaucoma, and phthisis bulbi; and (4) identification of early predictors of poor visual outcome to guide timely intervention."),
para("A systematic, prospective observational study addressing these questions will provide evidence that can inform clinical management protocols, resource allocation during peak-injury periods, and policy measures for firecracker regulation and public safety education."),
emptyLine(),
// ======== HYPOTHESIS ========
heading2("2. STUDY HYPOTHESIS"),
emptyLine(),
para("H1: A significant proportion of patients presenting with firecracker-related corneal and ocular surface injuries will achieve visual acuity of 6/18 or better at 6 weeks with appropriate management."),
para("H0 (Null Hypothesis): There is no significant difference in the proportion of patients achieving visual acuity of 6/18 or better at 6 weeks compared to presentation visual acuity, regardless of management modality."),
emptyLine(),
// ======== AIM AND OBJECTIVES ========
heading2("3. AIM AND OBJECTIVES"),
emptyLine(),
heading3("Aim:"),
para("To study the clinical spectrum and management outcomes of corneal and ocular surface injuries following firecracker trauma in patients presenting to the Department of Ophthalmology, [Name of Medical College]."),
emptyLine(),
heading3("Objectives:"),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Primary Objectives:", bold: true, underline: { type: UnderlineType.SINGLE }, size: 24, font: "Times New Roman" })]
}),
bullet("To describe the clinical spectrum and pattern of corneal and ocular surface injuries following firecracker trauma."),
bullet("To assess presenting and final visual acuity and document the functional outcomes of management."),
emptyLine(),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Secondary Objectives:", bold: true, underline: { type: UnderlineType.SINGLE }, size: 24, font: "Times New Roman" })]
}),
bullet("To describe the demographic and epidemiological profile of patients with firecracker-related ocular injuries."),
bullet("To classify injuries using the Birmingham Eye Trauma Terminology (BETT) system and Ocular Trauma Score (OTS)."),
bullet("To enumerate and analyze the medical and surgical management modalities employed."),
bullet("To identify early clinical predictors of poor visual outcome."),
bullet("To document the complications encountered during follow-up."),
emptyLine(),
// ======== MATERIALS AND METHODS ========
heading2("4. MATERIALS AND METHODS"),
emptyLine(),
heading3("4.1 Study Design"),
new Paragraph({
spacing: { after: 120 },
children: [
new TextRun({ text: "Study Type: ", bold: true, size: 24, font: "Times New Roman" }),
new TextRun({ text: "Hospital-based, Prospective, Observational, Longitudinal study", size: 24, font: "Times New Roman" }),
]
}),
emptyLine(),
heading3("4.2 Study Site"),
para("Department of Ophthalmology, [Name of Hospital / Medical College], [City]."),
emptyLine(),
heading3("4.3 Study Duration"),
para("18 months: July 2026 to December 2027."),
emptyLine(),
heading3("4.4 Medical Devices / Equipment to be Used"),
para("All equipment listed below is available in standard government hospital supply and will not impose any financial burden on study participants."),
bullet("Slit-lamp biomicroscope (standard examination)"),
bullet("Snellen visual acuity chart and LogMAR chart"),
bullet("Applanation tonometer (Goldmann) for intraocular pressure measurement"),
bullet("Fundus examination equipment: indirect ophthalmoscope, 90D / 78D lens"),
bullet("Corneal topographer / keratometer (for follow-up assessment of corneal curvature)"),
bullet("Anterior segment optical coherence tomography (AS-OCT) where available"),
bullet("B-scan ultrasonography (for opaque media)"),
bullet("Operating microscope (for surgical cases)"),
bullet("Standard surgical instruments for primary repair, corneal suturing, keratoplasty"),
emptyLine(),
// ======== SAMPLE SELECTION ========
heading2("5. SAMPLE SELECTION"),
emptyLine(),
heading3("5.1 Sample Size"),
para("Sample size is calculated based on a reference study by Kurien et al. (2020) reporting 68% of firecracker-related ocular injury patients achieving a final visual acuity of 6/60 or better. Using a precision of 10% (d = 0.10), confidence level of 95% (Z = 1.96), and anticipated proportion p = 0.68:"),
new Paragraph({
alignment: AlignmentType.CENTER,
spacing: { after: 120 },
children: [new TextRun({ text: "n = Z² × p(1-p) / d² = (1.96)² × 0.68 × 0.32 / (0.10)² = 83.6 ≈ 84 patients", bold: true, size: 24, font: "Times New Roman" })]
}),
para("Adding 15% for anticipated dropouts and loss to follow-up, the final sample size is approximately 97. A minimum of 100 patients will be enrolled during the study period."),
para("Statistical tool used for calculation: OpenEpi v3.01 (online sample size calculator)."),
para("Sampling method: Consecutive (convenience) sampling - all eligible patients presenting to the ophthalmology emergency / OPD during the study period will be enrolled."),
emptyLine(),
heading3("5.2 Inclusion Criteria"),
bullet("All patients of any age and sex presenting to the Department of Ophthalmology with history of firecracker/firework-related ocular injury."),
bullet("Injury sustained within 72 hours of presentation."),
bullet("Involvement of cornea and/or ocular surface (conjunctiva, limbus, periocular region) as a primary or co-existing injury component."),
bullet("Willing to give written informed consent (or assent / legally acceptable representative consent for minors)."),
bullet("Available for follow-up for a minimum of 6 weeks."),
emptyLine(),
heading3("5.3 Exclusion Criteria"),
bullet("Pre-existing ocular pathology significantly affecting visual acuity in the injured eye (e.g., corneal scar, advanced glaucoma, retinal degeneration, amblyopia with VA < 6/36)."),
bullet("Patients with systemic conditions precluding ocular examination or surgery (e.g., uncontrolled coagulopathy, unstable vital parameters)."),
bullet("Injuries sustained more than 72 hours prior to presentation."),
bullet("Patients lost to follow-up before the primary endpoint assessment (6 weeks)."),
bullet("Unwilling to provide written consent."),
emptyLine(),
// ======== STUDY VARIABLES ========
heading2("6. STUDY VARIABLES, OUTCOMES, AND STUDY ENDPOINTS"),
emptyLine(),
makeOOETable(),
emptyLine(),
// ======== DATA COLLECTION ========
heading2("7. DATA COLLECTION"),
emptyLine(),
heading3("7.1 Flowchart of Data Collection Process"),
emptyLine(),
makeTable([
[{text:"STEP", bold:true}, {text:"ACTION", bold:true}, {text:"TIMING", bold:true}],
["1", "Patient presents to Ophthalmology Emergency / OPD with firecracker-related ocular injury", "Day 0 (Presentation)"],
["2", "Screening for eligibility criteria; obtain written informed consent / assent / LAR consent", "Day 0"],
["3", "Detailed history: time of injury, circumstance, type of firecracker, first aid received, laterality", "Day 0"],
["4", "Complete ophthalmic examination: BCVA (unaided + corrected), IOP, slit-lamp examination (eyelids, conjunctiva, cornea, anterior chamber, lens), fundus examination (indirect ophthalmoscopy); B-scan if media opaque", "Day 0"],
["5", "Injury classification using BETT system and Ocular Trauma Score calculation", "Day 0"],
["6", "Emergency / initial management: foreign body removal, irrigation, patching, topical medications, surgical repair if indicated (primary repair of open globe, corneal suturing, etc.)", "Day 0 - Day 3"],
["7", "Data entry in Case Record Form (CRF) / proforma", "Day 0"],
["8", "Follow-up visit 1: BCVA, slit-lamp, IOP, wound status, assessment of response to treatment", "2 Weeks (Day 14 ± 3)"],
["9", "Follow-up visit 2: BCVA, slit-lamp, IOP, complications assessment, further management if needed", "6 Weeks (Day 42 ± 7)"],
["10", "Follow-up visit 3: Final BCVA, complications, documentation of outcome", "3 Months (Day 90 ± 14)"],
["11", "Data entry and analysis; master chart compilation", "After last enrolment"],
], [400, 5600, 3000]),
emptyLine(),
heading3("7.2 Examination Protocol Details"),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "At each visit the following will be documented:", size: 24, font: "Times New Roman" })]
}),
bullet("Visual acuity: Unaided and best-corrected using Snellen chart; recorded as Snellen fraction and converted to LogMAR for analysis. Hand movements (HM), counting fingers (CF), perception of light (PL), and no light perception (NLP) will be recorded as LogMAR equivalents: 2.9, 2.3, 2.7, and 3.0 respectively."),
bullet("Intraocular pressure: Goldmann applanation tonometry (digital palpation if corneal integrity compromised)."),
bullet("Slit-lamp examination: eyelid injuries, conjunctival laceration/chemosis/hemorrhage, corneal involvement (location, size, depth of abrasion/laceration/burn by BETT zone), anterior chamber reaction (cells/flare), hyphaema grading (Grades 0-IV), lens status."),
bullet("Dilated fundus examination: vitreous haemorrhage, retinal tear/detachment, commotio retinae, choroidal rupture."),
bullet("B-scan ultrasonography: performed when posterior segment is not directly visible."),
bullet("Corneal topography / AS-OCT: at follow-up visits where available, to assess corneal surface and wound healing."),
emptyLine(),
heading3("7.3 Injury Classification"),
bullet("Birmingham Eye Trauma Terminology (BETT) System: Closed globe (contusion, lamellar laceration) vs. Open globe (rupture, penetrating, IOFB, perforating); Zone I/II/III for open globe."),
bullet("Ocular Trauma Score (OTS): Calculated using initial VA, rupture, endophthalmitis/perforating injury/retinal detachment/afferent pupillary defect variables; scores 1-5 corresponding to predicted visual outcome."),
emptyLine(),
heading3("7.4 Management Protocol"),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Medical Management:", bold: true, size: 24, font: "Times New Roman" })]
}),
bullet("Superficial corneal abrasions / foreign body: removal under slit-lamp, topical antibiotic drops / ointment, cycloplegics, patching as needed."),
bullet("Chemical / thermal burns: copious irrigation (normal saline) immediately, topical antibiotic, lubricants, ascorbic acid drops (Grade II-III), amniotic membrane transplantation for severe limbal involvement."),
bullet("Hyphaema: rest, topical steroids, cycloplegics, anti-glaucoma medications as needed."),
bullet("Corneal laceration (partial thickness): therapeutic contact lens / pressure patching, topical antibiotic."),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Surgical Management:", bold: true, size: 24, font: "Times New Roman" })]
}),
bullet("Primary repair of open globe injury under general anaesthesia / local anaesthesia."),
bullet("Full-thickness corneal laceration: direct corneal suturing (10-0 nylon interrupted/continuous sutures)."),
bullet("Intraocular foreign body removal: pars plana vitrectomy (PPV) with IOFB extraction."),
bullet("Vitreous haemorrhage / retinal detachment: PPV."),
bullet("Corneal scar / optical compromise at follow-up: penetrating keratoplasty (PKP) or deep anterior lamellar keratoplasty (DALK)."),
bullet("Symblepharon / limbal stem cell deficiency: amniotic membrane transplantation, cultivated limbal stem cell transplantation (CLET) / simple limbal epithelial transplantation (SLET)."),
bullet("Phthisis bulbi / disfigured globe: evisceration / enucleation."),
emptyLine(),
// ======== DATA MANAGEMENT ========
heading2("8. DATA MANAGEMENT PLAN"),
emptyLine(),
new Paragraph({
spacing: { after: 120 },
children: [
new TextRun({ text: "Data Entry: ", bold: true, size: 24, font: "Times New Roman" }),
new TextRun({ text: "All data regarding primary and secondary outcomes will be collected using a pre-designed, structured paper-based Case Record Form (CRF / Proforma) and subsequently entered into Microsoft Excel spreadsheet (master chart). Each patient will be assigned a unique study identification number. Data will be stored in a password-protected computer accessible only to the research team.", size: 24, font: "Times New Roman" }),
]
}),
new Paragraph({
spacing: { after: 120 },
children: [
new TextRun({ text: "Data Analysis Plan: ", bold: true, size: 24, font: "Times New Roman" }),
]
}),
bullet("Descriptive statistics: Continuous variables (age, BCVA in LogMAR, IOP) will be summarized as mean ± standard deviation (SD) or median (interquartile range) based on normality. Categorical variables will be presented as frequencies and percentages."),
bullet("Inferential statistics: Paired t-test or Wilcoxon signed-rank test will be used to compare BCVA at presentation vs. follow-up. Chi-square test or Fisher's exact test will be used for comparing categorical outcomes across groups. Binary logistic regression will be employed to identify independent predictors of poor visual outcome (final BCVA < 6/60)."),
bullet("Statistical significance: p-value < 0.05 will be considered statistically significant."),
bullet("Statistical software: IBM SPSS Statistics version 26.0 / GraphPad Prism 9."),
emptyLine(),
heading3("8.1 Data Codebook"),
makeCodebookTable(),
emptyLine(),
// ======== REFERENCES ========
heading2("9. REFERENCES"),
emptyLine(),
para("1. Kurien NA, Peter J, Jacob P. Spectrum of ocular injuries and visual outcome following firework injury to the eye. J Emerg Trauma Shock. 2020;13(1):67-72.", {italic: false}),
para("2. Mansouri MR, Mohammadi SF, Hatef E. The Persian Wednesday Eve Festival 'Charshanbe-Soori' fireworks eye injuries: a case series. Ophthalmic Epidemiol. 2007;14(1):17-24."),
para("3. Jing Y, Yi-qiao X, Yan-ning Y. Clinical analysis of firework-related ocular injuries during Spring Festival 2009. Graefes Arch Clin Exp Ophthalmol. 2010;248(3):333-8."),
para("4. AlGhadeer H, Khandekar R. Fireworks ocular injury in Saudi children: profile and management outcomes. Sci Rep. 2022;12(1):5920."),
para("5. Kuhn F, Morris R, Witherspoon CD, Mester V. The Birmingham Eye Trauma Terminology system (BETT). J Fr Ophtalmol. 2004;27(2):206-10."),
para("6. Kuhn F, Maisiak R, Mann L, Mester V, Morris R, Witherspoon CD. The Ocular Trauma Score (OTS). Ophthalmol Clin North Am. 2002;15(2):163-5."),
para("7. Shazly TA. Severe pediatric ocular injury due to explosion of a firecracker inside a soda bottle. Open Access Emerg Med. 2010;2:53-6."),
para("8. Khatry SK, Lewis AE, Schein OD, Thapa MD, Pradhan EK, Tielsch JM. The epidemiology of ocular trauma in rural Nepal. Br J Ophthalmol. 2004;88(4):456-60."),
para("9. Wang W, Zhou Y, Zeng J. Epidemiology and clinical characteristics of patients hospitalized for ocular trauma in South-Central China. Acta Ophthalmol. 2017;95(6):e503-e512."),
para("10. Singh G, Kaur J. Pattern and visual outcomes of ocular injuries in a tertiary eye centre of North India: A prospective study. Indian J Ophthalmol. 2018;66(12):1828-33."),
emptyLine(),
// ======== ETHICS ========
heading2("10. ETHICS CONSIDERATIONS"),
emptyLine(),
para("The study will be conducted after obtaining permission from the Institutional Ethics Committee (IEC). The study will adhere to the Indian Council of Medical Research (ICMR) guidelines for Biomedical and Health Research involving Human Participants (2017) and the Declaration of Helsinki (2013 revision)."),
bullet("Privacy and confidentiality will be ensured at all stages of data collection, storage, analysis, and publication."),
bullet("Data collection will be carried out after taking written informed consent from adult study participants. For participants aged below 18 years, consent will be obtained from a parent / legally acceptable representative (LAR), and assent will be obtained from children aged 7 years and above."),
bullet("For illiterate participants, the participant information sheet will be read aloud in the vernacular language, and a thumb impression will be obtained in the presence of an impartial witness."),
bullet("Participation is entirely voluntary. Withdrawal at any point will not affect the standard of clinical care provided."),
bullet("No additional investigations beyond those required for standard clinical management will be performed solely for research purposes."),
bullet("No financial compensation will be provided to participants; the study will not impose any additional financial burden on patients."),
emptyLine(),
// ======== GANTT CHART ========
heading2("11. THESIS TIMELINE - GANTT CHART"),
emptyLine(),
makeGanttTable(),
new Paragraph({ spacing: { after: 80 }, children: [new TextRun({ text: "Q - Quarter of year; Y - Year", size: 20, font: "Times New Roman", italics: true })] }),
emptyLine(),
// ======== UNDERTAKING ========
heading2("UNDERTAKING"),
emptyLine(),
bullet("I commit to submitting the raw data in form of master chart at completion of thesis."),
bullet("I commit to maintaining integrity while conducting thesis work."),
bullet("I confirm that this thesis protocol, including the literature review, methodology, and any other written content, is my original work. All sources, data, or ideas derived from other works have been appropriately and accurately cited and referenced."),
bullet("I declare that I have not used any Artificial Intelligence (AI) tools, such as Large Language Models (LLMs) or similar generative tools, to generate any part of this thesis protocol, including the literature review, methodology, or discussion."),
bullet("I understand that the use of AI tools for content generation is considered an academic integrity violation and may be treated as plagiarism. My use of AI, if any, has been limited to proofreading, grammar checks, language correction or other non-content-generating functions."),
bullet("I understand and agree that the institution reserves the right to use any plagiarism detection or AI-content detection software to verify the originality of my work at any stage of the research process."),
emptyLine(),
para("Yours faithfully,"),
emptyLine(), emptyLine(),
para("[Name of Candidate]"),
para("2nd Year Resident"),
para("Department of Ophthalmology"),
para("[Name of Medical College]"),
// ======== ANNEXURES ========
pageBreak(),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "ANNEXURES", bold: true, underline: { type: UnderlineType.SINGLE }, size: 28, font: "Times New Roman" })]
}),
emptyLine(),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Annexure 1: Participant Information Sheet (English)", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Annexure 2: Informed Consent Form (English)", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Annexure 3: Participant Information Sheet (Vernacular)", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Annexure 4: Informed Consent Form (Vernacular)", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Annexure 5: Case Record Form / Proforma", size: 24, font: "Times New Roman" })]
}),
new Paragraph({
spacing: { after: 100 },
children: [new TextRun({ text: "Annexure 6: Dummy Tables", size: 24, font: "Times New Roman" })]
}),
// ======== PARTICIPANT INFORMATION SHEET ========
pageBreak(),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "ANNEXURE 1", bold: true, size: 26, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "PARTICIPANT INFORMATION SHEET (ENGLISH)", bold: true, underline: { type: UnderlineType.SINGLE }, size: 26, font: "Times New Roman" })]
}),
emptyLine(),
new Paragraph({
spacing: { after: 120 },
children: [
new TextRun({ text: "Full Title of Study: ", bold: true, size: 24, font: "Times New Roman" }),
new TextRun({ text: '"Study of Clinical Spectrum and Management Outcomes of Corneal and Ocular Surface Injuries Following Firecracker Trauma"', size: 24, font: "Times New Roman" }),
]
}),
new Paragraph({
spacing: { after: 120 },
children: [
new TextRun({ text: "Principal Investigator: ", bold: true, size: 24, font: "Times New Roman" }),
new TextRun({ text: "[Name of Candidate], 2nd Year Resident, Department of Ophthalmology, [Name of Medical College]", size: 24, font: "Times New Roman" }),
]
}),
emptyLine(),
para("You are invited to participate in a research study. Before agreeing to participate, it is important that you read and understand why the research is being done and what will happen during it. Please take time to read this information carefully. You are free to ask any questions you may have regarding this document, the study, or its process. You do not have to decide today whether or not you will participate. You are free to discuss this with anyone you feel comfortable talking to about the research."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "What is the purpose of this study?", bold: true, size: 24, font: "Times New Roman" })] }),
para("Firecrackers and fireworks can cause serious injuries to the eye, particularly to the cornea (transparent front surface of the eye) and the surface of the eye. This study aims to document the types and severity of such injuries, describe the treatments given, and measure how well patients recover their vision after these injuries. The results of this study will help doctors understand these injuries better and improve treatment strategies in the future."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Why have I been invited to participate in this study?", bold: true, size: 24, font: "Times New Roman" })] }),
para("You have been approached because you have sustained a firecracker-related eye injury and have been seen in the Department of Ophthalmology, which fulfils the criteria for the study. The study is being conducted in the Department of Ophthalmology, [Name of Medical College / Hospital] and we hope to recruit around 100 patients."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Do I have to take part?", bold: true, size: 24, font: "Times New Roman" })] }),
para("It is totally up to you to decide whether or not to take part. If you do, you will be given this information sheet to keep and be asked to sign a consent form. You are still free to withdraw consent from the study at any time and without giving a reason. Your decision to withdraw will not affect the standard of care you receive."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "What will happen to me if I take part in this study?", bold: true, size: 24, font: "Times New Roman" })] }),
para("If you agree to take part, the following will happen:"),
bullet("A detailed history of the injury will be taken."),
bullet("A full eye examination will be performed (vision testing, pressure measurement, slit-lamp examination of the front of the eye, and dilated examination of the back of the eye if needed)."),
bullet("Your injury will be classified and appropriate treatment will be provided as per standard of care."),
bullet("You will be asked to attend follow-up visits at 2 weeks, 6 weeks, and 3 months after the initial presentation."),
bullet("At each follow-up visit, your vision and eye status will be assessed and treatment will be adjusted as needed."),
para("All examinations performed are the same as those done as part of standard clinical care. No additional or experimental investigations will be performed solely for research purposes."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "What if I don't want to participate in this study, or I want to withdraw later?", bold: true, size: 24, font: "Times New Roman" })] }),
para("Your participation in this study is entirely voluntary. If you choose not to participate, your choice will be respected. A decision to withdraw at any time, or a decision not to take part, will not affect the standard of care you receive."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "What investigations will be conducted in this study?", bold: true, size: 24, font: "Times New Roman" })] }),
para("Visual acuity testing, slit-lamp examination, intraocular pressure measurement, dilated fundus examination, and where indicated, B-scan ultrasonography and corneal imaging. All investigations are part of standard clinical management."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "How will my confidentiality be protected?", bold: true, size: 24, font: "Times New Roman" })] }),
para("All information obtained in this study will be kept strictly confidential. Data will be stored anonymously using unique study codes accessible only to the research team. Your personal identity will not be revealed in any publication or report. Only coded, anonymous data will be used for analysis and academic publication purposes."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "What are my responsibilities when taking part in this study?", bold: true, size: 24, font: "Times New Roman" })] }),
para("It is important that you attend all scheduled follow-up visits and inform the study doctor of any changes in your condition. Please do not take any additional eye medications without consulting your study doctor. Inform the investigator immediately of any changes to your eye health or if you wish to withdraw from the study."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "What are the possible risks of taking part?", bold: true, size: 24, font: "Times New Roman" })] }),
para("There are no additional risks associated with participation in this study. All examinations and treatments provided are standard clinical care. No experimental treatments will be used."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "What are the possible benefits of taking part?", bold: true, size: 24, font: "Times New Roman" })] }),
para("By participating in this study, you will receive detailed and careful monitoring of your eye injury and recovery. Your participation will contribute to better understanding and management of firecracker eye injuries for future patients."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "What happens when the research stops?", bold: true, size: 24, font: "Times New Roman" })] }),
para("Patients will complete the study at 3 months after enrollment. Any further treatment required will be continued as per standard clinical protocols."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "What will be done with the results?", bold: true, size: 24, font: "Times New Roman" })] }),
para("The entire study will be published as a dissertation/thesis submitted to [Name of University], which is a required component of the postgraduate training programme. Any publication arising from this study will not reveal your personal identity. You may request to know the results of the study."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Who is organizing and funding the study?", bold: true, size: 24, font: "Times New Roman" })] }),
para("The study is conducted in the Department of Ophthalmology, [Name of Medical College / Hospital]. It is an unfunded project. You will not be required to pay any fees for the purpose of this study and will not be provided any remuneration for participation."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Who has reviewed the ethical aspects of the study?", bold: true, size: 24, font: "Times New Roman" })] }),
para("The study has been reviewed by the Dissertation Screening Committee of the Department of Ophthalmology and subsequently by the Institutional Ethics Committee, [Name of Medical College]."),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Whom should I contact for more information or for any other reason?", bold: true, size: 24, font: "Times New Roman" })] }),
para("Please note the name and phone number of the Principal Investigator. You can contact this person at any time should you have any questions."),
para("Name: [Name of Candidate]"),
para("Mobile number: _____________________"),
emptyLine(),
para("Thank you for taking time to read this document. If you wish to take part in the study, please sign the attached consent form."),
para("This information sheet is for you to keep."),
// ======== INFORMED CONSENT FORM ========
pageBreak(),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "ANNEXURE 2", bold: true, size: 26, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "INFORMED CONSENT FORM (ENGLISH)", bold: true, underline: { type: UnderlineType.SINGLE }, size: 26, font: "Times New Roman" })]
}),
emptyLine(),
new Paragraph({
spacing: { after: 120 },
children: [
new TextRun({ text: "Title of Study: ", bold: true, size: 24, font: "Times New Roman" }),
new TextRun({ text: '"Study of Clinical Spectrum and Management Outcomes of Corneal and Ocular Surface Injuries Following Firecracker Trauma"', size: 24, font: "Times New Roman" }),
]
}),
para("By signing below, I confirm the following:"),
bullet("I have been given oral and written information for the above study, in the language I understand, and have read and understood the information given."),
bullet("I have had sufficient time to consider participation in the study and have had the opportunity to ask questions. All my questions have been answered satisfactorily."),
bullet("I understand that my participation is voluntary and I can at any time freely withdraw from the study without giving a reason and this will in no way affect my future treatment."),
bullet("I am not taking part in any other research study at this time."),
bullet("I understand the risks and benefits, and I freely give my informed consent to participate under the conditions stated."),
bullet("I understand that I must follow the study doctor's (investigator's) instructions related to my participation in the study."),
bullet("I understand that the study staff has direct access to my medical record in order to make sure that the study is conducted correctly and the data are recorded correctly. All personal details will be treated as STRICTLY CONFIDENTIAL."),
bullet("I understand that the data will be used for academic and research purposes only."),
bullet("I will not be provided any remuneration for my participation in the study."),
bullet("I will be provided with a copy of the Participant Information Sheet and Informed Consent Form."),
emptyLine(),
makeTable([
[{text:"Participant: Name", bold: false}, {text:"Signature", bold: false}, {text:"Date", bold: false}],
["", "", ""],
[{text:"Investigator: Name", bold: false}, {text:"Signature", bold: false}, {text:"Date", bold: false}],
["", "", ""],
], [4000, 3000, 2000]),
emptyLine(),
para("Impartial Witness (Required if subject is illiterate and contents of PIS are verbally communicated):"),
emptyLine(),
makeTable([
["Name", "Signature", "Date"],
["", "", ""],
], [4000, 3000, 2000]),
emptyLine(),
para("Consent from Legally Acceptable Representative (LAR) if subject is a minor or incapable of giving consent:"),
emptyLine(),
makeTable([
[{text:"Name of LAR", bold:false}, {text:"Relationship to Participant", bold:false}, {text:"Signature", bold:false}, {text:"Date", bold:false}],
["", "", "", ""],
], [2800, 2800, 2200, 1700]),
// ======== CASE RECORD FORM / PROFORMA ========
pageBreak(),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "ANNEXURE 5", bold: true, size: 26, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "CASE RECORD FORM / PROFORMA", bold: true, underline: { type: UnderlineType.SINGLE }, size: 26, font: "Times New Roman" })]
}),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Study of Clinical Spectrum and Management Outcomes of Corneal and Ocular Surface Injuries Following Firecracker Trauma", bold: true, size: 22, font: "Times New Roman" })] }),
emptyLine(),
makeTable([
[{text:"Study ID", bold:true}, "____________", {text:"Date of Presentation", bold:true}, "____________"],
[{text:"Patient Name (initials only)", bold:true}, "____________", {text:"Hospital Registration No.", bold:true}, "____________"],
[{text:"Age (years)", bold:true}, "____________", {text:"Sex", bold:true}, "M / F / Other"],
[{text:"Address (city/village only)", bold:true}, "____________", {text:"Contact No.", bold:true}, "____________"],
[{text:"Date of Injury", bold:true}, "____________", {text:"Time from Injury to Presentation (hrs)", bold:true}, "____________"],
], [2500, 2000, 2500, 2000]),
emptyLine(),
heading3("A. HISTORY"),
makeTable([
[{text:"Type of Firecracker", bold:true}, "Sparkler / Rocket / Cracker-Bomb / Phuljhadi / Other: __________"],
[{text:"Circumstance of Injury", bold:true}, "Handler / Bystander / Unknown"],
[{text:"Laterality of Injury", bold:true}, "Right Eye / Left Eye / Bilateral"],
[{text:"Any First Aid Given", bold:true}, "Yes / No; If yes: Water irrigation / Eye wash / Patching / Other: _____"],
[{text:"Pre-existing Eye Disease (injured eye)", bold:true}, "None / Specify: ________________"],
[{text:"Systemic Co-morbidities", bold:true}, "None / DM / HTN / Specify: ________________"],
[{text:"Glasses / Contact Lens Use", bold:true}, "None / Spectacles (for far/near) / Contact lens"],
], [3000, 6000]),
emptyLine(),
heading3("B. VISUAL ACUITY"),
makeTable([
[{text:"", bold:true}, {text:"Unaided VA", bold:true}, {text:"Best Corrected VA", bold:true}, {text:"IOP (mmHg)", bold:true}],
["Presentation", "", "", ""],
["2 Weeks", "", "", ""],
["6 Weeks", "", "", ""],
["3 Months", "", "", ""],
], [2500, 2500, 2500, 1500]),
emptyLine(),
heading3("C. SLIT-LAMP EXAMINATION AT PRESENTATION"),
makeTable([
[{text:"Structure", bold:true}, {text:"Findings", bold:true}],
["Eyelids / Adnexa", "Normal / Laceration / Swelling / Burns / Specify: _______________"],
["Conjunctiva", "Normal / Congestion / Laceration / Sub-conjunctival haemorrhage / Chemosis / FB / Burns / Specify: _______________"],
["Cornea", "Normal / Abrasion (size __ mm, zone: central/paracentral/peripheral) / Foreign Body / Laceration (partial/full-thickness, size __ mm, BETT Zone I/II/III) / Thermal burn / Chemical burn / Specify: _______________"],
["Anterior Chamber", "Normal depth / Shallow / Flat / Hyphaema Grade (0/I/II/III/IV) / Cells/Flare ___"],
["Iris", "Normal / Iridodialysis / Iridoplegia / Prolapse through wound"],
["Lens", "Clear / Subluxation / Dislocation / Traumatic cataract / Absent (IOFB)"],
["Vitreous (if visible)", "Clear / Haemorrhage / Prolapse"],
["Open Globe", "Yes / No"],
], [2500, 6500]),
emptyLine(),
heading3("D. FUNDUS EXAMINATION"),
makeTable([
[{text:"Finding", bold:true}, {text:"Details", bold:true}],
["Vitreous Haemorrhage", "Absent / Present (mild/moderate/dense)"],
["Retinal Tear / Detachment", "Absent / Present (location: _________)"],
["Commotio Retinae", "Absent / Present"],
["Choroidal Rupture", "Absent / Present"],
["Optic Nerve", "Normal / Oedema / Avulsion"],
["IOFB", "Absent / Present (location: _________)"],
["Others", "___________________________"],
["B-Scan Findings (if applicable)", "___________________________"],
], [3000, 6000]),
emptyLine(),
heading3("E. INJURY CLASSIFICATION"),
makeTable([
[{text:"BETT Classification", bold:true}, "Closed Globe: Contusion / Lamellar Laceration\nOpen Globe: Rupture / Penetrating / IOFB / Perforating\nZone: I / II / III"],
[{text:"Ocular Trauma Score (OTS)", bold:true}, "Raw score: ___ / OTS category (1-5): ___\nPredicted NLP: ___% / LP: ___% / HM: ___% / 1/200-19/200: ___% / ≥20/200: ___%"],
], [3000, 6000]),
emptyLine(),
heading3("F. MANAGEMENT"),
makeTable([
[{text:"Medical Management", bold:true}, "Topical Antibiotics / Topical Steroids / Cycloplegics / Anti-glaucoma Drops / Lubricants / Ascorbic Acid Drops / Therapeutic Contact Lens / Amniotic Membrane / IV antibiotics / Other: _______________"],
[{text:"Surgical Management", bold:true}, "None / Primary Repair of Open Globe / Corneal Suturing / FB Removal (slit-lamp/OR) / PPV / PKP / DALK / SLET / CLET / Amniotic Membrane Transplantation / Evisceration / Enucleation / Other: _______________"],
[{text:"Date of Surgery (if applicable)", bold:true}, "_______________"],
[{text:"Intraoperative Findings", bold:true}, "_______________"],
[{text:"Post-operative Medications", bold:true}, "_______________"],
], [3000, 6000]),
emptyLine(),
heading3("G. COMPLICATIONS DURING FOLLOW-UP"),
makeTable([
[{text:"Complication", bold:true}, {text:"Present", bold:true}, {text:"Details", bold:true}],
["Corneal Scarring / Opacity", "Yes / No", ""],
["Symblepharon", "Yes / No", ""],
["Limbal Stem Cell Deficiency", "Yes / No", "Grade: ___"],
["Secondary Glaucoma", "Yes / No", "IOP at diagnosis: ___"],
["Traumatic Cataract", "Yes / No", ""],
["Retinal Detachment", "Yes / No", ""],
["Endophthalmitis", "Yes / No", ""],
["Phthisis Bulbi", "Yes / No", ""],
["Others", "Yes / No", "Specify: ___"],
], [3500, 1500, 4000]),
emptyLine(),
heading3("H. FINAL VISUAL OUTCOME (at 3 months)"),
makeTable([
[{text:"Final BCVA (Snellen)", bold:true}, ""],
[{text:"Final BCVA (LogMAR)", bold:true}, ""],
[{text:"Outcome Category", bold:true}, "Good (≥ 6/18) / Partial recovery (6/60 - 6/24) / Poor (< 6/60) / NLP"],
], [4000, 5000]),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Investigator's Signature: ________________ Date: ________________", size: 22, font: "Times New Roman" })] }),
// ======== DUMMY TABLES ========
pageBreak(),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "ANNEXURE 6", bold: true, size: 26, font: "Times New Roman" })]
}),
new Paragraph({
alignment: AlignmentType.CENTER,
children: [new TextRun({ text: "DUMMY TABLES", bold: true, underline: { type: UnderlineType.SINGLE }, size: 26, font: "Times New Roman" })]
}),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Table 1: Demographic and Epidemiological Profile of Study Participants", bold: true, size: 24, font: "Times New Roman" })] }),
emptyLine(),
makeDummyTable1(),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Table 2: Clinical Spectrum of Corneal and Ocular Surface Injuries Following Firecracker Trauma", bold: true, size: 24, font: "Times New Roman" })] }),
emptyLine(),
makeDummyTable2(),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Table 3: Management Modalities and Visual Outcomes", bold: true, size: 24, font: "Times New Roman" })] }),
emptyLine(),
makeDummyTable3(),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Table 4: BETT Classification of Injuries", bold: true, size: 24, font: "Times New Roman" })] }),
emptyLine(),
makeTable([
[{text:"BETT Category", bold:true}, {text:"n", bold:true}, {text:"%", bold:true}],
["Closed Globe - Contusion", "", ""],
["Closed Globe - Lamellar Laceration", "", ""],
["Open Globe - Rupture (Zone I)", "", ""],
["Open Globe - Penetrating (Zone I)", "", ""],
["Open Globe - Penetrating (Zone II)", "", ""],
["Open Globe - Penetrating (Zone III)", "", ""],
["Open Globe - IOFB", "", ""],
["Open Globe - Perforating", "", ""],
["Total", "", ""],
], [5000, 2000, 2000]),
emptyLine(),
new Paragraph({ children: [new TextRun({ text: "Table 5: Presenting vs. Final Visual Acuity (LogMAR, Mean ± SD)", bold: true, size: 24, font: "Times New Roman" })] }),
emptyLine(),
makeTable([
[{text:"Time Point", bold:true}, {text:"Mean LogMAR VA ± SD", bold:true}, {text:"p-value vs. Presentation", bold:true}],
["Presentation", "", "Reference"],
["2 Weeks", "", ""],
["6 Weeks", "", ""],
["3 Months (Final)", "", ""],
], [3500, 3500, 2000]),
]
}]
});
Packer.toBuffer(doc).then(buffer => {
fs.writeFileSync('/home/daytona/workspace/firecracker-thesis/Thesis_Protocol_Firecracker_Ocular_Injuries.docx', buffer);
console.log('Document created successfully!');
}).catch(err => {
console.error('Error creating document:', err);
});
cd /home/daytona/workspace/firecracker-thesis && node generate_protocol.js 2>&1
python3 /home/daytona/skills/docx/scripts/office/validate.py /home/daytona/workspace/firecracker-thesis/Thesis_Protocol_Firecracker_Ocular_Injuries.docx 2>&1 && ls -lh /home/daytona/workspace/firecracker-thesis/
ls -lh /home/daytona/workspace/firecracker-thesis/ && python3 -c "import zipfile; z = zipfile.ZipFile('/home/daytona/workspace/firecracker-thesis/Thesis_Protocol_Firecracker_Ocular_Injuries.docx'); print('Valid zip with files:', z.namelist()[:5])"
pandoc /home/daytona/workspace/firecracker-thesis/Thesis_Protocol_Firecracker_Ocular_Injuries.docx -o /tmp/check.md 2>&1 && head -100 /tmp/check.md
Thesis Protocol Firecracker Ocular Injuries
Word Document · DOCX
[Name of Candidate], [Name of Medical College], [Guide Name] etc. need to be filled in before submission.