This was working and now it does not. The problem is that the result value of PAYORID = "ZZCERT" (derived from cr.PayorID) but the value sent to the EligibilityRequestFormat function in the first parameter (cr.PayorID) is an empty string when it gets to the function. Well, it has about 10 spaces in it. How can the value of cr.PayorID be "ZZCERT" in the one field, but be empty in the other?
If I remove the NPI field, the SQL returns the correct values, so the JOINs are working fine.
SELECT ;
ALLTRIM(cr.PayorID) AS PAYORID, ;
ALLTRIM(cr.CarName) AS CARRNAME, ;
'XX' AS NPI_Q, ;
EligibilityRequestFormat(cr.PayorID, 'NPI', pt.PtSSN) AS NPI ;
FROM patient pt ;
JOIN ins_case ic ON ic.pat_no = pt.ptpn ;
JOIN covr cv ON cv.Pat_No = pt.ptpn ;
AND cv.cvps = 'P' ;
AND dDateOfService BETWEEN EVL( cv.Eff_Date, {1/1/1950} ) AND EVL( cv.Exp_Date, DATE() ) ;
JOIN inscarr cr ON cv.CvCarr = cr.inscarr ;
WHERE pt.PtPn = cPatientNumber INTO CURSOR PD READWRITE