Получение списка ЛПУ, доступных для записи для отображения на портале РПГУ и в Колл-Центре.
Получение этого списка происходит через метод из апи для рпгу 2.7. Авторизация(описать). Этот метод, в свою очередь использует метод Получение информации о прикреплениях пациента
Список карт пациента вместе с гуидами лпу(LpuMkab) получается из МИПа(cod_person) gпо идентификатору пациента(PersonGuid) с помощью запроса:
Блок кода | ||||
---|---|---|---|---|
| ||||
declare @@docmkab int = (select mn_DocLPUID from oms_mn_DocLPU with(nolock) where Code = '1')
select j.SourceGuid as [Mkab],
lpu.GUIDLPU as [Lpu],
per.BithDayDate as [BD],
sex.CODE as [Gender],
per.polis_number as [N_pol],
per.polis_series as [S_pol],
per.Surname as [Family],
per.Name as [Name],
per.Patronymic as [Patronymic],
per.RegAddress_Str as [RegAddress],
per.LiveAddress_Str as [LiveAddress],
per.PhoneM as [Phone]
from oms_mn_Journal j with (NOLOCK)
join oms_LPU lpu with (NOLOCK) on lpu.LPUID = j.rf_LPUID
join oms_mn_Person per with (nolock) on per.mn_PersonID = j.rf_mn_PersonID
join oms_kl_Sex sex with(nolock) on sex.kl_SexID = per.rf_kl_SexID
where per.PersonGUID in (@0) -- идентификатор пациента
and rf_mn_DocLPUID = @@docmkab
and lpu.DATE_E > getdate() |
После получения из списка убираются закрытые карты(проверка в том же cod_person)
Блок кода | ||||
---|---|---|---|---|
| ||||
select
UGUID as [MkabGuid],
isClosed as [isClosed]
from hlt_MKAB with(nolock)
where uguid in (@0) --Найденные карты |
Формирование списка ЛПУ
- Сначала из списка всех незакрытых ЛПУ выбираются те, в которых у пациента есть карта.
- Для этих ЛПУ определяются их головные учреждения.
- Затем из списка всех ЛПУ берутся все подразделения этих головных учреждений
- Из полученного списка убираются все ЛПУ без расписания(Флаг HaveSchedule = false в методе Cписок ЛПУ или Получение информации о конкретной ЛПУ)
- Из полученного списка убираются все ЛПУ неактивные(Флаг IsActive = false в методе Cписок ЛПУ или Получение информации о конкретной ЛПУ). Берется из характеристики "Портал самозаписи: выводить на сайт самозаписи"
- Далее фильтруем полученные ЛПУ по полу и возрасту
- У взрослых отфильтруем детские (те, у которых есть только 1 категория обслуживания - Дети)
- У детей отфильтруем строго взрослые (категория обслуживания - Взрослые трудоспособного возраста / Пожилые и нет Дети / Все возрастные категории)
- Не показываем женские консультации мужчинам
- У взрослых отфильтруем детские (те, у которых есть только 1 категория обслуживания - Дети)
- Добавляем ЛПУ с участком (если такой есть), если вдруг ее отсеяли на предыдущих шагах.