Table of Contents
minLevel1
maxLevel3

...

Request to process the request using a token in the headers

Headers*

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer c2778f3064753ea70de870a53795f5c9

...

  1. Validate request using JSON schema

    1. In case validation fails - generate 422 error

  2. Check contract request status

    1. If status is not PENDING_NHS_SIGN - return error 422 'Incorrect status'

  3. Validate contractor_divisions

    1. Check divisions belongs to legal_entity and divisions.status='active'

      1. in case of error return 422  error view $divisions ('Division must be active and within current legal_entity')

  4. Capitation only: Validate contractor_employee_divisions

    1. Employees from employee_divisions has employee_type='DOCTOR', status='APPROVED'

      1. in case of error return 422  error view $employee ('Employee must be an active DOCTOR')

    2. Check contractor_employee_divisions.division_id is present in contractor_divisions.id

      1. in case of error return 422 error $divisions ('The division is not belong to contractor_divisions')

    3. Check contract_number is null

      1. in case of error return 422  error view $employee  ('Employee can't be updated via Contract Request')

  5. Validate start_date

    1. start_date>now()

      1. in case of error return 422 error $start_date ('Start date must be greater than create date')

  6. Check whether all id is resolved and valid. For
     - contractor_legal_entity_id and nhs_legal_entity_id in status='active'  and nhs_verified = true (prm.legal_entities)
     - contractor_owner_id and nhs_signer_id in status = 'APPROVED' (prm.employees)

  7. Invoke service Get Printout Form by Contract Request ID and compare to $printout_content from request

    1. in case of error return 422 error $printout_content ('Invalid printout content')

  8. Reimbursement only: Validate medical_program_id is an ID of an ACTIVE medical program with type 'medication'

    1. in case of error return 409: "Program is not active"

  9. For Capitation only: do not sing optional fields contractor_employee_divisions, external_contractor_flag and external_contractors 

...