Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Purpose

...

This WS allows to get a list of divisions of legal entity. Also, this list can be filtered using search parameters.

  1. Only authenticated and authorized owners with appropriate scope can get a list of divisions.

  2. Method returns a list of divisions for user’s legal entity only.

  3. List can be filtered by search params.

Logic

  1. Get client_id from token as legal entity identifier

  2. Define all the divisions of the legal entity

  3. Get and render all the records with defined divisions from divisions table filtered by search params.

Specification

Page Properties
idAPI_Specification

Link

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

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

Resource

/api/divisions

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

Scope

division:read

Scope для доступу

Components

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

Потрібно зазначити тип методу за ступенем доступності

Filters

All search params are optional. Search with a few params executes according to the logical AND rule.

  • ids

  • name

  • legal_entity_id

    • If submitted, filter list by divisions.legal_entity_id

  • type

    • If submitted, filter list by divisions.type

  • status

    • If submitted, filter list by divisions.status

See on Apiary

Authorize

Request to process the request using a token in the headers

Headers

...

  • Verify the validity of access token

    • in case of error - 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 = 'division:read')

    • return 403 “Your scope does not allow to access this resource. Missing allowances: division:read” in case of invalid scope(s)

Headers

Content-Type:application/json
Authorization:Bearer {{access_token}}
API-key:{{secret}}

Request data validation

API paragraph not found

Processing

...

Validate legal entity

  • Extract client_id from token.

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

    • in case of error - return 403 “Your scope does not allow to access this resource. Missing allowances: division:read”

  • Check legal entity status (status = ACTIVE, SUSPENDED)

    • In case of error - return 422 “Legal entity is not active”

Response structure

Example:

Expand
titleResponse example
Code Block
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"
  },
  "data": {
    "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
    "name": "Бориспільське відділення Клініки Ноунейм",
    "addresses": [
      {
        "type": "RESIDENCE",
        "country": "UA",
        "area": "Житомирська",
        "region": "Бердичівський",
        "settlement": "Київ",
        "settlement_type": "CITY",
        "settlement_id": "b075f148",
        "street_type": "STREET",
        "street": "вул. Ніжинська",
        "building": "15",
        "apartment": "23",
        "zip": "02090"
      }
    ],
    "phones": [
      {
        "type": "MOBILE",
        "number": "+380503410870"
      }
    ],
    "email": "email@example.com",
    "working_hours": {
      "mon": [
        [
          "08.00",
          "12.00"
        ],
        [
          "14.00",
          "18.00"
        ]
      ],
      "tue": [
        [
          "08.00",
          "12.00"
        ]
      ],
      "wed": [
        [
          "08.00",
          "12.00"
        ]
      ],
      "thu": [
        [
          "08.00",
          "12.00"
        ]
      ],
      "fri": [
        [
          "08.00",
          "12.00"
        ]
      ]
    },
    "type": "CLINIC",
    "legal_entity_id": "c8aadb87-ecb9-41ca-9ad4-ffdfe1dd89c9",
    "external_id": "3213213",
    "location": {
      "latitude": 30.1233,
      "longitude": 50.32423
    },
    "status": "ACTIVE",
    "mountain_group": false,
    "dls_id": "2872985",
    "dls_verified": true
  },
  "paging": {
    "page_number": 2,
    "page_size": 50,
    "total_entries": 1000,
    "total_pages": 23
  }
}

Post-processing processes

API paragraph not found

HTTP status codes

Page Properties
idAPI_HTTP status codes

HTTP status code

Message

What caused the error

 200

 Response

 

401

Authorization failed

403

Invalid scopes

422

Validation failed