
	<cfquery  name="getactive_auths" datasource="#Application.DataSrc#">
		SELECT IFNULL(SUM(Total_Visits),0) AS tot_visits FROM #Request.prefix_db_agency#.pAuths
		WHERE  Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  
		AND  Skill  = '#skilltype#'
		AND Status = 0
	</cfquery>

	<cfquery  name="getallschedule" datasource="#Application.DataSrc#">
	   SELECT * FROM #Request.prefix_db_agency#.pSchedules  		 
	   WHERE Assmt_ID =  <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
	   AND Status = <cfqueryparam value="0"  cfsqltype="CF_SQL_INTEGER">
	</cfquery>

	<cfparam name="request.total_visits" default="0">
	<cfif getactive_auths.recordcount gt 0 >
			<cfquery  name="getauths" datasource="#Application.DataSrc#">
				SELECT * FROM #Request.prefix_db_agency#.pAuths
				WHERE  Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  
				AND  Skill  = '#skilltype#'
				AND Status = 0
			</cfquery>
		<cfset auth_ids = ValueList(getauths.Auth_ID) />
		<cfquery  name="getmissed"  dbtype="query">
		   SELECT * FROM getallschedule	 
		   WHERE Auth_ID IN (#auth_ids#)
		   AND (Missed = 1 OR pgnotesdraft = 2)
		</cfquery>
		<cfset request.total_visits =  #getactive_auths.tot_visits# -  #getmissed.recordcount#/>
	</cfif>

	<cfparam name="request.severity_problem" default="0">

	<cfquery  name="getvitalscount" datasource="#Application.DataSrc#">
		 SELECT * FROM #Request.prefix_db_agency#.pWoundsVitals 
		WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  AND status = 0
		AND VitalOrWound = 'vital'
		AND Status = 0
	</cfquery>
	<cfif getvitalscount.recordcount gt 0 >
		<cfset request.severity_problem =  getvitalscount.recordcount * 0 />
	</cfif>

	<cfquery  name="getskillprobcount" datasource="#Application.DataSrc#">
		 SELECT SUM(CASE  WHEN LEFT(Answer,2) > 2 THEN  LEFT(Answer,2)
	     	ELSE '2'
	     	END ) as sev ,
	     Answer,Severity,
		pProblem.* FROM #Request.prefix_db_agency#.pProblem 
		WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  AND status = 0
		AND skill = '#skilltype#' 
		AND M0_No NOT LIKE 'M102%'
		<cfif skilltype NEQ 'SN'>
			AND Description like 'GG%'
		</cfif>
		<!---AND  DATE_FORMAT(Date_Create, '%Y-%m-%d') <= '#DateFormat(GetSched.Visit_Date,"yyyy-mm-dd")#'--->
	</cfquery>
	<cfif getskillprobcount.sev gt 0 >
		<cfset request.severity_problem = request.severity_problem +  getskillprobcount.sev />
	</cfif>

	<cfquery  name="getallcareplans" datasource="#Application.DataSrc#">
		 SELECT * FROM #Request.prefix_db_agency#.pCareplan
		WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  AND status = 0
		AND Type like '%goal%'
		AND Status = 0
	</cfquery>

	<cfparam name="request.total_goal" default="0">

	<cfif skilltype EQ 'SN'>	
		<cfquery  name="getskillgoals" dbtype="query">
				SELECT * FROM getallcareplans
				WHERE Skill =  '#skilltype#'
				AND (Date_Resolve IS NULL OR Date_Resolve = '#DateFormat(GetSched.Visit_Date,"yyyy-mm-dd")#')
		</cfquery>
		<cfif getskillgoals.recordcount gt 0 >
			<cfset request.total_goal =  #getskillgoals.recordcount# * 4/> 
		</cfif>
	<cfelse>
		<cfquery  name="getskillgoals" datasource="#Application.DataSrc#">
						SELECT IFNULL(pPathway.Severity,0) AS Sev, pCareplan.* FROM   #Request.prefix_db_agency#.pCareplan
				    	JOIN #Request.prefix_db_lookup#.pPathway ON pPathway.Item_ID = pCareplan.Item_ID AND pPathway.Type = pCareplan.Type
						WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#" cfsqltype="CF_SQL_INTEGER">  AND pCareplan.status = 0
						AND pCareplan.Type IN ('goal','patient_goal','discharge_plan')
				        AND pCareplan.Skill = '#skilltype#'
				        AND (pCareplan.Date_Resolve IS NULL OR pCareplan.Date_Resolve = '#DateFormat(GetSched.Visit_Date,"yyyy-mm-dd")#')
						AND pCareplan.Status = 0 GROUP BY pCareplan.Item_ID
		</cfquery>
		<cfif getskillgoals.recordcount gt 0 >
			<cfset request.total_goal = arraySum(getskillgoals['Sev'])>
		</cfif>
	</cfif>

	
	<cfparam name="request.unresolvedgoals" default="0">
	<cfif skilltype EQ 'SN'>		
		<!---<cfquery  name="getskillprobelmscount" datasource="#Application.DataSrc#">
			 SELECT  pProblem.* FROM #Request.prefix_db_agency#.pProblem 
			WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  AND status = 0
			AND skill = '#skilltype#'
			AND M0_No NOT LIKE 'M102%'
		</cfquery>
		<cfset request.severity_goal =  #getskillprobelmscount.recordcount# + getvitalscount.recordcount />
            <cfset request.severity_goal =  #getskillprobelmscount.recordcount# />--->
    <cfquery  name="getSNskillgoals" dbtype="query">
				SELECT * FROM getallcareplans
				WHERE Skill =  '#skilltype#' AND Type = 'goal'
				AND (Date_Resolve IS NULL OR Date_Resolve >= '#DateFormat(GetSched.Visit_Date,"yyyy-mm-dd")#') 
		</cfquery>
      <cfset request.severity_goal =  #getSNskillgoals.recordcount# * 4/>   
      <cfset request.unresolvedgoals = getSNskillgoals.recordcount />
	<cfelse>
		<cfquery  name="getallcareplans" datasource="#Application.DataSrc#">
				 SELECT
				    SUM(CASE  WHEN Description  like '%- 01%' THEN   1
				    WHEN Description  like '%- 02%' THEN   2
				    WHEN Description  like '%- 03%' THEN   3
				    WHEN Description  like '%- 04%' THEN   4
				    WHEN Description  like '%- 05%' THEN   5
				    WHEN Description  like '%- 06%' THEN   6
				    <!---WHEN (Type  = 'patient_goal' OR  Type  = 'discharge_plan') THEN   4 --->
		             ELSE '4'
			     	END ) as goals, pCareplan.* FROM #Request.prefix_db_agency#.pCareplan 
					WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  AND status = 0
					AND skill = '#skilltype#'
					AND Type IN ('goal' <!---,'patient_goal','discharge_plan'--->)
					AND Status = 0
					AND (Date_Resolve IS NULL OR goal_met = 1)
     </cfquery>
		<cfset request.severity_goal =  #getallcareplans.goals# />
	</cfif>

  
	<cfquery  name="updateprobcount" datasource="#Application.DataSrc#">
		UPDATE IGNORE #Request.prefix_db_agency#.pSchedules  SET 
		<cfif request.total_visits gt 0 >
		  	total_visits =  '#request.total_visits#',
		</cfif>
		  severity_problem =  '#request.severity_problem#',
		    <cfif request.severity_goal NEQ ''>
		 		 severity_goal    = '#request.severity_goal#',
		 	</cfif>
		  total_goal = #request.total_goal# 
		WHERE Assmt_ID =  <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
		AND Schedule_ID =  <cfqueryparam value="#Request.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
		AND Status = <cfqueryparam value="0"  cfsqltype="CF_SQL_INTEGER">
	</cfquery>


	<cfquery  name="getschedule" dbtype="query">
	   SELECT * FROM getallschedule 
	   WHERE Schedule_ID = '#Request.Schedule_ID#'
	</cfquery>

	<cfquery  name="getsnotcompleted"  dbtype="query">
	   SELECT * FROM getallschedule	 
	   WHERE Auth_ID =  '#getallschedule.Auth_ID#'
	   AND pgnotesdraft != 2
	</cfquery>
	<cfset request.remaining_visit = getsnotcompleted.recordcount />


	<cfparam name="request.goal_result_this_visit" default="0">
	<cfparam name="request.increment_goal_this_visit" default="0">
	<cfquery  name="getpggoalscount" datasource="#Application.DataSrc#">
			SELECT IFNULL(SUM(YesOrNo),0) as sev FROM #Request.prefix_db_agency#.pProgress 
			WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  AND status = 0
			AND Schedule_ID =  <cfqueryparam value="#Request.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
			<cfif skilltype EQ 'SN'>
				AND Type  like '%goal%'
			<cfelse>
				AND Type  = 'goal'
			</cfif>
	</cfquery>
	<cfif getpggoalscount.recordcount gt 0 >
		<cfset  request.goal_result_this_visit = #getpggoalscount.sev# />
	</cfif>	
	<cfquery  name="getincremental_goals" datasource="#Application.DataSrc#">
			SELECT IFNULL(SUM(YesOrNo),0) as sev FROM #Request.prefix_db_agency#.pProgress 
			WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  AND status = 0
			AND Schedule_ID =  <cfqueryparam value="#Request.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
			AND Type  = 'goal'
	</cfquery>
	<cfif getincremental_goals.recordcount gt 0 AND skilltype EQ 'SN'>
		<cfset request.increment_goal_this_visit = #getincremental_goals.sev# />
	</cfif>


	<cfparam name="request.increment_problem" default="0">
	<cfparam name="request.increment_goal" default="0">
	<cfparam name="request.goals_pervisits" default="0">
	<cfif request.increment_problem GT 0 >
		<cfif skilltype EQ 'SN'>
			<cfset  request.increment_problem =  (getschedule.severity_problem - getschedule.severity_goal) / getschedule.total_visits  />
		<cfelse>
			<cfset  request.increment_problem =  (getschedule.severity_goal - getschedule.severity_problem ) / getschedule.total_visits  />
		</cfif>
	</cfif>
		<cfset  request.increment_this_visit =  (getschedule.severity_problem  - (getschedule.visit_no * request.increment_problem )) /> 
		<cfif request.remaining_visit GT 0 AND request.unresolvedgoals GT 0 >
			<cfset request.goals_pervisits = (request.unresolvedgoals /request.remaining_visit) />
			<cfset request.goals_pervisits = NumberFormat(request.goals_pervisits, "0.0")> 
		</cfif>
    <cfif skilltype EQ 'SN'>
    	<cfif getschedule.severity_goal gt 0 AND request.remaining_visit gt 0>
				<cfset  request.increment_goal  = (getschedule.severity_goal / request.remaining_visit) />
			</cfif>
    <cfelse>
        <cfif getschedule.total_visits GT 0 >
			<cfset  request.increment_goal  = (getschedule.severity_goal / getschedule.total_visits) />
		</cfif>
      <cfset  request.increment_goal_this_visit  = (request.increment_goal * getschedule.visit_no) />
        <!---
    	<cfif getschedule.total_visits GT 0 >
   			 <cfset  request.increment_goal  = ((getschedule.severity_goal - getschedule.severity_problem)/ getschedule.total_visits) />
   		</cfif>
			<cfset  request.increment_goal_this_visit  = ((request.increment_goal * getschedule.visit_no) + getschedule.severity_problem)/> --->   
    </cfif>
	<cfquery  name="getpgcount" datasource="#Application.DataSrc#">
		SELECT   IFNULL(SUM(severity),0) as sev FROM #Request.prefix_db_agency#.pProgress 
		WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  AND status = 0
		AND Schedule_ID =  <cfqueryparam value="#Request.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
		AND Type IN ('problem','symptom')
	</cfquery>
	<cfset  request.result_this_visit = #getpgcount.sev# />

	<cfif skilltype NEQ 'SN'>
		<cfquery  name="getpggoalscount" datasource="#Application.DataSrc#">
			SELECT IFNULL(SUM(Severity),0) as sev FROM #Request.prefix_db_agency#.pProgress 
			WHERE Assmt_ID = <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">  AND status = 0
			AND Schedule_ID =  <cfqueryparam value="#Request.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
			AND Type  like '%problem%' AND Description like 'GG%%'
		</cfquery>
		<cfif getpggoalscount.recordcount gt 0 >
			<cfset  request.goal_result_this_visit =  request.goal_result_this_visit + #getpggoalscount.sev# />
		</cfif>
	</cfif>
	


	<cfset request.total_increment  = request.increment_goal + request.increment_goal_this_visit >  
	<cfset request.total_result     = request.result_this_visit + request.goal_result_this_visit >

	<cfquery  name="updateSchedulescount" datasource="#Application.DataSrc#">
		UPDATE #Request.prefix_db_agency#.pSchedules  SET 
		  increment_problem            		=  '#request.increment_problem#',
		  increment_this_visit         		= #request.increment_this_visit#,
		  result_this_visit    		   		= #request.result_this_visit#, 
		  increment_goal               		= #request.increment_goal#, 
		  increment_goal_this_visit   		= #request.increment_goal_this_visit#, 
		  goal_result_this_visit            = #request.goal_result_this_visit#,
		  total_increment            		= #request.total_increment#,
		  total_result			            = #request.total_result#

		WHERE Assmt_ID =  <cfqueryparam value="#Request.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
		AND Schedule_ID =  <cfqueryparam value="#Request.Schedule_ID#"  cfsqltype="CF_SQL_INTEGER">
		AND Status = <cfqueryparam value="0"  cfsqltype="CF_SQL_INTEGER">
	</cfquery>