Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 14 Следующий »

Метод, возвращающий расписание за промежуток дней.

Запрос

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

№1 . Получить расписание за промежуток дней по специальности

GET: {{url}}lpu/{{lpu}}/speciality/{specId}/schedule/{{dateFrom}}/{{dateTo}}

№2 . Получить расписание за промежуток дней по врачу

GET: {{url}}lpu/{{lpu}}/doctor/{{doctorGuid}}/schedule/{{dateFrom}}/{{dateTo}}

Заголовки запроса (определение прав по клиенту)

ЗаголовокЗначение (тип/формат значения)ОписаниеОбязательныйКомментарий
AuthorizationBearer {codToken} (без скобок и через пробел после Bearer)COD токен, полученный с помощью сервиса авторизации-Используется для фильтрации специальностей и ресурсов по полу/возрасту пациента и для получение прав доступа к ячейкам из клиентского приложения
AuthorizationBearer {lpuToken} (без скобок и через пробел после Bearer)LPU токен, полученный с помощью сервиса авторизации

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

ПараметрОписаниеПо умолчаниюОбязательныйКомментарий
lpuГуид ЛПУ-+
specIdId специальности-+
doctorGuidГуид врача-+
dateFrom

Дата начала поиска расписания

-+
dateTo

Дата конца поиска расписания

-+

Дополнительные параметры:

НаименованиеТип данныхОписаниеКомментарийЗначение по умолчанию
lpuGuidstringГуид ЛПУ

mcodstringМКОД ЛПУ

hostIdintИдентификатор хостаБудут возвращены все врачи, в рамках указанного хоста (одной бд или одной внешней МИС)
intimeboolПризнак приёма врачом по расписанию
true
restypestringТип ресурса

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

  • doctor - врач
  • room - кабинет
  • equipment - оборудование
  • all - все

Может быть указано несколько значений: restype=doctor&restype=room


specialitystringКод специальностиМожет быть указано несколько значений
positionstringКод должности

dateFromstringНачало периода расписания (дата)
Текущая дата
dateTostringКонец периода расписания (дата)

timeFromstringНачало периода расписания (время)

timeTostringКонец периода расписания (время)

emulateDayOffboolЭмулировать неприемные дни в расписании
true
examGuidstringГуид мероприятия диспансеризации

serviceGuidstringГуид услуги диспансеризации

haveScheduleboolТолько с расписаниемпри включённом параметре в выборку не попадут талоны, недоступные клиенту по правам доступа Описание прав клиентов. Права записи. Права расписанияfalse
directionTypestringТип направления
Должны передаваться только вместе
nomServiceCodestringКод мероприятия по направлению
byDirboolПризнак записи по направлениюАвтоматически проставляется если переданы параметры directionType и nomServiceCode. При byDir = true в счётчике талонов учитываются ячейки с типом Диагностика.
flacintПрава записиПозволяет производить расчёт счётчиков расписания в завимисости от прав доступа. Может быть указан явно, может быть проставлен в соответствии с правами пользователя из токена4 (Интернет)
dismissalboolВывести уволенных врачей
false
specialboolФильтр по признаку "Узкий специалист"По умолчанию выводятся все ресурсы по данному признаку. Фильтр позволяет показывать только узких или только общих специалистов.
busyTypestringФильтр по типам занятости

По умолчанию выводятся все типы, кроме "Прием на дому. Вызов на дом".

Может быть указано несколько значений


guidstringИдентификатор конкретного ресурса



Ответ сервера метода №1

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

Модель: Ресурс с расписанием за неделю(Краткий) - ShortResourceWeekly

Модель ресурса(врача) с расписанием сгруппированным по дням за неделю

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

Название

Тип данных

Описание

Комментарий
DocFiostringНазвание ресурса

В зависимости от тип ресурса принимает разные значения:

  • Врач - ФИО полностью
  • Кабинет - "Кабинет {{Номер}} (Этаж {{Этаж}})"
  • Оборудование - "Оборудование {{Название оборудования}}
DescriptionstringОписание ресурса

API-829 - Получение подробных данных проблемы... СТАТУС

