

<cfcomponent output="false">
	<cffunction name="stped1" access="remote" returnformat="plain" returntype="string">	
			<cfargument name="Discharged_From_M0175" required="yes" hint="ot Step 1">
			<cfargument name="Inpatient_Discharge_Date_NA_M0180" required="yes" hint="ot Step 1">
			<cfargument name="Dress_Upper_M0650" required="yes" hint="ot Step 1">
			<cfargument name="Medical_or_Treatment_Change_M0200" required="yes" hint="ot Step 1">
			<cfargument name="M0220" required="yes" hint="ot Step 1">
			<cfargument name="Comments" required="yes" hint="ot Step 1">
			<cfargument name="M1010updateF" required="yes" hint="sn adult 2">
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Discharged_From_M0175 ='#Discharged_From_M0175#',	
						Inpatient_Discharge_Date_NA_M0180 = '#Inpatient_Discharge_Date_NA_M0180#',
						Dress_Upper_M0650 ='#Dress_Upper_M0650#',	
						Medical_or_Treatment_Change_M0200= '#Medical_or_Treatment_Change_M0200#',
						Conditions_Prior_M0220 ='#M0220#',
						Assessment_Note = Trim('#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="stped2" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Therapies_Home_M0250" required="yes" hint="ot Step 2">
			   <cfargument name="NUTRITION_485" required="yes" hint="ot Step 2">
			   <cfargument name="Rehab_Prognosis_M0270" required="yes" hint="ot Step 2">
			   <cfargument name="Life_Exp_M0280" required="yes" hint="ot Step 2">
			   <cfargument name="High_Risk_Factors_M0290" required="yes" hint="ot Step 2">
			   <cfargument name="Vision_M0390" required="yes" hint="ot Step 2">
			   <cfargument name="Hearing_M0400" required="yes" hint="ot Step 2">
			   <cfargument name="Comments" required="yes" hint="ot Step 2">
			   <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP2" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Therapies_Home_M0250 ='#Therapies_Home_M0250#',	
						NUTRITION_485='#NUTRITION_485#',
						Rehab_Prognosis_M0270 = '#Rehab_Prognosis_M0270#',
						Life_Exp_M0280 = '#Life_Exp_M0280#',
						High_Risk_Factors_M0290 = '#High_Risk_Factors_M0290#',
						Vision_M0390 = '#Vision_M0390#',
						Hearing_M0400 = '#Hearing_M0400#',
						Assessment_Note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step3'>
	</cffunction>
	<cffunction name="stped3" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Freq_of_Pain_M0420" required="yes" hint="ot Step 3">
			   <cfargument name="Intrac_Pain_M0430" required="yes" hint="ot Step 3">
			   <cfargument name="Open_Wounds_M0440" required="yes" hint="ot Step 3">
			   <cfargument name="Pressure_Ulcer_M0445" required="yes" hint="ot Step 3">
			   <cfargument name="Pressure_Ulcer_a_M0450" required="yes" hint="ot Step 3">
			   <cfargument name="Comments" required="yes" hint="ot Step 2">
			   <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP3" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Freq_of_Pain_M0420 ='#Freq_of_Pain_M0420#',	
						Intrac_Pain_M0430 = '#Intrac_Pain_M0430#',
						Open_Wounds_M0440 = '#Open_Wounds_M0440#',
						Pressure_Ulcer_M0445 = '#Pressure_Ulcer_M0445#',
						Pressure_Ulcer_a_M0450 = '#Pressure_Ulcer_a_M0450#',
						Assessment_Note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step4'>
	</cffunction>
	<cffunction name="stped4" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Pressure_Ulcer_c_M0450" required="yes" hint="ot Step 4">
			   <cfargument name="Pressure_Ulcer_d_M0450" required="yes" hint="ot Step 4">
			   <cfargument name="Pressure_Ulcer_e_M0450" required="yes" hint="ot Step 4">
			   <cfargument name="Pressure_Ulcer_Stage_M0460" required="yes" hint="ot Step 4">
			   <cfargument name="Pressure_Ulcer_Status_M0464" required="yes" hint="ot Step 4">
			   <cfargument name="Comments" required="yes" hint="ot Step 4">
			   <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP4" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Pressure_Ulcer_c_M0450 ='#Pressure_Ulcer_c_M0450#',	
						Pressure_Ulcer_d_M0450 = '#Pressure_Ulcer_d_M0450#',
						Pressure_Ulcer_e_M0450 = '#Pressure_Ulcer_e_M0450#',
						Pressure_Ulcer_Stage_M0460 = '#Pressure_Ulcer_Stage_M0460#',
						Pressure_Ulcer_Status_M0464 = '#Pressure_Ulcer_Status_M0464#',
						Assessment_Note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step5'>
	</cffunction>
	<cffunction name="stped5" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Stasis_Ulcer_Num_M0470" required="yes" hint="ot Step 5">
			   <cfargument name="Stasis_Ulcer_Hidden_M0474" required="yes" hint="ot Step 5">
			   <cfargument name="Stasis_Ulcer_Status_M0476" required="yes" hint="ot Step 5">
			   <cfargument name="Surgical_Wound_M0482" required="yes" hint="ot Step 5">
			   <cfargument name="Surgical_Wound_OB_M0484" required="yes" hint="ot Step 5">
			    <cfargument name="Surgical_Wound_Hidden_M0486" required="yes" hint="ot Step 5">
			   <cfargument name="Comments" required="yes" hint="ot Step 5">
			   <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP5" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Stasis_Ulcer_Num_M0470 ='#Stasis_Ulcer_Num_M0470#',	
						Stasis_Ulcer_Hidden_M0474 = '#Stasis_Ulcer_Hidden_M0474#',
						Stasis_Ulcer_Status_M0476 = '#Stasis_Ulcer_Status_M0476#',
						Surgical_Wound_M0482 = '#Surgical_Wound_M0482#',
						Surgical_Wound_OB_M0484 = '#Surgical_Wound_OB_M0484#',
						Surgical_Wound_Hidden_M0486 = '#Surgical_Wound_Hidden_M0486#',
						Assessment_Note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step6'>
			  
	</cffunction>
	<cffunction name="stped6" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Surgical_Wound_Status_M0488" required="yes" hint="ot Step 6">
			   <cfargument name="Breathing_M0490" required="yes" hint="ot Step 6">
			   <cfargument name="Resp_Treatments_M0500" required="yes" hint="ot Step 6">
			   <cfargument name="UTI_M0510" required="yes" hint="ot Step 6">
			   <cfargument name="Comments" required="yes" hint="ot Step 6">
			   <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP6" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Surgical_Wound_Status_M0488 ='#Surgical_Wound_Status_M0488#',	
						Breathing_M0490 = '#Breathing_M0490#',
						Resp_Treatments_M0500 = '#Resp_Treatments_M0500#',
						UTI_M0510 = '#UTI_M0510#',
						Assessment_Note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step7'>
			  
	</cffunction>
	<cffunction name="stped7" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Urinary_INcont_M0520" required="yes" hint="ot Step 7">
			   <cfargument name="Bowel_Incont_M0540" required="yes" hint="ot Step 7">
			   <cfargument name="Ostomy_for_Bowel_M0550" required="yes" hint="ot Step 7">
			   <cfargument name="Cog_Function_M0560" required="yes" hint="ot Step 7">
			   <cfargument name="When_Confused_M0570" required="yes" hint="ot Step 7">
			   <cfargument name="Comments" required="yes" hint="ot Step 7">
			   <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP7" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Urinary_INcont_M0520 ='#Urinary_INcont_M0520#',	
						Bowel_Incont_M0540 = '#Bowel_Incont_M0540#',
						Ostomy_for_Bowel_M0550 = '#Ostomy_for_Bowel_M0550#',
						Cog_Function_M0560 = '#Cog_Function_M0560#',
						When_Confused_M0570 = '#When_Confused_M0570#',
						Assessment_Note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step8'>
			  
	</cffunction>
	<cffunction name="stped8" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Depressive_Feelings_M0590" required="yes" hint="ot Step 8">
			   <cfargument name="Patient_Behav_Weekly_M0610" required="yes" hint="ot Step 8">
			   <cfargument name="Patient_Behav_freq_M0620" required="yes" hint="ot Step 8">
			   <cfargument name="Psy_Nursing_M0630" required="yes" hint="ot Step 8">
			   <cfargument name="Grooming_M0640" required="yes" hint="ot Step 8">
			   <cfargument name="Grooming_M0640p" required="yes" hint="ot Step 8">
			     <cfargument name="AssessmentType" required="yes" hint="ot Step 8">
			   <cfargument name="Comments" required="yes" hint="ot Step 8">
			   <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP8" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Depressive_Feelings_M0590 ='#Depressive_Feelings_M0590#',	
						Patient_Behav_Weekly_M0610 = '#Patient_Behav_Weekly_M0610#',
						Patient_Behav_freq_M0620 = '#Patient_Behav_freq_M0620#',
						Psy_Nursing_M0630 = '#Psy_Nursing_M0630#',
						Grooming_M0640 = '#Grooming_M0640#',
						Grooming_M0640p = '#Grooming_M0640p#',
						AssessmentType_New = '#AssessmentType#',
						Assessment_Note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step9'>
			  
			  
	</cffunction>
	<cffunction name="stped_finish" access="remote" returnformat="plain" returntype="string">	
	          <cfargument name="Depressive_Feelings_M0590" required="yes" hint="ot Step 8">
			   <cfargument name="Patient_Behav_Weekly_M0610" required="yes" hint="ot Step 8">
			   <cfargument name="Patient_Behav_freq_M0620" required="yes" hint="ot Step 8">
			   <cfargument name="Psy_Nursing_M0630" required="yes" hint="ot Step 8">
			   <cfargument name="Grooming_M0640" required="yes" hint="ot Step 8">
			   <cfargument name="Grooming_M0640p" required="yes" hint="ot Step 8">
			   <cfargument name="AssessmentType" required="yes" hint="ot Step 8">
			   <cfargument name="Comments" required="yes" hint="ot Step 8">
			   <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP8" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Depressive_Feelings_M0590 ='#Depressive_Feelings_M0590#',	
						Patient_Behav_Weekly_M0610 = '#Patient_Behav_Weekly_M0610#',
						Patient_Behav_freq_M0620 = '#Patient_Behav_freq_M0620#',
						Psy_Nursing_M0630 = '#Psy_Nursing_M0630#',
						Grooming_M0640 = '#Grooming_M0640#',
						Grooming_M0640p = '#Grooming_M0640p#',
						AssessmentType_New = '#AssessmentType#',
						Assessment_Note = '#Comments#',
						Admission_Status='Complete'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   	<cfreturn 'step9'>
	</cffunction>
	<cffunction name="pain" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Dress_Upper_M0650p" required="yes" hint="ot Step 9">
			   <cfargument name="Dress_Lower_M0660" required="yes" hint="ot Step 9">
			   <cfargument name="Dress_Lower_M0660p" required="yes" hint="ot Step 9">
			   <cfargument name="Bathing_M0670" required="yes" hint="ot Step 9">
			   <cfargument name="Bathing_M0670p" required="yes" hint="ot Step 9">
			   <cfargument name="Toileting_M0680" required="yes" hint="ot Step 9">
			   <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="StpediatricUP" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Dress_Upper_M0650p ='#Dress_Upper_M0650p#',	
						Dress_Lower_M0660 = '#Dress_Lower_M0660#',
						Dress_Lower_M0660p = '#Dress_Lower_M0660p#',
						Bathing_M0670 = '#Bathing_M0670#',
						Bathing_M0670p = '#Bathing_M0670p#',
						Toileting_M0680 = '#Toileting_M0680#'	
					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#'&' stped' />
		
		<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')>
			<cfset M0230_value = #session.cs.AssessmentId#&' '& 'M0230' />
		<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#','#session.AgencyLogin#',
					'#M1010fetch.Diagnosis#','#vcode#','#M1010fetch.Code_Type#','#M1010fetch.Pathway_Type#',
					'#M1010fetch.Short_Diagnosis#','#vcode#','#m02301#','#count#','#session.cs.AssessmentId# 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#','#session.AgencyLogin#',
					'#M1010fetch.Diagnosis#','#M1010fetchICD#','#M1010fetch.Code_Type#','#Replace(M1010fetch.Pathway_Type, "'", '', 'ALL')#',
					'#M1010fetch.Short_Diagnosis#','#M1010fetchICD#','#m02301#','#count#','#session.cs.AssessmentId# 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="M0230Diagnosis" access="remote" returnformat="plain" returntype="string">
		<cfargument name="DiagnosisID" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="M0230Primary" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="M0230Secondary" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="M0230Severity" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="M0230Onset" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="vcodediag" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="vcodeicd" required="yes" hint="SOC M0230 Diagnosis">
		<cfargument name="typecode" required="yes" hint="SOC M0230 Diagnosis">

		<cfset DupDiagnosis="M0230">
		<cfset m02301='#session.cs.AssessmentId#'&' M0230'>

		<cfif isdefined('session.cs.AssessmentId')>
		<cfquery  name="AssID" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="1000">
				Select Assessment_Tracker_ID,Patient_ID,Agency_ID From #Request.prefix_db_agency#.Assessment_New
				where Assessment_ID= '#session.cs.AssessmentId#'
		</cfquery>
			</cfif>
			<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="M0230fetch" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="1000">
				select Diagnosis,ICD,Code_Type,Pathway_Type,Short_Diagnosis,Other_DG from #Request.prefix_db_lookup#.Dx_list_ICD10 WHERE
					Dx_list_ICD10.id=#DiagnosisID#
			</cfquery>
		<cfelse>
		<cfquery  name="M0230fetch" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="1000">
			select Diagnosis,ICD,Code_Type,Pathway_Type,Short_Diagnosis,Other_DG from #Request.prefix_db_lookup#.diagnosis_list WHERE
			diagnosis_list.id=#DiagnosisID#
		</cfquery>
		</cfif>
		<cfset M1010fetchICD_1 = ''>
			<cfset M1010fetchICD_sub = ''>
			<cfset i =1>
			<cfif M0230fetch.ICD contains "." or M0230fetch.ICD neq ".">
			<cfset M1010fetch_ICD = M0230fetch.ICD>
			</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 = '0'&#M1010fetchICD_1#>
		<cfelseif len(M1010fetchICD_1) eq 2>
		<cfset M1010fetchICD_1 = #M1010fetchICD_1#>
		</cfif>
		<cfif len(M1010fetchICD_sub) eq 1>
		<cfset M1010fetchICD_sub = M1010fetchICD_sub>
		</cfif>

		<cfif M0230fetch.ICD contains ".">
		<cfset M1010fetchICD_1 = #M1010fetchICD_1#&'.'&#M1010fetchICD_sub#>
		</cfif>

		<cfset strlen = len(#M0230fetch.Diagnosis#)>

		<cfif isdefined('session.cs.AssessmentId')>
		<cfquery  name="M0230count" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="1000">

				 select Count(Diagnosis.Diagnosis_ID) as M0230RecordCount from #Request.prefix_db_agency#.Diagnosis where
				Diagnosis.Assessment_ID='#session.cs.AssessmentId#' and Diagnosis.Diagnosis LIKE '%#M0230fetch.Diagnosis#%'
				and M0230_Link LIKE '%#m02301#%'

		</cfquery>
			</cfif>

		<cfif M0230count.M0230RecordCount eq 0>

		<cfset M0230fetchICD= M1010fetchICD_1>
		<cfset count = 1>

		<cfif M0230fetchICD contains(".")>

		<cfelse>
			<cfif len(M0230fetchICD) lte "3" >
				<cfset M0230fetchICD = M0230fetchICD>
			</cfif>
		</cfif>

		<cfset M0230fetchICDlen = ''>
		<cfset M0230fetchICDlen = right(M0230fetch.ICD,1)>
		<cfif M0230fetchICDlen eq '.' >
				<cfset M0230fetchICD =M0230fetch.ICD>
		</cfif>
		<cfset ICDV = #left(M0230fetchICD,1)# />
		<cfif new.Assessment_Completed_M0090 gt '2015-09-30' and  #M0230Primary# eq 1 and (ICDV eq 'V' or ICDV eq 'W' or  ICDV eq 'X' or  ICDV eq 'Y')>
		<cfset DupDiagnosis="M0230NOTAdded" />
		<cfelseif isdefined('session.cs.AssessmentId')>
		<cfif #M0230fetch.Code_Type# eq 'V_Code'>
		<cfquery  name="M0230Insert" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="1000">
		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,M0230_Link,Severity,Primary_Diagnosis,Secondary_Diagnosis,Dx_Order,DG_Type,M0245a_Diagnosis,M0245_ICD) VALUES
		('#session.cs.AssessmentId#','#AssID.Assessment_Tracker_ID#','#AssID.Patient_ID#',
		'#AssID.Agency_ID#','#M0230fetch.Diagnosis#','#M0230fetchICD#','#M0230fetch.Code_Type#','#M0230fetch.Pathway_Type#',
		'#M0230fetch.Short_Diagnosis#','#typecode#','#m02301#','#M0230Severity#','#M0230Primary#',
		'#M0230Secondary#','1','#M0230fetch.Other_DG#','#vcodediag#','#vcodeicd#')
		</cfquery>
		<!---'#typecode#'--->
		<cfelse>
		<cfquery  name="M0230Insert" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="1000">
		INSERT INTO #Request.prefix_db_agency#.Diagnosis(
		Assessment_ID,
		<cfif #AssID.Assessment_Tracker_ID# neq '' or #AssID.Assessment_Tracker_ID# neq 0>Assessment_Tracker_ID,</cfif>        Patient_ID,
		Agency_ID,
		Diagnosis,
		ICD,
		Code_Type,
		Pathway_Type,
		Short_Diagnosis,
		Text_ICD,
		M0230_Link,
		Severity,
		Primary_Diagnosis,
		Secondary_Diagnosis,
		Dx_Order,
		DG_Type
		<cfif #vcodediag# neq ''>
		,M0245a_Diagnosis
		</cfif>
		<cfif #vcodeicd# neq ''>
		,M0245_ICD
		</cfif>
		)
		VALUES
		('#session.cs.AssessmentId#',
		<cfif #AssID.Assessment_Tracker_ID# neq '' or #AssID.Assessment_Tracker_ID# neq 0>'#AssID.Assessment_Tracker_ID#',</cfif>        '#AssID.Patient_ID#',
		'#AssID.Agency_ID#',
		'#M0230fetch.Diagnosis#',
		'#M0230fetchICD#',
		'#M0230fetch.Code_Type#',
		'#M0230fetch.Pathway_Type#',
		'#M0230fetch.Short_Diagnosis#',
		'#M0230fetchICD#',
		'#m02301#',
		'#M0230Severity#',
		'#M0230Primary#',
		'#M0230Secondary#',
		'1',
		'#M0230fetch.Other_DG#'
		<cfif #vcodediag# neq ''>
		,'#vcodediag#'
		</cfif>
		<cfif #vcodeicd# neq ''>
		,'#vcodeicd#'
		</cfif>
		)
		</cfquery>
		</cfif>

		<cfif new.Assessment_Completed_M0090 gt '2015-09-30'>
		<cfquery  datasource="#Application.DataSrc#" name="Last_Invoice_ID">
          <cfsetting requesttimeout="30">
	            SELECT LAST_INSERT_ID() as LastInsertID
        </cfquery>
		<cfquery  name="M1010Update" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			UPDATE #Request.prefix_db_agency#.Diagnosis SET ICD10 = 1 WHERE Diagnosis_ID =#Last_Invoice_ID.LastInsertID#
           </cfquery>
		   </cfif>
		<cfset DupDiagnosis="M0230Added">
		<cfelse>
		<cfset DupDiagnosis="M0230DUP">
		</cfif>	</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>
	