diff --git a/app/Models/ClaimsCollectionV2DashboardModel.php b/app/Models/ClaimsCollectionV2DashboardModel.php index 063b5563..c32b1014 100644 --- a/app/Models/ClaimsCollectionV2DashboardModel.php +++ b/app/Models/ClaimsCollectionV2DashboardModel.php @@ -499,7 +499,7 @@ SQL; } /** Metabase #197: Claims Incidence Rate */ - public function claims_incidence_rate(int $policyId): array + public function claims_incidence_rateOLD(int $policyId): array { $sql = <<<'SQL' SELECT @@ -507,8 +507,10 @@ SELECT ROUND( COUNT(tm.id) / NULLIF(lives.current_lives, 0) * 100 , 2) - , '%') AS claims_incidence_rate + , '%') AS claims_incidence_rate, + max(cdf.created_at) as created_at FROM ticket_master tm +JOIN claim_dump_files cdf ON tm.client_policy_id = cdf.client_policy_id AND tm.tpa_id = cdf.tpa_id JOIN ( SELECT COUNT(DISTINCT ep.employee_id) AS current_lives FROM employee_polices ep @@ -525,6 +527,33 @@ SQL; return $this->runKpiQuery($sql, $policyId); } + public function claims_incidence_rate(int $policyId): array +{ + $sql = <<<'SQL' +SELECT + CONCAT( + ROUND( + (SELECT COUNT(tm.id) FROM ticket_master tm WHERE tm.client_policy_id = :policy_id: AND tm.is_active = 1) + / + NULLIF(lives.current_lives, 0) * 100 + , 2) + , '%') AS claims_incidence_rate, + (SELECT MAX(cdf.created_at) FROM claim_dump_files cdf WHERE cdf.client_policy_id = :policy_id:) AS created_at +FROM ( + SELECT COUNT(DISTINCT ep.employee_id) AS current_lives + FROM employee_polices ep + JOIN employees e ON e.id = ep.employee_id + WHERE ep.client_policy_id = :policy_id: + AND ep.status = 'active' + AND ep.is_active = 1 + AND e.emp_status = 'active' + AND e.is_active = 1 +) lives; +SQL; + + return $this->runKpiQuery($sql, $policyId); +} + /** Metabase #198: Policy Start Date */ public function policy_start_date(int $policyId): array {