<cfcomponent>
	<cffunction name="UpdateStep1Function" access="remote" returnformat="plain" returntype="string">
		<cfargument name="dateass1" type="string" required="yes">
		<cfargument name="Chkhomeother" type="string" required="yes">
		<cfargument name="ChkIntravenous" type="string" required="yes">
		<cfargument name="ChkNutrition" type="string" required="yes">
		<cfargument name="ChkHyperglycemiFZa" type="string" required="yes">
		<cfargument name="painlevel" type="string" required="yes">
		<cfargument name="RadM1200" type="string" required="yes">
		<cfargument name="chkthrobbing" type="string" required="yes">
		<cfargument name="radthreshold" type="string" required="yes">

		<cfargument name="radscale" type="string" required="yes">
		<cfargument name="raddose" type="string" required="yes">
		<cfargument name="chkphysical" type="string" required="yes">
		<cfargument name="color" type="string" required="yes">
		<cfargument name="chkDyspnea" type="string" required="yes">
		<cfargument name="chkUrinecolor" type="string" required="yes">
		<cfargument name="chkGastro" type="string" required="yes">
		<cfargument name="chkOstomy" type="string" required="yes">
		<cfargument name="chkNeuro" type="string" required="yes">
		<cfargument name="chkStatus" type="string" required="yes">
		<cfargument name="chkskeletal" type="string" required="yes">
		<cfargument name="dateass2" type="string" required="yes">
		<cfargument name="txtsurgical" type="string" required="yes">

		<cfargument name="txtsurgical1" type="string" required="yes">
		<cfargument name="M0230update" type="string" required="yes">
		<cfargument name="finishValue" required="yes">
		<cfargument name="Comments" type="string" required="no">

		<cfquery timeout="5" name="Step1"  datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="30">

			<cfif isdefined('session.cs.AssessmentId')>
				UPDATE #Request.prefix_db_agency#.Assessment_New SET

				<cfif dateass1 NEQ ''>
					Assessment_New.Start_of_Care_M0030=#CreateODBCDate(dateass1)#,
				<cfelse>
					Assessment_New.Start_of_Care_M0030=null,
				</cfif>

				Assessment_New.Home_Safety_Assess='#Chkhomeother#',
				Assessment_New.Rehab_Prognosis_M0270='#RadM1200#',
				Assessment_New.Therapies_Home_M0250='#ChkIntravenous#',
				Assessment_New.M0250_Assess='#ChkNutrition#',
				Assessment_New.Endocrine_Assess='#ChkHyperglycemiFZa#',
				Assessment_New.M0420_Assess='#painlevel#',
				Assessment_New.Emergent_Care_M0830='#chkthrobbing#',
				Assessment_New.Emergent_Care_Reason_M0840='#radthreshold#',
				Assessment_New.Inpatient_Facility_M0855='#radscale#',
				Assessment_New.Discharge_Disposition_M0870='#raddose#',
				Assessment_New.Inpatient_Facility_M0855='#chkphysical#',
				Assessment_New.M0490_Assess='#chkDyspnea#',
				Assessment_New.M0540_Assess='#chkGastro#',
				Assessment_New.M0550_Assess='#chkOstomy#',
				Assessment_New.M0610_Assess='#chkNeuro#',
				Assessment_New.Nursing_Home_M0900='#radscale#',
				Assessment_New.Meal_Prep_M0720='#chkskeletal#',
				Assessment_New.M0440_Assess='#color#',
				Assessment_New.M0520_Assess='#chkUrinecolor#',
				Assessment_note='#Comments#',

				<cfif dateass2 NEQ ''>
					Assessment_New.Surgical_ICD_Date_485=#CreateODBCDate(dateass2)#,
				<cfelse>
					Assessment_New.Surgical_ICD_Date_485= null,
				</cfif>

				Assessment_New.Surgical_ICD_485_Description='#txtsurgical#',
				Assessment_New.Surgical_ICD_485='#txtsurgical1#',
				Housekeeping_M0750p = '#chkStatus#',

				<cfif finishValue eq 1>
					AssessmentType_New = 1,
					Admission_Status = 'Complete'
				<cfelse>
					AssessmentType_New = 0,
					Admission_Status = 'In Progress'
				</cfif>

				where Assessment_ID='#session.cs.AssessmentId#'
			</cfif>
		</cfquery>

		<cfif M0230update NEQ "">
			<cfloop index="First" list="#M0230update#" delimiters="!">
				<cfset Secondcount=0 />
				<cfloop index="Second1" list="#First#" delimiters="-">
					<cfset Secondcount=Secondcount+1 />
					<cfif Secondcount eq 1>
						<cfset Id=#Second1# />
					</cfif>
					<cfif Secondcount eq 2>
						<cfset severity=#Second1# />
					</cfif>
					<cfif Secondcount eq 3>
						<cfset dxorder=#Second1# />
					</cfif>bill_UB92_final
					<cfif Secondcount eq 4>
						<cfset primary=#Second1# />
					</cfif>
					<cfif Secondcount eq 5>
						<cfset secondary=#Second1# />
					</cfif>
				</cfloop>

				<cfoutput>
					<cfquery timeout="5" name="M1020upd" datasource="#Application.DataSrc#">
						<cfsetting requesttimeout="30" />

						<cfif isdefined('session.cs.AssessmentId')>
							UPDATE  IGNORE #Request.prefix_db_agency#.Diagnosis SET Severity='#severity#',Primary_Diagnosis='#primary#',Secondary_Diagnosis='#secondary#',
							Dx_Order = '#dxorder#' where Diagnosis.Assessment_ID=#session.cs.AssessmentId# and Diagnosis_ID=#Id#
						</cfif>
					</cfquery>
				</cfoutput>

				<cfset Secondcount=0 />
				<cfset Id='' />
				<cfset severity='' />
				<cfset dxorder='' />
				<cfset primary='' />
				<cfset secondary='' />
			</cfloop>
		</cfif>

		<cfset myResult=#finishValue# />
		<cfreturn myResult>
	</cffunction>

	<cffunction name="PTDiagnosis" 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">

		<cfset DupDiagnosis="M0230" />
		<cfset m02301='#session.cs.AssessmentId#'&' M0230' />

		<cfif 1 eq 0 >

		<cfquery timeout="5" name="AssID" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="30">

			<cfif isdefined('session.cs.AssessmentId')>
				Select Assessment_Tracker_ID,Patient_ID,Agency_ID From #Request.prefix_db_agency#.Assessment_New
				where Assessment_ID= '#session.cs.AssessmentId#'
			</cfif>
		</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 timeout="5" name="M0230fetch" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="30">

			<cfif isdefined('session.cs.AssessmentId')>
				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#
			</cfif>
		</cfquery>
		
		<cfelse>
		<cfquery timeout="5" name="M0230fetch" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="30">

			<cfif isdefined('session.cs.AssessmentId')>
				select Diagnosis,ICD,Code_Type,Pathway_Type,Short_Diagnosis,Other_DG from #Request.prefix_db_lookup#.diagnosis_list WHERE
				diagnosis_list.id=#DiagnosisID#
			</cfif>
		</cfquery>
