Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

Table of Contents

...

Deactivate employee

...

Purpose

Use this method to deactivate employee.

Employee status chart

Specification

Page Properties

Link

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

Посилання на 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

  1. Verify the validity of access token.

  2. Check user scope employee:

...

  1. deactivate in order to perform this action

    1. In case error - return 401 error

...

    1. .

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.

Validate employee role

Check that there are no active employee roles related to this employee

  1. Search for employee roles with this employee in status ACTIVE
    1. If search result contains any records - return 409 error (Employee cannot be deactivated - active employee roles exists)

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

If found more than one employee  - do nothing

Auth.Revoke role from users

Deactivate declarations

Invoke OPS_DB API to deactivate declarationsImage Removed

...

Search active declarations

Search active declarations in OPS_DB.declaration using {employee_id}

Search criteria
Code Block
languagesql
titleSearch 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 all found declarations

Code Block
languagesql
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

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

...

Returne Error 403 message "Invalid transition"

Employee status chart

See on related pageExample:

Expand
titleResponse example
Code Block
{
  "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

Page Properties

HTTP status code

Message

What caused the error

200

Response

 

401

  1. Invalid access token

  2. Error

2. Invalid scope

403

Invalid transition

404

Employee not found