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

CREATE PROCEDURE [dbo].[SPUSS_206_ASI_SONRASI_ISTENMEYEN_ETKI_KAYIT] 
	@HDOSYAID INT=0,
	@HASIID INT=0,
	@TUMUNUTEKRAR BIT = 0
	 	 
AS
BEGIN
	--SPUSS_206_ASI_SONRASI_ISTENMEYEN_ETKI_KAYIT 165788,2012,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..#TMPHASILAR') IS NOT NULL 
	DROP TABLE #TMPHASILAR


	SELECT 
		TSNASI.ASIKODU ASI_ADI,
		HASILAR.ASIID ASI_ID,

		HASILAR.ASIDOZUID ASININ_DOZU_ID,
		TASIDOZU.ADI ASININ_DOZU_ADI,
		ASI_ERTELEME_SURESI,
		BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENIID ,
		ASISONRASIETKIDURUMLARI.ADI BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI_ADI,
		HASILAR.ASI_YAPILMAMA_NEDENIID ASI_YAPILMAMA_NEDENI_ID,
		ASIYAPILMAMANEDENI.ADI ASI_YAPILMAMA_NEDENI_ADI,
		HASILAR.YAPILDITRH ASI_YAPILMA_ZAMANI,
		(SELECT TOP 1 ICDKOD FROM HDOSYAICD WHERE HDOSYAICD.HDOSYAID=VWMUAYENE.HDOSYAID ORDER BY ANATANI DESC) ALTTA_YATAN_HASTALIK_KODU,
		(SELECT TOP 1 (SELECT TICD.ICDADI FROM TICD WHERE TICD.ICDKOD=HDOSYAICD.ICDKOD) FROM HDOSYAICD WHERE HDOSYAICD.HDOSYAID=VWMUAYENE.HDOSYAID ORDER BY ANATANI DESC) ALTTA_YATAN_HASTALIK_ADI,
		HASILAR.HMUAYENEID,EKLENENHMUAYENEID,
		VWMUAYENE.SUBEID VWMUAYENE_SUBEID,
		VWMUAYENE.SUBEID HDOSYA_SUBEID,
		VWMUAYENE.SNOTAKIPNO HDOSYA_SNOTAKIPNO,
		HASILAR.HASIID HASILAR_HASIID ,
		SUBEADI SUBELER_SUBEADI,
		ASI_SONRASI_ETKILENME_TARIHI ASIE_ORTAYA_CIKIS_TARIHI,

		ASIUYGYERI.ADI ASI_UYGULAMA_YERI_ADI, 
		HASILAR.ASIUYGYERIID ASI_UYGULAMA_YERI_ID ,
	
        ISNULL(HKIMLIK.HEVADRES+' ','')+ISNULL(HKIMLIK.HEVIL+' ','')+ISNULL(HKIMLIK.HEVILCE+' ','') ACIK_ADRES,	
		'Ev Adresi' ADRES_KODU,
		'CADDE/SOKAK' ADRES_KODU_SEVIYESI_ADI,
		'6' ADRES_KODU_SEVIYESI_ID,

		'SÜREKLİ İKAMET ADRESİ' ADRES_TIPI_ADI,
		'1' ADRES_TIPI_ID,

		 ISNULL((SELECT TOP 1 VALUESTR FROM CONFIG WITH(NOLOCK) WHERE SECTIONSTR='Saglik-Net' AND PROGNAME='MEDISOFT' AND KEYNAME= CONVERT(VARCHAR,VWMUAYENE.SUBEID)+' numarali subede Yenidoğanların Kimliksiz fatura edilebilir gün sayısı'),'') 	AS SAGLIKNETKIMLIKSIZYENIDOGANGUN,

		CASE WHEN (SELECT TOP 1 VALUESTR FROM CONFIG WITH(NOLOCK) WHERE SECTIONSTR='Saglik-Net' AND PROGNAME='MEDISOFT' AND /* VALUESTR='1' AND*/ KEYNAME LIKE CONVERT(VARCHAR,VWMUAYENE.SUBEID)+' numaral% %ubede Sa%l%k Net Online test modu aktif')='1' THEN
			'10000038' 
		ELSE
			ISNULL((SELECT TOP 1 VALUESTR FROM CONFIG WITH(NOLOCK) WHERE SECTIONSTR='Saglik-Net' AND PROGNAME='MEDISOFT' AND KEYNAME= CONVERT(VARCHAR,VWMUAYENE.SUBEID)+' numaralı şubenin kurum numarası'),'') 
		END AS SAGLIKNETKURUMKODU,

			CASE WHEN (SELECT TOP 1 VALUESTR FROM CONFIG WITH(NOLOCK) WHERE SECTIONSTR='Saglik-Net' AND PROGNAME='MEDISOFT' AND /* VALUESTR='1' AND*/ KEYNAME LIKE CONVERT(VARCHAR,VWMUAYENE.SUBEID)+' numaral% %ubede Sa%l%k Net Online test modu aktif')='1' THEN
			'3bc26a7d-4a19-4edf-ab9f-1413ac85e7d0' /*TEST KTS FİRMA KODU*/
		ELSE
			'C740D0288ED4C45FE0407C0A04162BDD'  /*KTS TALYA*/ 
		END AS SNOKTSFIRMAKODU,

		ISNULL((SELECT TOP 1 VALUESTR FROM CONFIG WITH(NOLOCK) WHERE SECTIONSTR='Saglik-Net' AND PROGNAME='MEDISOFT' AND KEYNAME= CONVERT(VARCHAR,VWMUAYENE.SUBEID)+' numarali subede Hasta kayıt gönderiminde referans no ön Karakteri'),'') AS REFNOONEK


	    INTO #TMPHASILAR 
		FROM HASILAR
		LEFT JOIN TSNASI ON TSNASI.ASIID=HASILAR.ASIID
		LEFT JOIN VWMUAYENE ON VWMUAYENE.HMUAYENEID=HASILAR.EKLENENHMUAYENEID
		INNER JOIN HKIMLIK ON HKIMLIK.HKIMLIKID=VWMUAYENE.HKIMLIKID
        LEFT JOIN	SUBELER ON SUBELER.SUBEID=VWMUAYENE.SUBEID
        LEFT JOIN (
				    SELECT 1 AS ID,'Ağız' AS ADI
					UNION ALL
					SELECT 2 AS ID,'Sağ Deltoid Bölge' AS ADI
					UNION ALL
					SELECT 3 AS ID,'Sağ Uyluk' AS ADI
					UNION ALL
					SELECT 4 AS ID,'Sol Deltoid Bölge' AS ADI
					UNION ALL
					SELECT 5 AS ID,'Sol Uyluk' AS ADI
					UNION ALL
					SELECT 98 AS ID,'Diğer' AS ADI
		
		) ASIUYGYERI ON ASIUYGYERI.ID=HASILAR.ASIUYGYERIID

		LEFT JOIN (
					SELECT 1 AS ID,'AŞI YAN ETKİSİ' AS ADI
					UNION ALL
					SELECT 2 AS ID,'PROGRAM UYGULAMA HATALARI (AŞININ ÜRETİM, DAĞITIM VE UYGULANMASI SIRASINDA ORTAYA ÇIKABİLECEK HATALAR)' AS ADI
					UNION ALL
					SELECT 3 AS ID,'ENJEKSİYON REAKSİYONU' AS ADI
					UNION ALL
					SELECT 4 AS ID,'RASTLANTISAL' AS ADI
					UNION ALL
					SELECT 5 AS ID,'BİLİNMEYEN' AS ADI
				   ) AS ASISONRASIETKIDURUMLARI ON ASISONRASIETKIDURUMLARI.ID=HASILAR.BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENIID

		LEFT JOIN (SELECT 1 AS ID,'Aşının birinci dozu' AS ADI
					UNION ALL
					SELECT 2 AS ID,'Aşının ikinci dozu' AS ADI
					UNION ALL
					SELECT 3 AS ID,'Aşının üçüncü dozu' AS ADI
					UNION ALL
					SELECT 4 AS ID,'Aşının dördüncü dozu' AS ADI
					UNION ALL
					SELECT 5 AS ID,'Aşının beşinci dozu' AS ADI
					UNION ALL
					SELECT 6 AS ID,'Aşının rapel dozu' AS ADI
					UNION ALL
					SELECT 7 AS ID,'9-11 AY dozu' AS ADI
					UNION ALL
					SELECT 8 AS ID,'SALGIN/KAMPANYA AŞILAMASI' AS ADI
					UNION ALL
					SELECT 9 AS ID,'ÖZEL DURUM AŞI DOZU' AS ADI) TASIDOZU ON TASIDOZU.ID=HASILAR.ASIDOZUID
					LEFT JOIN (			
								SELECT 1 AS ID,'DÜŞÜK DOĞUM AĞIRLIĞI' AS ADI
								UNION ALL
								SELECT 3 AS ID,'HASTANEDE YATIŞ' AS ADI
								UNION ALL
								SELECT 9 AS ID,'RED' AS ADI
								UNION ALL
								SELECT 10 AS ID,'HASTALIĞI GEÇIRMIŞ (SU ÇIÇEĞI)' AS ADI
								UNION ALL
								SELECT 11 AS ID,'KONTRENDIKASYON VARLIĞI' AS ADI
								UNION ALL
								SELECT 12 AS ID,'İLGİLİ DOZ DAHA ÖNCE UYGULANMIŞ' AS ADI
								UNION ALL
								SELECT 13 AS ID,'İLGİLİ AŞI İÇİN TÜM DOZLAR TAMAMLANMIŞ' AS ADI
								UNION ALL
								SELECT 14 AS ID,'LOJISTIK' AS ADI
								UNION ALL
								SELECT 15 AS ID,'GÖÇ' AS ADI
								) ASIYAPILMAMANEDENI ON ASIYAPILMAMANEDENI.ID=HASILAR.ASI_YAPILMAMA_NEDENIID


			WHERE HASILAR.HASIID= @HASIID AND VWMUAYENE.HDOSYAID = @HDOSYAID 



	IF (SELECT COUNT(*) FROM #TMPHASILAR) = 0 
	BEGIN
		SET @SAYIHATA = 1
		SET @MESAJ = @MESAJ + 'Gönderilecek aşı kaydı bulunamadı! '
	END

	IF (SELECT COUNT(*) FROM #TMPHASILAR WHERE VWMUAYENE_SUBEID IS NULL) > 0 
		SET @HATA = @HATA + 'Aşı dosyasının şube kaydı bulunamadı! '

	IF (SELECT COUNT(*) FROM #TMPHASILAR WHERE ISNULL(HDOSYA_SNOTAKIPNO,'')='') > 0 
		SET @HATA = @HATA + 'Sağlık Net hasta takip numarası alınmadan USS sistemine AŞI kaydı yapılamaz. '

   	IF @HATA='' AND @SAYIHATA=0
	BEGIN		
		SELECT @SUBEID = HDOSYA_SUBEID FROM #TMPHASILAR
		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 @CURHASILARID INT
		DECLARE CURHASILARIM CURSOR FOR SELECT HASILAR_HASIID FROM #TMPHASILAR
		OPEN CURHASILARIM
		FETCH NEXT FROM CURHASILARIM INTO @CURHASILARID
		WHILE @@FETCH_STATUS =0
		BEGIN
		

	
					SET @HATA = ''
					SET @MESAJ = ''
					SET @SAYIHATA = 0


					--IF EXISTS(SELECT * FROM #TMPHASILAR WHERE HTETKIK_DURUM<>2 AND HTETKIK_HTETKIKKARTID=@CURHASILARID)
				---		SET @HATA = @HATA + ISNULL((SELECT TOP 1 ISNULL(HKIMLIK_HADI,'') + ' ' + ISNULL(HKIMLIK_HSOYADI,'') + '''e ' + ISNULL(CONVERT(VARCHAR,HTETKIKKART_GIRISTARIH),'') +' tarihinde yapılan ' +TITEM_ITEMADI FROM #TMPTETKIKKART JOIN  #TMPTETKIK ON HTETKIKKART_HTETKIKKARTID=HTETKIK_HTETKIKKARTID WHERE HTETKIK_DURUM<>2 AND HTETKIKKART_HTETKIKKARTID=@CURHASILARID ),'') + + ' işlemi tamamlanmamış durumdadır. '


					 
					IF EXISTS(SELECT HASILAR_HASIID FROM #TMPHASILAR WHERE  ISNULL(ASI_ID,0)=0)
						SET @HATA = @HATA + ' ' + 'Aşı seçilmemiş. '

                    IF EXISTS(SELECT HASILAR_HASIID FROM #TMPHASILAR WHERE  ISNULL(ASININ_DOZU_ID,0)=0)
						SET @HATA = @HATA + ' ' + 'Aşının dozu seçilmemiş. '

                    IF EXISTS(SELECT HASILAR_HASIID FROM #TMPHASILAR WHERE  ISNULL(ASI_ERTELEME_SURESI,'')='')
						SET @HATA = @HATA + ' ' + 'Aşının ertleme süresi girilmemiş. '

                   
				   IF EXISTS(SELECT HASILAR_HASIID FROM #TMPHASILAR WHERE  ISNULL(ACIK_ADRES,'')='')
						SET @HATA = @HATA + ' ' + 'Hasta Kimlik Kartında Ev Adresi Girilmemiş. '

                    IF EXISTS(SELECT HASILAR_HASIID FROM #TMPHASILAR WHERE  ISNULL(ASI_YAPILMAMA_NEDENI_ID,0)=0)
						SET @HATA = @HATA + ' ' + 'Aşının yapılmama nedeni seçilmemiş. '

                     IF EXISTS(SELECT HASILAR_HASIID FROM #TMPHASILAR WHERE  ISNULL(ASI_YAPILMA_ZAMANI,0)=0)
						SET @HATA = @HATA + ' ' + 'Aşının yapılma zamanı girilmemiş. '
							
					 IF EXISTS(SELECT HASILAR_HASIID FROM #TMPHASILAR WHERE  ISNULL(ALTTA_YATAN_HASTALIK_KODU,'')='')
						SET @HATA = @HATA + ' ' + 'Muayenede Icd Kod girilmemiş. '		

					IF (SELECT COUNT(*) FROM #TMPHASILAR WHERE HASILAR_HASIID=@CURHASILARID) > 0
					BEGIN
						IF @HATA = '' AND @SAYIHATA=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',
										   '206' AS 'messageType/@code',
										   'Asi Sonrasi Istenmeyen Etki Veri Seti' 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' ,
												 SNOKTSFIRMAKODU as 'firmaKodu/@value' ,
												 (
													SELECT 
														(
														   SELECT 
															  (
																 SELECT 
	/*
	                     <ASI_SONRASI_ISTENMEYEN_ETKI>
                            <ASI_ISTENMEYEN_ETKI_BILGISI>
                                <ASI version="1" codeSystemGuid="c3dbbb53-3b59-06e1-e043-14031b0a9fe6" code="Code" value="ASI" />
                                <ASIE_ORTAYA_CIKIS_TARIHI value="ASIE_ORTAYA_CIKIS_TARIHI" />
                                <ASININ_DOZU version="1" codeSystemGuid="da92a50e-b1a8-4e6a-be8c-2b6ca2c0a58b" code="Code" value="ASININ_DOZU" />
                                <ASI_UYGULAMA_YERI version="1" codeSystemGuid="eb66330f-2b96-40a7-931e-fc9aed2b9409" code="Code" value="ASI_UYGULAMA_YERI" />
                                <BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI version="1" codeSystemGuid="c6652612-6fcb-6fa8-e040-7c0a011670bd" code="Code" value="BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI" />
                            </ASI_ISTENMEYEN_ETKI_BILGISI>
                           -- ISNULL(ASI_ERTELEME_SURESI,'') AS 'ASI_ERTELEME_SURESI/@value',
							
	*/
																		'1' AS 'ASI/@version',
																		'c3dbbb53-3b59-06e1-e043-14031b0a9fe6' AS 'ASI/@codeSystemGuid',
																		ISNULL(ASI_ID,'')AS 'ASI/@code',
																		ISNULL(ASI_ADI,'') AS 'ASI/@value',
																		
																		LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19),ASIE_ORTAYA_CIKIS_TARIHI,120),' ',''),'-',''),':',''),12)	 AS 'ASIE_ORTAYA_CIKIS_TARIHI/@value',

																		'1' AS 'ASININ_DOZU/@version',
																		'da92a50e-b1a8-4e6a-be8c-2b6ca2c0a58b' AS 'ASININ_DOZU/@codeSystemGuid',
																		ISNULL(ASININ_DOZU_ID,'')AS 'ASININ_DOZU/@code',
																		ISNULL(ASININ_DOZU_ADI,'') AS 'ASININ_DOZU/@value',

																		'1' AS 'ASI_UYGULAMA_YERI/@version',
																		'eb66330f-2b96-40a7-931e-fc9aed2b9409' AS 'ASI_UYGULAMA_YERI/@codeSystemGuid',
																		ISNULL(ASI_UYGULAMA_YERI_ID,'')AS 'ASI_UYGULAMA_YERI/@code',
																		ISNULL(ASI_UYGULAMA_YERI_ADI,'') AS 'ASI_UYGULAMA_YERI/@value',

																		
																		
																		'1' AS 'BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI/@version',
																		'c6652612-6fcb-6fa8-e040-7c0a011670bd' AS 'BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI/@codeSystemGuid',
																		ISNULL(BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENIID,'')AS 'BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI/@code',
																		ISNULL(BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI_ADI,'') AS 'BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI/@value'

																		
																FROM #TMPHASILAR
																
																FOR XML PATH('ASI_ISTENMEYEN_ETKI_BILGISI'),TYPE
															),
															 (
																 SELECT 
	/*
	                   
							 <OZET_ADRES_BILGISI>
                                <ACIK_ADRES value="ACIK_ADRES" />
                                <ADRES_KODU value="ADRES_KODU" />
                                <ADRES_KODU_SEVIYESI version="1" codeSystemGuid="aa0e83ba-e9db-4817-80da-577fd6a17373" code="Code" value="ADRES_KODU_SEVIYESI" />
                                <ADRES_TIPI version="1" codeSystemGuid="35f4968a-3e72-41ce-9ae4-f4d22f90ea2e" code="Code" value="ADRES_TIPI" />
                            </OZET_ADRES_BILGISI>
	*/
																		
																		ISNULL(ACIK_ADRES,'Adres beyan edilmemiştir') AS 'ACIK_ADRES/@value',
																		'0000' AS 'ADRES_KODU/@value',
																		
																		
																		'1' AS 'ADRES_KODU_SEVIYESI/@version',
																		'c3dbbb53-3b59-06e1-e043-14031b0a9fe6' AS 'ADRES_KODU_SEVIYESI/@codeSystemGuid',
																		ISNULL(ADRES_KODU_SEVIYESI_ID,'')AS 'ADRES_KODU_SEVIYESI/@code',
																		ISNULL(ADRES_KODU_SEVIYESI_ADI,'') AS 'ADRES_KODU_SEVIYESI/@value',
																		
																		LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19),ASIE_ORTAYA_CIKIS_TARIHI,120),' ',''),'-',''),':',''),12)	 AS 'ASIE_ORTAYA_CIKIS_TARIHI/@value',

																		'1' AS 'ASININ_DOZU/@version',
																		'da92a50e-b1a8-4e6a-be8c-2b6ca2c0a58b' AS 'ASININ_DOZU/@codeSystemGuid',
																		ISNULL(ASININ_DOZU_ID,'')AS 'ASININ_DOZU/@code',
																		ISNULL(ASININ_DOZU_ADI,'') AS 'ASININ_DOZU/@value',

																		'1' AS 'ASI_UYGULAMA_YERI/@version',
																		'eb66330f-2b96-40a7-931e-fc9aed2b9409' AS 'ASI_UYGULAMA_YERI/@codeSystemGuid',
																		ISNULL(ASI_UYGULAMA_YERI_ID,'')AS 'ASI_UYGULAMA_YERI/@code',
																		ISNULL(ASI_UYGULAMA_YERI_ADI,'') AS 'ASI_UYGULAMA_YERI/@value',

																		
																		
																		'1' AS 'BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI/@version',
																		'c6652612-6fcb-6fa8-e040-7c0a011670bd' AS 'BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI/@codeSystemGuid',
																		ISNULL(BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENIID,'')AS 'BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI/@code',
																		ISNULL(BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI_ADI,'') AS 'BILDIRIMI_ZORUNLU_ASI_SONRASI_ISTENMEYEN_ETKI_NEDENI/@value'

																		
																FROM #TMPHASILAR
																
																FOR XML PATH('OZET_ADRES_BILGISI'),TYPE
															)

														FOR XML PATH('ASI_SONRASI_ISTENMEYEN_ETKI'),TYPE
													),					
													   (
														SELECT ISNULL(HDOSYA_SNOTAKIPNO, '' ) AS 'SYSTakipNo/@value'
														FOR XML PATH('HASTA_TAKIP_BILGISI'), TYPE 
													)							
												 FOR XML PATH('recordData'), TYPE
											  )
										   FROM #TMPHASILAR WITH(NOLOCK)
										   WHERE HASILAR_HASIID = @CURHASILARID
										FOR XML PATH (''), ROOT('SYSMessage')


									) AS goNDERILECEKXML,
									@HATA AS HATA, 
									@MESAJ AS MESAJ,
									@XMLBASLIK AS XMLBASLIK,
									@CURHASILARID 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,
										@CURHASILARID AS TABLOID,
										0 AS MINID,
										0 AS MAXID
			

							END CATCH
						END
						ELSE
						BEGIN

							INSERT INTO @goNDERIMTABLOSU (goNDERILECEKXML,HATA,MESAJ,XMLBASLIK,TABLOID,MINID,MAXID)
							SELECT	'' AS goNDERILECEKXML,
									LEFT(@HATA,2000) AS HATA, 
									@MESAJ AS MESAJ,
									'' AS XMLBASLIK,
									@CURHASILARID AS TABLOID,
									0 AS MINID,
									0 AS MAXID

							SET @HATA = ''		 
						END
					END




		FETCH NEXT FROM CURHASILARIM INTO @CURHASILARID 
		END --son HER TETKIK KARTI AYRI AYRI goNDER DONGUSU
	

		CLOSE CURHASILARIM
		DEALLOCATE CURHASILARIM

		IF (SELECT COUNT(*) FROM @GONDERIMTABLOSU)=0
			INSERT INTO @GONDERIMTABLOSU (GONDERILECEKXML,HATA,MESAJ,XMLBASLIK,TABLOID,MINID,MAXID)
			SELECT	'' AS GONDERILECEKXML,
					'' AS HATA, 
					'Tüm AŞILAR zaten gönderilmiş' AS MESAJ,
					'' AS XMLBASLIK,
					0 AS TABLOID,
					0 AS MINID,
					0 AS MAXID


	END
	ELSE
	BEGIN

		INSERT INTO @goNDERIMTABLOSU (goNDERILECEKXML,HATA,MESAJ,XMLBASLIK,TABLOID,MINID,MAXID)
		SELECT	'' AS goNDERILECEKXML,
				LEFT(@HATA,2000) AS HATA, 
				@MESAJ AS MESAJ,
				'' AS XMLBASLIK,
				@CURHASILARID AS TABLOID,
				0 AS MINID,
				0 AS MAXID

		SET @HATA = ''		 
	END


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

	

	SELECT * FROM @goNDERIMTABLOSU


END
GO


