We've been using the SEARCH_APPTS function, I got from CHUG awhile ago, successfully but just upgraded from CPS12.7 to CPS12.9 this weekend and its not displaying the provider name correctly anymore. Its listing their ID instead. Anyone else seen this or know how to fix it?
PRE-UPGRADE
Scheduled Appointment with The Oregon Clinic
08/01/2015 7:30 AM, Induction with Shaw DO, Jill
POST-UPGRADE
Scheduled Appointment with The Oregon Clinic
08/01/2015 7:30 AM, Induction with 13036
{fn SEARCH_APPTS(returnMethod,type){
//Valid types are NEXT, PREV, and CANC
if (toUpper(returnMethod) "DELIMITED" AND toUpper(returnMethod) "LIST" and toUpper(returnMethod) "COMMA" and toUpper(returnMethod) "FORMATTEDLONG") then
// Default Return Method if no value passed edit this if you want to change the default
returnMethod = "LIST"
endif
// initialize local variables
local retVal = ""
local z = getRowCount("_MELCurPatientAppt")
// loop through rows in _MELCurPatientAppt data object
for iq=1, iq0 and a[8]=="" and toupper(type) == "NEXT") or
(val(durationdays(datestamp(),a[2]))<0 and a[8]=="" and toupper(type) = "PREV") or (a[8]"" and toupper(type) == "CANC") then
// Appointment type lookup in _MELApptType data object
if (find("_MELApptType","Name","ApptTypeID",a[3]) "") then
a[3] = find("_MELApptType","Name","ApptTypeID",a[3])
endif
// Facility lookup in _MELLocation data object
if (find("_MELLocation","ListName","DoctorFacilityID",a[4]) "") then
a[4] = find("_MELLocation","ListName","DoctorFacilityID",a[4])
endif
// Doctor lookup in _DoctorFacilityForPatAppt data object
if (find("_DoctorFacilityForPatAppt","ListName","DoctorFacilityID",a[5]) "") then
a[5] = find("_DoctorFacilityForPatAppt","ListName","DoctorFacilityID",a[5])
endif
// Resource lookup in _DoctorFacilityForPatAppt data object
if (find("_DoctorFacilityForPatAppt","ListName","DoctorFacilityID",a[6]) "") then
a[6] = find("_DoctorFacilityForPatAppt","ListName","DoctorFacilityID",a[6])
endif
// ApptStatus is actually a combination of two fields, Canceled or ApptStatus. If Canceled "" then write Canceled, else write contents of ApptStatus
if (a[8] "") then
a[7] = "Canceled"
endif
cond
case toUpper(returnMethod) == "DELIMITED"
// Don't add pipe before first element
if (retVal "") then
retVal = "|" + retVal
endif
retVal = str(a[2],"^",a[3],"^",a[4],"^",a[6]) + retVal
case toUpper(returnMethod) == "LIST"
// Don't add HRET before first element
if (retVal "") then
retVal = retVal + HRET
endif
retVal = retVal + str(a[2],", ",a[3]," with ",a[6])
case toUpper(returnMethod) == "COMMA"
// Don't add comma before first element
if (retVal "") then
retVal = "," + retVal
endif
// Need to replace commas in elements with semicolon to prevent errors in comma seperated list
retVal = str(ReplaceStr(a[2],",",";")," ",ReplaceStr(a[3],",",";")," ",ReplaceStr(a[4],",",";")," ",ReplaceStr(a[6],",",";")) + retVal
case toUpper(returnMethod) == "FORMATTEDLONG"
// Don't add new lines before first element
if (retVal "") then
retVal = HRET + HRET + retVal
endif
// Need to replace commas in elements with semicolon to prevent errors in comma seperated list
retVal = str("ApptTime: ",ReplaceStr(a[2],",",";"),HRET,"ApptType: ",ReplaceStr(a[3],",",";"),HRET,"FacilityID: ",ReplaceStr(a[4],",",";"),HRET,"ResourceID: ",ReplaceStr(a[6],",",";")) + retVal
endcond
endif
endfor
return retVal
}}
THANK YOU!!!
It appears the problem is going to be in the area with these lines:
// Doctor lookup in _DoctorFacilityForPatAppt data object
if (find(“_DoctorFacilityForPatAppt”,”ListName”,”DoctorFacilityID”,a[5]) “”) then
a[5] = find(“_DoctorFacilityForPatAppt”,”ListName”,”DoctorFacilityID”,a[5])
endif
// Resource lookup in _DoctorFacilityForPatAppt data object
if (find(“_DoctorFacilityForPatAppt”,”ListName”,”DoctorFacilityID”,a[6]) “”) then
a[6] = find(“_DoctorFacilityForPatAppt”,”ListName”,”DoctorFacilityID”,a[6])
endif
I think it will be the doctor lookup part. My guess is they moved a field so the name value is not returning in the correct column anymore. Unfortunately I rarely touch MEL and don't have time to test. Good luck!