<cfset allskills = "SN,PT,OT,ST" />
<cfparam name="url.Agency_ID" default="0">


<cfquery name="Agencylist" datasource="#Application.DataSrc#">
		select agency_id from #Request.prefix_db_lookup#.Agency where status='active'
		<cfif url.Agency_ID NEQ 0 >
			AND Agency_ID = '#url.Agency_ID#'
		</cfif>
		 ORDER BY agency_id
</cfquery>

<cfloop query="Agencylist">

	<cfset #Request.prefix_db_agency# = 'agency_'& Agencylist.Agency_ID />
	<cfquery  name="getallass" datasource="#Application.DataSrc#">
		 SELECT pAssessments.*,pAdmit.M1100_PTNT_LVG_STUTN,
	   		CASE   
	   			WHEN LEFT(F26,1) = '4' THEN  IFNULL(F40,0) 
	   			WHEN LEFT(F26,2) = 'OT' THEN  IFNULL(F38,0)  
	   			WHEN F26 = 'SN Adult Evaluation' THEN  IFNULL(F47,0) 
			ELSE   IFNULL(F34,0)
		    END AS  M1700,
	   		CASE   WHEN (LEFT(F26,1) = '1' OR LEFT(F26,1) = '4')  THEN  IFNULL(F72,0)  
	  			 WHEN F26 = 'SN Adult Evaluation' THEN  IFNULL(F49,0) 
					 ELSE   	IFNULL(F240,0) 
		    END AS  M2102d
		  FROM #Request.prefix_db_agency#.pAssessments 
		  JOIN #Request.prefix_db_agency#.pAdmit ON pAdmit.Admit_ID =  pAssessments.Admit_ID 
		 WHERE  pAssessments.status = 0  AND pAdmit.status = 0
		 AND pAssessments.F27 IN ('SN','PT','OT','ST')
		 AND (pAssessments.F26 like '1%' OR pAssessments.F26 like '4%' OR pAssessments.F26 like '%Eval%')
		<!---  AND pAssessments.Patient_ID =  '500' --->
		 GROUP BY pAssessments.F27,pAssessments.Assmt_ID 
		ORDER BY   pAssessments.Patient_ID,pAssessments.F177 DESC 
	</cfquery>

	<cfquery  name="getallauths" datasource="#Application.DataSrc#">
		 SELECT * FROM #Request.prefix_db_agency#.pAuths  
		 WHERE  status = 0
		 AND Assmt_ID != 0
	</cfquery>

	<cfquery  name="getallcareplans" datasource="#Application.DataSrc#">
		 SELECT * FROM #Request.prefix_db_agency#.pCareplan 
		 WHERE  Type = 'goal'
		 AND status  = 0
	</cfquery>

	<cfquery  name="getallVBP" datasource="#Application.DataSrc#">
			SELECT  * FROM   #Request.prefix_db_lookup#.VBP_Analysis
	</cfquery>

	<cfloop query="getallass">
		<!--- <cfquery  name="getmed_payer" datasource="#Application.DataSrc#">
			SELECT * FROM  #Request.prefix_db_agency#.pPtPayer pPtPayer 
			JOIN #Request.prefix_db_agency#.pPayer pp on pPtPayer.Payer_ID = pp.Pay_ID
			WHERE pPtPayer.Patient_ID = #getallass.Patient_ID#
			AND pPtPayer.Status = 0
			AND pp.Output = 'Medicare'
		</cfquery> --->

		<cfloop list="4,1,SN Adult,PT Adult,OT Adult,ST Adult" index="oasis">
			<cfquery name="Assessget"  dbtype="query">
					SELECT *  FROM  getallass 
					WHERE  F26 like '#oasis#%' 
					AND Admit_ID =  '#Admit_ID#'
					ORDER BY F26 DESC,F176 DESC
			</cfquery>
			<cfif Assessget.recordcount GT 0 >
				<cfset parent_assmtid = #Assessget.Assmt_ID# />
				<cfbreak>
			</cfif>
		</cfloop>
		<cfset update_assmt_Id = getallass.Assmt_ID />
		<cfloop list="#allskills#" index="item">
			<cfquery  name="getSkillauth" dbtype="query">
				SELECT SUM(getallauths.Total_Visits) AS tot_visits FROM getallauths WHERE Skill = '#item#'
				AND Assmt_ID = '#parent_assmtid#'
			</cfquery>

			<cfset tot_visits = 0 >
			<cfset achieved_goals = 0 >
			<cfset total_goals = 0 />		

			<cfif getSkillauth.tot_visits gt 0 >
			 	<cfset tot_visits =  getSkillauth.tot_visits />
			</cfif>
			<cfquery  name="getscareplans" dbtype="query">
					SELECT * FROM getallcareplans WHERE Skill = '#item#' AND Assmt_ID = '#parent_assmtid#'
			</cfquery>
			<!--- <cfdump var="#tot_visits#">
			<cfdump var="#getscareplans#"> --->
			<cfset total_goals = getscareplans.recordcount />
			<cfif tot_visits NEQ 0 AND total_goals  NEQ 0 >
				<cfset achieved_goals = total_goals/tot_visits   /> 
			</cfif>
			<cfquery  name="getsVBPA" dbtype="query">
				SELECT  * FROM  getallVBP
				WHERE M1700 = '#getallass.M1700#'
				AND M2102d = '#getallass.M2102d#'
				AND Skill =  '#item#'
				AND M1100 like '%#getallass.M1100_PTNT_LVG_STUTN#%'
			</cfquery>
			<cfset Goals_Per_Visit = 0 />
			<cfif getsVBPA.Goals_Per_Visit gt 0 >
					<cfset Goals_Per_Visit =  getsVBPA.Goals_Per_Visit />
			</cfif>																					

			<cfquery  name="update_goalspervisit" datasource="#Application.DataSrc#">
				 UPDATE #Request.prefix_db_agency#.pAssessments   SET  
				 	F304 = '#LsNumberFormat(achieved_goals, "0.0")#',
				 	F305 = '#LsNumberFormat(Goals_Per_Visit, "0.0")#'
				    <!--- <cfif item EQ  'SN' >
					 	F304 = '#LsNumberFormat(achieved_goals, "0.0")#'
					<cfelseif item EQ  'PT' > 
					 	F305 = '#LsNumberFormat(Goals_Per_Visit, "0.0")#'
					<cfelseif item EQ  'OT' > 
					 	F307 = '#LsNumberFormat(Goals_Per_Visit, "0.0")#'
					<cfelseif item EQ  'ST' > 
					 	F308 = '#LsNumberFormat(Goals_Per_Visit, "0.0")#'
					</cfif> --->
				 WHERE  status = 0
				 AND Assmt_ID = '#update_assmt_Id#'
				 AND F27 = '#item#'
			</cfquery>	

		    <!--- <cfoutput>#Patient_ID# -  #item# - #Assmt_ID# - #LsNumberFormat(achieved_goals, "0.0")# - Recommended goals - #Goals_Per_Visit#</cfoutput><br> --->
		</cfloop>
	</cfloop>
</cfloop>