Versions Compared

Key

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

Validate request

  1. Validate request using JSON schema

    1. In case validation failed - generate 422 error

JSON Schema Expand sourceJSON Schema Collapse source 

Expand
Code Block
{
  "$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:write in order to perform this action

    1. In case error - generate 401 response

...

Get declaration request from IL_DB.declaration_request

Determine authorization method

Get authorization_method from IL_DB.declaration_request

...

If authentication_method == OFFLINE - check uploaded documentsdocument

If authentication_method IN (SMS, SMS_TRUSTEE) - verify SMS code and check uploaded documents for declaration form= OTP - verify SMS code, check uploaded documents for patient request form and add phone to db.verification.verified_phones

If authentication_method = CONFIDANT and confidant has auth.method = OTP  -  verify SMS code, check uploaded documents for patient request form and  the document which confirms the guardianship.

If authentication_method = CONFIDANT and confidant has auth.method = OFFLINE  -  check uploaded documents for patient request form,a person's document, the confidant person's document and the document which confirms the guardianship.

Verify code

Invoke verification module to verify OTP

...

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

...

Generate printout form

Invoke MAN to render print form.

Request mapping:

Parameter

Source

id

DECLARATION REQUEST

cURL example

Expand
Code Block
curl --request POST \
     --header 'Accept: text/html' \
     --header 'Content-Type: application/json' \
     {:host}/templates/{:declaration_request_printout_id}/actions/render

Set IL.declaration_request.printout_content:

Expand

MANResponse.$.data

Change patient request

  1. Change entity status in OPSIL_DB.declaration_request to APPROVED

  2. Set updated_at - now() (Get current date-time)

  3. Set updated_by - user_id (Extract user from token)