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