<cfparam name="url.assid" default = "0">

<cfif url.assid NEQ '0' >

	<cfquery name="GetAss" datasource="#Application.DataSrc#">
		Select * from #Request.prefix_db_agency#.pAssessments where Assmt_ID='#url.assid#'
		AND status = 0
	</cfquery>
	<cfset encautoass_id= encrypt(#Getass.AutoAssmt_ID#,#Application.enckey#,"AES","Hex") />   
	<cfset encadmit_id= encrypt(#Getass.Admit_ID#,#Application.enckey#,"AES","Hex") />
	<cfquery datasource="#Application.DataSrc#" name="GetPatient">
		    SELECT pPatients.*,Agency.* ,pAdmit.Render_Phys_ID AS Primary_ReferringPhys_Id_M0072,
		    pAdmit.*
		    FROM   #Request.prefix_db_agency#.pPatients
		    JOIN  #Request.prefix_db_agency#.pAdmit ON  pAdmit.Patient_Id =  pPatients.Patient_Id 
		    JOIN  #Request.prefix_db_lookup#.Agency ON  Agency.Agency_Id = pPatients.Loc_ID
		    WHERE  pPatients.Patient_Id = '#session.cs.patientid#'
		     AND pPatients.status  IN (0,1,4)
		    AND  pAdmit.status = 0
		    <!--- GROUP BY pPatients.Patient_Id  --->	
		    ORDER BY pAdmit.M0030_START_CARE_DT DESC     
	</cfquery>

	<cfquery name="GetSOC" datasource="#Application.DataSrc#">
		SELECT 
			CASE WHEN LEFT(F26,1) = '1' THEN F251  ELSE  F251 END AS  DME,
			CASE WHEN LEFT(F26,1) = '1' THEN F252  ELSE  F252 END AS  Safety,
			CASE WHEN LEFT(F26,1) = '1' THEN F253  ELSE  F253 END AS  Diet,
			CASE WHEN LEFT(F26,1) = '1' THEN F254  ELSE  F254 END AS  Functional_Limitations,
			CASE WHEN LEFT(F26,1) = '1' THEN F255  ELSE  F254 END AS  Functional_Limits_Extra,
			CASE WHEN LEFT(F26,1) = '1' THEN F256  ELSE  F256 END AS  Activities_Permitted,
			CASE WHEN LEFT(F26,1) = '1' THEN F257  ELSE  F257 END AS  Activities_Permitted_Extra,
			CASE WHEN LEFT(F26,1) = '1' THEN F258  ELSE  F258 END AS  Mental_Status_Extra,
			CASE WHEN LEFT(F26,1) = '1' THEN F259  ELSE  F259 END AS  Prognosis,
			CASE WHEN LEFT(F26,1) = '1' THEN F54   ELSE  F262 END AS  Hospital,
			CASE WHEN LEFT(F26,1) = '1' THEN F34   ELSE  F40 END AS  COGNITION,
			CASE WHEN LEFT(F26,1) = '1' THEN F35   ELSE  F261 END AS  ANXIETY,
			CASE WHEN LEFT(F26,1) = '1' THEN F69   ELSE  F69 END AS  SOCIAL_ISOLATION,
			CASE WHEN LEFT(F26,1) = '1' THEN F70   ELSE  F70 END AS  BEHAVIORAL_ISSUES,
			CASE WHEN LEFT(F26,1) = '1' THEN F154   ELSE  F154 END AS  HISTORY_OF_DEPRESSION,
			CASE WHEN LEFT(F26,1) = '1' THEN F82   ELSE  F82 END AS  Self_Care,
			CASE WHEN LEFT(F26,1) = '1' THEN F83   ELSE  F83 END AS  Mobility 
		 from #Request.prefix_db_agency#.pAssessments WHERE Admit_ID='#Getass.Admit_ID#'
		 AND Assmt_ID='#url.assid#' AND status = 0 
		 <!--- AND (F26 like '1%')  --->
		ORDER BY F176 DESC LIMIT 0,1
	</cfquery>


   
	<cfset DME    				     = #GetSOC.DME# / >
	<cfset Safety 				     = #GetSOC.Safety# / >
	<cfset Diet   				     = #GetSOC.Diet# / >
	<cfset Functional_Limitations    = #GetSOC.Functional_Limitations# / >
	<cfset Functional_Limits_Extra   = #GetSOC.Functional_Limits_Extra# / >
	<cfset Activities_Permitted      = #GetSOC.Activities_Permitted# / >
	<cfset Activities_Permitted_Extra= #GetSOC.Activities_Permitted_Extra# / >
	<cfset Mental_Status_Extra       = #GetSOC.Mental_Status_Extra# / >
    <cfset Hospital                  = #Replace(GetSOC.Hospital, ",",", ", "ALL")# / >    
	<cfset Prognosis				 = #GetSOC.Prognosis#/ >
	<!--- <cfset Discharge_Plan			 = #GetSOC.F260# / > --->
	<cfset Mental_Status			 = 'COGNITION: '& #GetSOC.COGNITION# &', ANXIETY: '& #GetSOC.ANXIETY#  &', SOCIAL ISOLATION: '& #GetSOC.SOCIAL_ISOLATION#&', BEHAVIORAL ISSUES: '& #replace(GetSOC.BEHAVIORAL_ISSUES,",",", ", "ALL")# & ', HISTORY OF DEPRESSION: '& #GetSOC.HISTORY_OF_DEPRESSION# / >
	<cfset Rehabilitation_Potential  = 'SELF-CARE: '&#GetSOC.Self_Care# &', MOBILITY: '& #GetSOC.Mobility# / >
	
	<cfquery name="Getdischargeplans" datasource="#Application.DataSrc#">
         SELECT pCareplan.*  FROM  #Request.prefix_db_agency#.pCareplan
         WHERE Assmt_ID = <cfqueryparam value = "#url.assid#" CFSQLType ="CF_SQL_INTEGER">
         AND status =  <cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">
          <!---AND Skill = <cfqueryparam value = "SN" CFSQLType ="CF_SQL_VARCHAR"> --->
        AND  Type IN ('discharge_plan')
     </cfquery>
     <cfset Discharge_Plan =  #replace(ValueList(Getdischargeplans.Description),",","<br>", "ALL")#  />
      


	<cfquery datasource="#Application.DataSrc#" name="GetPatPayer">
	  SELECT * FROM #Request.prefix_db_agency#.pPtPayer 
	   WHERE Patient_ID = '#session.cs.patientid#'
	   AND Status = 0 
	</cfquery>

	 <!--- <cfdump var="#GetAss#"><cfabort> --->
	<!--- <cfif isdefined('form.ChkYes') and form.ChkYes eq 'Yes'>
		<cfquery name="update_Assements_created" datasource="#Application.DataSrc#">
			UPDATE #Request.prefix_db_agency#.pAssessments  SET
				Record_Created_By = '#Session.EmployeeId#' 
			where Assmt_ID = '#url.assid#'
		</cfquery>
	</cfif> 

	<cfif isdefined('form.Phys_ID')>
		<cfquery name="UpdatePhysicians" datasource="#Application.DataSrc#">
			Update #Request.prefix_db_lookup#.pPhysicians
			set Phys_Last='#form.txtphylastname#',
			Phys_First='#form.txtphyfirstname#',
			Phys_Street='#form.txtphyAddress#',
			Phys_City='#form.txtphyCity#',
			Phys_State='#form.txtphyState#',
			Phys_Zip='#form.txtphyMEZip#',
			Phys_Phone='#form.txtphyMEPhone#',	
			<cfif isdefined('form.txtphyFax')>
				Phys_Fax='#form.txtphyFax#',
			</cfif>
			Phys_NPI='#form.txtphyNPI#',
			Record_Mod_Date=#now()#, 
			Record_Mod_By='#Session.EmployeeId#'
			WHERE Phys_ID = '#form.Phys_ID#'
		</cfquery>
	</cfif>--->

	<cfquery name="ViewMeds" datasource="#Application.DataSrc#">
		select pPtmeds.Drug_Name, pPtmeds.Dose, pPtmeds.Dose_Units, pPtmeds.Route, pPtmeds.Freq, pPtmeds.Notes,pPtmeds.PtMeds_ID  
		from #Request.prefix_db_agency#.pPtmeds 
		where pPtmeds.Patient_ID IN (Select pAssessments.Patient_ID 
			from #Request.prefix_db_agency#.pAssessments where pAssessments.Assmt_ID='#url.assid#' AND pAssessments.status= 0 GROUP BY Patient_ID)
		and pPtmeds.Status = '0'
		 AND pPtmeds.In_Home  = 1
	</cfquery>

	<cfset medication='' />
	<cfset medicationids = ValueList(ViewMeds.PtMeds_ID) />
	<cfif isdefined('ViewMeds.recordcount') and ViewMeds.recordcount gt 0>
		<cfloop query="ViewMeds">
		    <cfset DrugName= #Replace(Drug_Name, ";", ":", "ALL")#>
			<!--- <cfset Temp=DrugName&' '&Dose&' '&Dose_Units&' '&Route&' '&Freq&' '&Notes /> --->
			<cfset Temp = DrugName />
         	<cfif Dose NEQ '0'>
         		<cfset Temp = Temp &' '&Dose />
         	</cfif>
         	<cfset Temp =  Temp &' '&Dose_Units />
         	<cfif Route NEQ '0'>
         		<cfset Temp = Temp &' '&Route />
         	</cfif>
         	<cfif Freq NEQ '0'>
         		 <cfset Temp = Temp &' '&Freq />
         	</cfif>
        	<cfset Temp = Temp &' '& Notes />
			<cfif medication eq ''>
				<cfset medication=Temp />
			<cfelse>
				<cfset medication=medication&'<br>'&Temp>
			</cfif>
		</cfloop>
	<cfelse>
		<cfset medication='There are no Medications for this Plan of Care' />
	</cfif>

	<cfset M0230='#url.assid#'&' M0230' />
	<cfquery name="M0230other" datasource="#Application.DataSrc#">
		SELECT  vetted_190924.ICD, vetted_190924.Diagnosis_Short AS Short_Diagnosis,vetted_190924.* FROM #Request.prefix_db_agency#.pProblem 
		JOIN #Request.prefix_db_lookup#.vetted_190924 ON vetted_190924.Diagnosis = pProblem.Description
		WHERE pProblem.Assmt_ID = <cfqueryparam value="#url.assid#"  cfsqltype="CF_SQL_INTEGER">
		AND pProblem.M0_No like 'M1023%'
		AND pProblem.status = <cfqueryparam value="0"  cfsqltype="CF_SQL_INTEGER">
		<!--- ORDER BY RIGHT(M0_No, 1) ASC --->
		GROUP BY  pProblem.Description
		ORDER BY  pProblem.dx_order ASC 
	</cfquery>

	<cfquery name="M0230diagnasis" datasource="#Application.DataSrc#">
		SELECT  vetted_190924.ICD, vetted_190924.Diagnosis_Short AS Short_Diagnosis,vetted_190924.* FROM #Request.prefix_db_agency#.pProblem 
		JOIN #Request.prefix_db_lookup#.vetted_190924 ON vetted_190924.Diagnosis = pProblem.Description
		WHERE pProblem.Assmt_ID = <cfqueryparam value="#url.assid#"  cfsqltype="CF_SQL_INTEGER">
		AND pProblem.M0_No like 'M1021%'
		AND pProblem.status = <cfqueryparam value="0"  cfsqltype="CF_SQL_INTEGER">
		<!--- ORDER BY RIGHT(M0_No, 1) ASC --->
		GROUP BY  pProblem.Description
		ORDER BY  pProblem.dx_order ASC 
	</cfquery>

	<cfset primaryICDDate='' />
	<!---set primary--->
	<cfset primaryICD='' />
	<cfif isdefined('M0230diagnasis.recordcount') and M0230diagnasis.recordcount gt 0>
		<cfloop query="M0230diagnasis">
			<cfset ICDTemp=ICD />
			<cfset primaryICD = ICDTemp>
		</cfloop>
	<cfelse>
		<cfset primaryICD='1' />
	</cfif>
	<cfset primarydiagnosis='' />
	<cfif isdefined('M0230diagnasis.recordcount') and M0230diagnasis.recordcount gt 0>
		<cfloop query="M0230diagnasis">
			<cfset primaryTemp=Short_Diagnosis />
			<cfif Short_Diagnosis eq ''>
				<cfset primaryTemp=Diagnosis />
				<cfset primaryTemp = #UCase(primaryTemp)# />
			</cfif>
			<cfset primarydiagnosis=<!---primarydiagnosis&' ,'& --->primaryTemp>
			<cfset primarydiagnosis= #Replace(primarydiagnosis, ",", "", "ALL")#>
			<cfset primaryICDDate = #DATEFORMAT(GetPatient.M0030_START_CARE_DT,'mm/dd/yy')# />
		</cfloop>
	<cfelse>
		<cfset primarydiagnosis='1' />
	</cfif>

	<!---set other--->
	<cfset otherICD=  "" />
	<cfset otherICDDate =  "" />
	<cfif isdefined('M0230other.recordcount') and M0230other.recordcount gt 0>
		<cfloop query="M0230other">
			<cfset ICDTemp=ICD />
			<cfset otherICD=otherICD&'<br/>'&ICDTemp>
		</cfloop>
	<cfelse>
		<cfset otherICD='1' />
	</cfif>
	<cfset otherdiagnosis= "" />
	<cfif isdefined('M0230other.recordcount') and M0230other.recordcount gt 0>
		<cfloop query="M0230other">
			<cfset otherTemp= Short_Diagnosis>
			<cfif Short_Diagnosis eq ''>
				<cfset otherTemp =Diagnosis />
				<cfset otherTemp = #UCase(otherTemp)# />
			</cfif>
			<cfset otherTemp= #Replace(otherTemp, ",", "", "ALL")#>
			<cfset otherdiagnosis=otherdiagnosis&'<br/>'&otherTemp>
			<cfset otherICDDate = ListAppend(otherICDDate,DATEFORMAT(GetPatient.M0030_START_CARE_DT,'mm/dd/yy'),",")  />
		</cfloop>
	<cfelse>
		<cfset otherdiagnosis='1' />
	</cfif>


	<cfset allICD=   primaryICD & '~' & otherICD/>
	<cfset alldiagnosis=   primarydiagnosis  & '~' & otherdiagnosis/>
	<cfset allICD_Date=   primaryICDDate  & '~' & otherICDDate/>

	<cfset dataspace=" " />
	<cfset today=#DateFormat(now(),'yyyy-mm-dd')# />

	<cfquery  datasource="#Application.DataSrc#" name="getassform">
		SELECT * FROM #Request.prefix_db_agency#.pCMS4857 
		WHERE Assmt_ID = <cfqueryparam value="#url.assid#"  cfsqltype="CF_SQL_INTEGER">
		AND status = 0
	</cfquery>



	<cfquery  datasource="#Application.DataSrc#" name="AddForm">
		INSERT INTO #Request.prefix_db_agency#.pCMS4857 
			(Assmt_ID, Status,Form_Status,Form_Type, Insured_HIC, Date_Admit, Certification_From, Certification_To, Pt_Agy_ID, Agy_CCN, Pt_First, Pt_Last, Pt_Street, Pt_City, Pt_State, Pt_Zip, Pt_Phone, Agy_Name, Agy_Street, Agy_City, Agy_State, Agy_Zip, Agy_Phone, Agy_NPI, Pt_DOB, Pt_Gender, Medications, ICD10, Description, ICD_Date, DME, Safety, Diet, Allergies, Functional_Limitations, Functional_Limits_Extra, Activities_Permitted, Activities_Permitted_Extra, Mental_Status, Mental_Status_Extra, Prognosis, Careplan_SN, Careplan_PT, Careplan_OT, Careplan_ST, Careplan_MSW, Careplan_HHA, Careplan_other, Goals_SN, Goals_PT, Goals_OT, Goals_ST, Goals_MSW, Goals_HHA, Goals_other, Rehabilitation_Potential, Discharge_Plan, Clinician_Signature, Render_Phys_ID, MD_Homebound, MD_Clinical_Condition,  Date_Create, Created_by, Date_Change, Change_by)				
		VALUES 
			(
				<cfqueryparam value = "#url.assid#" CFSQLType ="CF_SQL_INTEGER">,
				<cfqueryparam value = "0" CFSQLType ="CF_SQL_INTEGER">,
                    <cfqueryparam value = "" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "Form 485" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatPayer.Sub_HIC#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#DATEFORMAT(GetPatient.M0030_START_CARE_DT,'yyyy-mm-dd')#" CFSQLType ="CF_SQL_DATE">,
				<cfqueryparam value = "#GetAss.F177#" CFSQLType ="CF_SQL_DATE">,
				<cfqueryparam value = "#GetAss.F178#" CFSQLType ="CF_SQL_DATE">,
				<cfqueryparam value = "#GetPatient.Pt_Agy_ID#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.CMS_Cert_No#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Pt_First#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Pt_Last#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Pt_Street#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Pt_City#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Pt_State#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Pt_Zip#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Pt_Phone#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Agency_Name#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Agency_Address1#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Agency_City#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Agency_State#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Agency_Zip#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Agency_Contact_Phone#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Natl_Provider_ID#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#DATEFORMAT(GetPatient.Pt_DOB,'yyyy-mm-dd')#" CFSQLType ="CF_SQL_DATE">,
				<cfqueryparam value = "#GetPatient.Pt_Gender#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#medication#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#allICD#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#alldiagnosis#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#allICD_Date#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#DME#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Safety#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Diet#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Allergies#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Functional_Limitations#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Functional_Limits_Extra#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Activities_Permitted#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Activities_Permitted_Extra#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Mental_Status#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Mental_Status_Extra#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Prognosis#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Careplan_SN#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Careplan_PT#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Careplan_OT#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Careplan_ST#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Careplan_MSW#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Careplan_HHA#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Careplan_other#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Goals_SN#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Goals_PT#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Goals_OT#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Goals_ST#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Goals_MSW#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Goals_HHA#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#getassform.Goals_other#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Rehabilitation_Potential#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#Discharge_Plan#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.Render_Phys_ID#" CFSQLType ="CF_SQL_INTEGER">,
				<cfqueryparam value = "#GetPatient.MD_Homebound#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value = "#GetPatient.MD_Clinical_Condition#" CFSQLType ="CF_SQL_VARCHAR">,
				<cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			    <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">,
			    <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
			    <cfqueryparam value = "#session.employeeid#" CFSQLType ="CF_SQL_INTEGER">	
			)
	</cfquery>	
			
	<cfquery name="LastID" datasource="#Application.DataSrc#">
		select LAST_INSERT_ID() as keyvalue
	</cfquery>
	<cfset OrderID  = #LastID.keyvalue#/>	
	<cfinclude template ="intrevention_goalsinsert.cfm" />
	<cfoutput>
	    <cfset afid  = encrypt(#LastID.keyvalue#,#Application.enckey#,"AES","Hex") />
		<cflocation url="index.cfm?a=1&page=patient&px=y&cat=485update&afid=#afid#" addtoken="no">
	</cfoutput>
<cfelse>
	<p> Issues when you created 485 form</p>
</cfif>
