

ALTER PROCEDURE [dbo].[SPUSS_201_PATALOJI_KAYIT] 
	@HDOSYAID INT=0,
	@HTETKIKKARTID INT=0,
	@TUMUNUTEKRAR BIT = 0
	 	 
AS
BEGIN
	--SPUSS_201_PATALOJI_KAYIT 5540845,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..#TMPTETKIKSONUC') IS NOT NULL 
	DROP TABLE #TMPTETKIKSONUC

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

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

	/*SELECT 
		HTETKIKDETAY.HTETKIKID AS HTETKIKDETAY_HTETKIKID,
		TSUTLOINC.LOINCID AS TSUTLOINC_LOINCID,
		HTETKIKDETAY.OLCUM AS HTETKIKDETAY_OLCUM,
		HTETKIKDETAY.SONUCR AS HTETKIKDETAY_SONUCR,
		HTETKIKDETAY.SONUCY AS HTETKIKDETAY_SONUCY,
		HTETKIKDETAY.BIRIM AS HTETKIKDETAY_BIRIM,
		HTETKIKDETAY.MIND AS HTETKIKDETAY_MIND,
		HTETKIKDETAY.MAXD AS HTETKIKDETAY_MAXD,
		HTETKIKDETAY.UYARIISRT AS HTETKIKDETAY_UYARIISRT,
		HTETKIKDETAY.ORNEKID AS HTETKIKDETAY_ORNEKID
    INTO #TMPTETKIKSONUC
	FROM HESAPISL WITH(NOLOCK)
	JOIN HTETKIK WITH(NOLOCK) ON HTETKIK.HESAPISLID = HESAPISL.HESAPISLID
	JOIN HTETKIKDETAY WITH(NOLOCK) ON HTETKIKDETAY.HTETKIKID = HTETKIK.HTETKIKID
	JOIN TITEM WITH(NOLOCK) ON TITEM.ITEMID = HESAPISL.ITEMID
	LEFT JOIN TSUTLOINC WITH(NOLOCK) ON TSUTLOINC.SUTLOINCID = TITEM.SUTLOINCID
	LEFT JOIN TBOLUM AS UYGBOLUM WITH(NOLOCK) ON UYGBOLUM.BOLUMID = HESAPISL.UYGBOLUMID
	WHERE HESAPISL.IPTAL = 0 AND HESAPISL.ONAYLI = 1 AND HESAPISL.TEKLIF = 0 
		AND UYGBOLUM.KLINIKKODU IN ('182', '194', '155')
		AND HTETKIK.DURUM=2 AND HESAPISL.HDOSYAID = @HDOSYAID
	ORDER BY HESAPISL.HESAPISLID, HTETKIKDETAY.HTETKIKDETAYID */


	SELECT	HTETKIK.HTETKIKID AS HTETKIK_HTETKIKID,
			HTETKIK.HTETKIKKARTID AS HTETKIK_HTETKIKKARTID,
			HTETKIK.HESAPISLID AS HTETKIK_HESAPISLID,

			CASE WHEN (HTETKIK.ORNEKTARIHI < HTETKIK.KABULTARIH) AND (HTETKIK.KABULTARIH < HTETKIK.SONUCTARIH) AND ( HTETKIK.SONUCTARIH < HTETKIK.ONAYZAMANI) THEN
			HTETKIK.ORNEKTARIHI	ELSE HESAPISL.ITARIH END AS HTETKIK_ORNEKTARIHI,

			CASE WHEN (HTETKIK.ORNEKTARIHI < HTETKIK.KABULTARIH) AND (HTETKIK.KABULTARIH < HTETKIK.SONUCTARIH) AND ( HTETKIK.SONUCTARIH < HTETKIK.ONAYZAMANI) THEN
			HTETKIK.KABULTARIH	ELSE DATEADD(MINUTE,2,HESAPISL.ITARIH) END AS HTETKIK_KABULTARIH, 

			CASE WHEN (HTETKIK.ORNEKTARIHI < HTETKIK.KABULTARIH) AND (HTETKIK.KABULTARIH < HTETKIK.SONUCTARIH) AND ( HTETKIK.SONUCTARIH < HTETKIK.ONAYZAMANI) THEN
			HTETKIK.SONUCTARIH	ELSE DATEADD(MINUTE,7,HESAPISL.ITARIH) END AS HTETKIK_SONUCTARIH, 

			CASE WHEN (HTETKIK.ORNEKTARIHI < HTETKIK.KABULTARIH) AND (HTETKIK.KABULTARIH < HTETKIK.SONUCTARIH) AND ( HTETKIK.SONUCTARIH < HTETKIK.ONAYZAMANI) THEN
			HTETKIK.ONAYZAMANI	ELSE DATEADD(MINUTE,23,HESAPISL.ITARIH) END AS HTETKIK_ONAYZAMANI, 		

			HTETKIK.AccessionNo AS HTETKIK_AccessionNo,
			HTETKIK.DURUM AS HTETKIK_DURUM,
			HTETKIK.NUMUNEDOKUOZELID AS HTETKIK_NUMUNEDOKUOZELID,
			HTETKIK.NUMUNEALINMASEKLIID AS HTETKIK_NUMUNEALINMASEKLIID,
			HTETKIK.PATPREPARATDRMID AS HTETKIK_PATPREPARATDRMID,
			HTETKIK.ICDOYERLESIMYERIKOD AS HTETKIK_ICDOYERLESIMYERIKOD,
			HTETKIK.MORFOLOJIKOD AS HTETKIK_MORFOLOJIKOD,
			HTETKIK.TETKIKDOKTORID AS HTETKIK_TETKIKDOKTORID,
			HTETKIK.HTSONUC AS HTETKIK_HTSONUC,
			HESAPISL.SNOgoNDERILDI AS HESAPISL_SNOgoNDERILDI,
			HESAPISL.HESAPISLID AS HESAPISL_HESAPISLID,
			TITEM.ITEMADI AS TITEM_ITEMADI,
			ISTDR.DRTCKIMLIKNO AS ISTDR_DRTCKIMLIKNO,
			UYGDR.DRTCKIMLIKNO AS UYGDR_DRTCKIMLIKNO,
			ISTBOLUM.KLINIKKODU AS ISTBOLUM_KLINIKKODU,
			ISTKLINIK.KLINIKADI AS ISTKLINIK_KLINIKADI,
			ISNULL((SELECT top 1 TTETKIKDOKTOR.DRTCKIMLIKNO FROM TTETKIKDOKTOR WHERE TTETKIKDOKTOR.TETKIKDOKTORID = HTETKIK.TETKIKDOKTORID),'') AS TTETKIKDOKTOR_DRTCKIMLIKNO,
			ISNULL((SELECT top 1 TNUMUNEDOKUOZEL.NUMUNEDOKUOZELLIGI FROM TNUMUNEDOKUOZEL WHERE TNUMUNEDOKUOZEL.NUMUNEDOKUOZELID = HTETKIK.NUMUNEDOKUOZELID),'') AS TNUMUNEDOKUOZEL_NUMUNEDOKUOZELLIGI,
			ISNULL((SELECT top 1 TNUMUNEALINMASEKLI.NUMUNEALINMASEKLI FROM TNUMUNEALINMASEKLI WHERE TNUMUNEALINMASEKLI.NUMUNEALINMASEKLIID = HTETKIK.NUMUNEALINMASEKLIID),'') AS TNUMUNEALINMASEKLI_NUMUNEALINMASEKLI,
			ISNULL((SELECT TPATOLOJIPREPARATDRM.PATPREPARATDRM FROM TPATOLOJIPREPARATDRM WHERE TPATOLOJIPREPARATDRM.PATPREPARATDRMID = HTETKIK.PATPREPARATDRMID),'') AS TPATOLOJIPREPARATDRM_PATPREPARATDRM,
			ISNULL((SELECT TICDOYERLESIMYERI.TANIM FROM TICDOYERLESIMYERI WHERE TICDOYERLESIMYERI.KOD = HTETKIK.ICDOYERLESIMYERIKOD),'') AS TICDOYERLESIMYERI_TANIM,
			ISNULL((SELECT TICDOMORFOLOJI.TANIM FROM TICDOMORFOLOJI WHERE TICDOMORFOLOJI.MORFOLOJIKOD = HTETKIK.MORFOLOJIKOD),'') AS TICDOMORFOLOJI_TANIM/*,
			ISNULL((SELECT TOP 1 LTRIM(STR( HTETKIKDETAY_ORNEKID,25,0)) FROM #TMPTETKIKSONUC WHERE HTETKIKDETAY_HTETKIKID = HTETKIK.HTETKIKID ),'') AS HTETKIKDETAY_ORNEKID*/
	 INTO #TMPTETKIK
	 FROM   HESAPISL WITH(NOLOCK)
			JOIN HTETKIK WITH(NOLOCK) ON HTETKIK.HESAPISLID = HESAPISL.HESAPISLID
			JOIN TITEM WITH(NOLOCK) ON TITEM.ITEMID = HESAPISL.ITEMID
			LEFT JOIN TBOLUM ISTBOLUM WITH(NOLOCK) ON ISTBOLUM.BOLUMID = HESAPISL.ISTBOLUMID
            LEFT JOIN TBOLUM UYGBOLUM WITH(NOLOCK) ON UYGBOLUM.BOLUMID = HESAPISL.UYGBOLUMID
			LEFT JOIN TDRKIMLIK ISTDR WITH(NOLOCK) ON ISTDR.DRID = HESAPISL.ISTDRID
			LEFT JOIN TDRKIMLIK UYGDR WITH(NOLOCK) ON UYGDR.DRID = HESAPISL.UYGDRID
			LEFT JOIN TKLINIK AS ISTKLINIK WITH(NOLOCK) ON ISTKLINIK.KLINIKKODU = ISTBOLUM.KLINIKKODU			
	WHERE HESAPISL.IPTAL = 0 AND HESAPISL.ONAYLI = 1 AND HESAPISL.TEKLIF = 0 AND HESAPISL.SNKAYDET=1 
			AND UYGBOLUM.KLINIKKODU IN ('182', '194', '155')
			AND HTETKIK.DURUM=2 
			AND HESAPISL.HDOSYAID = @HDOSYAID
			AND (@TUMUNUTEKRAR=1 OR (@TUMUNUTEKRAR=0 AND ISNULL(HTETKIK.USSTETKIKgoNDERILDI,0)=0))
	ORDER BY HESAPISL.HESAPISLID


	SELECT 	SUBELER.SUBEADI AS SUBELER_SUBEADI,			
			HDOSYA.SUBEID AS HDOSYA_SUBEID,
			HDOSYA.SNOTAKIPNO AS HDOSYA_SNOTAKIPNO,
			HTETKIKKART.HTETKIKKARTID AS HTETKIKKART_HTETKIKKARTID,			
			HTETKIKKART.ILKGIRISTRH AS HTETKIKKART_ILKGIRISTRH,
			HTETKIKKART.GIRISTARIH AS HTETKIKKART_GIRISTARIH,
			HKIMLIK.HADI AS HKIMLIK_HADI,
			HKIMLIK.HSOYADI AS HKIMLIK_HSOYADI,
			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 #TMPTETKIKKART
	FROM	HDOSYA WITH(NOLOCK)
	JOIN HKIMLIK ON HKIMLIK.HKIMLIKID  = HDOSYA.HKIMLIKID 
	JOIN SUBELER WITH(NOLOCK) ON SUBELER.SUBEID = HDOSYA.SUBEID
	JOIN HTETKIKKART WITH(NOLOCK) ON HTETKIKKART.HDOSYAID = HDOSYA.HDOSYAID	   
	WHERE   HDOSYA.HDTEKLIF = 0
		AND	HDOSYA.HDIPTAL = 0
		AND HDOSYA.HDOSYAID = @HDOSYAID
		AND (@HTETKIKKARTID=0 OR HTETKIKKART.HTETKIKKARTID=@HTETKIKKARTID)
	ORDER BY HTETKIKKART.HTETKIKKARTID



	IF (SELECT COUNT(*) FROM #TMPTETKIKKART) = 0 
	BEGIN
		SET @SAYIHATA = 1
		SET @MESAJ = @MESAJ + 'Dosyaya ait tetkik kaydı bulunamadı! '
	END

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

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

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

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

					/*IF (SELECT COUNT(*) FROM #TMPTETKIK WHERE HTETKIK_HTETKIKKARTID=@CURHTETKIKKARTID) = 0
					BEGIN
						SET @SAYIHATA = 1
						SET @MESAJ = @MESAJ + 'Tetkik kartı için USS''ye gönderilecek tetkik bulunmamaktadır! '
					END*/

					IF EXISTS(SELECT * FROM #TMPTETKIK WHERE HTETKIK_DURUM<>2 AND HTETKIK_HTETKIKKARTID=@CURHTETKIKKARTID)
						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=@CURHTETKIKKARTID ),'') + + ' işlemi tamamlanmamış durumdadır. '

					IF EXISTS(SELECT * FROM #TMPTETKIK WHERE ISNULL(HESAPISL_SNOgoNDERILDI,0)<>1 AND HTETKIK_HTETKIKKARTID=@CURHTETKIKKARTID)
						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 ISNULL(HESAPISL_SNOgoNDERILDI,0)<>1  AND HTETKIKKART_HTETKIKKARTID=@CURHTETKIKKARTID ),'')++ ' işlemi USS''ye hizmet gönderimini yapınız '

					IF EXISTS(SELECT HTETKIK_HTETKIKID FROM #TMPTETKIK WHERE  ISNULL(ISTDR_DRTCKIMLIKNO,'')='')
						SET @HATA = @HATA + ' ' + 'Tetkik istemini yapan doktorun TC Kimlik numarası tanımlanmamış. '

					--IF EXISTS(SELECT HTETKIK_HTETKIKID FROM #TMPTETKIK WHERE  ISNULL(UYGDR_DRTCKIMLIKNO,'')='')
						--SET @HATA = @HATA + ' ' + 'Tetkiki uygulayan doktorun TC Kimlik Numarası tanımlanmamış. '

					IF EXISTS(SELECT HTETKIK_HTETKIKID FROM #TMPTETKIK WHERE  ISNULL(HTETKIK_SONUCTARIH,'')='')
						SET @HATA = @HATA + ' ' + 'Tetkikin sonuç zamanı (raporlama tarihi) girilmemiş. '

					 --PATALOJI
					IF EXISTS(SELECT HTETKIK_HTETKIKID FROM #TMPTETKIK WHERE  ISNULL(HTETKIK_NUMUNEDOKUOZELID,0)=0)
						SET @HATA = @HATA + ' ' + 'Tetkik numunesinin alındığı dokunun temel özelliği girilmemiş. '

					IF EXISTS(SELECT HTETKIK_HTETKIKID FROM #TMPTETKIK WHERE  ISNULL(HTETKIK_NUMUNEALINMASEKLIID,0)=0)
						SET @HATA = @HATA + ' ' + 'Tetkikin numunesinin alınma şekli girilmemiş. '

					IF EXISTS(SELECT HTETKIK_HTETKIKID FROM #TMPTETKIK WHERE  ISNULL(HTETKIK_PATPREPARATDRMID,0)=0)
						SET @HATA = @HATA + ' ' + 'Patoloji preparatı durumu girilmemiş. '

					IF EXISTS(SELECT HTETKIK_HTETKIKID FROM #TMPTETKIK WHERE  ISNULL(HTETKIK_ICDOYERLESIMYERIKOD,0)=0)
						SET @HATA = @HATA + ' ' + 'Yerleşim yeri girilmemiş. '

					IF EXISTS(SELECT HTETKIK_HTETKIKID FROM #TMPTETKIK WHERE  ISNULL(HTETKIK_MORFOLOJIKOD,'')='')
						SET @HATA = @HATA + ' ' + 'Morfoloji kodu girilmemiş. '				
		

					IF (SELECT COUNT(*) FROM #TMPTETKIK WHERE HTETKIK_HTETKIKKARTID=@CURHTETKIKKARTID) > 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',
										   '201' AS 'messageType/@code',
										   'Patoloji Kayıt' 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 
															  (
																 SELECT 
																		ISNULL(HESAPISL_HESAPISLID, '') AS 'ISLEM_REFERANS_NUMARASI/@value',
																		LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19),HTETKIKKART_GIRISTARIH,120),' ',''),'-',''),':',''),12)	 AS 'ISTEM_ZAMANI/@value',
																		'1' AS 'ISTEM_YAPILAN_KLINIK/@version',
																		'c04bee57-c5d4-443d-e040-7b0a6f146a3d' AS 'ISTEM_YAPILAN_KLINIK/@codeSystemGuid',
																		ISNULL(ISTBOLUM_KLINIKKODU,'')AS 'ISTEM_YAPILAN_KLINIK/@code',
																		ISNULL(ISTKLINIK_KLINIKADI,'') AS 'ISTEM_YAPILAN_KLINIK/@value',
																		ISNULL(ISTDR_DRTCKIMLIKNO,'') AS 'ISTEM_YAPAN_HEKIM_KIMLIK_NUMARASI/@value',
																		ISNULL(LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19),HTETKIK_SONUCTARIH,120),' ',''),'-',''),':',''),12),'') AS 'RAPORLAMA_ZAMANI/@value',
																		(SELECT CASE 
																			  WHEN UYGDR_DRTCKIMLIKNO IS NULL 
																			  THEN
																				TTETKIKDOKTOR_DRTCKIMLIKNO																		 
																			  ELSE
																				 UYGDR_DRTCKIMLIKNO 
																			  END) AS 'RAPORLAYAN_HEKIM_KIMLIK_NUMARASI/@value',
																		'1' AS 'NUMUNENIN_ALINDIGI_DOKUNUN_TEMEL_OZELLIGI/@version',
																		'cf34c46d-c31f-4922-9b74-68cc69412cfc' AS 'NUMUNENIN_ALINDIGI_DOKUNUN_TEMEL_OZELLIGI/@codeSystemGuid',
																		ISNULL(CONVERT(VARCHAR(20),HTETKIK_NUMUNEDOKUOZELID),'') AS 'NUMUNENIN_ALINDIGI_DOKUNUN_TEMEL_OZELLIGI/@code',
																		TNUMUNEDOKUOZEL_NUMUNEDOKUOZELLIGI AS 'NUMUNENIN_ALINDIGI_DOKUNUN_TEMEL_OZELLIGI/@value',
																		'1' AS 'NUMUNE_ALINMA_SEKLI/@version',
																		'051c2db0-f724-457a-ac46-7d3a741b7ae2' AS 'NUMUNE_ALINMA_SEKLI/@codeSystemGuid',
																		ISNULL(CONVERT(VARCHAR(20),HTETKIK_NUMUNEALINMASEKLIID),'') AS 'NUMUNE_ALINMA_SEKLI/@code',
																		TNUMUNEALINMASEKLI_NUMUNEALINMASEKLI AS 'NUMUNE_ALINMA_SEKLI/@value',						
																		'1' AS 'PREPARAT_DURUMU/@version',
																		'4016f2d2-9b44-43e1-834d-d1c045419fea' AS 'PREPARAT_DURUMU/@codeSystemGuid',
																		ISNULL(CONVERT(VARCHAR(20), HTETKIK_PATPREPARATDRMID),'') AS 'PREPARAT_DURUMU/@code',
																		TPATOLOJIPREPARATDRM_PATPREPARATDRM AS 'PREPARAT_DURUMU/@value',
																		'1' AS 'YERLESIM_YERI/@version',
																		'fc24f548-c383-4855-be0b-0f1d23599bba' AS 'YERLESIM_YERI/@codeSystemGuid',
																		ISNULL(CONVERT(VARCHAR(20),HTETKIK_ICDOYERLESIMYERIKOD),'') AS 'YERLESIM_YERI/@code',
																		TICDOYERLESIMYERI_TANIM AS 'YERLESIM_YERI/@value',
																		'1' AS 'MORFOLOJI_KODU/@version',
																		'40220f50-1c9c-43c9-9bbd-45794d5cc7b2' AS 'MORFOLOJI_KODU/@codeSystemGuid',
																		ISNULL(CONVERT(VARCHAR(20),HTETKIK_MORFOLOJIKOD),'') AS 'MORFOLOJI_KODU/@code',
																		TICDOMORFOLOJI_TANIM AS 'MORFOLOJI_KODU/@value',
																		ISNULL(DBO.RTF2Text(HTETKIK_HTSONUC),'') AS 'TETKIK_SONUCU/@value'
																FROM #TMPTETKIK
																WHERE HTETKIK_HTETKIKKARTID = HTETKIKKART_HTETKIKKARTID
																FOR XML PATH('PATOLOJI_BILGISI'),TYPE
															)
														FOR XML PATH('HASTA_PATOLOJI_BILGILERI'),TYPE
													),					
													   (
														SELECT ISNULL(HDOSYA_SNOTAKIPNO, '' ) AS 'SYSTakipNo/@value'
														FOR XML PATH('HASTA_TAKIP_BILGISI'), TYPE 
													)							
												 FOR XML PATH('recordData'), TYPE
											  )
										   FROM #TMPTETKIKKART WITH(NOLOCK)
										   WHERE HTETKIKKART_HTETKIKKARTID = @CURHTETKIKKARTID
										FOR XML PATH (''), ROOT('SYSMessage')


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

							SET @HATA = ''		 
						END
					END




		FETCH NEXT FROM CURTETKIKKART INTO @CURHTETKIKKARTID 
		END --son HER TETKIK KARTI AYRI AYRI goNDER DONGUSU
	

		CLOSE CURTETKIKKART
		DEALLOCATE CURTETKIKKART

		IF (SELECT COUNT(*) FROM @GONDERIMTABLOSU)=0
			INSERT INTO @GONDERIMTABLOSU (GONDERILECEKXML,HATA,MESAJ,XMLBASLIK,TABLOID,MINID,MAXID)
			SELECT	'' AS GONDERILECEKXML,
					'' AS HATA, 
					'Tüm tetkikler 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,
				@CURHTETKIKKARTID AS TABLOID,
				0 AS MINID,
				0 AS MAXID

		SET @HATA = ''		 
	END


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

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

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


	SELECT * FROM @goNDERIMTABLOSU


END
