<cfcomponent output="false">	
	<cfprocessingdirective pageencoding="utf-8"/>
	<cffunction name="SpeechUPIN1" access="remote" returntype="string">	
	           <cfargument name="EvaluationDate" required="yes" hint="Speech Step 1">
			   <cfargument name="txtFacility" required="yes" hint="Speech Step 1">
			   <cfargument name="txtMDbox" required="yes" hint="Speech Step 1">
			   <cfargument name="txtCurrentDiet" required="yes" shint="Speech Step 1">
			   <cfargument name="txtLiquids" required="yes" hint="Speech Step 1">
			   <cfargument name="txtComment" required="yes" shint="Speech Step 1">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery  name="SpeechUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Date_Most_Recent_M0903 ='#DateFormat(EvaluationDate,'yyyy-mm-dd')#',	
						Braden_1_Sensory = '#txtFacility#',
						Braden_2_Moisture = '#txtMDbox#',					    
						Braden_3_Activity = '#txtCurrentDiet#',										
						Braden_4_Mobility = '#txtLiquids#',						
						Assessment_note = '#txtComment#'					
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 
		     
			  <cfreturn 'step2'>
	</cffunction>
	
	<cffunction name="SpeechUPIN2" access="remote" returntype="string">	
	           <cfargument name="painlevel" required="yes" hint="Speech Step 2">
			   <cfargument name="txtpainchare1" required="yes" hint="Speech Step 2">
			   <cfargument name="painthers" required="yes" hint="Speech Step 2">
			   <cfargument name="ratecurrent" required="yes" shint="Speech Step 2">
			   <cfargument name="howlong" required="yes" hint="Speech Step 2">
			   <cfargument name="chkwhatis1" required="yes" hint="Speech Step 2">
			   <cfargument name="txtComment" required="yes" shint="Speech Step 2">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery  name="SpeechUP2" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Psy_Nursing_M0630 = '#painlevel#',
						Grooming_M0640 = '#txtpainchare1#',					    
						Grooming_M0640p = '#painthers#',										
						Dress_Upper_M0650 = '#ratecurrent#',	
						Dress_Upper_M0650p = '#howlong#',
						Dress_Lower_M0660 = '#chkwhatis1#',						
						Assessment_note = '#txtComment#'					
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			 
			   		 
		     
			  <cfreturn 'step3'>
	</cffunction>
	
	
	<cffunction name="SpeechUPIN3" access="remote" returntype="string">	
	           <cfargument name="Shortterm" required="yes" hint="Speech Step 3">
			   <cfargument name="longterm" required="yes" hint="Speech Step 3">
			   <cfargument name="Orientation" required="yes" hint="Speech Step 3">
			   <cfargument name="Attention" required="yes" shint="Speech Step 3">			 
			   <cfargument name="txtComment" required="yes" shint="Speech Step 3">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery  name="SpeechUP3" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Braden_5_Nutrition = '#Shortterm#',
						Braden_6_Friction = '#longterm#',					    
						M1730a = '#Orientation#',										
						M1730b = '#Attention#',											
						Assessment_note = '#txtComment#'					
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			 
			   		 
		     
			  <cfreturn 'step4'>
	</cffunction>
	
	
	<cffunction name="SpeechUPIN4" access="remote" returntype="string">	
	           <cfargument name="ReadingLetter" required="yes" hint="Speech Step 4">
			   <cfargument name="ReadingWords" required="yes" hint="Speech Step 4">
			   <cfargument name="ReadingSimple" required="yes" hint="Speech Step 4">
			   <cfargument name="ReadingComplex" required="yes" shint="Speech Step 4">
			   <cfargument name="ReadingParagraph" required="yes" shint="Speech Step 4">			 
			   <cfargument name="txtComment" required="yes" shint="Speech Step 4">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery  name="SpeechUP4" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Pain1 = '#ReadingLetter#',
						Pain2 = '#ReadingWords#',					    
						Pain3 = '#ReadingSimple#',										
						Pain4 = '#ReadingComplex#',		
						Pain5 = '#ReadingParagraph#',									
						Assessment_note = '#txtComment#'					
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			 
			   		 
		     
			  <cfreturn 'step5'>
	</cffunction>
	
	
	<cffunction name="SpeechUPIN5" access="remote" returntype="string">	
	           <cfargument name="WritingLetter" required="yes" hint="Speech Step 5">
			   <cfargument name="WritingWords" required="yes" hint="Speech Step 5">
			   <cfargument name="WritingSimple" required="yes" hint="Speech Step 5">
			   <cfargument name="WritingComplex" required="yes" shint="Speech Step 5">
			   <cfargument name="WritingParagraph" required="yes" shint="Speech Step 5">			 
			   <cfargument name="txtComment" required="yes" shint="Speech Step 5">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery  name="SpeechUP5" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Fall_A = '#WritingLetter#',
						Fall_B = '#WritingWords#',					    
						Fall_C = '#WritingSimple#',										
						Fall_D = '#WritingComplex#',		
						Fall_E = '#WritingParagraph#',									
						Assessment_note = '#txtComment#'					
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			 
			   		 
		     
			  <cfreturn 'step6'>
	</cffunction>
	
	
	<cffunction name="SpeechUPIN6" access="remote" returntype="string">	
	           <cfargument name="Articulation" required="yes" hint="Speech Step 6">
			   <cfargument name="Prosody" required="yes" hint="Speech Step 6">
			   <cfargument name="Respiration" required="yes" hint="Speech Step 6">
			   <cfargument name="SpeechIntelligibility" required="yes" shint="Speech Step 6">	
			   <cfargument name="Oralfacialexam" required="yes" shint="Speech Step 6">		   		 
			   <cfargument name="txtComment" required="yes" shint="Speech Step 6">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery  name="SpeechUP6" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Fall_F = '#Articulation#',
						Fall_G = '#Prosody#',					    
						Fall_H = '#Respiration#',										
						Fall_I = '#SpeechIntelligibility#',		
						M1000_Other = '#Oralfacialexam#',									
						Assessment_note = '#txtComment#'					
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			 
			   		 
		     
			  <cfreturn 'step7'>
	</cffunction>
	
	
	<cffunction name="SpeechUPIN7" access="remote" returntype="string">	
	           <cfargument name="Chewingability" required="yes" hint="Speech Step 7">
			   <cfargument name="Oralstagemanagement" required="yes" hint="Speech Step 7">
			   <cfargument name="Pharyngealstagemanagement" required="yes" hint="Speech Step 7">
			   <cfargument name="Reflextime" required="yes" shint="Speech Step 7">			   	 
			   <cfargument name="txtComment" required="yes" shint="Speech Step 7">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery  name="SpeechUP7" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						M2100a_Equip = '#Chewingability#',
						M2100b_Equip = '#Oralstagemanagement#',					    
						M2100c_Equip = '#Pharyngealstagemanagement#',										
						M2100d_Equip = '#Reflextime#',												
						Assessment_note = '#txtComment#'					
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			 
			   		 
		     
			  <cfreturn 'step8'>
	</cffunction>
	
	
	<cffunction name="SpeechUPIN8" access="remote" returntype="string">	
	           <cfargument name="Augmentativemethods" required="yes" hint="Speech Step 8">
			   <cfargument name="Naming" required="yes" hint="Speech Step 8">
			   <cfargument name="AppropriateYesNo" required="yes" hint="Speech Step 8">
			   <cfargument name="VerbalComplexsentences" required="yes" shint="Speech Step 8">	
			   <cfargument name="Conversation" required="yes" shint="Speech Step 8">		   		 
			   <cfargument name="txtComment" required="yes" shint="Speech Step 8">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery  name="SpeechUP8" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						M2100e_Equip = '#Augmentativemethods#',
						M2100f_Equip = '#Naming#',					    
						M2100g_Equip = '#AppropriateYesNo#',										
						M1040_Influ = '#VerbalComplexsentences#',		
						M1045_Influ = '#Conversation#',									
						Assessment_note = '#txtComment#'					
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			 
			   		 
		     
			  <cfreturn 'step9'>
	</cffunction>
	
	
	
	<cffunction name="SpeechUPIN9" access="remote" returntype="string">	
	           <cfargument name="WordDiscrimination" required="yes" hint="Speech Step 9">
			   <cfargument name="OneStepDirections" required="yes" hint="Speech Step 9">
			   <cfargument name="TwoStepDirections" required="yes" hint="Speech Step 9">
			   <cfargument name="AuditoryComplexDirections" required="yes" shint="Speech Step 9">	
			   <cfargument name="AuditoryConversation" required="yes" shint="Speech Step 9">
			   <cfargument name="AuditorySpeechreading" required="yes" shint="Speech Step 9">		   		 
			   <cfargument name="txtComment" required="yes" shint="Speech Step 9">
			   <cfargument name="notvalidation" required="yes" hint="Speech Step 9">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery  name="SpeechUP9" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						M2400a_Diabetic = '#WordDiscrimination#',
						M2400b_FallsPrev = '#OneStepDirections#',					    
						M2400c_Depress = '#TwoStepDirections#',										
						M2400d_Pain = '#AuditoryComplexDirections#',		
						M2400e_PressUlc = '#AuditoryConversation#',	
						M2400f_PressUlcMoist = '#AuditorySpeechreading#',
						<cfif #notvalidation# eq '0'>
						AssessmentType_New = 1,
						Admission_Status='Complete',
						</cfif>									
						Assessment_note = '#txtComment#'					
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			 
			   		 
		     
			  <cfreturn 'step10'>
	</cffunction>
	
	<cffunction name="Getauthorizeddates" access="remote" returntype="string">	
	   <cfargument name="revcode_id" required="yes" hint="Authorization start,end date and Units">
	    <cfargument name="patid" required="yes" hint="Authorization start,end date and Units">
		 <cfargument name="payid" required="yes" hint="Authorization start,end date and Units">
		 <cfargument name="Authid" required="yes" hint="Authorization start,end date and Units">
		 <!--- <cfargument name="Assid" required="yes" hint="Authorization start,end date and Units">--->
	   <cfquery  name="AuthoDate" datasource="#Application.DataSrc#">
	   Select a.Time_Frame, a.Units, s.Total_Units, a.StartDate, a.EndDate From #Request.prefix_db_agency#.authorizations a, #Request.prefix_db_agency#.ScheduleItems s
		Where a.Payer_ID = s.Payer_ID
		<!---AND a.Assessment_ID = s.Assessment_ID--->
		AND a.Rev_CodeID = s.Rev_CodeID
		<!---AND a.Assessment_ID = '#Assid#'--->
		AND a.Patient_ID='#patid#'
		AND a.Payer_ID='#payid#'
		AND a.Rev_CodeID = '#revcode_id#'
		AND a.Auth_ID='#Authid#'	
		AND a.Deleted <> '1'     
	   </cfquery>   
	   
	   <cfif isdefined('AuthoDate.recordcount') and AuthoDate.recordcount gt 0>
	   <cfset ReValue=DateFormat(AuthoDate.StartDate, 'mm/dd/yyyy')&'|'&DateFormat(AuthoDate.EndDate, 'mm/dd/yyyy')&'|'&AuthoDate.Units&'|'&AuthoDate.Total_Units>
	   <cfreturn #ReValue#>
	   <cfelse>
	   <cfreturn '0'>
	   </cfif>   
	   
	</cffunction>
	
	<cffunction name="Getauthorizednodata" access="remote" returntype="string">	
	   <cfargument name="revcode_id" required="yes" hint="Authorization start,end date and Units">
	    <cfargument name="patid" required="yes" hint="Authorization start,end date and Units">
		 <cfargument name="payid" required="yes" hint="Authorization start,end date and Units">
		   <cfargument name="Assid" required="yes" hint="Authorization start,end date and Units">
	   <cfquery  name="AuthoDate" datasource="#Application.DataSrc#">
	   Select a.Units , a.StartDate, a.EndDate, ABS(floor(DateDiff(a.StartDate , a.EndDate)/7)) as countweeks From #Request.prefix_db_agency#.authorizations a
		Where a.Assessment_ID = '#Assid#'
		AND a.Patient_ID='#patid#'
		AND a.Payer_ID='#payid#'
		AND a.Rev_CodeID = '#revcode_id#'	
		AND a.Deleted <> '1'     
	   </cfquery>  	      
	   <cfif isdefined('AuthoDate.recordcount') and AuthoDate.recordcount gt 0>
	   <cfset ReValue=AuthoDate.Units&'|'&AuthoDate.countweeks>
	   <cfreturn #ReValue#>
	   <cfelse>
	   <cfreturn '0'>
	   </cfif>   
	   
	</cffunction>
	
	<cffunction name="GetScheduledcount" access="remote" returntype="string">	
	   <cfargument name="Startdate" required="yes" hint="Authorization start,end date ">
	    <cfargument name="Enddate" required="yes" hint="Authorization start,end date">
		<cfargument name="revcode_id" required="yes" hint="Authorization start,end date and Units">
	    <cfargument name="patid" required="yes" hint="Authorization start,end date and Units">
		 <cfargument name="payid" required="yes" hint="Authorization start,end date and Units">
	   <cfquery  name="SchDate" datasource="#Application.DataSrc#">
	   Select Sum(s.Total_Units) as weekunits From #Request.prefix_db_agency#.ScheduleItems s
		Where s.Assessment_ID = '#session.CS.AssessmentId#'
		AND s.Patient_ID='#patid#'
		AND s.Payer_ID='#payid#'
		AND s.Rev_CodeID = '#revcode_id#'
		AND s.Visit_Date BETWEEN '#Startdate#' AND '#Enddate#'   
	   </cfquery>  	      
	   <cfif isdefined('SchDate.recordcount') and SchDate.recordcount gt 0>
	   <cfset RetValue=SchDate.weekunits>
	   <cfreturn #RetValue#>
	   <cfelse>
	   <cfreturn '0'>
	   </cfif>   
	   
	</cffunction>
	
	
	<cffunction name="CheckVisitOrder" access="remote" returntype="string" returnformat="JSON">	
	   <cfargument name="assid" required="yes" hint="Visit Order Check">
	   <cfargument name="revcode" required="yes" hint="Visit Order Check">
	   
	   <cfquery  name="VisitOrder" datasource="#Application.DataSrc#">
	      SELECT * FROM #Request.prefix_db_agency#.visit_orders where Assessment_ID='#assid#' and Revenue_Code = '#revcode#'
	   </cfquery>   
	  
	   <cfreturn #VisitOrder.recordcount#>	  
	   
	</cffunction>
	
	<cffunction name="GetVisitDate" access="remote" returntype="string" returnformat="JSON">	
	   <cfargument name="assid" required="yes" hint="Visit Order Check">
		 <cfargument name="revcode" required="yes" hint="Visit Order Check">
	   
		<cfquery  datasource="#Application.DataSrc#" name="GetAssess">
			SELECT Assessment_New.Certification_Start, Assessment_New.Certification_End
			FROM 
			#Request.prefix_db_agency#.patient, #Request.prefix_db_agency#.Assessment_New 
			WHERE patient.Patient_ID = Assessment_New.Patient_ID AND 
			(
				Assessment_New.Assessment_Reason_M0100 LIKE '1%' OR 
				Assessment_New.Assessment_Reason_M0100 LIKE '4%' OR 
				Assessment_New.Assessment_Reason_M0100 	LIKE '%Evaluation%' OR 
				Assessment_New.Assessment_Reason_M0100 LIKE '%Hospice%' OR 
				Assessment_New.Assessment_Reason_M0100 LIKE '%NO ASSESSMENT%'
			)AND 
			Assessment_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#assid#" <!---maxlength="15"--->> 
		</cfquery> 	   
		
		<cfset revcode= trim(revcode)>
	   
		<cfquery  datasource="#Application.DataSrc#" name="VisitDateQuery">
			SELECT 
				ScheduleItems.Visit_Date
			FROM 
			#Request.prefix_db_agency#.ScheduleItems
				left outer join  #Request.prefix_db_lookup#.Employee on ScheduleItems.Employee_ID = Employee.Employee_ID
				left outer join  #Request.prefix_db_agency#.patient on ScheduleItems.Patient_ID = patient.Patient_ID
				left outer join #Request.prefix_db_agency#.Assessment_New on (ScheduleItems.Assessment_Tracker_ID = Assessment_New.Assessment_Tracker_ID)
				left outer join #Request.prefix_db_agency#.Payer pp on Assessment_New.payer_id = pp.Payer_id
				left outer join #Request.prefix_db_lookup#.Assessment_TimeAuthorizations at on 
				(ScheduleItems.Assessment_Tracker_ID = at.Assessment_Tracker_ID and 
				ScheduleItems.Assessment_ID = at.Assessment_ID and ScheduleItems.rev_codeid = at.revcode_id)	
			WHERE 
				(ScheduleItems.Visit_Date >= #CreateODBCDate(GetAssess.Certification_Start)# AND 
				ScheduleItems.Visit_Date <= #CreateODBCDate(GetAssess.Certification_End)#) 
				<cfif isdefined('Session.AgencyID')>
				AND ScheduleItems.Agency_ID = #Session.AgencyID# 
				</cfif>
				AND ScheduleItems.Deleted <> 1
				AND Assessment_New.Assessment_id= '#assid#' 
				<cfif  isdefined('Session.AuthLvl') and Session.AuthLvl LTE 3>
					<cfif isdefined('Session.Patient.PatientIDValue') AND Session.Patient.PatientIDValue neq '' AND 
					Session.Patient.PatientIDValue neq -1>
						AND ScheduleItems.patient_ID IN (#Session.Patient.PatientIDValue#)	 
					</cfif>	
				<cfelse>
					AND Employee.Employee_ID = #Session.EmployeeID#
				</cfif>
				AND (Assessment_New.Deleted IS NULL OR Assessment_New.Deleted != 1)
				AND (Assessment_New.Archive IS NULL OR Assessment_New.Archive != 1  )
				AND trim(ScheduleItems.Rev_Code) = '#revcode#'
				ORDER BY StartTime, Last_Name_M0040, First_Name_M0040, Last_Name, First_Name
		</cfquery>
	  	
		<cfset visitdate=''>
		<cfloop query="VisitDateQuery">
			<cfif visitdate eq ''>
				<cfset visitdate=DateFormat(VisitDateQuery.Visit_Date,'mm/dd/yyyy')>
			<cfelse>
				<cfset visitdate=visitdate&','&DateFormat(VisitDateQuery.Visit_Date,'mm/dd/yyyy')>
			</cfif>	
		</cfloop>
		
	   	<cfreturn #visitdate#>	  
	   
	</cffunction>
	
	
	<cffunction name="GetAuthorizationDate" access="remote" returntype="string">	
	   <cfargument name="revcode" required="yes" hint="Authorization start,end date and Units">
	   
	   <cfquery  name="AuthDate" datasource="#Application.DataSrc#">
	      SELECT StartDate,EndDate,Units FROM #Request.prefix_db_agency#.authorizations where Revenue_Code = '#revcode#' <!---and assessment_id ='#session.CS.AssessmentId#'--->  AND Deleted <> '1'
	   </cfquery>   
	   
	   <cfif isdefined('AuthDate.recordcount') and AuthDate.recordcount gt 0>
	   <cfset ReValue=DateFormat(AuthDate.StartDate, 'mm/dd/yyyy')&'|'&DateFormat(AuthDate.EndDate, 'mm/dd/yyyy')&'|'&AuthDate.Units>
	   <cfreturn #ReValue#>
	   <cfelse>
	   <cfreturn 'DateNotFound'>
	   </cfif>   
	   
	</cffunction>
	
	<cffunction name="GetPayerAuthorization" access="remote" returntype="string">	
	   <cfargument name="payerid" required="yes" hint="Prior Authorization">
	   
	   <cfquery  name="PayerAuth" datasource="#Application.DataSrc#">
	      SELECT PriorAuthorization FROM #Request.prefix_db_agency#.Payer where Payer_ID = '#payerid#'
	   </cfquery>   
	   
	   <cfif isdefined('PayerAuth.recordcount') and PayerAuth.recordcount gt 0>	 
	   <cfreturn #PayerAuth.PriorAuthorization#>
	   <cfelse>
	   <cfreturn 'RecordNotFound'>
	   </cfif>   
	   
	</cffunction>
	
	
	<cffunction name="GetAuthorizationRevCode" access="remote" returntype="query">	
	   <cfargument name="payerid" required="yes" hint="Prior Authorization Revenue Code">
	   
	   <cfquery  name="revenuelist" datasource="#Application.DataSrc#">
			SELECT Rev_Code, HCPCS, Visit_Type
			FROM #Request.prefix_db_agency#.Revenue_Code
			WHERE Agency_ID = '#session.AgencyID#'
			And EClaim_Price IS NOT NULL
			And RevenueCodeStatus = 'active'
			And Quick_Books_Price IS NOT NULL	
			And Payer_ID = '#payerid#'
	   </cfquery> 	   
	   
	   <cfreturn revenuelist>	   
	   
	</cffunction>
	
	
	
</cfcomponent>