# Functions
Add a teacher to a list of scheduled teachers (SIF type sifxml.ScheduledTeacherListType, appearing in ScheduledActivty or TimeTableCell), with a starting time and finish time for their scheduled teaching.
List of all codes for Australian Government Collections, to iterate through.
Default selection of teaching subjects: "MAT", "ENG", "PHYS", "BIO", "CHEM", "COMP", "VIS", "ECON", "HIST".
Map Australian Government Collection code to human-readable name.
Generate a code for the given collection round.
Populate an address.
Create a CalendarDate object linked to CalendarSummary object calendar and SchoolInfo object school, for the given date (date).
Create a range of CalendarDate objects linked to CalendarSummary object calendar and SchoolInfo object school.
Create a CalendarSummary object, linked to SchoolInfo object school.
Create a ChargedLocationInfo object, linked to parent ChargedLocationInfo object parent (if it is not nil), and SchoolInfo object school (if it is not nil)
If school is present:
* SiteCategory is set to "School"
* LocationType is set to "School"
* Name, LocalId, StateProvinceId, AddressList are copied from school.
Create count ChargedLocationInfo objects.
Creates a CollectionRound object for a given AG Collection.
Create CollectionRound objects for the currently supported AG Collections.
Create a CollectionStatus object, given the standard abbreviation for the collection, and the round number.
Create CollectionStatus objects for the currently supported AG Collections, and for each round created in CollectionRounds.
Create a Debtor object, associated with one of StudentPersonal object student, StaffPersonal object staff, StudentContactPersonal object contact, or VendorInfo object vendor.
Create a Debtor object corresponding to each object in each of the slices of objects passed to the function.
Create a FinancialAccount object, linked to parent FinancialAccount object parent (if it is not nil), and ChargedLocationInfo object location (if it is not nil)
* LocalId is a sequence number shared between all objects.
Create count FinancialAccount objects, some of which shall be linked to ChargedLocationInfo objects randomly drawn from locations.
Create a GradingAssignment object, linked to SchoolInfo object school, TeachingGroup object teachinggroup, and slice of StudentPersonal objects students.
Create count GradingAssignment objects, each linked to SchoolInfo object school, TeachingGroup object teachinggroup, and slice of StudentPersonal objects students.
Create a GradingAssignmentScore object, linked to GradingAssignment object assignment, SchoolInfo object school, TeachingGroup object teachinggroup, StudentPersonal object student, and StaffPersonalObject staff.
Create a GradingAssignmentScore object for each student in the slice of StudentPersonal objects students, each of them linked to GradingAssignment object assignment, SchoolInfo object school, TeachingGroup object teachinggroup, and StaffPersonalObject staff.
Create a RoomInfo object linked to SchoolInfo object school, with no associated staff.
Create count RoomInfo objects, linked to SchoolInfo object school.
Create a RoomInfo object linked to SchoolInfo object school, with associated StaffPersonal objects given in staff (populating StaffList).
Create ScheduledActivity objects corresponding to the slice of TimeTableCell objects cells, the slice of CalendarDate objects dates, and the slice of TeachingGroup objects tg.
Create a ScheduledActivity object, linked to SchoolInfo object school, TimeTable object timetable, TimeTableCell object timetablecell, TimeTableSubject object timetablesubject, slice of StudentPersonal objects students, slice of StaffPersonal objects staff, Slice of TeachingGroup objects teachinggroups, and slice of RoomInfo objects rooms.
Create a ScheduledActivity object, based on the contents of TimeTableCell object c, and TeachingGroup object tg, for the given date (ActivityDate).
Creates a SchoolCourseInfo object, linking to TimeTableSubject object subject and the slice of TermInfo object terms.
Creates a SchoolCourseInfo object for each subject in TimeTableSubject, linking to the slice of TermInfo object terms.
Create a school with its school of SchoolType schooltype.
Creates count SchoolInfo objects, with random school types.
Create a SessionInfo object for TimeTableCell c, and the given date.
Create a sequence of SessionInfo objects, one for each TimeTableCell object in cells, and for each CalendarDate object in dates which has a StudentAttendance.CountsTowardAttendance value of "Y".
Create a StaffAssignment object, linking StaffPersonal object staff to SchoolInfo object school.
Creates one StaffAssignment for each staff member in staff, linking it to school.
Create a StaffPersonal record.
Create count StaffPersonal objects.
For STDP, following fields added: * Sex, identical to Gender (differentiated as of 3.6.0) * PlaceOfBirth, randomised * OtherName (0.1 possibility: Type: "PRV").
Create one or two StudentContactPersonal objects and StudentContactRelationship objects for each student in students.
Create a StudentContactRelationship record joining StudentPersonal object student to StudentContactPersonal object contact.
Create a Student Data Transfer Note object for the given student, with the nominated school as the departure school
* The Arrival School is another random school from the list of schools
* With probability 0.2, a distinct random school is given as a Previous School
* FollowupRequest, ChildSubjectToOrders, Attendance are set randomly
* Where present, the VisaExpiryDate is set to July 30 next year, the ATEStartDate to July 30 two years ago, the ATEExpiryDate to July 30 one year ago
* With probability 0.2, student has a single NCCD; Level of Adjustment and Category of Disability are assigned randomly.
Create a Student Data Transfer Note object for each student in students, and for a set of schools, with the nominated school as the departure school.
Create a StudentPersonal record, with the student enrolled in the given year level.
Create count StudentPersonal records; each student is assigned a random member of yearlevels as their year level.
Create a StudentSchoolEnrollment object, linking StudentPersonal object student to SchoolInfo object school.
Creates one StudentSchoolEnrollment for each student in students, linking it to school.
Create a TeachingGroup object, linked to StudentPersonal objects students (StudentList), StaffPersonal objects staff (TeacherList), and TimeTableSubject timetablesubject.
Create TeachingGroup objects linking to SchoolInfo object school, drawing on preexisting objects in staff, students, and subjects.
Create a TermInfo object linked to the SchoolInfo object school, and representing the given semester.
Create TermInfo objects linked to SchoolInfo object school.
Create a TimeTable object linked to SchoolInfo object school.
Create a TimeTableCell object linked to the SchoolInfo object school, the TimeTable object timetable, the TimeTableSubject object subject, the TeachingGroup object teachinggroup, the RoomInfo object room (as primary room), the slice of RoomInfo objects rooms, the StaffPersonal object staff (as primary staff), and the slice of StaffPersonal objects teachers.
Create TimeTableCell objects linking to SchoolInfo object school, TimeTable object timetable, slice of StaffPersonal objects staff, slice of RoomInfo objects rooms, and slice of TimeTableSubject objects tts.
Create a TimeTableSubject object linking to SchoolInfo object school, SchoolCourseInfo object course, with parameters giving the subject matter (subject), the year level (acyear), the end year level if the subject is offered across multiple year levels (acyear_end; "" if it does not apply), and the semester number.
Create TimeTableSubject objects linked to SchoolInfo object school.
Create a VendorInfo object.
Create count VendorInfo objects.
Abort on error.
No description provided by the author
Use the fake person generator to generate a person with the given gender Supported genders: "male", "female".
Map supported HTTP status code to human-readable title.
The default counts of objects that MakeUsecaseObjects() is to generate, if they are not overtly specified in the call to MakeUsecaseObjects().
Given a list of HITS use cases to fulfil, and a list of counts of objects to generate (for those counts which are independent variables), generate all the SIF objects required to fulfil those use case requirements, ensuring that the objects are interrelated as appropriate.
Set the time that the period with PeriodID id ends; e.g.
The permitted periods for a school day.
Set the time that the period with PeriodID id starts; e.g.
Marshal to JSON, and print to output.
Marshal to XML, and print to output.
Map the School Type schooltype to a slice of year levels that a school of that type offers.
No description provided by the author
End date for the given semester in the given year.
Start date for the given semester in the given year.
# Structs
The counts of different SIF objects to be generated by MakeUsecaseObjects(), for each object that it makes sense to specify a count for as an indepedent variable.
The different HITS use cases that MakeUsecaseObjects() is to generate objects for.
No description provided by the author
All the SIF objects generated by MakeUsecaseObjects(), bundled up as a single object.