with params as(
	select
		cast($1 as bigint) as p_lpu_id,
		$2 as p_lpufilialslist,
		cast($3 as timestamp) as p_begdate,
		cast($4 as timestamp) as p_enddate
),

rd as(
	select
		row_num,
		row_num_text,
		diag_from,
		diag_to,
		diag_text,
		row_text
	from(values
		(0, '1.0', 'A00.', 'T98.9', 'A00-T98', 'Всего'),
		(1, '2.0', 'A00.', 'B99.9', 'A00-B99', 'в том числе:некоторые инфекционные и паразитарные болезни'),
		(2, '2.1', 'A00.', 'A09.9', 'A00-A09', 'из них:кишечные инфекции'),
		(3, '2.2', 'A15.', 'A16.9', 'A15-A16, A19', 'туберкулез органов дыхания'),
		(3, '2.2', 'A19.', 'A19.9', 'A15-A16, A19', 'туберкулез органов дыхания'),
		(4, '2.3', 'A40.', 'A41.9', 'A40-A41', 'сепсис'),
		(5, '2.4', 'B15.', 'B19.9', 'B15-B19', 'вирусный гепатит'),
		(6, '3.0', 'C00.', 'D48.9', 'C00-D48', 'Новообразования'),
		(7, '3.1', 'C00.', 'C97.9', 'C00-C97', 'из них:злокачественные новообразования (включая новообразования лимфатической и кроветворной ткани)'),
		(8, '4.0', 'D50.', 'D89.9', 'D50-D89', 'Болезни крови, кроветворных органов и отдельные нарушения, вовлекающие иммунный механизм'),
		(9, '4.1', 'D50.', 'D64.9', 'D50-D64', 'из них:анемия'),
		(10, '4.2', 'D65.', 'D68.9', 'D65-D68', 'нарушения свертываемости крови'),
		(11, '4.2.1', 'D65.', 'D65.9', 'D65', 'из них: диссеминированное внутрисосудистое свертывание (синдром дефибринации)'),
		(12, '4.3', 'D80.', 'D89.9', 'D80-D89', 'отдельные нарушения, вовлекающие иммунный механизм'),
		(13, '5.0', 'E00.', 'E90.9', 'E00-E90', 'Болезни эндокринной системы,расстройства питания и нарушения обмена веществ'),
		(14, '5.1', 'E05.', 'E05.9', 'E05', 'из них:тиреотоксикоз (гипертиреоз)'),
		(15, '5.2', 'E10.', 'E14.9', 'E10-E14', 'сахарный диабет'),
		(16, '5.2.1', 'E10.', 'E10.9', 'E10', 'в том числе:сахарный диабет инсулинзависимый'),
		(17, '5.2.2', 'E11.', 'E11.9', 'E11', 'сахарный диабет инсулиннезависимый'),
		(18, '5.3', 'E66.', 'E66.9', 'E66', 'ожирение'),
		(19, '6.0', 'F00.', 'F99.9', 'F00-F99', 'Психические расстройства и расстройства поведения'),
		(20, '7.0', 'G00.', 'G99.9', 'G00-G99', 'Болезни нервной системы'),
		(21, '7.1', 'G45.', 'G45.9', 'G45', 'из них:преходящие транзиторные церебральные ишемические приступы (атаки) и родственные состояния'),
		(22, '7.2', 'G50.', 'G72.9', 'G50-G72', 'болезни периферической нервной системы'),
		(23, '7.3', 'G80.', 'G80.9', 'G80', 'детский церебральный паралич'),
		(24, '8.0', 'H00.', 'H59.9', 'H00-H59', 'Болезни глаза и его придаточного аппарата'),
		(25, '8.1', 'H25.', 'H26.9', 'H25-H26', 'из них: катаракта'),
		(26, '8.2', 'H40.', 'H40.9', 'H40', 'глаукома'),
		(27, '9.0', 'H60.', 'H95.9', 'H60-H95', 'Болезни уха и сосцевидного отростка'),
		(28, '10.0', 'I00.', 'I99.9', 'I00-I99', 'Болезни системы кровообращения'),
		(29, '10.1', 'I00.', 'I02.9', 'I00-I02', 'из них:острая ревматическая лихорадка'),
		(30, '10.2', 'I05.', 'I09.9', 'I05-I09', 'хронические ревматические болезни сердца'),
		(31, '10.3', 'I10.', 'I13.9', 'I10-I13', 'болезни, характеризующиеся повышенным кровяным давлением'),
		(32, '10.4', 'I20.', 'I20.9', 'I20', 'стенокардия'),
		(33, '10.5', 'I21.', 'I23.9', 'I21-I23', 'острый инфаркт миокарда'),
		(34, '10.6', 'I24.', 'I24.9', 'I24', 'другие формы острой ишемической болезни сердца'),
		(35, '10.7', 'I25.', 'I25.9', 'I25', 'хроническая ишемическая болезнь сердца'),
		(36, '10.8', 'I60.', 'I69.9', 'I60-I69', 'цереброваскулярные болезни'),
		(37, '10.9', 'I60.', 'I60.9', 'I60', 'из них:субарахноидальное кровоизлияние'),
		(38, '10.10', 'I61.', 'I61.9', 'I61, I62', 'внутримозговые и другие внутричерепные кровоизлияния'),
		(38, '10.10', 'I62.', 'I62.9', 'I61, I62', 'внутримозговые и другие внутричерепные кровоизлияния'),
		(39, '10.11', 'I63.', 'I63.9', 'I63', 'инфаркт мозга'),
		(40, '10.12', 'I64.', 'I64.9', 'I64', 'инсульт неуточненный, как кровоизлияние или инфаркт'),
		(41, '10.13', 'I65.', 'I65.9', 'I65, I66, I67.0-I67.1, I67.3-I67.9', 'закупорка и стеноз прецеребральных, церебральных артерий,  другие цереброваскулярные болезни'),
		(41, '10.13', 'I66.', 'I66.9', 'I65, I66, I67.0-I67.1, I67.3-I67.9', 'закупорка и стеноз прецеребральных, церебральных артерий,  другие цереброваскулярные болезни'),
		(41, '10.13', 'I67.', 'I67.1', 'I65, I66, I67.0-I67.1, I67.3-I67.9', 'закупорка и стеноз прецеребральных, церебральных артерий,  другие цереброваскулярные болезни'),
		(41, '10.13', 'I67.3', 'I67.9', 'I65, I66, I67.0-I67.1, I67.3-I67.9', 'закупорка и стеноз прецеребральных, церебральных артерий,  другие цереброваскулярные болезни'),
		(42, '10.14', 'I67.2', 'I67.2', 'I67.2', 'церебральный атеросклероз'),
		(43, '11.0', 'J00.', 'J99.9', 'J00-J99', 'Болезни органов дыхания'),
		(44, '11.1', 'J00.', 'J06.9', 'J00-J06, J20-J22', 'из них:острые респираторные инфекции'),
		(44, '11.1', 'J20.', 'J22.9', 'J00-J06, J20-J22', 'из них:острые респираторные инфекции'),
		(45, '11.2', 'J12.', 'J18.9', 'J12-J18', 'пневмония'),
		(46, '11.3', 'J40.', 'J43.9', 'J40-J43', 'бронхит хронический и неуточненный, эмфизема'),
		(47, '11.4', 'J44.', 'J44.9', 'J44, J47', 'другая хроническая обструктивная легочная болезнь, бронхоэктатическая болезнь'),
		(47, '11.4', 'J47.', 'J47.9', 'J44, J47', 'другая хроническая обструктивная легочная болезнь, бронхоэктатическая болезнь'),
		(48, '11.5', 'J45.', 'J45.9', 'J45, J46', 'астма; астматический статус'),
		(48, '11.5', 'J46.', 'J46.9', 'J45, J46', 'астма; астматический статус'),
		(49, '11.6', 'J84.', 'J94.9', 'J84-J94', 'интерстициальные, гнойные легочные болезни, другие болезни плевры'),
		(50, '12.0', 'K00.', 'K93.9', 'K00-K93', 'Болезни органов пищеварения'),
		(51, '12.1', 'K25.', 'K26.9', 'K25-K26', 'из них:язва желудка и двенадцатиперстной кишки'),
		(52, '12.2', 'K29.', 'K29.9', 'K29', 'гастрит и дуоденит'),
		(53, '12.3', 'K50.', 'K52.9', 'K50-K52, K55-K59', 'неинфекционный энтерит и колит, другие болезни кишечника'),
		(53, '12.3', 'K55.', 'K59.9', 'K50-K52, K55-K59', 'неинфекционный энтерит и колит, другие болезни кишечника'),
		(54, '12.4', 'K70.', 'K76.9', 'K70-K76', 'болезни печени'),
		(55, '12.5', 'K80.', 'K83.0', 'K80-K83.0', 'болезни желчного пузыря, желчевыводящих путей'),
		(56, '13.0', 'L00.', 'L99.9', 'L00-L99', 'Болезни кожи и подкожной клетчатки'),
		(57, '14.0', 'M00.', 'M99.9', 'M00-M99', 'Болезни костно-мышечной системы и соединительной ткани'),
		(58, '14.1', 'M02.', 'M02.9', 'M02', 'из них: реактивные артропатии'),
		(59, '14.2', 'M05.', 'M06.9', 'M05-M06', 'серопозитивный и другие ревматоидные артриты'),
		(60, '14.3', 'M08.', 'M08.9', 'M08', 'юношеский (ювенильный) артрит'),
		(61, '14.4', 'M30.', 'M35.9', 'M30-M35', 'системные поражения соединительной ткани'),
		(62, '14.5', 'M45.', 'M45.9', 'M45', 'анкилозирующий спондилит'),
		(63, '15.0', 'N00.', 'N99.9', 'N00-N99', 'Болезни мочеполовой системы'),
		(64, '15.1', 'N00.', 'N19.9', 'N00-N19, N25-N28', 'из них:гломерулярные, тубулоинтерстициальные болезни почек почечная недостаточность и другие болезни почки и мочеточника'),
		(64, '15.1', 'N25.', 'N28.9', 'N00-N19, N25-N28', 'из них:гломерулярные, тубулоинтерстициальные болезни почек почечная недостаточность и другие болезни почки и мочеточника'),
		(65, '15.2', 'N20.', 'N23.9', 'N20-N23', 'мочекаменная болезнь'),
		(66, '15.3', 'N40.', 'N42.9', 'N40-N42', 'болезни предстательной железы'),
		(67, '16.0', 'O00.', 'O99.9', 'O00-O99', 'Беременность, роды и послеродовой период'),
		(68, '17.0', 'P00.', 'P96.9', 'P00-P96', 'Отдельные состояния, возникающие в перинатальном периоде'),
		(69, '18.0', 'Q00.', 'Q99.9', 'Q00-Q99', 'Врожденные аномалии, пороки развития, деформации и хромосомные нарушения'),
		(70, '19.0', 'R00.', 'R99.9', 'R00-R99', 'Симптомы, признаки и оклонения от нормы, выявленные при клинических и лабораторных исследованиях, не классифицированные в других рубриках'),
		(71, '20.0', 'S00.', 'T98.9', 'S00-T98', 'Травмы, отравления и некоторые другие последствия воздействия внешних причин'),
		(72, '20.1', 'S02.', 'S02.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'S12.', 'S12.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'S22.', 'S22.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'S32.', 'S32.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'S42.', 'S42.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'S52.', 'S52.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'S62.', 'S62.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'S72.', 'S72.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'S82.', 'S82.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'S92.', 'S92.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'T02.', 'T02.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'T08.', 'T08.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'T10.', 'T10.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'T12.', 'T12.9', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(72, '20.1', 'T14.2', 'T14.2', 'S02,S12,S22,S32,S42,S52,S62,S72,S82,S92,T02,T08,T10,T12,T14.2', 'из них:переломы'),
		(73, '20.2', 'T20.', 'T32.9', 'T20-T32', 'термические и химические ожоги'),
		(74, '20.3', 'T36.', 'T65.9', 'T36-T65', 'отравления лекарственными средствами, медикаментами и биологическими веществами, токсическое действие веществ преимущественно немедицинского назначения'),
		(75, '21.0', 'Z00.', 'Z99.9', 'Z00-Z99', 'Кроме того:факторы, влияющие на состояние здоровья и обращения в учреждения здравоохранения'),
		(76, '21.1', 'Z22.', 'Z22.9', 'Z22', 'из них:носители инфекционных заболеваний')
	) as tablest(row_num, row_num_text, diag_from, diag_to, diag_text, row_text)
),

Lpu_W as(
	select
		L.Lpu_id,
		case
			when Org.Okfs_id between 1 and 4 then 'GOS' -- 10. РОССИЙСКАЯ СОБСТВЕННОСТЬ, 11. Государственная собственность, 12. Федеральная собственность, 13. Собственность субъектов Российской Федерации
			when Org.Okfs_id = 5 then 'MUN' -- 14. Муниципальная собственность
			end as lpu_type,
		params.*
	from params
		inner join v_Lpu as L on L.Lpu_id = p_Lpu_id 
			or p_Lpu_id is null and coalesce(L.Lpu_Istest, 1) = 1
			or L.Lpu_pid = p_Lpu_id
		inner join dbo.Org on Org.Org_id = L.Org_id
	where L.Lpu_begDate <= p_EndDate + interval '1 day'
		and coalesce(L.Lpu_endDate, p_BegDate) >= p_BegDate
),

eps as(
	select 
		rd.row_num,
		count(distinct
			case
				when sub.is_not_die = 2
					then eps.Person_id end) as v4,
		count(distinct
			case
				when sub.is_not_die = 2 and sub.age between 0 and 17
					then eps.Person_id end) as v5,
		count(distinct
			case
				when sub.is_not_die = 2 and L.lpu_type = 'GOS' 
					then eps.Person_id end) as v6,
		count(distinct
			case
				when sub.is_not_die = 2 and sub.age between 0 and 17 and L.lpu_type = 'GOS'
					then eps.Person_id end) as v7,
		count(distinct
			case
				when sub.is_not_die = 2 and L.lpu_type = 'MUN'
					then eps.Person_id end) as v8,
		count(distinct
			case
				when sub.is_not_die = 2 and sub.age between 0 and 17 and L.lpu_type = 'MUN'
					then eps.Person_id end) as v9,

		sum(
			case
				when sub.is_not_die = 2
					then sub.day_cnt end) as v10, 
		sum(
			case
				when sub.is_not_die = 2 and sub.age between 0 and 17
					then sub.day_cnt end) as v11,
		sum(
			case
				when sub.is_not_die = 2 and L.lpu_type = 'GOS' 
					then sub.day_cnt end) as v12, 
		sum(
			case
				when sub.is_not_die = 2 and sub.age between 0 and 17 and L.lpu_type = 'GOS' 
					then sub.day_cnt end) as v13, 
		sum(
			case
				when sub.is_not_die = 2 and L.lpu_type = 'MUN' 
					then sub.day_cnt end) as v14, 
		sum(
			case
				when sub.is_not_die = 2 and sub.age between 0 and 17 and L.lpu_type = 'MUN'
					then sub.day_cnt end) as v15, 

		count(distinct
			case
				when sub.is_die = 2
					then eps.EvnPS_id end) as v16,
		count(distinct
			case
				when sub.is_die = 2 and sub.age between 0 and 17 
					then eps.EvnPS_id end) as v17,
		count(distinct
			case
				when sub.is_die = 2 and L.lpu_type = 'GOS' 
					then eps.EvnPS_id end) as v18,
		count(distinct
			case
				when sub.is_die = 2 and sub.age between 0 and 17 and L.lpu_type = 'GOS'
					then eps.EvnPS_id end) as v19,
		count(distinct
			case
				when sub.is_die = 2 and L.lpu_type = 'MUN'
					then eps.EvnPS_id end) as v20,
		count(distinct
			case
				when sub.is_die = 2 and sub.age between 0 and 17 and L.lpu_type = 'MUN'
					then eps.EvnPS_id end) as v21
	from lpu_w as L
		inner join v_EvnSection as es on es.Lpu_id = L.Lpu_id
		inner join v_EvnPS as eps on eps.EvnPS_id = es.EvnSection_pid
		inner join LeaveType as lt on lt.LeaveType_id = es.LeaveType_id
		inner join v_LpuSection as ls on ls.LpuSection_id = es.LpuSection_id
		inner join v_LpuUnit as lu on lu.LpuUnit_id = ls.LpuUnit_id
		inner join v_LpuBuilding as lb on lb.LpuBuilding_id = ls.LpuBuilding_id
		inner join v_Personstate as ps on ps.Person_id = eps.Person_id
		inner join v_Nationalitystatus as ns on ns.Nationalitystatus_id = ps.Nationalitystatus_id
		inner join Diag as d on d.Diag_id = es.Diag_id 
		left join v_EvnDie as ed on ed.EvnDie_rid = eps.EvnPS_id
		left join Diag as da on da.Diag_id = ed.Diag_aid
		left join lateral(
			select
				date_part('year', age(eps.EvnPS_setDate, ps.Person_BirthDay)) as age,
				case
					when lt.LeaveType_sysnIck in ('die','psumer','ksdie','dsdie','kslet','ksletitar','die')
						then 2
					end as is_die,
				case
					when lt.LeaveType_sysnIck in ('leave','ksleave','dsleave','pszav','psiniclpu','ksiniclpu',
							'dsiniclpu','psinicpac','dsinicpac','ksprerv','kskar','dskar','ksprot','ksinicpac',
							'dsprerv','leave','dstac','kstac','iniclpu','inicpac','prerv')
						then 2
					end as is_not_die,
				datediff('day', eps.EvnPS_setDate, eps.EvnPS_disDate)
					+ abs(sign(datediff('day', eps.EvnPS_setDate, eps.EvnPS_disDate)) - 1) -- круглосуточные 
					as day_cnt
		)sub on true
		inner join rd on coalesce(da.Diag_Code, d.Diag_Code) between rd.diag_from and rd.diag_to
	where true
		and es.EvnSection_disDt between p_BegDate and p_EndDate + interval '1 day' - interval '1 minute'
		and es.EvnSection_Index = es.EvnSection_Count - 1
		and coalesce(es.EvnSection_IsPriem, 1) = 1
		and eps.EvnPS_disDate is not null 
		and lu.LpuUnitType_Sysnick = 'stac'
		and(lb.LpuFilial_id = any(('{'||p_LpuFilialsList||'')::int8[]) or coalesce(p_LpuFilialsList, '') = '')
		and coalesce(ps.Person_deadDT, ps.Person_closeDT, p_BegDate) >= p_BegDate
		and ns.KLCountry_id = 112 -- Беларусь
	group by rd.row_num
)

select
	rd.row_num,
	rd.row_text as v1,
	rd.row_num_text as v2,
	diag_text as v3,
	coalesce(eps.v4,0) as v4,
	coalesce(eps.v5,0) as v5,
	coalesce(eps.v6,0) as v6,
	coalesce(eps.v7,0) as v7,
	coalesce(eps.v8,0) as v8,
	coalesce(eps.v9,0) as v9,
	coalesce(eps.v10,0) as v10,
	coalesce(eps.v11,0) as v11,
	coalesce(eps.v12,0) as v12,
	coalesce(eps.v13,0) as v13,
	coalesce(eps.v14,0) as v14,
	coalesce(eps.v15,0) as v15,
	coalesce(eps.v16,0) as v16,
	coalesce(eps.v17,0) as v17,
	coalesce(eps.v18,0) as v18,
	coalesce(eps.v19,0) as v19,
	coalesce(eps.v20,0) as v20,
	coalesce(eps.v21,0) as v21
from(
	select distinct
		rd.row_num,
		rd.row_text,
		rd.row_num_text,
		diag_text
	from rd
)rd
	left join eps on eps.row_num = rd.row_num
order by rd.row_num
