The Ed-Fi “Classic Dashboards” are no longer supported through the Ed-Fi Alliance. You can still receive support and maintenance through the Ed-Fi vendor community. Please look at any of the vendors’ dashboard solutions on the Registry of Ed-Fi Badges or the Ed-Fi Starter Kits if you are looking for a visualization solution to use with the Ed-Fi ODS. This documentation will remain available to assist existing Classic Dashboard implementers.

Multiple Identification Systems in the Ed-Fi Dashboards

The as-shipped Ed-Fi Dashboards allow users to search for students and staff using multiple identifiers in the dashboard data stores. The feature allows developers to add other IDs to the search functionality for student and staff member records.

Internally, the primary identifier for an individual is referred to as the USI. In the Ed-Fi context, USI is shorthand for unique state identifier, which is a unique ID provided by the business. As the name implies, the unique state identifier is typically issued by the state. USIs are used throughout Ed-Fi technology to uniquely identify individuals.

However, the dashboard data stores also provide an optional, configurable identification mapping system. The mapping system supports additional unique identifiers for an individual (such as district-assigned ID codes), which map to an individual's USI.

This article briefly describes the configuration and use of the feature, along with additional implementation details.

Configuration

The search is configured per Local Education Agency and Search Category (i.e., Student or Staff) and can be configured for one, two, or many identification systems. If only Student USI identification codes are available, the behavior of the search does not change. If additional Student Identification codes are loaded, the search will include the new codes in the search results.

The configuration is made by populating the following tables:

DatabaseTable
EdFi_Applicationdashboard.LocalEducationAgencySearch
EdFi_Dashboarddomain.StudentIdentificationCode
EdFi_Dashboarddomain.StaffIdentificationCode

The following three figures show the populated tables:

 

Figure. 1 dashboard.LocalEducationAgencySearch


  

Figure 2. domain.StudentIdentificationCode


Figure 3. domain.StaffIdentificationCode

Sample Search Results

If no configuration is present in the Application database, but there are identification codes loaded into the Dashboard database, then by default all identification systems are enabled for search.

Previous behavior: Only StudentUSI is included in search.

 


New behavior: All identification codes loaded will be included in the search.

Implementation Details

Multiple identification system support is implemented via a mapping table in the DDW to house mappings between a Warehouse[Domain]MappingUSI for each of the edfi.Student, edfi.Staff, and edfi.Parent entities.

The Warehouse[Domain]USIMapping contains:

  • Warehouse[Domain]USI INT (PK)
  • [Domain]UniqueId NVARCHAR UNIQUE NOT NULL

Key implementation points include:

  • The records on the Warehouse[Domain]USIMapping persist even after deletion of a student, staff, or parent record.
  • The [Domain]USI field is the PK on the edfi.Student, edfi.Staff, and edfi.Parent tables.
  • The ETL Application runtime is aware of the Warehouse[Domain]USIMapping table.
  • When a new record is observed, the Warehouse[Domain]USIMapping is checked to see if the [Domain]UniqueId exists.
    • If a matching [Domain]UniqueId is found, then the ETL Application does nothing in the Warehouse[Domain]USIMapping.
    • If no match is found, then the ETL Application writes a new record in the mapping table.
  • The ETL Application runtime uses the Warehouse[Domain]USI to store all dashboard and warehouse data.

This implementation approach means that mappings do not impact vendor interaction with the system's REST API; the JSON input and responses remain the same. The Warehouse[Domain]USI for a given Student, Staff, or Parent entity is persistent across all school years in the Ed-Fi DDS and DDW, which provides the necessary means for relating historical records.