<cfcomponent displayname="superadmin Functions" hint="I Return superadmin Information" output="false">
	
   <cffunction name="init" displayname="Initialize Component" access="public" returntype="superadmin" hint="I initialize and return the superadmin object.">
		<cfreturn this>
	</cffunction>

	<cffunction name="sendcommunication"  access="remote" returnFormat= "JSON" >
	      <cfargument name="Emp_ID" required="yes" default="0"  hint="Emp_ID" >
	      <cfargument name="Patient_Id" required="yes" default="0"  hint="Patient_Id" >
	      <cfargument name="CommSub_ID" required="Yes" default="0"  hint="CommSub_ID">
	      <cfargument name="Comm_Date" required="Yes" default="0"  hint="Comm_Date">
	      <cfargument name="memo" required="Yes" default="0"  hint="memo">
	      <cfargument name="Followup_desc" required="Yes" default="0"  hint="Followup_desc">
	      <cfargument name="Agency_ID" required="Yes" default="0"  hint="Notes">
	      <cfset Request.prefix_db_agency = 'agency_'& arguments.Agency_ID />
			<cfquery name="Comm" datasource="#Application.DataSrc#">
				    INSERT INTO #Request.prefix_db_agency#.Communication (
				      CommSub_ID,
				      Patient_ID,
				      Employee_ID,
				      Schedule_ID,
				      Agency_ID,
				      Comm_Date,
				      Memo,
				      Followup_desc,
				      Resolved,
				      Record_Creation_Date,
				      Record_Created_By,
				      Record_Mod_Date,
				      Record_Mod_By
				    ) VALUES (
				       <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.CommSub_ID#">,
				      <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Patient_Id#">,
				      <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Emp_ID#">,
				      <cfqueryparam cfsqltype="cf_sql_integer" value="0">,
				       <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Agency_ID#">, 
				       '#DateFormat(arguments.Comm_Date,"yyyy-mm-dd")#',
				      <cfqueryparam value="#Trim(arguments.memo)#"  cfsqltype="CF_SQL_LONGNVARCHAR">,
				      <cfqueryparam value="#Trim(arguments.Followup_desc)#"  cfsqltype="CF_SQL_VARCHAR">,
				       <cfqueryparam value="No"  cfsqltype="CF_SQL_VARCHAR">,
				      '#DateFormat(Now(),"yyyy-mm-dd")#',
				      <cfqueryparam cfsqltype="cf_sql_integer" value="#Session.MM_USID#">,
				      '#DateFormat(Now(),"yyyy-mm-dd")#',
				      <cfqueryparam cfsqltype="cf_sql_integer" value="#Session.MM_USID#">
				   )
			</cfquery>
			<cfset id = 0 />
		    <cfquery name='getId' datasource='#Application.DataSrc#'>
		       Select LAST_INSERT_ID() AS id
		    </cfquery>
		    <cfset id = getId.id />
		    <cfset form.comm_id = id />
			<cfquery name='commInsert' datasource='#Application.DataSrc#'>
			    INSERT INTO #Request.prefix_db_agency#.communication_to (
			       comm_id, employee_id
			    ) VALUES (
			      '#id#', #arguments.Emp_ID#
			    )
			</cfquery>


			<cfset ReplyTo = "info@MyHomeCareBiz.com" />
			<cfquery name='GetReplyTo' datasource='#Application.DataSrc#'>
			    SELECT e.Emp_email AS email, e.Emp_First AS first_name, e.Emp_Last AS last_name
			    FROM   #Request.prefix_db_agency#.Communication c, #Request.prefix_db_lookup#.pEmployee e
			    WHERE  c.comm_id = '#id#'
			    AND    e.Emp_ID = c.Record_Created_By
			</cfquery>
			<cfset postedBy = GetReplyTo.first_name & " " & GetReplyTo.last_name />
			<cfif GetReplyTo.recordcount eq 1 and GetReplyTo.email neq ''>
			  <cfset ReplyTo = GetReplyTo.email />
			</cfif>
			<cfquery name='Getemployee' datasource='#Application.DataSrc#'>
			    SELECT *
			    FROM   #Request.prefix_db_lookup#.pEmployee 
			    WHERE  Emp_ID =  <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Emp_ID#">
			</cfquery>

			<cfset toText = Getemployee.Emp_Email />
			<!--- <cfset toText = 'velmurugan_g@outlook.com'/> --->
  			<cfif Getemployee.Emp_Email neq ''>
				  <cfset valid = REFind("^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$", 
				Trim(#toText#), 1) gt 0 />
				   <cfif valid EQ 'YES'>
				       <cfmail to = "#toText#"
				             from = "info@myhomecarebiz.com"   
				             replyto = "#ReplyTo#"
				          subject = "MyHomeCareBiz.com New Communication..."
				             type = "html">
				            A New Communication has been Assigned to You at MyHomeCareBiz.com by #postedBy#. Please <a href='https://secure.myhomecarebiz.com/agencyadmin/comm.cfm?cid=#id#'>click here</a> to View the New Communication.
				      </cfmail>
   					</cfif>
  			</cfif>
		  <cfset response_key={"statusCode"= 200,"statusText"= 'success',"data"= 'success' } />
		<cfreturn  response_key >
    </cffunction>


   	<cffunction name="updatnotes"  access="remote" output="Yes"  returnformat="plain" returntype="string">
   		  <cfargument name="Recomm_problem_ID" required="yes" default="0"  hint="Recomm_problem_ID" >
	      <cfargument name="Notes" required="Yes" default="0"  hint="Notes">
	      <cfargument name="ID" required="Yes" default="0"  hint="ID">
	      <cfargument name="Agency_ID" required="Yes" default="0"  hint="Agency_ID">
	      <cfset Request.prefix_db_agency = 'agency_'& arguments.Agency_ID />   
	        <cftry>
	           	 	<cfquery  name="medspathway" datasource="#Application.DataSrc#">
		                UPDATE #Request.prefix_db_lookup#.meds_pathway_lookup
		                  SET   
		                    Recomm_problem_ID = <cfqueryparam value="#arguments.Recomm_problem_ID#"  cfsqltype="cf_sql_integer">
		              		<!--- Notes = <cfqueryparam value="#arguments.Notes#"  cfsqltype="cf_sql_varchar">  --->
		                WHERE ID IN  (<cfqueryparam value="#arguments.ID#"  cfsqltype="cf_sql_integer" list="yes">) 
	            	</cfquery>
		            <cfset insert_action="Success" />					
				    <cfreturn insert_action />
		        <cfcatch>
		            <cfset insert_action="failure" />					
					<cfreturn insert_action />
		        </cfcatch>
	      	</cftry>

   	</cffunction>


   	<cffunction name="pairmeds_old_19thjuly_2023"  access="remote" output="Yes"  returnformat="plain" returntype="string">
	      <cfargument name="ID" required="Yes" default="0"  hint="ID">
	      <cfargument name="Problem_ID" required="Yes" default="0"  hint="Problem_ID">
	      <cfargument name="Path_ID" required="Yes" default="0"  hint="Path_ID">
	      <cfargument name="Agency_ID" required="Yes" default="0"  hint="Agency_ID">
	      <cfset Request.prefix_db_agency = 'agency_'& arguments.Agency_ID />   
	        <cftry>
	        		<cfquery  name="updateproblems" datasource="#Application.DataSrc#">
		                UPDATE #Request.prefix_db_agency#.pProblem
		                SET   Path_ID = <cfqueryparam value="#arguments.Path_ID#"  cfsqltype="cf_sql_integer">
		                WHERE Problem_ID =  <cfqueryparam value="#arguments.Problem_ID#"  cfsqltype="cf_sql_integer">
		                AND Status = 0
	            	</cfquery>
	           	 	<cfquery  name="medspathway" datasource="#Application.DataSrc#">
		                UPDATE #Request.prefix_db_lookup#.meds_pathway_lookup
		                  SET   Approved = <cfqueryparam value="Yes"  cfsqltype="cf_sql_varchar">
		                WHERE ID IN  (<cfqueryparam value="#arguments.ID#"  cfsqltype="cf_sql_integer" list="yes">) 
	            	</cfquery>
		            <cfset insert_action="Success" />					
				    <cfreturn insert_action />
		        <cfcatch>
		            <cfset insert_action="failure" />					
					<cfreturn insert_action />
		        </cfcatch>
	      	</cftry>

   	</cffunction>

   	<cffunction name="pairmeds"  access="remote" output="Yes"  returnformat="plain" returntype="string">
	      <cfargument name="ID" required="Yes" default="0"  hint="ID">
	      <cfargument name="Problem_ID" required="Yes" default="0"  hint="Problem_ID">
	      <cfargument name="Path_ID" required="Yes" default="0"  hint="Path_ID">
	      <cfargument name="medsdescription" required="No" default="0"  hint="medsdescription">
	       <cfargument name="Patient_ID" required="Yes" default="0"  hint="Patient_ID">
	      <cfargument name="Agency_ID" required="Yes" default="0"  hint="Agency_ID">
	      <cfset Request.prefix_db_agency = 'agency_'& arguments.Agency_ID />   
	        <cftry>
	        		<cfquery  name="getmedspathway" datasource="#Application.DataSrc#">
		                SELECT * FROM #Request.prefix_db_lookup#.meds_pathway_lookup
		                WHERE  Generic_Name  = '#medsdescription#'
	            	</cfquery>
	            	<cfquery  name="getsproblems" datasource="#Application.DataSrc#">
		                SELECT * FROM #Request.prefix_db_agency#.pProblem
		                WHERE Problem_ID =   <cfqueryparam value="#arguments.problem_id#"  cfsqltype="cf_sql_integer">
		                AND Status = 0
	            	</cfquery>
	            	<cfquery  name="getmedspathway1" dbtype="query">
		                SELECT * FROM getmedspathway
		                WHERE Path_ID = '#getsproblems.Path_ID#'
		                AND Patient_ID = '#arguments.Patient_ID#' AND Agency_ID = '#arguments.Agency_ID#'
	            	</cfquery>

	            	<cfif  getmedspathway1.recordcount gt 0 >
	            		<cfquery  name="medspathway" datasource="#Application.DataSrc#">
		               		UPDATE #Request.prefix_db_lookup#.meds_pathway_lookup
		                    SET   Approved = <cfqueryparam value="Yes"  cfsqltype="cf_sql_varchar">
		                    WHERE ID IN  (<cfqueryparam value="#arguments.ID#"  cfsqltype="cf_sql_integer" list="yes">) 
	            		</cfquery>
	            	<cfelse>
	            		<cfquery  name="getmedsnew" datasource="#Application.DataSrc#">
			                SELECT * FROM #Request.prefix_db_lookup#.Meds_New
			                WHERE Med_ID IN  (<cfqueryparam value="#getmedspathway.Med_ID#"  cfsqltype="cf_sql_integer" list="yes">) 
			                AND Trade_Name  = '#medsdescription#'
	            		</cfquery>
	            		<cfquery  name="medspathwayinsert" datasource="#Application.DataSrc#">
		               		INSERT INTO #Request.prefix_db_lookup#.meds_pathway_lookup
		               		(Med_ID, Trade_Num, Generic_Name, Path_ID, Agency_ID, Patient_ID,Emp_ID, Approved, Date_Created)
		               		VALUES
		               		( 
		               		<cfqueryparam cfsqltype="cf_sql_integer" value="#getmedsnew.Med_ID#">,
				     		<cfqueryparam cfsqltype="cf_sql_integer" value="#getmedsnew.Trade_Num#">,
				      		<cfqueryparam cfsqltype="cf_sql_varchar" value="#getmedsnew.Generic_Name#">,
				      		<cfqueryparam cfsqltype="cf_sql_integer" value="#getsproblems.Path_ID#">,
				       		<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Agency_ID#">,
				       		<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.Patient_ID#">,
				       		<cfqueryparam cfsqltype="cf_sql_integer" value="#Session.mm_usid#">,
				       		<cfqueryparam cfsqltype="cf_sql_varchar" value="Yes">,
		               		now())
	            		</cfquery>
	            	</cfif>
	            	<cfset insert_action="Success" />					
				    <cfreturn insert_action />
		        <cfcatch>
		             <cfdump var="#cfcatch#">
		            <cfset insert_action="failure" />					
					<cfreturn insert_action />
		        </cfcatch>
	      	</cftry>

   	</cffunction>




</cfcomponent>