Purpose
This method allows to search for a Person (MPI) without disclosing personal data.
Specification
Logic
Method returns only requested parameters, birth place and second name in addition for manual identification on MSP side.
Input parameters
See on Apiary
Filters
See on Apiary
Dictionaries
Authorize
Request to process the request using a token in the headers.
Headers
Content-Type:application/json
Authorization:Bearer {{access_token}}
Request data validation
When flag `USE_DEDUPLICATION_MODEL` is turned ON, use this logic.
Validate request
Validate mandatory query params
first_name
last_name
birth_date
Validate optional query params
second_name
tax_id
birth_certificate
phone_number (phone_number or auth_number)
Processing
Search existing MPI entity
Search only active persons - MPI.persons.is_active=true.
We are looking for such parameters:
tax_id and phone_number
tax_id and last_name( by MetaPhoneRu)
birth_certificate and phone_number
birth_certificate and last_name( by MetaPhoneRu)
phone_number and last_name( by MetaPhoneRu)
birth_date and last_name( by MetaPhoneRu) and first_name( by MetaPhoneRu)
When search by phone use mpi.person_phones.number and mpi.person_auth_method.phone_number. If person has auth_method = third_person, don't search by third_person.auth_method.phone_number
After the search we get the clusters (maximum 6) and display them one by one - persons from the first cluster, then from the second, etc.
And within each cluster we sort:
last_name_distance == 0
last_name_distance + first_name_distance + tax_id_distance (Ascending)
Return empty array if no data found
Return only requested params (if equal tax_id, birth_certificate, birth_date, phone_number), last_name(if match by metaphone ) id, first_name, second_name, gender, birth_place and merged_persons if data found.
Response structure
Example: