Ціль
Даний метод дозволяє отримати перелік клінічних вражень для вказаного пацієнта профільтрованих згідно пошукових параметрів.
Специфікація
Авторизація
Перевірити валідність токену доступу
повернути (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)
Профільрувати отриманий перелік по вказаним пошуковим параметрам
Відобразити відповідь згідно специфікації зі знайденими сутностями клінічного враження.