Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Виправлення некоректного посилання.
Table of Contents

Ціль

Даний веб-сервіс дозволяє завершити активність за умови визначення впливу лікування на рацієнта (результати активності)

Ключові положення

  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

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

    • Повернути 409 (Invalid activity status) у випадку помилки

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

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

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

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

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

Перевірити пов'язані сутності

  • Виділити запит рецепту (medication request requests) в статусах NEW,SIGNED по $.medication_request_requests.data.[].activity.value та $.data_person_id.

  • Додатково відфільтрований список запитів рецептів (MRR): вибрати ті, які не мають рецептів (MR) або мають рецепти (MR) в статусі ACTIVE

    • Повернути у випадку помилки код 409 (Unable to complete activity with NEW Medication Request requests or ACTIVE Medication Requests)

Перевірити вихідні дані

Перевірити заповненість значення в полі $.outcome_codeable_concept

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

  • Перевірити кожне значення в масиві:

    • відповідає значенням довідника eHealth/care_plan_activity_outcomes 

    • є в довіднику

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

  1. Оновити статус активності на завершена (completed) (також оновити updated_at, updated_by)

  2. Встановити outcome_codeable_concept