WI DPI WISEdata Ed-Fi Docs

Student Identity

The Student Identity Integration allows SIS vendors to integrate with the WISEid application, which assigns a unique ID to a person. SIS vendors that implement this integration provide a means for their schools and districts to retrieve and review potential student matches and to create WISEids for students through their SIS. The matches displayed on the SIS should be examined before creating a new WISEid.

This feature applies only to both student and staff records in WISEid. Prior to 24/25 SY, staff records must to be managed through the normal WISEid person upload processes.

Please refer to the WISEdata Ed-Fi Student Identity Programmer’s Guide for more information: https://wisconsindpi.atlassian.net/wiki/spaces/widpiedfi/pages/6685927/Programmer+s+Guide+for+Student+Identity+Integration . SIS vendors must ensure they submit requests using the appropriate URL and the current year in the URL.

This integration is expected from Choice schools.


Ed-Fi Tech Docs: https://techdocs.ed-fi.org/display/ODSAPI22/Identities+API


Data Properties:

#

Property Name

Data Type

Business Definition

Data Element Page

1.0

BirthDate

string

The identifier assigned to a local education agency.

https://dpi.wi.gov/wise/data-elements/dateofbirth

2.0

BirthLocation

array

 

 

3.0

City

string

(Optional but recommended) Person’s birth city. 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.

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

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.

6.0

StateAbbreviation

string

(Optional but recommended) Person’s bith state if born in the United States or Puerto Rico.

7.0

FirstName

string

Person’s name

  • 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.

  • Diacritical marks are NOT accepted at this time and will be rejected.

8.0

LastSurname

string

9.0

MiddleName

string

10.0

GenerationCodeSuffix

string

Person’s name suffix

  • Restricted to the set of suffixes I - XV, Sr, Jr, SJ

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

Email

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 additon to a WISEid role with create/edit ability.

21.0

ParentGuardianNames

array

At least one 'Parent/Guardian' record is required for each person record when they have a 'Local Person ID Key Type' that equals 'Student'

 

22.0

FirstName

string

Parent's Name

  • 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.

  • Diacritical marks are NOT accepted at this time and will be rejected.

23.0

MiddleName

string

24.0

LastSurname

string

25.0

TypeDescription

string

Valid options are F = Father, M = Mother, G = Guardian, or O = Other.

NA


Student Identify 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 student WISEid and validate data

Perform a Find with a single valid wiseid

All demographic information, Parent Guardian info (if available), and latest 2 enrollments associated with the WISEid are returned

2.0

Find multiple student WISEid's and validate data

Perform a Find with an array valid wiseids

All demographic information, parent guardian info (if available), and latest 2 enrollments associated with the WISEids are returned

3.0

Find an invalid student 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 student 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": [
"1001214263",
"3007626623",
"3045268586"

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 enrollments (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 Student 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 enrollments (if available).

Most recent 2 enrollments should include: School Year, School ID, School Name, LEA ID, LEA Name, Entry Grade Level Descriptor, Entry Date, and Exit Withdraw Date.

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)

  • If SSA does exist, then Local Person ID will not be displayed

Multiple WISEid's should be returned. SearchResponses should include Unique ID, score, demographics, locals, other names, parent guardian names, most recent 2 enrollments (if existing), Local Person ID and email (if available)

Most recent 2 enrollments should include: School Year, School ID, School Name, LEA ID, LEA Name, Entry Grade Level Descriptor, Entry Date, and Exit Withdraw Date

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)

  • If SSA doesn't exist, then Local Person ID, email will not be displayed

Multiple WISEid's should be returned. SearchResponses should include Unique ID, score, demographics, other names, parent guardian names, and most recent 2 enrollments (if existing).

Most recent 2 enrollments should include: School Year, School ID, School Name, LEA ID, LEA Name, Entry Grade Level Descriptor, Entry Date, and Exit Withdraw Date.

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:
LastSurname: Saye,
FirstName: Aye,
BirthDate: 2001-01-04,
SexType: F,
LocalPersonId: ,
EducationOrganizationId: xxx

status": 1,
searchResponses:
uniqueId: 1018788212,
score: 100,
lastSurname: Saye,
firstName: Aye,
sexType: F,
birthDate: 2001-01-04T00:00:00Z
....
inactiveuniqueids: 2033123045

13.0

