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