For Developers
Attendance Overview
An Attendance object represents a Person's
attendance of a Meeting
.
When storing attendance data storage can become a significant consideration. Attendance records can be 100 times greater than the number of enrollments. For that reason, we provide and recommend storing only negative attendance records and those records with flags. If you do require positive attendance you can follow the following procedure to convert between the two.
Edlink Only Stores Negative Attendance Records And Attendance Records Where There Are Flags
We store attendance information in two key scenarios:
- Negative Attendance Records: These are instances when a person is marked absent.
- Attendance Records with Flags: If a record has an Attendance Flag, for instance, a person may have a valid reason for missing a class or a unique circumstance that needs to be noted. In these cases, a flag is added to the record. Edlink stores these flagged attendance records
Converting Between Negative And Positive Attendance
If you need to convert from negative to positive attendance. You can use the following procedure.
Daily Attendance
- Get the meetings for the days you are interested in tracking
- Pull all negative attendance records for the meeting
- Get all people that you want to track attendance for
- Get enrollments for the person and get the earliest start date of all the enrollments
- Loop through the attendance records and create a positive attendance record for each enrollment where:
- An existing attendance record doesn't already exist.
- The meeting day is on or after the person's earliest enrollment start date
Class Attendance
- Get the meetings for the days and classes you are interested in tracking
- Pull all negative attendance records for the meeting
- Get the class record and enrollments for the meeting
- Loop through the attendance records and create a positive attendance record for each person's enrollment where:
- An existing attendance record doesn't already exist.
- The meeting day is on or after the person's enrollment date
Properties
Property | Type | Description |
---|---|---|
id | string | The UUID for the object. $filter operators: equals in not in |
created_date | Date | When the object was first seen by Edlink. |
updated_date | Date | When the object was last changed in Edlink. $filter operators: equals gt lt gte lte |
state | AttendanceState | The state of the attendance record. |
flags | AttendanceFlag[] | The flags for the attendance record. All, some, or none of the possible flags may be included. |
person_id | string | The UUID of the associated Person. |
comment | string | Additional comments on the attedance object |
identifiers | Identifier[] | Additional IDs associated with the object. |
person_id | string | The UUID of the associated Person. |
meeting_id | string | The UUID of the associated Meeting. |
JSON Example
{
"id": "00000000-0000-0000-0000-000000000000",
"created_date": "2021-07-05T20:32:40.454Z",
"updated_date": "2021-07-12T21:44:23.126Z",
"state": "present",
"flags": [],
"comment": "This is a comment",
"properties": {},
"person_id": "00000000-0000-0000-0000-000000000000",
"meeting_id": "00000000-0000-0000-0000-000000000000"
}