Ціль
Даний веб-сервіс дозволяє отримати детальну інформацію по активностям Плану лікування для пацієнта. Для отримання списку активностей Плану лікування необхідно використовуватиAPI. Get Care Plan activities .
Специфікація
Авторизація
Перевірити валідність токену доступу
Повернути (401, 'unauthorized'), якщо валідація неуспішна
Перевірити, що по токену не закінчився строк дії
у випадку помилки - повернути код (401, 'unauthorized')
Перевірити список скоупів користувача на можливість виконання даної дії (scope = 'care_plan:read')
Повернути (403, 'invalid scopes') в разі невалідних скоупів/scope(s)
Перевірити пацієнта
Отримати ідентифікатор пацієнта з URL
Перевірити, що він існує в БД/DB
Повернути 404 ('not found') в разі помилки
Перевірити план лікування
Отримати ідентифікатор плану лікування з URL
Перевірити, що він існує в БД/DB
Повернути 404 ('not found') в разі помилки
Перевірити користувача
Отримати ідентифікатор user_id з токену.
Перевірити, що користувач є активним співробітником та має погодження юридичної особи (token), та:
має активне погодження від пацієнта для write та read Плану лікування (id плану лікування з URL)
Повернути 403 ('Access denied') для випадку, коли співробітник не має погодження на читання/read чи редагування/write
має активну декларацію з пацієнтом
Логіка сервісу
Сервіс повертає активності по визначеному Плану лікування, який відноситься до визначеного пацієнта:
Отримати активності по ID з колекції care_plan_activities (MongoDB)
Перевірити консистентність даних:
Підтвердити, що запрошена активність пов'язана до вказаних пацієнта та Плану лікування (з URL)
Повернути 404 ('not found') в разі помилки
Відобразити відповідь у відповідності до специфікації