Student School Attendance Events (Indiana v3.6)

Tool Search: Ed-Fi

For information on Virtual Attendance, please review the Indiana Ed-Fi - Virtual Attendance article.

Object Triggering Logic

ActionTrigger
POST

Reports a record when the student has attendance events entered OR when the student has no attendance events but it is a day marked as Attendance.

  • Do not report a record if the any of the following exclusions are present:
    • Enrollment State Exclude
    • Enrollment No Show
    • Enrollment Grade Exclude from State Reporting
    • Calendar Exclude
    • School Exclude
  • The attendance date being reported must fall on or between the enrollment start and end dates.
  • The attendance date being reported must be marked as Attendance on Calendar  Setup > Day Setup > Day Detail.
  • A maximum of two records will be sent for any given student/day combination. The sum of the eventDurations on these records must equal 1.
  • Local attendance codes are mapped to State Codes through Attendance Office > Settings > Attendance Code Setup > Attendance Excuse Detail > State Code. These State Codes are then mapped to Ed-Fi Codes in Resource Preferences. The Local attendance code must be mapped to a State Code for it to report properly.

DELETE / POST

PUT


A DELETE / POST is performed if the data element being altered is part of the resource's natural key. A PUT is performed otherwise.

  • When the following negative attendance information is changed:

    • Attendance Code
    • Present Minutes
    • Comments
  • When the following enrollment information is changed:

    • Start Date
    • End Date
    • State Exclude
    • No Show
    • Service Type
DELETE
  • When all reportable enrollments are deleted.
  • When information is changed that makes the student have no reportable attendance information for the day.

Error Log

ErrorPossible Causes / How to Fix
Error code returned from Ed-Fi. 404: Failed to delete studentSchoolAttendanceEvents resource. [message:Resource to delete was not found.]This error can be ignored. Infinite Campus sends deletes ahead of a POST to ensure there are no orphaned records clogging up the states database. If there are no records to delete, this “error” will appear.
An error occurred calculating Attendance.This was resolved in Campus Rx Pack 2136.7 – Check your version and request an update if you do not have 2136.7
Error code return from Ed-Fi. 403: [message:Authorization denied. The claim does not have any established relationships with the requested resource.].Upstream resources were not able to post this student record. Typically, this happens on a resource in the student section. If the student does not have a student record, Student School Associations record, anything downstream of those (Student Ed Org, Student Attendance, Student Program) will fail with this error.  It means the record has no student data with which to match.
Error code return from Ed-Fi. 403: [message:Access to the resource item could not be authorized because the 'StudentUSI' of the resource is empty.].

Error code return from Ed-Fi. 400: [message:Validation of 'StudentPost' failed. Student with unique id N00019315 was not matched successfully in the Identity system. Please verify through the identities API before resubmitting this student. ].
These errors usually does not mean the STN was not present in the JSON that Campus sent to the state.  Rather, this means that the STN that was provided does not match anything in the STN App Center or is missing a digit or two on data entry.  The best course of action here is to check the STN of the student against the App Center. If it is accurate, contact IDOE Support.

Object Data Elements

Any data elements not listed here are not sent with the Ed-Fi record in Indiana. Data elements in bold are part of the natural key.

Click here to expand...
 

Data Element LabelBusiness RulesMandatory (M) / Conditional (C) / Optional (O)

Location

attendanceEvent
Category
Descriptor 
  • Reports the Ed-Fi Code mapped to the Attendance State Codethat is determined as the 1st place or 2nd place attendance status code for the day.
    • See below in eventDuration for the calculation that determines the "1st place" and "2nd place" attendance status codes.
  • When there are no negative attendance codes listed for the day, and the student is eligible to report for that particular day, report the Ed-Fi Code mapped to the In Attendancecode.
    • We assume the student was "In Attendance" if no negative attendance codes are entered.
MAttendance Office > Settings > Attendance Code Setup > Attendance Excuse Detail > State Code

Reporting >  Ed-Fi Configuration > Resource Preferences > Student School Attendance Events 




eventDate 

Reports the Date being reported.

MStudent Information > General > Attendance > Date

attendance.date
schoolReference 

Reports the fields that are part of the Natural Key for the Schools resource.

  • educationOrganizationId = 10 + State District Number + State School Number


M

School & District Settings > District > District Information > State District Number

+
School & District Settings > Schools > School Information > State School Number


district.stateDistrictNumber

school.stateSchoolNumber

sessionReference

Reports the fields that are part of the Natural Key for the Sessions resource.

M

N/A


studentReference 

Reports the fields that are part of the Natural Key for the Students resource.

MN/A
eventDuration

Reports either 0.5 or 1 based on the logic shown below:


