
<cfcomponent output="false">
	<cffunction name="stped1" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Meal_Prep_M0720" required="yes" hint="ot Step 1">
			   <cfargument name="Discharged_From_M0175" required="yes" hint="ot Step 1">
			     <cfargument name="Other_Services" required="yes" hint="ot Step 1">
			   <cfargument name="OtherAgencies" required="yes" hint="ot Step 1">
			    <cfargument name="M1010updateF" required="yes" hint="ot Step 1">
			   <cfargument name="Comments" 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 
						Medical_or_Treatment_Change_M0200 ='#Meal_Prep_M0720#',	
						Surgical_Wound_M0482 = '#Discharged_From_M0175#',
						Inpatient_Discharge_Date_NA_M0180 ='#Other_Services#',	
						Dress_Upper_M0650 = '#OtherAgencies#',
						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="Medical_or_Treatment_Change_M0200" required="yes" hint="ot Step 2">
			   <cfargument name="Therapies_Home_M0250" required="yes" hint="ot Step 2">
			   <cfargument name="Transferring_M0690" required="yes" hint="ot Step 2">
			   <cfargument name="Comments" required="yes" hint="ot Step 2">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Hearing_M0400 ='#Medical_or_Treatment_Change_M0200#',	
						Speech_M0410 = '#Therapies_Home_M0250#',
						Surgical_Wound_OB_M0484 = '#Transferring_M0690#',
						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="High_Risk_Factors_M0290" required="yes" hint="ot Step 3">
			   <cfargument name="Hearing_M0400" required="yes" hint="ot Step 3">
			   <cfargument name="Freq_of_Pain_M0420" required="yes" hint="ot Step 3">
			   <cfargument name="Open_Wounds_M0440" required="yes" hint="ot Step 3">
			   <cfargument name="Comments" required="yes" hint="ot Step 3">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Open_Wounds_M0440 ='#High_Risk_Factors_M0290#',	
						Pressure_Ulcer_M0445 = '#Hearing_M0400#',
						Pressure_Ulcer_a_M0450 = '#Freq_of_Pain_M0420#',
						Pressure_Ulcer_b_M0450 = '#Open_Wounds_M0440#',
						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_a_M0450" required="yes" hint="ot Step 4">
			   <cfargument name="Pressure_Ulcer_b_M0450" required="yes" hint="ot Step 4">
			   <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_f_M0450" required="yes" hint="ot Step 4">
			   <cfargument name="Pressure_Ulcer_g_M0450" required="yes" hint="ot Step 4">
			   <cfargument name="Comments" required="yes" hint="ot Step 4">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Pressure_Ulcer_c_M0450 ='#Pressure_Ulcer_a_M0450#',	
						Pressure_Ulcer_d_M0450 = '#Pressure_Ulcer_b_M0450#',
						Vision_M0390 = '#Pressure_Ulcer_c_M0450#',
						Eating_M0710 = '#Pressure_Ulcer_d_M0450#',
						Eating_M0710p = '#Pressure_Ulcer_e_M0450#',
						Meal_Prep_M0720 = '#Pressure_Ulcer_f_M0450#',
						Meal_Prep_M0720p = '#Pressure_Ulcer_g_M0450#',
						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="Pressure_Ulcer_e_M0450" required="yes" hint="ot Step 5">
			   <cfargument name="Pressure_Ulcer_Stage_M0460" required="yes" hint="ot Step 5">
			   <cfargument name="Pressure_Ulcer_Status_M0464" required="yes" hint="ot Step 5">
			   
			   <cfargument name="Comments" required="yes" hint="ot Step 5">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Pressure_Ulcer_Stage_M0460 ='#Pressure_Ulcer_e_M0450#',	
						Stasis_Ulcer_Num_M0470 = '#Pressure_Ulcer_Stage_M0460#',
						Stasis_Ulcer_Hidden_M0474 = '#Pressure_Ulcer_Status_M0464#',					
						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="Stasis_Ulcer_Num_M0470" required="yes" hint="ot Step 6">
			   <cfargument name="Stasis_Ulcer_Hidden_M0474" required="yes" hint="ot Step 6">
			   <cfargument name="Stasis_Ulcer_Status_M0476" required="yes" hint="ot Step 6">
			   <cfargument name="Surgical_Wound_M0482" required="yes" hint="ot Step 6">
			   <cfargument name="Comments" required="yes" hint="ot Step 6">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP2" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Stasis_Ulcer_Status_M0476 ='#Stasis_Ulcer_Num_M0470#',	
						Surgical_Wound_Status_M0488 = '#Stasis_Ulcer_Hidden_M0474#',
						Breathing_M0490 = '#Stasis_Ulcer_Status_M0476#',
						Urinary_INcont_M0520 = '#Surgical_Wound_M0482#',
						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="Surgical_Wound_OB_M0484" required="yes" hint="ot Step 7">
			   <cfargument name="Transport_M0730" required="yes" hint="ot Step 7">
			   <cfargument name="AssessmentType" required="yes" hint="ot Step 7">			   
			   <cfargument name="Comments" required="yes" hint="ot Step 7">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP2" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Resp_Treatments_M0500 ='#Surgical_Wound_OB_M0484#',	
						Housekeeping_M0750 = '#Transport_M0730#',	
						AssessmentType_New = '#AssessmentType#',						
						Assessment_note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step8'>
	</cffunction>
	
		<cffunction name="stped_finish" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Surgical_Wound_OB_M0484" required="yes" hint="ot Step 7">
			   <cfargument name="Transport_M0730" required="yes" hint="ot Step 7">
			   <cfargument name="AssessmentType" required="yes" hint="ot Step 7">			   
			   <cfargument name="Comments" required="yes" hint="ot Step 7">
			  
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP2" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Resp_Treatments_M0500 ='#Surgical_Wound_OB_M0484#',	
						Housekeeping_M0750 = '#Transport_M0730#',	
						AssessmentType_New = '#AssessmentType#',
						Admission_Status='Complete',						
						Assessment_note = '#Comments#'	
					WHERE Assessment_ID = '#session.cs.AssessmentId#'				
			   </cfquery>
			   </cfif>
			   		 		     
			  <cfreturn 'step8'>
	</cffunction>
	
	
	
	<cffunction name="pain" access="remote" returnformat="plain" returntype="string">	
	           <cfargument name="Freq_of_Pain_M0420" required="yes" hint="ot Step 7">
			   <cfargument name="Transport_M0730" required="yes" hint="ot Step 7">	
			   <cfargument name="Transport_M0730p" required="yes" hint="ot Step 7">
			   <cfargument name="Laundry_M0740" required="yes" hint="ot Step 7">	
			   <cfargument name="Laundry_M0740p" required="yes" hint="ot Step 7">
		 
			  <cfif isdefined('session.cs.AssessmentId')>
			  <cfquery name="OtpediatricUP2" datasource="#Application.DataSrc#">				
					UPDATE #Request.prefix_db_agency#.Assessment_New SET 
						Freq_of_Pain_M0420 ='#Freq_of_Pain_M0420#',	
						Transport_M0730 = '#Transport_M0730#',	
						Transport_M0730p ='#Transport_M0730p#',	
						Laundry_M0740 = '#Laundry_M0740#',
						Laundry_M0740p ='#Laundry_M0740p#'										
						
					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#'&' snped' />
		
		<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#','#session.AgencyLogin#',
					'#M1010fetch.Diagnosis#','#vcode#','#M1010fetch.Code_Type#','#Replace(M1010fetch.Pathway_Type, "'", '', 'ALL')#',
					'#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 gte '2019-11-01'>
              <cfset diag = CreateObject("Component", "components.diagnosis") />	
              <cfset M0230fetch = diag.get_diagnosis_ID(DiagnosisID="#arguments.DiagnosisID#") />
        <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#.Dx_list_ICD10 WHERE
                            Dx_list_ICD10.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>
	