DocGuidstring(Guid)Гуид ресурса
LastModifiedstring(DateTime)Время последнего обновления данных в оперативном хранилище
SnilsstringСНИЛС сотрудникаОтсутствует, если не заполнен и если у ресурса не привязан сотрудник
DoctorRolestringНазвание должности
DepartmentstringНазвание отделения
TypeintКод типа ресурса (1 - Врач, 2 - Кабинет, 3 - Оборудование)

API-885 - Получение подробных данных проблемы... СТАТУС

TypeNamestringНаименование типа ресурса

API-885 - Получение подробных данных проблемы... СТАТУС

RoomstringНомер кабинета
RoomCommentstringКомментарий к кабинету
UchastokstringНазвание участкаЕсли есть. Берется название первого незакрытого участка, в котором указан ресурс.
UchastokCodestringНомер(код) участка

API-825 - Получение подробных данных проблемы... СТАТУС

RatingstringЗначение рейтинга
VoteCountintКоличество оценок
ClosestEntryClosestEntryБлижайшая ячейка доступная для записи

Schedule

Array of WeeklyScheduleСписок расписания

Расписание за неделю

isWaitingList

boolПризнак возможности записи в лист ожидания


UchastokListArray of UchastokShortМассив участков ресурса(врача)


ClosestEntry

Название

Тип данных

Описание

Комментарий
TimeTableGuidstring(Guid)Гуид ячейки
BeginTimestring(DateTime)Время начала приема


Пример модели в формате JSON
{
  "docFio": "Диспансеризатов Диспар Диспартович",
  "description": "Описание",
  "docGuid": "f05d7650-a2a0-49dc-99f1-bb57829bc46a",
  "lastModified": "2019-06-26T09:51:41+03:00",
  "snils": "982-984-860 02",
  "doctorRole": "Терапевты",
  "department": "Кабинет врача-терапевта",
  "type": 1,
  "typeName": "Врач",
  "room": "202",
  "roomComment": "Какая то строка",
  "uchastok": null,
  "rating": null,
  "voteCount": 0,
  "isWaitingList": true,
  "closestEntry": {
    "timeTableGuid": "02690298-a3e5-4f58-b488-a64e419d5c41",
    "beginTime": "2019-04-10T11:15:00+03:00"
  },
  "schedule": [
    {
      "date": "2019-04-10T00:00:00+03:00",
      "beginTime": "07:00",
      "endTime": "18:00",
      "ticketCount": 44,
      "ticketsCanWrite": 27,
      "busyType": {
        "name": "Диспансеризация",
        "type": 1,
        "code": "206"
      }
    },
    {
      "date": "2019-04-11T00:00:00+03:00",
      "beginTime": "07:00",
      "endTime": "18:00",
      "ticketCount": 44,
      "ticketsCanWrite": 44,
      "busyType": {
        "name": "Диспансеризация",
        "type": 1,
        "code": "206"
      }
    },
    {
      "date": "2019-04-12T00:00:00+03:00",
      "beginTime": "07:00",
      "endTime": "18:00",
      "ticketCount": 44,
      "ticketsCanWrite": 44,
      "busyType": {
        "name": "Диспансеризация",
        "type": 1,
        "code": "206"
      }
    },
    {
      "date": "2019-04-13T00:00:00+03:00",
      "beginTime": "07:00",
      "endTime": "18:00",
      "ticketCount": 43,
      "ticketsCanWrite": 43,
      "busyType": {
        "name": "Диспансеризация",
        "type": 1,
        "code": "206"
      }
    },
    {
      "date": "2019-04-14T00:00:00+03:00",
      "beginTime": "07:00",
      "endTime": "18:00",
      "ticketCount": 44,
      "ticketsCanWrite": 44,
      "busyType": {
        "name": "Диспансеризация",
        "type": 1,
        "code": "206"
      }
    },
    {
      "date": "2019-04-15T00:00:00+03:00",
      "beginTime": "07:00",
      "endTime": "18:00",
      "ticketCount": 44,
      "ticketsCanWrite": 44,
      "busyType": {
        "name": "Диспансеризация",
        "type": 1,
        "code": "206"
      }
    },
    {
      "date": "2019-04-16T00:00:00+03:00",
      "beginTime": "07:00",
      "endTime": "18:00",
      "ticketCount": 44,
      "ticketsCanWrite": 44,
      "busyType": {
        "name": "Диспансеризация",
        "type": 1,
        "code": "206"
      }
    }
  ]
}

