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

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 4 Current »

Purpose

This method is designed to retrieve a catalog of dictionaries that can be used in eHealth. This WS can represent hierarchical dictionaries with subordinate (child) values. Each value can be managed by ‘is_active’ flag.

Specification

Link

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

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

Resource

/api/v2/dictionaries

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

Scope

dictionary:read

Scope для доступу

Components

Dictionaries

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

Microservices

API paragraph not found

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

Protocol type

REST

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

Request type

GET

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

Sync/Async

Sync

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

Public/Private/Internal

Public

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

Logic

  1. Filter dictionaries by search params.

  2. Render found dictionaries with all fields from PRM DB.

Input parameters

  • name - dictionary name

  • is_active - dictionary status

  • value_code - code of the dictionary value

  • value_description - description of the dictionary value

  • value_is_active - status of the dictionary value

Filters

No

Authorize

API paragraph not found

Headers

API paragraph not found

Validation data request

API paragraph not found

Processing

API paragraph not found

Response structure

Each dictionary is an object that contains code, description and status of the value. It can be represented by a hierarchical structure with subordinate (child) values. Each dictionary has a definite dictionary’s labels and flag ‘is_active’ that define a dictionary status

See on Apiary

Example:

 Response example
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "6617aeec-15e2-4d6f-b9bd-53559c358f97#17810"
  },
  "data": [
    {
      "name": "eHealth/ICF/classifiers",
      "description": "Класифікатори МКФ",
      "values": [
        {
          "code": "b1142",
          "description": "Орієнтація в особі",
          "is_active": true,
          "child_values": [
            {
              "code": "b11429",
              "description": "Орієнтація в особі неуточнена",
              "is_active": true,
              "child_values": []
            }
          ]
        }
      ],
      "labels": [
        "SYSTEM",
        "EXTERNAL"
      ],
      "is_active": true
    },
    {
      "name": "eHealth/ICPC2/condition_codes",
      "description": "Коди станів за ICPC2",
      "values": [
        {
          "code": "D88",
          "description": "Апендицит",
          "is_active": true,
          "child_values": []
        }
      ],
      "labels": [
        "SYSTEM",
        "EXTERNAL"
      ],
      "is_active": true
    }
  ]
}

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

Segmentation of dictionaries

Due to the increase in the size of the reference dictionaries for the Get dictionaries v2 endpoint, it was decided to segment the dictionary for values that exceed the normal ones (the maximum size of the dictionary could be 24 MB, which creates problems when working with reference dictionaries). Currently, the functionality of the endpoint has been changed, which means that when accessing it without passing filtering parameters, a reference dictionary with such a list of values is returned (https://uaehealthapi.docs.apiary.io/#reference/public.-medical-service-provider-integration-layer/dictionaries/get-dictionaries-v2). In order to get values that belong to a large reference dictionary, including:

  • eHealth/ICD10_AM/condition_codes

  • eHealth/ICD10_AM_FULL/condition_codes

  • eHealth/ICD10/condition_codes

you must pass the name of the dictionary in the name parameter, e.g: https://api.ehealth.gov.ua/api/v2/dictionaries?name=eHealth/ICD10_AM_FULL/condition_codes
In the future, it is expected that this approach will be maintained when building new types of directories.

  • No labels