Table of Contents | ||||
---|---|---|---|---|
|
Purpose
Use this method to reject previously created Declaration Request
Specification
...
...
Link | |
Resource | /api/v3/declaration_requests/{{id}}/actions/reject |
Scope | declaration_request:reject |
Components | Declarations |
Using Microservices | il/api ops/api |
Protocol type | REST |
Request type | PATCH |
Sync/Async | Sync |
Public/Private/Internal | Public |
Key features
Only authenticated and authorized user can
...
reject declaration request
New and Approved declaration request can be rejected
...
Declaration request can be rejected only by the employee who works in the same legal entity in which the request was
...
created
Declaration requests created by patient via PIS and assigned to legal entity could be rejected by legal entity as well
Specification
Authorization
Verify the validity of access token
...
in case of error - return 401 (“Invalid access token”) in case of validation fails
Verify that token is not expired
in case of error - return 401 (“Invalid access token”)
Check user scopes in order to perform this action (scope = 'declaration_request:
...
reject')
...
return 403 (“Your scope does not allow to access this resource. Missing allowances: declaration_request:reject”) in case of invalid scope(s)
...
Validation declaration request
Check that declaration request with such ID exists in the system (is_active = true)
In case of error - return 404
Check that declaration request is allowed to be processed on LE (
channel
== MIS ORis_shareable
== True)In case of error - return 403
Check that declaration request belongs to the same legal entity as the user
In case of error - return 403
...
Validate transition
Check transition according to /wiki/spaces/PCAB/pages/17513775491
In case of error - return 409 (“Invalid transition“)
Service logic
Update declaration request
Change entity status in IL_DB.declaration_request to REJECTED
Set status_reason:
If
channel
= MIS - setstatus_reason
to doctor_rejectIf
channel
= PIS - setstatus_reason
to doctor_rejected_over_limit
Set updated_at - now() (
...
Current date-time)
Set updated_by - user_id (Extract user from token)
HTTP status codes
HTTP status code | Message | What caused the error |
---|---|---|
201 | Response |
|
401 | Access token validation failed | |
403 |
| |
404 |
|