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

Deactivate Medication

Purpose

This WS is designed to deactivate medication by ID (post).

 

Specification

Link

API paragraph not found

Resource

/medications/{{id}}/actions/deactivate

Scope

medication:deactivate

Components

Drugs and Program medications

Microservices

API paragraph not found

Protocol type

REST

Request type

PATCH

Sync/Async

Sync

Public/Private/Internal

Internal

 

Logic

This method is used to deactivate Medication. Fields descriptions are listed in request Example view.

 

Input parameters

Input parameter

Values

Type

Description

Example

Input parameter

Values

Type

Description

Example

id

 

String

 

d290f1ee-6c54-4b01-90e6-d701748f0851

 

Authorize

  1. Verify the validity of access token

  2. Check user scope (scope = 'medication:deactivate') in order to perform this action

    1. In case error - generate 401 response

Request to process the request using a token in the headers

 

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer c2778f3064753ea70de870a53795f5c9

 

Request data validation

Validate PK Medication

Purpose validation: Check on existing Medication record 

  1. Check exist Medication by $.id.

    1. if invalid - return 404 error (message: "Medication is not found!")

  2. Medication should't have active program medications

    1. Check that no active program medications exist in program_medications table in PRM DB with medication_id = $.id

      1. if invalid  - return 409 error (‘Medication is participant of an active Medical Program’)

Validate status

Purpose validation:  Medication should be active (is_active == TRUE)

  1. Validate `is_active` == TRUE

  2. if invalid  - return 409 eror (message: "Medication should be active !")

Validate type

Purpose validation:  Medication should be type = BRAND

  1. Validate `type` == BRAND

  2. if invalid  - return 409 eror (message: "Medication must be type = BRAND !")

 

 

 

Processing

Update medication

Update medication record by $.id  set values:

Destination

Source

is_active

FALSE

updated_at

:timestamp

updated_by

user_id

 

Response structure

See on Apiary

Example:

{ "meta": { "code": 200, "url": "https://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": { "id": "09b2bffb-699a-43c0-bc9a-5066d9b9b5a8", "name": "Амідарон", "manufacturer": { "name": "ПАТ \"Київський вітамінний завод\"", "country": "UA" }, "code_atc": [ "М01АЕ01", "C01BD01" ], "form": "PILL", "container": { "numerator_unit": "PILL", "numerator_value": 1, "denumerator_unit": "PILL", "denumerator_value": 1 }, "package_qty": 30, "package_min_qty": 10, "daily_dosage": "12", "certificate": "UA/4514/01/01", "certificate_expired_at": "2021-02-09", "ingredients": [ { "id": "1349a693-4db1-4a3f-9ac6-8c2f9e541982", "name": "Амідарон", "dosage": { "numerator_unit": "MG", "numerator_value": 200, "denumerator_unit": "PILL", "denumerator_value": 1 }, "is_primary": true } ], "is_active": true, "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" } }

 

{ "meta": { "code": "422", "url": "https://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "error": { "type": "unverified", "message": "Can't deactivate medication. Exist active linked participant (programs medications)!" } }

HTTP status codes

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

 200

 

 

 422

 

 

 

 

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