Мета
Даний веб-сервіс (WS) розроблено для отримання деталей запиту на персону.
Специфікація
Авторизація
Перевірити валідність токену доступу
Повернути (401, 'Invalid access token') в разі неуспішних перевірок
Перевірити, що токен дійсний
в разі помилки - повернути (401, 'Invalid access token')
Перевірити скоупи користувача на можливість виконання даної дії (scope = 'person_request:details_pis')
Повернути (403, 'Your scope does not allow to access this resource. Missing allowances: person_request:details_pis') в разі невалідних скоупів
Перевірити, що токен містисть person_id
в разі помилки - повернути (401, 'Invalid access token')
Перевірити персону
Отримати person_id з токену (x-person-id хедер)
Перевірити, що статус персони є активний (status = ‘active' & is_active = 'true’)
в разі помилки - повернути 404 ('not found')
Перевірити запит на персону
Перевірити, що запит на персону:
існує в il DB
належить пацієнту
в разі помилки - повернути 404 ('not found')
Сервісна логіка
Отримати person_id
Отримати деталі по запиту на персону з таблиці il.person_requests по id
В разі, якщо поле
person_requests.documents
містить не пустий масив - підготувати дані для поляurgent.documents
у відповідіОтримати всі значення
documents.[x].type
з запиту на персонуВикликати Media Content Storage для генерації URL для завантаження для кожного типу документу з запиту на персону, додати нові посилання до відповіді:
дія:
PUT
бакет:
MEDIA_STORAGE_PERSON_REQUEST_BUCKET
resource_id:
person_request_id
resource_name:
person_request_#{type}.jpeg
Перевірити наявність файлу для кожного типу в сховищі даних для запиту на персону:
якщо файл існує - встановити is_uploaded = true для типу документу у відповіді
якщо файл не існує - встановити is_uploaded = false для типу документу у відповіді
Відобразити відповідь у відповідності до специфікації.