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

Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

Version 1 Next »

Ціль

Даний веб-сервіс дозволяє отримати детальну інформацію про План лікування пацієнта. Для отримання активностей плану лікування необхідно використовувати API. Get Care Plan activities .

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

Apiary

Авторизація

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

    • Повернути (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') у випадку помилки

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

  • No labels