Search for WISEid with 100 score

Perform Search with a the following parameters:
LastSurname: "Hound",
FirstName: "Pixel",
BirthDate: "2017-04-14",
SexType: "M",
EducationOrganizationId: xxxx

One WISEid is returned:
"status": 1,
"uniqueId": "2014816553",
"score": 100,

14.0

Search for WISEid with +80 score

Perform Search with a the following parameters:
LastSurname: "HANSON",
FirstName: "JENNA LEA",
BirthDate: "1990-06-30",
SexType: "F",
EducationOrganizationId: xxxx

Multiple WISEids are returned
"status": 1,
"uniqueId": "1001052923"
"score": 82.0693634

"uniqueId": "6781003711"
"score": 82.0693634

"uniqueId": "6625202107"
"score": 50.995909

etc.

15.0

Search for WISEid with +50 score

Perform Search with a the following parameters:
LastSurname: "Mouse",
FirstName: "Mickey",
BirthDate: "2017-06-30",
SexType: "M",
EducationOrganizationId: xxx

Multiple WISEids are returned
"status": 1,
"uniqueId": "1011605073"
"score": 50.3320895

"uniqueId": "3202700346"
"score": 50.3320895

"uniqueId": "4842074635"
"score": 50.3320895

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 'Student' 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, Student, 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 not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Email is already in use by another WISEid: XXXXXXXXXX"

WISEid should be created

Starting 23/24SY, DPI has removed the validation error for student 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."

36.0

Create WISEid with valid inputs while performing Search operation with valid Parent Guardian Names and Type Description

Create with valid parentGuardianNames typeDescription as 'F' (father), 'M' (mother), 'G' (guardian), or 'O'(Other)

WISEid should be created

37.0

Create WISEid with valid inputs while performing Search operation with Parent Guardian Names array blank

Create with parentGuardianNames array blank

WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: Person is under age 18 and doesn't have a parent/guardian. If person is a student please add parent/guardian., At least one 'Parent/Guardian' record is required for each person record when they have a 'Local Person ID Key Type' that equals 'Student'., Parent1 Type' is a required field when a person record has a 'Local Person ID Key Type' that equals 'Student'. This field may not be blank or null., 'Parent1 First Name'is a required field when a person record has a 'Local Person ID Key Type' that equals 'Student' Local Person ID. This field may not be blank and is required field for each person record if they have a Student Local Person ID., Parent1 Last Name' is a required field when a person record has a 'Local Person ID Key Type' that equals 'Student'. This field may not be blank or null."

38.0

Create WISEid with valid inputs while performing Search operation with Parent Guardian Names array containing missing or invalid First or LastNames

Create with parentGuardianNames array containing invalid names

WISEid should not be created. Message: "Create unsuccessful. WISEid message: Validation Errors Encountered - WiseId not created. WISEid errors: 'Parent1 First Name'is a required field when a person record has a 'Local Person ID Key Type' that equals 'Student' Local Person ID. This field may not be blank and is required field for each person record if they have a Student Local Person ID."

39.0

Create WISEid with valid inputs while performing Search operation with Parent Guardian Names array not containing Type Description

Create with parentGuardianNames array NOT containing typeDescription

WISEid should not be created. Message: "An error has occurred."

40.0

Create WISEid with valid inputs while performing Search operation with Parent Guardian Names array with missing or invalid Type Description

Create with parentGuardianNames array NOT containing invalid typeDescription

WISEid should not be created. Message: "Create unsuccessful". WISEid message: "Validation Errors Encountered - WiseId not created. WISEid errors: Parent 1 Parent Type must have be 'F' (father), 'M' (mother), 'G' (guardian) or 'O'."

41.0

Create WISEid with valid inputs while performing Search operation with Parent Guardian Names array containing multiple names and all have the same Type Description

Create with parentGuardianNames array containing multiple names with the same typeDescription

WISEid should be created (though only 2 names of parentguardians would be saved)


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", "birthLocation": {}, "GenerationCodeSuffix": null, "MultipleBirthIndicator": true, "IsHispanicLatino": false, "raceCodes": ["W"], "locals": [ { "educationOrganizationId": 12337, "localPersonId": "PID - 6673465", "email": "6673465@dpi.wi.gov", "typeDescription": "Student", "wiseSecureRoleDescription": } ], "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