Generation - StudentDiscipline Interchange Data
- Jason Hoekstra
This section outlines the StudentDiscipline Interchange generation rules.
Input & Precursors
Standard configuration file, which includes a SchoolProfile
with a DisciplineProfile
configuration entity.
Entities & Elements
Interchange-StudentDiscipline.xsd contains the following entities:
- DisciplineIncident
- DisciplineAction
- StudentDisciplineIncidentAssociation
Path | Element | Rules | Notes |
---|---|---|---|
DisciplineIncident | Discipline incidents are generated according to a Poisson process for the entire length of the Each student's chance to be involved in a discipline event is based on both the average discipline event rate for the student population and the individual student's performance profile. That is to say, a lower performing student is more likely to have discipline incidents than a high performing student. | Unless otherwise specified in the Config XML, the default average discipline event rate per student is 0.1 incidents per day. The default max serious incident chance (e.g. violent crime) is 15 / 1000 (per NCES) | |
id | String of the format "DISC_{IncidentIdentifier}_{SchoolId}" | ||
IncidentIdentifier | Monotonically increasing counter of discipline events generated by the SDG during the current run of the application, starting at 1. | ||
IncidentDate | Random date between DataClock.StartDate and DataClock.EndDate | ||
IncidentTime | Random time between 8:00 AM and 3:59 PM | ||
IncidentLocation | Randomly selected from all IncidentLocationType values | ||
ReporterDescription | Always "Staff" | ||
ReporterName | Name of random staff member generated previously via the StaffAssociationEntity generator. | ||
Behavior | There are two types of offenses for a discipline incident - serious and non-serious. With each discipline event there's a small chance for that event to be a serious incident (again, according to the student's performance profile). Serious Behavior types:
Non-Serious Behavior types
| ||
ReportedToLawEnforcement | True if the offense is a serious offense (i.e. Behavior = StateOffense ); false otherwise | ||
SchoolReference | Populated with reference to previously generated school | ||
StaffReference | Populated with reference to previously generated staff | ||
DisciplineAction | id | String of format "DSCActionID_{DisciplineActionIdentifier}_{DisciplineIncident.id}" | |
DisciplineActionIdentifier | Monotonically increasing counter of discipline actions generated by the SDG during the current run of the application, starting at 1. | ||
Discipline | If incident is a Serious Behavior, then Expulsion. Otherwise, one of {In School Suspension, Out of School Suspension, Removal from Classroom} | ||
DisciplineDate | Always same day as incident | ||
DisciplineActionLength | Depends on
| ||
ActualDisciplineActionLength | Same as DisciplineActionLength | ||
DisciplineActionLengthDifferenceReason | Always "No Difference" | ||
StudentReference | Populated with reference to previously generated student | ||
DisciplineIncidentReference | Populated with reference to previously generated discipline incident | ||
ResponsibilitySchoolReference | Populated with reference to previously generated school | ||
StudentDisciplineIncidentAssociation | StudentReference | Populated with reference to previously generated student | |
StudentParticipationCode | Either { Perpetrator } or one of { Reporter, Victim, Witness }. The chance the student is the perperator is inversely proportional to their student performance profile – good students can still cause discipline incidents though it's unlikely. | ||
DisciplineIncidentReference | Populated with reference to previously generated discipline incident |