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

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 23 Next »

Purpose

This method is designed to obtain all Employees of the legal entity.

Specification

Link

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

Посилання на Apiary або Swagger

Resource

/api/employees

Посилання на ресурс, наприклад: /api/persons/create

Scope

employee:read

Scope для доступу

Components

Employees, Legal Entity, Divisions

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescription

Microservices

il/api

Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC

Protocol type

REST

Тип протоколу, який використовується запитом, наприклад: SOAP | REST

Request type

GET

Тип запиту API, наприклад: GET, POST, PATCH…

Sync/Async

Sync

Метод є синхронним чи асинхронним?

Public/Private/Internal

Public

Logic

  1. Verify the validity of access token

  2. Check user scopes in order to perform this action

  3. Search employees by filters in ws url:

    1. required filters

      1. legal_entity_id (MSP id)

    2. optional filters: 

      1. status (employees status APPROVED, DISMISSED). By default used APPROVED

      2. type (employees type DOCTOR, HR, ACCOUNTANT, PHARMACIST, etc). By default returned all types of employees.

      3. limit (limit response size - quantity of employee objects). By default returned 50 objects.

      4. starting_after (cursor to fetch next page)

      5. ending_before (cursor to fetch previous page)

  4. If according to filters employees are not found, WS returns empty data array.

WS returns shortened details, which consist of:

  • employee and party objects

  • for DOCTOR and PHARMACIST - additional returns specialities information

  • pagination data - for tecnical info.

Input parameters

See on Apiary

Filters

See on Apiary

Dictionaries

https://e-health-ua.atlassian.net/wiki/spaces/EBT/pages/1300529210/EMPLOYEE+TYPE https://e-health-ua.atlassian.net/wiki/spaces/EBT/pages/1195114505/SPECIALITY+TYPE https://e-health-ua.atlassian.net/wiki/spaces/EBT/pages/1194852386/SPECIALITY+LEVEL https://e-health-ua.atlassian.net/wiki/spaces/EBT/pages/1195278373/SPEC+QUALIFICATION+TYPE

POSITION /wiki/spaces/EBT/pages/1190887576

Authorize

Request to process the request using a token in the headers

Headers

Content-Type:application/json

Authorization:Bearer c2778f3064753ea70de870a53795f5c9

Request data validation

  • Verify the validity of access token

    • Return (401, 'Invalid access token') in case of validation fails

  • Verify that token is not expired

    • in case of error - return (401, 'Invalid access token')

  • Check user scopes in order to perform this action (scope = 'employee:read')

    • Return (403, 'Your scope does not allow to access this resource. Missing allowances: employee:read') in case of invalid scope(s)

Processing

Service returns specified Employees:

  1. Get Employees from prm.employees

    1. Filter by search params

  2. Filter list above by submitted search parameters

  3. Render a response according to specification with found Employees

    1. Return empty array if no data found.

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": "P1",
      "employee_type": "DOCTOR",
      "status": "APPROVED",
      "start_date": "2017-03-02T10:45:16.000Z",
      "end_date": "2018-03-02T10:45:16.000Z",
      "party": {
        "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
        "no_tax_id": true,
        "first_name": "Петро",
        "last_name": "Іванов",
        "second_name": "Миколайович",
        "declaration_limit": 0,
        "declaration_count": 0
      },
      "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"
      },
      "doctor": {
        "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"
          }
        ]
      }
    }
  ],
  "paging": {
    "page_number": 2,
    "page_size": 50,
    "total_entries": 1000,
    "total_pages": 23
  }
}

Post-processing processes

API paragraph not found

HTTP status codes

HTTP status code

Message

What caused the error

200

Response

 

Backward compatibility

API paragraph not found



  • No labels