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

Cancel approval_UA

Ціль

Даний веб сервіс створений для відміни апрувалу пацієнта.

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

Apiary

Авторизація

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

    • В разі помилки валідації повернути код (401, 'Invalid access token')

  • Перевірити, що токен дійсний

    • в разі помилки - повернути код (401, 'Invalid access token')

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

    • Повернути (403, 'Your scope does not allow to access this resource. Missing allowances: approval:read') в разі некоректних скоупів/scope(s)

Перевірити пацієнта

  • Отримати ідентифікатор пацієнта з URL

  • Перевірити, що вона існує в БД

    • Повернути в разі помилки 404 ('Person is not found')

 

Перевірити апрувал

  • Отримати ідентифікатор апрувала з URL

  • Перевірити, що вона існує в БД

    • Повернути 404 ('not found') в разі помилки

  • Перевірити, що статус апрувалу active в БД/DB

    • Повернути в разі помилки 409 ('Approval can be cancelled only if it has new or active status')

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

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

  • Перевірити, що користувач має активну декларацію з пацієнтом з URL (може отримати всі апрувал) або що апрувал наданий користувачу (може отримати власний апрувал):

    • Повернути 200 з пустим масивом в разі, якщо співробітник не має активної декларації з пацієнтом.

Логіка сервісу

Сервіс дозволяє відмінити апрувал пацієнта:

  • Отримати апрували по patient_id та id апрувалу з колекції апрувалів (MongoDB)

  • Оновити статуси апрувалів (оновити також updated_at, updated_by)

  • Якщо метод автентифікації пацієнта OTP або third_person.OTP, надіслати SMS пацієнту інформацію про відміну.

  • Відобразити відповідь у відповідності до специфікації.

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