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

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


SELECT 
 USS247.ID USSDIGER_ID
,USS247.HDOSYAID
,USS247.HMUAYENEID
,USS247.HKIMLIKID
,USS247.HYATISID,

USS247.GAITADA_GIZLI_KAN_TESTI AS GAITADA_GIZLI_KAN_TESTI_ID,
TGAITADA_GIZLI_KAN_TESTI.AD AS GAITADA_GIZLI_KAN_TESTI_ADI,

USS247.HPV_TARAMA_TESTI AS HPV_TARAMA_TESTI_ID,
THPV_TARAMA_TESTI.AD AS HPV_TARAMA_TESTI_ADI,

USS247.KENDI_KENDINE_MEME_MUAYENESI AS KENDI_KENDINE_MEME_MUAYENESI_ID,
TKENDI_KENDINE_MEME_MUAYENESI.AD AS KENDI_KENDINE_MEME_MUAYENESI_ADI,

USS247.KLINIK_MEME_MUAYENESI AS KLINIK_MEME_MUAYENESI_ID,
TKLINIK_MEME_MUAYENESI.AD AS KLINIK_MEME_MUAYENESI_ADI,

(SELECT TOP 1 ICDKOD FROM HDOSYAICD WHERE HDOSYAICD.HDOSYAID=HDOSYA.HDOSYAID ORDER BY ANATANI DESC) AS BIRLIKTE_GORULEN_EK_HASTALIKLAR_ID,
(SELECT TOP 1 (SELECT TICD.ICDADI FROM TICD WHERE TICD.ICDKOD=HDOSYAICD.ICDKOD) FROM HDOSYAICD WHERE HDOSYAICD.HDOSYAID=HDOSYA.HDOSYAID ORDER BY ANATANI DESC) AS BIRLIKTE_GORULEN_EK_HASTALIKLAR_ADI,

USS247.KOLONOSKOPI AS KOLONOSKOPI_ID,
TKOLONOSKOPI.AD AS KOLONOSKOPI_ADI,

USS247.KOLONOSKOPININ_SURESI AS KOLONOSKOPININ_SURESI_ID,
TKOLONOSKOPININ_SURESI.AD AS KOLONOSKOPININ_SURESI_ADI,

USS247.KOLON_GORUNTULEME_YONTEMI AS KOLON_GORUNTULEME_YONTEMI_ID,
TKOLON_GORUNTULEME_YONTEMI.AD AS KOLON_GORUNTULEME_YONTEMI_ADI,

USS247.KOLPOSKOPI AS KOLPOSKOPI_ID,
TKOLPOSKOPI.AD AS KOLPOSKOPI_ADI,

USS247.MAMOGRAFI AS MAMOGRAFI_ID,
TMAMOGRAFI.AD AS MAMOGRAFI_ADI,

USS247.MAMOGRAFI_SONUCU AS MAMOGRAFI_SONUCU_ID,
TMAMOGRAFI_SONUCU.AD AS MAMOGRAFI_SONUCU_ADI,

USS247.PAP_SMEAR_TESTI AS PAP_SMEAR_TESTI_ID,
TPAP_SMEAR_TESTI.AD AS PAP_SMEAR_TESTI_ADI,

USS247.SIGMOIDOSKOPI AS SIGMOIDOSKOPI_ID,
TSIGMOIDOSKOPI.AD AS SIGMOIDOSKOPI_ADI,

USS247.HPV_TIPI AS HPV_TIPI_ID,
THPV_TIPI.AD AS HPV_TIPI_ADI,

USS247.KOLONOSKOPI_KALITE_KRITERLERI AS KOLONOSKOPI_KALITE_KRITERLERI_ID,
TKOLONOSKOPI_KALITE_KRITERLERI.AD AS KOLONOSKOPI_KALITE_KRITERLERI_ADI,

USS247.KOLOREKTAL_BIYOPSI_SONUCU AS KOLOREKTAL_BIYOPSI_SONUCU_ID,
TKOLOREKTAL_BIYOPSI_SONUCU.AD AS KOLOREKTAL_BIYOPSI_SONUCU_ADI,

USS247.MEMEDEN_BIYOPSI_ALIMI AS MEMEDEN_BIYOPSI_ALIMI_ID,
TMEMEDEN_BIYOPSI_ALIMI.AD AS MEMEDEN_BIYOPSI_ALIMI_ADI,

USS247.MEME_BIYOPSI_SONUCU AS MEME_BIYOPSI_SONUCU_ID,
TMEME_BIYOPSI_SONUCU.AD AS MEME_BIYOPSI_SONUCU_ADI,

USS247.SERVIKAL_BIYOPSI_SONUCU AS SERVIKAL_BIYOPSI_SONUCU_ID,
TSERVIKAL_BIYOPSI_SONUCU.AD AS SERVIKAL_BIYOPSI_SONUCU_ADI,

