IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FNMDL_YatistaAyniBransKonsFazlaVarmi]') AND xtype in (N'FN', N'IF', N'TF'))
DROP FUNCTION [dbo].[FNMDL_YatistaAyniBransKonsFazlaVarmi]
GO
create FUNCTION [dbo].[FNMDL_YatistaAyniBransKonsFazlaVarmi](@HDOSYAID INTEGER,@MDLTEDAVITURU NVARCHAR(1))
RETURNS TABLE AS
RETURN

SELECT DEGER KONTROL, 'Yatışta Aynı Branş 2den Fazla Kons Kont.' KontrolAdi,
       'Yatış dosyalarında aynı branştan birden fazla konsültasyon işleminin olması durumunun kontrolü' Aciklama
	    FROM
(
	SELECT HDOSYAID, 
	(
		SELECT CASE WHEN MAX(KONSVAR)>1 THEN 1 WHEN MAX(KONSVAR)=1 THEN 2 END KONTROL FROM
			(
				SELECT HDOSYAID,ISNULL(GSSADI,UYGBOLUMADI) BRANS, CASE WHEN COUNT(*)=1 THEN 1 ELSE COUNT(*) END KONSVAR FROM VWHESAPISL H
				LEFT JOIN TBOLUM ON TBOLUM.BOLUMID=UYGBOLUMID 
				LEFT JOIN TGSSBRANS GSS ON   GSS.BRANSKOD=TBOLUM.GSSKOD
				WHERE IPTAL=0 AND EXISTS (SELECT ITEMID FROM TITEM T WHERE MUAYENETIPIID=6 AND H.ITEMID=T.ITEMID ) 
				GROUP BY HDOSYAID,ISNULL(GSSADI,UYGBOLUMADI) HAVING COUNT(*)>0
			) AS T WHERE T.HDOSYAID=HDOSYA.HDOSYAID GROUP BY HDOSYAID
	) DEGER


	 FROM HDOSYA WHERE HDYATIYOR=1 AND HDIPTAL=0 AND HDOSYA.HDTEKLIF=0
) AS TX WHERE HDOSYAID=@HDOSYAID
