С помощью данного метода клиент получает список всех врачей, работающих по заданной специализации, с расписанием работы на заданное количество дней.

Возвращает много данных(~30мб) если не задавать фильтры по специальности и/или ЛПУ


Запрос

Адрес запроса

GET: {{url}}/api/v2/iemk/doctors?days={{days}}&lpuCode={{lpu}}&departmentId={{departmentId}}&haveSchedule={{haveSchedule}}&page={{page}}&count={{count}}&byDir={{byDir}}

Адрес запроса при получении расписания по направлениям

Ссылка на описание старого метода

Метод возвращает модель данных, которая описана в Получение расписания по направлениям для РПГУ. Для обратной совместимости адресов добавлено ingress-правило

GET: {{url}}/api/v2/iemk/doctors/directions?lpu_code={{lpu_code}}&analysis_id={{analysis_id}}&direction_type={{direction_type}}

Параметры запроса

ПараметрТипОписаниеПо умолчаниюОбязательныйКомментарий
haveSchedulequeryПризнак наличия расписания у ресурсаtrue-

Возможные значения:

  • true - выводим только те ресурсы у которых есть расписание и проставлен признак выводить в расписании, а также выводим это расписание в поле schedule
  • false - выводим все ресурсы независимо от наличия расписания и признака выводить в расписании. Выводим в поле schedule null

    При получении расписания по направлениям данный параметр игнорируется. Параметр используется при получении основного расписания.
restypequeryТип ресурсаall-

Возможные значения(можно указывать как цифру так и лат имя):

  • 0 - All - все
  • 1 - Doctor - только врачи
  • 2 - Room - только кабинеты
  • 3 - Equipment - только оборудование
daysqueryКоличество дней расписания14-Позволяет указать количество дней расписания в ответе
lpuCodequeryМКОД ЛПУ--Фильтр по ЛПУ
departmentIdqueryКод специальности--Фильтр по специальности. поле в бд - oms_PRVS.C_PRVS
positionCodequeryКод должности

Фильтр по должности. поле в бд - oms_PRVD.C_PRVD

При получении расписания по коду должности "444" (паллиативная медицинская помощь) расписание будет искаться по всем ЛПУ, где есть карта (LPU-MKAB), а не по участку прикрепления.

pagequeryномер страницы0-постраничный вывод(страницы состоят из ЛПУ)
countqueryкол-во элементов на странице0-кол-во ЛПУ на странице
bydirqueryприем только по направлениюfalse-Также отображать расписание врачей, запись к которым возможна только по направлению
busyTypequeryТипы приема--

Может быть указано несколько значений: ?busyType=4&busyType=202&busyType=203&busyType=204

Если параметр не указан, то выводятся ячейки всех приёмных типов за исключением "322 - ТМК врач-врач" или "323 - ТМК консилиум". Но если клиент в токене "Телемедицина", то при отсутствующем параметре нет ограничений на выдачу приемных типов.



Ниже описаны параметры, которые принимает контроллер для получения расписания по направлениям.




lpu_codequeryМКОД ЛПУ-+Фильтр по ЛПУ (Находится хост переданной ЛПУ и по нему получаются все подразделения. Поиск ресурсов производится по подразделениям)
analysis_idquery

В зависимости от типа направления:

  • если diagnostic - код услуги или типа исследования
  • если consultation или duvisit - код специальности
-+/-

Обязательно только для получения ресурсов при записи по направлению. Без направления необязательно.

Для diagnostic поиск идет по связке ресурса и услуги в ЦОД hlt_DocPrvdNomService.

direction_typequery

Тип направления:

  • diagnostic
  • consultation
  • duvisit
-+/-

Обязательно только для получения ресурсов при записи по направлению. Без направления необязательно.

По типу направления проставляются ресурсы, необходимые для вывода.

  • consultation - врачи и кабинеты
  • duvisit - врачи и кабинеты
  • diagnostic - кабинеты и оборудование

Если использовать токен и не указать или задать пустое значение параметров lpuCode и departmentId, вернется пустой список, так как данных для поиска будет недостаточно.

Заголовки запроса

ЗаголовокЗначение (тип/формат значения)ОписаниеОбязательныйКомментарий
AuthorizationBearer {token} (без скобок и через пробел после Bearer)РПГУ токен-При указании токена отображаются врачи, только выбранный специальности из тех ЛПУ в которых у пациента есть карта. Работает только если не указать параметр lpuCode