Ответ сервера метода №2

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

Модель: Ячейка расписания(Слот) - ExtendedSlot

Используется в Получить расписание за промежуток дней по врачу и Получение расписания за день

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

Название

Тип данных

Описание

Комментарий
statusstringСтатус доступности

Имеет ограниченный набор значений:

  • Unavailable - Недоступен
  • UnavailableWithMessage - Недоступно с сообщением API-763 - Получение подробных данных проблемы... СТАТУС

  • Available - Доступен
  • Unauthorized - Не хватает прав - Желтые ячейки
  • Expired - Время прошло
  • Booked - Занято

message API-763 - Получение подробных данных проблемы... СТАТУС

stringСообщение для отображенияОтображается при статусе UnavailableWithMessage
flagAccessstringДоступ к ячейке

Перечисление способов записи(прав) через запятую.

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

  • None - Пусто. Передается в случае отсутствия каких либо прав
  • Registry - регистратура
  • Doctor - Доктор
  • Internet - Интернет/Самозапись
  • DoctorOtherLpu - Врачи других ЛПУ/Сервис Врач-врач
openedboolПризнак открытия расписанияЯчейка была открыта через механизм Открытия ячеек расписания.
bookingSourcestringИсточник с которыми была произведена запись на ячейку

Будет заполнен только в статусе Booked - Занято и будет принимать одно из значений:

  • Internet - Интернет
  • Infomat - Инфомат
  • CallCenter - Колл-центр
  • Doctor - Доктор
  • DoctorOtherLpu - Врачи других ЛПУ/Сервис Врач-врач
  • Registry - Регистратура
bookingDatestring(DateTime)Дата и время последней записи на ячейку
connectionTypestringИсточник полученных записей

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

  • Sql - расписание получено через запрос от сервиса к бд ЛПУ по Sql
  • Http - расписание получено через взаимодействие с удаленным сервисом по http
countintСвободные записиСколько записей на прием одновременно возможно создать
planCountintЗапланированная вместимость ячейки

API-801 - Получение подробных данных проблемы... СТАТУС

usedCountintИспользованные записи ячейки

API-801 - Получение подробных данных проблемы... СТАТУС

guidstring(Guid)Идентификатор(Гуид) ячейки
beginTimestringВремя начала приемаФормат HH:mm
endTimestringВремя окончания приемаФормат HH:mm
canWriteboolПризнак доступности записиУстарел. Оставлен для обратной совместимости. Рекомендуется использовать status
busyTypeBusyTypeТип приема
doctorTimeTableIDintИдентификатор ячейки расписанияhlt_DoctorTimeTable.DoctorTimeTableID


BusyType

Название

Тип данных

Описание

Комментарий

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


Пример модели в формате JSON
{
  "status": "Expired",
  "flagAccess": "Registry, Doctor, Internet, DoctorOtherLpu, Infomat, CallCenter",
  "opened": false,
  "bookingSource": null,
  "bookingDate": null,
  "connectionType": "Sql",
  "count": 0,
  "planCount": 1,
  "usedCount": 0,
  "guid": "977c1ed9-cf0d-4f44-9b21-42e1a49269c8",
  "date": "2021-11-15T00:00:00+03:00",
  "beginTime": "05:00",
  "endTime": "05:15",
  "canWrite": false,
  "busyType": {
      "name": "Прием по очереди",
      "type": 1,
      "code": "4",
      "group": null
  }
}
//В задаче https://jira.softrust.ru/browse/API-3082 добавлено новое поле: "doctorTimeTableID":
{
        "status": "Expired",
        "flagAccess": "Registry, Doctor, Internet, DoctorOtherLpu, Infomat, CallCenter",
        "opened": false,
        "bookingSource": null,
        "bookingDate": null,
        "connectionType": "Sql",
        "count": 0,
        "planCount": 1,
        "usedCount": 0,
        "guid": "a94dc9f7-6f68-4ff2-be12-df4955e78ba6",
        "date": "2023-12-21T00:00:00+03:00",
        "beginTime": "21:45",
        "endTime": "22:00",
        "canWrite": false,
        "busyType": {
            "name": "Прием беременных",
            "type": 1,
            "code": "201",
            "group": null
        },
        "doctorTimeTableID": 6822373
    }


Возможные ошибки

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


  • Нет меток