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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Мета

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

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

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

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

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

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

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

Apiary

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

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

M/O

Тип

Опис

client_id

M

String

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

redirect_uri

M

String

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

scope

M

String

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

user_data

M

Base 64 String

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

token

M

String

Токен довіреної особи

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

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

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

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

Помилки

Переклад

message: user_data missing

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

message: Invalid signed content.

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

message: JWT is invalid.

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

message: Unable to authenticate signer

Не вдалося ідентифікувати підписанта

message: expected true but got false for attribute patient_signed

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

message: expected true but got false for attribute process_disclosure_data_consent

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

message: It is impossible to uniquely identify the person.

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

message: Relationship not confirmed

Звʼязок між авторизованою особою і довіреною особою не підтверджено

message: Submitted document type is not allowed

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

message: User is blocked.

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

message: Person not found.

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

message: Person who initiates registration of patient must be submitted as confidant person

Особа що створює запит на реєстрацію має бути вказана як законний представник

message: Person with cumulative verification status <verification_status> can not be submitted as confidant

Особа яка вказана як законний представник не верифікована

message: Confidant person must have active authentication method with type "OTP" where ended_at is equal to or greater than current date

Не коректний метод авторизації особи що вказана як законний представник

message: Only THIRD_PERSON authentication method can be created for person

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

message: Person who initiates registration of patient must be submitted as THIRD_PERSON

Не коректний ідентифікатор особи що автенторизує дії

Помилки схеми валідації

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

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

"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.confidant_person

Довірена особа

$.person.confidant_person.person_id

Ідентифікатор довіреної особи

$.person.confidant_person.documents_relationship

Документ що підтверджує звʼязок з довіреною особою

$.person.confidant_person.documents_relationship.[0].type

Тип документу довіреної особи

$.person.confidant_person.documents_relationship.[0].number

Номер документу довіреної особи

$.person.confidant_person.documents_relationship.[0].issued_by

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

$.person.confidant_person.documents_relationship.[0].issued_at

Дата видачі документу довіреної особи

$.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.confidant_person.documents_relationship

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

$.person.emergency_contact.phones

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

  • No labels