NYC DOE is a custom integration for schools that are part of the New York City Department of Education.


You can recognize a NYC DOE school by the email address which usually ends with @schools.nyc.gov


Unlike regular school districts, NYC DOE schools are all part of one huge district and therefore can not be combined easily under one district account.



The data for NYC DOE is in their SIS (student information system) named "Stars"


We have the ability to sync the data from Stars using their OneRoster API.

However, the NYC DOE does not permit our program to sync parent data.

Therefore, if a school wants to import parent data, they will have to manually import 2 csv files:

  • Parent file
  • Relationship file

Those file formats are identical to the regular CSV file formats.


In order to sync the data we need permission from the NYC DOE.

To get permission, the school must submit a request called ERMA request to the DOE.

The request is usually submitted by the principal or assistant principal.


They can submit the request by visiting the NYC DOE portal:

This is the link if they are not already aware of where it is:

 https://infohub.nyced.org/nyc-doe-topics/it/doe-applications-and-systems/enterprise-request-management-application-erma 


The request will be accompanied by a code called a "DBN"

The DBN is what we call the "School Code"


When PTC Wizard does a sync with the DOE, it uses the school code (DBN) to only get the data for that school only.


The sync process will also involve generating a list of courses in the school.

We can provide that list to the school to review and tell us which courses to exclude when making connections.


Currently, the entire process for doing a sync must go through Shammai until it is available on the website for self service.



Once the DOE grants access for us to get the schools data, we can sync.  

Go to Integration page and make sure the DBN is saved.

Then Click the sync button.


The sync with the DOE is done "offline".  Meaning that once you click the Sync button it will initiate a sync that happens behind the scenes.  You can close your browser and it will still continue.

In order to know the status of the sync, a Log of the status is listed in the first table on the page.


There are 3 valid statuses.  
Pending = The data is being requested

Running = The is being copied

Success = The sync is finished 


Once all 4 Entities are marked as "Success" in the Status column, the sync is complete.  You might want to refresh your page.  


Underneath the status of the logs, is a table with Class information.

You can exclude certain classes by checking the checkbox.

The search box in that table will help find classes so it is easier to exclude.


The data from the NYC DOE is stored in these tables:
doe_classes

doe_enrollment

doe_students

doe_teachers


The configuration for the tool is in the table: nyc_doe_config

The logs for the tool are in the table: nyc_doe_log

The classes to be excluded are in the table:  nyc_doe_classes_excluded


In addition to the tables mentioned above - the csv_enrollment table plays a crucial role.

Just like the Hybrid Integration type, the NYC DOE integration type relies on parents to enter the student id's for their children.  Once the student id is entered it links the parent to the student and teachers by adding records into the parent_teacher table.


In order to accomplish this, the process relies on the csv_enrollment table for the connection between students and teachers.