ЕСОЗ - публічна документація
Cancel approval_UA
Ціль
Даний веб сервіс створений для відміни апрувалу пацієнта.
Специфікація
Авторизація
Перевірити валідність токену доступу
В разі помилки валідації повернути код (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 пацієнту інформацію про відміну.
Відобразити відповідь у відповідності до специфікації.
ЕСОЗ - публічна документація