Indiana Ed-Fi Data v2.4/3.1 - Student School Attendance Events

This event entity represents the recording of whether a student is in attendance on a daily basis at their school.

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

Object Triggering Logic

This table describes logic for triggering syncing of this object.

ActionTrigger
Post

When a new attendance event is verified for a student and the Attendance Status + Attendance Excuse combination is mapped to an Ed-Fi code.


OR


When a student has a Positive Attendance record and 'Positive Attendance' is mapped to an Ed-Fi code.

  • Report attendance for each school the student has a Student School Association record for.
  • Attendance date must fall on or between enrollment start and end dates.
  • Unknown attendance events will not send an event to ed-fi. The original post will not appear until an excuseID is entered in the attendance table.
  • Do not send records if attendance records are associated with a Calendar when the Exclude check box is checked.
  • A record will send for each distinct Date and Attendance Event Category Descriptor.
  • Do not send records if attendance records are associated with a School when the Exclude checkbox is checked.
Put

If Attendance Event Reason is changed.

DeleteDelete attendance record if all attendance is removed for the day for that Attendance Event Category Descriptor.
DeleteWhen an enrollment is deleted.

School Exclude, Calendar Exclude, Resource Toggle and Resync Logic

This table describes the School Exclude, Calendar Exclude, Resource Toggle and Resync logic of this object.

ActionTrigger
NoneIf a resource is toggled to 'OFF' after data has sent, all sent data will remain in the ODS but no new data will send.
ResyncIf a record is in the Ed-Fi Identity Mapping table and not in the ODS, it will be deleted from the Ed-Fi Identity Mapping table.
ResyncIf a record is in the ODS and it does not have a matching record in Campus or the Ed-Fi Identity Mapping table, it will be deleted from the ODS.
ResyncIf a mapping is changed in Resource Preferences, a resync will need to be done to reflect the changes.

Natural Key Changes, Cascading Updates, and Deletes Logic

This table describes the Natural Key Changes/Cascading Updates and Deletes logic of this object.

ActionTrigger
Post/Delete

If any part of the Natural Key Changes

  • Natural key changes to upstream resources will NOT cause a delete as of Campus.2247.

  • If the Attendance Status, Excuse or Date changes a delete/post will occur.

Cascading Updates:  N/A, there are no dependent resources


Scope Year Logic

This table describes scope year logic of this object.

Logic

Attendance will send to the scope year for the school year the attendance dates are associated with based on the student's enrollment.

  • Data will only send for the years that have valid configuration.


Event Queue Detail

This table describes the Event Queue Detail of this object.

Campus TableEd-Fi ActionFields
attendancePost/Put/DeleteThe primary table used for sending data for this resource.

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.
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 to match with.
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

This table describes data elements sent within the Student School Attendance Event resource.

Data Element LabelBusiness RequirementBusiness RulesM, C or O

Location

 id 

The unique identifier of the resource.

 M 
attendanceEvent
CategoryDescriptor 
Key for the Attendance Event Category
Type.

Normal Reporting:

  • Reports when a student has a verified attendance status / excuse combination that is mapped to an Ed-Fi code.
  • Reports when a student is in attendance (i.e., no negative attendance code = present; report status IA)
    • An attendance mark must be sent for every student, every day, whether the student is in attendance or not.
    • If a student has record for a half day absence, the student must also have a record for a half day In Attendance.

Expulsion Reporting:

  • A student is recognized as Expelled when their enrollment has an End Date and a Local End Status of 'Code 33: Serving Expulsion or Out-of-School Suspension'.
  • The day of expulsion is treated as a normal day. The 'Expelled' attendance status needs to be manually placed on each attendance-taking period as necessary.
  • After the day of expulsion, 'Expelled' is reported for a duration of 1 for each instructional day after the end date.
  • Attendance reports normally if a new enrollment is created after the initial expulsion enrollment.
MStudent Information > General > Attendance > Status + Excuse
Lack of attendance > Status + Excuse = IA

attendance.

status

attendance.

excuse


eventDate Date for this attendance 
event.

Enter the date for the attendance record being reported.

M Student Information > General > Attendance > Date

attendance.date
schoolReference A reference to the related School resource.Reports state school number.
  • 10+District+School


M 
TermDescriptorIDA reference to the related Term.Reports the term in which the attendance mark was made.M
studentReference A reference to the related Student resource.

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

 

M 
attendanceEventReason The reported reason for a student's absence.Report the first 40 characters from the Comments entered in the Attendance being reported for that day.
  1. If more than 40 characters exist, add .... to indicate additional text not shown.
  2. If there is more than 1 comment entered for that day and they have the same status / excuse code, report the comment from the last period that contains a comment.
  3. If there is more than 1 comment entered for that day and the record have different status/excuse codes, report the comment from each record.
  4. If blank, do not report.
OStudent Information > General > Attendance > Comments

attendance.comments
educationalEnvironment
Descriptor 
The setting in which a child receives education and related services.

This is optional, does not report.

O 
eventDuration The amount of time for the event as recognized by the school: 1 day = 1, 1/2 day = 0.5.

Report the half day or whole day when the absence occurred.

  1. Full Schedule
    • Calculate using the "Full Day Absence" and "Half Day Absence" fields on Calendar.  
      • System Administration > Calendar > Calendar
    • Combine absent minutes to a total.
      • Report 0.5 if at or over the "Half Day Absence" field on Calendar
      • Report 1 if at or over the "Full Day Absence" field on Calendar
    • Report absence as the code used most.
      • Example: If 30 minutes is set to Absent Excused and 100 minutes is set to Absent Unexcused, the Absent Unexcused would report over the Absent Excused
      • If Absent Excused and Absent Unexcused are the same amount of minutes, and they equal or surpass the "Half Day Absence" field from Calendar, always report as Absent Unexcused
    • If the student is not absent up to the "Half Day Absence" field on Calendar, report 1 to In Attendance
    • If the student has been reported as 0.5 to Absent, also report 0.5 to In Attendance

  2. Partial Schedule
    • Calculate using total Instructional Minutes the student is rostered into.
    • If the student has any amount of instructional minutes set to a reported attendance status:
      • Report 0.5 to Reported Attendance Status and 0.5 to In Attendance
        • Example: If 15 minutes of instructional minutes is set to Absent Excused, report 0.5 to Absent Excused and 0.5 to In Attendance
      • If Absent Excused and Absent Unexcused are the same amount of minutes, always report as 'Absent Unexcused'.
    • If the student has all instructional minutes set to a reported attendance status, report 1 to the Reported Attendance Status.
    • If the student has no instructional minutes set to a reported attendance status, report 1 to In Attendance.
M System Administration > Calendar > Calendar
etag A unique system-generated value that identifies the version of the resource. O 


Type/Descriptor

Click here to expand...

Attendance Event Category Descriptor

codeValuedescriptionnamespaceshortDescription
Excused AbsenceExcused Absencehttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xmlExcused Absence
ExemptExempthttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xmlExempt
ExpelledExpelledhttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xmlExpelled
In AttendanceIn Attendancehttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xmlIn Attendance
SuspendedSuspendedhttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xmlSuspended
TardyTardyhttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xmlTardy
Unexcused AbsenceUnexcused Absencehttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xmlUnexcused Absence
VirtualVirtualhttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xmlVirtual
Virtual Due to COVIDVirtual Due to COVIDhttp://doe.in.gov/Descriptor/AttendanceEventCategoryDescriptor.xmlVirtual Due to COVID