Мета
На цій сторінці описано правила перевірки персональних даних (як звичайної особи, так і особи, яка має довірену особу) у рамках процесів реєстрації через інформаційну систему особи (PIS).
Звичайна персона
Ключові положення для набору даних звичайної персони:
Схема не дозволяє вказувати блок “confidant_person”
Присутня необхідність для перевірки віку персони, чи більше за конфігураційний параметр no_self_registration_age
Автентифікаційні методи персони мають містити тільки записи з типом
type = 'OTP'
Цей набір правил перевірки зараз використовується наступними WS:
Перевірки
Перевірити схему
Перевірити дані персони у відповідності до схеми JSON:
якщо значення поля не відповідає схемі - повернути 422 з відповідною полю помилкою
якщо в запиті є додаткові поля - повернути 422 ('schema does not allow additional properties')
якщо необхідний параметр відсутній у запиті - повернути 422 ('required property %{property} was not present')
якщо в запиті немає необхідної кількості параметрів - повернути 422 ('expected a minimum of %{min} items but got %{actual}')
Перевірити персону
Перевірити
tax_id
у відповідності до валідацій, описаних тут: https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/589266986/Create+Update+person+request#Validate-%22tax_id%22Перевірити
no_tax_id
у відповідності до валідацій, описаних тут: https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/589266986/Create+Update+person+request#Check-%22no_tax_id%22-flagПеревірити вік персони, що він більше конфігураційного параметру no_self_registration_age
в разі помилки - повернути 422 ('Incorrect person age for such an action')
Перевірити документи персони
Перевірити, що тип вказаних документів пацієнтів вказано в конфігураційному параметрі PIS_PERSON_REGISTRATION_DOCUMENT_TYPES, що містить значення з довідника DOCUMENT_TYPE
в разі помилки - повернути 422 ('Submitted document type is not allowed')
Перевірити документи, що підтверджують дієздатність особи
в разі, якщо вік персони більше значення глобального параметру no_self_registration_age, але менше ніж значення глобального параметру person_full_legal_capacity_age:
Перевірити, що вказаний хоча б один тип документів з конфігураційного параметру PIS_PERSON_REGISTRATION_DOCUMENT_TYPES що містить значення з довідника DOCUMENT_TYPE_EXTENDED
в разі помилки - повернути 422 ('Document that proves personal data must be submitted')
Перевірте, чи існує хоча б один із поданих типів документів про особу в конфігураційному параметрі PIS_PERSON_LEGAL_CAPACITY_DOCUMENT_TYPES, що містить значення з довідника DOCUMENT_TYPE_EXTENDED
в разі помилки - повернути 422 ('Document that proves legal capacity must be submitted')
Інакше перевірте, чи існує будь-який із надісланих типів документів особи в конфігураційному параметрі PIS_PERSON_REGISTRATION_DOCUMENT_TYPES
в разі помилки - повернути 422 ('<Document type> can not be submitted for this person')
Перевірте документи особи відповідно до поточних перевірок, описаних тут: https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/589266986/Create+Update+person+request#Validate-person-documents
Перевірити адреси персони
Перевірте, що вказано запис адреси з
type = 'RESIDENCE'
в разі помилки - повернути 422 ('one and only one residence address is required')
Перевірити методи автентифікації персони
Переконайтеся, що подані authentication_methods містять лише записи з type = 'OTP'
в разі помилки - повернути 422 ('Only OTP authentication method can be created for person')
Перевірте ліміт телефонних номерів відповідно до існуючої перевірки, описаної тут: https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/589266986/Create+Update+person+request#Validate-phone-number-limit
Пересона з довіреною особою
Існує кілька відмінностей між перевіркою звичайної особи та перевіркою особи з довіреною особою:
Схема дозволяє вказати “confidant_person”
Користувач може встановити лише одну довірену особу та лише один метод автентифікації
Не потрібно перевіряти вік персони, чи він більше значення конфігураційного параметру no_self_registration_age
Для перевірки поданих типів документів використовується інший параметр конфігураці (PIS_PERSON_WITH_CONFIDANT_REGISTRATION_DOCUMENT_TYPES)
Методи автентифікації особи повинні містити лише записи з type = 'THIRD_PERSON'
Довірена особа має бути перевірена
Цей набір правил перевірки зараз використовується наступними WS:
Перевірки
Перевірити схему
Перевірити дані персони у відповідності до схеми JSON:
в разі, якщо поле не відповідає схемі - повернути 422 з повідомленням у відповідності до поля
в разі, якщо в запиті вказані додаткові поля - повернути 422 ('schema does not allow additional properties')
якщо необхідний параметр відсутній у запиті - повернути 422 ('required property %{property} was not present')
якщо в запиті немає необхідної кількості параметрів - повернути 422 ('expected a minimum of %{min} items but got %{actual}')
Перевірити персону
Перевірити
tax_id
у відповідності до існуючих перевірок, описаних тут: https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/589266986/Create+Update+person+request#Validate-%22tax_id%22Перевірити
no_tax_id
у відповідності до існуючих перевірок, описаних тут: https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/589266986/Create+Update+person+request#Check-%22no_tax_id%22-flag
Перевірити документи персони
Перевірити, що вказані типи документів персони вказані в конфігураційному параметрі PIS_PERSON_WITH_CONFIDANT_REGISTRATION_DOCUMENT_TYPES, що містить значння з довідника DOCUMENT_TYPE
в разі помилки - повернути 422 ('Submitted document type is not allowed')
Перевірити документи персони у відповідності до існуючих перевірок, описаних тут: https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/589266986/Create+Update+person+request#Validate-person-documents
Перевірити адреси персони
Перевірте адреси осіб відповідно до існуючої перевірки, описаної тут: https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/589266986/Create+Update+person+request#Validate-person-documents
Перевірити довірену особу
Перевірити, чи confidant_person.person_id відповідає до person_id користувача, яка ініціює реєстрацію пацієнта
в разі помилки - повернути 422 ('Person who initiates registration of patient must be submitted as confidant person')
Перевірити, що confidant_person.person_id вказано і таблиці персон (MPI DB)
в разі помилки - повернути 422 ('Confidant patient is not found')
Перевірити вік довіреної особи, що він >= no_self_registration_age конфігураційного параметру
в разі помилки - повернути 422 ('Incorrect person age for such an action')
Перевірити, чи немає статусу кумулятивної верифікації довіреної особи в конфігураційному параметрі
NOT_ALLOWED_CONFIDANT_PERSON_VERIFICATION_STATUSES
в разі помилки - повернути 422 ('Person with cumulative verification status <verification_status> can not be submitted as confidant')
Перевірити, чи має довірена особа метод автентифікації за допомогою
type = OTP
, де ended_at рівний або більше за сьогоднів разі помилки - повернути 422 ('Confidant person must have active authentication method with type "OTP" where ended_at is equal to or greater than current date')
Перевірити методи автентифікації персони
Перевірити, що вказаний authentication_methods містить тільки один запис і цей запис має тип
type = 'THIRD_PERSON'
в разі помилки - повернути 422 ('Only THIRD_PERSON authentication method can be created for person')
Перевірити, чи THIRD_PERSON та ж персона, яка ініціювала реєстрацію пацієнта та вказана як довірена (authentication_methods =
x-person-id
з токену)в разі помилки - повернути 422 ('person.authentication_methods.value must be equal to person.confidant_person.person_id')