USS247.SERVIKAL_SITOLOJI_SONUCU AS SERVIKAL_SITOLOJI_SONUCU_ID,
TSERVIKAL_SITOLOJI_SONUCU.AD AS SERVIKAL_SITOLOJI_SONUCU_ADI,

USS247.TARAMA_TIPI AS TARAMA_TIPI_ID,
TTARAMA_TIPI.AD AS TARAMA_TIPI_ADI,

TARAMA_TARIHI, 
TARAMA_SONUCLANMA_TARIHI,

HDOSYA.SUBEID HDOSYA_SUBEID
	  ,SUBELER.SUBEADI SUBELER_SUBEADI
	  ,HDOSYA.SNOTAKIPNO HDOSYA_SNOTAKIPNO
	  ,		 ISNULL((SELECT TOP 1 VALUESTR FROM CONFIG WITH(NOLOCK) WHERE SECTIONSTR='Saglik-Net' AND PROGNAME='MEDISOFT' AND KEYNAME= CONVERT(VARCHAR,HDOSYA.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,HDOSYA.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,HDOSYA.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,HDOSYA.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,HDOSYA.SUBEID)+' numarali subede Hasta kayıt gönderiminde referans no ön Karakteri'),'') AS REFNOONEK

INTO #TMPUSSDIGER 

FROM USS247_TOPLUM_TABANLI_KANSER_TARAMA AS USS247
INNER JOIN HDOSYA ON HDOSYA.HDOSYAID = USS247.HDOSYAID
LEFT JOIN HKIMLIK ON HKIMLIK.HKIMLIKID=HDOSYA.HKIMLIKID
LEFT JOIN	SUBELER ON SUBELER.SUBEID=HDOSYA.SUBEID

LEFT JOIN 
(
SELECT 'SONUÇ NEGATİF' AS AD, 1 AS Id
UNION ALL
SELECT 'SONUÇ POZİTİF', 2
UNION ALL
SELECT 'SONUÇ BELİRSİZ', 3
) TGAITADA_GIZLI_KAN_TESTI ON TGAITADA_GIZLI_KAN_TESTI.ID=USS247.GAITADA_GIZLI_KAN_TESTI

LEFT JOIN 
(
SELECT 'NEGATİF' AS AD, 1 AS Id
UNION ALL
SELECT 'POZİTİF', 2
UNION ALL
SELECT 'YETERSİZ MATERYAL', 4
) THPV_TARAMA_TESTI ON THPV_TARAMA_TESTI.ID=USS247.HPV_TARAMA_TESTI

LEFT JOIN
(
SELECT 'DÜZENLI YAPIYOR' AS AD, 1 AS Id
UNION ALL
SELECT 'YAPMIYOR', 2
UNION ALL
SELECT 'DÜZENSİZ YAPIYOR', 3
) TKENDI_KENDINE_MEME_MUAYENESI ON TKENDI_KENDINE_MEME_MUAYENESI.ID = USS247.KENDI_KENDINE_MEME_MUAYENESI

LEFT JOIN
(
SELECT 'YAPILDI' AS AD, 1 AS Id
UNION ALL
SELECT 'YAPILDI, ELE GELEN KİTLE', 2
UNION ALL
SELECT 'KIŞI ISTEMEDI', 4
UNION ALL
SELECT 'YAPILDI, KITLE DIŞINDA PATOLOJI MEVCUT', 5
) TKLINIK_MEME_MUAYENESI ON TKLINIK_MEME_MUAYENESI.ID = USS247.KLINIK_MEME_MUAYENESI

LEFT JOIN
(
SELECT 'NORMAL, BİYOPSİ GEREKSİZ' AS AD, 1 AS Id
UNION ALL
SELECT 'NORMAL BİYOPSİ ALINDI', 2
UNION ALL
SELECT 'ANORMAL BİYOPSİ ALINDI', 3
UNION ALL
SELECT 'DEĞERLENDIRILEMEDI', 4
UNION ALL
SELECT 'KIŞI ISTEMEDI', 5
) TKOLONOSKOPI ON TKOLONOSKOPI.ID = USS247.KOLONOSKOPI

LEFT JOIN
(
SELECT '30 DAKİKADAN AZ' AS AD, 1 AS Id
UNION ALL
SELECT '30-60 DAKİKA', 2
UNION ALL
SELECT '60 DAKİKADAN FAZLA', 3
) TKOLONOSKOPININ_SURESI ON TKOLONOSKOPININ_SURESI.ID = USS247.KOLONOSKOPININ_SURESI


LEFT JOIN
(
SELECT 'REDDEDİLDİ.' AS AD, 1 AS Id
UNION ALL
SELECT 'NORMAL, BİYOPSİ GEREKSİZ', 2
UNION ALL
SELECT 'NORMAL BİYOPSİ ALİNDİ.', 3
UNION ALL
SELECT 'ANORMAL BİYOPSİ ALİNDİ.', 4
UNION ALL
SELECT 'ANORMAL TEDAVİ EDİLDİ.', 5
UNION ALL
SELECT 'UYGULANAMADI, SEVK EDİLDİ', 6
) TKOLON_GORUNTULEME_YONTEMI ON TKOLON_GORUNTULEME_YONTEMI.ID = USS247.KOLON_GORUNTULEME_YONTEMI

