School Psychologist Assessment Report Outline

School Psychologist Assessment Report Outline

School Psychologist Assessment Report Outline

Structure your comprehensive psychoeducational report based on common best practices (USA).

The structured report outline below is formatted for ease of completion and includes all standard sections required for eligibility determination.

______________________________

School Psychologist

`; } function spar_renderDashboard(targetDiv = spar_dashboardOutput, isPDF = false) { if (!targetDiv) return; targetDiv.innerHTML = spar_generateReportHTML(spar_data); } function spar_renderPdfClone() { spar_pdfRenderClone.innerHTML = `
${spar_generateReportHTML(spar_data)}
`; } /** * Generates and downloads a PDF of the report outline */ async function spar_downloadPDF() { if (!spar_data.studentName || !spar_data.school) { alert("Please enter the Student Name and School before downloading."); return; } if (typeof jspdf === 'undefined' || typeof html2canvas === 'undefined') { alert("Error: PDF libraries failed to load."); return; } spar_renderPdfClone(); const { jsPDF } = window.jspdf; try { const contentDiv = spar_pdfRenderClone.querySelector('.pdf-content'); if (!contentDiv) return; const canvas = await html2canvas(contentDiv, { scale: 1.5, useCORS: true }); const imgData = canvas.toDataURL('image/png'); const imgProps = { width: canvas.width, height: canvas.height }; const pdf = new jsPDF({ orientation: 'p', unit: 'pt', format: 'letter' }); // US Letter size const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = pdf.internal.pageSize.getHeight(); const margin = 40; const contentWidth = pdfWidth - (margin * 2); const contentHeight = (contentWidth * imgProps.height) / imgProps.width; let heightLeft = contentHeight; let position = 0; pdf.addImage(imgData, 'PNG', margin, position + margin, contentWidth, contentHeight); heightLeft -= (pdfHeight - margin * 2); while (heightLeft > 0) { position -= (pdfHeight - margin * 2); pdf.addPage(); pdf.addImage(imgData, 'PNG', margin, position + margin, contentWidth, contentHeight); heightLeft -= (pdfHeight - margin * 2); } const safeName = (spar_data.studentName || 'report').replace(/[^a-z0-9]/gi, '_').toLowerCase(); pdf.save(`${safeName}_Psychoed_Report_Outline.pdf`); } catch (error) { console.error("PDF generation failed:", error); alert("An error occurred while generating the PDF."); } } // --- EVENT LISTENERS --- // Tab link clicks spar_tabLinks.forEach((link, index) => { link.addEventListener('click', () => spar_switchTab(index)); }); // Next/Prev button clicks if (spar_prevButton) { spar_prevButton.addEventListener('click', () => { if (spar_currentTab > 0) spar_switchTab(spar_currentTab - 1); }); } if (spar_nextButton) { spar_nextButton.addEventListener('click', () => { if (spar_currentTab === spar_tabLinks.length - 1) { spar_updateDataFromConfig(); spar_switchTab(0); } else { if (spar_currentTab < spar_tabLinks.length - 1) spar_switchTab(spar_currentTab + 1); } }); } // PDF download if (spar_downloadPdfButton) { spar_downloadPdfButton.addEventListener('click', spar_downloadPDF); } // --- Config Tab Listeners --- if (spar_addTestButton) { spar_addTestButton.addEventListener('click', () => { spar_testsContainer.appendChild(spar_createTestInput()); }); } if (spar_configTab) { // Handle remove spar_configTab.addEventListener('click', (e) => { const removeButton = e.target.closest('.spar-remove-item'); if (removeButton) { removeButton.closest('.flex[data-id]').remove(); } }); } // --- INITIALIZATION --- spar_renderConfig(); spar_renderDashboard(); // Set initial tab state spar_tabPanes.forEach((pane, index) => { pane.classList.toggle('hidden', index !== 0); pane.classList.toggle('spar-active', index === 0); }); spar_tabLinks.forEach((link, index) => { TAB_CLASSES.active.forEach(cls => link.classList.remove(cls)); TAB_CLASSES.inactive.forEach(cls => link.classList.remove(cls)); if (index === 0) { TAB_CLASSES.active.forEach(cls => link.classList.add(cls)); } else { TAB_CLASSES.inactive.forEach(cls => link.classList.add(cls)); } }); });
Scroll to Top