Ответ сервера

В случае успешного выполнения сервер вернет ответ в формате JSON со следующими данными:

Модель: Массив items с Группировка врачей по ЛПУ - DoctorItemWithScheduleDateExternal

Описание полей

Название

Тип данных

Описание

Комментарий
lpu_codestringМкод ЛПУ
lpuLpuBaseКраткая модель ЛПУ
doctorsМассив DoctorItemWithScheduleDateСписок врачей
UchastokUchastokShort


UchastokShort

НазваниеТип данныхОписаниеКомментарий
Namestringназвание участка
Codestringкод участка
DocPrvdGuidгуид ресурса


DoctorItemWithScheduleDate

Данные врача с расписанием, сгруппированным по дням.

Описание полей

Название

Тип данных

Описание

Комментарий
scheduleМассив ScheduleItemDateРасписание сгруппированное по дням
separationstringОтделение
ratingstringРейтинг
photostringФото
equipmentequipmentОборудование
equipment.guidstring(guid)Идентификатор оборудования
equipment.namestringНаименование оборудования
equipment.typestringТип оборудования
equipment.is_digitalstringПризнак цифровое/нет
lpu??
uchastokNamestringНазвание участка врачаUchastokCaption из hlt_Uchastok
idstringИдентификаторЯвляется склейкой гуид ЛПУ + гуид ресурса.
displayNamestringНаименование ресурса
person_idstringИдентификатор сотрудникаУ одного сотрудника может быть несколько активных ресурсов(должностей)
lpu_codestringМкод ЛПУ
typeintТип ресурса
type_namestringНазвание типа ресурса
namestringИмя
surnamestringОтчество
familystringФамилия
positionstringИмя должности
positionCodestringКод должности
departmentstringКод специальности
roomstringКабинет

isWaitingList

boolПризнак возможности записи в лист ожидания
isSpecialboolЗапись только по направлению
snilsstringСНИЛС сотрудника

поле не заполняется API-2879 - Получение подробных данных проблемы... СТАТУС

birthdayDateTimeДень Рождения врача

поле не заполняется API-2879 - Получение подробных данных проблемы... СТАТУС

DescriptionstringОписание ресурса

Расписание с группировкой по дням - ScheduleItemDate

Данные расписания за день.

Описание полей

Название

Тип данных

Описание

Комментарий
datestringДата
time_fromstringВремя начала
time_tostringВремя окончания
docBusyTypedocBusyTypeТип приемаВыводится первый тип приема за день. Но в этот день могут быть и другие типы приема, доступные в детализированном расписании доступном в методе Информация о враче и его расписании
count_ticketsintКоличество свободных записей

Тип приема - docBusyType

Название

Тип данных

Описание

Комментарий
namestringНазвание
typeintПриемный/не приемный типПредусмотрен ли прием пациентов
codestringКод

Пример модели расписания в формате JSON
{
  "date": "2019-01-30T00:00:00",
  "time_from": "07:00",
  "time_to": "20:00",
  "docBusyType": {
    "name": "Диспансеризация",
    "type": 1,
    "code": "206"
  },
  "count_tickets": 52
}

Пример модели врача в формате JSON
{
  "schedule": [
    {
      "date": "2019-12-19T00:00:00",
      "time_from": "07:00",
      "time_to": "19:00",
      "docBusyType": {
        "name": "Прием по очереди",
        "type": 1,
        "code": "4"
      },
      "count_tickets": 15
    }
  ],
  "separation": "Отделение лучевой диагностики",
  "rating": "",
  "photo": "/photo/doc/00000000-0000-0000-0000-000000000000.png",
  "equipment": {
    "guid": "6734ad2a-6ee8-4e93-b111-be8ca1d6136d",
    "name": "ФЦМ-\"Альфа 4К\"",
    "type": "Флюорографический аппарат",
    "is_digital": true
  },
  "lpu": null,
  "uchastokName": null,
  "id": "22b74228-1051-4340-9738-51817fcc924b7de0885a-9a11-4aea-af12-969480e2e3f5",
  "displayName": "Оборудование ФЦМ-\"Альфа 4К\"",
  "person_id": "",
  "lpu_code": "4701060",
  "type": 3,
  "type_name": "Оборудование",
  "name": "",
  "family": "",
  "surname": "",
  "position": "ФЦМ-\"Альфа 4К\" Флюорографический аппарат",
  "department": "24",
  "room": "Флюорографический кабинет",
  "isWaitingList": true,
  "isSpecial": false,
  "snils": "123-456-555 44",
  "birthday": "2020-12-08T13:44:24+00:00"
}

