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

Get dictionaries v2 (UA)

Призначення

Цей метод призначений для отримання каталогу словників, які можуть бути використані в системі електронної охорони здоров'я. Цей WS може представляти ієрархічні словники з підпорядкованими (дочірніми) значеннями. Кожним значенням можна керувати за допомогою прапорця 'is_active'.

Специфікація

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

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

Логіка

  1. Фільтрувати словники за параметрами пошуку.

  2. Відобразити знайдені словники з усіма полями з PRM DB.

Вхідні параметри

  • name - назва словника

  • is_active - статус словника

  • value_code - код значення словника

  • value_description - опис значення словника

  • value_is_active - статус значення словника

Фільтри

Ні

Авторизуватись

Параграф API не знайдено

Заголовки

Параграф API не знайдено

Запит валідаційних даних

Параграф API не знайдено

Обробка

Параграф API не знайдено

Структура відповіді

Кожен словник - це об'єкт, який містить код, опис і статус значення. Він може бути представлений у вигляді ієрархічної структури з підпорядкованими (дочірніми) значеннями. Кожен словник має певні мітки та прапорець «is_active», які визначають статус словника

Дивитися на Apiary

Приклад:

{ "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 } ] }

Процеси постобробки

Параграф API не знайдено

HTTP коди стану

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

200

Response

 

Зворотна сумісність

Параграф API не знайдено

Сегментування словників

У зв'язку зі збільшенням розміру опорних словників по ендпоінту Get dictionaries v2 було прийнято рішення сегментувати словник для значень, що перевищують нормальні (максимальний розмір словника міг скласти 24Мб, що створює проблеми в роботі з опорними словниками). Наразі функціонал роботи ендпоінта змінено, що передбачає що при зверненні до нього без передачі фільтруючих параметрів повертається опорний словник з таким переліком значень (https://uaehealthapi.docs.apiary.io/#reference/public.-medical-service-provider-integration-layer/dictionaries/get-dictionaries-v2). Для того, щоб отримати значення, які належати до великого довідника, в т.ч.:

  • eHealth/ICD10_AM/condition_codes

  • eHealth/ICD10_AM_FULL/condition_codes

  • eHealth/ICD10/condition_codes

Необхідно передавати назву словника в параметрі name, наприклад: https://api.ehealth.gov.ua/api/v2/dictionaries?name=eHealth/ICD10_AM_FULL/condition_codes
Надалі вбачається що при будуванні нових типів довідників такий підхід буде збережено.

 

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