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