Пример группировки врачей в формате JSON
{
  "items": [
    {
      "lpu_code": "777777",
	  "uchastok": {
        "name": "5-й Терапевтический",
        "code": "5-Тер ",
        "docPrvd": "4f66cbf0-9221-4a6d-a6ec-41d9b96ae179"
      },
      "lpu": {
        "guid": "a7f391d4-d5d8-44d5-a770-f7b527bb1233",
        "name": "Стенд ЕМИАС МО",
        "address": "Московская область, г. Неизвестный, ул. Светлая, д. 5",
        "phone": "",
        "mcod": "777777"
      },
      "doctors": [
        {
          "separation": "Диспансеризация",
          "rating": "",
          "photo": "/photo/doc/ffc56ba8-f357-4de2-833f-dd117a23d4c7.png",
          "equipment": null,
          "lpu": null,
          "schedule": [
            {
              "date": "2019-01-29T00:00:00",
              "time_from": "07:00",
              "time_to": "20:00",
              "docBusyType": {
                "name": "Диспансеризация",
                "type": 1,
                "code": "206"
              },
              "count_tickets": 5
            },
            {
              "date": "2019-01-30T00:00:00",
              "time_from": "07:00",
              "time_to": "20:00",
              "docBusyType": {
                "name": "Диспансеризация",
                "type": 1,
                "code": "206"
              },
              "count_tickets": 52
            },
            {
              "date": "2019-01-31T00:00:00",
              "time_from": "07:00",
              "time_to": "20:00",
              "docBusyType": {
                "name": "Диспансеризация",
                "type": 1,
                "code": "206"
              },
              "count_tickets": 52
            }
          ],
          "id": "a7f391d4-d5d8-44d5-a770-f7b527bb12330b58bf2f-b6ff-423e-bff8-018953417c50",
          "displayName": "Ай Бо Лит",
          "person_id": "ffc56ba8-f357-4de2-833f-dd117a23d4c7",
          "lpu_code": "777777",
          "type": 1,
          "type_name": "Врач",
          "name": "Бо",
          "family": "Ай",
          "surname": "Лит",
          "position": "Терапевты",
          "department": "12100",
          "room": "407",
          "isWaitingList": true,
          "isSpecial": false,
          "snils": "123-456-555 44",
          "birthday": "2020-12-08T13:44:24+00:00"
        }
      ]
    },
	{
          "schedule": [
            {
              "date": "2021-09-17T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 28
            },
            {
              "date": "2021-09-18T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "14:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 28
            },
            {
              "date": "2021-09-19T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "14:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 28
            },
            {
              "date": "2021-09-20T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-21T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 45
            },
            {
              "date": "2021-09-22T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-23T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 48
            },
            {
              "date": "2021-09-24T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-25T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "14:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 29
            },
            {
              "date": "2021-09-26T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "14:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 30
            },
            {
              "date": "2021-09-27T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-28T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 48
            },
            {
              "date": "2021-09-29T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-30T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 48
            }
          ],
          "separation": "Кабинет вакцинопрофилактики от новой коронавирусной инфекции (COVID-19) (П5)",
          "rating": "",
          "photo": "/photo/doc/00000000-0000-0000-0000-000000000000.png",
          "equipment": null,
          "lpu": null,
          "id": "50f83f9f-2a23-468c-b330-b71c09cd36563500b6e3-4fb2-4202-b3c9-3161290bb83a",
          "displayName": "Кабинет (2 этап) Кабинет вакцинации от COVID-19 (П5)",
          "person_id": "",
          "lpu_code": "010109",
          "type": 2,
          "type_name": "Кабинет",
          "name": "",
          "family": "",
          "surname": "",
          "position": "Кабинет вакцинопрофилактики от COVID-19 (П5)",
          "department": "b04.014.004",
          "room": "(2 этап) Кабинет вакцинации от COVID-19 (П5)",
          "isWaitingList": false,
          "isSpecial": false,
          "snils": "123-456-777 46",
          "birthday": "1964-07-04T00:00:00+00:00"
        }
    ]
 }


Если переданы параметры page и count, то к стандартному ответу добавится 2 поля: CurrentPage - номер текущей страницы и TotalPage - общее число страниц, рассчитанное с учетом текущего количества элементов на ней

