

<cfcomponent output="false">
<cffunction name="snhospice1" access="remote" returnformat="plain" returntype="string">	
				
				
				<cfargument name="Cog_Function_M0560" required="yes" hint="sn hospice 2">
			   <cfargument name="Urinary_INcont_M0520" required="yes" hint="sn hospice 2">
			   <cfargument name="Hospice_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="M0250_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="Comments" required="yes" hint="sn hospice 2">
			  <cfargument name="M1010updateF" required="yes" hint="ot Step 1">
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Cog_Function_M0560 ='#Cog_Function_M0560#',	
						Urinary_INcont_M0520 = '#Urinary_INcont_M0520#',
						Hospice_Assess='#Hospice_Assess#',
						M0250_Assess = '#M0250_Assess#',
						Assessment_note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			    <cfif #M1010updateF# NEQ "">	
	<cfif isdefined('session.cs.AssessmentId')>
					<cfquery name="Updaterowsempty" datasource="#Application.DataSrc#">
					update #Request.prefix_db_agency#.Assessment_New set HHRG_175_Score="",HHRG_230_Score="",HHRG_250_Score="",HHRG_390_Score="",HHRG_420_Score="",HHRG_440_Score="" where assessment_id=#session.cs.AssessmentId#
					</cfquery>
	</cfif>
<cfloop index="UpdateOrder" list ='#M1010updateF#' delimiters="!">
<cfset UpdateDx=0 />
<cfloop index="UpdateDescandSkill" list=#UpdateOrder# delimiters="*~*">
<cfset UpdateDx=UpdateDx+1 />
<cfif UpdateDx EQ 1>
<cfset UpdateID=#UpdateDescandSkill# />
</cfif>
<cfif UpdateDx EQ 2>
<cfset Order=#UpdateDescandSkill# />
</cfif>				 
</cfloop>	

<cfquery name="UpdateDxOrder" datasource="#Application.DataSrc#">
UPDATE #Request.prefix_db_agency#.Diagnosis SET Dx_Order = '#Order#' 
WHERE Diagnosis.Assessment_ID=#session.cs.AssessmentId# and Diagnosis_ID=#UpdateID#
</cfquery>

	<cfquery name="geticd" datasource="#Application.DataSrc#">
	select ICD from #Request.prefix_db_agency#.Diagnosis where assessment_id=#session.cs.AssessmentId# and Dx_Order = '#Order#'
	</cfquery>
	<cfif Order eq 1>
			<cfquery name="primary" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_175_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		<cfelseif Order eq 2>
			<cfquery name="secondary" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_230_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		<cfelseif Order eq 3>
			<cfquery name="third" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_250_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		<cfelseif Order eq 4>
			<cfquery name="fourth" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_390_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		<cfelseif Order eq 5>
			<cfquery name="fifth" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_420_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		<cfelseif Order eq 6>
			<cfquery name="sixth" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_440_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
	 </cfif>
				 
