<cfcomponent output="false">
	<cffunction name="snadult1" access="remote"  returnformat="plain" returntype="string">
       <cfargument name="Rehab_Prognosis_M0270" required="yes" hint="sn adult 2">
	   <cfargument name="other_agency_involved" required="yes" hint="sn adult 2">
	   <cfargument name="M0250_Assess" required="yes" hint="sn adult 2">
	   <cfargument name="M1010updateF" required="yes" hint="sn adult 2">
	   <cfargument name="Comments" required="yes" hint="sn adult 2">

	  <cfif isdefined('session.cs.AssessmentId')>
		  <cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">
				UPDATE #Request.prefix_db_agency#.Assessment_New SET
					Rehab_Prognosis_M0270 ='#Rehab_Prognosis_M0270#',
					other_agency_involved = '#other_agency_involved#',
					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="snadult2" access="remote"  returnformat="plain" returntype="string">
       <cfargument name="Therapies_Home_M0250" required="yes" hint="sn adult 2">
	   <cfargument name="Endocrine_Assess" required="yes" hint="sn adult 2">
	   <cfargument name="M0440_Assess" required="yes" hint="sn adult 2">
	   <cfargument name="Comments" required="yes" hint="sn adult 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="snadult3" access="remote"  returnformat="plain" returntype="string">
		<cfargument name="M0490_Assess" required="yes" hint="sn adult 2">
		<cfargument name="M0520_Assess" required="yes" hint="sn adult 2">
		<cfargument name="M0540_Assess" required="yes" hint="sn adult 2">
		<cfargument name="M0550_Assess" required="yes" hint="sn adult 2">

		<cfargument name="Comments" required="yes" hint="sn adult 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="snadult4" access="remote"  returnformat="plain" returntype="string">
		<cfargument name="M0610_Assess" required="yes" hint="sn adult 2">
		<cfargument name="Meal_Prep_M0720" required="yes" hint="sn adult 2">
		<cfargument name="Home_Safety_Assess" required="yes" hint="sn adult 2">
		<cfargument name="M0810_Assess" required="yes" hint="sn adult 2">
		<cfargument name="Assessment_Type" required="yes" hint="ot Step 7">
		<cfargument name="Comments" required="yes" hint="sn adult 2">

		<cfif isdefined('session.cs.AssessmentId')>
		<cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.Assessment_New SET
				M0610_Assess ='#M0610_Assess#',
				Meal_Prep_M0720 = '#Meal_Prep_M0720#',
				Home_Safety_Assess='#Home_Safety_Assess#',
				M0810_Assess = '#M0810_Assess#',
				AssessmentType_New = '#Assessment_Type#',
				Assessment_note = '#Comments#'
			WHERE Assessment_ID = '#session.cs.AssessmentId#'
		</cfquery>
		</cfif>

		<cfreturn 'step5'>
	</cffunction>

	<cffunction name="snadult_finish" access="remote"  returnformat="plain" returntype="string">
		<cfargument name="M0610_Assess" required="yes" hint="sn adult 2">
		<cfargument name="Meal_Prep_M0720" required="yes" hint="sn adult 2">
		<cfargument name="Home_Safety_Assess" required="yes" hint="sn adult 2">
		<cfargument name="M0810_Assess" required="yes" hint="sn adult 2">
		<cfargument name="Assessment_Type" required="yes" hint="ot Step 7">
		<cfargument name="Comments" required="yes" hint="sn adult 2">

		<cfif isdefined('session.cs.AssessmentId')>
			<cfquery name="OtpediatricUP1" datasource="#Application.DataSrc#">
				UPDATE #Request.prefix_db_agency#.Assessment_New SET
					M0610_Assess ='#M0610_Assess#',
					Meal_Prep_M0720 = '#Meal_Prep_M0720#',
					Home_Safety_Assess='#Home_Safety_Assess#',
					M0810_Assess = '#M0810_Assess#',
					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="ot Step 7">
		<cfargument name="Emergent_Care_M0830" required="yes" hint="ot Step 7">
		<cfargument name="Emergent_Care_Reason_M0840" required="yes" hint="ot Step 7">
		<cfargument name="Nursing_Home_M0900" required="yes" hint="ot Step 7">
		<cfargument name="Discharge_Disposition_M0870" required="yes" hint="ot Step 7">
		<cfargument name="Inpatient_Facility_M0855" 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
					M0420_Assess ='#M0420_Assess#',
					Emergent_Care_M0830='#Emergent_Care_M0830#',
					Emergent_Care_Reason_M0840 = '#Emergent_Care_Reason_M0840#',
					Nursing_Home_M0900 ='#Nursing_Home_M0900#',
					Discharge_Disposition_M0870 = '#Discharge_Disposition_M0870#',
					Inpatient_Facility_M0855 ='#Inpatient_Facility_M0855#'

				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#'&' snadult' />

		<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>
					<cfset M1010fetchICD_1 = m />
				</cfif>

				<cfset i =0 />
				<cfset M1010fetchICD_sub = m />
			</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>