Versions Compared

Key

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

...

Page Properties
idAPI_Specification

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-medical-programs/medical-program/get-services-dictionary

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

Resource

/api/services

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

Scope

API paragraph not found

Scope для доступу

Components

Medical Programs

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: 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 services by search params.

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

Filters

See on Apiary

Request structure

...

Request to process the request using a token in the headers

Headers

Наприклад:

Content-Type:application/json

...

API paragraph not found

Processing

...

Service logic

Service returns all services grouped by service_groups (skipping services and service groups if them service_inclusion.is_active = false) filtered by submitted parameters from redis (origin PRM DB)

  1. Get service_group

  2. Get services

  3. Get service_inclusions (where service_inclusion.is_active = true)

  4. Filter list above by submitted search parameters

  5. Render a response according to specification with found service entities.

Response structure

See on Apiary

Response tree structure

Expand
titleResponse tree structure

Node 1

  • service_groups w/o sub-groups, w/o parent_group_id

  • service_groups with sub-groups, w/o parent_group_id

  • services which aren't included in any service_groups

Node 2

  • service_groups with parent_group_id with service_groups of the first node

  • services which are included in the service_groups of the Node 1

Node 3

  • service_groups with parent_group_id with service_groups from the second node

  • services which are included in the service_groups of the Node 2

Node 4

  • service_groups with parent_group_id with service_groups from the third node

  • services which are included in the service_groups of the Node 3

Node 5

  • services which are included in the service_groups of the Node 4

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": "e5a5d991-0bf7-476f-b3cf-bec73f044b2e",
    "name": "`Ультразвукові дослідження'",
    "code": "FJ",
    "is_active": true,
    "request_allowed": false,
    "inserted_at": "2018-08-02T10:45:16.000Z",
    "inserted_by": "d5a5d991-0bf7-476f-b3cf-bec73f044b2e",
    "updated_at": "2018-08-02T10:45:16.000Z",
    "updated_by": "d5a5d991-0bf7-476f-b3cf-bec73f044b2e",
    "groups": [
      {
        "id": "75a5d991-0bf7-476f-b3cf-bec73f044b2e",
        "name": "`Ультразвукові дослідження в гастроентерології'",
        "code": "2FJ",
        "is_active": true,
        "request_allowed": false,
        "inserted_at": "2018-08-02T10:45:16.000Z",
        "inserted_by": "d5a5d991-0bf7-476f-b3cf-bec73f044b2e",
        "updated_at": "2018-08-02T10:45:16.000Z",
        "updated_by": "d5a5d991-0bf7-476f-b3cf-bec73f044b2e",
        "services": [
          {
            "id": "d5a5d991-0bf7-476f-b3cf-bec73f044b2e",
            "name": "`Ультразвукове дослідження черевного відділу стравоходу'",
            "code": "JF2 01",
            "is_active": true,
            "parent_id": "null",
            "category": "imaging",
            "is_composition": false,
            "request_allowed": true,
            "inserted_at": "2018-08-02T10:45:16.000Z",
            "inserted_by": "d5a5d991-0bf7-476f-b3cf-bec73f044b2e",
            "updated_at": "2018-08-02T10:45:16.000Z",
            "updated_by": "d5a5d991-0bf7-476f-b3cf-bec73f044b2e"
          }
        ]
      }
    ]
  }
}

...