<!---cron_duplicate_patient.cfm--->

<cfset myarray[1] = "empty value">
<cfquery name="GetTable" datasource="#Application.DataSrc#">
		SELECT TABLE_SCHEMA  FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA like '%agency%' group by  TABLE_SCHEMA
</cfquery>

<cfquery name="Agency" datasource="#Application.DataSrc#">
		select agency_id from #Request.prefix_db_lookup#.Agency where status='active' ORDER BY agency_id
</cfquery>
<cfset myarray=arraynew(1)>
<cfset database=arraynew(1)>
<cfloop query="Agency">
<cfset myarray[CurrentRow]=agency_id>
</cfloop>

<cfloop query="GetTable">
<cfset database[CurrentRow]= TABLE_SCHEMA>
</cfloop>

<cfquery name="Delete" datasource="#Application.DataSrc#">
DELETE from  #Request.prefix_db_lookup#.Schedules_Dup
</cfquery>

<cfloop from=1 to=#ArrayLen(database)# index=ind>

<cfset Request.prefix_db_agency = database[ind] />

<cfquery name="get" datasource="#Application.DataSrc#">
Insert IGNORE INTO #Request.prefix_db_lookup#.Schedules_Dup
	(
	Schedule_ID,Patient_ID,Visit_Date,StartTime,EndTime,Emp_ID
	)
select Schedule_ID,Patient_ID,Visit_Date,StartTime,EndTime,Emp_ID  FROM  #Request.prefix_db_agency#.pSchedules 
WHERE status = 0 
<!---AND(pSchedules.Visit_Date >= {d '2016-11-01'} AND pSchedules.Visit_Date <= {d '2016-12-31'})  --->
AND Year(pSchedules.Visit_Date) = YEAR(CURDATE())
-- AND MONTH(pSchedules.Visit_Date) = MONTH(CURDATE())
AND  pSchedules.Visit_Date >= now() - INTERVAL 2 month 
<!---AND Schedules_Dup != 2--->  and Schedules_Dup != 3
</cfquery>

<cfquery name="getDup" datasource="#Application.DataSrc#"> 
Select *  FROM #Request.prefix_db_lookup#.Schedules_Dup ORDER BY  Patient_ID ASC
</cfquery>

<cfquery name="Update_Dup" datasource="#Application.DataSrc#">
	Update #Request.prefix_db_agency#.pSchedules  SET
	Schedules_Dup = 0
	WHERE Schedules_Dup = 1 AND status = 0
</cfquery>


<cfloop query="getDup"> 
<cfquery name="test" datasource="#Application.DataSrc#">
SELECT Schedule_ID,Visit_Date,StartTime,EndTime FROM #Request.prefix_db_agency#.pSchedules s
JOIN  #Request.prefix_db_agency#.pPatients on s.Patient_ID = pPatients.Patient_ID AND  pPatients.status = 0 
WHERE  s.Visit_Date = '#DateFormat(Visit_Date,"yyy-mm-dd")#'
AND (time('#StartTime#') Between s.StartTime And s.EndTime
OR time('#EndTime#') Between s.StartTime And s.EndTime 
 OR s.StartTime  Between time('#StartTime#') AND time('#EndTime#')
OR s.EndTime Between time('#StartTime#') AND time('#EndTime#'))
AND s.Patient_ID = #Patient_ID# <!--- AND s.Emp_ID != #Emp_ID# --->
AND s.status = 0 
AND s.Missed = 0
</cfquery> 

<cfif  test.Recordcount gt 1 >
<cfoutput query="test">
<cfquery name="Update_Dup" datasource="#Application.DataSrc#">
Update #Request.prefix_db_agency#.pSchedules  SET
Schedules_Dup = 1
WHERE Schedule_ID in (#Schedule_ID#)
</cfquery>
</cfoutput>
</cfif> 

</cfloop>

<cfquery name="Delete" datasource="#Application.DataSrc#">
DELETE from  #Request.prefix_db_lookup#.Schedules_Dup
</cfquery>

</cfloop>
 