Versions Compared

Key

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

search_3.graphml


Крок
Опис
1

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

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

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

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

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