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

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

...

Отримати запит на декларацію з 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

...

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

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’)

Обробка

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

...

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