LEFT JOIN
(
SELECT 'REDDEDİLDİ.' AS AD, 1 AS Id
UNION ALL
SELECT 'NORMAL, BİYOPSİ GEREKSİZ', 2
UNION ALL
SELECT 'NORMAL BİYOPSİ ALİNDİ.', 3
UNION ALL
SELECT 'ANORMAL BİYOPSİ ALİNDİ.', 4
UNION ALL
SELECT 'ANORMAL TEDAVİ EDİLDİ.', 5
UNION ALL
SELECT 'UYGULANAMADI, SEVK EDİLDİ', 6
) TKOLPOSKOPI ON TKOLPOSKOPI.ID = USS247.KOLPOSKOPI

LEFT JOIN
(
SELECT 'KIŞI ISTEMEDI' AS AD, 1 AS Id
UNION ALL
SELECT 'NORMAL', 2
UNION ALL
SELECT 'KİTLE GÖRÜLDÜ,BİYOPSİ ALINDI', 3
UNION ALL
SELECT 'KİTLE GÖRÜLDÜ, TAKİBE ALINDI', 4
UNION ALL
SELECT 'KİTLE GÖRÜLDÜ, EK TETKİK İSTENDİ', 5
UNION ALL
SELECT 'KITLE GÖRÜLDÜ, SEVK EDILDI', 6
UNION ALL
SELECT 'EK TETKIK ISTENDI', 8
UNION ALL
SELECT 'KETEM'' E SEVK EDILDI', 9
) TMAMOGRAFI ON TMAMOGRAFI.ID = USS247.MAMOGRAFI

LEFT JOIN
(
SELECT 'BI-RADS 0' AS AD, 1 AS Id
UNION ALL
SELECT 'BI-RADS 1-2', 2
UNION ALL
SELECT 'BI-RADS 3', 3
UNION ALL
SELECT 'BI-RADS 4', 4
UNION ALL
SELECT 'BI-RADS 5', 5
) TMAMOGRAFI_SONUCU ON TMAMOGRAFI_SONUCU.ID = USS247.MAMOGRAFI_SONUCU

LEFT JOIN
(
SELECT 'POZİTİF HPV SONRASI ALINDI' AS AD, 1 AS Id
UNION ALL
SELECT 'NEGATİF HPV SONRASI ALINDI', 2
UNION ALL
SELECT 'HPV BAKILMADAN ALINDI', 3
) TPAP_SMEAR_TESTI ON TPAP_SMEAR_TESTI.ID = USS247.PAP_SMEAR_TESTI

LEFT JOIN
(
SELECT 'NORMAL, BİYOPSİ GEREKSİZ' AS AD, 1 AS Id
UNION ALL
SELECT 'NORMAL, BİYOPSİ ALINDI', 2
UNION ALL
SELECT 'ANORMAL, BİYOPSİ ALINDI', 3
UNION ALL
SELECT 'DEĞERLENDİRİLEMEDİ', 4
) TSIGMOIDOSKOPI ON TSIGMOIDOSKOPI.ID = USS247.SIGMOIDOSKOPI

LEFT JOIN
(
SELECT 'HPV TIP 16' AS AD, 1 AS Id
UNION ALL
SELECT 'HPV TIP 18', 2
UNION ALL
SELECT 'DİĞER', 3
UNION ALL
SELECT 'HPV TIPI 31', 4
UNION ALL
SELECT 'HPV TIPI 33', 5
UNION ALL
SELECT 'HPV TIPI 35', 6
UNION ALL
SELECT 'HPV TIPI 39', 7
UNION ALL
SELECT 'HPV TIPI 45', 8
UNION ALL
SELECT 'HPV TIPI 51', 9
UNION ALL
SELECT 'HPV TIPI 52', 10
UNION ALL
SELECT 'HPV TIPI 56', 11
UNION ALL
SELECT 'HPV TIPI 58', 12
UNION ALL
SELECT 'HPV TIPI 59', 13
UNION ALL
SELECT 'HPV TIPI 68', 14
UNION ALL
SELECT 'HPV TIP 66', 15
) THPV_TIPI ON THPV_TIPI.ID = USS247.HPV_TIPI

LEFT JOIN
(
SELECT 'ANESTEZİ VERİLDİ' AS AD, 1 AS Id
UNION ALL
SELECT 'ANESTEZİ VERİLMEDİ', 2
UNION ALL
SELECT 'ANTİBİYOTİK PROFİLAKSİ YAPILDI', 3
UNION ALL
SELECT 'ANTİBİYOTİK PROFİLAKSİ YAPILMADI', 4
UNION ALL
SELECT 'KOLON TEMİZLİĞİ YAPILDI', 5
UNION ALL
SELECT 'KOLON TEMİZLİĞİ YAPILMADI', 6
UNION ALL
SELECT 'ÇEKUM SONU GÖRÜNTÜLENMESİ YAPILDI', 7
UNION ALL
SELECT 'ÇEKUM SONU GÖRÜNTÜLENMESİ YAPILMADI', 8
) TKOLONOSKOPI_KALITE_KRITERLERI ON TKOLONOSKOPI_KALITE_KRITERLERI.ID = USS247.KOLONOSKOPI_KALITE_KRITERLERI