Пример ответа метода с постраничкой в формате JSON
{
  "currentPage": 2,
  "totalPage": 163,
  "items": [
    {
      "lpu_code": "777777",
	  "uchastok": {
                "name": "5-й Терапевтический",
                "code": "5-Тер ",
                "docPrvd": "4f66cbf0-9221-4a6d-a6ec-41d9b96ae179"
      },
      "lpu": {
        "guid": "a7f391d4-d5d8-44d5-a770-f7b527bb1233",
        "name": "Стенд ЕМИАС МО",
        "address": "Московская область, г. Неизвестный, ул. Светлая, д. 5",
        "phone": "",
        "mcod": "777777"
      },
      "doctors": [
        {
          "separation": "Диспансеризация",
          "rating": "",
          "photo": "/photo/doc/ffc56ba8-f357-4de2-833f-dd117a23d4c7.png",
          "equipment": null,
          "lpu": null,
          "schedule": [
            {
              "date": "2019-01-29T00:00:00",
              "time_from": "07:00",
              "time_to": "20:00",
              "docBusyType": {
                "name": "Диспансеризация",
                "type": 1,
                "code": "206"
              },
              "count_tickets": 5
            },
            {
              "date": "2019-01-30T00:00:00",
              "time_from": "07:00",
              "time_to": "20:00",
              "docBusyType": {
                "name": "Диспансеризация",
                "type": 1,
                "code": "206"
              },
              "count_tickets": 52
            },
            {
              "date": "2019-01-31T00:00:00",
              "time_from": "07:00",
              "time_to": "20:00",
              "docBusyType": {
                "name": "Диспансеризация",
                "type": 1,
                "code": "206"
              },
              "count_tickets": 52
            }
          ],
          "id": "a7f391d4-d5d8-44d5-a770-f7b527bb12330b58bf2f-b6ff-423e-bff8-018953417c50",
          "displayName": "Ай Бо Лит",
          "person_id": "ffc56ba8-f357-4de2-833f-dd117a23d4c7",
          "lpu_code": "777777",
          "type": 1,
          "type_name": "Врач",
          "name": "Бо",
          "family": "Ай",
          "surname": "Лит",
          "position": "Терапевты",
          "department": "12100",
          "room": "407",
		  "snils": "123-456-555 44",
          "birthday": "2020-12-08T13:44:24+00:00"
        }
      ]
    },
    {
          "schedule": [
            {
              "date": "2021-09-17T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 28
            },
            {
              "date": "2021-09-18T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "14:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 28
            },
            {
              "date": "2021-09-19T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "14:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 28
            },
            {
              "date": "2021-09-20T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-21T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 45
            },
            {
              "date": "2021-09-22T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-23T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 48
            },
            {
              "date": "2021-09-24T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-25T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "14:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 29
            },
            {
              "date": "2021-09-26T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "14:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 30
            },
            {
              "date": "2021-09-27T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-28T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 48
            },
            {
              "date": "2021-09-29T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 47
            },
            {
              "date": "2021-09-30T00:00:00+03:00",
              "time_from": "09:00",
              "time_to": "18:00",
              "docBusyType": {
                "name": "Прием по очереди",
                "type": 1,
                "code": "4"
              },
              "count_tickets": 48
            }
          ],
          "separation": "Кабинет вакцинопрофилактики от новой коронавирусной инфекции (COVID-19) (П5)",
          "rating": "",
          "photo": "/photo/doc/00000000-0000-0000-0000-000000000000.png",
          "equipment": null,
          "lpu": null,
          "id": "50f83f9f-2a23-468c-b330-b71c09cd36563500b6e3-4fb2-4202-b3c9-3161290bb83a",
          "displayName": "Кабинет (2 этап) Кабинет вакцинации от COVID-19 (П5)",
          "person_id": "",
          "lpu_code": "010109",
          "type": 2,
          "type_name": "Кабинет",
          "name": "",
          "family": "",
          "surname": "",
          "position": "Кабинет вакцинопрофилактики от COVID-19 (П5)",
          "department": "b04.014.004",
          "room": "(2 этап) Кабинет вакцинации от COVID-19 (П5)",
          "isWaitingList": false,
          "isSpecial": false,
          "snils": "123-456-555 44",
          "birthday": "2020-12-08T13:44:24+00:00"
        }
      ]
}


В случае возникновения ошибок будет возвращен стандартный ответ сервера.



  • Нет меток