<cfcomponent output="false">
	<cffunction name="chaplaincomp1" 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="Eating_M0710" required="yes" hint="sn hospice 2">
		<cfargument name="Eating_M0710p" 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">
		<cfargument name="M1010updateF" 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
				Cog_Function_M0560 ='#Cog_Function_M0560#',
				Urinary_INcont_M0520 = '#Urinary_INcont_M0520#',
				Eating_M0710='#Eating_M0710#',
				Eating_M0710p = '#Eating_M0710p#',
				AssessmentType_New = '#Assessment_Type#',
				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="chaplaincomp_finish" 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="Eating_M0710" required="yes" hint="sn hospice 2">
		<cfargument name="Eating_M0710p" 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">
		<cfargument name="M1010updateF" 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
				Cog_Function_M0560 ='#Cog_Function_M0560#',
				Urinary_INcont_M0520 = '#Urinary_INcont_M0520#',
				Eating_M0710='#Eating_M0710#',
				Eating_M0710p = '#Eating_M0710p#',
				AssessmentType_New = '#Assessment_Type#',
				Assessment_note = '#Comments#',
				Admission_Status='Complete'
				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="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#'&' chaplaincomp' />

		<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  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="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>