Purpose
This WS allows to terminate contract either by NHS or Legal Entity Side (if scope was allowed).
Specification
Logic
This WS is designed to terminate contract. Contract must be in status 'VERIFIED'
Input parameters
Input parameter | Values | Type | Description | Example |
---|---|---|---|---|
id | String |
|
Request structure
See on Apiary
Example:
Authorize
Verify the validity of access token
in case of error return 401 ('Access denied')
Check user scope contract:terminate 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
Headers
Наприклад:
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
Request data validation
Validate User
Extract legal_entity_id (client_id) from token.
Check client_id=contractor_legal_entity_id or client_id=nhs_legal_entity_id
in case of error return 403 "User is not allowed to perform this action"
Validate contract request status
Check contract_request.status='VERIFIED'
in case error return 409 - "Incorrect status of contract_request to modify it"
Processing
Auto termination
Fetch all contract with end_date<now(). Set status and status reason for such contract 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 |
| $.id |
| $.status |
| $.update_at |
| $. |
Deactivate Medical Program Provision
Deactivate all active medical program provision for defined contract number and current legal entity (according to link):
set is_active = false
set deactivate_reason = AUTO_CONTRACT_TERMINATION
set updated_at, updated b
Response structure
See on Apiary
Example:
Response mapping
field | value |
---|---|
status | TERMINATED |
status_reason | $.status_reason |
updated_at | now() |
updated_by | $.user_id |
HTTP status codes
HTTP status code | Message | What caused the error |
---|---|---|
200 |
|
|