<cfset UpdateDx=0 /> 
</cfloop>
</cfif>
			   		 		     
			  <cfreturn 'step2'>
	</cffunction>
	<cffunction name="snhospice2" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Therapies_Home_M0250" required="yes" hint="sn hospice 2">
			   <cfargument name="Endocrine_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="M0440_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="Comments" required="yes" hint="sn hospice 2">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Therapies_Home_M0250 ='#Therapies_Home_M0250#',	
						Endocrine_Assess = '#Endocrine_Assess#',
						M0440_Assess = '#M0440_Assess#',
						Assessment_note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step3'>
	</cffunction>
	<cffunction name="snhospice3" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="M0490_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="M0520_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="M0540_Assess" required="yes" hint="sn hospice 2">
			    <cfargument name="M0550_Assess" required="yes" hint="sn hospice 2">
			   
			   <cfargument name="Comments" required="yes" hint="sn hospice 2">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						M0490_Assess ='#M0490_Assess#',	
						M0520_Assess = '#M0520_Assess#',
						M0540_Assess = '#M0540_Assess#',
						M0550_Assess='#M0550_Assess#',
						Assessment_note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step4'>
	</cffunction>
	<cffunction name="snhospice4" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="M0610_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="M0650_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="Home_Safety_Assess" required="yes" hint="sn hospice 2">
			    <cfargument name="Ostomy_for_Bowel_M0550" required="yes" hint="sn hospice 2">
			    <cfargument name="Assessment_Type" required="yes" hint="ot Step 7">	
			   <cfargument name="Comments" required="yes" hint="sn hospice 2">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						M0610_Assess ='#M0610_Assess#',	
						M0650_Assess = '#M0650_Assess#',
						Home_Safety_Assess='#Home_Safety_Assess#',
						Ostomy_for_Bowel_M0550 = '#Ostomy_for_Bowel_M0550#',
						AssessmentType_New = '#Assessment_Type#',
						Assessment_note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step5'>
	</cffunction>
	<cffunction name="snhospice_finish" access="remote" returnformat="plain" returntype="string">	
	            <cfargument name="M0610_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="M0650_Assess" required="yes" hint="sn hospice 2">
			   <cfargument name="Home_Safety_Assess" required="yes" hint="sn hospice 2">
			    <cfargument name="Ostomy_for_Bowel_M0550" required="yes" hint="sn hospice 2">
			    <cfargument name="Assessment_Type" required="yes" hint="ot Step 7">	
			   <cfargument name="Comments" required="yes" hint="sn hospice 2">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						M0610_Assess ='#M0610_Assess#',	
						M0650_Assess = '#M0650_Assess#',
						Home_Safety_Assess='#Home_Safety_Assess#',
						Ostomy_for_Bowel_M0550 = '#Ostomy_for_Bowel_M0550#',
						AssessmentType_New = '#Assessment_Type#',
						Assessment_note = '#Comments#',
						Admission_Status='Complete'
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step5'>
	</cffunction>
	<cffunction name="pain" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="M0420_Assess" required="yes" hint="sn hospice 7">
			   <cfargument name="pain1" required="yes" hint="sn hospice 7">	
			   <cfargument name="pain2" required="yes" hint="sn hospice 7">	
			   <cfargument name="pain3" required="yes" hint="sn hospice 7">
			   <cfargument name="pain4" required="yes" hint="sn hospice 7">	
			   <cfargument name="pain5" required="yes" hint="sn hospice 7">
		  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP2" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						M0420_Assess ='#M0420_Assess#',
						pain1='#pain1#',	
						pain2 = '#pain2#',	
						pain3 ='#pain3#',	
						pain4 = '#pain4#',
						pain5 ='#pain5#'										
						
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'pain'>
	</cffunction>
	<cffunction  name="M1010Diagnosis" access="remote" returnformat="plain" returntype="string">
		<cfargument name="DiagnosisID" required="yes" hint="SOC M1010 Diagnosis">
		<cfargument name="DiadDxOrder" required="yes" hint="SOC M1010 Diagnosis">
		<cfargument name="vcode" required="yes" hint="SOC M1010 Diagnosis">
		
		<cfset DupDiagnosis="fail" />
		<cfset m02301='#session.cs.AssessmentId#'&' snhospice' />
		
		<cfif isdefined('session.cs.AssessmentId')>
			<cfquery name="AssID" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="30">
				
					Select Assessment_Tracker_ID,Patient_ID,Agency_ID From #Request.prefix_db_agency#.Assessment_New 
					where Assessment_ID= '#session.cs.AssessmentId#'
	
			</cfquery>
			<cfquery name="new" datasource="#Application.DataSrc#">
     SELECT Assessment_Completed_M0090 FROM #Request.prefix_db_agency#.Assessment_New where Assessment_ID = '#session.cs.AssessmentId#'
        </cfquery>
<cfif new.Assessment_Completed_M0090 gt '2015-09-30'>
          
		  <cfquery name="M1010fetch" datasource="#Application.DataSrc#">	    
			<cfsetting requesttimeout="30">
				
					select Diagnosis,ICD,Code_Type,Pathway_Type,Short_Diagnosis from #Request.prefix_db_lookup#.Dx_list_ICD10 WHERE 
					Dx_list_ICD10.id=#DiagnosisID# 	
				
			</cfquery>
<cfelse>
		
			<cfquery name="M1010fetch" datasource="#Application.DataSrc#">	    
			<cfsetting requesttimeout="30">
				
					select Diagnosis,ICD,Code_Type,Pathway_Type,Short_Diagnosis from #Request.prefix_db_lookup#.diagnosis_list WHERE 
					diagnosis_list.id=#DiagnosisID# 	
				
			</cfquery>
