...
5) Удаляем дубли направлений из списка
Получение списка врачей по направлению
Спецификация метода доступна по ссылке.
Внутренняя логика:
1) Валидация CodToken;
2) Получение списка LpuPrvd по направлению:
* Для directionType = "diagnostic" получение происходит следующим запросом в ЦОД:
Блок кода | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Select distinct prvd.GUID Prvd, lpu.GUIDLPU Lpu from hlt_DocPRVD prvd with (NOLOCK)
inner join hlt_DocPrvdNomService docnom with (NOLOCK) on docnom.rf_DocPRVDID = prvd.DocPRVDID
inner join oms_kl_NomService nom with (NOLOCK) on nom.kl_NomServiceID = docnom.rf_kl_NomServiceID
inner join oms_Department dep with (NOLOCK) on rf_DepartmentID = DepartmentID
inner join oms_Lpu lpu with (NOLOCK) on lpu.LpuID = dep.rf_LPUID
where nom.CODE = '{0}' |
* При остальных типах получение происходит следующим запросом в ЦОД:
Блок кода | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Select distinct prvd.GUID Prvd, lpu.GUIDLPU Lpu from hlt_DocPRVD prvd with (NOLOCK)
inner join oms_PRVS prvs with (NOLOCK) on prvd.rf_PRVSID = prvs.PRVSID
inner join oms_Department dep with (NOLOCK) on rf_DepartmentID = DepartmentID
inner join oms_Lpu lpu with (NOLOCK) on lpu.LpuID = dep.rf_LPUID
where prvs.C_PRVS = '{0}' |
3) Получаем список подразделений ЛПУ по гуиду следующим запросом:
Блок кода | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
SELECT
distinct
lpu.GUIDLPU as [LpuGuid],
case
when lpu.HostID != 0
then lpu.HostID
else lpuWithHostOrChild.HostID
end as [HostId]
FROM oms_LPU lpu with (NOLOCK)
LEFT JOIN oms_LPU lpuWithHostOrChild with (NOLOCK) on lpu.rf_MainLPUID = lpuWithHostOrChild.LPUID
WHERE lpu.DATE_E > getdate() |