client_primary_coverage); $coverage = @$coverageDetails[0]; return $coverage; } public function getClientPrimaryCoverageStatus() { $coverage = $this->clientCoverage(); $status = 'NO'; // if medicare, check is_partbprimary if($coverage->plan_type === 'MEDICARE') { $status = $coverage->is_partbprimary; } else { if(!$coverage->is_manually_determined) { // AUTO determination of non-medicare not yet supported $status = 'NO'; } else { switch($coverage->manual_determination_category) { case 'COVERED': $status = 'YES'; break; case 'NOT_COVERED': case 'INVALID': $status = 'NO'; break; default: $status = $coverage->manual_determination_category; break; } } } return $status; } public function insuranceDisplayName(){ $coverageName = $this->insuranceNameToString(); if(stripos($coverageName, 'medicare') !== false) return 'Medicare'; if(stripos($coverageName, 'medicaid') !== false) return 'Medicaid'; if(stripos($coverageName, 'commercial') !== false) return 'Commercial'; return null; } public function insuranceNameToString() { $coverage = $this->clientCoverage(); $parts = []; $parts[] = $coverage->plan_type; if($coverage->plan_type === 'MEDICARE') { if($coverage->is_partbprimary === 'YES') { $parts[] = 'Part B'; } } else { if(@$coverage->plan_name) $parts[] = ' / ' . $coverage->plan_name; if(@$coverage->plan_identifier) $parts[] = ' / ' . $coverage->plan_identifier; } return implode(" ", $parts); } }