...
Цей алгоритм використовується для пошуку активної людини на основі фіксованого набору даних. Цей алгоритм використовується в наступних WS:
https://e-health-ua.atlassian.net/wiki/spaces/PCAB/pages/17415667759/TRUSTED + PIS. + Patient + sign-in#Search-in | Search or - create - user
TRUSTED PIS. Confidant patient sign-in
Ключові положення
Цей алгоритм використовує дані набору даних, щоб отримати ідентифікатор активної особи з бази даних mpi.
Цей алгоритм використовує tax_id або document як основні параметри пошуку, тому одне з цих полів має бути присутнім. Прізвище та ім'я обов'язкові.
Якщо активну особу неможливо чітко ідентифікувати за допомогою набору даних, повертається помилка.
Цей алгоритм можна використовувати в різних процесах і не обмежується конкретним процесом
...
Expand | ||
---|---|---|
| ||
|
Діаграма
View file | ||||||
---|---|---|---|---|---|---|
|
...
Джерело:
View file | ||||||
---|---|---|---|---|---|---|
|
Перевірити набір даних
Перевірити, що набір диних містить всі обов'язкові поля (tax_id або document.type та document.number, last_name, given_name)
в разі помилки - повернути ('tax_id або документ, last_name, given_name поля обов'язкові для пошуку')
Перевірити, що поле
tax_id
з набору даних відповідає наступному з врахуванням regexp:^[0-9]{10}$
в разі помилки - повернути ('Invalid tax_id format for active person search')
Перевірити, що поле
document.type
з набору даних містить документ з типом, що відповідає значенню з довідника DOCUMENT_TYPEв разі помилки - повернути ('Invalid document type for active person search')
Перевіри, що поле
document.type
з набору даних містить документ з типом, що дозволено для використання для пошуку активної персони, значення поля вказано в конфігураційному параметрі ACTIVE_PERSON_SEARCH_DOCUMENT_TYPESв разі помилки - повернути ('Forbidden document type for active person search')
Перевіри, що поле
document.number
з набору даних рівне наступному з врахуванням regexp (для кожногоdocument.type
):PASSPORT, COMPLEMENTARY_PROTECTION_CERTIFICATE, REFUGEE_CERTIFICATE –
^((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{6}$
NATIONAL_ID –
^[0-9]{9}$
BIRTH_CERTIFICATE, TEMPORARY_PASSPORT –
^((?![ЫЪЭЁыъэё@%&$^#`~:,.*|}{?!])[A-ZА-ЯҐЇІЄ0-9№\/()-]){2,25}$
TEMPORARY_CERTIFICATE –
^(((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{4,6}|[0-9]{9}|((?![ЫЪЭЁ])([А-ЯҐЇІЄ])){2}[0-9]{5}\/[0-9]{5})$
BIRTH_CERTIFICATE_FOREIGN, PERMANENT_RESIDENCE_PERMIT – рядок зі значеннями між 1 та 255 символами
в разі помилки - повернути ('Invalid document number for active person search')
...