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

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

Purpose

This WS 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.

Specification

Apiary

Authorization

  • 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)

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”

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

  • No labels