</cfif>
			<cfset M1010fetchICD_1 = '' />
			<cfset M1010fetchICD_sub = '' />
			<cfset i =1 />
			<cfif M1010fetch.ICD contains ".">
			<cfset M1010fetch_ICD = M1010fetch.ICD />
			<cfelse>
			<cfset M1010fetch_ICD = M1010fetch.ICD&'.'&'00' />
			</cfif>
			<cfloop list="#M1010fetch_ICD#" delimiters="." index="m">
			<cfif i eq 1>
		<cfoutput><cfset M1010fetchICD_1 = #m# /></cfoutput>
			</cfif>
			<cfset i =0 />
			<cfoutput><cfset M1010fetchICD_sub = #m# /></cfoutput>
		</cfloop>
		
		<cfif len(M1010fetchICD_1) eq 1>
		<cfset M1010fetchICD_1 = '00'&#M1010fetchICD_1# />
		<cfelseif len(M1010fetchICD_1) eq 2>
		<cfset M1010fetchICD_1 = '0'&#M1010fetchICD_1# />
		</cfif>
		<cfif len(M1010fetchICD_sub) eq 1>
		<cfset M1010fetchICD_sub = M1010fetchICD_sub&'0' />
		</cfif>
		
		<cfset M1010fetchICD_1 = #M1010fetchICD_1#&'.'&#M1010fetchICD_sub# />
			<cfquery name="M1010count" datasource="#Application.DataSrc#">	     
			<cfsetting requesttimeout="30">	
					select Count(Diagnosis.Diagnosis_ID) as M1010RecordCount from #Request.prefix_db_agency#.Diagnosis where 
					Diagnosis.Assessment_ID='#session.cs.AssessmentId#' and Diagnosis.Diagnosis LIKE '%#M1010fetch.Diagnosis#%' 
					and M0190_Link LIKE '%#m02301#%'
			</cfquery>
		</cfif>
		<cfif M1010count.M1010RecordCount eq 0>
		<cfset count = DiadDxOrder />		
		
		<cfset M1010fetchICD = M1010fetchICD_1 />
		
		<cfif M1010fetchICD contains(".")>
			
		<cfelse>
			<cfif len(M1010fetchICD) lte "3" >	
				<cfset M1010fetchICD = M1010fetchICD & ".00" />		
			</cfif>
		</cfif>
		
		<cfif isdefined('session.cs.AssessmentId')>
		<cfif vcode neq '00'>
		<cfquery name="M1010Insert" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			
					INSERT INTO #Request.prefix_db_agency#.Diagnosis(Assessment_ID,Assessment_Tracker_ID, Patient_ID, Agency_ID, Diagnosis, ICD, Code_Type,  
					Pathway_Type,Short_Diagnosis,Text_ICD,M0190_Link,Dx_Order,M0230_Link) VALUES 	
					('#session.cs.AssessmentId#','#AssID.Assessment_Tracker_ID#','#AssID.Patient_ID#','#AssID.Agency_ID#',
					'#M1010fetch.Diagnosis#','#vcode#','#M1010fetch.Code_Type#','#M1010fetch.Pathway_Type#',
					'#M1010fetch.Short_Diagnosis#','#vcode#','#m02301#','#count#','#AssID.Assessment_Tracker_ID# M0230')

		</cfquery>
		<cfelse>
		<cfquery name="M1010Insert" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			
					INSERT INTO #Request.prefix_db_agency#.Diagnosis(Assessment_ID,Assessment_Tracker_ID, Patient_ID, Agency_ID, Diagnosis, ICD, Code_Type,  
					Pathway_Type,Short_Diagnosis,Text_ICD,M0190_Link,Dx_Order,M0230_Link) VALUES 	
					('#session.cs.AssessmentId#','#AssID.Assessment_Tracker_ID#','#AssID.Patient_ID#','#AssID.Agency_ID#',
					'#M1010fetch.Diagnosis#','#M1010fetchICD#','#M1010fetch.Code_Type#','#M1010fetch.Pathway_Type#',
					'#M1010fetch.Short_Diagnosis#','#M1010fetchICD#','#m02301#','#count#','#AssID.Assessment_Tracker_ID# M0230')

		</cfquery>
		</cfif>
		<cfquery name="setscore" datasource="#Application.DataSrc#">
		select Dx_Order from #Request.prefix_db_agency#.Diagnosis where assessment_id=#session.cs.AssessmentId#
		</cfquery>
		<cfoutput query="setscore">
		
		<cfquery name="geticd" datasource="#Application.DataSrc#">
					select ICD from #Request.prefix_db_agency#.Diagnosis where assessment_id=#session.cs.AssessmentId# and Dx_Order ='#setscore.Dx_Order#'
		</cfquery>
		
		<cfif #setscore.Dx_Order# eq 1>
			<cfquery name="primary" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_175_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		
		<cfelseif #setscore.Dx_Order# eq 2>
			<cfquery name="secondary" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_230_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		<cfelseif #setscore.Dx_Order# eq 3>
			<cfquery name="third" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_250_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		
		<cfelseif #setscore.Dx_Order# eq 4>
			<cfquery name="fourth" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_390_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		
		<cfelseif #setscore.Dx_Order# eq 5>		
			<cfquery name="fifth" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_420_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		<cfelseif #setscore.Dx_Order# eq 6>			
			<cfquery name="sixth" datasource="#Application.DataSrc#">
			 update #Request.prefix_db_agency#.Assessment_New set HHRG_440_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
			</cfquery>
		</cfif>
		</cfoutput>
		
	
		</cfif> 				
		<cfset DupDiagnosis="Added" />
		<cfelse>
		<cfset DupDiagnosis="DUP" />		
		</cfif>		
       
    <cfreturn DupDiagnosis>
    </cffunction>
	
	<cffunction  name="M1010Delete" access="remote" returnformat="plain" returntype="string">
		<cfargument name="DiagnosisID" required="yes" hint="SOC M1010 Diagnosis Delete">
		<cfargument name="M1010update" required="yes" hint="SOC M1010 Diagnosis Update">
				
		<cfquery name="M1010Delete" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			 delete from #Request.prefix_db_agency#.Diagnosis where Diagnosis.Assessment_ID=#session.cs.AssessmentId# and Diagnosis_ID=#DiagnosisID#
		</cfquery>
		
		<cfloop index="UpdateOrder" list ='#M1010update#' delimiters="!">
			<cfset UpdateDx=0 />
			<cfloop index="UpdateDescandSkill" list=#UpdateOrder# delimiters="*~*">
			<cfset UpdateDx=UpdateDx+1 />
			<cfif UpdateDx EQ 1>
			<cfset UpdateID=#UpdateDescandSkill# />
			</cfif>
			<cfif UpdateDx EQ 2>
			<cfset Order=#UpdateDescandSkill# />
			</cfif>				 
			</cfloop>	
			
			<cfif IsNumeric(Order)> 
				<cfif isdefined('session.cs.AssessmentId')>
					<cfquery name="UpdateDxOrder" datasource="#Application.DataSrc#">
						<cfsetting requesttimeout="30">
						UPDATE #Request.prefix_db_agency#.Diagnosis SET Dx_Order = '#Order#' 
						WHERE Diagnosis.Assessment_ID=#session.cs.AssessmentId# and Diagnosis_ID=#UpdateID#
					</cfquery>
					<cfquery name="geticd" datasource="#Application.DataSrc#">
					select ICD from #Request.prefix_db_agency#.Diagnosis where assessment_id=#session.cs.AssessmentId# and Dx_Order = '#Order#'
					</cfquery>
					<cfif Order eq 1>
							<cfquery name="primary" datasource="#Application.DataSrc#">
							 update #Request.prefix_db_agency#.Assessment_New set HHRG_175_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
							</cfquery>
						<cfelseif Order eq 2>
							<cfquery name="secondary" datasource="#Application.DataSrc#">
							 update #Request.prefix_db_agency#.Assessment_New set HHRG_230_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
							</cfquery>
						<cfelseif Order eq 3>
							<cfquery name="third" datasource="#Application.DataSrc#">
							 update #Request.prefix_db_agency#.Assessment_New set HHRG_250_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
							</cfquery>
						<cfelseif Order eq 4>
							<cfquery name="fourth" datasource="#Application.DataSrc#">
							 update #Request.prefix_db_agency#.Assessment_New set HHRG_390_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
							</cfquery>
						<cfelseif Order eq 5>
							<cfquery name="fifth" datasource="#Application.DataSrc#">
							 update #Request.prefix_db_agency#.Assessment_New set HHRG_420_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
							</cfquery>
						<cfelseif Order eq 6>
							<cfquery name="sixth" datasource="#Application.DataSrc#">
							 update #Request.prefix_db_agency#.Assessment_New set HHRG_440_Score ='#geticd.ICD#' where assessment_id=#session.cs.AssessmentId#
							</cfquery>
					 </cfif>
				</cfif>
			</cfif>
				
		<cfset UpdateDx=0 /> 
		</cfloop>
		       
    <cfreturn 'SNDelete'>
    </cffunction>
	</cfcomponent>
