Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

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

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

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

Схема JSON  

Expand
Code Block
{
  "$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

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

...

Якщо 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 для генерування друкованої форми.

...

Expand

Code Block
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 (Отримати користувача з токену)