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

Deactivate Medical program provision_EN

Purpose

This WS allows to deactivate division that provide a medical program within user’s legal entity

 

Specification

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-contracts/medical-program-provision/deactivate-medical-program-provision

Resource

/api/medical_program_provision/{{id}}/actions/deactivate

Scope

medical_program_provision:write

Components

Medical program provision

Microservices

API paragraph not found

Protocol type

REST

Request type

PATCH

Sync/Async

Sync

Public/Private/Internal

Public

 

Logic

This method allows to deactivate division that provide a medical program within user's legal entity.

Key points

  1. This is a REST method.

  2. Only authenticated and authorized pharmacy owner with appropriate scope can create a Medical program provision.

  3. Method does not use DS.

  4. At once User can deactivate only one active Medical program provision with Divisions which belongs to it’s own Legal entity.

 

Input parameters

Filter

Values

Type

Description

Example

Filter

Values

Type

Description

Example

id

 

String

Medical program provision identifier

2060b523-b469-4fc5-89af-ddb5899d8efe

 

Authorize

  • Verify the validity of access token

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

  • Verify that token is not expired

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

  • Check user scopes in order to perform this action (scope = 'medical_program_provision:write')

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

Request to process the request using a token in the headers

 

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer F3GF124Df565FDS234SDF34

  • api-key:aDGFDFGT46S5gFGD

 

Request data validation

Validate legal entity

  • Extract client_id from token.

  • Check client scopes in order to perform this action (scope = 'medical_program_provision:write')

    • in case of error - return 403 “Your scope does not allow to access this resource. Missing allowances: medical_program_provision:write”

  • Check legal entity status (status = ACTIVE, SUSPENDED)

    • In case of error - return 422 “Legal entity is not active”

Validate medical program provision

  1. Get medical_program_provision_id from URL:

    1. Check it exists:

      1. in case of error - return 404 “Medical program provision not found”

    2. Check it belongs to division of user’s legal entity:

      1. in case of error - return 409 “Medical program provision does not belong to user’s legal entity”

    3. Check it is active (is_active=true):

      1. in case of error - return 409 “Medical program provision is inactive”

 

Dictionaries

  • PROVISON_DEACTIVATE_REASON

Processing

Service logic

  1. Update record with medical_program_provision_id according to Data model

    1. set is_active = false

    2. set deactivate_reason = MANUAL_DEACTIVATION (according to PROVISON_DEACTIVATE_REASON dictionary)

    3. set updated_at, updated_by

 

Response structure

See on Apiary

Example:

{ "meta": { "code": 200, "url": "https://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": { "id": "3e34da3d-9b8c-4aaf-be8e-24a161279b6a", "contract_number": "0000-PAP5-M000", "medical_program_id": "04d5ea65-d6e7-44f8-9eef-f0d3c1121d2b", "division_id": "15caea3f-cac3-483c-a3da-5875eba96430", "is_active": false, "deactivate_reason": "MANUAL_DEACTIVATION", "inserted_at": "2017-04-20T19:14:13Z", "inserted_by": "e1453f4c-1077-4e85-8c98-c13ffca0063e", "updated_at": "2017-04-20T19:14:13Z", "updated_by": "2922a240-63db-404e-b730-09222bfeb2dd" } }

 

HTTP status codes

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

 200

 

 

 

 

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