Background
Currently, users can search for one record at a time by entering someone’s last name and date of birth.
We know from user research and support queries that a lot of users – especially large organisations – want to:
- check multiple records at once
- bulk check alerts and prohibitions data
So we're adding bulk search functionality to help save users time searching for multiple records.
Designing bulk search functionality
After researching other services, we learned that Register trainee teachers lets users upload bulk placement data.
We decided to repurpose this feature for our service.
From the header, users can navigate to the ‘Find multiple teacher records’ page where we:
- provide a CSV template for users to download
- tell users they must enter the teacher reference number (TRN) and date of birth in the CSV file for each person they want to search for
- allow users to upload the file
Searching by TRN and date of birth
When searching for a single teacher record, users enter the person's last name and date of birth.
When doing a bulk search, users must enter the TRN and date of birth for each person they want to search for.
This approach:
- avoids multiple results if 2 or more people share the same last name and date of birth, which would complicate the user journey and technical implementation
- is a more secure and accurate way of querying the API
- is intuitive for users who do bulk searches, who typically have TRNs on hand
Displaying results
After the CSV file has been uploaded, we’ll show the user a ‘file summary’ page confirming the number of entries in the file.
No records found
If we cannot find a match, we tell the user the details they uploaded do not match any teacher records we hold.
They can search again at this point if they choose.
Records found
We're using the tabs component to show results, using separate tabs to show records we found a match for and those we could not.
In the 'Records found' tab, we'll show:
- the person's full name
- TRN
- any restrictions the person has
- qualified teacher status
- induction status
Clicking on the person's name will direct the user to their teacher record.
In the 'No records found' tab, we'll show the TRN and date of birth the user uploaded.
Error messages
We'll use the GDS error summary and error message components when:
- the user uploads a file other than the template we provide
- the file includes more than 100 entries
When there are errors in the uploaded file, we'll handle errors in the body content. This includes entries where:
- a TRN or date of birth is missing
- a TRN is not 7 digits long
- a date of birth is not in DD/MM/YYYY format
In these cases, we tell the user to download the CSV with the errors indicated, fix them, then reupload the file.
Pagination
We're using pagination to help users navigate up to 100 search results.
Using examples from various government departments' design systems, we've decided to show 10 results per page.