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

CREATE  PROCEDURE [dbo].[SPUSS_277_YOGUN_BAKIM_DEGERLENDIRME_IZLEM_SKORLAMA_KAYIT] 
	@HDOSYAID INT=0,
    @HYATISID INT=0,
	@TUMUNUTEKRAR BIT = 0	 	 
AS
BEGIN
	--SPUSS_277_YOGUN_BAKIM_DEGERLENDIRME_IZLEM_SKORLAMA_KAYIT 686208,0,1
	DECLARE @HATA NVARCHAR(2000) = ''
	DECLARE @MESAJ NVARCHAR(2000) = ''
	DECLARE @SAYIHATA BIT = 0
	DECLARE @XMLBASLIK NVARCHAR(2000) = '' 
	DECLARE @SUBEID INT = 1
	DECLARE @GONDERIMTABLOSU TABLE 
		(
			GONDERILECEKXML XML,
			HATA NVARCHAR(2000),
			MESAJ NVARCHAR(2000),	
			XMLBASLIK NVARCHAR(3500),
			TABLOID INT,
			MINID INT,
			MAXID INT
		)

	IF OBJECT_ID('tempdb..#TMPHYATIS') IS NOT NULL 
		DROP TABLE #TMPHYATIS

	IF OBJECT_ID('tempdb..#TMPYOGUNBAKIM') IS NOT NULL 
		DROP TABLE #TMPYOGUNBAKIM

	IF OBJECT_ID('tempdb..#TMPHYATISZIYARETCI') IS NOT NULL 
		DROP TABLE #TMPHYATISZIYARETCI
		

	SELECT 
	HDOSYA.SUBEID AS HDOSYA_SUBEID,
	SUBELER.SUBEADI AS SUBELER_SUBEADI,
	HDOSYA.SNOTAKIPNO AS HDOSYA_SNOTAKIPNO,
	HYATIS.HESAPISLID AS HYATIS_HESAPISLID,
	HYATIS.HYATISID AS  HYATIS_HYATISID,
	HYATIS.HYYATISTARIH AS  HYATIS_HYYATISTARIH,
	HYATIS.HYCIKISTARIH AS  HYATIS_HYCIKISTARIH,
	HYATIS.CIKISSEVKTURUID AS HYATIS_CIKISSEVKTURUID,
	HYATIS.HASTATIPI AS HYATIS_HASTATIPI, 
	HYATIS.ONAMALINMADURUMU AS HYATIS_ONAMALINMADURUMU, 
	ISNULL((SELECT TOP 1 VALUESTR FROM CONFIG WITH(NOLOCK) WHERE SECTIONSTR='Saglik-Net' AND PROGNAME='MEDISOFT' AND KEYNAME= CONVERT(VARCHAR,HDOSYA.SUBEID)+' numaralı şubenin kurum numarası'),'') AS SAGLIKNETKURUMKODU
	INTO #TMPHYATIS
	FROM HYATIS WITH(NOLOCK)
	JOIN HESAPISL WITH(NOLOCK) ON HESAPISL.HESAPISLID = HYATIS.HESAPISLID   
	LEFT JOIN	 HDOSYA WITH(NOLOCK) ON HDOSYA.HDOSYAID = HYATIS.HDOSYAID 
	LEFT JOIN	 SUBELER WITH(NOLOCK) ON SUBELER.SUBEID = HDOSYA.SUBEID
	WHERE HESAPISL.IPTAL = 0 
	  AND HESAPISL.ONAYLI = 1 
	  AND HESAPISL.TEKLIF = 0
	  AND HESAPISL.SNKAYDET = 1
	  AND HDOSYA.HDIPTAL = 0
	  AND HDOSYA.HDOSYAID = @HDOSYAID
	  AND (@HYATISID=0 OR HYATIS.HYATISID = @HYATISID)
	  
   	SELECT 
	HYATIS.HESAPISLID AS HYATIS_HESAPISLID,
	HYATIS.HYATISID AS  HYATIS_HYATISID,
	ISNULL(HYATISZIYARETCI.ADI,'') +' '+ ISNULL(HYATISZIYARETCI.SOYADI,'') AS HASTAYAKINI,
	ISNULL(HYATISZIYARETCI.TCKIMLIKNO,'') AS HYAKINITCKIMLIKNO,
	CASE WHEN HYATISZIYARETCI.BELGETURU='PASAPORT' THEN ISNULL(HYATISZIYARETCI.BELGENO,'') ELSE '' END AS HYAKINIPASAPORT,
	ISNULL(HYATISZIYARETCI.CEPTEL,ISNULL(HYATISZIYARETCI.TELI,'')) AS HYAKINITELEFON,
	ISNULL(HYATISZIYARETCI.NOTE,'') AS HYAKINIACIKLAMA,
	ISNULL([USER].TCKIMLIKNO,'') AS PERSONELTCKIMLIKNO,
	ISNULL(TDRKIMLIK.DRTCKIMLIKNO,'') AS DRTCKIMLIKNO
	
	INTO #TMPHYATISZIYARETCI
	FROM HYATIS WITH(NOLOCK)
	LEFT JOIN	 HDOSYA WITH(NOLOCK) ON HDOSYA.HDOSYAID = HYATIS.HDOSYAID 
	LEFT JOIN HYATISZIYARETCI ON  HYATISZIYARETCI.HYATISID = HYATIS.HYATISID
	LEFT JOIN [USER] ON [USER].KODU = HYATISZIYARETCI.GUSER	
	LEFT JOIN TDRKIMLIK ON HDOSYA.DRID = TDRKIMLIK.DRID 
	
	WHERE HDOSYA.HDIPTAL = 0
	  AND HYATISZIYARETCI.TIPI='HASTA YAKINI'
	  AND HDOSYA.HDOSYAID = @HDOSYAID
	  AND (@HYATISID=0 OR HYATIS.HYATISID = @HYATISID)		  	  


	SELECT HYIZLEM.HYIZLEMID AS HYIZLEM_HYIZLEMID,			
			HYIZLEM.HYATISID AS HYIZLEM_HYATISID,		
			HYIZLEM.YBHESAPISLID AS HYIZLEM_YBHESAPISLID, 
			HYIZLEM.BASAMAK AS HYIZLEM_BASAMAK, 
			HYIZLEM.SEPTIKSOK AS HYIZLEM_SEPTIKSOK, 
			HYIZLEM.SEPSISDURUMU AS HYIZLEM_SEPSISDURUMU, 
			HYIZLEM.VENTILASYONDURUMU AS HYIZLEM_VENTILASYONDURUMU,
			HYIZLEM.IZLEM AS HYIZLEM_IZLEM ,		    
			HYIZLEM.TARIH AS HYIZLEM_TARIH, 
			HYIZLEM.KAYITTARIHI AS HYIZLEM_KAYITTARIHI, 
			HYATIS.HYYATISTARIH AS HYATIS_HYYATISTARIH, 
			HYIZLEM.APACHESKORU AS HYIZLEM_APACHESKORU, 
			HYIZLEM.APACHEBEKLENENOLUMORANI AS HYIZLEM_APACHEBEKLENENOLUMORANI, 
			HYIZLEM.APACHEBEKLENENOLUMORANIDUZELTILMIS AS HYIZLEM_APACHEBEKLENENOLUMORANIDUZELTILMIS, 
			CASE WHEN HYIZLEM.APACHEOLCUMZAMANI IS NULL THEN ISNULL(replace(convert(varchar(8), HYIZLEM.TARIH, 112)+convert(varchar(8),HYATIS.HYYATISTARIH, 114), ':',''),'')
			ELSE ISNULL(replace(convert(varchar(8), HYIZLEM.APACHEOLCUMZAMANI, 112)+convert(varchar(8),HYATIS.HYYATISTARIH, 114), ':',''),'') END AS HYIZLEM_APACHEOLCUMZAMANI, 
			HYIZLEM.SNAPIISKORU AS HYIZLEM_SNAPIISKORU, 
			HYIZLEM.SNAPPEIISKORU AS HYIZLEM_SNAPPEIISKORU, 
			CASE WHEN HYIZLEM.SNAPIIOLCUMZAMANI IS NULL THEN ISNULL(replace(convert(varchar(8), HYIZLEM.TARIH, 112)+convert(varchar(8),HYATIS.HYYATISTARIH, 114), ':',''),'')
			ELSE ISNULL(replace(convert(varchar(8), HYIZLEM.SNAPIIOLCUMZAMANI, 112)+convert(varchar(8),HYATIS.HYYATISTARIH, 114), ':',''),'') END AS HYIZLEM_SNAPIIOLCUMZAMANI, 
			HYIZLEM.GLASKOWGOZLER AS HYIZLEM_GLASKOWGOZLER, 
			HYIZLEM.GLASKOWMOTOR AS HYIZLEM_GLASKOWMOTOR, 
			HYIZLEM.GLASKOWSOZEL AS HYIZLEM_GLASKOWSOZEL, 
			HYIZLEM.PRISMSKORU AS HYIZLEM_PRISMSKORU, 
			HYIZLEM.PRISMBEKLENENORANI AS HYIZLEM_PRISMBEKLENENORANI,			
			CASE WHEN HYIZLEM.PRISMOLCUMZAMANI IS NULL THEN ISNULL(replace(convert(varchar(8), HYIZLEM.TARIH, 112)+convert(varchar(8),HYATIS.HYYATISTARIH, 114), ':',''),'')
			ELSE ISNULL(replace(convert(varchar(8), HYIZLEM.PRISMOLCUMZAMANI, 112)+convert(varchar(8),HYATIS.HYYATISTARIH, 114), ':',''),'') END AS HYIZLEM_PRISMOLCUMZAMANI,			
			HYIZLEM.DIYALIZBAGLIDURUMU AS HYIZLEM_DIYALIZBAGLIDURUMU,
			ISNULL(HYIZLEM.GENELDURUM,'İyi') AS HYIZLEM_GENELDURUM,
		   HYIZLEM.[ACT_BALANS_DEGERI]
		  ,HYIZLEM.[DEKUBIT_ULSERI_SKOR_SONUCU]
		  ,HYIZLEM.[DEKUBIT_ULSERI_SKORLAMA_TURU]
		  ,HYIZLEM.[DREN_VARLIGI]
		  ,HYIZLEM.[DREN_BILGISI]
		  ,HYIZLEM.[ECMO_IHTIYACI]
		  ,HYIZLEM.[ENFEKTE_OLMA_DURUM_BILGISI]
		  ,HYIZLEM.[HEMODIYALIZ_IHTIYACI]
		  ,HYIZLEM.[KATATER_BILGISI]
		  ,HYIZLEM.[VENTILATOR_ILISKILI_PNOMONI_VARLIGI]
		  ,HYIZLEM.[YATAK_BASI_YARASI_VARLIGI]
		  ,HYIZLEM.[AKI_DURUMU]
		  ,HYIZLEM.[ALKOLOZ_DURUMU]
		  ,HYIZLEM.[ARDS_GELISME_DURUMU]
		  ,HYIZLEM.[ASIDOZ_DURUMU]
		  ,HYIZLEM.[BESLENME_BILGISI]
		  ,HYIZLEM.[VENTILASYON_YONTEMI]
		  ,HYIZLEM.[VENTILASYON_BASLANGIC_ZAMANI]
		  ,HYIZLEM.[VENTILASYON_BITIS_ZAMANI],
		  DEKUBIT.DEKUBITULSERISKORLAMATURUADI AS HYIZLEM_DEKUBITULSERISKORLAMATURUADI,
		  DEKUBIT.DEKUBITULSERISKORLAMATURUKODU AS HYIZLEM_DEKUBITULSERISKORLAMATURUKODU,

		   DREN_BILGISI.KODU AS  HYIZLEM_DREN_BILGISI_KODU,

		  DREN_BILGISI.DRENADI AS HYIZLEM_DREN_BILGISI_ADI,
		  KATATERBILGISI.KATATERADI HYIZLEM_KATATER_BILGISI_ADI,
		  KATATERBILGISI.KODU HYIZLEM_KATATER_BILGISI_KODU,
		  MDLYATAKKODU AS HYATIS_YOGUN_BAKIM_YATAK_MEDULA_KODU,
		  DUSMERISKI AS HYATIS_DUSME_RISKI
	INTO #TMPYOGUNBAKIM 
	FROM		HYATIS
	INNER JOIN	HYIZLEM ON HYIZLEM.HYATISID = HYATIS.HYATISID
    INNER JOIN HDOSYA ON HDOSYA.HDOSYAID=HYATIS.HDOSYAID
	LEFT JOIN  TSKRSDEKUBITULSERISKORLAMATURU DEKUBIT ON DEKUBIT.DEKUBITULSERISKORLAMATURUKODU=HYIZLEM.DEKUBIT_ULSERI_SKORLAMA_TURU
	LEFT JOIN (SELECT 'TORAKS'  DRENADI, '1' KODU
				UNION ALL
				SELECT 'BEYİN (EVD=EKSTRA VENTRİKÜLER DRENAJ)' ADI, '2' KODU	
				UNION ALL
				SELECT 'BEYİN (DİĞER)' ADI, '3' KODU		
				UNION ALL
				SELECT 'BOYUN' ADI, '4' KODU	
				UNION ALL
				SELECT 'BATIN' ADI, '5' KODU		
				UNION ALL
				SELECT 'EKSTREMİTE' ADI, '6' KODU	) DREN_BILGISI ON DREN_BILGISI.KODU=HYIZLEM.DREN_BILGISI

  left JOIN (
				SELECT 'IV KANÜL'  KATATERADI, '1' KODU	
				UNION ALL
				SELECT 'CVP KATATER',	'2' KODU
				UNION ALL
				SELECT 'ARTERİYEL KATATER',	'3' KODU
				UNION ALL
				SELECT 'SONDA',	'4' KODU
				UNION ALL
				SELECT 'KALICI DİYALİZ KATATERİ','5' KODU
				UNION ALL
				SELECT 'ECMO KATATERİ',	'6' KODU
            )  KATATERBILGISI ON KATATERBILGISI.KODU=HYIZLEM.KATATER_BILGISI 

	LEFT JOIN (SELECT MDLYATAKKODU,ODANO,YATAKNO FROM TYATAK) YTK ON YTK.ODANO=HYATIS.HYODANO AND YTK.YATAKNO=HYATIS.HYYATAKNO

	WHERE HYATIS.HDOSYAID = @HDOSYAID
		AND (@HYATISID=0 OR HYATIS.HYATISID = @HYATISID)
		AND (@TUMUNUTEKRAR=1 OR (@TUMUNUTEKRAR=0 AND ISNULL(HYATIS.YOGUNBAKIMGONDERILDI,0)=0))
		AND DBO.TARIHAL(HDOSYA.GSSCIKISTARIHI)>HYIZLEM.TARIH 
	ORDER BY KAYITTARIHI DESC

	
	--DBO.TARIHAL(GSSCIKISTARIHI) > HYIZLEM.TARIH/*EKKONTROL*/		



	IF (SELECT COUNT(*) FROM #TMPYOGUNBAKIM) = 0 
	BEGIN
		SET @SAYIHATA = 1
		SET @MESAJ = @MESAJ + 'Dosyaya ait yoğun bakım kaydı bulunamadı! '
	END


	IF (SELECT COUNT(*) FROM #TMPHYATIS WHERE HDOSYA_SUBEID IS NULL) > 0 
		SET @HATA = @HATA + 'İşlemin şube kaydı bulunamadı! '

	IF (SELECT HDOSYA_SUBEID FROM #TMPHYATIS WHERE ISNULL(HDOSYA_SNOTAKIPNO,'')='') > 0 
		SET @HATA = @HATA + 'Sağlık Net hasta takip numarası alınmadan USS sistemine yoğun bakım kaydı yapılamaz. '
   

   	IF NOT EXISTS(SELECT HYATIS_HYCIKISTARIH FROM #TMPHYATIS )
		SET @HATA = @HATA+ 'Hastanın çıkış tarihi girilmemiş! ' 

	IF (SELECT HYATIS_ONAMALINMADURUMU FROM #TMPHYATIS ) = 1 
	BEGIN		
		IF NOT EXISTS(SELECT PERSONELTCKIMLIKNO FROM #TMPHYATISZIYARETCI )
			SET @HATA = @HATA + 'Onam Alan Personel TC Kimlik Numara Bilgisi Eksik. '

		IF NOT EXISTS(SELECT HYAKINITELEFON FROM #TMPHYATISZIYARETCI )
			SET @HATA = @HATA + 'Hasta Yakınına ait Telefon Numara Bilgisi Eksik. '
		
		IF NOT EXISTS(SELECT HYAKINIACIKLAMA FROM #TMPHYATISZIYARETCI )
			SET @HATA = @HATA + 'Hasta Yakınına verilen Açıklama Bilgisi Eksik. '

    END


	IF @HATA='' AND @SAYIHATA=0
	BEGIN		
		SELECT @SUBEID = HDOSYA_SUBEID FROM #TMPHYATIS
		DECLARE @TBLXMLBASLIK TABLE (XMLBASLIK NVARCHAR(2000), HATA NVARCHAR(2000),MESAJ NVARCHAR(2000))
		INSERT INTO @TBLXMLBASLIK (XMLBASLIK, HATA, MESAJ) EXEC SPUSS_000_XML_BASLIK @SUBEID		
		SELECT @HATA=HATA, @MESAJ=MESAJ, @XMLBASLIK=XMLBASLIK FROM @TBLXMLBASLIK		
	END


	IF @HATA = '' AND @SAYIHATA=0
	BEGIN

		--HER TETKIK KARTI AYRI AYRI GONDER DONGUSU
   		DECLARE @CURYATISID INT
		DECLARE CURYATIS CURSOR FOR SELECT HYATIS_HYATISID FROM #TMPHYATIS
		OPEN CURYATIS
		FETCH NEXT FROM CURYATIS INTO @CURYATISID
		WHILE @@FETCH_STATUS =0
		BEGIN
	
				
						BEGIN TRY
							INSERT INTO @GONDERIMTABLOSU (GONDERILECEKXML,HATA,MESAJ,XMLBASLIK,TABLOID,MINID,MAXID) 
							SELECT							 
								(
								SELECT 
								   NEWID() as 'messageGuid/@value',
								    '1' as 'messageType/@version',
									   '0a9ba485-e7e0-4abb-9c86-0a14fd364bb8' as 'messageType/@codeSystemGuid',
									   '277' as 'messageType/@code',
									   'Yoğun Bakım Değerlendirme Izlem ve Skorlama Veri Paketi' as 'messageType/@value',

								   LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19),GETDATE(),120),' ',''),'-',''),':',''),12) as 'documentGenerationTime/@value',
										 (
						 
											SELECT	
												'1' AS 'healthcareProvider/@version',
												'c3eade04-4f91-5dab-e043-14031b0ac9f9' as 'healthcareProvider/@codeSystemGuid',
												SAGLIKNETKURUMKODU AS 'healthcareProvider/@code',
												SUBELER_SUBEADI as 'healthcareProvider/@value'  
												FOR XML PATH('author'), TYPE
										  ),
											'C740D0288ED4C45FE0407C0A04162BDD' as 'firmaKodu/@value',
											(
											SELECT 
												(
													SELECT
														ISNULL(HDOSYA_SNOTAKIPNO,'') AS 'SYSTakipNo/@value'
													FOR XML PATH('HASTA_TAKIP_BILGISI'), TYPE
												),
												
												( --DEGERLENDIRME_IZLEM_VE_SKOR_BILGILERI BAŞLANGIC
													SELECT
														'1' AS 'YOGUN_BAKIM_TIPI/@version',
														'e725df2c-402f-4f0d-ae8a-f4e23b6e178c' AS 'YOGUN_BAKIM_TIPI/@codeSystemGuid',
														CASE HYATIS_HASTATIPI
														WHEN 1 THEN '1'
														WHEN 2 THEN '2'													
														ELSE '3'
														END AS 'YOGUN_BAKIM_TIPI/@code',
														CASE HYATIS_HASTATIPI
														WHEN 1 THEN 'ERİŞKİN'
														WHEN 2 THEN 'ÇOCUK'													
														ELSE 'YENIDOGAN'
														END AS 'YOGUN_BAKIM_TIPI/@value',

														(--IZLEM_BILGISI BAŞLANGIÇ
															SELECT 
															    ISNULL(ACT_BALANS_DEGERI,'0')          AS 'ACT_BALANS_DEGERI/@value',
																ISNULL(DEKUBIT_ULSERI_SKOR_SONUCU,'0') AS 'DEKUBIT_ULSERI_SKOR_SONUCU/@value',
																--<DEKUBIT_ULSERI_SKORLAMA_TURU version="1" codeSystemGuid="4cf55c8c-f0d8-4bc1-9613-176f4bb614b8" code="Code" value="DEKUBIT_ULSERI_SKORLAMA_TURU" />
																'1' AS 'DEKUBIT_ULSERI_SKORLAMA_TURU/@version',
																'4cf55c8c-f0d8-4bc1-9613-176f4bb614b8' AS 'DEKUBIT_ULSERI_SKORLAMA_TURU/@codeSystemGuid',
																HYIZLEM_DEKUBITULSERISKORLAMATURUKODU AS 'DEKUBIT_ULSERI_SKORLAMA_TURU/@code',
																HYIZLEM_DEKUBITULSERISKORLAMATURUADI AS 'DEKUBIT_ULSERI_SKORLAMA_TURU/@value',
																
																
																'1' AS 'DIYALIZ_CIHAZINA_BAGLILIK_DURUMU/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'DIYALIZ_CIHAZINA_BAGLILIK_DURUMU/@codeSystemGuid',
																CASE WHEN HYIZLEM_DIYALIZBAGLIDURUMU = 'E' THEN '1' ELSE '2' END AS 'DIYALIZ_CIHAZINA_BAGLILIK_DURUMU/@code',
																CASE WHEN HYIZLEM_DIYALIZBAGLIDURUMU = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'DIYALIZ_CIHAZINA_BAGLILIK_DURUMU/@value',


																'1' AS 'DREN_VARLIGI/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'DREN_VARLIGI/@codeSystemGuid',
																CASE WHEN  DREN_VARLIGI= 'E' THEN '1' ELSE '2' END AS 'DREN_VARLIGI/@code',
																CASE WHEN DREN_VARLIGI = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'DREN_VARLIGI/@value',

																--<DREN_BILGISI version="1" codeSystemGuid="58ee888d-ed6c-4ae4-bf25-c5ebebf48d86" code="Code" value="DREN_BILGISI" />
	
																(
                                                                    SELECT 
                                                                        '1'  AS 'DREN_BILGISI/@version',
                                                                        '58ee888d-ed6c-4ae4-bf25-c5ebebf48d86' AS 'DREN_BILGISI/@codeSystemGuid',
                                                                        HYIZLEM_DREN_BILGISI_KODU AS 'DREN_BILGISI/@code',
                                                                        HYIZLEM_DREN_BILGISI_ADI AS 'DREN_BILGISI/@value'  
                                                                    WHERE DREN_VARLIGI = 'E' -- Condition to include DREN_BILGISI
                                                                    FOR XML PATH(''), TYPE  -- Important: FOR XML PATH('') to avoid extra wrapping element
                                                                ),

															    -- <ECMO_IHTIYACI version="1" codeSystemGuid="c9d56fee-d143-4602-ad7b-ba131ef92ad9" code="Code" value="ECMO_IHTIYACI" />
																'1' AS 'ECMO_IHTIYACI/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'ECMO_IHTIYACI/@codeSystemGuid',
																CASE WHEN  ECMO_IHTIYACI= 'E' THEN '1' ELSE '2' END AS 'ECMO_IHTIYACI/@code',
																CASE WHEN ECMO_IHTIYACI = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'ECMO_IHTIYACI/@value',
																-- <ENFEKTE_OLMA_DURUM_BILGISI version="1" codeSystemGuid="c9d56fee-d143-4602-ad7b-ba131ef92ad9" code="Code" value="ENFEKTE_OLMA_DURUM_BILGISI" />
																'1' AS 'ENFEKTE_OLMA_DURUM_BILGISI/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'ENFEKTE_OLMA_DURUM_BILGISI/@codeSystemGuid',
																CASE WHEN  ENFEKTE_OLMA_DURUM_BILGISI= 'E' THEN '1' ELSE '2' END AS 'ENFEKTE_OLMA_DURUM_BILGISI/@code',
																CASE WHEN ENFEKTE_OLMA_DURUM_BILGISI = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'ENFEKTE_OLMA_DURUM_BILGISI/@value',

																'1' AS 'HEMODIYALIZ_IHTIYACI/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'HEMODIYALIZ_IHTIYACI/@codeSystemGuid',
																CASE WHEN  HEMODIYALIZ_IHTIYACI= 'E' THEN '1' ELSE '2' END AS 'HEMODIYALIZ_IHTIYACI/@code',
																CASE WHEN HEMODIYALIZ_IHTIYACI = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'HEMODIYALIZ_IHTIYACI/@value',
															    
																--<KATATER_BILGISI version="1" codeSystemGuid="ff71372a-1718-44ab-a703-61b43d647af7" code="Code" value="KATATER_BILGISI" />--HYIZLEM_KATATER_BILGISI_KODU
																'1' AS 'KATATER_BILGISI/@version',
																'ff71372a-1718-44ab-a703-61b43d647af7' AS 'KATATER_BILGISI/@codeSystemGuid',
																HYIZLEM_KATATER_BILGISI_KODU AS 'KATATER_BILGISI/@code',
																HYIZLEM_KATATER_BILGISI_ADI AS 'KATATER_BILGISI/@value',


																'1' AS 'SEPSIS_DURUMU/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'SEPSIS_DURUMU/@codeSystemGuid',
																CASE WHEN  HYIZLEM_SEPSISDURUMU= 'E' THEN '1' ELSE '2' END AS 'SEPSIS_DURUMU/@code',
																CASE WHEN HYIZLEM_SEPSISDURUMU = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'SEPSIS_DURUMU/@value',
															    
																'1' AS 'SEPTIK_SOK/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'SEPTIK_SOK/@codeSystemGuid',
																CASE WHEN  HYIZLEM_SEPTIKSOK= 'E' THEN '1' ELSE '2' END AS 'SEPTIK_SOK/@code',
																CASE WHEN HYIZLEM_SEPTIKSOK = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'SEPTIK_SOK/@value',


																'1' AS 'VENTILASYON_DURUMU/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'VENTILASYON_DURUMU/@codeSystemGuid',
																CASE WHEN  HYIZLEM_VENTILASYONDURUMU= 'E' THEN '1' ELSE '2' END AS 'VENTILASYON_DURUMU/@code',
																CASE WHEN HYIZLEM_VENTILASYONDURUMU = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'VENTILASYON_DURUMU/@value',


																'1' AS 'VENTILATOR_ILISKILI_PNOMONI_VARLIGI/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'VENTILATOR_ILISKILI_PNOMONI_VARLIGI/@codeSystemGuid',
																CASE WHEN  VENTILATOR_ILISKILI_PNOMONI_VARLIGI= 'E' THEN '1' ELSE '2' END AS 'VENTILATOR_ILISKILI_PNOMONI_VARLIGI/@code',
																CASE WHEN VENTILATOR_ILISKILI_PNOMONI_VARLIGI = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'VENTILATOR_ILISKILI_PNOMONI_VARLIGI/@value',

																'1' AS 'YATAK_BASI_YARASI_VARLIGI/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'YATAK_BASI_YARASI_VARLIGI/@codeSystemGuid',
																CASE WHEN  VENTILATOR_ILISKILI_PNOMONI_VARLIGI= 'E' THEN '1' ELSE '2' END AS 'YATAK_BASI_YARASI_VARLIGI/@code',
																CASE WHEN VENTILATOR_ILISKILI_PNOMONI_VARLIGI = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'YATAK_BASI_YARASI_VARLIGI/@value',

																--<YOGUN_BAKIM_SEVIYE_BILGISI version="1" codeSystemGuid="3c20a43e-74ee-4a04-9649-05359b5f9c5d" code="Code" value="YOGUN_BAKIM_SEVIYE_BILGISI" />
																'1' AS 'YOGUN_BAKIM_SEVIYE_BILGISI/@version',
																'3c20a43e-74ee-4a04-9649-05359b5f9c5d' AS 'YOGUN_BAKIM_SEVIYE_BILGISI/@codeSystemGuid',
																ISNULL(HYIZLEM_BASAMAK,'') AS 'YOGUN_BAKIM_SEVIYE_BILGISI/@code',
																CASE HYIZLEM_BASAMAK
																WHEN 1 THEN '1. BASAMAK YOĞUN BAKIM'
																WHEN 2 THEN '2. BASAMAK YOĞUN BAKIM'	
																WHEN 3 THEN '3. BASAMAK YOĞUN BAKIM'												
																ELSE ''
																END AS 'YOGUN_BAKIM_SEVIYE_BILGISI/@value',
																
																'1' AS 'AKI_DURUMU/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'AKI_DURUMU/@codeSystemGuid',
																CASE WHEN  AKI_DURUMU= 'E' THEN '1' ELSE '2' END AS 'AKI_DURUMU/@code',
																CASE WHEN AKI_DURUMU = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'AKI_DURUMU/@value',

																'1' AS 'ALKOLOZ_DURUMU/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'ALKOLOZ_DURUMU/@codeSystemGuid',
																CASE WHEN  AKI_DURUMU= 'E' THEN '1' ELSE '2' END AS 'ALKOLOZ_DURUMU/@code',
																CASE WHEN AKI_DURUMU = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'ALKOLOZ_DURUMU/@value',

																'1' AS 'ARDS_GELISME_DURUMU/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'ARDS_GELISME_DURUMU/@codeSystemGuid',
																CASE WHEN  AKI_DURUMU= 'E' THEN '1' ELSE '2' END AS 'ARDS_GELISME_DURUMU/@code',
																CASE WHEN AKI_DURUMU = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'ARDS_GELISME_DURUMU/@value',

																ISNULL(HYIZLEM_IZLEM, '') AS 'GUNLUK_IZLEM_NOTU/@value',																
																
																'1' AS 'HASTA_GENEL_DURUM/@version',
																'2bdb33d5-b077-4fe9-95e2-03e192c64f80' AS 'HASTA_GENEL_DURUM/@codeSystemGuid',
																	CASE HYIZLEM_GENELDURUM
																		WHEN 'Kötü' THEN '3'
																		WHEN 'Orta' THEN '2'													
																		ELSE '1'
																		END AS 'HASTA_GENEL_DURUM/@code',
																	CASE HYIZLEM_GENELDURUM
																		WHEN 'Kötü' THEN 'KÖTÜ'
																		WHEN 'Orta' THEN 'ORTA'													
																		ELSE 'İYİ'
																		END AS 'HASTA_GENEL_DURUM/@value',

																
																ISNULL(HYATIS_YOGUN_BAKIM_YATAK_MEDULA_KODU, '') AS 'GUNLUK_IZLEM_NOTU/@value',	
																
																'1' AS 'ASIDOZ_DURUMU/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'ASIDOZ_DURUMU/@codeSystemGuid',
																CASE WHEN  ASIDOZ_DURUMU= 'E' THEN '1' ELSE '2' END AS 'ASIDOZ_DURUMU/@code',
																CASE WHEN ASIDOZ_DURUMU = 'E' THEN 'EVET' ELSE 'HAYIR' END AS 'ASIDOZ_DURUMU/@value',

																--<BESLENME_BILGISI version="1" codeSystemGuid="091d867a-ade7-4e4a-8b3a-4bc917b1f799" code="Code" value="BESLENME_BILGISI" />
																'1' AS 'BESLENME_BILGISI/@version',
																'091d867a-ade7-4e4a-8b3a-4bc917b1f799' AS 'BESLENME_BILGISI/@codeSystemGuid',
																	CASE BESLENME_BILGISI
																		WHEN 'ORAL' THEN '1'
																		WHEN 'ENTERAL' THEN '2'
																		WHEN 'PARENTERAL' THEN '3'																		
																	END AS 'BESLENME_BILGISI/@code',
																	BESLENME_BILGISI AS 'BESLENME_BILGISI/@value',																
																
																
																'1' AS 'DUSME_RISKI/@version',
																'c9d56fee-d143-4602-ad7b-ba131ef92ad9' AS 'DUSME_RISKI/@codeSystemGuid',
																CASE WHEN  HYATIS_DUSME_RISKI= 1 THEN '1' ELSE '2' END AS 'DUSME_RISKI/@code',
																CASE WHEN HYATIS_DUSME_RISKI = 1 THEN 'EVET' ELSE 'HAYIR' END AS 'DUSME_RISKI/@value',

																ISNULL(HYIZLEM_YBHESAPISLID, '') AS 'ISLEM_REFERANS_NUMARASI/@value',	
																
																--ISNULL(replace(convert(varchar(8), HYIZLEM_TARIH, 112)+convert(varchar(8),HYATIS_HYYATISTARIH, 114), ':',''),'')AS 'IZLEM_ZAMANI/@value',
																
																																																	
																

																(SELECT 
																	ISNULL(HYIZLEM_APACHESKORU, 0) AS 'TOPLAM_APACHE_SKORU/@value',
																	ISNULL(HYIZLEM_APACHEBEKLENENOLUMORANI, 0) AS 'BEKLENEN_OLUM_ORANI/@value',
																	ISNULL(HYIZLEM_APACHEBEKLENENOLUMORANIDUZELTILMIS, ISNULL(HYIZLEM_APACHEBEKLENENOLUMORANI, 0)) AS 'BEKLENEN_OLUM_ORANI_DUZELTILMIS/@value',
																	ISNULL(HYIZLEM_APACHEOLCUMZAMANI, 0) AS 'OLCUM_ZAMANI/@value'
																	WHERE HYATIS_HASTATIPI = 1 
																FOR XML PATH('APACHE_II_SKOR_BILGISI'),TYPE),

																(SELECT 
																	ISNULL(HYIZLEM_SNAPIISKORU, 0) AS 'SNAP_II_SKORU/@value',
																	ISNULL(HYIZLEM_SNAPPEIISKORU, 0) AS 'SNAP_PE_II_SKORU/@value',
																	ISNULL(HYIZLEM_SNAPIIOLCUMZAMANI, 0) AS 'OLCUM_ZAMANI/@value'
																	WHERE HYATIS_HASTATIPI = 3
																FOR XML PATH('SNAP_II_SKOR_BILGISI'),TYPE),
																
																(SELECT 
																	ISNULL(HYIZLEM_PRISMSKORU, 0) AS 'TOPLAM_PRISM_SKORU/@value',
																	ISNULL(HYIZLEM_PRISMBEKLENENORANI, 0) AS 'BEKLENEN_OLUM_ORANI/@value',
																	ISNULL(HYIZLEM_PRISMOLCUMZAMANI, 0) AS 'OLCUM_ZAMANI/@value'
																	WHERE HYATIS_HASTATIPI = 2
																FOR XML PATH('PRISM_SKOR_BILGISI'),TYPE),

																(SELECT 
																	HYIZLEM_GLASKOWGOZLER AS 'GOZLER/@value',
																	HYIZLEM_GLASKOWSOZEL AS 'SOZEL/@value',
																	HYIZLEM_GLASKOWMOTOR AS 'MOTOR/@value'
																	WHERE HYATIS_HASTATIPI <> 3 																	
																FOR XML PATH('GLASGOW_SKALASI'),TYPE),

																(SELECT 
																	'' AS 'GOZLER/@value',
																	'' AS 'SOZEL/@value',
																	'' AS 'MOTOR/@value'
																	WHERE HYATIS_HASTATIPI = 3 																	
																FOR XML PATH('GLASGOW_SKALASI'),TYPE),


																--<VENTILASYON_BILGISI>
																--  <VENTILASYON_YONTEMI version="1" codeSystemGuid="75fa2c8c-bbd7-4e8c-b771-ad37a88aef41" code="Code" value="VENTILASYON_YONTEMI" />
																--  <VENTILASYON_BASLANGIC_ZAMANI value="VENTILASYON_BASLANGIC_ZAMANI" />
																--  <VENTILASYON_BITIS_ZAMANI value="VENTILASYON_BITIS_ZAMANI" />
																--</VENTILASYON_BILGISI>

																(SELECT 
																	--<VENTILASYON_YONTEMI version="1" codeSystemGuid="75fa2c8c-bbd7-4e8c-b771-ad37a88aef41" code="Code" value="VENTILASYON_YONTEMI" />
																	'1' AS 'VENTILASYON_YONTEMI/@version',
																	'75fa2c8c-bbd7-4e8c-b771-ad37a88aef41' AS 'VENTILASYON_YONTEMI/@codeSystemGuid',
																	CASE VENTILASYON_YONTEMI
																		WHEN 'KONTROLE' THEN '3'
																		WHEN 'ASİSTE' THEN '2'
																		WHEN 'SPONTAN' THEN '1'																		
																	END AS 'VENTILASYON_YONTEMI/@code',
																	VENTILASYON_YONTEMI AS 'VENTILASYON_YONTEMI/@value',
																																		
																	ISNULL(replace(convert(varchar(8), VENTILASYON_BASLANGIC_ZAMANI, 112)+convert(varchar(8),VENTILASYON_BASLANGIC_ZAMANI, 114), ':',''),'') AS 'VENTILASYON_BASLANGIC_ZAMANI/@value',
																	ISNULL(replace(convert(varchar(8), VENTILASYON_BITIS_ZAMANI, 112)+convert(varchar(8),VENTILASYON_BITIS_ZAMANI, 114), ':',''),'')         AS 'VENTILASYON_BITIS_ZAMANI/@value'
																																	
																FOR XML PATH('VENTILASYON_BILGISI'),TYPE),

															
																(SELECT --HASTA_YAKINI_BILGILERI
																	ISNULL(HYAKINITELEFON,'') AS 'HASTA_YAKINI_TELEFON_NUMARASI/@value',
																	ISNULL(HYAKINITCKIMLIKNO,'') AS 'HASTA_YAKINI_TCKN/@value',
																	HYAKINIACIKLAMA AS 'HASTA_YAKINI_BILGILENDIRME_MESAJ_BILGISI/@value',																	
																	PERSONELTCKIMLIKNO AS 'ONAM_ALAN_PERSONEL_TCKN/@value',
																	DRTCKIMLIKNO AS 'BILGILENDIRME_HEKIM_TCKN/@value',
																	ISNULL(HYAKINIPASAPORT,'')  AS 'HASTA_YAKINI_PASAPORT_NO/@value'																																	
																	FROM #TMPHYATISZIYARETCI
																	WHERE HYATIS_ONAMALINMADURUMU=1
																	FOR XML PATH('HASTA_YAKINI_BILGILENDIRME'),TYPE)
																												
															FROM #TMPYOGUNBAKIM
															WHERE HYIZLEM_HYATISID = HYATIS_HYATISID
															FOR XML PATH('IZLEM_BILGISI'),TYPE
														)	
														


									     
													FOR XML PATH('DEGERLENDIRME_IZLEM_VE_SKOR_BILGILERI'),TYPE
												)
						
												FOR XML PATH('recordData'), TYPE)

					FROM #TMPHYATIS
					WHERE HYATIS_HYATISID = @CURYATISID
					FOR XML PATH(''), ROOT('SYSMessage')
	
	
								) AS GONDERILECEKXML,
								@HATA AS HATA, 
								@MESAJ AS MESAJ,
								@XMLBASLIK AS XMLBASLIK,
								@CURYATISID AS TABLOID,
								0 AS MINID,
								0 AS MAXID

						END TRY
						BEGIN CATCH
							SET @HATA = ERROR_MESSAGE()
							IF @HATA = ''
								SET @HATA = 'Bilinmeyen bir hata oluştu'
		
							INSERT INTO @GONDERIMTABLOSU (GONDERILECEKXML,HATA,MESAJ,XMLBASLIK,TABLOID,MINID,MAXID)			
							SELECT	'' AS GONDERILECEKXML,
									@HATA AS HATA, 
									@MESAJ AS MESAJ,
									'' AS XMLBASLIK,
									@CURYATISID AS TABLOID,
									0 AS MINID,
									0 AS MAXID
			

						END CATCH				



		FETCH NEXT FROM CURYATIS INTO @CURYATISID 
		END -- CURYATIS son
	

		CLOSE CURYATIS
		DEALLOCATE CURYATIS

	END
	ELSE
	BEGIN
		
		INSERT INTO @GONDERIMTABLOSU (GONDERILECEKXML,HATA,MESAJ,XMLBASLIK,TABLOID,MINID,MAXID)
		SELECT	'' AS GONDERILECEKXML,
				@HATA AS HATA, 
				@MESAJ AS MESAJ,
				'' AS XMLBASLIK,
				@CURYATISID AS TABLOID,
				0 AS MINID,
				0 AS MAXID
				
		SET @HATA = ''				 
	END


	
	IF OBJECT_ID('tempdb..#TMPHYATIS') IS NOT NULL 
		DROP TABLE #TMPHYATIS

	IF OBJECT_ID('tempdb..#TMPYOGUNBAKIM') IS NOT NULL 
		DROP TABLE #TMPYOGUNBAKIM


	SELECT * FROM @GONDERIMTABLOSU


END

