Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

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

Оглавление

Запрос

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

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

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

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

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

ПараметрТипТип данныхОписаниеПо умолчаниюОбязательныйКомментарий
ScheduleDateFromqueryDateTime в формате ГГГГ-ММ-ДДДата начала расписанияСегодня-
ScheduleDateToqueryDateTime в формате ГГГГ-ММ-ДДДата окончания расписанияСегодня + дней из настройки ScheduleDays-
FromDocPrvdGuidqueryGuidГуид направляющего ресурса(врача) 
-При отсутствии этого параметра не вычисляются QuotaStatus, IsHavingRoute, IsRouting. См. описание полей в теле. 
FromLpuMcodquerystringМкод подразделения направляющего ресурса(врача)
-Для Стенда особая логика. Если мкод входит в список подразделения стенда, то обращаемся к БД Стенда.
PRVSCodequerystringКод специальности направления (по которой консультирует принимающая МО)
-При отсутствии этого параметра не вычисляются IsHavingRoute, IsRouting, RouteConsultationAttribute. См. описание полей в теле. 
MKBCodequerystringКод диагноза направления (по которому консультирует принимающая МО)
-При отсутствии этого параметра не вычисляются IsHavingRoute, IsRouting, RouteConsultationAttribute. См. описание полей в теле. 
IsRoutingqueryboolФильтр по наличию критерия маршрутизации подходящего по запросу
-Игнорируется если не переданы необходимые параметры и критерии не вычисляются.
SearchquerystringСтрока поиска. Поиск производится по имени, адресу и адресумкод.
-
HaveSchedulequeryboolВозвращать только с расписаниемfalse-
PageSizequeryintРазмер страницы10-
PageNumberqueryintНомер страницы1-
ConnectionNamequerystringИмя подключения к БДcodiemk-Нужно для того чтобы иметь возможность запрашивать данные не только из ЦОД ИЭМК. Для Стенда

...

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

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

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

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

...

ПолеТип данныхОписаниеКомментарий
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Статус квоты

Вычисляется только если передан FromDocPrvdGuid.

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

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

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

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

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

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

Вычисляется только если переданы параметры FromDocPrvdGuid, PRVSCode, MKBCode.

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

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

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

Вычисляется только если переданы параметры FromDocPrvdGuid, PRVSCode, MKBCode.

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

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

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

Вычисляется только если переданы параметры FromDocPrvdGuid, PRVSCode, MKBCode.

...