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

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

« Previous Version 2 Next »

Перевірити запит

  1. Перевірити запит з використанням схеми JSON

    1. В разі неуспішної перевірки - згенерувати помилку 422

Схема JSON  

 Click here to expand...
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "verification_code": {
      "type": "string"
    }
  },
  "required": [
    "verification_code"
  ],
  "additionalProperties": false
}


Перевірити користувача

  1. Перевірити валідність токену доступу

  2. Перевірити скоупи користувача declaration_request:write на можливість виконання даної дії

    1. в разі помилки - згенерувати відповідь 401

Перевірити статус верифікації персони

  • перевірити, що verification_status персони не дорівнює NOT_VERIFIED.

    • в разі помилки повернути 409, "Patient is not verified"

Отримати деталі запиту на декларацію

Отримати запит на декларацію з IL_DB.declaration_request

Визначити метод авторизації

Отримати authorization_method з IL_DB.declaration_request

SELECT IL_DB.declaration_request.authentication_method
FROM   IL_DB.declaration_request
WHERE IL_DB.declaration_request.id = :id

Якщо authentication_method_current = NULL - повернути помилку

Якщо authentication_method_current == OFFLINE - перевірити завантажені документи

Якщо authentication_method_current = OTP - перевірити код SMS

Якщо authentication_method_current = NA - перевірити первинну декларацію

Перевірити код

Викликати модуль верифікації для перевірки OTP

OTP Verification

Перевірити завантажені документи

Викликати сховище даних для перевірки наявності документів

Media Content Storage

Перевірити первинну декларацію

Отримати parent_declaration_id з IL_DB.declaration_requests.parent_declaration_id:

  • Якщо parent_declaration_id не вказано, перевірити запит на декларацію в частині authentication_method_current = NA logic

  • Якщо parent_declaration_id вказано, перевірити, що первинна декларація існує та в статусі 'active'

    • в разі помилки - повернути 404 (‘Active parent declaration was not found’)

Обробка

Згенерувати друковану форму

Викликати MAN для генерування друкованої форми.

Мапінг запиту:

Переметр

Джерело

id

DECLARATION REQUEST

Приклад cURL

 Click here to expand...
curl --request POST \
     --header 'Accept: text/html' \
     --header 'Content-Type: application/json' \
     {:host}/templates/{:declaration_request_printout_id}/actions/render

Встановити IL.declaration_request.printout_content:

 Click here to expand...

MANResponse.$.data

Якщо parent_declaration_id вказано та authentication_method_current = NA,оновити поточні поля значеннями з поля data_to_be_signed:

  • patient_signed = null

  • process_disclosure_data_consent = null

Згенерувати зашешований ‘seed’

Згенерувати хеш seed - Захешувати попередній блок в лянцюжку декларацій або інший рандомно компонент, який повинен бути підписаний з декларацією.

Змінити запит пацієнта

  1. Змінити статус сутності в IL_DB.declaration_request на APPROVED

  2. Встановити updated_at - now() (Отримати поточні дату та час)

  3. Встановити updated_by - user_id (Отримати користувача з токену)

  • No labels