WI DPI WISEdata Ed-Fi Docs
Staff Identity (Public LEA Only)
- Jaidaa Shafaei
- heather.kluck
- sheethal.srinivas
The Staff Identity Integration allows vendors to integrate with the WISEid application, which assigns a unique ID to a person. Vendors that implement this integration provide a means for their schools and districts to retrieve and review potential staff matches and to create WISEids for staff through their SIS. The matches displayed on the SIS should be examined before creating a new WISEid.
Starting the 24/25 SY, the Identity API applies to both student and staff records in WISEid.
Please refer to the WISEdata Ed-Fi Staff Identity Programmer’s Guide for more information: Programmer's Guide for Staff Identity Integration. SIS vendors must ensure they submit requests using the appropriate URL and the current year in the URL.
This integration is NOT expected from Choice schools.
Ed-Fi Tech Docs: Identities API - ODS / API v2.2 - Ed-Fi TechDocs
Data Properties:
# | Property Name | Data Type | Business Definition | Data Element Page |
1.0 | BirthDate | string | The month, day, and year on which an individual was born. | |
2.0 | BirthLocation | array |
|
|
3.0 | City | string | (Optional but recommended) Person’s birth city. | |
4.0 | Country | string | (Optional but recommended) Person’s birth country if born outside the United States or Puerto Rico. This field will allow text to be inserted up to 60 characters, but we suggest vendors eventually try to follow options at https://www.iso.org/obp/ui/#search/code/ in 'English Short Names' for list of countries | |
6.0 | StateAbbreviation | string | (Optional but recommended) Person’s bith state if born in the United States or Puerto Rico. | |
5.0 | County | string | (Optional but recommended) Person’s birth county if born in the United States or Puerto Rico. Text is restricted to: A-Z, Hyphen, Apostrophe, Period, and Spaces. In case of hyphen, apostrophe, period, and space they cannot appear consecutively. For example, no double or triple spaces. This field will allow text to be inserted up to 35 characters, but we suggest vendors eventually try to follow options http://www.census.gov/geo/reference/codes/cou.html download the United States CSV file for field COUNTYNAME for the complete list. | |
7.0 | FirstName | string | Person’s name
| |
8.0 | LastSurname | string |
| |
9.0 | MiddleName | string |
| |
10.0 | GenerationCodeSuffix | string | Person’s name suffix
|
|
11.0 | SexType | string | Person’s gender. Valid options are: M = Male) , F = Female, or X = Non-Binary | |
12.0 | RaceCodes | string | A code corresponding to the racial/ethnic group or groups with which the person identifies. Valid values are: A = Asian, I = American Indian or Alaska Native, P = Native Hawaiian or Other Pacific Islander, B = Black or African American, and W = White. | |
13.0 | MultipleBirthIndicator | boolean | Indicates if a person was part of a set from the same birth (twins, triplets, quadruplets, quintuplets, sextuplets, septuplets, octuplets). This field is highly recommended as it will block auto-matching and prevent incorrect auto-matching of siblings with the same birth date and same or similar names. It will also help with determining if a person is part of a multiple birth vs. a duplicate. Valid options are ‘true’, ‘false’ or null. | |
14.0 | IsHispanicLatino | boolean | Hispanic/Non-Hispanic question is answered ‘true’ or ‘false’ | |
15.0 | Locals | array |
|
|
16.0 | EducationOrganizationId | integer | The identifier assigned to a local education agency. |
|
17.0 | LocalPersonId | string | Unique field to be used by the agency to cross reference and join the local system’s person ID to the state system’s WISEid. Same format whether staff or students are uploaded | |
18.0 | TypeDescription | string | Current valid types include: "Student" or "Staff". | |
19.0 | string | This email address is connected to each unique combination of a WISEid, Local Person ID, and Local Person ID Key Type per agency. This will be used for the upcoming WISEsecure system to authorize access to DPI systems. Each unique email can only be attached to one WISEid record, although the same WISEid can have the same email applied to multiple Local Person IDs. | ||
20.0 | WiseSecureRoleDescription | string | Indicates a person's WISEsecure role, which is connected to the Local Person ID and Email. Allowable values are: Educational Support, Teacher, Special Ed Director/Designee, Principal/Designee, Student, None. Null will convert to "None" role. Access to update this field requires a WISEstaff "Agency Staff Admin" security role in addition to a WISEid role with create/edit ability. | |
21.0 | EntityID | Numeric | (Optional but recommended) DPI-assigned Educator File Identification Number. |
Use Cases:
# | Use Case Title | Use Case Description | What to Submit/retrieve |
---|
# | Use Case Title | Use Case Description | What to Submit/retrieve |
---|---|---|---|
FIND | |||
1.0 | Find a staff WISEid and validate data | Perform a Find with a single valid WISEid | All demographic information, Parent Guardian info (if available), and latest 2 staff assignments associated with the WISEid are returned |
2.0 | Find multiple staff WISEid's and validate data | Perform a Find with an array valid WISEid | All demographic information, parent guardian info (if available), and latest 2 staff assignments associated with the WISEids are returned |
3.0 | Find an invalid Staff WISEid and validate data | Perform a Find with an invalid WISEid | The SIS should display an appropriate response when the WISEid is invalid |
4.0 | Leave the WISEid field blank and click 'Find' This test case may not be applicable in SIS UI | Perform Find with a blank request | The SIS should display an appropriate response when the WISEid field is left blank |
5.0 | Find a merged Staff WISEid and validate data | Perform a Find with a merged WISEid (e.g. 1001214263) | The SIS should display only one result with the WISEid returned being the active one (1024861481) inactiveuniqueids": [ |
SEARCH | |||
6.0 | Search for WISEid with valid inputs and validate data | Perform Search with LastSurname, FirstName, and BirthDate (other fields may be populated or blank) Note: The EducationOrganizationId should be sent as part of the API request. The helps determine if Email and LocalPersonId should be returned for ApiKey that is associated with the Education Organization. | Multiple WISEid's should be returned. Search Responses should include Unique ID, score, demographics, locals, other names, parent guardian names and most recent 2 staff assignments (if available) |
6.1 | Perform Search with LastSurname and FirstName only (Birth Date is missing) | No WISEid returns and SIS should display a response that says "Last Name, First Name, and Birth Date are required." | |
6.2 | Perform Search with LastSurname, FirstName, and Birth Date (with Local Person ID) | Search score will vary based on the supplied data | |
6.3 | Perform Search with LastSurname, FirstName, and Birth Date (without Local Person ID) | Search score will vary based on the supplied data | |
6.4 | Perform Search with Staff Unique ID, LastSurname, FirstName, and BirthDate | Multiple WISEid's should be returned. SearchResponses should include Unique ID, score, demographics, locals, other names, parent guardian names, and most recent 2 staff assignments (if available). Most recent 2 staff assignments should include: School Year, School ID, School Name, LEA ID, LEA Name, Position Code, Position Description, Area Code, Area Description. | |
7.0 | Search for WISEid from an agency tied to Key used with valid inputs and validate data | Perform Search with LastSurname, FirstName, and BirthDate (other fields may be populated or blank)
| Multiple WISEid's should be returned. SearchResponses should include Unique ID, score, demographics, locals, other names, parent guardian names, most recent 2 staff assignments (if existing), Local Person ID and email (if available) Most recent 2 staff assignments should include: School Year, School ID, School Name, LEA ID, LEA Name, Position Code, Position Description, Area Code, Area Description. |
8.0 | Search for WISEid from an agency NOT tied to Key used with inputs and validate data | Perform Search with LastSurname, FirstName, and BirthDate (other fields may be populated or blank)
| Multiple WISEid's should be returned. SearchResponses should include Unique ID, score, demographics, other names, parent guardian names, and most recent 2 staff assignments (if existing). Most recent 2 staff assignments should include: School Year, School ID, School Name, LEA ID, LEA Name, Position Code, Position Description, Area Code, Area Description. |
9.0 | Search for WISEid with names that include values other than alpha characters and validate data | Perform Search with LastSurname, FirstName, and BirthDate but First/Last Names include values other than alphacharacters | No WISEid returns and SIS should display a response that says "Search unsuccessful. WISEid message: Validation Errors Encountered. WISEid errors: Last Name contains invalid characters." |
10.0 | Search for WISEid with Last Name, First Name, Birth Date, and Suffix (invalid suffix code) | Perform Search with an invalid GenerationCodeSuffix, i.g. 'Pro' | No WISEid returns and SIS should display a response that says "Search unsuccessful. WISEid message: Validation Errors Encountered. WISEid errors: Suffix must be a valid value for the defined list." |
11.0 | Search for WISEid with invalid Gender Code and validate data | Perform Search with an invalid SexType, i.g. 'O' or values other than M, F or X | No WISEid returns and SIS should display a response that says "Search unsuccessful. WISEid message: Validation Errors Encountered. WISEid errors: Gender must be 'F' or 'M'." |
12.0 | Search for a merged WISEid with validate data | Perform a Find with a merged WISEid with the following parameters: | status": 1, |
13.0 | Search for WISEid with 100 score | Perform Search with a the following parameters: | One WISEid is returned: |
14.0 | Search for WISEid with +80 score | Perform Search with a the following parameters: | Multiple WISEids are returned "uniqueId": "6781003711" "uniqueId": "6625202107" etc. |
15.0 | Search for WISEid with +50 score | Perform Search with a the following parameters: | Multiple WISEids are returned "uniqueId": "3202700346" "uniqueId": "4842074635" |
CREATE | |||
16.0 | Create WISEid with valid inputs while performing Search operation with 'Locals' info not tied to any existing WISEid from current agency | Create with Search Key and Search parameters | WISEid should be created |
17.0 | Create WISEid with invalid inputs and validate an appropriate response is displayed This test case may not be applicable in SIS UI | Create with an invalid SearchKey | WISEid should not be created. Message: "Invalid response from identity service: Incomplete" |
18.0 | Create WISEid with expired inputs and validate an appropriate response is displayed This test case may not be applicable in SIS UI | Create with an expired/used SearchKey | WISEid should not be created. Message: "Invalid or Expired Search Token - WiseId not created. WISEid errors: Search Token already consumed. Cannot create Person more than once with Token." |
19.0 | Create WISEid with missing inputs and validate an appropriate response is displayed | Create with missing SearchKey | WISEid should not be created. Message: "Missing required fields: SearchKey" This test case may not be applicable in SIS UI |
20.0 | Create with missing LastSurname | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Required field is missing, 'Last Name'." | |
20.1 | Create with missing FirstName | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Required field is missing, 'First Name'." | |
20.2 | Create with missing MiddleName | WISEid should be created | |
20.3 | Create with missing SexType | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Required field is missing, 'Gender'." | |
20.4 | Create with missing BirthDate | WISEid should not be created. Message: "Missing required fields: BirthDate" | |
20.5 | Create with missing IsHispanicLatino field | WISEid should not be created. Message: "Missing required fields: IsHispanicLatino" | |
20.6 | Create with missing LocalPersonId | WISEid should not be created. | |
21.0 | Create WISEid with incorrect inputs and validate an appropriate response is displayed This test case may not be applicable in SIS UI | Create with LastSurname not matching from Search | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Invalid or Expired Search Token - WiseId not created. WISEid errors: Last Name does not match value in Search Token " |
21.1 | Create with FirstName not matching from Search | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Invalid or Expired Search Token - WiseId not created. WISEid errors: First Name does not match value in Search Token" | |
21.2 | Create with MiddleName not matching from Search | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Invalid or Expired Search Token - WiseId not created. WISEid errors: Middle Name does not match value in Search Token" | |
21.3 | Create with SexType not matching from Search | WISEid should be created | |
21.4 | Create with BirthDate not matching from Search | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Invalid or Expired Search Token - WiseId not created. WISEid errors: Birthdate does not match value in Search Token" | |
22.0 | Create WISEid with invalid inputs and validate an appropriate response is displayed | Create BirthLocation with StateAbbreviation as Wisconsin rather than Wi | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Birth State code must be from the CEDS list of state codes and limited to one of the 50 US states, District of Columbia (Washington DC) or Puerto Rico." |
22.1 |
| Create with missing/ invalid raceCode value | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Race Key must be a valid value from the defined list. (2,3,4,5,6)" |
23.0 | Create WISEid with missing/incorrect input and validate an appropriate response is displayed | Create with missing/ incorrect GenerationCodeSuffix field but exists in SearchKey | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Invalid or Expired Search Token - WiseId not created. WISEid errors: Last Name does not match value in Search Token (YYYYY), Suffix does not match value in Search Token (Jr)" |
24.0 | Create WISEid with valid inputs while performing Search operation with educationOrganizationId on 'Locals' not tied to Agency/API Key | Create with Search Key and Search parameters | WISEid should not be created. Message: "The ApiKey 'XXXXXXXXX' is not authorized to send EducationOrganizationId: 2468. The ApiKey 'XXXXXXXXX' is authorized for the following EducationOrganizationId(s) (7533)." |
25.0 | Create WISEid with valid inputs while performing Search operation with educationOrganizationId on 'Locals' is EdOrg Code (5656) instead of EdOrg ID (7533) This test case may not be applicable in SIS UI | Create with valid Search Key and Search parameters | WISEid should not be created. Message: "The ApiKey 'ZTest-SKT-PUBLIC' is not authorized to send EducationOrganizationId: XXXX. The ApiKey 'ZTest-SKT-PUBLIC' is authorized for the following EducationOrganizationId(s) (YYYY)." |
26.0 | Create WISEid with valid inputs while performing Search operation with educationOrganizationId on 'Locals' is School ID and API KEY is at LEA level This is for MPS, MCP | Create with Search Key and Search parameters | WISEid should not be created. Message: "The ApiKey 'ZTest-SKT-PUBLIC' is not authorized to send EducationOrganizationId: xxxx. The ApiKey 'ZTest-SKT-PUBLIC' is authorized for the following EducationOrganizationId(s) (YYYY)." |
27.0 | Create WISEid with valid inputs while performing Search operation with educationOrganizationId on 'Locals' is School ID and API KEY is at School level This is for MPS, MCP | Create with Search Key and Search parameters | WISEid should be created |
28.0 | Create WISEid with valid inputs while performing Search operation with local person id within 'Locals' info tied to an existing wiseid from current agency | Create with Local Person ID tied to an existing wiseid from current agency | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Email is already in use by another WISEid: XXXXXXXXX, Local Person Id already exists in the current agency." |
29.0 | Create WISEid with valid inputs while performing Search operation with local person id within 'Locals' missing | Create with Local Person ID is missing | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Required Field Missing: Local Person ID." |
30.0 | Create WISEid with valid inputs while performing Search operation with Type Description within 'Locals' missing | Create with typeDescription missing | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Email is already in use by another WISEid: ZZZZZZZZZZ, Local Person ID Key Type must be either 'Staff' or '' and is required" |
31.0 | Create WISEid with valid inputs while performing Search operation with Type Description and WISESecure Role Description within 'Locals' are both provided as 'Staff' | Create with typeDescription and wiseSecureRoleDescription are both as 'Staff' | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: WISEsecure Role must be a valid value from the Role list: Educational Support, Teacher, Special Ed Director/Designee, Principal/Designee, , None." |
32.0 | Create WISEid with valid inputs while performing Search operation with email within 'Locals' is in invalid format | Create with invalid email format | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Invalid email" |
33.0 | Create WISEid with valid inputs while performing Search operation with email within 'Locals' already tied to another wiseid | Create with email tied to another wiseid | WISEid should be created Starting 23/24SY, DPI has removed the validation error for email uniqueness. |
34.0 | Create WISEid with valid inputs while performing Search operation with names array as blank | Create with names array as blank | WISEid should be created |
35.0 | Create WISEid with valid inputs while performing Search operation with names array containing invalid First or LastNames | Create with invalid characters in First or Last Name | WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Other Name First Name contains invalid characters." |
JSON Sample:
{
LastSurname: "HANSON",
FirstName: "JENNA LEA",
BirthDate: "1990-06-30T00:00:00",
MiddleName: "",
GenerationCodeSuffix: "",
SexType: "F",
LocalPersonId: "PID - 6673465",
EducationOrganizationId: 12337
}
{
"searchKey": "6b055675-6f15-400d-8c7b-752bbe0ca2f9",
"lastSurname": "HANSON",
"firstName": "JENNA LEA",
"middleName": "A",
"sexType": "F",
"birthDate": "1990-06-30T00:00:00",
"entityid": 17563,
"birthLocation": {},
"GenerationCodeSuffix": null,
"MultipleBirthIndicator": true,
"IsHispanicLatino": false,
"raceCodes": ["W"],
"locals": [
{
"educationOrganizationId": 12337,
"localPersonId": "PID - 6673465",
"email": "6673465@dpi.wi.gov",
"typeDescription": "Staff",
"wiseSecureRoleDescription": "Teacher"
}
],
"names": [
{
"firstName": "JENNALEA",
"middleName": "A",
"lastSurname": "HANSON"
}
],
"parentGuardianNames": [
{
"firstName": "CYNTHIA",
"lastSurname": "HANSON",
"typeDescription": "Mother"
},
{
"firstName": "DAVID",
"lastSurname": "HANSON",
"typeDescription": "Father"
}
]
}
Wisconsin Department of Public Instruction