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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 42 Next »

Purpose

Use this method to deactivate employee.

Employee status chart

Specification

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

API paragraph not found

Перелік мікросервісів, які використовує метод 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

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.

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.

  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

Example:

 Response example
{
  "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

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

  • No labels