ЕСОЗ - публічна документація

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Validate request

  1. Validate request using JSON schema

    1. In case validation failed - generate 422 error

JSON Schema 

 Click here to expand...
{
  "$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 details

Get declaration request from IL_DB.declaration_request

Determine authorization method

Get authorization_method from IL_DB.declaration_request

SELECT IL_DB.declaration_request.authentication_method
FROM   IL_DB.declaration_request
WHERE IL_DB.declaration_request.id = :id

If authentication_method is NULL - return Error

If authentication_method == OFFLINE - check uploaded document

If authentication_method = 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

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"

Generate printout form

Invoke MAN to render print form.

Request mapping:

Parameter

Source

id

DECLARATION REQUEST

cURL example

 Click here to expand...
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:

 Click here to expand...

MANResponse.$.data

Change patient request

  1. Change entity status in IL_DB.declaration_request to APPROVED

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

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


  • No labels