1 |
| Дані відправлені до ЦК | Під час створення персони за допомогою запиту на декларацію або під час створення кабінету користувача |
21 | Визначення методу аутентицікації | Визначаємо метод аутентацікації з payload - отп або offline |
32 | ОТП? | Який саме метод атунтифікацї обрано - ОТП чи ОФФЛАЙН |
4 | Пошук телефона в mpi3 | Рахуємо кількість персон з телефоном = auth.phone | Пошук чи є такий телефон у якоїсь персони |
5 | Скільки знайшли телефонів? | ( з payload). Перевіряємо скільки номерів телефонів знайли у всіх авктивних персон у базі. |
67 | Пошук телефону у списку опікунів | Шукаємо за номером телефону у всіх персон, що є опікунами |
8 | Чи існує такий телефон в списку опікунів | Перевіряємо чи знайдено номер телефону серед номерів опікунів. Якщо так, то номер опікуна може бути доданий опікованому і переходимо до п.11. Якщо ні - не дозволяємо повторювати номер телефону не з опікунами і повертаємо помилку. |
9 | Порівнюєм з телефоном опікуна | Якщо є опікун, порівнюємо номери телефонів пацієнта та опікуна і дозволяємо прописувати телефон опікуна пацієнту, т.я. опікун має право приймати всі рішення за свого опікованого. |
10 | Співпадає? | Якщо телефон пацієнта з телефоном опікуна співпадає то переходимо до п.11, якщо ні - повертаємо помилку |
11 | Рахуємо кількість персон з цим телефоном | Рахуємо кількість персон з даним номером телефону. Загальна кількість персон не має перевищувати певний конфігураційний параметр |
12 | > n | Чи перевіщує кількість персон з певним номером телефону конфігураційний параметр? Якщо так - повертаємо помилку, якщо ні - переходимо до п.13 |
13 | Додаємо додаткові параметри | Додатково здійснюємо пошук за ІПН, ПІБ... |
14 | Співпало? | Знайшли одну пересону серед усіх? Якщо так оновлюємо знайдену персону |
15 | Модель | Додаємо дані пошуку до моделі |
16 | Знайшли | Якщо знайшли одну персону, оновлюємо її |
17Є опікун? | Перевіряємо, чи є опікун а параметрах запросу серед даних персони | Скільки знайдено? | Якщо не знайдено персон за телефоном - п.7. Якщо більше 0 та <=n(конфігураційний параметр) - п.5. Якщо >n -помилка.
|
5 | Звіряємо у знайдених персон ИНН | Шукаємо чи співпадає ИНН серед людей з введеним телефоном |
6 | Співпадає? | Якщо знайдено хоча б одну персону( у якої співпадає телефон та ИНН) то переходимо до п.12, якщо ні переходимо до п. 7 |
7 | Пошук за кластерами | Вибираємо з бази для кластерів тих людей у яких співпало: - ИНН
- Номер документу
- Телефон автентифікації
- Дата народження та fuzzymatch(фамілія) (MetaPhoneRu)
- Місце прописки або проживання (settelment id)та fuzzymatch(фамілія)
- Ім'я та фамілія(fuzzymatch)
|
8 | Пошук за моделлю | Шукаємо за моделю кандидатів для оновлення |
9 | Порівняння з порогом | Порівняння скора модель з заданим порогом |
10 | Знайшли? | Якщо більше порогу - п.12 , якщо ні - створюємо нову персону (п.11) |
11 | Створення нової персони | Якщо жодної персони не знайдено створюємо нову персону |
18 | Оновлення персони | Оновлюємо персону в БД12 | Such person exists. Update this person. | Повертаємо помилку, що є вже така персона, потрібно її оновити(передати її person_id), а не створювати нову. |