ЕСОЗ - публічна документація

UA_PIS. Patient sign-up

Мета

Даний WS розроблено для того, щоб показати користувачу логін реєстрації, який використовується для створення персона або користувачів в системі.

Ключові положення

  1. Програми повинні перенаправляти користувачів до цього методу, щоб виконати процес реєстрації пацієнтів і користувачів.

  2. Після створення особи та її користувача в системі метод перенаправляється на сторінку «Прийняти скоупи», щоб отримати oAuth Code Grant (який пізніше обмінюється на Access Token).

  3. Користувач побачить відтворену сторінку реєстрації, структура якої відрізняється списком запитаних скоупів і заходів безпеки, застосованих командою DevOps.

  4. З міркувань безпеки встановіть X-Frame-Options:deny заголовок буде налаштовано на заборону відкриття цієї сторінки в iframe.

Специфікація

Apiary

Вхідні параметри

Вхідні параметри

M/O

Тип

Опис

Вхідні параметри

M/O

Тип

Опис

client_id

M

String

Ідентифікатор клієнта видається після реєстрації юридичної особи або PIS. Використовується для визначення контексту MSP/Pharmacy/PIS

redirect_uri

M

String

URL-адреса, на яку буде перенаправлено користувача після реєстрації та аутентифікації. Ця URL-адреса отримає код і state параметри в рядку запиту

scope

M

String

Список областей, необхідних для бізнес-логіки програми, розділених пробілом. Різні форми входу будуть показані залежно від скоупів, які ви запитували

user_data

M

Base 64 String

Закодований підписаний вміст із реєстраційними даними особи

Сервісна логіка

  1. Відобразити сторінку реєстрації на основі вхідних параметрів і параметрів конфігурації:

    1. перейдіть до сторінки «Схвалити відомості про особу».

Помилки бізнес-логіки

Помилки

Переклад

Помилки

Переклад

message: user_data missing

Відсутні дані для реєстрації

message: Invalid signed content.

Підписаний контент некоректний або прострочений.

message: JWT is invalid.

Підписаний контент некоректний або прострочений.

message: Registration person and person that sign should be the same

Дані з підпису не співпадають з даними для реєстрації

message: Input name doesn't match name from digital signature

Дані з підпису не співпадають з даними для реєстрації

message: expected true but got false for attribute patient_signed

Користувач повинен погодитись з підписанням даних

message: expected true but got false for attribute process_disclosure_data_consent

Користувач повинен погодитись з передачею даних в ЄСОЗ

message: Incorrect person age for such an action.

Для вказаного віку персони авторизація в системі не дозволена

message: Submitted document type is not allowed

Некоректний тип документу

message: Document that proves person`s legal capacity must be submitted

Для вказаного віку персони необхідно вказати документи підтверджуючі дієздатність особи

message: Only OTP authentication method can be created for person

Некоректно вказаний метод автентифікації

message: Invalid verification code

Некоректний код підтвердження

message: User is blocked.

Користувача заблоковано

message: Person not found.

Не вдалося ідентифікувати персону. Зверніться до служби підтримки

message: Incorrect person age for such an action.

Для вказаного віку персони самореєстрація в системі не дозволена

Помилки перевірки схеми

Відсутність потрібних налаштувань

Структура помилки

"invalid": [ { "entry": "$.person.birth_date", "entry_type": "json_data_property", "rules": [ { "description": "required property birth_date was not present", "params": { "property": "birth_date" }, "raw_description": "required property %{property} was not present", "rule": "required" } ] } ]

Переклад

Обовʼязковий атрибут "%{property}" відсутній

На вході

Переклад

На вході

Переклад

$.person.first_name

Імʼя

$.person.last_name

Прізвище

$.person.second_name

По-батькові

$.person.birth_date

Дата народження

$.person.birth_country

Країна народження

$.person.birth_settlement

Місце народження

$.person.gender

Стать

$.person.email

Адреса електронної пошти

$.person.no_tax_id

Ознака відсутності ІПН

$.person.secret

Кодове слово

$.person.documents

Документи

$.person.documents.[0].type

Тип документу

$.person.documents.[0].number

Номер документу

$.person.documents.[0].issued_by

Місце видачі документу

$.person.documents.[0].issued_at

Дата видачі документу

$.person.documents.[0].expiration_date

Дата закінчення дії документу

$.person.addresses

Адреса

$.person.addresses.[0].type

Тип адреси

$.person.addresses.[0].country

Країна прописки (проживання)

$.person.addresses.[0].area

Область прописки (проживання)

$.person.addresses.[0].region

Район прописки (проживання)

$.person.addresses.[0].settlement

Населений пункт прописки (проживання)

$.person.addresses.[0].settlement_type

Тип населеного пункту прописки (проживання)

$.person.addresses.[0].settlement_id

Ідентифікатор населеного пункту прописки (проживання)

$.person.addresses.[0].street_type

Тип вулиці прописки (проживання)

$.person.addresses.[0].street

Вулиця прописки (проживання)

$.person.addresses.[0].building

Будинок прописки (проживання)

$.person.addresses.[0].apartment

Квартира прописки (проживання)

$.person.addresses.[0].zip

Поштовий індекс прописки (проживання)

$.person.phones

Телефони

$.person.phones.[0].type

Тип телефону

$.person.phones.[0].number

Номер телефону

$.person.authentication_methods

Методи автентифікації

$.person.authentication_methods.[0].type

Тип методу автентифікації

$.person.authentication_methods.[0].value

Значення методу автентифікації

$.person.authentication_methods.[0].alias

Найменування методу автентифікації

$.person.preferred_way_communication

Бажаний спосіб комунікації

$.person.emergency_contact

Контактна особа для екстрених випадків

$.person.emergency_contact.first_name

Імʼя контактної особи для екстрених випадків

$.person.emergency_contact.last_name

Прізвище контактної особи для екстрених випадків

$.person.emergency_contact.second_name

По-батькові контактної особи для екстрених випадків

$.person.emergency_contact.phones

Телефони контактної особи для екстрених випадків

$.person.emergency_contact.phones.[0].type

Тип телефону контактної особи для екстрених випадків

$.person.emergency_contact.phones.[0].number

Номер телефону контактної особи для екстрених випадків

$.person.patient_signed

Ознака підпису запиту пацієнтом

$.person.process_disclosure_data_consent

Згода з передачею даних в ЕСОЗ

Кількість змінних в переліку

Структура помилки

{ "error": { "invalid": [ { "entry": "$.person.documents", "entry_type": "json_data_property", "rules": [ { "description": "expected a minimum of 1 items but got 0", "params": { "actual": 0, "min": 1 }, "raw_description": "expected a minimum of %{min} items but got %{actual}", "rule": "length" } ] } ], "message": "Validation failed. You can find validators description at our API Manifest: http://docs.apimanifest.apiary.io/#introduction/interacting-with-api/errors.", "type": "validation_failed" }, "meta": { "code": 422, "request_id": "8d6c1272-40fd-47a4-b9d5-d74db649fbca#15905", "type": "object", "url": "http://api-svc.il/api/pis/confidant/sign-up_validation" } }

Переклад

На вході

Переклад

На вході

Переклад

$.person.documents

Мінімум один документ особи що реєструється має бути вказаний

$.person.addresses

Мінімум одна адреса має бути вказана

$.person.phones

Мінімум один телефон має бути вказаний

$.person.authentication_methods

Мінімум один метод автентифікації має бути вказаний

$.person.emergency_contact.phones

Мінімум один телефон контактної особи для екстрених випадків має бути вказаний

ЕСОЗ - публічна документація