ЕСОЗ - публічна документація
[DRAFT] Public. Terminate Contract Request by MSP [API-005-002-002-0051]
Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою.
https://e-health-ua.atlassian.net/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document)
- 1 Properties of a REST API method document
- 2 Purpose
- 3 Logic
- 4 Configuration parameters
- 5 Dictionaries
- 6 Input parameters
- 7 Request structure
- 8 Headers
- 9 Request data validation
- 10 Processing
- 11 Response structure examples
- 11.1 Request mapping
- 12 HTTP status codes
- 13 Post-processing processes
- 14 Technical modules where the method is used
Properties of a REST API method document
Document type | Метод REST API |
---|---|
Document title | [Document status] REST API [Назва методу] [ID методу] |
Guideline ID | GUI-0011 |
Author | @ |
Document version | 1 |
Document status | DRAFT |
Date of creation | ХХ.ХХ.ХХХХ (дата фінальної версії документа – RC або PROD) |
Date of update | ХХ.ХХ.ХХХХ (дата зміни версії) |
Method API ID | API-005-002-002-0051 |
Microservices (namespace) | IL |
Component | Contracts |
Component ID | COM-005-002 |
Link на API-специфікацію | |
Resource | {{host}}/api/contract_requests/{{contract_type}}/{{id}}/actions/terminate |
Scope | contract_request:terminate |
Protocol type | REST |
Request type | PATCH |
Sync/Async | Sync |
Public/Private | Public |
Purpose
This WS allows to terminate contract request by legal entity.
Logic
This WS is designed to terminate contract request by contractor. Contract request can't be in status='SIGNED'
Configuration parameters
Description of the configuration parameters that are used when processing a request in the system
Dictionaries
Provides a list of links to dictionaries that are available in Confluence
Input parameters
Input parameter | Mandatory | Type | Description | Example | |
---|---|---|---|---|---|
1 | id |
| String |
|
|
2 |
|
|
|
|
|
Request structure
See on API-specification
Headers
Key | Value | Mandatory | Description | Example | |
---|---|---|---|---|---|
1 | Content-Type | application/json | M | Тип контенту | Content-Type:application/json |
2 | Authorization | Bearer c2778f3064753ea70de870a53795f5c9 | M | Перевірка користувача | Authorization:Bearer c2778f3064753ea70de870a53795f5c9 |
3 |
|
|
|
|
|
Request data validation
Authorize
Verify the validity of access token
in case of error return 401 ('Access denied')
Check user scope contract_request:termiante in order to perform this action
in case of error generate 401 response ('Invalid scopes')
Request to process the request using a token in the headers
Validate User
Extract party_id (associated with user_id) from token.
Check party_id=party.contractor_owner_id
in case of error return 403 "User is not allowed to perform this action"
Validate contract request status
Check contract_request.status<>SIGNED
in case error return 422 - "Incorrect status of contract_request to modify it"
Processing
Auto termination
Fetch all contract_request with start_date<now().
for REIMBURSEMENT contracts
- find contracts in status NHS_SIGNED and nhs_signed < today -`REIMBURSEMENT_CONTRACT_REQUEST_AUTOTERMINATION_PERIOD_DAYS`
for CAPITATION contracts
- find contracts in status NHS_SIGNED and nhs_signed < today -`CAPITATION_CONTRACT_REQUEST_AUTOTERMINATION_PERIOD_DAYS`
Set status and status reason for such contract request as below:
field | value |
---|---|
status | TERMINATED |
status_reason | $.auto_expired |
updated_at | now() |
updated_by | $.user_id |
Add status to event manager
After status was changed (status = TERMINATED) - add new status to event_manager
field | value |
---|---|
|
|
| Contract_request |
| $.id |
| $.status |
| $.update_at |
| $. |
Response structure examples
See on API-specification
Request mapping
field | value |
---|---|
status | TERMINATED |
status_reason | $.status_reason |
updated_at | now() |
updated_by | $.user_id |
HTTP status codes
Response code | HTTP Status code | Message | Internal name | Description | |
---|---|---|---|---|---|
1 | Базові | ||||
2 |
| 200 |
|
|
|
3 |
| 401 | Access denied |
|
|
4 |
| 401 | Invalid scopes |
|
|
5 |
| 403 | User is not allowed to perform this action |
|
|
6 |
| 422 | Incorrect status of contract_request to modify it |
|
|
7 | Специфічні | ||||
8 |
|
|
|
|
|
Post-processing processes
Description of actions performed on data after processing
Technical modules where the method is used
List of pages describing technical modules where the method is used
ЕСОЗ - публічна документація