Table of Contents | ||||
---|---|---|---|---|
|
Purpose
Use this method to approve previously created Declaration Request.
Specification
...
Link
...
...
Resource
...
Table of Contents | ||||
---|---|---|---|---|
|
Purpose
Use this method to approve previously created Declaration Request.
Specification
Link | |
Resource | /api/v3/declaration_requests/{{id}}/actions/approve |
Scope | declaration_request:approve |
Components | Declarations |
Using Dictionaries | API paragraph not found |
Using Microservices | API paragraph not found |
Protocol type | REST |
Request type | PATCH |
Sync/Async | Sync |
Public/Private/Internal | Public |
...
Request to process the request using a token in the headers
Headers
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
Validate request
Validate request using JSON schema
In case validation failed - generate 422 error
...
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
Validate request
Validate request using JSON schema
In case validation failed - generate 422 error
Expand | ||
---|---|---|
|
Validation data request
Validate person verification status
validate patient's verification_status is not equal to NOT_VERIFIED.
in case of error return 409, "Patient is not verified"
Processing
Get declaration request details
Get declaration request from IL_DB.declaration_request
Determine authorization method
Get authorization_method from IL_DB.declaration_request
...
Code Block |
---|
SELECT IL_DB.declaration_request.authentication_method
FROM IL_DB.declaration_request
WHERE IL_DB.declaration_request.id = :id
|
If authentication_method_current is NULL - return Error
If authentication_method_current == OFFLINE - check uploaded document
If authentication_method_current = OTP - verify SMS code
Verify code
Invoke verification module to verify OTP
Check uploaded documents
Invoke Media Content Storage to check documents exist
...
|
Validation data request
Validate person verification status
validate patient's verification_status is not equal to NOT_VERIFIED.
in case of error return 409, "Patient is not verified"
Processing
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_current is NULL - return Error
If authentication_method_current == OFFLINE - check uploaded document
If authentication_method_current = OTP - verify SMS code
If authentication_method_current = NA - verify Parent declaration
Verify code
Invoke verification module to verify OTP
Check uploaded documents
Invoke Media Content Storage to check documents exist
Verify Parent declaration
Get parent_declaration_id from IL_DB.declaration_requests.parent_declaration_id:
If parent_declaration_id is null, validate declaration request with current authentication_method_current = NA logic
If parent_declaration_id is not null, check that parent declaration exists and in status 'active'
In case of error - return 404 (‘Active parent declaration was not found’)
Change patient_signed and process_disclosure_data_consent values
If parent_declaration_id is not null and authentication_method_current = NA, update following fields values at data_to_be_signed field:
patient_signed = null
process_disclosure_data_consent = null
Generate hash ‘seed’
Generate hash seed
- Hash of previous block in declarations chain or other random component that should be signed with declaration
...