As I was meddling with registrant_list_demo.php I found that the demographics were not showing up for any of my test cases. I was under the mistaken impression this data was obtained from an external server, but it is actually taken from a data dump from the nces stored on our server in a database called ‘demographics’ (go figure). The demographics data appears to be sorted by zip code. I am surmising that this data dump is requested from nces after the registration process is complete and an updated list of zip codes has been generated.
I’m sure Mr. Sweeney can provide details of this request procedure upon his return. The demographics script is working fine, but the demographics data is most likely out if date. Cari indicated the demographics data will not be needed for a few weeks.
The NCES data was a one-time download last year. The data in the demographics database is the entire set. Though registrations are related to the demographic information by ZIP code, the NCES data does not indicate which ZIP codes are contained in each school district. The only ZIP codes available to search on relate to the address of the main office for the district.
In order to relate a ZIP code to a school district I used a kludge. When doing the matching I search for two possibilities. Either an exact match to the ZIP code listed, or a partial match to the first three digits of the ZIP code when the city also matches.
This does not always work, as you have noted. For the registrations that do not have a match I went online to the NCES school district search and tried to find which school district served a particular ZIP code. I would then add this data to the nces_school_zips table.
The main problem here is that the matches aren’t always perfect (though they should be adequate for our purposes). Plus, it requires a lot of manual intervention to match ZIP codes manually. Unfortunately, it was difficult finding demographic information that we could use last year. It may be worthwhile seeing if additional data sets are available this year.