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. Номер документу
  3. Телефон автентифікації
  4. Дата народження та fuzzymatch(фамілія) (MetaPhoneRu)
  • Birth settelment (нормалізовано) та fuzzymatch(фамілія) (MetaPhoneRu)
    1. Місце прописки або проживання (
    residence
    1. settelment id)та fuzzymatch(фамілія)
     18Співпало?Знайшли одну пересону серед усіх? Якщо так оновлюємо знайдену персону19
    1. Ім'я та фамілія(fuzzymatch)
    8Пошук за моделлюШукаємо за моделю кандидатів для оновлення
    20
    9Порівняння з порогом
    Якщо модель знайшла кандидатів для оновлення вище за заданий поріг, тоді п. 22

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

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