Note |
---|
Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою. |
Info |
---|
/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document) |
Table of Contents |
---|
Properties of a REST API method document
Page Properties | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
|
Purpose
Use this method to approve previously created Declaration Request.
Key points
In case if persons current authentication method is OTP, request body must contain
verification_code
field with OTP.For any other authentication method, request body must be empty, but additional documents upload is needed for OFFLINE authentication method.
Logic
N/A
Configuration parameters
N/A
Dictionaries
N/A
Input parameters
Input parameter | Mandatory | Type | Description | Example | |
---|---|---|---|---|---|
1 | |||||
2 |
Request structure
See on API-specification
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Headers
Request data validation
Authorize user
Verify the validity of access token
Check user scopes declaration_request:write in order to perform this action
In case error - generate 401 response
Validate request
Validate request using JSON schema
In case validation failed - generate 422 error
...
Expand | |||||
---|---|---|---|---|---|
|
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"
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 = 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’)
Processing
Generate printout form
Prepare data for declaration request printout form
...
Expand | ||
---|---|---|
|
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 declaration request
Change entity
status
in IL_DB.declaration_request to APPROVEDSet
status_reason
to doctor_confirmedSet
is_shareable
to trueSet
updated_at
- now() (Get current date-time)Set
updated_by
- user_id (Extract user from token)
Response structure examples
See on API-specification
Expand | |||||
---|---|---|---|---|---|
| |||||
|
HTTP status codes
Response code | HTTP Status code | Message | Internal name | Description | |
---|---|---|---|---|---|
1 | Базові | ||||
2 | 201 | Response |
| ||
3 | 401 |
| Invalid scopes | ||
4 | 404 | Active parent declaration was not found | |||
5 | 409 | Patient is not verified |
| ||
6 | 422 | This doctor has X declarations and could not sign more | |||
7 | Специфічні | ||||
8 |
Post-processing processes
N/A
Technical modules where the method is used
Page Properties Report | ||||
---|---|---|---|---|
|
...