How We Connect
Synergy data is pulled nightly via a secured Open Database Connection (ODBC). Traffic is encrypted in transit and at rest and a successful connection requires an SSH server or VPN. For more information about ODBC and VPN, please review our Connecting your SIS to Schoolzilla via ODBC overview.
For more information about getting connected. Please review our setup article here.
Mappings Overview
Students
Student demographic data is sourced from the EPC_STU, REV_PERSON, EPC_STU_SCH_YR, EPC_STU_PGM_ELL, and EP_STUDENT_IEP tables.
Key Field(s) | Mapping(s) |
---|---|
System Student ID |
Values are populated using the SIS_NUMBER field in the EPC_STU table. |
Full Name |
Values are populated using the LAST_NAME and FIRST_NAME fields in the REV_PERSON table. |
Values are populated using the most recent record in the EPC_STU_SCH_YR table where today's date is on or after the ENTRY_DATE for the enrollment. The code in the GRADE field is translated into a description using the REV_BOD_LOOKUP_VALUES and REV_BOD_LOOKUP_DEF tables. |
|
Values are populated using the IDEA_CUR_LEVEL field from the EPC_STU_PGM_ELL table. The code in the IDEA_CUR_LEVEL field is translated into a description using the REV_BOD_LOOKUP_VALUES and REV_BOD_LOOKUP_DEF tables. |
|
Values are populated using the FRM_CODE field from the EPC_STU_PGM_FRM table. The code in the FRM_CODE field is translated into a description using the REV_BOD_LOOKUP_VALUES and REV_BOD_LOOKUP_DEF tables. |
|
Foster Care Status* |
Values are equal to "In Foster Care" if a student has "Y", "Yes" or "1" in the FOSTER_HOME field in the EPC_STU table. All other students are considered "Not in Foster Care". |
Values are populated using the GENDER field from the REV_PERSON table. |
|
Grade Level at the Time |
Values are populated using the relevant recent record in the EPC_STU_SCH_YR table. The code in the GRADE field is translated into a description using the REV_BOD_LOOKUP_VALUES and REV_BOD_LOOKUP_DEF tables. |
Homeless Status* |
Values are equal to "Is Homeless" if the HOME_LESS field from the EPC_STU table has a non-NULL value. All other students are considered "Not Homeless" |
Is SPED* |
Values are equal to "In Special Education" if a student has "Y", "Yes", or "1" in the INDICATOR_SPECED field from the EPC_STU table. All other students are considered "Not in Special Education". |
Migrant Status* |
Values are equal to "Migrant" if a student has "Y", "Yes", or "1" in the MIGRANT field in the EPC_STU table. All other students are considered "Not Migrant". |
Military Family Status* |
Values are marked "In Military Family" if any parent in EPC_STU_PARENT associated with the student have a record in EPC_PARENT_MILITARY_STATUS with a MILITARY_SERVICE value of "A" that is currently active based on EFFECTIVE_DATE and END_DATE. All other students are considered "Not in Military Family". |
Values are populated using the first valid option:
|
|
Values are populated using the PRIMARY_DISABILITY_CODE field in the EP_STUDENT_IEP table. The current and valid record is determined using the IEP_VALID and IEP_STATUS fields, with expected values of BLANK or "Y" and "CU" respectively. The code in the PRIMARY_DISABILITY_CODE field is translated into a description using the REV_BOD_LOOKUP_VALUES and REV_BOD_LOOKUP_DEF tables. |
* The documentation above represents the default mappings in place. Some of these mappings can be customized and are typically updated during initial setup. Customizable fields have an asterisk(*).
Staff
A comprehensive teacher users is sourced from the REV_PERSON and EPC_STAFF tables.
Key Field(s) | Mapping(s) |
---|---|
Full Name |
Values are populated using the LAST_NAME and FIRST_NAME fields from the REV_PERSON table. |
|
Values are populated using the EMAIL field in the REV_PERSON table. |
Calendars
School calendar data is sourced from the EPC_SCH_ATT_CAL, REV_ORGANIZATION_YEAR and REV_YEAR tables.
Key Field(s) | Mapping(s) |
---|---|
School Year |
Calendars are linked to school years using the SCHOOL_YEAR field + 1 in the REV_YEAR table. Note: Summer school EXTENSION = "S", will be linked to NO school year (1900) and not show up in Schoolzilla dashboards. |
In Session |
Days are considered "In Session" if HOLIDAY field in the EPC_SCH_ATT_CAL table is NULL. |
School Enrollment & Retention
Student school enrollment history is populated using the EPC_STU_SCH_YR and EPC_STU_ENROLL tables. Enrollment history is limited to:
- Regular school year (EXTENSION = "R")
- Valid enrollment records where, if populate, the entry date comes before or on the same day as the leave date (see mappings below)
Key Field(s) | Mapping(s) |
---|---|
School Year |
Enrollments are linked to school years using the SCHOOL_YEAR field + 1 in the REV_YEAR table. |
Entry Date |
Values are populated using the ENTER_DATE field in the EPC_STU_ENROLL table. For "No Show" enrollments, the ENTER_DATE is null so Schoolzilla ill use the first in session day of the school year as the entry date. |
Values are populated using the LEAVE_DATE field in the EPC_STU_ENROLL table. If LEAVE_DATE is NULL and the record is a "no show", the first in session day of the school year is used as the exit date. If LEAVE_DATE is NULL and the record is not a "no show", the last in session day of the school year is used as the exit date. |
|
Values are populated using the LEAVE_CODE field in the EPC_STU_SCH_YR table. |
|
No Show |
Enrollments are considered "No Show" records if either of the two conditions below are met:
|
School |
Enrollments are linked to schools using the ORGANIZATION_YEAR_GU and ORGANiZATION_GU in the REV_ORGANIZATION_YEAR table. |
Student Rosters (Class & Teacher Associations)
Students are rostered to classes and teachers using the EPC_STU_CLASS and the EPC_STAFF_SCH_YR tables.
Key Field(s) | Mapping(s) |
---|---|
School Year |
Class enrollments are linked to school years using the SCHOOL_YEAR field +1 in the REV_YEAR table. |
Class Entry Date |
Values are populated using the ENTER_DATE field in the EPC_STU_CLASS table. |
Class Exit Date |
Values are populated using the first non-null value:
|
Staff |
Class enrollments are linked to staff using the STAFF_SCHOOL_YEAR_GU field in the EPC_STAFF_SCH_YR table. Note: in order for staff to be linked to sections both of the following conditions must be met:
|
Attendance
Daily attendance can be calculated use a full or partial day attendance mode. By default, Schoolzilla will calculate using the partial day mode unless the ALL_DAY_VALUE_CALC value in the EPC_STU_ATT_DAILY table is NULL for all students and all years or you have requested a Full Day calculation.
For both calculation methods, Schoolzilla assumes a student is present for every in session school day they were enrolled at their school and are not otherwise marked absent.
Key Field(s) | Mapping(s) |
---|---|
Attendance Value |
Partial Day Calculation Values are populated using 1 - the ALL_DAY_VALUE_CALC field in the EPC_STU_ATT_DAILY table. Full Day Calculation Values are populated using the CODE_ABS_REAS1_GU field in the EPC_STU_ATT_DAILY table. The value will be full day absent if either of the two conditions below are met:
|
Absence Code |
Partial Day Calculation Values are populated using the ALL_DAY_REAS_CALC field in the EPC_STU_ATT_DAILY table. The code will be considered absent if either of the two conditions below are met:
Full Day Calculation Values are populated using the CODE_ABS_REAS1_GU field in the EPC_STU_ATT_DAILY table. The code will be considered absent if either of the two conditions below are met:
|
School |
Attendance is linked to schools the the student's enrollment record. |
Behavior
Behavior data is loaded from the EPC_SCH_INCIDENT, STU_INC_VIOLATION and EPC_STU_INC_DISPOSITION tables.
Key Field(s) | Mapping(s) |
---|---|
School Year |
Behavior incidents are linked to school years using the INCIDENT_DATE and ORGANIZATION_YEAR_GU in the EPC_SCH_INCIDENT table. |
School |
Behavior incidents are linked to school using the ORGANIZATION_YEAR_GU field in the EPC_SCH_INCIDENT table. |
Incident Date |
Values are populated using the INCIDENT_DATE field in the EPC_SCH_INCIDENT table. |
Incident Time of Day |
Values are populated using INCIDENT_TIME field in the EPC_SCH_INCIDENT table. |
Values are populated using the DESCRIPTION field in the EPC_CODE_DISC table. Behaviors are linked to categories using the CODE_DISC_GU field in the STU_INC_VIOLATION table. |
|
Values are populated using the LOCATION field in the EPC_SCH_INCIDENT_LOCATION table. |
|
Values are populated using the DESCRIPTION field in the EPC_CODE_DISP table or EPC_CODE_DISP_SUB1 table. Behaviors are linked to responses using the STU_INC_DISPOSITION_GU field in the EPC_STU_INC_DISPOSITION table. |
* This field can also be configured to pull from the INCIDENT_CONTEXT_CODE field in the EPC_SCH_INCIDENT table.
GPA
GPAs are sourced from the EPC_STU_GPA table.
Key Field(s) | Mapping(s) |
---|---|
GPA Calculation |
Values are populated using the GPA_TYPE_NAME field in the EPC_GPA_DEF_TYPE table. |
GPA Value |
Values are populated using the GPA field in the EPC_STU_GPA table. |
By default,
- Cumulative GPA will be loaded using the GPA_GRD_TYPE of "Course History Only" and GPA_TYPE_NAME of 7quot;Unweighted Cumulative GPA".
- Term GPA will be loaded using the GPA_GRD_TYPE of "Current Report Period" and a GPA_TYPE_NAME of "Unweighted Term GPA".
Please contact support to configure which GPA calculations are used on your dashboards!
Grades
Grades data is sourced from the Transcripts (EPC_STU_CRS_HIS table), Report Cards (EPC_STU_SCH_YR_GRD_PRD_MK table) and the Gradebook (EGB_REPORTCARDSCORECHANGES table).
Data is loaded as follows:
- Load all Transcripts (EPC_STU_CRS_HIS) that don't have records in the Report Card (EPC_STU_SCH_YR_GRD_PRD_MK).
- Load all Report Card (EPC_STU_SCH_YR_GRD_PRD_MK) records. If they have a valid Course History record, use the Mark from the Transcript because it is possible to update a transcript mark after a report card is finalized. If the record is not yet on the student's transcript, use the mark from the Report Card.
- Load all records from the Gradebook.
If a student has multiple grades for the same course and term on their transcript, the highest grade is used.
Key Field(s) | Mapping(s) |
---|---|
School Year |
Transcript grades are linked to school years using the SCHOOL_YEAR field + 1 in the EPC_STU_CRS_HIS table. Report Card and Gradebook grades are linked to school years using the SCHOOL_YEAR field + 1 in the REV_YEAR table. |
School |
Transcript grades are linked to schools using the SCHOOL_IN_DISTRICT_GU field in the EPC_STU_CRS_HIS table. Report Card and Gradebook grades are linked to schools using the ORGANIZATION_YEAR_GU field for the section of the grade record. |
Values are populated using the first non-null option:
|
|
Class Period |
Values are populated using the PERIOD_BEGIN field in the EPC_SCH_YR_SECT table if the start and end period are the same. Values are populated using the PERIOD_BEGIN and PERIOD_END fields in the EPC_SCH_YR_SECT table if the start and end period are different. |
Transcript and Report Card grade values are populated using the MARK field in the EPC_STU_CRS_HIS and EPC_STU_SCH_YR_GRD_PRD_MK tables. If a grade is present on both the student's transcript and report card, preference is given to the transcript MARK value. Gradebook grade values are populated using the CALCULATEDSCORE field in the EGB_REPORTCARDSCORECHANGES table. |
|
Grades are linked to grading periods using the SCHOOL_YEAR_GRD_PRD_MK_GU field in the EPC_STU_SCH_YR_GRD_PRD_MK table for both Transcript and Report card grades that exist in that table. Grade period values are populated using the MARK_NAME_SHORT (or MARK_NAME if short-name isn't populated) in the EPC_SCH_YR_GRD_PRD_MK table. Gradebook grades are linked to grading periods using the PERIODID field in the EGB_REPORTCARDSCORECHANGES table. Grade period values are populated using the MARK_NAME_SHORT (or MARK_NAME if short-name isn't populated) in the EPC_SCH_YR_GRD_PRD_MK table. Transcript grades that only appear in the student's transcript (EPC_STU_CRS_HIS table) cannot be linked to grading periods. |
|
Transcript grades are linked to terms using the SCHOOL_YEAR and TERM_CODE fields in the EPC_STU_CRS_HIS table. Report Card and Gradebook grades are linked to terms using the ORGANIZATION_YEAR_GU and TERM_CODE fields in the the EPC_SCH_YR_SECT table. Values are populated using the TERM_CODE field in the EPC_SCH_YR_TRM_CODES table. |
|
Grade Type |
Values are equal to "Transcript" for all grades that exist in the EPC_STU_CRS_HIS table. Values are equal to "Report Card" for all grades that only exist in the EPC_STU_SCH_YR_GRD_PRD_MK table. Values are equal to "Gradebook" for all grades loaded from the EGB_REPORTCARDSCORECHANGES table. |
Grade Status |
All Transcript and Report Card grades are considered "Final". Gradebook grades where the marking period has completed based on the EVENT_DATE in the EPC_SCH_YR_GRD_PRD table are all considered "Final". All other gradebook grades are considered "In Progress". |
* The documentation above represents the default mappings in place. Some of these mappings can be customized and are typically updated during initial setup. Customizable fields have an asterisk (*).
Known Limitations
Non-Primary Teachers - Schoolzilla currently supports auto-generating accounts for teacher users. These teachers have access to students currently enrolled in their classes and to the schools at which they teach. At this time, this is limited to primary teachers for Synergy. The teacher roster template can be used to create additional accounts for non-primary teachers.
Gradebooks must be Synchronized for class/staff associations to populate - Schoolzilla currently requires a course to exist in the EGB_CLASS table to link staff/students and classes. This only occurs after a gradebook has been synchronized.
Frequent Data Quality Issues
For the issues below, Synergy support and help documentation is the best resource for helping to answer and resolve configuration questions/issue. Schoolzilla has, with the assistance of customers like you, documented these issue as they have arisen but has limited knowledge and expertise of how to resolve errors within Synergy.
Attendance Inflated (e.g. showing 100%). This is typically cause by 1 of two issues in Synergy:
- The nightly Synergy job to calculate the ALL_DAY_VALUE_CALC is not running - Occasionally the ALL_DAY_VALUE_CALC job will not run or fail to run. If you are unable to determine why the job is not running or running successfully, please work with Synergy support.
- Missing or invalid Absence Thresholds for schools/years - All FTE values at a school and possible amounts must have a valid Absence Amount specified. The ALL_DAY_VALUE_CALC job should be re-run manually after thresholds are changed.
If absence thresholds that were used >90 days ago are modified OR the job to populate the ALL_DAY_VALUE calc has not run in >90 days, please contact support to request a full refresh of your attendance data.
SCHOOL_CODE is not populated or not uniquely identifying a school - Schoolzilla leverages the SCHOOL_CODE field in the EPC_SCH table as the unique identifier of a school. However, this field is not required nor required to be unique for all organizations in Synergy. For a school to appear on Schoolzilla Dashboards with an accurate calendar, enrollment count etc. the school must have a valid, non-null and unique school_code in the EPC_SCH table.
Frequently Asked Questions
None at this time.