ЕСОЗ - публічна документація
Deactivate Employee
Purpose
Use this method to deactivate employee.
Employee status chart
Specification
Link | Посилання на Apiary або Swagger | |
Resource | /api/employees/{{id}}/actions/deactivate | Посилання на ресурс, наприклад: /api/persons/create |
Scope | employee:deactivate | Scope для доступу |
Components | Employees, Legal Entity, Divisions | Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescription |
Microservices | il/api | Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC |
Protocol type | REST | Тип протоколу, який використовується запитом, наприклад: SOAP | REST |
Request type | PATCH | Тип запиту API, наприклад: GET, POST, PATCH… |
Sync/Async | Sync | Метод є синхронним чи асинхронним? |
Public/Private/Internal | Public |
|
Logic
Input parameters
Input parameter | Values | Type | Description | Example |
---|---|---|---|---|
id |
| String | Required | d290f1ee-6c54-4b01-90e6-d701748f0851 |
Dictionaries
+DIVISION_TYPE
+DIVISION_STATUS
LEGAL_ENTITY_TYPE_V2
LICENSE_TYPE
+DOCUMENT_TYPE
PHONE_TYPE
COUNTRY
EDUCATION_DEGREE
QUALIFICATION_TYPE
SPECIALITY_TYPE
SPECIALITY_LEVEL
SPEC_QUALIFICATION_TYPE
Authorize
Verify the validity of access token.
Check user scope employee:deactivate in order to perform this action
In case error - return 401 error.
Headers
Content-Type:application/json
Authorization:Bearer c2778f3064753ea70de870a53795f5c9
Request data validation
Validate transition according to Available transitions.
Deactivation of an employee is possible if parameters have the following values: is_active = true & status = APPROVED.
Processing
Revoke role from users
Get active employees
Invoke PRM API to get list of employees by legal_entity_id, party_id, employee_type
If found only current employee - Revoke role from user
Deactivate declarations
Invoke OPS_DB API to deactivate declarations
Search active declarations
Search active declarations in OPS_DB.declaration using {employee_id}
Search criteria
WHERE OPS_DB.declaration.employee_id = :employee_id
AND OPS_DB.declaration.status = 'ACTIVE'
Change declaration status to TERMINATED
Change declarations status in OPS_DB.declaration to {TERMINATED} for all found declarations
SET OPS_DB.declaration.status = 'TERMINATED'
WHERE OPS_DB.declaration.id in (:LIST)
Dismiss employee from reorganized legal entity
If an employee moved to a new legal entity during the reorganization, his old record (with the same speciality_officio) with the declaration, remain active in the reorganized legal entity.
The owner of the legal successor legal entity can dismiss this employee if necessary. See more details about reorganization process.
If employee id relates to $.related_legal_entities.merged_from_id legal entity OWNER can dismiss this employee
in case no employees were found return 404 with msg (Employee not found)
Deactivate employee
Invoke PRM API to update employee
Parameter | Source | Condition, Action |
---|---|---|
employee_id | Request parameter: $.employee_id |
|
end_date |
|
|
is_active |
| if employee_type in (OWNER, PHARMACY_OWNER) set is_active = false if employee_type ! in (OWNER, PHARMACY_OWNER) is_active not update |
status |
| if employee_type in ( OWNER, PHARMACY_OWNER) status not update if employee_type ! in (OWNER, , PHARMACY_OWNER) set status = DISMISSED |
Response structure
Example:
HTTP status codes
HTTP status code | Message | What caused the error |
---|---|---|
200 | Response |
|
401 |
| 2. Invalid scope |
403 | Invalid transition |
|
404 | Employee not found |
|
ЕСОЗ - публічна документація