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

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 9 Next »

Status

Specification

DONE

Apiary
DONE
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 within Medical_program. 

Specification

Apiary                                      

WS logic

Authorize

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

Verify the validity of access token

  1. Check user scope (scope = 'program_medications:write') in order to perform this action
    1. In case 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 Medications

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

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

{:error, [{%{
        description: "ID for Medication 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 within the program is inactive")

Validate medical_request_allowed status

To deactivate Participant (to update is_active == FALSE for medication 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 within the program firstly disable medical_request_allowed")

Update Program Medication

Update 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