Table of Contents

...

Apiary

Validation

Validate token

  • Verify the validity of access token
    • Return 401 in case validation fails
  • token is not expired
    • in case error return 401 

Validate scopes

  • Check user scopes in order to perform this action (scope = 'contract_request:read')
    1. Return 403 in case invalid scope(s) -"Your scope does not allow to access this resource. Missing allowances: contract_requests:read"

Validate employee

extract user_id from token

...

  • if TOKENS_TYPES_PERSONAL
    • Check client_id = contract_request.contractor_legal_entity_id
      • in case error return 403 "User is not allowed to perform this action"

...

  • Validate contract request id. Check contract_requests.id = $.id
    • in case error return 404 ("Contract request with id=$id doesn't exist")

Generate Printout form 

  1. Validate contract request status
    1. If contract_request in statuses 'PENDING_NHS_SIGN' - generate printout form.
      1. set nhs_signed_date=now()::date
        1. In case of error (status in 'NEW', 'IN_PROCESS', 'APPROVED', 'DECLINED', 'TERMINATED', 'NHS_SIGNED' ,'SIGNED') return 409 Error ('Incorrect status of contract_request to generate printout form')
    2. In case status was changed either to  'NHS_SIGNED' or 'SIGNED', printout form could be taken through Get Contract request details
  2. if contract_type=REIMBURSEMENT - Choose correct print out form, for different medical programs in contract request
medical program nameMAN template MAN template for contract update
"Доступні ліки"Dostupni_likyDostupni_liky appendix
"Інсуліни"InsulinInsulin appendix
"Нецукровий діабет"Netsukrovyy_diabetNetsukrovyy_diabet appendix

Invoke MAN to render printout form.


Request mapping:

Parameter
Source
idCONTRACT_REQUEST

...