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

Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

Version 1 Next »

Ціль

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

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

  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

  • No labels