Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Validate request

  1. Validate request using JSON schema
    1. In case validation failed - generate 422 error
Code Block
languagexml
titleJSON Schema
collapsetrue
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "verification_code": {
      "type": "string"
    }
  },
  "required": [
    "verification_code"
  ],
  "additionalProperties": false
}


Authorize user

  1. Verify the validity of access token
  2. Check user scopes declaration_request:sign in write in order to perform this action
    1. In case error - generate 401 response

Get declaration request details

Get declaration request from IL_DB.declaration_request

Determine authorization method

Get authorization_method from IL_DB.declaration_request

...

If authentication_method IN (SMS, SMS_TRUSTEE) - verify SMS code and check uploaded documents for declaration form

Verify code

Invoke verification module to verify OTP

OTP Verification

Check uploaded documents

Invoke Media Content Storage to check documents exist

Media Content Storage

Check doctor's limit

Get employee.id from declaration request, get party for employee_id

Find all employees in status= 'APPROVED' for the party. Find all specialities for those employees. 

Set doctor's limit = min limit for employee's speciality. 

Speciality limits are in ehealth.charts.il

Count declarations for $.employee.id, check if Counted declarations < doctor's limit

  • in case error return 422, "This doctor has X declarations and could not sign more"

Change declaration request status

  1. Change entity status in OPS_DB.declaration_request to APPROVED