
<cfparam name="Form.AutoAssmt_ID" default="0" >
<cfparam name="Form.inactivation_hidden" default="0" >
<cfif form.inactivation_hidden EQ 1 >
		<cfparam name="Form.Inactivation" default="">
		<cfset inactivationIds = listToArray(Form.Inactivation)>
		<cfset suppressDatasetDownload = arrayLen(inactivationIds) GT 1>
		<cfset generatedDatasetFiles = []>

		<cfloop array="#inactivationIds#" index="inactivationId">
			<cfquery  name="GetAssessment" datasource="#Application.DataSrc#">
			  SELECT * FROM #Request.prefix_db_agency#.pAssessments 
				 JOIN #Request.prefix_db_agency#.pAdmit ON pAssessments.Admit_ID = pAdmit.Admit_ID
				JOIN #Request.prefix_db_agency#.pPatients ON pAssessments.Patient_ID = pPatients.Patient_ID
			  WHERE pAssessments.AutoAssmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#inactivationId#">   
			  AND pAssessments.status =  <cfqueryparam cfsqltype="cf_sql_integer" value="0"> 
			  AND  pAdmit.status = 0 AND pPatients.status IN (0,1,4)
			 	 Group by pAssessments.Assmt_ID 
				ORDER BY pAssessments.F176 DESC
			</cfquery>

			<cfif GetAssessment.RecordCount GT 0>
				<cfquery  name="getproblem" datasource="#Application.DataSrc#">
						SELECT pProblem.*,vetted_190924.ICD AS ICD FROM #Request.prefix_db_agency#.pProblem 
						LEFT OUTER JOIN #Request.prefix_db_lookup#.vetted_190924 ON vetted_190924.Diagnosis = pProblem.Description
						WHERE pProblem.Assmt_ID = <cfqueryparam value="#GetAssessment.Assmt_ID#"  cfsqltype="CF_SQL_INTEGER">
						AND pProblem.status = <cfqueryparam value="0"  cfsqltype="CF_SQL_INTEGER">
						AND M0_No like 'M102%'
						ORDER BY RIGHT(M0_No, 1) ASC
						LIMIT 0,6
				</cfquery>

				<cfquery  name="GetPayers" datasource="#Application.DataSrc#">
				  SELECT pPtPayer.Sub_HIC, pPayer.M0150, pPayer.Output as POUT FROM #Request.prefix_db_agency#.pPtPayer 
				  JOIN #Request.prefix_db_agency#.pPayer ON pPayer.Pay_ID = pPtPayer.Payer_ID
				  WHERE pPtPayer.Patient_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#GetAssessment.Patient_ID#">   
				  AND pPtPayer.status =  <cfqueryparam cfsqltype="cf_sql_integer" value="0"> 
				</cfquery>

				<cfquery  name="GetPhy" datasource="#Application.DataSrc#">
				  SELECT  * FROM #Request.prefix_db_lookup#.pPhysicians 
				  WHERE Phys_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#GetAssessment.Render_Phys_ID#" > 
				  AND status =  <cfqueryparam cfsqltype="cf_sql_integer" value="0"> 
				</cfquery>

				<cfquery  name="medicarepayer" dbtype="query">
				  SELECT M0150, Sub_HIC FROM GetPayers 
				  WHERE M0150 like '1. Medicare (traditional%'
				</cfquery>
				<cfset M0063 = "^" />
				<cfif medicarepayer.recordcount gt 0>
					<cfset M0063 = #medicarepayer.Sub_HIC#>
				</cfif>

				<cfquery  name="medicaidpayer" dbtype="query">
				  SELECT POUT, Sub_HIC FROM GetPayers  
				  WHERE M0150 like '%Medicaid%'
				</cfquery>

				<cfset M0065 = "^" />
				<cfif medicaidpayer.recordcount gt 0>
					<cfset M0065 = #medicaidpayer.Sub_HIC#>
				</cfif>

				<cfparam name="ICD6" default="^"><cfparam name="Severity6" default="^">
				<cfparam name="ICD1" default="^"><cfparam name="Severity1" default="^">
				<cfparam name="ICD2" default="^"><cfparam name="Severity2" default="^">
				<cfparam name="ICD3" default="^"><cfparam name="Severity3" default="^">
				<cfparam name="ICD4" default="^"><cfparam name="Severity4" default="^">
				<cfparam name="ICD5" default="^"><cfparam name="Severity5" default="^">

				<cfset i = 1 >
				<cfoutput query ="getproblem">
					<cfset finalicd    = #getproblem.ICD# />
					   <cfloop from ="#len(finalicd)#" to="7" index="icds">
								<cfset finalicd = finalicd & '^' />
					   </cfloop>
					  <cfset "ICD#i#"     = finalicd />
					<cfset "Severity#i#" = '0' & #getproblem.Severity# />
					<cfset i = i + 1 >
				</cfoutput>

				<cfset Interpreter = #GetAssessment.Interpreter# />
				   
				<cfset Pt_Race = #GetAssessment.Pt_Race# />
				<cfset A1010A = 0 /><cfset A1010B = 0 /><cfset A1010C = 0 /><cfset A1010D = 0 />
				<cfset A1010E = 0 /><cfset A1010F = 0 /><cfset A1010G = 0 /><cfset A1010H = 0 />
				<cfset A1010I = 0 /><cfset A1010J = 0 /><cfset A1010K = 0 /><cfset A1010L = 0 />
				<cfset A1010M = 0 /><cfset A1010N = 0 /><cfset A1010X = 0 /><cfset A1010Y = 0 />
				<cfset A1010Z = 0 />
				<cfif Pt_Race contains 'A. White'>
				 	<cfset A1010A = 1 />
				</cfif>
				<cfif Pt_Race contains 'B. Black or African American'>
				 	<cfset A1010B = 1 />
				</cfif>
				<cfif Pt_Race contains 'C. American Indian or Alaska Native'>
				 	<cfset A1010C = 1 />
				</cfif>
				<cfif Pt_Race contains 'D. Asian Indian'>
				 	<cfset A1010D = 1 />
				</cfif>
				<cfif Pt_Race contains 'E. Chinese'>
				 	<cfset A1010E = 1 />
				</cfif>
				<cfif Pt_Race contains 'F. Filipino'>
				 	<cfset A1010F = 1 />
				</cfif>
				<cfif Pt_Race contains 'G. Japanese'>
				 	<cfset A1010G = 1 />
				</cfif>
				<cfif Pt_Race contains 'H. Korean'>
				 	<cfset A1010H = 1 />
				</cfif>
				<cfif Pt_Race contains 'I. Vietnamese'>
				 	<cfset A1010I = 1 />
				</cfif>
				<cfif Pt_Race contains 'J. Other Asian'>
				 	<cfset A1010J = 1 />
				</cfif>
				<cfif Pt_Race contains 'K. Native Hawaiian'>
				 	<cfset A1010K = 1 />
				</cfif>
				<cfif Pt_Race contains 'L. Guamanian or Chamorro'>
				 	<cfset A1010L = 1 />
				</cfif>
				<cfif Pt_Race contains 'M. Samoan'>
				 	<cfset A1010M = 1 />
				</cfif>
				<cfif Pt_Race contains 'N. Other Pacific Islander'>
				 	<cfset A1010N = 1 />
				</cfif>
				<cfif Pt_Race contains 'X. Patient unable to respond'>
				 	<cfset A1010X = 1 />
				</cfif>
				<cfif Pt_Race contains 'Y. Patient declines to respond'>
				 	<cfset A1010Y = 1 />
				</cfif>
				<cfif Pt_Race contains 'Z. None of the above'>
				 	<cfset A1010Z = 1 />
				</cfif>
				<cfset Pt_language  = #GetAssessment.Pt_language# />

				<cfset Living  = #GetAssessment.M1100_PTNT_LVG_STUTN# />      

				<cfquery  name="getprimary" dbtype="query">
						SELECT * FROM getproblem 
				</cfquery>

				<cfset _correctionNumField = "Correction_Number_" & inactivationId />
				<cfset _correctionNum = "" />
				<cfif structKeyExists(form, _correctionNumField)>
					<cfset _correctionNum = Trim(form[_correctionNumField]) />
				</cfif>
				<cfset correctionNumXml = "01" />
				<cfif Len(_correctionNum) GT 0 AND Val(_correctionNum) GTE 1 AND Val(_correctionNum) LTE 5>
					<cfquery datasource="#Application.DataSrc#" name="updateCorrectionNumber">
						UPDATE #Request.prefix_db_agency#.pAssessments
						SET F264 = <cfqueryparam value="#_correctionNum#" cfsqltype="cf_sql_varchar">,
							Record_Mod_Date = <cfqueryparam value="#now()#" cfsqltype="cf_sql_timestamp">,
							Record_Mod_By = <cfqueryparam value="#session.employeeid#" cfsqltype="cf_sql_integer">
						WHERE AutoAssmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#inactivationId#">
						AND status = 0
					</cfquery>
					<cfset correctionNumXml = Right("0" & Val(_correctionNum), 2) />
				<cfelseif ListFindNoCase(GetAssessment.columnList, "F264") GT 0 AND NOT IsNull(GetAssessment.F264) AND Len(Trim(GetAssessment.F264)) GT 0>
					<cfset correctionNumXml = Right("0" & Val(Trim(GetAssessment.F264)), 2) />
				</cfif>

				<cfquery datasource="#Application.DataSrc#" name="clearF197">
					UPDATE #Request.prefix_db_agency#.pAssessments
					SET F197 = NULL
					WHERE AutoAssmt_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#inactivationId#">
				</cfquery>

				<cfinclude template="make_inactivedataset.cfm" />

				<cfif suppressDatasetDownload AND structKeyExists(variables, "filenames") AND len(trim(filenames))>
					<cfset arrayAppend(generatedDatasetFiles, "/var/www/xmlfilecreation/" & filenames)>
				</cfif>
			</cfif>
		</cfloop>

		<cfif suppressDatasetDownload AND arrayLen(generatedDatasetFiles) GT 0>
			<cfset zipFileName = "inactivation_" & DateFormat(now(), "yyyymmdd") & TimeFormat(now(), "HHmmss") & ".zip">
			<cfset zipFilePath = "/var/www/xmlfilecreation/" & zipFileName>
			<cfzip action="zip" file="#zipFilePath#" overwrite="yes">
				<cfloop array="#generatedDatasetFiles#" index="generatedFilePath">
					<cfif fileExists(generatedFilePath)>
						<cfzipparam source="#generatedFilePath#">
					</cfif>
				</cfloop>
			</cfzip>
			<cfheader name="content-disposition" value="attachment; filename=#zipFileName#">
			<cfcontent type="application/zip" file="#zipFilePath#" deletefile="false">
		</cfif>




<cfelse>
	<cfquery  datasource="#Application.DataSrc#" name="deleteassessments">
		UPDATE #Request.prefix_db_agency#.pAssessments
		SET F197 =  NULL
		WHERE AutoAssmt_ID  IN (#Form.AutoAssmt_ID#)
	</cfquery>

	<cflocation url="index.cfm?page=dashboard&cat=chartcompliance&rpt=transmitted_datasets" addtoken="no">
</cfif>