For Developers

Positive and Negative Attendance

Understanding the difference between positive and negative attendance models is key to interpreting Edlink's attendance data.

Edlink primarily stores negative attendance records and any records with flags (e.g., excused absence, late with note). This approach optimizes data storage and processing efficiency. If a complete roster of "present" students is needed, it can be inferred by comparing the list of expected attendees against the negative attendance records for a given meeting. You can find more details on how Edlink handles this and how to convert between models in our attendance data model guide.

Positive Attendance

Positive attendance involves recording an explicit status for every student for every instructional period or day. This means a record exists indicating whether each student was present, absent, tardy, or another defined status.

  • Comprehensive: Every student's attendance is explicitly logged.
  • Data Volume: Generates a large volume of data, as every student has a record for every session.
  • Default Assumption: No assumption; status is always explicitly stated.

Negative Attendance

Negative attendance, also known as exception-based attendance, involves recording only deviations from the norm—typically absences or tardies. If no record exists for a student for a specific period, they are assumed to be present.

  • Efficient: Only exceptions (e.g., absences, tardies) are logged.
  • Data Volume: Significantly smaller data volume compared to positive attendance.
  • Default Assumption: Presence is assumed if no record exists.

Edlink stores negative attendance primarily for efficiency. Attendance data can be large, especially in systems with many students and frequent attendance checks. For a mid-sized district with 10,000 student and 8 periods per day, positive attendance keeping would generate 80,000 attendance records daily, or about 14.4 million (!) annually. Storing only exceptions (absences, tardies, flags) significantly reduces the data volume.

  • Less Data: It significantly reduces data storage by only recording exceptions (absences, tardies, flags).
  • Faster Performance: Smaller datasets mean quicker processing and syncing.
  • Focus on Exceptions: It highlights actionable information like who was absent or had a notable attendance event.
  • Presence is Inferable: It's straightforward to determine who was present by checking who isn't marked absent or flagged.

Shortcomings of Negative Attendance

While negative attendance is efficient, the primary shortcoming is that it requires additional logic to infer who was present. This can complicate queries and data processing, especially if the system needs to frequently determine the full roster of attendees. Counting things like "how many students were present in a class" or "what was the ratio of present to absent attendance records for a given student" requires additional steps to compare the expected roster against the negative attendance records.