...

Крок
Опис

Дані відправлені до ЦКПід час створення персони за допомогою запиту на декларацію або під час створення кабінету користувача
1Визначення методу аутентицікаціїВизначаємо метод аутентацікації з payload - отп або offline
2ОТП?Який саме метод атунтифікацї обрано - ОТП чи ОФФЛАЙН
3Рахуємо кількість персон з телефоном = auth.phoneПошук чи є такий телефон у якоїсь персони( з payload). Перевіряємо скільки номерів телефонів знайли у всіх авктивних персон у базі.
4Скільки знайдено?Якщо не знайдено персон за телефоном - п.7. Якщо більше 0 та <=n(конфігураційний параметр) - п.5. Якщо >n -помилка.
5Звіряємо у знайдених персон ИННШукаємо чи співпадає ИНН серед людей з введеним телефоном
6Співпадає?Якщо знайдено хоча б одну персону( у якої співпадає телефон та ИНН) то переходимо до п.12, якщо ні переходимо до п. 7
7Пошук за кластерами

Вибираємо з бази тих людей для класетрівкластерів:

  1. Співпало або ИНН або номер документу або телефону автентифікації
  2. Дата народження та fuzzymatch(фамілія) (MetaPhoneRu)
  3. Birth settelment (нормалізовано) та fuzzymatch(фамілія) (MetaPhoneRu)
  4. Місце прописки (residence settelment)та fuzzymatch(фамілія) 
8Пошук за моделлюШукаємо за моделю кандидатів для оновлення
9Порівняння з порогом

Порівняння скора модель з заданим порогом

10Знайшли? Якщо більше порогу - п.12 , якщо ні - створюємо нову персону (п.11)
11Створення нової персониЯкщо жодної персони не знайдено створюємо нову персону 
12Such person exists. Update this person.Повертаємо помилку, що є вже така персона, потрібно її оновити(передати її person_id), а не створювати нову.

...