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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Current »

Ціль

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

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

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 пацієнту інформацію про відміну.

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

  • No labels