IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[SPUSS_KLINIKKALITESAYIBUL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1)
DROP PROCEDURE SPUSS_KLINIKKALITESAYIBUL
GO

CREATE PROCEDURE [dbo].[SPUSS_KLINIKKALITESAYIBUL]
    @SUBEID INT,
    @BASLANGICTARIHI DATETIME,
    @BITISTARIHI DATETIME,
    @TKLINIKKALITEKOD INT,
    @ISDAILY BIT
AS
BEGIN

    DECLARE @KLINIKKALITEADI VARCHAR(200)
    DECLARE @REFERANSVERI VARCHAR(200)

    SET @KLINIKKALITEADI = (SELECT KLINIKKALITEADI FROM TKLINIKKALITE WHERE KLINIKKALITEKOD=@TKLINIKKALITEKOD)
    SET @REFERANSVERI = (SELECT REFERANSVERI FROM TKLINIKKALITE WHERE KLINIKKALITEKOD=@TKLINIKKALITEKOD)


    IF @TKLINIKKALITEKOD =  15 --Hasta kabulü olan tekil başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU,COUNT(*) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
				AND KABULZAMANI < @BITISTARIHI
				AND SUBEID = @SUBEID
				AND UYGBOLUMKLINIKKODU IS NOT NULL
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)		  

    ELSE IF @TKLINIKKALITEKOD =  16 --Tanı bilgisi olan başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND EXISTS
					   (
						  SELECT ICDKOD
						  FROM HDOSYAICD
						  WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					   )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  17 --Hasta kabulü, tanısı, işlem bilgisi olan başvuru sayısı 

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND EXISTS
					   (
						  SELECT ICDKOD
						  FROM HDOSYAICD
						  WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					   )
			   AND EXISTS
					   (
						  SELECT HESAPISLID
						  FROM VWSNOMUAYENEISLEMLERI
						  WHERE HESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
								OR OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
					   )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  18 --Yatış Sayısı (Günübirlik hariç Yatışı olan başvuru sayısı)

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(*) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND MDLTEDAVITURU = 'Y'
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  19 --Günübirlik sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(*) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND MDLTEDAVITURU = 'G'
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  20 --Ayaktan Hasta Sayısı (Yatış kabul zamanı boş olan tekil başvuru sayısı)

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(*) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 0
			   AND MDLTEDAVITURU = 'A'
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  21 --Taburcu Sayısı (Yatan hasta çıkış sayısı)

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(*) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE CIKISZAMANI >= @BASLANGICTARIHI
			   AND CIKISZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND MDLTEDAVITURU = 'Y'
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  23 --HbA1c ölçümü yapılan tekil başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND VWSNOMUAYENEISLEMLERI.DURUM = 2
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  25 --HbA1c ölçümü tetkik sonucu 7 den küçük olanlar

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU , COUNT(DISTINCT VWSNOMUAYENEISLEMLERI.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
			  INNER JOIN VWTETKIK(NOLOCK) ON VWSNOMUAYENEISLEMLERI.HESAPISLID = VWTETKIK.HESAPISLID
			  INNER JOIN VWTETKIKTEST(NOLOCK) ON VWTETKIK.HTETKIKID = VWTETKIKTEST.HTETKIKID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND VWUSS_HASTABASVURU.SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND VWSNOMUAYENEISLEMLERI.DURUM = 2
			 AND TESTADI LIKE '%A1C%'
			 AND SONUCR < 7
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWUSS_HASTABASVURU.SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  26 --HbA1c ölçümü tetkik sonucu 7 - 9 arasında olanlar

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU , COUNT(DISTINCT VWSNOMUAYENEISLEMLERI.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
			  INNER JOIN VWTETKIK(NOLOCK) ON VWSNOMUAYENEISLEMLERI.HESAPISLID = VWTETKIK.HESAPISLID
			  INNER JOIN VWTETKIKTEST(NOLOCK) ON VWTETKIK.HTETKIKID = VWTETKIKTEST.HTETKIKID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND VWUSS_HASTABASVURU.SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND VWSNOMUAYENEISLEMLERI.DURUM = 2
			 AND TESTADI LIKE '%A1C%'
			 AND SONUCR >= 7
			 AND SONUCR <= 9
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWUSS_HASTABASVURU.SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  27 --HbA1c ölçümü tetkik sonucu 9 dan büyük olanlar

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU , COUNT(DISTINCT VWSNOMUAYENEISLEMLERI.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
			  INNER JOIN VWTETKIK(NOLOCK) ON VWSNOMUAYENEISLEMLERI.HESAPISLID = VWTETKIK.HESAPISLID
			  INNER JOIN VWTETKIKTEST(NOLOCK) ON VWTETKIK.HTETKIKID = VWTETKIKTEST.HTETKIKID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND VWUSS_HASTABASVURU.SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND VWSNOMUAYENEISLEMLERI.DURUM = 2
			 AND TESTADI LIKE '%A1C%'
			 AND SONUCR >= 9
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWUSS_HASTABASVURU.SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  29 --HbA1c ölçümü işlemine bağlı sonucu olan tetkik sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU , COUNT(DISTINCT VWSNOMUAYENEISLEMLERI.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
			  INNER JOIN VWTETKIK(NOLOCK) ON VWSNOMUAYENEISLEMLERI.HESAPISLID = VWTETKIK.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND VWUSS_HASTABASVURU.SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND VWSNOMUAYENEISLEMLERI.DURUM = 2
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWUSS_HASTABASVURU.SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  30 --LDLölçümü yapılan başvuru sayısı.

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND VWSNOMUAYENEISLEMLERI.DURUM = 2
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  31 --LDL ölçümü tetkik sonucu 100 dan küçük olanlar

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU , COUNT(DISTINCT VWSNOMUAYENEISLEMLERI.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
			  INNER JOIN VWTETKIK(NOLOCK) ON VWSNOMUAYENEISLEMLERI.HESAPISLID = VWTETKIK.HESAPISLID
			  INNER JOIN VWTETKIKTEST(NOLOCK) ON VWTETKIK.HTETKIKID = VWTETKIKTEST.HTETKIKID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND VWUSS_HASTABASVURU.SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND VWSNOMUAYENEISLEMLERI.DURUM = 2
			 AND TESTADI LIKE 'LDL%'
			 AND SONUCR < 100
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWUSS_HASTABASVURU.SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  33 --Koroner  kalp hastalığı tanısı ve anjiyografi işlemi olan başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  34 --Diz protezi işlemi olan başvuru sayısı.

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  36 --Hemogram işlemine bağlı tetkik sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU , COUNT(DISTINCT VWSNOMUAYENEISLEMLERI.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
			  INNER JOIN VWTETKIK(NOLOCK) ON VWSNOMUAYENEISLEMLERI.HESAPISLID = VWTETKIK.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND VWUSS_HASTABASVURU.SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 ) 
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWUSS_HASTABASVURU.SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  37 OR @TKLINIKKALITEKOD =  38 OR @TKLINIKKALITEKOD =  39 --37, // Normal Muayene İşlemi olan Başvuru Sayısı        38, // Acil Muayene İşlemi olan Başvuru Sayısı,       39: // Diş Muayene İşlemi olan Başvuru Sayısı,

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 0
			   AND REPLACE(SUTKODU, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 ) 
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   	   
    ELSE IF @TKLINIKKALITEKOD =  52 --Tetkik bilgisi olan laboratuvar işlemlerinin sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU , COUNT(DISTINCT VWSNOMUAYENEISLEMLERI.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
			  INNER JOIN VWTETKIK(NOLOCK) ON VWSNOMUAYENEISLEMLERI.HESAPISLID = VWTETKIK.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND VWUSS_HASTABASVURU.SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWUSS_HASTABASVURU.SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  53 --Tetkik sonuc bilgisi olan laboratuvar işlemlerinin sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU , COUNT(DISTINCT VWSNOMUAYENEISLEMLERI.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
			  INNER JOIN VWTETKIK(NOLOCK) ON VWSNOMUAYENEISLEMLERI.HESAPISLID = VWTETKIK.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND VWUSS_HASTABASVURU.SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND VWSNOMUAYENEISLEMLERI.DURUM = 2
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWUSS_HASTABASVURU.SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  54 --Reçete sayısı

		  SELECT MAX(KLINIKKODU) AS KLINIKKODU, COUNT(VWRECETE.HRECETEID) AS KLINIKKALITESAYI
		  FROM VWRECETE(NOLOCK)
			  INNER JOIN HMUAYENEISL ON HMUAYENEISL.HMUAYENEID = VWRECETE.HMUAYENEID
			  INNER JOIN HESAPISL ON HESAPISL.HESAPISLID = HMUAYENEISL.HESAPISLID
		  WHERE VWRECETE.HRECTARIH >= @BASLANGICTARIHI
			   AND VWRECETE.HRECTARIH < @BITISTARIHI
			   AND HESAPISL.IPTAL = 0
			   AND VWRECETE.SUBEID = @SUBEID
			   AND VWRECETE.KLINIKKODU IS NOT NULL
			   AND HMUAYENEISL.SNOTAKIPNO IS NOT NULL
			   AND EXISTS
			 (
				SELECT HRECETEISLID
				FROM HRECETEISL
				WHERE(HRECETEISL.HRECETEID = VWRECETE.HRECETEID)
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWRECETE.SUBEID ELSE KLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  55 --Reçete ilaç sayısı

		  SELECT MAX(KLINIKKODU) AS KLINIKKODU, COUNT(HRECETEISL.HRECETEISLID) AS KLINIKKALITESAYI
		  FROM VWRECETE(NOLOCK)
			  INNER JOIN HRECETEISL(NOLOCK) ON HRECETEISL.HRECETEID = VWRECETE.HRECETEID
			  INNER JOIN HMUAYENEISL ON HMUAYENEISL.HMUAYENEID = VWRECETE.HMUAYENEID
			  INNER JOIN HESAPISL ON HESAPISL.HESAPISLID = HMUAYENEISL.HESAPISLID
		  WHERE VWRECETE.HRECTARIH >= @BASLANGICTARIHI
			   AND VWRECETE.HRECTARIH < @BITISTARIHI
			   AND HESAPISL.IPTAL = 0
			   AND VWRECETE.SUBEID = @SUBEID
			   AND VWRECETE.KLINIKKODU IS NOT NULL
			   AND HMUAYENEISL.SNOTAKIPNO IS NOT NULL
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWRECETE.SUBEID ELSE KLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  58 --İskemik inme tanısı ile hastaneye yatırılan başvuru sayısı (18 yaş ve üstü)

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  59 --Trombolitik tedavi alan tüm iskemik inme tanısı ile hastaneye yatırılan sys

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND EXISTS
			 (
				SELECT VWSNOMUAYENEISLEMLERI.HESAPISLID
				FROM VWSNOMUAYENEISLEMLERI(NOLOCK)
				WHERE VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
					 AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 )
			 AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
   
    ELSE IF @TKLINIKKALITEKOD =  60 --İskemik inme tanısı ile hastaneye yatırılarak intraarteriel  girişimsel trombolitik tedavi veya trombektomi tedavi uygulanan 18 yaş üstü toplam hasta sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(*) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE ITARIH >= @BASLANGICTARIHI
			   AND ITARIH < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  61 --İskemik  inme tanısı ile taburcu olan veya trombektomi tedavi uygulanan 18 yaş üstü toplam tekil hasta sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE CIKISZAMANI >= @BASLANGICTARIHI
			   AND CIKISZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND EXISTS
			 (
				SELECT ICDKOD
				FROM YATHSTCIKISSEVKICD
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  62 --İnme tanısı alan 18 yaş üstü toplam yatış yapılan hasta sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   	   
    ELSE IF @TKLINIKKALITEKOD =  64 --Kolorektal kanser tanısı ile operasyon geçiren tekil başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE ITARIH >= @BASLANGICTARIHI
			   AND ITARIH < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   	   
    ELSE IF @TKLINIKKALITEKOD =  65 --Rektum kanser tanısı alan küretif rezeksiyon geçiren başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE ITARIH >= @BASLANGICTARIHI
			   AND ITARIH < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   	   
    ELSE IF @TKLINIKKALITEKOD =  66 --Üriner sistem şikayetleri ile gelen 50 yaş ve 80 yaş aralığındaki erkek hasta tekil başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
		  WHERE KABULZAMANI >= @BASLANGICTARIHI
			   AND KABULZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) BETWEEN 50 AND 80
			   AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE IF @TKLINIKKALITEKOD =  67 --Üriner sistem şikayeti tanısı almış hastalarda Total PSA değeri 2.5 ng/ml ve üzerinde olan toplam tekil hasta sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HKIMLIKID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
			  INNER JOIN VWTETKIK(NOLOCK) ON VWSNOMUAYENEISLEMLERI.HESAPISLID = VWTETKIK.HESAPISLID
			  INNER JOIN VWTETKIKTEST(NOLOCK) ON VWTETKIK.HTETKIKID = VWTETKIKTEST.HTETKIKID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND VWUSS_HASTABASVURU.SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND VWTETKIK.DURUM = 2
			 AND TESTADI LIKE '%PSA%'
			 AND SONUCR >= 2.5
			 AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN VWUSS_HASTABASVURU.SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  69 --Prostat kanseri tanısı ile radyoterapi alan toplam tekil hasta sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HKIMLIKID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE ITARIH >= @BASLANGICTARIHI
			   AND ITARIH < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  70 --Radikal prostektomi yapılan tekil başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE ITARIH >= @BASLANGICTARIHI
			   AND ITARIH < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  71 --TANIMSIZ
		
		  SELECT -1 AS KLINIKKODU, -1 AS KLINIKKALITESAYI
	   
    ELSE IF @TKLINIKKALITEKOD =  72 --TANIMSIZ
		
		  SELECT -1 AS KLINIKKODU, -1 AS KLINIKKALITESAYI
	   
    ELSE IF @TKLINIKKALITEKOD =  73 --KKH tanısı konulmuş koroner anjiyografi yapılan tekil başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  74 --Anjio koroner işlemi olan tekil başvuru sayısı.

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE GERCEKLESMEZAMANI >= @BASLANGICTARIHI
			   AND GERCEKLESMEZAMANI < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
		  (
			 SELECT REFERANSKOD
			 FROM TKLINIKKALITEREFERANS(NOLOCK)
			 WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
				  AND REFERANSTUR = 'SUT'
		  )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD =  76 --KKH tanısı konulmuş koroner anjiyografi yapılan tekil başvuru sayısı

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE ITARIH >= @BASLANGICTARIHI
			   AND ITARIH < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
			 AND EXISTS
			 (
				SELECT ICDKOD
				FROM HDOSYAICD(NOLOCK)
				WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID
					 AND ICDKOD IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'ICD'
			 )
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
	   
    ELSE IF @TKLINIKKALITEKOD = 77 OR @TKLINIKKALITEKOD = 78 OR @TKLINIKKALITEKOD = 79  --77, // Kalça protezi olan başvuru sayısı 78, // Katarakt operasyonu yapılan göz başvuru sayısı, 79: // İmplant tedavisi yapılan diş başvuru sayısı,

		  SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT VWUSS_HASTABASVURU.HESAPISLID) AS KLINIKKALITESAYI
		  FROM VWUSS_HASTABASVURU(NOLOCK)
			  INNER JOIN VWSNOMUAYENEISLEMLERI(NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID
		  WHERE ITARIH >= @BASLANGICTARIHI
			   AND ITARIH < @BITISTARIHI
			   AND SUBEID = @SUBEID
			   AND UYGBOLUMKLINIKKODU IS NOT NULL
			   AND BASVURUTIPI = 1
			   AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18
			   AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN
			 (
				SELECT REFERANSKOD
				FROM TKLINIKKALITEREFERANS(NOLOCK)
				WHERE KLINIKKALITEKOD = CONVERT(VARCHAR, @TKLINIKKALITEKOD)
					 AND REFERANSTUR = 'SUT'
			 )
		  GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

    ELSE

			 --22, 32, 56, 57, 63, 68, 75
			 SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU, COUNT(DISTINCT HESAPISLID) AS KLINIKKALITESAYI 
			 FROM VWUSS_HASTABASVURU (NOLOCK)
			 WHERE KABULZAMANI >= @BASLANGICTARIHI AND KABULZAMANI < @BITISTARIHI
				AND SUBEID = @SUBEID AND UYGBOLUMKLINIKKODU IS NOT NULL 
				AND (CHARINDEX(UPPER('Başvuru Sayısı'),UPPER(REPLACE(REPLACE(@KLINIKKALITEADI,'  ',' '),'  ',' ')))>0 OR CHARINDEX(UPPER('Tekil Sayısı'),UPPER(REPLACE(REPLACE(@KLINIKKALITEADI,'  ',' '),'  ',' ')))>0)
				AND ((CHARINDEX(UPPER('18 yaş ve üstü'),UPPER(REPLACE(REPLACE(@KLINIKKALITEADI,'  ',' '),'  ',' '))))=0 OR ((CHARINDEX(UPPER('18 yaş ve üstü'),UPPER(REPLACE(REPLACE(@KLINIKKALITEADI,'  ',' '),'  ',' '))))>0 AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18)  )
				AND ((CHARINDEX(UPPER('doc.recordData.HASTA_ISLEM_BILGILERI.ISLEM_BILGISI.ISLEM_KODU'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))=0 OR ((CHARINDEX(UPPER('doc.recordData.HASTA_ISLEM_BILGILERI.ISLEM_BILGISI.ISLEM_KODU'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))>0 AND EXISTS (SELECT VWSNOMUAYENEISLEMLERI.HESAPISLID 
																																																								FROM VWSNOMUAYENEISLEMLERI (NOLOCK) 
																																																								WHERE VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID AND 
																																																								    REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN 
																																																								    (SELECT REFERANSKOD FROM TKLINIKKALITEREFERANS (NOLOCK) 
																																																								    WHERE KLINIKKALITEKOD = @TKLINIKKALITEKOD AND REFERANSTUR = 'SUT') )  ))
			     AND ((CHARINDEX(UPPER('doc.recordData.MUAYENE_BILGILERI.TANI_BILGISI.ICD10'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))=0 OR ((CHARINDEX(UPPER('doc.recordData.MUAYENE_BILGILERI.TANI_BILGISI.ICD10'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))>0 AND EXISTS (SELECT ICDKOD FROM HDOSYAICD (NOLOCK)
																																																									   WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID AND
																																																										  ICDKOD IN 
																																																										  (SELECT REFERANSKOD FROM TKLINIKKALITEREFERANS (NOLOCK)
																																																										  WHERE KLINIKKALITEKOD = @TKLINIKKALITEKOD AND REFERANSTUR = 'ICD') )  ))
			 GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)
		  
			 UNION


			 --1-14, 24, 28, 35, 40-51, 80-91
			 SELECT MAX(UYGBOLUMKLINIKKODU) AS KLINIKKODU,COUNT(*) AS KLINIKKALITESAYI
			 FROM VWUSS_HASTABASVURU (NOLOCK) INNER JOIN
			              VWSNOMUAYENEISLEMLERI (NOLOCK) ON VWSNOMUAYENEISLEMLERI.OPHESAPISLID = VWUSS_HASTABASVURU.HESAPISLID 
			 WHERE
			 (((CHARINDEX(UPPER('doc.recordData.HASTA_ISLEM_BILGILERI.ISLEM_BILGISI.GERCEKLESME_ZAMANI'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))=0 AND ITARIH>=@BASLANGICTARIHI AND ITARIH<@BITISTARIHI) OR ((CHARINDEX(UPPER('doc.recordData.HASTA_ISLEM_BILGILERI.ISLEM_BILGISI.GERCEKLESME_ZAMANI'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))>0 AND GERCEKLESMEZAMANI>=@BASLANGICTARIHI AND GERCEKLESMEZAMANI<@BITISTARIHI)  )

			 AND SUBEID = @SUBEID AND UYGBOLUMKLINIKKODU IS NOT NULL
			 AND ((CHARINDEX(UPPER('18 yaş ve üstü'),UPPER(REPLACE(REPLACE(@KLINIKKALITEADI,'  ',' '),'  ',' '))))=0 OR ((CHARINDEX(UPPER('18 yaş ve üstü'),UPPER(REPLACE(REPLACE(@KLINIKKALITEADI,'  ',' '),'  ',' '))))>0 AND DATEDIFF(YEAR, HDTARIHI, KABULZAMANI) >= 18)  )
			 AND ((CHARINDEX(UPPER('doc.recordData.HASTA_ISLEM_BILGILERI.ISLEM_BILGISI.ISLEM_KODU'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))=0 OR ((CHARINDEX(UPPER('doc.recordData.HASTA_ISLEM_BILGILERI.ISLEM_BILGISI.ISLEM_KODU'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))>0 AND REPLACE(VWSNOMUAYENEISLEMLERI.ITEMKODU2, 'P', '') IN 
																																																															  (SELECT REFERANSKOD FROM TKLINIKKALITEREFERANS (NOLOCK) 
																																																															   WHERE KLINIKKALITEKOD = @TKLINIKKALITEKOD AND REFERANSTUR = 'SUT') ))
			 AND ((CHARINDEX(UPPER('doc.recordData.MUAYENE_BILGILERI.TANI_BILGISI.ICD10'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))=0 OR ((CHARINDEX(UPPER('doc.recordData.MUAYENE_BILGILERI.TANI_BILGISI.ICD10'),UPPER(REPLACE(REPLACE(@REFERANSVERI,'  ',' '),'  ',' '))))>0 AND EXISTS (SELECT ICDKOD FROM HDOSYAICD (NOLOCK)
																																																									   WHERE HMUAYENEID = VWUSS_HASTABASVURU.HMUAYENEID AND
																																																										  ICDKOD IN 
																																																										  (SELECT REFERANSKOD FROM TKLINIKKALITEREFERANS (NOLOCK)
																																																										  WHERE KLINIKKALITEKOD = @TKLINIKKALITEKOD AND REFERANSTUR = 'ICD') )  ))
			 GROUP BY (CASE WHEN @ISDAILY=1 THEN SUBEID ELSE UYGBOLUMKLINIKKODU END)

END
GO


