
<cfparam name="form.Patient_ID" default="0">
<cfparam name="URL.Action" default="None">
<cfparam name="form.df" default="">
<cfparam name="form.dt" default="">

<script type="text/javascript">
	$(document).ready(function () {
		$("#missingcareplantable").dataTable({
			"sPaginationType": "full_numbers",
		//	"bJQueryUI": true,
			"aaSorting": [[2,'desc']]
		});
	});

</script>


<cfquery  name="GetA" datasource="#Application.DataSrc#">
	SELECT parent_oasis.F26 AS parent_assessment, parent_oasis.F176 AS parent_Assessment_Completed_M0090,
	 pAssessments.Assmt_ID,
	 pAssessments.Record_creation_Date, pAssessments.Assmt_ID, pAssessments.F27,pAssessments.Admit_ID,
	pAssessments.Patient_ID, pAssessments.F25 AS admission_status, pAssessments.F26 AS Assessment_Reason_M0100, pAssessments.F177 AS Certification_Start, 
	pAssessments.F178 AS Certification_End, pAssessments.F176 AS Assessment_Completed_M0090,
	 pAssessments.F197 AS Transmission_status, 
	pPatients.Pt_First, pPatients.Pt_Last, Pt_Middle,

	(SELECT count(*) FROM #Request.prefix_db_agency#.pCareplan WHERE pCareplan.Assmt_ID = pAssessments.Assmt_ID
	AND pCareplan.Status = 0 AND pCareplan.Skill = pAssessments.F27)  AS careplancount,

	(SELECT count(*) FROM #Request.prefix_db_agency#.pCareplan WHERE pCareplan.Assmt_ID = assessment_assign.Parent_Assmt_ID
	AND pCareplan.Status = 0 AND pCareplan.Skill = pAssessments.F27)  AS notcreatedcareplan,


	(SELECT count(*) FROM #Request.prefix_db_agency#.pCareplan WHERE pCareplan.Assmt_ID =  assessment_assign.Parent_Assmt_ID
	AND pCareplan.Status = 0   AND pCareplan.Skill = pAssessments.F27  
	AND  pCareplan.Type IN ('discharge_plan','patient_goal')  
	AND  pCareplan.Description  IN ( 'add patient-stated goal','add discharge plan'))  AS ptgoalsnotadded,

	(SELECT  count(*) FROM  #Request.prefix_db_agency#.pWoundsVitals 
	    WHERE Assmt_ID = pAssessments.Assmt_ID
	    AND Status = 0
	     AND (Description != 'weight' OR Description != 'Weight')
	    AND VitalOrWound = 'vital' AND (Param_Lo IS NULL OR Param_Hi IS NULL OR Param_Lo= '' OR Param_Hi = '')) AS required_vital,

	(SELECT count(*) FROM #Request.prefix_db_agency#.pCareplan 
	WHERE pCareplan.Assmt_ID =  assessment_assign.Parent_Assmt_ID
	AND pCareplan.Status = 0   AND pCareplan.Skill = pAssessments.F27  
	AND  pCareplan.Type IN ('standing_order'))  AS standingorders_count,


	(SELECT count(*) FROM #Request.prefix_db_agency#.pCareplan WHERE pCareplan.Assmt_ID = pAssessments.Assmt_ID
	AND pCareplan.Status = 0 AND pCareplan.Skill = pAssessments.F27 
	AND  pCareplan.Type IN ('discharge_plan','patient_goal') )  AS patientgoalscount,

	

	(SELECT count(*) FROM #Request.prefix_db_agency#.pCareplan WHERE pCareplan.Assmt_ID 
		IN ( SELECT Assmt_ID FROM #Request.prefix_db_agency#.pAssessments ass 
			WHERE ass.Admit_ID = pAdmit.Admit_ID AND ass.Status =0)
	AND pCareplan.Status = 0 AND pCareplan.Skill = pAssessments.F27) AS adultcareplancount ,


	(SELECT count(*) FROM #Request.prefix_db_agency#.pPtmeds 
	 WHERE pPtmeds.In_Home  = 2 AND pPtmeds.Status = 0 AND pPatients.Patient_ID = pPtmeds.Patient_ID) 
	AS incomplete_meds, 

	  (SELECT  count(Communication.Comm_ID) FROM #Request.prefix_db_agency#.Communication
            JOIN  #Request.prefix_db_agency#.CommunicationSubjects  
             ON CommunicationSubjects.CommSub_ID = Communication.CommSub_ID  
            WHERE Communication.Status = 0 
            AND Communication.Patient_ID = pPatients.Patient_ID AND pAdmit.M0030_START_CARE_DT < Communication.Comm_Date
            AND CommunicationSubjects.Subject like "Discharge Summary - PT%") AS PTdischargecount,
	  (SELECT  count(Communication.Comm_ID) FROM #Request.prefix_db_agency#.Communication
            JOIN  #Request.prefix_db_agency#.CommunicationSubjects  
             ON CommunicationSubjects.CommSub_ID = Communication.CommSub_ID  
            WHERE Communication.Status = 0 
            AND Communication.Patient_ID = pPatients.Patient_ID AND pAdmit.M0030_START_CARE_DT < Communication.Comm_Date
            AND CommunicationSubjects.Subject like "Discharge Summary - OT%") AS OTdischargecount,
	  (SELECT  count(Communication.Comm_ID) FROM #Request.prefix_db_agency#.Communication
            JOIN  #Request.prefix_db_agency#.CommunicationSubjects  
             ON CommunicationSubjects.CommSub_ID = Communication.CommSub_ID  
            WHERE Communication.Status = 0 
            AND Communication.Patient_ID = pPatients.Patient_ID AND pAdmit.M0030_START_CARE_DT < Communication.Comm_Date
            AND CommunicationSubjects.Subject like "Discharge Summary - ST%") AS STdischargecount,
	  (SELECT  count(Communication.Comm_ID) FROM #Request.prefix_db_agency#.Communication
            JOIN  #Request.prefix_db_agency#.CommunicationSubjects  
             ON CommunicationSubjects.CommSub_ID = Communication.CommSub_ID  
            WHERE Communication.Status = 0 
            AND Communication.Patient_ID = pPatients.Patient_ID AND pAdmit.M0030_START_CARE_DT < Communication.Comm_Date
            AND CommunicationSubjects.Subject like "Discharge Summary - SN%") AS SNdischargecount,




	pEmployee.Emp_First,pEmployee.Emp_Last

	FROM #Request.prefix_db_agency#.pAssessments
	JOIN #Request.prefix_db_agency#.pPatients  ON pAssessments.Patient_ID = pPatients.Patient_ID 
	JOIN  #Request.prefix_db_agency#.pAdmit  ON pAssessments.Admit_ID = pAdmit.Admit_ID  AND pAdmit.Status = 0
	 LEFT OUTER JOIN  #Request.prefix_db_agency#.assessment_assign ON assessment_assign.Assmt_ID =  pAssessments.Assmt_ID
     AND assessment_assign.F26 = pAssessments.F26 
	JOIN  #Request.prefix_db_lookup#.pEmployee ON pEmployee.Emp_ID =  assessment_assign.Emp_ID
	LEFT OUTER JOIN #Request.prefix_db_agency#.pAssessments parent_oasis ON parent_oasis.Assmt_ID =  assessment_assign.Parent_Assmt_ID

		Where pPatients.Loc_ID = '#session.agencyid#'
 	AND pPatients.Status = 0
	AND pAssessments.Status = 0 
	AND pAssessments.F25 = 1 
	AND (pAssessments.F26 LIKE '1%' OR pAssessments.F26 LIKE '4%'
		OR pAssessments.F26 LIKE 'PT Adult%' OR pAssessments.F26 LIKE 'OT Adult%' OR pAssessments.F26 LIKE 'ST Adult%' 
		OR pAssessments.F26 LIKE 'SN Adult%' ) 
	<cfif session.earole contains 'Field' AND session.eaRole does not contain 'Project Manager' AND  session.eaRole does not contain 'Quality'>
         AND pEmployee.Emp_ID = #session.EmployeeID# 
    </cfif> 
    AND  pAssessments.Admit_ID NOT IN (SELECT  pAssessments.Admit_ID FROM #Request.prefix_db_agency#.pAssessments  
	        WHERE  (pAssessments.F26 like '9%' OR pAssessments.F26 like '7%' OR pAssessments.F26 like '8%')
	         AND  pAssessments.Status =0 AND pAssessments.F25 = 1) 
		GROUP BY pAssessments.Assmt_ID 

