<!--- Daily dashboard: Caregiver Alerts (VBP_Analysis_CG) — Dash_emp_count + Email_Daily_QA --->
<cfparam name="Request.caregiverAlertsSkipEmail" default="false">
<cfparam name="Request.caregiverAlertsExpireEmpIdOnly" default="0">
<cfparam name="Request.caregiverAlertsRestrictEmpId" default="0">
<cfset caregiverAlertsHeader = "caregiver_alerts">

<cfif NOT structKeyExists(Request, "caregiverAlertsAgencyId") OR NOT len(trim(Request.caregiverAlertsAgencyId))>
	<cfif structKeyExists(Agencylist, "Agency_ID")>
		<cfset Request.caregiverAlertsAgencyId = Agencylist.Agency_ID>
	</cfif>
</cfif>

<cfif NOT IsDefined("currentDate")>
	<cfset currentDate = CreateODBCDate(Now())>
</cfif>
<cfif NOT IsDefined("currentTimestamp")>
	<cfset currentTimestamp = Now()>
</cfif>

<cfif Request.caregiverAlertsExpireOld>
	<cfquery name="expireCaregiverAlertsEmail" datasource="#Application.DataSrc#">
		UPDATE #Request.prefix_db_agency#.Email_Daily_QA
		SET status = 1
		WHERE status = 0 AND Header IN ('caregiver_alerts', 'caregiver alerts')
	</cfquery>
	<cfquery name="expireCaregiverAlertsDash" datasource="#Application.DataSrc#">
		UPDATE #Request.prefix_db_agency#.Dash_emp_count
		SET status = 1
		WHERE status = 0 AND Header IN ('caregiver_alerts', 'caregiver alerts')
			<cfif IsNumeric(Request.caregiverAlertsExpireEmpIdOnly) AND Request.caregiverAlertsExpireEmpIdOnly GT 0>
				AND Emp_ID = <cfqueryparam value="#Request.caregiverAlertsExpireEmpIdOnly#" cfsqltype="CF_SQL_INTEGER">
			</cfif>
	</cfquery>
</cfif>

<cfif NOT structKeyExists(Request, "caregiverAlertsEmpId")>
	<cfset Request.caregiverAlertsEmpId = 0>
</cfif>
<cfinclude template="caregiver_alerts_data_inc.cfm">

<cfset caregiverAlertCounts = StructNew()>
<cfloop query="getCaregiverAlerts">
	<cfset empIDToUse = AssignedEmpID>
	<cfif NOT IsNumeric(empIDToUse) OR empIDToUse EQ 0>
		<cfset empIDToUse = 2>
	</cfif>
	<cfif NOT StructKeyExists(caregiverAlertCounts, empIDToUse)>
		<cfset caregiverAlertCounts[empIDToUse] = 0>
	</cfif>
	<cfset caregiverAlertCounts[empIDToUse] = caregiverAlertCounts[empIDToUse] + 1>

	<cfif NOT Request.caregiverAlertsSkipEmail>
	<cfset empFirstVal = Len(Trim(Emp_First)) ? Trim(Emp_First) : "">
	<cfset empLastVal = Len(Trim(Emp_Last)) ? Trim(Emp_Last) : "">
	<cfquery name="insertCaregiverAlertEmail" datasource="#Application.DataSrc#">
		INSERT INTO #Request.prefix_db_agency#.Email_Daily_QA
		(Daily_QA_Date, Assmt_ID, Emp_ID, Patient_ID, Pt_Last, Pt_First, Emp_First, Emp_Last, Header, Description, Created_Date, status)
		VALUES (
			<cfqueryparam value="#currentDate#" cfsqltype="CF_SQL_DATE">,
			<cfqueryparam value="#Assmt_ID#" cfsqltype="CF_SQL_INTEGER">,
			<cfqueryparam value="#empIDToUse#" cfsqltype="CF_SQL_INTEGER">,
			<cfqueryparam value="#Patient_ID#" cfsqltype="CF_SQL_INTEGER">,
			<cfqueryparam value="#Pt_Last#" cfsqltype="CF_SQL_VARCHAR">,
			<cfqueryparam value="#Pt_First#" cfsqltype="CF_SQL_VARCHAR">,
			<cfqueryparam value="#empFirstVal#" cfsqltype="CF_SQL_VARCHAR" null="#NOT Len(empFirstVal)#">,
			<cfqueryparam value="#empLastVal#" cfsqltype="CF_SQL_VARCHAR" null="#NOT Len(empLastVal)#">,
			<cfqueryparam value="#caregiverAlertsHeader#" cfsqltype="CF_SQL_VARCHAR">,
			<cfqueryparam value="#Caregiver_Alert#" cfsqltype="CF_SQL_LONGVARCHAR">,
			<cfqueryparam value="#currentTimestamp#" cfsqltype="CF_SQL_TIMESTAMP">,
			<cfqueryparam value="0" cfsqltype="CF_SQL_INTEGER">
		)
	</cfquery>
	</cfif>
</cfloop>

<cfif IsNumeric(Request.caregiverAlertsRestrictEmpId) AND Request.caregiverAlertsRestrictEmpId GT 0>
	<cfset restrictEmpId = Request.caregiverAlertsRestrictEmpId>
	<cfset caregiverAlertCount = StructKeyExists(caregiverAlertCounts, restrictEmpId) ? caregiverAlertCounts[restrictEmpId] : 0>
	<cfif caregiverAlertCount GT 0>
		<cfquery name="insertCaregiverAlertsDashCount" datasource="#Application.DataSrc#">
			INSERT INTO #Request.prefix_db_agency#.Dash_emp_count
			(Daily_QA_Date, Emp_ID, Emp_Count, Header, Created_Date, status)
			VALUES (
				<cfqueryparam value="#currentDate#" cfsqltype="CF_SQL_DATE">,
				<cfqueryparam value="#restrictEmpId#" cfsqltype="CF_SQL_INTEGER">,
				<cfqueryparam value="#caregiverAlertCount#" cfsqltype="CF_SQL_INTEGER">,
				<cfqueryparam value="#caregiverAlertsHeader#" cfsqltype="CF_SQL_VARCHAR">,
				<cfqueryparam value="#currentTimestamp#" cfsqltype="CF_SQL_TIMESTAMP">,
				<cfqueryparam value="0" cfsqltype="CF_SQL_INTEGER">
			)
		</cfquery>
	</cfif>
<cfelse>
	<cfloop collection="#caregiverAlertCounts#" item="empID">
		<cfif caregiverAlertCounts[empID] GT 0>
			<cfquery name="insertCaregiverAlertsDashCount" datasource="#Application.DataSrc#">
				INSERT INTO #Request.prefix_db_agency#.Dash_emp_count
				(Daily_QA_Date, Emp_ID, Emp_Count, Header, Created_Date, status)
				VALUES (
					<cfqueryparam value="#currentDate#" cfsqltype="CF_SQL_DATE">,
					<cfqueryparam value="#empID#" cfsqltype="CF_SQL_INTEGER">,
					<cfqueryparam value="#caregiverAlertCounts[empID]#" cfsqltype="CF_SQL_INTEGER">,
					<cfqueryparam value="#caregiverAlertsHeader#" cfsqltype="CF_SQL_VARCHAR">,
					<cfqueryparam value="#currentTimestamp#" cfsqltype="CF_SQL_TIMESTAMP">,
					<cfqueryparam value="0" cfsqltype="CF_SQL_INTEGER">
				)
			</cfquery>
		</cfif>
	</cfloop>
</cfif>
