Отличается от Список ЛПУ. Поиск ЛПУ. Получение списка ЛПУ по фильтру тем что получает данные по ЛПУ из БД. Вычисляет статус по квотам и наличие критериев маршрутизации.

Запрос

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

GET: {url}/api/v2/lpu/short

Получение ЛПУ по гуиду

GET: {url}/api/v2/lpu/short/{lpuGuid}

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

ПараметрТипТип данныхОписаниеПо умолчаниюОбязательныйКомментарий
UseQuotaqueryboolВключение получения квотfalse-
UseRoutequeryboolВключение получения критериев маршрутизацииfalse-
ScheduleDateFromqueryDateTime в формате ГГГГ-ММ-ДДДата начала расписанияСегодня-Влияют только на расчет квот. Признак расписания считается по кэшу по датам по умолчанию
ScheduleDateToqueryDateTime в формате ГГГГ-ММ-ДДДата окончания расписанияСегодня + дней из настройки ScheduleDays-
FromDocPrvdGuidqueryGuidГуид направляющего ресурса(врача) 

+* если UseQuota или UseRoute = true


FromLpuMcodquerystringМкод подразделения направляющего ресурса(врача)
-Для Стенда особая логика. Если мкод входит в список подразделения стенда, то обращаемся к БД Стенда.
PRVSCodequerystringКод специальности направления (по которой консультирует принимающая МО)
+* если UseRoute = true
MKBCodequerystringКод диагноза направления (по которому консультирует принимающая МО)
+* если UseRoute = true
IsRoutingqueryboolФильтр по наличию критерия маршрутизации подходящего по запросу
-Игнорируется если не переданы необходимые параметры и критерии не вычисляются.
SearchquerystringСтрока поиска. Поиск производится по имени, адресу и мкод.
-
HaveSchedulequeryboolВозвращать только с расписаниемfalse-
PageSizequeryintРазмер страницы10-
PageNumberqueryintНомер страницы1-
ConnectionNamequerystringИмя подключения к БДcodiemk-Нужно для того чтобы иметь возможность запрашивать данные не только из ЦОД ИЭМК. Для Стенда

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

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

  • Для списка ЛПУ - постраничный ответ с массивом
  • Для получения ЛПУ по гуиду - просто модель ЛПУ - LpuShort. В случае если по гуиду не была найдена ЛПУ - ошибка  404 с сообщением "Информация об ЛПУ не найдена".

Постраничный ответ

ПолеТип данныхОписаниеКомментарий
currentPageintТекущая страница
totalPageintВсего страниц по выборке
totalCountintВсего записей по выборке
pageSizeintРазмер страницы
itemsМассив LpuShortСписок ЛПУ

Модель ЛПУ - LpuShort

Список отсортирован по приоритетам:

  • Признак наличия расписания HaveSchedule = true. Выше ЛПУ у которых есть расписание.
  • Статус квоты QuotaStatus != VisitDenied и QuotaStatus != CountQuotaEmpty. Выше ЛПУ у которых не запрещающий статус квот. Сортировка применяется только если квоты вычисляются.
  • Наличия критерия маршрутизации подходящего по запросу IsRouting = true. Выше ЛПУ у которых есть подходящий критерий. Если критерия нет(IsRouting = false), то выше выводим ЛПУ без характеристики "Выписка направления только по критериям маршрутизации" (RouteConsultationAttribute=false). Сортировка применяется только если критерии вычисляются.
  • Имя ЛПУ в алфавитном порядке Name.
ПолеТип данныхОписаниеКомментарий
IdIdИдентификатор
Guidstring(Guid)Гуид ЛПУ
McodstringМКОД
NamestringИмя ЛПУ

oms_lpu.m_names

ЛПУ с пустыми значениями в имени скрыты.

FullNamestringПолное имя ЛПУ

oms_lpu.m_namef

Поиск параметром Search по этому полю не осуществляется. 