Determining Base Requirements for Period Schedules, Courses, and Sections to be Considered in the Calculation for Total Instructional Time:

  • Period Schedules
    • Start Time and End Time must be populated.
  • Courses
    • Active IS checked.
    • Attendance IS checked.
  • Sections
    • Scheduled into a period schedule that meets the base requirements shown above.


Determine the "Full Day Threshold (Percentage)" and "Half Day Threshold (Percentage)":

  • These fields can be found in Resource Preferences for the Student School Attendance Events resource.
  • These fields default to "100" and "50" respectively.
  • These fields only accept values between 1 and 100.
  • These fields treat the whole number entered as a percentage.
    • Example: 90 is treated as 90%.


Calculation of Instructional Time Associated to Each Attendance Code:

  1. Calculate the total instructional time associated to the student's schedule for the day being reported.
  2. Calculate the total instructional time associated to each Attendance State Code.
    • If two attendance local codes that have the same Attendance State Code are placed on the same day, those two codes sum towards the same State Code instead of being considered separately.
    • A lack of an attendance code is considered as "In Attendance".
    • The value entered into "Present Minutes" is considered as "In Attendance".
      • We will take the absolute value of the value entered in Present Minutes (e.g. -45 is treated as 45).
  3. Convert the total instructional time associated to each Attendance State Code into a percentage of the student's day:
    • Formula: Total Instructional Time (Attendance State Code) / Total Instructional Time (Student's Schedule) = Percentage of Day (Attendance State Code)
  4. Rank the Attendance State Codes by their Percentage of Day.
  5. Compare the 1st Place Attendance State Code to the Full Day Threshold.
    • If the 1st Place code is greater than or equal to the Full Day Threshold, report that state code for attendanceEventCategoryDescriptor with an eventDuration of 1.
      • The logic chain will end here if 5a was true.
    • If the 1st Place code is less than the Full Day Threshold, continue to step 6.
  6. Compare the 1st Place Attendance State Code to the Half Day Threshold.
    • If the 1st Place code is greater than or equal to the Half Day Threshold, report that state code for attendanceEventCategoryDescriptor with an eventDuration of 0.5. Also report the 2nd Place Attendance State Code for attendanceEventCategoryDescriptor with an eventDuration of 0.5.
      • The logic chain will end here if 6a was true.
    • If the 1st Place code is less than the Half Day Threshold, continue to step 7.
  7. Report the 1st Place and 2nd Place Attendance State Codes for attendanceEventCategoryDescriptor with an eventDuration of 0.5each.
    • We can only report up to 2 records per day.
    • These records must sum up to an eventDuration of 1.


What happens when there is a tie in instructional time between Attendance State Codes?

  • We will use the attendance code(s) that appear higher on the priority list shown below:
    1. In Attendance
    2. Virtual
    3. Excused Absence
    4. Exempt
    5. Unexcused Absence
    6. Suspended
    7. Expelled
  • Example:
    • The instructional time associated to "In Attendance", "Excused Absence", and "Unexcused Absence" is 120 minutes each for the day. We would report "In Attendance" and "Excused Absence" as they appear higher on the list than "Unexcused Absence".


How is Expelled Attendance recorded?

Important: Expelled attendance must be populated by the school on the day of expulsion. Enter the date of expulsion in Expulsion Date on Enrollment.

  • When Expulsion Date < Enrollment End Date
    • Send a record with an attendanceEventCategoryDescriptor of Expelled and an eventDuration of 1 for every instructional day after the date entered in Expulsion Date up to and including the Enrollment End Date.
  • When Expulsion Date = Enrollment End Date
    • Send a record with an attendanceEventCategoryDescriptor of Expelled and an eventDuration of 1 for every instructional day after the date entered in Expulsion Date.
  • In all other situations
    • Report attendance using the "normal" method shown above.
MReporting >  Ed-Fi Configuration > Resource Preferences > Student School Attendance Events

Student Information > General > Attendance 

Prism Call

Due to present attendance, our traditional solution of triggers does not work for the Student School Attendance Events resource in Indiana as we cannot trigger on an object that doesn't exist ("In Attendance" records). To replace triggers, we have implemented a nightly Prism call that resyncs this resource overnight for the previous day's records. If records are changed on Attendance for a past date a manual resync will need to be performed. See the Indiana Ed-Fi Scheduled Tasks article for more information.

Descriptor

Click here to expand...

Attendance Event Category Descriptor

Code ValueDescriptionNamespace
Excused AbsenceExcused Absencehttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xml
ExemptExempthttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xml
ExpelledExpelledhttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xml
In AttendanceIn Attendancehttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xml
SuspendedSuspendedhttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xml
TardyTardyhttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xml
Unexcused AbsenceUnexcused Absencehttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xml
VirtualVirtualhttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xml