ЕСОЗ - публічна документація

[DRAFT] Deactivate Employee [API-005-007-001-0099]

Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою.

https://e-health-ua.atlassian.net/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document)

Properties of a REST API method document

Document type

Метод REST API

Document title

[DRAFT] Deactivate Employee [API-005-007-001-0099]

Guideline ID

GUI-0011

Author

@

Document version

1

Document status

DRAFT

Date of creation

ХХ.ХХ.ХХХХ (дата фінальної версії документа – RC або PROD)

Date of update

ХХ.ХХ.ХХХХ (дата зміни версії)

Method API ID

API-005-007-001-0099

Microservices (namespace)

IL

Component

Employees

Component ID

COM-005-007

Link на API-специфікацію

https://ehealthmisapi1.docs.apiary.io/#reference/public.-medical-service-provider-integration-layer/employees/deactivate-employee

Resource

{{host}}/api/employees/{{id}}/actions/deactivate

Scope

employee:deactivate

Protocol type

REST

Request type

PATCH

Sync/Async

Sync

Public/Private

Public

Purpose

Use this method to deactivate employee.

Employee status chart

Logic

2dddd86c-5db7-4ae3-a9fe-da826243bb9d.png

 

Configuration parameters

N/A

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

Input parameters

Input parameter

Mandatory

Type

Description

Example

Input parameter

Mandatory

Type

Description

Example

1

id

 

String

Required

d290f1ee-6c54-4b01-90e6-d701748f0851

2

 

 

 

 

 

Request structure

See on API-specification

Headers

Headers

Request data validation

Authorize

  1. Verify the validity of access token.

  2. Check user scope employee:deactivate in order to perform this action

    1. In case error - return 401 error.

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

4c0c0ef0-02c7-4174-ab10-f9bed769c584.png

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

392b2737-33d4-46de-b667-2d235f621060.png

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.

  1. If employee id relates to $.related_legal_entities.merged_from_id legal entity OWNER can dismiss this employee

    1. 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

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 examples

See on API-specification

{ "meta": { "code": 200, "url": "https://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": { "id": "d290f1ee-6c54-4b01-90e6-d701748f0851", "position": "P8", "start_date": "2017-03-02T10:45:16.000Z", "end_date": "2018-03-02T10:45:16.000Z", "status": "APPROVED", "is_active": true, "employee_type": "DOCTOR", "party": { "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b", "first_name": "Петро", "last_name": "Іванов", "second_name": "Миколайович", "birth_date": "1991-08-19T00:00:00.000Z", "gender": "MALE", "no_tax_id": false, "tax_id": "3126509816", "documents": [ { "type": "PASSPORT", "number": "АА120518", "issued_by": "Рокитнянським РВ ГУ МВС Київської області", "issued_at": "2017-02-28" } ], "phones": [ { "type": "MOBILE", "number": "+380503410870" } ], "working_experience": 10, "about_myself": "Закінчив всі можливі курси", "declaration_limit": 0, "declaration_count": 0 }, "doctor": { "educations": [ { "country": "UA", "city": "Київ", "institution_name": "Академія Богомольця", "issued_date": "2017-02-28", "diploma_number": "DD123543", "degree": "MASTER", "speciality": "Педіатр" } ], "qualifications": [ { "type": "SPECIALIZATION", "institution_name": "Академія Богомольця", "speciality": "Педіатр", "issued_date": "2017", "certificate_number": "2017", "valid_to": "2017", "additional_info": "додаткова інофрмація" } ], "specialities": [ { "speciality": "THERAPIST", "speciality_officio": true, "level": "FIRST", "qualification_type": "AWARDING", "attestation_name": "Академія Богомольця", "attestation_date": "2017-02-28", "valid_to_date": "2020-02-28", "certificate_number": "AB/21331" } ], "science_degree": { "country": "UA", "city": "Київ", "degree": "", "institution_name": "Академія Богомольця", "diploma_number": "DD123543", "speciality": "Педіатр", "issued_date": "2017" } }, "division": { "id": "d290f1ee-6c54-4b01-90e6-d701748f0851", "name": "Бориспільське відділення Клініки Ноунейм", "legal_entity_id": "d290f1ee", "type": "CLINIC", "status": "ACTIVE", "mountain_group": false, "dls_id": "2872985", "dls_verified": true, "legal_entity": { "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b", "name": "Клініка Ноунейм", "short_name": "Ноунейм", "public_name": "Клініка Ноунейм", "type": "MSP", "edrpou": "5432345432", "status": "ACTIVE" } } } }

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

 

200

Response

 

 

3

 

401

Error

 

 

4

 

401

Invalid access token

 

 

5

 

401

Invalid scope

 

 

6

 

403

Invalid transition

 

 

7

 

404

Employee not found

 

 

8

Специфічні

9

 

 

 

 

 

Post-processing processes

N/A

Technical modules where the method is used

 

ЕСОЗ - публічна документація