Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SCAN is running twice, I think
Message
From
03/09/2008 19:58:16
Jay Johengen
Altamahaw-Ossipee, North Carolina, United States
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
SCAN is running twice, I think
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Vista
Network:
Windows 2008 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01344695
Message ID:
01344695
Views:
44
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')
Next
Reply
Map
View

Click here to load this message in the networking platform