</cfquery>

<style>
@media print{
a[href]:after
{
content:none
}
}
</style>

<cfset Emp_missing_careplan_count = 0 >

<div class="portlet box yellow">
		<div class="portlet-title">
			<div class="caption">
				<i class="fa fa-gear"></i>Missing Careplan
			</div>
			<div class="tools">
				<a title="" data-original-title="" href="javascript:;" class="collapse"></a>
			</div>
			<div class="actions">
				<cfoutput>
					<a class="btn default dark-stripe btn-sm" href="../cron/cron_assign_employee.cfm?Agency_ID=#session.agencyid#&redirect=missings_careplans_field"><b>Fetch latest report</b></a>
				</cfoutput>
			</div>
		</div>		
		<div class="portlet-body">
			<table class="table table-striped table-bordered table-hover" id="missingcareplantable"> 
				<thead>
					<tr> 
						<th>Cert. End</th> 
						<th>Cert. Start</th> 
						<th>Completed Date</th> 
						<th>Patient Name</th> 
						<th>Clinician</th> 
						<th>M0100 Assessment Reason</th> 
						<th>Status</th>
						<th>Completed Days</th> 
						<th>Reason</th> 
						<!--- <th>careplancount</th> --->
					</tr> 
				</thead>
				<tbody>
                 
                    <cfoutput query="GetA">
                    	 <cfif 
                    	 	 ((LEFT(Assessment_Reason_M0100,1) EQ 1 OR LEFT(Assessment_Reason_M0100,1) EQ 4)
                    	 	  AND (ptgoalsnotadded GT 0 OR notcreatedcareplan EQ 0 OR required_vital GT 0 OR standingorders_count EQ 0))  	
                    	 	 OR incomplete_meds gt 0 
                    	    OR (LEFT(Assessment_Reason_M0100,2) EQ  'PT' AND PTdischargecount EQ 0 
                    	     AND  (ptgoalsnotadded GT 0 OR notcreatedcareplan EQ 0))
                    	    OR (LEFT(Assessment_Reason_M0100,2) EQ  'OT' AND OTdischargecount EQ 0  
                    	    	AND  (ptgoalsnotadded GT 0 OR notcreatedcareplan EQ 0))
                    	    OR (LEFT(Assessment_Reason_M0100,2) EQ  'ST' AND STdischargecount EQ 0  
                    	    	AND  (ptgoalsnotadded GT 0 OR notcreatedcareplan EQ 0))
                    	    OR (LEFT(Assessment_Reason_M0100,2) EQ  'SN' AND SNdischargecount EQ 0  
                    	    	AND  (ptgoalsnotadded GT 0 OR notcreatedcareplan EQ 0)) >
                    	 	
	                    	<cfset todaydate = #DateFormat(now(),"yyyy-mm-dd")# />
	                    	<cfset showrecord = false />
	                    	<cfset diffdays = 0 />
	                    	<cfif Certification_End NEQ '' AND (parent_Assessment_Completed_M0090 LTE DateFormat(now(),"yyyy-mm-dd") AND Certification_End GTE DateFormat(now(),"yyyy-mm-dd")) AND Assessment_Reason_M0100 does not contain 'Eval' AND Assessment_Reason_M0100 does not contain 'Followup' AND Assessment_Completed_M0090 NEQ ''>
	                    		<cfset diffdays = #DateDiff("d",todaydate,Assessment_Completed_M0090)# />
	                    	<cfelseif Assessment_Completed_M0090 NEQ ''>
	                    		<cfset expiredate =   #DateAdd("d",Assessment_Completed_M0090,30)# /> 
	                    			
	                    	</cfif>
	                    	<cfif  Assessment_Completed_M0090 NEQ ''>
	                    		<cfset diffdays = #DateDiff("d",Assessment_Completed_M0090,todaydate)# />
	                    	</cfif>
	                    	<cfset enc_patientid  = encrypt(#Patient_ID#,#application.enckey#,"AES","Hex") /> 
	                        <cfset enc_assid      = encrypt(#Assmt_ID#,#application.enckey#,"AES","Hex") />  
	                        <cfif diffdays NEQ 0 >
								<tr>
									<td><cfif Certification_End NEQ '' AND (parent_Assessment_Completed_M0090 LTE DateFormat(now(),"yyyy-mm-dd") AND Certification_End GTE DateFormat(now(),"yyyy-mm-dd")) AND Assessment_Reason_M0100 does not contain 'Eval' AND Assessment_Reason_M0100 does not contain 'Followup' >#DateFormat(Certification_End, "mm/dd/yy")#</cfif></td>
									<td><cfif Certification_End NEQ '' AND (parent_Assessment_Completed_M0090 LTE DateFormat(now(),"yyyy-mm-dd") AND Certification_End GTE DateFormat(now(),"yyyy-mm-dd")) AND Assessment_Reason_M0100 does not contain 'Eval' AND Assessment_Reason_M0100 does not contain 'Followup' >#DateFormat(Certification_Start, "mm/dd/yy")#</cfif></td>
									<td>#DateFormat(Assessment_Completed_M0090, "mm/dd/yy")#</td>
									<td><a href="../patientadmin_new/index.cfm?page=patient&cat=Patient&id=#enc_patientid#&restrict=1&formonly=1&assid=#enc_assid#&from=missingnotes">#Pt_Last#, #Pt_First#</a></td>
									<td>#Emp_Last#, #Emp_First#</td>
									<td>	#Assessment_Reason_M0100#								
										<!--- <cfif  ptgoalsnotadded gt 0 >
											#parent_assessment#
										<cfelse>
											<cfset  request.ass = CreateObject("component","components.general.assessments").init() /> 
	    									<cfset  getParent 	= request.ass.getParentOASIS(#Admit_ID#) />
											#getParent.enable_eval#
										</cfif> --->
									</td>
									<td><cfif admission_status EQ 1 >Complete<cfelse>In Progress</cfif></td> 
									<td>#diffdays#</td>
									<td>
										
										<cfif notcreatedcareplan EQ 0 >
											 careplan not created
										<cfelseif  ptgoalsnotadded gt 0 >
											 Patient goal OR discharge plan not added
										<!--- <cfelseif incomplete_meds gt 0 >
											 #incomplete_meds# Meds status still pending in careplan --->
										<cfelseif required_vital GT 0 >
											 Incomplete Vital Sign 
										<cfelseif standingorders_count EQ 0 >
											 Standing orders required
										<cfelse>
											Missing careplan
										</cfif> 
										</td>
									<!--- <td>#careplancount#</td> --->
								</tr>
								<cfset Emp_missing_careplan_count = Emp_missing_careplan_count +  1 />
							</cfif>
						</cfif>
					</cfoutput> 
				</tbody>
			  </table> 
		</div>
</div>

<cfif session.IsAgencyLogin EQ 0 AND session.eaRole contains 'Field'>
	<cfquery name="updateEmployeecounts" datasource="#Application.DataSrc#">
         UPDATE #Request.prefix_db_lookup#.pEmployee
          SET 
          Emp_missing_careplan = #Emp_missing_careplan_count#
          WHERE Emp_ID =  #session.EmployeeID#
    </cfquery>  
</cfif>
