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

Get Clinical impression by search params_UA

Ціль

Даний метод дозволяє отримати перелік клінічних оцінок для вказаного пацієнта, профільтрованих згідно пошукових параметрів

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

Apiary

Авторизація

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

    • повернути  (401, 'unauthorized') в разі неуспішної валідації

  • Перевірити, що токен дійсний

    • в разі помилки - повернути (401, 'unauthorized')

  • Перевірити скоупи користувача на можливість виконання даної дії (scope = 'clinical_impression:read')

    • повернути (403, 'invalid scopes”) в разі невалідних скоупів

Достур до ресурсу також регулюється ABAC module

Валідації

Перевірити пацієнта

  • Отримати ідентифікатор пацієнта з URL

  • Перевірити, що пацієнт існує в DB

    • Повернути 404 ('not found') в разі помилки

Перевірити користувача

  • Отримати з токену user_id.

  • Перевірити, що користувач є активним та підтвердженим співробітником з юридичної особи (token) що:

    • має активну декларацію з пацієнтом

    • має доступ до епізоду пацієнта (створено в поточному MSP або згідно апрувалу на ресурс епізоду)

Сервісна логіка

Сервіс повертає всі клінічні оцінки, пов'язані з пацієнтом та профільтровані по пошуковим параметрам:

  • Отримати всі клінічні оцінки по patient_id з колекції clinical_impressions (MongoDB)

  • Профільрувати отриманий перелік по вказаним пошуковим параметрам

  • Відобразити відповідь згідно специфікації зі знайденими сутностями клінічної оцінки.

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