Валідації при реєстрації пацієнта (PERSON) в Системі
id валідації | Атрибут | Назва атрибуту | Обов'язковість атрибуту | Параметр атрибуту | Назва параметру | Обов'язковість | Опис Валідації | Схема валідації | Примітка |
Val_PER_1 | first_name | Ім'я | М | Не може починатися з ЫЪЭЁыъэё@%&$^# Може вміщати в себе: | "first_name": {^(?!.[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\'\-]+(\s(?!.[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\'\-]+)*$ | Діаграма | |||
Val_PER_2 | last_name | Прізвище | М | Не може починатися з ЫЪЭЁыъэё@%&$^# Може вміщати в себе: | "last_name": {^(?!.[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\'\-]+(\s(?!.[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\'\-]+)*$ | Діаграма | |||
Val_PER_3 | second_name | По батькові | Не може починатися з ЫЪЭЁыъэё@%&$^# Може вміщати в себе: | Pattern: { ^(?!.[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\'\-]+(\s(?!.[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\'\-]+)*$ | Діаграма | ||||
Val_PER_4 | birth_date | День народження персони | М | Очікується дата у форматі ISO 8601 | Pattern “^(\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))?)?$' | Треба додати валідацію на дату. Мінімальне значення 01.01.1900, максимальне - не більше поточної дати | |||
Val_PER_5 | birth_country | Країна народження персони | М | "birth_country": { | |||||
Val_PER_6 | birth_settlement | Місце народження персони | М | Не допускається: ЫЪЭЁыъэё@%&$^# Допускається: | Pattern \"^(?!.*[ЫЪЭЁыъэё@%&$^#])[a-zA-ZА-ЯҐЇІЄа-яґїіє0-9№\\\"!\\^\\*)\\]\\[(._-].*$\" | ||||
Val_PER_7 | gender | Стать персони | M | Значення атрибуту відповідає значенням довідника GENDER. | "type": "string", | Видалено опис про максимальну кількість символів | |||
Val_PER_8 | Адреса електронної поштової скриньки персони | ||||||||
Val_PER_9 | no_tax_id | Персона без РНОКПП | M | За відсутності РНОКПП в даному параметрі необхідно передавати значення "true". | “no_tax_id": { | ||||
Val_PER_10 | tax_id | РНОКПП персони | M | Вміщує 10 символів, що приймають значення від 0 до 9. | “tax_id": { | ||||
Val_PER_11 | secret | Кодове слово персони | М | Мінімальна кількість символів 6, максимальна - 20 | "secret": { | ||||
Val_PER_12 | documents | Документи, що посвідчують особу | M | type | Тип документу | M | Відповідає значенням з довідника DOCUMENT_TYPE | ||
Val_PER_13 | documents | Документи, що посвідчують особу | M | number | Номер документу | М |
|
| Кучерук:
|
Val_PER_14 | documents | Документи, що посвідчують особу | M | issued_by | Ким виданий | M | Мінімальна довжина 1 символ. | "issued_by": { | |
Val_PER_15 | documents | Документи, що посвідчують особу | M | issued_at | Коли був виданий | M | Очікується дата у форматі ISO 8601 | Pattern "^(\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))?)?$" | |
Val_PER_16 | documents | Документи, що посвідчують особу | M | expiration_date | Придатний до | Очікується дата у форматі ISO 8601 | Pattern "^(\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))?)?$" | ||
Val_PER_17 | addresses | Адреси проживання/розташування/перебування персони | M | type | Тип адреси | М | Значення атрибуту type відповідає значенню довідника ADDRESS_TYPE, що дорівнює "RESIDENCE":"проживання/розташування/перебування" | "type": { | |
Val_PER_18 | addresses | Адреси проживання/розташування/перебування персони | M | country | Країна | М | Значення параметру country відповідає значенню довідника COUNTRY | "country": { | |
Val_PER_19 | addresses | Адреси проживання/розташування/перебування персони | M | area | Область | М | Не може починатися з ЫЪЭЁыъэё@%&$^#\ Допускаються символи: Наступний допустимий символом є один з ( . _ - Після допускаються будь-які символи Мін. кількість символів: 1 | Pattern: "^(?!.*[ЫЪЭЁыъэё@%&$^#])[a-zA-ZА-ЯҐЇІЄа-яґїіє0-9№\\\"!\\^\\*)\\]\\[(._-].*$" |
|
Val_PER_20 | addresses | Адреси проживання/розташування/перебування персони | M | "region": | Район | Не може починатися з ЫЪЭЁыъэё@%&$^#\ Допускаються символи: Наступний допустимий символом є один з ( . _ - Після допускаються будь-які символи Мін. кількість символів: 1 | Pattern:"^(?!.*[ЫЪЭЁыъэё@%&$^#])[a-zA-ZА-ЯҐЇІЄа-яґїіє0-9№\\\"!\\^\\*)\\]\\[(._-].*$\" | ||
Val_PER_21 | addresses | Адреси проживання/розташування/перебування персони | M | settlement | Населений пункт | М | Не може починатися з ЫЪЭЁыъэё@%&$^#\ Допускаються символи: Наступний допустимий символом є один з ( . _ - Після допускаються будь-які символи Мін. кількість символів: 1 | Pattern: "^(?!.*[ЫЪЭЁыъэё@%&$^#])[a-zA-ZА-ЯҐЇІЄа-яґїіє0-9№\\\"!\\^\\*)\\]\\[(._-].*$" | |
Val_PER_22 | addresses | Адреси проживання/розташування/перебування персони | M | settlement_type | Тип населеного пункту | М | Значення атрибуту settlement_type відповідає значенням довідника SETTLEMENT_TYPE | "settlement_type": { | |
Val_PER_23 | addresses | Адреси проживання/розташування/перебування персони | M | settlement_id | Ідентифікатор населеного пункту | Перші 8 символів допускаються: Наступний обов'язковий символ “-” В наступних 4 допускаються значення: Наступний обов'язковий символ “-”. Наступний символ має значення від 1 до 5. В наступних 3 символах допускаються значення: Наступний обов'язковий символ “-”. Наступний символ має значення одного з символів 8, 9, a, b В наступних 3 символах допускаються значення: Наступний обов'язковий символ “-”. В останніх 12 символах допускаються значення: | Pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" | Питання:
На тестуванні виявлено:
Це потребує перегляду логіки роботи цього атрибуту | |
Val_PER_24 | addresses | Адреси проживання/розташування/перебування персони | M | street_type | Тип вулиці | Значення атрибуту street_type відповідає значенням довідника STREET_TYPE | "street_type": { | ||
Val_PER_25 | addresses | Адреси проживання/розташування/перебування персони | M | street | Назва вулиці | Не може починатися з ЫЪЭЁыъэё@%&$^#\ Допускаються символи: Наступний допустимий символом є один з ( . _ - Після допускаються будь-які символи Мін. кількість символів: 1 | Pattern \"^(?!.*[ЫЪЭЁыъэё@%&$^#])[a-zA-ZА-ЯҐЇІЄа-яґїіє0-9№\\\"!\\^\\*)\\]\\[(._-].*$\" | ||
Val_PER_26 | addresses | Адреси проживання/розташування/перебування персони | M | building | Будівля | Перший символ має значення від 1 до 9. Наступний символ не може бути ЫЪЭЁыъэё, Наступні 18 символів можуть вміщувати: | Pattern: "^[1-9]((?![ЫЪЭЁыъэё])()([А-ЯҐЇІЄа-яґїіє \/\'\-0-9])){0,20}$" | Діаграма Питання:
Треба створити завдання на розробника по виправленню валідації, щоб можна було вносити кому в номері будинка | |
Val_PER_27 | addresses | Адреси проживання/розташування/перебування персони | M | apartment | Квартира | "apartment": { | Немає опису валідації для тестування. Дозволяє вводити любі символи навіть на початку номера квартири. Патерн не виявлено. | ||
Val_PER_28 | addresses | Адреси проживання/розташування/перебування персони | M | zip | Поштовий індекс | Вміщує 5 символів від 0 до 9 | Pattern: "^[0-9]{5}$" | Кучерук: 1) чому не використовуєте довідник - під час тестування виявлено, що дозволяє використовувати неіснуючі індекси | |
Val_PER_29 | phones | Номер телефону персони | type | Тип телефону | М | Значення атрибуту відповідає значенням довідника PHONE_TYPE | "phone": { | ||
Val_PER_30 | phones | Номер телефону персони | number | Номер телефону | Починається з “+38” | Pattern: "^\+38[0-9]{10}$" | |||
Val_PER_31 | authentication_methods | Методи автентифікації | M | type | Тип автентифікації | M | Значення параметру відповідає значенням довідника AUTHENTICATION_METHOD | ||
Val_PER_32 | authentication_methods | Методи автентифікації | M | phone_number | Номер телефону автентифікації | M для type = "OTP" | Починається з “+38” | Pattern: "^\\+38[0-9]{10}$" | |
Val_PER_33 | authentication_methods | Методи автентифікації | M | value | Значення | M для type = "THIRD_PERSON" | |||
Val_PER_34 | authentication_methods | Методи автентифікації | M | alias | Аліас для методу автентифікації | M для type = "THIRD_PERSON" | На ітерації 2 тестування пройти не вдалося. Пропонується пройти в наступних ітераціях | ||
Val_PER_35 | unzr | Унікальний номер запису персони в реєстрі УНЗР | Повний формат: РРРРММДД-ХХХХХ, де:
| Pattern: "^[0-9]{8}-[0-9]{5}$" | |||||
Val_PER_36 | emergency_contact | Контактна особа для надзвичайних ситуацій | М | first_name | Ім'я контактної особи | М | Не може починатися або вміщати: Може починатися з та вміщати: | Pattern: "^(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+(\\s(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+)*$" | Діаграма |
Val_PER_37 | emergency_contact | Контактна особа для надзвичайних ситуацій | М | last_name | Прізвище контактної особи | М | Не може починатися або вміщати: Може починатися з та вміщати: | Pattern: "^(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+(\\s(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+)*$" | Діаграма |
Val_PER_38 | emergency_contact | Контактна особа для надзвичайних ситуацій | М | second_name | По батькові контактної особи | Не може починатися або вміщати: Може починатися з та вміщати: | Pattern: "^(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+(\\s(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+)*$" | Діаграма | |
Val_PER_39 | emergency_contact | Контактна особа для надзвичайних ситуацій | М | phones.type | Тип телефону контактної особи | М | Значення параметру відповідає значенням довідника PHONE_TYPE | "phones": { | |
Val_PER_40 | emergency_contact | Контактна особа для надзвичайних ситуацій | М | phones.number | Номер телефону контактної особи | М | Починається з “+38” | Pattern: "^\\+38[0-9]{10}$" | |
Val_PER_41 | confidant_person | Оcоба-представник пацієнта | relation_type | Тип зв'язку пацієнта і представника пацієнта | M | Значення параметру відповідає значенням довідника CONFIDANT_PERSON_TYPE | |||
Val_PER_42 | confidant_person | Оcоба-представник пацієнта | first_name | Ім'я представника пацієнта | M | Не може починатися або вміщати: Може починатися з та вміщати: | Pattern: "^(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+(\\s(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+)*$" | Діаграма | |
Val_PER_43 | confidant_person | Оcоба-представник пацієнта | last_name | Прізвище представника пацієнта | M | Не може починатися або вміщати: Може починатися з та вміщати: | Pattern: "^(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+(\\s(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+)*$" | Діаграма | |
Val_PER_44 | confidant_person | Оcоба-представник пацієнта | second_name | По батькові представника пацієнта | Не може починатися або вміщати: Може починатися з та вміщати: | Pattern: "^(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+(\\s(?!.*[ЫЪЭЁыъэё@%&$^#])[А-ЯҐЇІЄа-яґїіє\\'\\-]+)*$" | Діаграма | ||
Val_PER_45 | confidant_person | Оcоба-представник пацієнта | birth_date | Дата народження представника пацієнта | M | Очікується дата у форматі ISO 8601 | Pattern: "^(\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))?)?$" | ||
Val_PER_46 | confidant_person | Оcоба-представник пацієнта | birth_country | Країна народження представника пацієнта | M | ||||
Val_PER_47 | confidant_person | Оcоба-представник пацієнта | birth_settlement | Місце народження представника пацієнта | M | Не може починатися або вміщати: Може починатися з та вміщати: | Pattern": "^(?!.*[ЫЪЭЁыъэё@%&$^#])[a-zA-ZА-ЯҐЇІЄа-яґїіє0-9№\\\"!\\^\\*)\\]\\[(._-].*$" | ||
Val_PER_48 | confidant_person | Оcоба-представник пацієнта | gender | Стать представника пацієнта | M | Значення параметру відповідає значенням довідника GENDER | |||
Val_PER_49 | confidant_person | Оcоба-представник пацієнта | tax_id | РНОКПП представника пацієнта | Вміщує 10 символів, що приймають значення від 0 до 9. | Pattern: "^[0-9]{10}$" | |||
Val_PER_50 | confidant_person | Оcоба-представник пацієнта | secret | Кодове слово представника пацієнта | M | Мінімальна кількість символів 6, максимальна - 20 | |||
Val_PER_51 | confidant_person | Оcоба-представник пацієнта | unzr | Унікальний номер запису представника пацієнта в реєстрі УНЗР | Повний формат: РРРРММДД-ХХХХХ, де:
| Pattern: "^[0-9]{8}-[0-9]{5}$" | |||
Val_PER_52 | confidant_person | Оcоба-представник пацієнта | preferred_way_communication | Бажаний спосіб зв'язку з представником пацієнта | Параметр може набувати одного зі значень: email, phone | ||||
Val_PER_53 | confidant_person | Оcоба-представник пацієнта | documents_person.type | Номер документу, що посвідчує особу представника пацієнта | M | Відповідає значенням з довідника DOCUMENT_TYPE | |||
Val_PER_54 | confidant_person | Оcоба-представник пацієнта | documents_person.number | Тип документу, що посвідчує особу представника пацієнта | M |
|
| ||
Val_PER_55 | confidant_person | Оcоба-представник пацієнта | documents_person.expiration_date | Документ, що посвідчує особу представника пацієнта придатний до | Очікується дата у форматі ISO 8601 | Pattern: "^(\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))?)?$" | |||
Val_PER_56 | confidant_person | Оcоба-представник пацієнта | documents_person.issued_by | Ким виданий документ, що посвідчує особу представника пацієнта | Мінімальна довжина 1 символ. | ||||
Val_PER_57 | confidant_person | Оcоба-представник пацієнта | documents_person.issued_at | Коли виданий документ, що посвідчує особу представника пацієнта | Очікується дата у форматі ISO 8601 | Pattern: "^(\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))?)?$" | |||
Val_PER_58 | confidant_person | Оcоба-представник пацієнта | documents_relationship.type | Тип документу, що підтверджує зв'язок пацієнта і представника пацієнта | М | Відповідає значенням з довідника DOCUMENT_RELATIONSHIP_TYPE | type": { | ||
Val_PER_59 | confidant_person | Оcоба-представник пацієнта | documents_relationship.number | Номер документу, що підтверджує зв'язок пацієнта і представника пацієнта | М | Мінімальна кількість символів 1 | "number": { | На тестуванні (ітерація 2) виявлено ВІДСУТНІСТЬ додаткових валідацій до номеру документу | |
Val_PER_60 | confidant_person | Оcоба-представник пацієнта | documents_relationship.issued_by | Ким видано документ, що підтверджує зв'язок пацієнта і представника пацієнта | Мінімальна довжина 1 символ. | "issued_by": { | На тестуванні (ітерація 2) виявлено ВІДСУТНІСТЬ додаткових валідацій "Ким видано" документу | ||
Val_PER_61 | confidant_person | Оcоба-представник пацієнта | documents_relationship.issued_at | Коли видано документ, що підтверджує зв'язок пацієнта і представника пацієнта | Очікується дата у форматі ISO 8601 | Pattern: "^(\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))?)?$" | |||
Val_PER_62 | confidant_person | Оcоба-представник пацієнта | phones.type | Тип телефону представника пацієнта | M | Значення параметру відповідає значенням довідника PHONE_TYPE | "phones": { | ||
Val_PER_63 | confidant_person | Оcоба-представник пацієнта | phones.number | Номер телефону представника пацієнта | M | Починається з “+38” | Pattern:"^\\+38[0-9]{10}$" | ||
Val_PER_64 | confidant_person | Оcоба-представник пацієнта | email | Адреса електронної поштової скриньки представника пацієнта | |||||
Val_PER_65 | preferred_way_communication | Бажаний спосіб зв'язку з пацієнтом | Приймає одне зі значень:
| “preferred_way_communication": { | |||||
Val_PER_66 | patient_signed | М | - | “patient_signed": { | Треба додати валідацію на 2 можливих значення: "true" OR "false" | ||||
Val_PER_67 | process_disclosure_data_consent | М | - | "process_disclosure_data_consent": { | Треба додати валідацію на 2 можливих значення: "true" OR "false" | ||||
Val_PER_68 | authorize_with | М | - |