AddressstringАдресЕсли есть ссылка на kla_Address и kla_Address.AddressString не пуст, то берем строку адреса из него. Иначе из oms_lpu.adres
PhonestringТелефонХарактеристика 2dr_phone Портал самозаписи: Телефон из Характеристики 2dr
OGRNstringОГРН
HostIDintИдентификатор хостаЕсли у ЛПУ он не указан, то выводим значение из головной ЛПУ.
Parent.Guidstring(Guid)Гуид головной ЛПУЕсли ЛПУ сама является головной, то в Parent будет она же.
Parent.NamestringИмя головной ЛПУ
HaveScheduleboolПризнак наличия расписания

Учитывается только расписание:

  • в рамках запрошенного периода(dtt.Begin_Time >= @ScheduleDateFrom and dtt.Begin_Time <= @ScheduleDateTo)
  • не прошедшее(Begin_Time > getdate())
  • свободное(dtt.PlanUE > dtt.UsedUE)
  • приемного типа(TypeBusy = 1)
  • не вне расписания(IsOutSchedule = 0)
  • не сломанное, то есть ячейки имеющие положительный счетчик вместимости(UsedUE >= 0)
  • у активных ресурсов(dprvd.D_END > GETDATE())
  • с признаком вывода в расписание(dprvd.InTime = 1)
  • ресурсы относящиеся к отделениям этого подразделения
QuotaStatusstringСтатус квоты

Вычисляется только если параметр UseQuota = true.

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

  • Empty - квоты отсутствуют. Запись разрешена.
  • Available - квоты есть, но по ним доступна запись. Запись разрешена.
  • VisitDenied - есть квоты с запретом записи. Запись не разрешена.
  • CountQuotaEmpty - есть истекшие квоты. Запись не разрешена.

Статус квот у ЛПУ складывается из статусов квот всех месяцев запрашиваемого периода.

Логика определения статуса квоты за месяц по порядку:
Если квот нет, то статус "Empty".
Если есть хотя бы одна запись с запретом, то статус "VisitDenied".
Если есть не истекшая квота, то статус "Available".
Если есть истекшая квота, то статус "CountQuotaEmpty".

Логика сложения статусов квот за месяц по порядку:
Если хотя бы у одного из месяцев статус "Empty", то для ЛПУ также статус "Empty".
Если хотя бы у одного из месяцев статус "Available", то для ЛПУ также статус "Available".
Если хотя бы у одного из месяцев статус "CountQuotaEmpty", то для ЛПУ также статус "CountQuotaEmpty".
Если у всех месяцев статус "VisitDenied", то для ЛПУ также статус "VisitDenied".

IsHavingRouteboolПризнак наличия критерия маршрутизации

Вычисляется только если параметр UseRoute = true.

Наличие критериев без привязки к МКБ и специальности.

Критерии отбираются по: 

  • ЮЛ подразделения stt_RouteCriteria.rf_LPUID
  • Статусу stt_RouteCriteria.IsActual = 1
  • Типу stt_RCType.Code = '2'
IsRoutingboolПризнак наличия критерия маршрутизации подходящего по запросу

Вычисляется только если параметр UseRoute = true.

Наличие критерия по МКБ и специальности консультирующей ЛПУ, и по ЮЛ и специальности направляющего врача.

Критерии отбираются по: 

  • всему перечисленному в IsHavingRoute
  • ЮЛ направляющего врача через stt_RouteLpu
  • Специальности направляющего врача через stt_RCSentPRVS
  • Специальности направления из PRVSCode через stt_RCHostPRVS
  • Диагноза направления из MKBCode через stt_RouteMKBToCriteria
RouteConsultationAttributeboolПризнак наличия характеристики  "Выписка направления только по критериям маршрутизации" 

Вычисляется только если параметр UseRoute = true.

AttributeМассив stringБулевые характеристики ЛПУ

Фильтра по ним не предусмотрено

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

Код ответа сервераКод сообщенияСообщениеТип ошибки

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

  • Нет меток