Table of Contents | ||||
---|---|---|---|---|
|
Purpose
Table of Contents | ||||
---|---|---|---|---|
|
Purpose
Use this method to approve previously created Declaration Request.
...
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
|
...
If authentication_method_current = OTP - verify SMS code
If authentication_method_current = NA - verify Parent declaration
Verify code
Invoke verification module to verify OTP
...
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
Change patient request
Change entity status in IL_DB.declaration_request to APPROVED
Set updated_at - now() (Get current date-time)
Set updated_by - user_id (Extract user from token)
Generate printout form
Invoke MAN to render print form.
Request mapping:
...
Parameter
...
Source
...
id
...
DECLARATION REQUEST
cURL example
Expand | ||
---|---|---|
|
Set IL.declaration_request.printout_content:
Expand |
---|
|
Response structure
...
title | Request example (code 201) |
---|
...
Response structure
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
|
Post-processing processes
Change patient request
Change entity status in IL_DB.declaration_request to APPROVED
Set updated_at - now() (Get current date-time)
Set updated_by - user_id (Extract user from token)
Generate printout form
Invoke MAN to render print form.
Request mapping:
Parameter | Source |
---|---|
id | DECLARATION REQUEST |
cURL example
Expand | ||
---|---|---|
|
Set IL.declaration_request.printout_content:
Expand |
---|
|
HTTP status codes
HTTP status code | Message | What caused the error |
---|---|---|
201 | Response |
|
401 | Invalid scopes | |
409 | Patient is not verified | |
422 | This doctor has X declarations and could not sign more |
...