Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Removed

searchImage Added

search_3.graphml


Крок
Опис
1

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

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

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

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

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