
<cfquery name="DELETEVisit_Compliance" datasource="#Application.DataSrc#">
		DELETE FROM #Request.prefix_db_agency#.pVisit_Compliance 
</cfquery>

<cfquery name="getauths"  datasource="#Application.DataSrc#">
    SELECT * FROM #Request.prefix_db_agency#.pAuths
    JOIN #Request.prefix_db_agency#.pAssessments ON pAssessments.Assmt_ID = pAuths.Assmt_ID
     JOIN #Request.prefix_db_agency#.pPatients ON pPatients.Patient_ID = pAuths.Patient_ID AND pPatients.Status = 0
    WHERE pAuths.Status = 0 
   AND  pAuths.Visitfreq_Placeholder   = 0
	AND pAssessments.Status = 0 
	<cfif CGI.REMOTE_ADDR EQ '121.200.49.65'>
		<!---AND pAuths.Patient_ID  IN  (969,852,791)
		 AND pAuths.Auth_ID = 2704
		 AND pAuths.Auth_ID =2865 --->
	</cfif>  
	AND pAssessments.Admit_ID  IN ( SELECT pAdmit.Admit_ID FROM #Request.prefix_db_agency#.pAdmit WHERE pAdmit.Status  = 0)
    GROUP BY Auth_ID
    ORDER BY pAuths.Patient_ID, pAuths.Assmt_ID ASC
</cfquery>


<cfset form.Record_Creation_Date = "#Now()#" />
<cfset form.Record_Created_By = #session.employeeid# />
<cfset form.Record_Mod_Date = #Now()# />
<cfset form.Record_Mod_By = #session.employeeid# />
<cfset ordervisits = ArrayNew(1)>
<cfset date_starts = ArrayNew(1)>
<cfset date_ends = ArrayNew(1)>
<cfquery name="getschedules"  datasource="#Application.DataSrc#">
    SELECT * FROM #Request.prefix_db_agency#.pSchedules
    WHERE Auth_ID IN (#ValueList(getauths.Auth_ID)#)
    AND pSchedules.Status = 0 
    GROUP BY Schedule_ID
</cfquery>

<cfoutput query="getauths">
	<cfset Request.Date_Start = #getauths.Date_Start# />				
	<cfset Request.Auth_ID = #getauths.Auth_ID# />
	<cfset Request.Auth_ID = #getauths.Auth_ID# />
	<cfset Request.Week_No = 1 />
	<cfset Request.Skill = getauths.Skill  />
	<cfset Request.Cert_End = #getauths.Date_End# />
	<cfset Request.Cert_Start = #getauths.Date_Start# />
	<cfloop index = "k" from="1" to="4">
		<cfset setweeks = getauths['Set_'& k &'_weeks'] />
			<cfloop from="1" to="#setweeks#" index="i">
				<cfset Request.Visit_ordered =  getauths['Set_'& k &'_visits']  />
				<cfset Request.Date_End = #DateAdd("d",6,Request.Date_Start)# />
				<cfset Request.Date_End = #DateFormat(Request.Date_End,"yyyy-mm-dd")#  />
				<cfquery name="getschduledweek" dbtype="query">
				    SELECT * FROM  getschedules
				    WHERE Visit_Date >=  '#Request.Date_Start#' AND Visit_Date <='#Request.Date_End#' AND prn_visit !=1 
				    AND Auth_ID=  #Request.Auth_ID#
				</cfquery>
				<cfset Request.Visit_Count = getschduledweek.recordcount />
				<cfquery name="Insert_pVisit_Compliance"  datasource="#Application.DataSrc#">
	                INSERT INTO #Request.prefix_db_agency#.pVisit_Compliance 
	                    (
	                    	Auth_ID, Skill, Visit_ordered, Visit_Count,
	                    	Week_No, Date_Start, Date_End, Visit_No, PRN, Date_Create,
	                      Created_by, Date_Change, Change_by
	                    )
	                VALUES 
	                   (
	                    <cfqueryparam VALUE="#Request.Auth_ID#"  cfsqltype="cf_sql_integer">,
	                    <cfqueryparam VALUE="#Request.Skill#"  cfsqltype="cf_sql_varchar">,
	                    <cfqueryparam VALUE="#Request.Visit_ordered#"  cfsqltype="cf_sql_integer">,
	                    <cfqueryparam VALUE="#Request.Visit_Count#"  cfsqltype="cf_sql_integer">,
	                    <cfqueryparam VALUE="#Request.Week_No#"  cfsqltype="cf_sql_integer">,
	                    <cfqueryparam VALUE="#Request.Date_Start#"  cfsqltype="cf_sql_date">,
	                    <cfqueryparam VALUE="#Request.Date_End#"  cfsqltype="cf_sql_date">,
	                    <cfqueryparam VALUE="0"  cfsqltype="cf_sql_integer">,
	                    <cfqueryparam VALUE="0"  cfsqltype="cf_sql_integer">,
	                    <cfqueryparam VALUE="#form.Record_Creation_Date#"  cfsqltype="cf_sql_timestamp">,
		      	        <cfqueryparam VALUE="#form.Record_Created_By#"  cfsqltype="cf_sql_integer">,
		      	        <cfqueryparam VALUE="#form.Record_Creation_Date#"  cfsqltype="cf_sql_timestamp">,
		      	        <cfqueryparam VALUE="#form.Record_Created_By#"  cfsqltype="cf_sql_integer">
		      	        )
	            </cfquery>
	            <cfset Request.Week_No = Request.Week_No + 1 />
	            <cfset Request.Date_Start = #DateAdd("d",1,Request.Date_End)# />   
				<cfset Request.Date_Start = #DateFormat(Request.Date_Start,"yyyy-mm-dd")#  />  
			</cfloop>
	</cfloop>

	<cfquery name="getPRNdweek" dbtype="query">
	    SELECT * FROM  getschedules
	    WHERE Visit_Date BETWEEN  '#Request.Cert_Start#' AND '#Request.Cert_End#' AND prn_visit =1 
	    AND Auth_ID=  #Request.Auth_ID#
	</cfquery>
    <cfif Request.Cert_Start NEQ ''>
		<cfquery name="Insert_pVisit_Compliance"  datasource="#Application.DataSrc#">
                INSERT INTO #Request.prefix_db_agency#.pVisit_Compliance 
                    (
                    	Auth_ID, Skill, Visit_ordered, Visit_Count, 
                    	Week_No, Date_Start, Date_End, Visit_No, PRN, Date_Create,
                      Created_by, Date_Change, Change_by
                    )
                VALUES 
                   (
                    <cfqueryparam VALUE="#Request.Auth_ID#"  cfsqltype="cf_sql_integer">,
                    <cfqueryparam VALUE="#Request.Skill#"  cfsqltype="cf_sql_varchar">,
	                <cfqueryparam VALUE="#getauths.prn_visits#"  cfsqltype="cf_sql_integer">,
	                <cfqueryparam VALUE="#getPRNdweek.recordcount#"  cfsqltype="cf_sql_integer">,
                    <cfqueryparam VALUE="0"  cfsqltype="cf_sql_integer">,
                    <cfqueryparam VALUE="#Request.Cert_Start#"  cfsqltype="cf_sql_date">,
                    <cfqueryparam VALUE="#Request.Cert_End#"  cfsqltype="cf_sql_date">,
                    <cfqueryparam VALUE="0"  cfsqltype="cf_sql_integer">,
                    <cfqueryparam VALUE="1"  cfsqltype="cf_sql_integer">,
                    <cfqueryparam VALUE="#form.Record_Creation_Date#"  cfsqltype="cf_sql_timestamp">,
	      	        <cfqueryparam VALUE="#form.Record_Created_By#"  cfsqltype="cf_sql_integer">,
	      	        <cfqueryparam VALUE="#form.Record_Creation_Date#"  cfsqltype="cf_sql_timestamp">,
	      	        <cfqueryparam VALUE="#form.Record_Created_By#"  cfsqltype="cf_sql_integer">
	      	        )
        </cfquery>
    </cfif>
</cfoutput>
<cfif CGI.REMOTE_ADDR EQ '103.143.7.161'>
	 <cfabort>  
</cfif> 
<cflocation url="/dashboard/index.cfm?page=dashboard&cat&rpt=visits_non_compliance" addtoken="no">