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

Skip to end of metadata
Go to start of metadata

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

Compare with Current View Version History

« Previous Version 2 Current »

Ціль

Даний веб-сервіс дозволяє завершити План лікування

Основні положення

  1. Статус може мінятися автором плану лікування, у якого є дозвіл наданий пацієнтом на план лікування

  2. Завершення виконується без електронного підпису. 

  3. Статус плану лікування міняється в асинхронний спосіб. Результом задачі має бути посилання на деталі плану лікування.

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

Apiary

Авторизація

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

    • Повернути (401, 'unauthorized'), якщо валідація неуспішна

  • Перевірити, що по токену не закінчився строк дії

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

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

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

Перевірити юридичну особу

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

  • Перевірити статус юридичної особи на відповідність ACTIVE

    • В разі помилки - повернути код 409 ('Legal entity must be ACTIVE')

  • Перевірити тип юридичної особи в конфігураційних параметрах me_allowed_transactions_le_types

    • В разі помилки - повернути код 409 ('Action is not allowed for the legal entity type')

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

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

  • Перевірити, що користувач є активним співробітником та має погодження, яке:

    • визначений як автор плану лікування та має активний дозвіл від пацієнта на редагування плану лікування (ідентифікатор плану лікування з URL)

    • повернути 403 ('Access denied') у випадку, коли співробітник не є автором плану лікування, або не має права на редагування

Перевірити консистентність даних

  • Впевнитись, що наданий план лікування пов'язаний з пацієнтом (з URL)

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

Перевірити зміну статусу

  • Отримати план лікування по id

  • Перевірити статус: статус плану лікування повинен змінюватися у відповідності до Care plan status model.

    • Повернути 409 ('Care plan in status <cancelled/completed> cannot be completed') у випадку помилки

Перевірити причини статусу

Перевірити заповненість даних в полі $.status_reason

  • Перевірити, що тип поля відповідає концепції кодування

  • Перевірити, що концепція кодування відповідає значенням довідника eHealth/care_plan_cancel_reasons 

  • Перевірити значення на належність у довіднику, вказаному вище

Перевірити активності

  • Отримати активності плану лікування

  • Перевірити, що всі активності в final status

    • Повернути 409 (Care plan has scheduled or in-progress activities), якщо були знайдені активності не в фінальному статусі

  • Перевірити, що хоча б одна активність має status=completed

    • Повернути 409 ('Care plan has no one completed activity') в разі, якщо завершені активності не знайдено

Логіка сервісу

  1. Оновити статус плану лікування (також оновити updated_at, updated_by)

  2. Встановити $.status_history

  • No labels