Proposed extension: Attendance
Get attendance
This call will bulk retrieve period-by-period attendance data from the SIS. This call is typically more voluminous than any other LISS call and therefore implementors should consider using LISS-over-JSON instead of LISS-over-XmlRpc.
Call
liss.getAttendance(auth, date1, date2)
Parameters
auth
: See authentication
date1
: timestamp. The timestamp parameters should be interpreted as dates, not date-time's, so you cannot query portions of a day, only whole days.
date2
: timestamp.
Returns
An array of struct’s. Each struct is defined as follows:
Field | Type | Notes | Example |
---|---|---|---|
StudentId | string mandatory | A short identifier which uniquely identifies a student. | |
Activity | string mandatory to have either this or type | This field is used if the publisher is implementing period-by-period attendance. An alphanumeric identifier which uniquely identifies a particular lesson, e.g. a particular instance of a class or an excursion. This identifier should be in a particular format: 3 elements, separated by commas: <classCode>,<date>,<period> . There should be no spaces unless the class-code contains a space. In the unlikely event that the classCode contains a comma, the identifier should be broken up from right to left since the latter 2 elements cannot contain commas. These 3 components will match the corresponding fields in liss.publishDailyData() .(The reason this call uses this 3-part string instead of 3 separate fields is to reduce bandwidth with XmlRpc implementations, noting that period-by-period data is voluminous and XmlRpc is very inefficient.) | |
Type | string mandatory to have either this or Activity | This field is used instead of 'Activity' if the publisher is not implementing period-by-period attendance. Values are: AM meaning morning,PM meaning afternoon, orW meaning 'whole day'. | |
Status | string mandatory | A single character string or empty string. There are 5 allowed values:P = confirmed presentA = confirmed absentp (lowercase) = presumed present, e.g. because they were present in the morning roll-call perioda (lowercase) = presumed absent, e.g. because there has been advance notification of a planned absenceempty string = not known and don't want to guess. | |
MinutesLate | integer optional | Applies to period-by-period attendance. Represents the number of minutes the student was late to this lesson. Only applicable with 'status=P'. If this field is missing, we understand the student to have arrived on time. LISS does not support multiple absence time-ranges within the one activity. | |
MinutesLeftEarly | integer optional | Applies to period-by-period attendance. Represents the number of minutes the student left the lesson early. See above. | |
ReasonCode | string optional | A short code representing the reason for the absence, if known. This field will be omitted or blank if the reason is unknown. This field is closely related to 'Category': 'ReasonCode' represents a detailed breakdown of absence reasons, in a way that can be customised by any system or even any school, whereas 'Category' has a small and fixed set of standardised values. To make sense of the ReasonCode's i.e. the detailed breakdown, the two systems will need to directly negotiate some system or standards. | |
Category | string mandatory if Status is neither 'P' nor 'p', except with 'AsAbove' | Closely related to 'ReasonCode', see the explanation above. The 4 allowed values are:unexplained approved unapproved schoolbiz The first 3 should be counted for statistical purposes. The last one, "schoolbiz", is to be used for things like TAFE or 1-on-1 interviews or when the attendance system is being used (abused) to register excursions. For the sake of reports, "schoolbiz" is to be regarded as "present". | |
ReasonText | string optional | A free-text explanation of the absence. | |
AsAbove | boolean optional | This field is used to compress the data being sent. If true (i.e. '1' in XmlRpc) then we will associate this row with the 'reasonCode' and 'reasonText' and 'Category' fields of the previous row in the array. This field should only be used with period-by-period attendance, i.e. if each row contains the 'Activity' field instead of the 'Type' field. If half-day/full-day attendance is used then every record should have the full set of fields. |