LEFT JOIN
(
SELECT 'ANESTEZİ VERİLDİ' AS AD, 1 AS Id
UNION ALL
SELECT 'ANESTEZİ VERİLMEDİ', 2
UNION ALL
SELECT 'ANTİBİYOTİK PROFİLAKSİ YAPILDI', 3
UNION ALL
SELECT 'ANTİBİYOTİK PROFİLAKSİ YAPILMADI', 4
UNION ALL
SELECT 'KOLON TEMİZLİĞİ YAPILDI', 5
UNION ALL
SELECT 'KOLON TEMİZLİĞİ YAPILMADI', 6
UNION ALL
SELECT 'ÇEKUM SONU GÖRÜNTÜLENMESİ YAPILDI', 7
UNION ALL
SELECT 'ÇEKUM SONU GÖRÜNTÜLENMESİ YAPILMADI', 8
) TKOLOREKTAL_BIYOPSI_SONUCU ON TKOLOREKTAL_BIYOPSI_SONUCU.ID = USS247.KOLOREKTAL_BIYOPSI_SONUCU


LEFT JOIN
(
SELECT 'İNCE İĞNE BİYOPSİSİ' AS AD, 1 AS Id
UNION ALL
SELECT 'KALIN İĞNE (TRU-CUT) BİYOPSİSİ', 2
UNION ALL
SELECT 'EKSİZYONEL BİYOPSİ', 3
UNION ALL
SELECT 'TELLE İŞARETLEME (STEROTAKTİK)', 4
UNION ALL
SELECT 'KİŞİ BİYOPSİ ALDIRMAYI REDDETTİ', 5
) TMEMEDEN_BIYOPSI_ALIMI ON TMEMEDEN_BIYOPSI_ALIMI.ID = USS247.MEMEDEN_BIYOPSI_ALIMI

LEFT JOIN
(
SELECT 'NORMAL' AS AD, 1 AS Id
UNION ALL
SELECT 'FİBROKİSTİK HASTALİK', 2
UNION ALL
SELECT 'FİBROADENOM', 3
UNION ALL
SELECT 'EPİTELYAL HİPERPLAZİ', 4
UNION ALL
SELECT 'SKLEROZAN ADENOZİS', 5
UNION ALL
SELECT 'DUKTAL KARSİNOMA İN SİTU (DCIS)', 6
UNION ALL
SELECT 'LOBULER KARSİNOMA İN SİTU (LCIS)', 7
UNION ALL
SELECT 'KANSER', 8
UNION ALL
SELECT 'YETERSİZ MATERYAL', 9
UNION ALL
SELECT 'DİĞER', 10
) TMEME_BIYOPSI_SONUCU ON TMEME_BIYOPSI_SONUCU.ID = USS247.MEME_BIYOPSI_SONUCU

LEFT JOIN
(
SELECT 'NORMAL VEYA KRONIK SERVISIT' AS AD, 1 AS Id
UNION ALL
SELECT 'CIN 1', 2
UNION ALL
SELECT 'CIN 2', 3
UNION ALL
SELECT 'CIN 3 (KARSİNOMA IN SİTU)', 4
UNION ALL
SELECT 'SKUAMOZ KANSER', 5
UNION ALL
SELECT 'AIS (ADENOKARSİNOMA IN SİTU)', 6
UNION ALL
SELECT 'ADENO KANSER', 7
UNION ALL
SELECT 'YETERSİZ MATERYAL', 8
UNION ALL
SELECT 'DİĞER', 98
) TSERVIKAL_BIYOPSI_SONUCU ON TSERVIKAL_BIYOPSI_SONUCU.ID = USS247.SERVIKAL_BIYOPSI_SONUCU

LEFT JOIN
(
SELECT 'NORMAL' AS AD, 1 AS Id
UNION ALL
SELECT 'ENFEKSIYON (İNFLAMASYON BULGULARI, INTRA EPITERYAL LEZYON/ MALIGNITE YÖNÜNDEN NEGATIF)', 2
UNION ALL
SELECT 'ASC-US', 3
UNION ALL
SELECT 'ASC-H', 4
UNION ALL
SELECT 'LGSIL', 5
UNION ALL
SELECT 'HGSIL', 6
UNION ALL
SELECT 'AGC', 7
UNION ALL
SELECT 'AIS(ADENOKARSİNOMA IN SİTU)', 8
UNION ALL
SELECT 'YETERSIZ MATERYAL', 9
UNION ALL
SELECT 'DİĞER', 10
) TSERVIKAL_SITOLOJI_SONUCU ON TSERVIKAL_SITOLOJI_SONUCU.ID = USS247.SERVIKAL_SITOLOJI_SONUCU

