Versions Compared

Key

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

...

Table of Contents

Purpose

This API is designed to search parties (doctors) on public portal and patient cabinet

Key features:

  • Returns only parties who has have at least one employee with type DOCTOR, SPECIALIST or ASSISTANT

Specification

Page Properties

Link

https://uaehealthapi.docs.apiary.io/#reference/internal.-portal-and-reports/parties/search-parties

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

Resource

/api/stats/parties

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

Scope

API paragraph not found

Scope для доступу

Components

Employees

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

Internal

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

Logic

API paragraph not found

Filters

See on Apiary

...

Request structure

API paragraph not found

Authorize

Request to process the request using a token in the headers

Headers

Наприклад:

Content-Type:application/json

Request data validation

Validate query params

  1. Validate location - must be provided none of them or all four (location_north, location_south, location_west, location_east)

    1. In case of error - generate 422 error

Prepare response

  1. Get parties who has at least one employee with type DOCTOR, SPECIALIST or ASSISTANT

  2. Outer join employee roles, healthcare services and divisions on (employees.id = employee_roles.employee_id and employee_roles.healthcare_service_id = healthcare_service.id and healthcare_service.division_id = divisions.id)

  3. Filter result by query params

Query param

Source

employee_type

employees.employee_type

full_name

parties.first_name + parties.second_name + parties.last_name

(The same way as it works on search employees)

speciality

healthcare_services.speciality_type

division_id

healthcare_services.division_id

division_name

divisions.name

area

division_addresses

region

division_addresses

settlement

division_addresses

location_*

divisions.location

Must be within the given coordinates

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": "7d23bebb-1cf3-4221-bf21-18aada444756",
      "first_name": "Петро",
      "second_name": "Миколайович",
      "last_name": "Іванов",
      "educations": [
        {
          "country": "UA",
          "city": "Київ",
          "institution_name": "Академія Богомольця",
          "issued_date": "2017-02-28",
          "diploma_number": "DD123543",
          "degree": "MASTER",
          "speciality": "Педіатр"
        }
      ],
      "qualifications": [
        {
          "type": "SPECIALIZATION",
          "institution_name": "Академія Богомольця",
          "speciality": "Педіатр",
          "issued_date": "2017",
          "certificate_number": "2017",
          "valid_to": "2017",
          "additional_info": "додаткова інофрмація"
        }
      ],
      "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"
        }
      ],
      "is_available": true,
      "science_degree": {
        "country": "UA",
        "city": "Київ",
        "degree": "",
        "institution_name": "Академія Богомольця",
        "diploma_number": "DD123543",
        "speciality": "Педіатр",
        "issued_date": "2017"
      },
      "working_experience": 10,
      "about_myself": "Закінчив всі можливі курси",
      "employees": [
        {
          "id": "7d23bebb-1cf3-4221-bf21-18aada444756",
          "position": "P1",
          "employee_type": "DOCTOR",
          "healthcare_services": [
            {
              "id": "7c3da506-804d-4550-8993-bf17f9ee0402",
              "division": {
                "id": "asSbcy12sYs8c",
                "name": "Aдоніс",
                "type": "CLINIC",
                "addresses": {
                  "type": "RESIDENCE",
                  "country": "UA",
                  "area": "Житомирська",
                  "region": "Бердичівський",
                  "settlement": "Київ",
                  "settlement_type": "CITY",
                  "settlement_id": "b075f148",
                  "street_type": "STREET",
                  "street": "вул. Ніжинська",
                  "building": "15",
                  "apartment": "23",
                  "zip": "02090"
                },
                "contacts": {
                  "email": "email@example.com",
                  "phones": [
                    {
                      "type": "MOBILE",
                      "number": "+380503410870"
                    }
                  ]
                },
                "coordinates": {
                  "latitude": 30.1233,
                  "longitude": 50.32423
                },
                "legal_entity": {
                  "name": "Заклад Ноунейм",
                  "short_name": "Ноунейм",
                  "public_name": "Ноунейм",
                  "type": "PRIMARY_CARE",
                  "owner_property_type": "STATE",
                  "legal_form": "140",
                  "edrpou": "5432345432",
                  "kveds": "[\"86.10\", \"47.73\"]",
                  "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",
                  "nhs_verified": "false",
                  "owner": {
                    "id": "7d23bebb-1cf3-4221-bf21-18aada444756",
                    "position": "P1",
                    "employee_type": "OWNER",
                    "party": {
                      "id": "7d23bebb-1cf3-4221-bf21-18aada444756",
                      "first_name": "Петро",
                      "second_name": "Миколайович",
                      "last_name": "Іванов"
                    }
                  }
                }
              },
              "speciality_type": "FAMILY_DOCTOR",
              "providing_condition": "OUTPATIENT",
              "category": [
                "0742d949-1492-4864-9494-60fd7102abfd"
              ],
              "type": [
                "2c0110a9-0bea-4b16-af8e-6e2e149a5bfc"
              ],
              "status": "ACTIVE",
              "comment": "Заведено помилково",
              "coverage_area": [
                "2c0110a9-0bea-4b16-af8e-6e2e149a5bfc"
              ],
              "available_time": [
                {
                  "days_of_week": [
                    "mon"
                  ],
                  "all_day": true,
                  "available_start_time": "08:30:00",
                  "available_end_time": "19:00:00"
                }
              ],
              "not_available": [
                {
                  "description": "Санітарний день",
                  "during": {
                    "start": "2018-08-02T10:45:16.000Z",
                    "end": "2018-08-02T11:00:00.000Z"
                  }
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "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