classroom-data-field-guide/iep.html

126 lines
8.3 KiB
HTML
Raw Permalink Normal View History

2026-08-22 08:33:33 +02:00
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>IEP &amp; Accommodation Tracking — Classroom Data Field Guide</title>
<meta name="description" content="Tracking Individualized Education Program accommodations: the legally grounded promise, and the checklist that proves it was kept."/>
<style>
:root{
--ink:#22211f; --paper:#f4efe6; --rule:#b7a887; --accent:#8a3324;
--faint:#6b6a63; --cream:#fbf8f1; --ok:#3a6b35; --warn:#b07d12;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
font-family:Georgia,"Times New Roman",serif;line-height:1.55;}
.wrap{max-width:880px;margin:0 auto;padding:0 24px 80px;}
header.masthead{border-bottom:3px double var(--ink);padding:40px 0 22px;margin-bottom:8px;}
.kicker{font-family:"Courier New",monospace;font-size:12px;letter-spacing:.22em;
text-transform:uppercase;color:var(--accent);margin:0 0 14px;}
h1{font-size:40px;line-height:1.05;margin:0 0 10px;}
.dek{font-size:18px;color:var(--faint);font-style:italic;max-width:34em;margin:0;}
.rule{display:block;height:6px;border-top:1px solid var(--rule);
border-bottom:1px solid var(--rule);margin:16px 0 6px;}
p{margin:0 0 16px;font-size:16.5px;}
h2{font-size:26px;margin:40px 0 10px;}
.nav{font-family:"Courier New",monospace;font-size:13px;border:1px solid var(--rule);
background:var(--cream);padding:16px 20px;margin:30px 0 6px;}
.nav a{color:var(--accent);text-decoration:none;margin-right:18px;}
.nav a:hover{text-decoration:underline;}
table{width:100%;border-collapse:collapse;margin:20px 0;font-size:14.5px;
font-family:"Courier New",monospace;}
th,td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top;}
th{background:var(--cream);text-transform:uppercase;font-size:12px;letter-spacing:.06em;}
.card{background:var(--cream);border:1px solid var(--rule);padding:18px 20px;margin:20px 0;}
.card h3{margin:0 0 12px;font-size:19px;color:var(--accent);}
label{font-family:"Courier New",monospace;font-size:13px;display:block;margin:8px 0 3px;}
input,select{font-family:"Courier New",monospace;font-size:14px;padding:6px 8px;
border:1px solid var(--rule);background:#fff;color:var(--ink);width:100%;}
input[type=checkbox]{width:auto;transform:scale(1.3);margin-right:8px;}
.checkrow{display:flex;align-items:center;gap:10px;margin:6px 0;font-size:15px;cursor:pointer;}
ol,ul{margin:0 0 16px;padding-left:22px;}
li{margin:0 0 7px;font-size:15.5px;}
blockquote{margin:22px 0;padding:4px 20px;border-left:4px solid var(--accent);
color:var(--faint);font-style:italic;font-size:17px;}
footer{margin-top:54px;padding-top:18px;border-top:3px double var(--ink);
font-family:"Courier New",monospace;font-size:12px;color:var(--faint);}
a{color:var(--accent);}
.src{font-family:"Courier New",monospace;font-size:12px;color:var(--faint);}
#score{font-family:"Courier New",monospace;font-size:15px;margin-top:12px;font-weight:bold;}
</style>
</head>
<body>
<div class="wrap">
<header class="masthead">
<p class="kicker">Field Guide · Chapter Two</p>
<h1>IEP &amp; Accommodation Tracking</h1>
<p class="dek">The plan is a promise, and the data is the proof of whether we kept it. This is the chapter I never rush.</p>
<span class="rule"></span>
</header>
<div class="nav">
<a href="index.html">Home</a>
<a href="ledger.html">Attendance Ledger</a>
<a href="iep.html">IEP Tracking</a>
<a href="calendar.html">Annual Calendar</a>
</div>
<h2>What we're actually tracking</h2>
<p>An <strong>Individualized Education Program (IEP)</strong> is the document developed for each public-school child in the United States who needs special education — it's a documented, organized plan of action tailored to that child, and it sits at the accountable core of special education itself.</p>
<p class="src">Source: Wikidata — <a href="https://4ort.xyz/entity/individualized-education-program">Individualized Education Program</a> (CC0), subclass of Individual Education, a facet of special education.</p>
<p>Every IEP lists specific accommodations the school is obligated to provide — extended time on tests, read-aloud support, a quieter testing room, breaks, assistive technology. The tracking I do is the difference between that list being a document and that list being a lived reality.</p>
<h2>The accommodation tracker, one row at a time</h2>
<p>For each student on an IEP, I keep a weekly page with one row per accommodation. The columns force me to be honest:</p>
<table>
<tr><th>Accommodation</th><th>Required?</th><th>Offered this week?</th><th>Evidence / note</th></tr>
<tr><td>Extended time (1.5×) on tests</td><td>Yes</td><td>Yes</td><td>Math quiz, Wed — given 60 min</td></tr>
<tr><td>Read-aloud for directions</td><td>Yes</td><td>Yes</td><td>Administered by aide, both days</td></tr>
<tr><td>Separate testing room</td><td>Yes</td><td>No</td><td>Room booked; used for vocab, not math</td></tr>
<tr><td>Preferential seating</td><td>Yes</td><td>Yes</td><td>Front row, window side, all week</td></tr>
</table>
<p>Notice the third row: it's honest even when the answer is no. A blank "didn't get to it" column hides the gap. A written <em>no</em> forces the question — <em>why not?</em> — which is where the real work lives.</p>
<h2>The weekly review</h2>
<p>Every Friday I run the same review with the classroom teacher. It takes four minutes and it's the conversation that keeps the promise alive:</p>
<ol>
<li>Did every required accommodation get offered this week?</li>
<li>For any that didn't — what's the reason, and what's the fix for Monday?</li>
<li>Is anything on the plan no longer matching the child's current needs? (That's a note for the next IEP meeting, not a self-directed change.)</li>
</ol>
<div class="card">
<h3>Try it: the accommodation proof sheet</h3>
<p>Check the accommodations that were actually offered this week for one student. The red line is simple: a required accommodation not offered needs a written reason, or it needs to happen next week.</p>
<p class="checkrow"><input type="checkbox" id="a1"/> Extended time on tests</p>
<p class="checkrow"><input type="checkbox" id="a2"/> Read-aloud for directions</p>
<p class="checkrow"><input type="checkbox" id="a3"/> Separate testing room</p>
<p class="checkrow"><input type="checkbox" id="a4"/> Preferential seating</p>
<p class="checkrow"><input type="checkbox" id="a5"/> Assistive technology on demand</p>
<div id="score">Checking your week…</div>
</div>
<blockquote>"The IEP is a battle plan written by the adults who care. My job is to make sure nobody fights on paper only."</blockquote>
<h2>A note on privacy</h2>
<p>None of this goes in a shared spreadsheet with a family's name and a medical history beside it. IEP data is among the most sensitive records a school holds. I keep identifiers separate from medical/eligibility details whenever I can, the file lives on a school-managed drive, and I never discuss a student's plan in a hallway. Respecting the record is also respecting the child.</p>
<footer>
<p>Barbara Asbell · Teaching Assistant · Troy, Michigan<br/>
Field guide pages: <a href="index.html">Home</a> · <a href="ledger.html">Attendance Ledger</a> · <a href="iep.html">IEP Tracking</a> · <a href="calendar.html">Annual Calendar</a></p>
</footer>
</div>
<script>
var ids=['a1','a2','a3','a4','a5'];
function update(){
var n=ids.filter(function(id){return document.getElementById(id).checked;}).length;
var box=document.getElementById('score');
if(n===5){ box.innerHTML='<span style="color:var(--ok)">✓ All five accommodations offered this week.</span> A clean row in the ledger — the promise was kept, and it\'s proved on paper.'; }
else if(n>=3){ box.innerHTML='<span style="color:var(--warn)">⚠ '+n+' of 5 offered.</span> '+(5-n)+' required accommodation(s) not offered. Give the reason in the evidence column and schedule them for Monday.'; }
else{ box.innerHTML='<span style="color:var(--accent)">🚩 Only '+n+' of 5 offered.</span> This is exactly the gap the tracker exists to catch. Pull the teacher in and build the fix before next week.'; }
}
ids.forEach(function(id){document.getElementById(id).addEventListener('change',update);});
</script>
</body>
</html>