Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SCAN is running twice, I think
Message
From
03/09/2008 20:24:45
 
 
To
03/09/2008 19:58:16
Jay Johengen
Altamahaw-Ossipee, North Carolina, United States
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Vista
Network:
Windows 2008 Server
Database:
MS SQL Server
Miscellaneous
Thread ID:
01344695
Message ID:
01344699
Views:
13
This message has been marked as the solution to the initial question of the thread.
I can't spot anything in the code so here goes a perhaps silly question. Are you sure that EligBatch is actually empty when you open it? Best I can offer is what you know. Put a stop on RECCOUNT('EligBatch') in the debugger to find when the records get added.


>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')
>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform