Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SCAN is running twice, I think
Message
De
03/09/2008 19:58:16
Jay Johengen
Altamahaw-Ossipee, Caroline du Nord, États-Unis
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
SCAN is running twice, I think
Versions des environnements
Visual FoxPro:
VFP 9 SP2
OS:
Vista
Network:
Windows 2008 Server
Database:
MS SQL Server
Divers
Thread ID:
01344695
Message ID:
01344695
Vues:
47
It looks like a lot of code, but I think it's probably something simple. The SELECT creates a cursor of 15 records. Then the SCAN happens. Towards the end
of the SCAN, and INSERT is done to the EligBatch table. After the SCAN, there are 30 records in that table. Two identical sets of the original 15 from the SQL.
				oValidateResponse = CREATEOBJECT('Empty')
				SELECT ;
					S_Pat_Num, ;
					S_Pat_Name, ;
					m.Disp_Date AS DOSBegin, ;
					m.Disp_Date AS DOSEnd, ;
					SPACE(50) AS BatchStat ;
					FROM Schedule ;
					WHERE S_Date = m.Disp_Date AND ;
					S_New_Pat = .F. AND ;
					!EMPTY(S_Pat_Num) AND ;
					ALLTRIM(S_Pat_Num) <> 'New....' ;
					GROUP BY 1,2,3,4,5 ;
					INTO CURSOR EligibilityDailyBatch READWRITE
				SCAN
					tPatNum = EligibilityDailyBatch.S_Pat_Num
					DO GetEligibilityValidationInfo WITH tPatNum, m.Disp_Date, m.Disp_Date
					SELECT EligibilityValidation
					IF RECCOUNT('EligibilityValidation') > 0
						IF !USED('CovrForEligibility')
							USE ( m_data_dir ) + 'COVR' ALIAS CovrForEligibility AGAIN IN 0
						ENDIF
						SELECT CovrForEligibility
						LOCATE FOR ALLTRIM(CovrForEligibility.Pat_No) = ALLTRIM(EligibilityValidation.PtPn) AND CovrForEligibility.CvPs = 'P'
						IF FOUND()
							dEligValidTo = EligibilityValidation.BeginDateOfService
							IF CheckEligibilityRules(tPatNum, CovrForEligibility.CvCarr, EligibilityValidation.BeginDateOfService, EligibilityValidation.EndDateOfService, @dEligValidTo)
								m.Success = .T.
								TextRequestMessage = ''
								DO EligibilityValidation WITH ;
									EligibilityValidation.ptpn, ;
									EligibilityValidation.BeginDateOfService, ;
									EligibilityValidation.EndDateOfService, ;
									m.Success, ;
									TextRequestMessage
								IF m.Success
									oValidateResponse = EligibilityValidation_Worklist(EligibilityValidation.BeginDateOfService,EligibilityValidation.EndDateOfService,TextRequestMessage)
								ELSE
									m.BatchStatus = 'Unable to connect to Payor.'
								ENDIF
								IF !USED('CovrForEligibility')
									USE ( m_data_dir ) + 'COVR' ALIAS CovrForEligibility AGAIN IN 0
								ENDIF
								SELECT CovrForEligibility
								LOCATE FOR ALLTRIM(CovrForEligibility.Pat_No) = ALLTRIM(EligibilityValidation.PtPn) AND CovrForEligibility.CvPs = 'P'
								REPLACE CovrForEligibility.EligDate WITH IIF(m.Success,oValidateResponse.LastValidationDate,DATE())
								REPLACE CovrForEligibility.EligStat_S WITH IIF(m.Success,oValidateResponse.SubEligibilityStatus,'Failed')
								REPLACE CovrForEligibility.EligStat_D WITH IIF(m.Success,oValidateResponse.DepEligibilityStatus,'Failed')
								REPLACE CovrForEligibility.EligValid WITH IIF(m.Success,dEligValidTo,{})
								REPLACE CovrForEligibility.EligReport WITH IIF(m.Success,oValidateResponse.EligReport,CovrForEligibility.EligReport)
								REPLACE CovrForEligibility.EligDetail WITH IIF(m.Success,oValidateResponse.EligDetail,CovrForEligibility.EligDetail)
								REPLACE CovrForEligibility.EligRawMsg WITH IIF(m.Success,oValidateResponse.EligRawMsg,CovrForEligibility.EligRawMsg)
								m.BatchStatus = CovrForEligibility.EligStat_S
							ELSE
								m.BatchStatus = 'Unable to validate per eligibility rules.'
							ENDIF
						ENDIF
					ELSE
						m.BatchStatus = 'Unable to verify patient coverage.'
					ENDIF
					SELECT EligibilityDailyBatch
					REPLACE EligibilityDailyBatch.BatchStat WITH m.BatchStatus
					IF !USED('EligBatch')
						USE (m_prom_dir) + 'EligBatch' IN 0
					ENDIF
					INSERT INTO EligBatch (;
						PatNum, ;
						PatName, ;
						DOSBegin, ;
						DOSEnd, ;
						BatchStat) ;
						VALUES (;
						EligibilityDailyBatch.S_Pat_Num, ;
						EligibilityDailyBatch.S_Pat_Name, ;
						EligibilityDailyBatch.DOSBegin, ;
						EligibilityDailyBatch.DOSEnd, ;
						EligibilityDailyBatch.BatchStat)
				ENDSCAN
				oValidateResponse = NULL
				RELEASE oValidateResponse
				WAIT CLEAR
				=MESSAGEBOX('Eligibility Daily Batch Completed')
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform