SIMS 7 - New Attendance Codes to support COVID-19 Reporting
New Attendance Codes in SIMS 7
Version 4 - 17 Feb 2023
In response to government requirements for the recording of the impact of COVID-19 in schools we are adding 3 new attendance codes to support their needs.
This is optional for schools and in some edge cases schools who already had codes 7,8 or 9 in use are currently unable to take advantage of the change.
New Codes
Reg Code
|
Description
|
Statistical Meaning
|
Physical Meaning
|
Basic mark
|
Mapping for CTF, B2B
|
7
|
Illness due to Covid 19
|
Authorised Absence
|
Out for whole session
|
Basic
|
I
|
8
|
Self-isolating due to Covid 19
|
Attendance not required
|
Out for whole session
|
Basic
|
Y
|
9
|
Shielding due to Covid 19
|
Attendance not required
|
Out for whole session
|
Basic
|
Y
|
---- Change (16th June 2020) begins -----
Some schools have already used these codes for alternative purposes and so an alternative set may be offered...
Reg Code
|
Description
|
Statistical Meaning
|
Physical Meaning
|
Basic mark
|
Mapping for CTF, B2B
|
=
|
Illness due to Covid 19
|
Authorised Absence
|
Out for whole session
|
Basic
|
I
|
[
|
Self-isolating due to Covid 19
|
Attendance not required
|
Out for whole session
|
Basic
|
Y
|
]
|
Shielding due to Covid 19
|
Attendance not required
|
Out for whole session
|
Basic
|
Y
|
See Here
<In the text that follows, the same principle applies which ever code set is chosen
-------- end of change -------
The existing SIMS 7 API calls will allow:
- The same call to be made to return attendance codes which may now include the additional 3.
- The same calls to be made to get attendance marks which will return the new codes if selected.
- The same save calls to attendance record to be made to enable theses codes to update SIMS 7. However this does not work for codes 8, 9 and Y because their statistical meaning is that pupils are no required to attend.
There is some additional work which will help schools using the new codes with regard to CTF and B2B which use the code categories and map the new codes back to Y and I.
There is work in progress for the Summer 2020 SIMS release to support Y codes via the partner APIs. This now needs to be reviewed to ensure that it supports 8 and 9 codes in addition to Y. We are also investigating whether this can be made available in advance of the Summer release.
Code Calls
public static XmlDocument GetAttendanceCodes()
{
SIMS.Processes.TPAttendanceRead ATR = new SIMS.Processes.TPAttendanceRead();
// XML Document needed to get the codes
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
// This is the actual call to get the codes
doc.InnerXml = ATR.GetXmlAttendanceCodes();
return doc;
}
New codes added:
<AttendanceCode>
<AttendanceCodeID>31</AttendanceCodeID>
<Code>7</Code>
<ExternalDescription>Illness due to Covid 19</ExternalDescription>
<InternalCode>7</InternalCode>
<Description>Illness due to Covid 19</Description>
<PhysicalMappingID>3</PhysicalMappingID>
<PhysicalMappingDescription>Out for whole session</PhysicalMappingDescription>
<StatisticalMappingID>3</StatisticalMappingID>
<StatisticalMappingDescription>Authorised Absence</StatisticalMappingDescription>
<PhysicalMappingEditable>F</PhysicalMappingEditable>
<StatisticalMappingEditable>F</StatisticalMappingEditable>
<DescriptionEditable>F</DescriptionEditable>
<NonSimsUse>F</NonSimsUse>
<IsRestricted>True</IsRestricted>
<Active />
<AttendanceCodeCategory />
<RegionCode />
</AttendanceCode>
<AttendanceCode>
<AttendanceCodeID>32</AttendanceCodeID>
<Code>8</Code>
<ExternalDescription>Self-isolating due to Covid 19</ExternalDescription>
<InternalCode>8</InternalCode>
<Description>Self-isolating due to Covid 19</Description>
<PhysicalMappingID>3</PhysicalMappingID>
<PhysicalMappingDescription>Out for whole session</PhysicalMappingDescription>
<StatisticalMappingID>5</StatisticalMappingID>
<StatisticalMappingDescription>Attendance not required</StatisticalMappingDescription>
<PhysicalMappingEditable>F</PhysicalMappingEditable>
<StatisticalMappingEditable>F</StatisticalMappingEditable>
<DescriptionEditable>F</DescriptionEditable>
<NonSimsUse>F</NonSimsUse>
<IsRestricted>True</IsRestricted>
<Active />
<AttendanceCodeCategory />
<RegionCode />
</AttendanceCode>
<AttendanceCode>
<AttendanceCodeID>33</AttendanceCodeID>
<Code>9</Code>
<ExternalDescription>Shielding due to Covid 19</ExternalDescription>
<InternalCode>9</InternalCode>
<Description>Shielding due to Covid 19</Description>
<PhysicalMappingID>3</PhysicalMappingID>
<PhysicalMappingDescription>Out for whole session</PhysicalMappingDescription>
<StatisticalMappingID>5</StatisticalMappingID>
<StatisticalMappingDescription>Attendance not required</StatisticalMappingDescription>
<PhysicalMappingEditable>F</PhysicalMappingEditable>
<StatisticalMappingEditable>F</StatisticalMappingEditable>
<DescriptionEditable>F</DescriptionEditable>
<NonSimsUse>F</NonSimsUse>
<IsRestricted>True</IsRestricted>
<Active />
<AttendanceCodeCategory />
<RegionCode />
</AttendanceCode>
Write back call
SIMS.Processes.TPAttendanceWrite ATW = new SIMS.Processes.TPAttendanceWrite();
try
{
ATW.WriteSessionAttendances(d.InnerXml);
if (ATW.ValidationMessages.Count == 0)
{
// It worked
return rc;
}
else
{
rc = "Errors: ";
foreach (SIMS.Entities.ValidationError v in ATW.ValidationMessages)
{
rc += v.ToString();
}
}
}
catch (Exception ex)
{
rc = "Errors: " + ex.ToString();
}
But with the XML Save document constructed from the data below
public static void AddTest(int StudentID)
{
AddMark(StudentID, "AM", DateTime.Parse("2020-06-01"), @"/", 0, "Works");
AddMark(StudentID, "PM", DateTime.Parse("2020-06-01"), "7", 0, "Works");
AddMark(StudentID, "AM", DateTime.Parse("2020-06-01"), "9", 0, "Fails");
AddMark(StudentID, "PM", DateTime.Parse("2020-06-01"), "I", 0, "Works");
AddMark(StudentID, "AM", DateTime.Parse("2020-05-12"), "8", 0, "Fails");
AddMark(StudentID, "PM", DateTime.Parse("2020-05-12"), "Y", 0, "Fails");
}
8,9 and Y fail due to an invalid code.
Useful extensions
https://www.sims-partners.com/Product/SIMS7/Attendance/Session-Attendance-Code-Walkthrough shows how to manage statutory attendance within SIMS.