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

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 »

и

Ціль

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

Основні положення

  1. Це метод REST.

  2. Тільки автентифіковані та авторизовані власники аптек з відповідним скоупом може декативувати забезпечення для медичної програми.

  3. Метод не використовує цифровий підпис.

  4. За один раз користувач може деактивувати тілько одне активне відділення по медичній програмі, які належать юридичній особі.

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

Apiary

Авторизація

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

    • в разі неуспішної валідації - повернути помилку 401 “Invalid access token”

  • Перевірити, що строк дії токену не сплинув

    • в разі помилки - повернути 401 “Invalid access token”

  • Перевірити скоупи користувача на можливість виконання даної дії (scope = 'medical_program_provision:write')

    • в разі невалідних скоупів повернути 403 “Your scope does not allow to access this resource. Missing allowances: medical_program_provision:write”

Перевірити юридичну особу

  • Отримати client_id з токену.

  • Перевірити скоупи користувача на можливість виконання даної дії (scope = 'medical_program_provision:write')

    • в разі помилки - повернути 403 “Your scope does not allow to access this resource. Missing allowances: medical_program_provision:write

  • Перевірити статус юридичної особи (status = ACTIVE, SUSPENDED)

    • в разі помилки - повернути 422 “Legal entity is not active

Перевірити забезпечення медичної програми

  1. Отримати medical_program_provision_id з URL:

    1. Перевірити, що він існує:

      • в разі помилки - повернути 404 “Medical program provision not found

    2. Перевірити, що відділення юридичної особи користувача:

      • в разі помилки - повернути 409 “Medical program provision does not belong to user’s legal entity”

    3. Перевірити, що відділення активно (is_active=true):

      • в разі помилки - повернути 409 “Medical program provision is inactive”

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

  1. Оновити запис medical_program_provision_id у відповідності до Data model

    1. встановити is_active = false

    2. встановити deactivate_reason = MANUAL_DEACTIVATION (according to PROVISON_DEACTIVATE_REASON dictionary)

    3. встановити updated_at, updated_by

  • No labels