LEFT JOIN
(
SELECT 'KOLOREKTAL' AS AD, 1 AS Id
UNION ALL
SELECT 'MEME', 2
UNION ALL
SELECT 'SERVIKS', 3
) TTARAMA_TIPI ON TTARAMA_TIPI.ID = USS247.TARAMA_TIPI

WHERE USS247.HMUAYENEID= @HMUAYENEID AND USS247.HDOSYAID = @HDOSYAID 


	IF (SELECT COUNT(*) FROM #TMPUSSDIGER) = 0 
	BEGIN
		SET @SAYIHATA = 1
		SET @MESAJ = @MESAJ + 'Gönderilecek kayıt bulunamadı! '
	END

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

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

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

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

		
					 
					IF EXISTS(SELECT USSDIGER_ID FROM #TMPUSSDIGER WHERE  ISNULL(USSDIGER_ID,0)=0)
						SET @HATA = @HATA + ' ' + 'Kayıt seçilmemiş. '


					IF (SELECT COUNT(*) FROM #TMPUSSDIGER WHERE USSDIGER_ID=@CURUSSDIGERID) > 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',
										   '247' AS 'messageType/@code',
										   'Toplum Tabanli Kanser Tarama 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 
																   
																   --<DIYALIZ_TEDAVISINE_BASLAMA_TARIHI value="DIYALIZ_TEDAVISINE_BASLAMA_TARIHI" />
																   --LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19),DIYALIZ_TEDAVISINE_BASLAMA_TARIHI,120),' ',''),'-',''),':',''),12)	 AS 'DIYALIZ_TEDAVISINE_BASLAMA_TARIHI/@value',

																--<GAITADA_GIZLI_KAN_TESTI version="1" codeSystemGuid="a6a592bd-2653-4410-b03e-7b8cd712d3bb" code="Code" value="GAITADA_GIZLI_KAN_TESTI" />
																		
																		--	'1' AS 'GAITADA_GIZLI_KAN_TESTI/@version',
																		--'a6a592bd-2653-4410-b03e-7b8cd712d3bb' AS 'GAITADA_GIZLI_KAN_TESTI/@codeSystemGuid',
																		--	GAITADA_GIZLI_KAN_TESTI_ID AS 'GAITADA_GIZLI_KAN_TESTI/@code',
																		--GAITADA_GIZLI_KAN_TESTI_ADI AS 'GAITADA_GIZLI_KAN_TESTI/@value',

																		(
																				SELECT
																					'1' AS '@version',
																					'a6a592bd-2653-4410-b03e-7b8cd712d3bb' AS '@codeSystemGuid',
																					GAITADA_GIZLI_KAN_TESTI_ID AS '@code',
																					GAITADA_GIZLI_KAN_TESTI_ADI AS '@value'
																				WHERE GAITADA_GIZLI_KAN_TESTI_ID IS NOT NULL
																				FOR XML PATH('GAITADA_GIZLI_KAN_TESTI'), TYPE
																			),
																		
																		
																		-- HPV_TARAMA_TESTI
																		(
																			SELECT
																				'1' AS '@version',
																				'a1edee3c-cdb4-4b36-810e-ae461b6faeeb' AS '@codeSystemGuid',
																				HPV_TARAMA_TESTI_ID  AS '@code',
																				HPV_TARAMA_TESTI_ADI AS '@value'
																			WHERE HPV_TARAMA_TESTI_ID IS NOT NULL
																			FOR XML PATH('HPV_TARAMA_TESTI'), TYPE
																		),

																		-- KENDI_KENDINE_MEME_MUAYENESI
																		(
																			SELECT
																				'1' AS '@version',
																				'ca7e0d3b-777c-4637-8094-1e17d4eca5f0' AS '@codeSystemGuid',
																				KENDI_KENDINE_MEME_MUAYENESI_ID  AS '@code',
																				KENDI_KENDINE_MEME_MUAYENESI_ADI AS '@value'
																			WHERE KENDI_KENDINE_MEME_MUAYENESI_ID IS NOT NULL
																			FOR XML PATH('KENDI_KENDINE_MEME_MUAYENESI'), TYPE
																		),

																		-- KLINIK_MEME_MUAYENESI
																		(
																			SELECT
																				'1' AS '@version',
																				'46ff4cc1-3a97-4cb5-a188-b60ad5ef948c' AS '@codeSystemGuid',
																				KLINIK_MEME_MUAYENESI_ID  AS '@code',
																				KLINIK_MEME_MUAYENESI_ADI AS '@value'
																			WHERE KLINIK_MEME_MUAYENESI_ID IS NOT NULL
																			FOR XML PATH('KLINIK_MEME_MUAYENESI'), TYPE
																		),

																		-- KOLONOSKOPI
																		(
																			SELECT
																				'1' AS '@version',
																				'd7dfe101-8df8-95d6-e040-7c0a04163ae7' AS '@codeSystemGuid',
																				KOLONOSKOPI_ID  AS '@code',
																				KOLONOSKOPI_ADI AS '@value'
																			WHERE KOLONOSKOPI_ID IS NOT NULL
																			FOR XML PATH('KOLONOSKOPI'), TYPE
																		),

																		-- KOLONOSKOPININ_SURESI
																		(
																			SELECT
																				'1' AS '@version',
																				'5a9738a0-2ba6-4985-8dbc-409e04b5d456' AS '@codeSystemGuid',
																				KOLONOSKOPININ_SURESI_ID  AS '@code',
																				KOLONOSKOPININ_SURESI_ADI AS '@value'
																			WHERE KOLONOSKOPININ_SURESI_ID IS NOT NULL
																			FOR XML PATH('KOLONOSKOPININ_SURESI'), TYPE
																		),

																		-- KOLON_GORUNTULEME_YONTEMI
																		(
																			SELECT
																				'1' AS '@version',
																				'72ee89f5-de3d-4b1a-b806-d73ea34acbd0' AS '@codeSystemGuid',
																				KOLON_GORUNTULEME_YONTEMI_ID  AS '@code',
																				KOLON_GORUNTULEME_YONTEMI_ADI AS '@value'
																			WHERE KOLON_GORUNTULEME_YONTEMI_ID IS NOT NULL
																			FOR XML PATH('KOLON_GORUNTULEME_YONTEMI'), TYPE
																		),

																		-- KOLPOSKOPI
																		(
																			SELECT
																				'1' AS '@version',
																				'd7dff7a7-7d30-4ffb-e040-7c0a04165e5f' AS '@codeSystemGuid',
																				KOLPOSKOPI_ID AS '@code',
																				KOLPOSKOPI_ADI AS '@value'
																			WHERE KOLPOSKOPI_ID IS NOT NULL
																			FOR XML PATH('KOLPOSKOPI'), TYPE
																		),

																		-- MAMOGRAFI
																		(
																			SELECT
																				'1' AS '@version',
																				'6d1c6d74-d446-4d53-a056-5e75b19cad0f' AS '@codeSystemGuid',
																				MAMOGRAFI_ID  AS '@code',
																				MAMOGRAFI_ADI AS '@value'
																			WHERE MAMOGRAFI_ID IS NOT NULL
																			FOR XML PATH('MAMOGRAFI'), TYPE
																		),

																		-- MAMOGRAFI_SONUCU
																		(
																			SELECT
																				'1' AS '@version',
																				'397e2da4-e9be-4822-bd26-dbc82530c783' AS '@codeSystemGuid',
																				MAMOGRAFI_SONUCU_ID  AS '@code',
																				MAMOGRAFI_SONUCU_ADI AS '@value'
																			WHERE MAMOGRAFI_SONUCU_ID IS NOT NULL
																			FOR XML PATH('MAMOGRAFI_SONUCU'), TYPE
																		),

																		-- PAP_SMEAR_TESTI
																		(
																			SELECT
																				'1' AS '@version',
																				'99db2341-c9e7-42a1-bed9-bb04e0388395' AS '@codeSystemGuid',
																				PAP_SMEAR_TESTI_ID  AS '@code',
																				PAP_SMEAR_TESTI_ADI AS '@value'
																			WHERE PAP_SMEAR_TESTI_ID IS NOT NULL
																			FOR XML PATH('PAP_SMEAR_TESTI'), TYPE
																		),

																		-- SIGMOIDOSKOPI
																		(
																			SELECT
																				'1' AS '@version',
																				'5630141c-0ba4-49ea-89a1-8ec62a6aa88a' AS '@codeSystemGuid',
																				SIGMOIDOSKOPI_ID  AS '@code',
																				SIGMOIDOSKOPI_ADI AS '@value'
																			WHERE SIGMOIDOSKOPI_ID IS NOT NULL
																			FOR XML PATH('SIGMOIDOSKOPI'), TYPE
																		)
																		,
																

																----<ILK_TANI_TARIHI value="ILK_TANI_TARIHI" />
																--LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19),ILK_TANI_TARIHI,120),' ',''),'-',''),':',''),12)	 AS 'ILK_TANI_TARIHI/@value',

																----<KALCA_CEVRESI value="KALCA_CEVRESI" />
																--ISNULL(KALCA_CEVRESI,'') as 'KALCA_CEVRESI/@value',
																
															--<HPV_TIPI_BILGISI>
																--<HPV_TIPI					version="1" codeSystemGuid="fe6835a3-5ee1-4d18-bb50-1f0cc336136a" code="Code" value="HPV_TIPI" />
															--</HPV_TIPI_BILGISI>

																(SELECT 
																'1' AS 'HPV_TIPI/@version',
																'fe6835a3-5ee1-4d18-bb50-1f0cc336136a' AS 'HPV_TIPI/@codeSystemGuid',
																	ISNULL(HPV_TIPI_ID,'') AS 'HPV_TIPI/@code',
																	ISNULL(HPV_TIPI_ADI,'') AS 'HPV_TIPI/@value'
																	WHERE ISNULL(HPV_TIPI_ID, '')<>''
																	FOR XML PATH('HPV_TIPI_BILGISI'),TYPE),


															--<KOLONOSKOPI_KALITE_KRITERLERI_BILGISI>
																--<KOLONOSKOPI_KALITE_KRITERLERI version="1" codeSystemGuid="e30b2b54-e402-4ca7-b8de-9db1c75abe01" code="Code" value="KOLONOSKOPI_KALITE_KRITERLERI" />
															--</KOLONOSKOPI_KALITE_KRITERLERI_BILGISI>

																(SELECT 
																'1' AS 'KOLONOSKOPI_KALITE_KRITERLERI/@version',
																'e30b2b54-e402-4ca7-b8de-9db1c75abe01' AS 'KOLONOSKOPI_KALITE_KRITERLERI/@codeSystemGuid',
																	ISNULL(KOLONOSKOPI_KALITE_KRITERLERI_ID,'') AS 'KOLONOSKOPI_KALITE_KRITERLERI/@code',
																	ISNULL(KOLONOSKOPI_KALITE_KRITERLERI_ADI,'') AS 'KOLONOSKOPI_KALITE_KRITERLERI/@value'
																	WHERE ISNULL(KOLONOSKOPI_KALITE_KRITERLERI_ID, '')<>''
																	FOR XML PATH('KOLONOSKOPI_KALITE_KRITERLERI_BILGISI'),TYPE),

															--<KOLOREKTAL_BIYOPSI_SONUCU_BILGISI>
															--    <KOLOREKTAL_BIYOPSI_SONUCU	version="1" codeSystemGuid="d7dfe924-93f5-5f95-e040-7c0a041645d7" code="Code" value="KOLOREKTAL_BIYOPSI_SONUCU" />
															--</KOLOREKTAL_BIYOPSI_SONUCU_BILGISI>

															(SELECT 
																'1' AS 'KOLOREKTAL_BIYOPSI_SONUCU/@version',
																'd7dfe924-93f5-5f95-e040-7c0a041645d7' AS 'KOLOREKTAL_BIYOPSI_SONUCU/@codeSystemGuid',
																	ISNULL(KOLOREKTAL_BIYOPSI_SONUCU_ID,'') AS 'KOLOREKTAL_BIYOPSI_SONUCU/@code',
																	ISNULL(KOLOREKTAL_BIYOPSI_SONUCU_ADI,'') AS 'KOLOREKTAL_BIYOPSI_SONUCU/@value'
																	WHERE ISNULL(KOLOREKTAL_BIYOPSI_SONUCU_ID, '')<>''
																	FOR XML PATH('KOLOREKTAL_BIYOPSI_SONUCU_BILGISI'),TYPE),

															--<MEME_BIYOPSI_BILGISI>
															--    <MEMEDEN_BIYOPSI_ALIMI		version="1" codeSystemGuid="1f2f89f4-daf3-467c-8c11-cfacae8cbafd" code="Code" value="MEMEDEN_BIYOPSI_ALIMI" />
															--    <MEME_BIYOPSI_SONUCU		version="1" codeSystemGuid="7c69e4a6-8ddb-4db5-9f53-541d66ebfe51" code="Code" value="MEME_BIYOPSI_SONUCU" />
															--</MEME_BIYOPSI_BILGISI>

															(SELECT 
																		'1' AS 'MEMEDEN_BIYOPSI_ALIMI/@version',
																		'1f2f89f4-daf3-467c-8c11-cfacae8cbafd'   AS 'MEMEDEN_BIYOPSI_ALIMI/@codeSystemGuid',
																			MEMEDEN_BIYOPSI_ALIMI_ID  AS 'MEMEDEN_BIYOPSI_ALIMI/@code',
																			MEMEDEN_BIYOPSI_ALIMI_ADI AS 'MEMEDEN_BIYOPSI_ALIMI/@value',
																			

																		'1' AS 'MEME_BIYOPSI_SONUCU/@version',
																		'7c69e4a6-8ddb-4db5-9f53-541d66ebfe51' AS 'MEME_BIYOPSI_SONUCU/@codeSystemGuid',
																			MEME_BIYOPSI_SONUCU_ID  AS 'MEME_BIYOPSI_SONUCU/@code',
																			MEME_BIYOPSI_SONUCU_ADI AS 'MEME_BIYOPSI_SONUCU/@value'

																			WHERE ISNULL(MEMEDEN_BIYOPSI_ALIMI_ID, '')<>''

																			FOR XML PATH('MEME_BIYOPSI_BILGISI'),TYPE),

														--<SERVIKAL_BIYOPSI_SONUCU_BILGISI>
														--    <SERVIKAL_BIYOPSI_SONUCU	version="1" codeSystemGuid="f1d82016-486d-492e-afd2-630c85363634" code="Code" value="SERVIKAL_BIYOPSI_SONUCU" />
														--</SERVIKAL_BIYOPSI_SONUCU_BILGISI>

														(SELECT 
																'1' AS 'SERVIKAL_BIYOPSI_SONUCU/@version',
																'f1d82016-486d-492e-afd2-630c85363634' AS 'SERVIKAL_BIYOPSI_SONUCU/@codeSystemGuid',
																	ISNULL(SERVIKAL_BIYOPSI_SONUCU_ID,'') AS 'SERVIKAL_BIYOPSI_SONUCU/@code',
																	ISNULL(SERVIKAL_BIYOPSI_SONUCU_ADI,'') AS 'SERVIKAL_BIYOPSI_SONUCU/@value'
																	WHERE ISNULL(SERVIKAL_BIYOPSI_SONUCU_ID, '')<>''
																	FOR XML PATH('SERVIKAL_BIYOPSI_SONUCU_BILGISI'),TYPE),


														--<SERVIKAL_SITOLOJI_SONUCU_BILGISI>
														--    <SERVIKAL_SITOLOJI_SONUCU	version="1" codeSystemGuid="197c1232-2886-47de-9a38-0d5401fe6510" code="Code" value="SERVIKAL_SITOLOJI_SONUCU" />
														--</SERVIKAL_SITOLOJI_SONUCU_BILGISI>

														(SELECT 
																'1' AS 'SERVIKAL_SITOLOJI_SONUCU/@version',
																'197c1232-2886-47de-9a38-0d5401fe6510' AS 'SERVIKAL_SITOLOJI_SONUCU/@codeSystemGuid',
																	ISNULL(SERVIKAL_SITOLOJI_SONUCU_ID,'') AS 'SERVIKAL_SITOLOJI_SONUCU/@code',
																	ISNULL(SERVIKAL_SITOLOJI_SONUCU_ADI,'') AS 'SERVIKAL_SITOLOJI_SONUCU/@value'
																	WHERE ISNULL(SERVIKAL_SITOLOJI_SONUCU_ID, '')<>''
																	FOR XML PATH('SERVIKAL_SITOLOJI_SONUCU_BILGISI'),TYPE),


														--<TARAMA_BILGISI>
														--    <TARAMA_TIPI				version="1" codeSystemGuid="a332c5df-5662-4fe0-bb03-62d5d30567a4" code="Code" value="TARAMA_TIPI" />
														--    <TARAMA_TARIHI				value="TARAMA_TARIHI" />
														--    <TARAMA_SONUCLANMA_TARIHI	value="TARAMA_SONUCLANMA_TARIHI" />
														--</TARAMA_BILGISI>
														(SELECT 
																		'1' AS 'TARAMA_TIPI/@version',
																		'a332c5df-5662-4fe0-bb03-62d5d30567a4'   AS 'TARAMA_TIPI/@codeSystemGuid',
																			ISNULL(TARAMA_TIPI_ID,'')  AS 'TARAMA_TIPI/@code',
																			ISNULL(TARAMA_TIPI_ADI,'') AS 'TARAMA_TIPI/@value',

																		LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19),TARAMA_TARIHI,120),' ',''),'-',''),':',''),12)	 AS 'TARAMA_TARIHI/@value',

																		LEFT(REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(19),TARAMA_SONUCLANMA_TARIHI,120),' ',''),'-',''),':',''),12)	 AS 'TARAMA_SONUCLANMA_TARIHI/@value'
																		WHERE ISNULL(TARAMA_TIPI_ID, '')<>''
																			FOR XML PATH('TARAMA_BILGISI'),TYPE)
																			
 		
																FROM #TMPUSSDIGER
																
																FOR XML PATH(''),TYPE
															)
														FOR XML PATH('TOPLUM_TABANLI_KANSER_TARAMA'),TYPE
													),					
													   (
														SELECT ISNULL(HDOSYA_SNOTAKIPNO, '' ) AS 'SYSTakipNo/@value'
														FOR XML PATH('HASTA_TAKIP_BILGISI'), TYPE 
													)							
												 FOR XML PATH('recordData'), TYPE
											  )
										   FROM #TMPUSSDIGER WITH(NOLOCK)
										   WHERE USSDIGER_ID = @CURUSSDIGERID
										FOR XML PATH (''), ROOT('SYSMessage')


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

							SET @HATA = ''		 
						END
					END




		FETCH NEXT FROM CURUSSDIGER INTO @CURUSSDIGERID 
		END --son HER TETKIK KARTI AYRI AYRI goNDER DONGUSU
	

		CLOSE CURUSSDIGER
		DEALLOCATE CURUSSDIGER

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

		SET @HATA = ''		 
	END


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

	

	SELECT * FROM @goNDERIMTABLOSU


END
