Всем привет!
Возможно кому-то пригодится, у кого база КПС САМСОН версии 14100 (ниже, возможно, тоже будет работать, не проверял) . Если кто-то обратил внимание, то после того, как начали по-новому создавать обращения, отчетные формы начали естественно выдавать не ту инфу которая нужна.
Скрипт затрагивает выгрузку информации о кол-ве амбулаторных посещений по врачам, отсеивая услуги "Обращение по поводу заболевания к врачу-....".
Выгрузка идет по след специальностям: терапевт, акушерка-смотрового кабинета, невролог, уролог, хирург, офтальмолог, отоларинголог, кардиолог, эндокринолог.
Скрипт работает на dbForge Studio for MySQL, для других сред нужно будет по необходимости подправлять синтаксис.
- Код: выделить все
SET@a='20150201'; /*Год,месяц,число*/
SET@b='20150228'; /*Год,месяц,число*/
SELECT s.Врач,s.Посещения
FROM
(SELECT
CONCAT(p.lastName,' ',p.firstName,' ',p.patrName) AS Врач,
COUNT(a.id) AS Посещения
FROM person p
INNER JOIN event e
ON p.id=e.setPerson_id
INNER JOIN action a
ON e.id=a.event_id
INNER JOIN actiontype a1
ON a1.id = a.actionType_id
WHERE e.eventType_id IN ('2','4')
AND a.actionType_id NOT IN ('52754','52759','52760','52761','52758','52757','52756','52755')
AND a1.code in ('В01.047.005','В01.047.006','В01.047.001','В01.047.002','В01.047.014','В01.047.018',
'В01.029.001','В01.029.002','В01.028.001','В01.028.002','В01.023.001','В01.023.002',
'В01.015.001','В01.015.002','В01.053.001','В01.053.002','В01.057.001','В01.057.002',
'В01.058.001','В01.058.002','В04.001.007')
AND e.setDate >= @a
AND e.setDate <= @b
GROUP BY Врач) s
UNION ALL
SELECT 'Всего', SUM(s1.Посещения)
FROM
(SELECT
CONCAT(p.lastName,' ',p.firstName,' ',p.patrName) AS Врач,
COUNT(a.id) AS Посещения
FROM person p
INNER JOIN event e
ON p.id=e.setPerson_id
INNER JOIN action a
ON e.id=a.event_id
INNER JOIN actiontype a1
ON a1.id = a.actionType_id
WHERE e.eventType_id IN ('2','4')
AND a.actionType_id NOT IN ('52754','52759','52760','52761','52758','52757','52756','52755')
AND a1.code in ('В01.047.005','В01.047.006','В01.047.001','В01.047.002','В01.047.014','В01.047.018',
'В01.029.001','В01.029.002','В01.028.001','В01.028.002','В01.023.001','В01.023.002',
'В01.015.001','В01.015.002','В01.053.001','В01.053.002','В01.057.001','В01.057.002',
'В01.058.001','В01.058.002','В04.001.007')
AND e.setDate >= @a
AND e.setDate <= @b
GROUP BY Врач) s1