Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Table of Contents

Purpose

This WS is designed to unblock previously blocked Medication request with indicating block_reason and block_reason_code.

Key points

  1. Only authenticated and authorized user with appropriate scope can unblock Medication request.

  2. Medication request can be unblocked only if it was previously blocked.

  3. Medication request can be unblocked only from ‘ACTIVE' status.

Specification

Page Properties

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-reimbursement/medication-request/unblock-medication-request

Посилання на Apiary або Swagger

Resource

/api/medication_requests/{{id}}/actions/unblock

Посилання на ресурс, наприклад: /api/persons/create

Scope

medication_request:unblock

Scope для доступу

Components

ePrescription

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescription

Microservices

API paragraph not found

Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC

Protocol type

REST

Тип протоколу, який використовується запитом, наприклад: SOAP | REST

Request type

PATCH

Тип запиту API, наприклад: GET, POST, PATCH…

Sync/Async

Sync

Метод є синхронним чи асинхронним?

Logic

  1. Update Medication request in OPS DB:

    1. set is_blocked = false

    2. set block_reason_code = $.block_reason_code

    3. set block_reason = $.block_reason

    4. set updated_by = user_id

    5. set updated_at = now()

  2. Send SMS for person

    1. If Medication request has program with medical program setting medication_request_notification_disabled = true, then don't send SMS.

      Else:

      1. Get authentication_method of person from MPI

      2. If authentication_method == OTP, then send SMS to a person from Medication request:

        1. Generate SMS text

          1. get template from unblock_template_sms parameter

          2. enrich template with data from Medication request

        2. Send SMS to a person with text from template (“Ваш рецепт <request_number> розблоковано. Можете отримати ліки в аптеці”)

  3. Add new record in Event manager:

field

value

event_type

StateChangeEvent

entity_type

MedicationRequest

entity_id

$.id

properties.is_blocked.new_value

false

event_time

$.update_at

changed_by

$.changed_by

Preconditions

No

Global and configurable parameters

...

Expand
titleRequest example
Code Block
{
  "block_reason": "помилки відсутні",
  "block_reason_code": "DEFAULT"
}

Authorize

  1. Verify the validity of access token

    • in case of error - return 401 (“Invalid access token”) in case of validation fails.

  2. Verify that token is not expired

    • in case of error - return 401 (“Invalid access token”).

  3. Check user scopes in order to perform this action (scope = 'medication_request:unblock')

    • return 403 (“Your scope does not allow to access this resource. Missing allowances: medication_request:unblock”) in case of invalid scope(s).

Headers

Content-Type:application/json

...