</cfif>
		<cfquery timeout="5" name="M0230count" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="30">

			<cfif isdefined('session.cs.AssessmentId')>
				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#%'
			</cfif>
		</cfquery>
		
		<cfset ICDV = #left(M0230fetch.ICD,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 M0230count.M0230RecordCount eq 0>
			<cfquery timeout="5" name="M0230Insert" datasource="#Application.DataSrc#">
				<cfsetting requesttimeout="30">

				<cfif isdefined('session.cs.AssessmentId')>
					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) VALUES
					('#session.cs.AssessmentId#','#AssID.Assessment_Tracker_ID#','#AssID.Patient_ID#',
					'#AssID.Agency_ID#','#M0230fetch.Diagnosis#','#M0230fetch.ICD#','#M0230fetch.Code_Type#','#M0230fetch.Pathway_Type#',
					'#M0230fetch.Short_Diagnosis#','#M0230fetch.ICD#','#m02301#','#M0230Severity#','#M0230Primary#',
					'#M0230Secondary#','1','#M0230fetch.Other_DG#')
				</cfif>
			</cfquery>

			<cfset DupDiagnosis="M0230Added" />
		<cfelse>
			<cfset DupDiagnosis="M0230DUP" />
		</cfif>

		</cfif>

    	<cfreturn #SERVER.ColdFusion.ProductVersion#>
    </cffunction>

	<cffunction  name="WoundDelete" access="remote" returnformat="plain" returntype="string">
		<cfargument name="WoundID" required="yes" hint="SOC Wound Delete">

		<cfquery timeout="5" name="WoundDelete" datasource="#Application.DataSrc#">
			<cfsetting requesttimeout="30">

			delete from #Request.prefix_db_agency#.PatientVisitDetails where Progress_Details_ID='#WoundID#'
		</cfquery>

		<cfif isdefined('session.cs.AssessmentId')>
			<cfquery timeout="5" name="ViewWnd" datasource="#Application.DataSrc#">
				<cfsetting requesttimeout="30">

				SELECT count(Wnd_Type) as CouNt from #Request.prefix_db_agency#.PatientVisitDetails
				where Patient_ID='#session.cs.patientid#' and Assessment_ID='#session.cs.AssessmentId#'
				and Wnd_Location<>'' and Wnd_Type<>'' and trim(Type)='Wound'
		   	</cfquery>
		</cfif>

		<cfoutput><cfset cookie.WoundCount='#ViewWnd.CouNt#' /></cfoutput>

    	<cfreturn 'WoundDel'>
    </cffunction>

	<cffunction name="StartCareUPWound" access="remote" returnformat="plain" returntype="string">
			<cfargument name="wndtype" required="yes" hint="SOC Step Wound">
			<cfargument name="wndsurr" required="yes" hint="SOC Step Wound">
			<cfargument name="wndchar" required="yes" hint="SOC Step Wound">
			<cfargument name="location" required="yes" hint="SOC Step Wound">
			<cfargument name="stage" required="yes" hint="SOC Step Wound">
			<cfargument name="status" required="yes" hint="SOC Step Wound">
			<cfargument name="lengh1" required="yes" hint="SOC Step Wound">
			<cfargument name="lengh2" required="yes" hint="SOC Step Wound">
			<cfargument name="width1" required="yes" hint="SOC Step Wound">
			<cfargument name="width2" required="yes" hint="SOC Step Wound">
			<cfargument name="depth1" required="yes" hint="SOC Step Wound">
			<cfargument name="depth2" required="yes" hint="SOC Step Wound">
			<cfargument name="notes" required="yes" hint="SOC Step Wound">

			<cfset WS=replace(wndsurr,'!',',','All') />
			<cfset WC=replace(wndchar,'!',',','All') />

			<cfif isdefined('session.cs.AssessmentId')>
				<cfquery timeout="5" name="InsertPathway" datasource="#Application.DataSrc#">
					<cfsetting requesttimeout="30">

				 	INSERT INTO #Request.prefix_db_agency#.Pathway_Details(Agency_ID,Patient_ID,Assessment_ID,Description,Type,Skill,Care_PathWay) VALUES ('#session.AgencyId#','#session.cs.patientid#','#session.cs.AssessmentId#','#wndtype#','Wound','SSN','25')
				</cfquery>
			</cfif>

			<cfquery timeout="5" name="LastPath" datasource="#Application.DataSrc#">
					select LAST_INSERT_ID() as keyvalue
			</cfquery>

			<cfif isdefined('session.cs.AssessmentId')>
		   		<cfquery timeout="5" name="WoundForm1" datasource="#Application.DataSrc#">
		   			<cfsetting requesttimeout="30">

				   	insert into #Request.prefix_db_agency#.PatientVisitDetails (Wnd_Type, Wnd_Location, Wnd_Stage, Wnd_Status, Wnd_Len_1, Wnd_Len_2, Wnd_Wid_1, Wnd_Wid_2, Wnd_Dep_1, Wnd_Dep_2, Wnd_Surr_Tiss, Wnd_Chara, Notes, Agency_ID, Patient_ID, Assessment_ID, Record_Creation_Date, Pathway_Details_ID, Type) values('#wndtype#', '#location#', '#left(stage,100)#', '#status#', '#lengh1#', '#lengh2#', '#width1#', '#width2#', '#depth1#', '#depth2#', '#WS#', '#WC#', '#notes#', '#session.AgencyId#', '#session.cs.patientid#', '#session.cs.AssessmentId#', '#DateFormat(now(),"yyyy-mm-dd")#', '#LastPath.keyvalue#', 'Wound')
				</cfquery>
			</cfif>

			<cfif isdefined('session.cs.AssessmentId')>
				<cfquery timeout="5" name="ViewWnd" datasource="#Application.DataSrc#">
					<cfsetting requesttimeout="30">

					SELECT count(Wnd_Type) as CouNt from #Request.prefix_db_agency#.PatientVisitDetails
					where Patient_ID='#session.cs.patientid#' and Assessment_ID='#session.cs.AssessmentId#'
					and Wnd_Location<>'' and Wnd_Type<>'' and trim(Type)='Wound'
				</cfquery>
   			</cfif>

		   	<cfoutput><cfset cookie.WoundCount='#ViewWnd.CouNt#' /></cfoutput>
        <cfreturn 'Wound'>
    </cffunction>

    <cffunction  name="StartCareUPVital" access="remote" returnformat="plain" returntype="string">
     	<cfargument name="AssTrackID" required="yes" hint="SOC Step AddVital">
 		<cfargument name="Type" required="no" hint="SOC Step AddVital">
		<cfargument name="Reading" required="no" hint="SOC Step AddVital">
		<cfargument name="Severity" required="no" hint="SOC Step AddVital">
		<cfargument name="Notes" required="no" hint="SOC Step AddVital">
		<cfset patientid= Val(Trim(#session.cs.patientid#)) />
		<cfset AssessmentTrackerID= Val(Trim(#AssTrackID#)) />
		<cfset AssessmentID= Val(Trim(#session.cs.AssessmentId#)) />

		<cfif isdefined('session.cs.AssessmentId')>
			<cfquery timeout="5" name="patientaddvital" datasource="#Application.DataSrc#">
				<cfsetting requesttimeout="30">

				INSERT INTO #Request.prefix_db_agency#.PatientVisitDetails(ScheduleItems_ID,Description,Agency_ID,
				Patient_ID,Assessment_ID,Assessment_Tracker_ID,Record_Creation_Date,Type,Notes,Reading1<cfif isdefined('Severity')>,Severity</cfif>) VALUES ('#session.cs.ScheduleId#','#Type#','#Session.AgencyLogin#','#patientid#','#AssessmentID#','#AssessmentTrackerID#','#DateFormat(now(),"yyyy-mm-dd")#','vital sign','#Notes#','#Reading#'<cfif isdefined('Severity')>,'#Severity#'</cfif>)
			</cfquery>
		</cfif>

		<cfquery timeout="5" name="patientaddvital1" datasource="#Application.DataSrc#">
			select LAST_INSERT_ID() as keyvalue
		</cfquery>

		<cfreturn 'AddVital'>
	</cffunction>

	<cffunction name="M0230Delete" access="remote" returnformat="plain" returntype="string">
		<cfargument name="DiagnosisID" required="yes" hint="SOC M0230 Diagnosis Delete">
		<cfargument name="M0230update" required="yes" hint="SOC M0230 Diagnosis Update">

		<cfquery timeout="5" name="M0230Delete" datasource="#Application.DataSrc#">
		<cfsetting requesttimeout="30">
			<cfif isdefined('session.cs.AssessmentId')>
			 	delete from #Request.prefix_db_agency#.Diagnosis where Diagnosis.Assessment_ID=#session.cs.AssessmentId# and Diagnosis_ID=#DiagnosisID#
			 </cfif>
		</cfquery>

		<cfloop index="First" list="#M0230update#" delimiters="!">
			<cfset Secondcount=0>

			<cfloop index="Second1" list="#First#" delimiters="-">
				<cfset Secondcount=Secondcount+1>
				<cfif Secondcount eq 1>
					<cfset Id=#Second1#>
				</cfif>
				<cfif Secondcount eq 2>
					<cfset severity=#Second1#>
				</cfif>
				<cfif Secondcount eq 3>
					<cfset dxorder=#Second1#>
				</cfif>
				<cfif Secondcount eq 4>
					<cfset primary=#Second1#>
				</cfif>
				<cfif Secondcount eq 5>
					<cfset secondary=#Second1#>
				</cfif>
			</cfloop>

			<cfoutput>
				<cfquery timeout="5" name="M1020upd" datasource="#Application.DataSrc#">
					<cfsetting requesttimeout="30">

					<cfif isdefined('session.cs.AssessmentId')>
						UPDATE IGNORE  #Request.prefix_db_agency#.Diagnosis SET Severity='#severity#',Primary_Diagnosis='#primary#',Secondary_Diagnosis='#secondary#',
						Dx_Order = '#dxorder#' where Diagnosis.Assessment_ID=#session.cs.AssessmentId# and Diagnosis_ID=#Id#
					</cfif>
				</cfquery>
			</cfoutput>

			<cfset Secondcount=0>
			<cfset Id=''>
			<cfset severity=''>
			<cfset dxorder=''>
			<cfset primary=''>
			<cfset secondary=''>
		</cfloop>

    	<cfreturn 'M0230Delete'>
    </cffunction>
</cfcomponent>