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

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

« Previous Version 13 Next »

Status

Apiary
JSON Schema request

SPECS

JSON Schema response
SPECS

Purpose

This WS  is design to update reimbursement and/or flags "is_active", "medication_request_allowed" for Medication brand within Medical program. 

WS logic

Authorize

  1. Verify the validity of access token
    1. In case of error - generate 401 response
  2. Check user scope (scope = 'program_medication:write') in order to perform this action
    1. In case of error - generate 403 response

Verify the validity of access token

  1. Check user scope (scope = 'program_medication:write') in order to perform this action
    1. In case of error - generate 401 response

Validate request (JSON schema)

  1. Validate request using JSON schemas:
    1. Return 422 with list of validation errors in case validation fails (422 EView)

Validate PK Program Brands

1. Check participant (Program_medication) ($.id) exists in PRM.program_medications

In case of error - return 422 error (message: "ID for Medication brand within the Medical program is not found")

{:error, [{%{
        description: "ID for Medication brand within the Medical program is not found",
        params: [],
        rule: :invalid
      }, "$.id"}]}

Validate status

1. Validate `is_active` == TRUE

    1. if invalid  - return 409 eror (message: "Medication brand within the program is inactive")

Validate medical_request_allowed status

To deactivate Participant (to update is_active == FALSE for medication brand within the program with id={id}) medical_request_allowed must be inactive (medical_request_allowed == FALSE) 

  1. Validate medical_request_allowed == FALSE
    1. if invalid  - return 409 eror (message: "To deactivate medication brand within the program firstly disable medical_request_allowed")

Update Program medication

Update program_medication record by $.id  set values:

Destination

Source

Description
reimbursement$.reimbursement
is_active

$.is_active


medical_request_allowed$.medical_request_allowed
inserted_at:timestampGet current date-time
inserted_byuser_idExtract user from token
updated_at:timestampGet current date-time
updated_byuser_idExtract user from token
  • No labels