Table of Contents | ||||
---|---|---|---|---|
|
...
Request to process the request using a token in the headers
Headers*
Наприклад:
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
...
Validate request using JSON schema
In case validation fails - generate 422 error
Check contract request status
If status is not PENDING_NHS_SIGN - return error 422 'Incorrect status'
Validate contractor_divisions
Check divisions belongs to legal_entity and divisions.status='active'
in case of error return 422 error view $divisions ('Division must be active and within current legal_entity')
Capitation only: Validate contractor_employee_divisions
Employees from employee_divisions has employee_type='DOCTOR', status='APPROVED'
in case of error return 422 error view $employee ('Employee must be an active DOCTOR')
Check contractor_employee_divisions.division_id is present in contractor_divisions.id
in case of error return 422 error $divisions ('The division is not belong to contractor_divisions')
Check contract_number is null
in case of error return 422 error view $employee ('Employee can't be updated via Contract Request')
Validate start_date
start_date>now()
in case of error return 422 error $start_date ('Start date must be greater than create date')
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)Invoke service Get Printout Form by Contract Request ID and compare to $printout_content from request
in case of error return 422 error $printout_content ('Invalid printout content')
Reimbursement only: Validate medical_program_id is an ID of an ACTIVE medical program with type 'medication'
in case of error return 409: "Program is not active"
For Capitation only: do not sing optional fields
contractor_employee_divisions, external_contractor_flag and external_contractors
...