>> 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') >>