<?php
namespace Globals\ClaimManagementBundle\Entity;
use Globals\CustomerManagementBundle\Entity\Customer;
use Globals\CustomerManagementBundle\Entity\Disbursement;
use Globals\InvoiceManagementBundle\Entity\Invoice;
use Globals\ResourceManagementBundle\Entity\Counties;
use Globals\ResourceManagementBundle\Entity\Resource;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;
use Globals\ResourceManagementBundle\Entity\State;
use Globals\CoreBundle\Services\GoogleGeocoder;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Claim
*
* @ORM\Table(name="claim")
* @ORM\Entity(repositoryClass="Globals\ClaimManagementBundle\Repository\ClaimRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Claim
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="claim_number", type="string", length=255)
*/
private $claimNumber;
/**
* @var string
*
* @ORM\Column(name="insurer_code", type="string", length=255)
*/
private $insurerCode;
/**
* @var string
*
* @ORM\Column(name="client_email", type="string", length=255)
*/
private $clientEmail;
/**
* @var string
*
* @ORM\Column(name="insurer_address", type="string", length=255)
*/
private $insurerAddress;
/**
* @var string
*
* @ORM\Column(name="insurer_name", type="string", length=255)
*/
private $insurerName;
/**
* @var string
*
* @ORM\Column(name="insurer_group", type="string", length=255)
*/
private $insurerGroup;
/**
* @var int
*
* @ORM\Column(name="file_no", type="integer")
*/
private $fileNumber;
/**
* @var \DateTime
*
* @ORM\Column(name="report_due_date", type="datetime", nullable=true)
*/
private $reportDueDate;
/**
* @var int
*
* @ORM\Column(name="year_built", type="integer")
*/
private $yearBuilt = 0;
/**
* @var string
*
* @ORM\Column(name="policy_number", type="string", length=255)
*
*/
private $policyNumber = "";
/**
* @var \DateTime
*
* @ORM\Column(name="policy_start_date", type="datetime", nullable=true)
*
*/
private $policyStartDate;
/**
* @var \DateTime
*
* @ORM\Column(name="policy_end_date", type="datetime", nullable=true)
*
*/
private $policyEndDate;
/**
* @ORM\Column(name="policy_limit", type="float")
*/
private $policyLimit = 0;
/**
* @var string
*
* @ORM\Column(name="loss_street", type="text")
*/
private $lossStreet = "";
/**
* @var string
*
* @ORM\Column(name="loss_city", type="string", length=255)
*/
private $lossCity = "";
/**
* @var State
*
* @ORM\ManyToOne(targetEntity="Globals\ResourceManagementBundle\Entity\State")
*/
private $lossState = null;
/**
* @var Counties
*
* @ORM\ManyToOne(targetEntity="Globals\ResourceManagementBundle\Entity\Counties")
*/
private $lossCounty = null;
/**
* @var string
*
* @ORM\Column(name="loss_zip", type="string", length=255)
*/
private $lossZip = "";
/**
* @var \DateTime
*
* @ORM\Column(name="loss_date", type="datetime", nullable=true)
* @Assert\LessThanOrEqual(value ="now", message="This value should be less than or equal to today")
*/
private $lossDate;
/**
* @var string
*
* @ORM\Column(name="loss_notes", type="text")
*/
private $lossNotes = "";
/**
* @var string
*
* @ORM\Column(name="loss_description", type="text")
*/
private $lossDescription = "";
/**
* @var float
*
* @ORM\Column(name="loss_amount", type="float")
*/
private $lossAmount = 0.0;
/**
* @var \DateTime
*
* @ORM\Column(name="first_loss_notice", type="datetime", nullable=true)
*
*/
private $firstLossNotice;
/**
* @var string
*
* @ORM\Column(name="catastrophe_code", type="string", length=255, nullable=true)
*/
private $catastropheCode = "";
/**
* @var int
*
* @ORM\Column(name="severity", type="smallint")
*/
private $severity = 0;
/**
* @var \DateTime
*
* @ORM\Column(name="date_received", type="datetime", nullable=true)
*/
private $dateReceived;
/**
* @var \DateTime
*
* @ORM\Column(name="date_created", type="datetime", nullable=true)
*/
private $dateCreated;
/**
* @var \DateTime
*
* @ORM\Column(name="date_opened", type="datetime", nullable=true)
*/
private $dateOpened;
/**
* @var \DateTime
*
* @ORM\Column(name="date_contacted", type="datetime", nullable=true)
*/
private $dateContacted;
/**
* @var \DateTime
*
* @ORM\Column(name="planned_inspection_date", type="datetime", nullable=true)
*/
private $plannedInspectionDate;
/**
* @var integer
*
* @ORM\Column(name="report_to_id", type="integer", nullable=true)
*/
private $reportToId;
/**
* @var \DateTime
*
* @ORM\Column(name="date_inspected", type="datetime", nullable=true)
*/
private $dateInspected;
/**
* @var \DateTime
*
* @ORM\Column(name="date_review_ready", type="datetime", nullable=true)
*/
private $dateReviewReady;
/**
* @var \DateTime
*
* @ORM\Column(name="date_invoice_ready", type="datetime", nullable=true)
*/
private $dateInvoiceReady;
/**
* @var \DateTime
*
* @ORM\Column(name="date_closed", type="datetime", nullable=true)
*/
private $dateClosed;
/**
* @var \DateTime
*
* @ORM\Column(name="date_reopened", type="datetime", nullable=true)
*/
private $dateReopened;
/**
* @var \DateTime
*
* @ORM\Column(name="date_rejected", type="datetime", nullable=true)
*/
private $dateRejected;
/**
* @var bool
*
* @ORM\Column(name="needs_inspection", type="boolean")
*/
private $needsInspection = true;
/**
* @var bool
*
* @ORM\Column(name="needs_atty_rep", type="boolean")
*/
// private $needsAttyRep = false;
/**
* @var bool
*
* @ORM\Column(name="needs_public_adj", type="boolean")
*/
// private $needsPublicAdj = false;
/**
* @var bool
*
* @ORM\Column(name="needs_third_party", type="boolean")
*/
private $needsThirdParty = false;
/**
* @var bool
*
* @ORM\Column(name="is_locked", type="boolean")
*/
private $isLocked = 0;
/**
* @var integer
*
* @ORM\Column(name="is_cat", type="boolean")
*/
private $isCat = 0;
/**
* @var integer
*
* @ORM\Column(name="is_pha", type="boolean")
*/
// private $isPha = 0;
/**
* @var string
*
* @ORM\Column(name="xact_error_message", type="string", length=255)
*/
private $xactErrorMessage = "";
/**
* @var string
*
* @ORM\Column(name="xact_error_code", type="string", length=255)
*/
private $xactErrorCode = "";
/**
* @var string
*
* @ORM\Column(name="form_numbers", type="text")
*/
private $formNumbers = "";
/**
* @var string
*
* @ORM\Column(name="form_numbers_set", type="text")
*/
private $formNumbersSet = "";
/**
* @var string
*
* @ORM\Column(name="mortgage", type="string", length=255)
*/
private $mortgage = "";
/**
* @var string
*
* @ORM\Column(name="coinsurance", type="string", length=255)
*/
private $coinsurance = "";
/**
* @var string
*
* @ORM\Column(name="loan_number", type="string", length=64)
*/
private $loanNumber = "";
/**
* @var string
*
* @ORM\Column(name="settlement_type", type="string", length=255)
*/
private $settlementType = "";
/**
* @var string
*
* @ORM\Column(name="special_notes", type="text")
*/
private $specialNotes = "";
/**
* @var string
*
* @ORM\Column(name="policy_type", type="string", length=255)
*/
private $policyType = "";
/**
* @var PropertyStatus
*
* @ORM\ManyToOne(targetEntity="PropertyStatus")
*/
private $propertyStatus;
/**
* @var ClaimExceptions
*
* @ORM\ManyToOne(targetEntity="ClaimExceptions")
*/
private $claimExceptions;
/**
* @var Customer
*
* @ORM\ManyToOne(targetEntity="Globals\CustomerManagementBundle\Entity\Customer", inversedBy="claims")
* @ORM\JoinColumn(nullable=true)
*/
private $customer;
/**
* @var integer
*
* @ORM\Column(name="status_id", type="integer")
*/
private $status;
/**
* @var \DateTime
*
* @ORM\Column(name="minor_bday", type="datetime", nullable=true)
*/
private $minorBday = null;
/**
* @var ClaimStatus
*
* @ORM\Column(name="sub_status_id", type="integer")
*/
private $subStatusId = 0;
/**
* @var SettlementType
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\SettlementType")
*/
private $settlement;
/**
* @var PolicyType
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\PolicyType")
*/
private $policy;
/**
* @var ArrayCollection|LossLocation[]
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\LossLocation", mappedBy="claim", cascade={"persist"})
*/
private $lossLocations;
/**
* @var ArrayCollection|Reserve[]
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\Reserve", mappedBy="claim", cascade={"persist"})
*/
private $reserves;
/**
* @var ArrayCollection|Coverage[]
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\Coverage", mappedBy="claim", cascade={"all"})
*/
private $coverages;
/**
* @var ArrayCollection|Deductible[]
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\Deductible", mappedBy="claim", cascade={"all"})
*/
private $deductibles;
/**
* @var ArrayCollection|ClaimResource[]
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\Assignments", mappedBy="claim")
*/
private $resources;
/**
* @var ArrayCollection|ClaimResourcePrevious[]
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\ClaimResourcePrevious", mappedBy="claim")
*/
private $previousResources;
/**
* @var ArrayCollection|ClaimNote[]
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\ClaimNote", mappedBy="claim")
* @ORM\OrderBy({"commentOn" = "DESC", "id" = "DESC"})
*/
private $notes;
/**
* @var ArrayCollection|Disbursement[]
*
* @ORM\OneToMany(targetEntity="Globals\CustomerManagementBundle\Entity\Disbursement", mappedBy="claim")
*/
private $disbursements;
/**
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\ClaimsInsured", mappedBy="claim", cascade={"persist"})
*/
private $claimsInsureds;
/**
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\ClaimsOtherParty", mappedBy="claim", cascade={"persist"})
*/
private $claimsOtherParty;
/**
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\ClaimPeril", mappedBy="claim")
*/
private $claimPerils;
/**
* @ORM\OneToMany(targetEntity="Globals\InvoiceManagementBundle\Entity\Invoice", mappedBy="claim")
*/
private $invoices;
/**
* @var ArrayCollection|DuplicateClaim[]
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\DuplicateClaim", mappedBy="claim", cascade={"persist"})
*/
private $duplicateClaims;
/**
* @ORM\Column(type="integer")
*/
private $adminFeeCharged = 0;
/**
* @ORM\ManyToOne(targetEntity="ClaimTeam")
* @ORM\JoinColumn(name="claim_team_id", referencedColumnName="id")
*/
private $claimTeam;
/**
* @var PlanID
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\PlanID")
*/
private $planId = null;
/**
* @ORM\Column(name="transaction_id", type="string")
*
*/
private $transactionId = "";
/**
* @ORM\Column(name="has_claimant_involved", type="boolean", nullable=true)
*
*/
private $hasClaimantInvolved = false;
/**
* @ORM\Column(name="has_attorney_handling", type="boolean", nullable=true)
*/
// private $isAttyHandling = false;
/**
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\Peril")
* @ORM\JoinColumn(name="peril_id", referencedColumnName="id")
*/
private $peril;
/**
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\Peril")
* @ORM\JoinColumn(name="sub_peril_id", referencedColumnName="id",nullable=true)
*/
private $subPeril = null;
/**
* @ORM\Column(name="assignment_date", type="datetime")
*/
private $assignmentDate;
/**
* @ORM\Column(name="inspection_note", type="string", length=255)
*/
private $inspectionNote = "";
/**
* @ORM\Column(name="mortgage_bank", type="string")
*/
private $mortgageBank = "";
/**
* @var Resource
*
* @ORM\ManyToOne(targetEntity="Globals\ResourceManagementBundle\Entity\Resource")
*/
private $claimRep;
/**
* @var string
*
* @ORM\Column(name="claim_branch_code", type="text")
*/
private $claimBranchCode;
/**
* @var string
*
* @ORM\Column(name="assignee_display", type="text")
*/
private $assigneeDisplay;
/**
* @var string
*
* @ORM\Column(name="prior_loss_info", type="text")
*/
private $priorLossInfo;
/*
* Added 01/20/2020
*
* Part of TASK-BASED CO-ASSIGNMENT
*
*/
/**
* @var Claim
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\Claim")
*/
private $parentTask;
/**
* @var int
*
* @ORM\Column(name="sub_task_index", type="integer")
*/
private $subTaskIndex = 0;
/**
* @ORM\Column(name="sent_to_api", type="string")
*/
private $sentToApi;
/**
* @var string
*
* @ORM\Column(name="reopen_denial_description_line", type="string", length=60)
*/
private $reopenDenialDescriptionLine;
/*
* _--==--_--==--_--==--_--==--_--==--_--==--_--==--_--==--_--==--_--==--_--==--_--==--_--==--_--==--_--==--_--==--_
*/
/**
* @var bool
*
* @ORM\Column(name="is_casualty_claim", type="boolean")
*/
private $isCasualtyClaim = false;
/**
* @return bool
*/
public function isCasualtyClaim()
{
return $this->isCasualtyClaim;
}
/**
* @param bool $isCasualtyClaim
*/
public function setIsCasualtyClaim($isCasualtyClaim)
{
$this->isCasualtyClaim = $isCasualtyClaim;
}
/**
* @var array
*/
static private $status_colors = [
5 => "E04541",
10 => "FF0000",
12 => "3C3AAD",
13 => "62219B",
14 => "543904",
15 => "397FD3",
20 => "551a8b",
23 => "A5AF34",
25 => "0000ff",
30 => "333338"
];
/**
* @var array
*/
private $colors = [
5 => "E04541",
10 => "FF0000",
12 => "3C3AAD",
13 => "62219B",
14 => "543904",
15 => "397FD3",
20 => "551a8b",
23 => "32cd32",
25 => "0000ff",
30 => "333338"
];
/**
* @var array
*/
static private $status_names = [
5 => "Unassigned",
10 => "First Contact",
12 => "Re-Inspection",
13 => "Re-Opened",
14 => "File Rejection",
15 => "In Progress",
20 => "Ready for Review",
23 => "In Progress - Examiner",
25 => "Ready for Invoice",
30 => "Closed",
6 => "Deferred Assignment",
97 => "Claim Tech closing",
98 => "Pending examiner",
99 => "In progress - Claim tech",
100 => "DA Review",
101 => "Final Report Due",
103 => "Status Report Uploaded",
106 => "Ready to invoice TPA"
];
/**
* @var array
*/
private $names = [
5 => "Unassigned",
6 => "Unassigned",
10 => "First Contact",
12 => "Re-Inspection",
13 => "Re-Opened",
14 => "Returned Files",
15 => "In Progress",
20 => "Ready for Review",
23 => "In Progress - Examiner",
25 => "Ready for Invoice",
30 => "Closed",
66 => "Draft",
97 => "Claim Tech closing",
98 => "Pending examiner",
99 => "In progress - Claim tech",
100 => "DA Review",
101 => "Final Report Due",
103 => "Status Report Uploaded",
106 => "Ready to invoice TPA"
];
/**
* FIELDS ADDED FOR BORDERAUX REPORT
* 8/2018
* ==============================================================
*/
/**
* @var string
*
* @ORM\Column(name="mast_pol", type="text")
*/
private $mastPol;
/**
* @var \DateTime
*
* @ORM\Column(name="mast_pol_start", type="datetime", nullable=true)
*/
private $mastPolStart;
/**
* @var \DateTime
*
* @ORM\Column(name="mast_pol_end", type="datetime", nullable=true)
*/
private $mastPolEnd;
/**
* @var bool
*
* @ORM\Column(name="referred", type="boolean")
*/
private $referred = false;
/**
* @var PropertyType
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\PropertyType")
*/
private $propertyType;
/**
* @var string
*
* @ORM\Column(name="umr", type="string")
*/
private $umr;
/**
* @var bool
*
* @ORM\Column(name="denial", type="boolean")
*/
private $denial = false;
/**
* @var ClaimType
*
* @ORM\ManyToOne(targetEntity="Globals\ResourceManagementBundle\Entity\Resource")
* @ORM\JoinColumn(name="reviewer_id", referencedColumnName="id")
*/
private $reviewer;
/**
* @var ClaimAgent
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\ClaimAgent")
*/
private $agent;
/**
* @var ClaimType
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\ClaimType")
*/
private $claimType;
/**
* @var ArrayCollection|ClaimLimit
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\ClaimLimit", mappedBy="claim")
*/
private $claimLimits;
/**
* @var integer
*
* @ORM\Column(name="report_pdf_stacking", type="integer")
*/
private $reportPDFStacking;
/**
* @var integer
*
* @ORM\Column(name="parent", type="integer")
*/
private $parent = 0;
/**
* @var string
*
* @ORM\Column(name="treaty_number", type="string", nullable=true)
*/
private $treatyNumber = 0;
/**
* @var string
*
* @ORM\Column(name="sub_treaty_number", type="string", nullable=true)
*/
private $subTreatyNumber = 0;
/**
* @var string
*
* @ORM\Column(name="assignment_id", type="string", nullable=true)
*/
private $assignmentId;
/**
* @var Resource
*
* @ORM\ManyToOne(targetEntity="Globals\ResourceManagementBundle\Entity\Resource")
*/
private $assistiveResource;
/**
* @var string
*
* @ORM\Column(name="agency_number", type="string", length=2)
*/
private $agencyNumber;
/**
* @var string
*
* @ORM\Column(name="adjusting_firm_claim_number", type="string", length=15)
*/
private $adjustingFirmClaimNumber;
/**
* @var string
*
* @ORM\Column(name="loss_latitude", type="string", length=115)
*/
private $lossLatitude;
/**
* @var string
*
* @ORM\Column(name="loss_longitude", type="string", length=115)
*/
private $lossLongitude;
/**
* @var string
*
* @ORM\Column(name="denial_description_line", type="string", length=60)
*/
private $denialDescriptionLine;
/**
* @var CwopReason
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\CwopReason")
*/
private $cwopReason;
/**
* @var \DateTime
*
* @ORM\Column(name="reopen_ack_date", type="datetime", nullable=true)
*/
private $reopenAckDate;
/**
* @var \DateTime
*
* @ORM\Column(name="reopen_closed_date", type="datetime", nullable=true)
*/
private $reopenClosedDate;
/**
* @var SettlementType
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\SettlementType")
*/
private $reopenSettlementType;
/**
* @var CwopReason
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\CwopReason")
*/
private $reopenCwopRsn;
/**
* @var LineOfBusiness
*
* @ORM\ManyToOne(targetEntity="Globals\ClaimManagementBundle\Entity\LineOfBusiness")
*/
private $lineOfBusiness;
/**
* @var string
*
* @ORM\Column(name="customer_cat_code", type="string", length=255)
*/
private $customerCatCode = "";
/**
* @var string
*
* @ORM\Column(name="liability_type", type="string", length=2)
*/
private $liabilityType;
/**
* @var string
*
* @ORM\Column(name="recoveries_type", type="string", length=2)
*/
private $recoveriesType;
/**
* @var string
*
* @ORM\Column(name="property_damage_type", type="string", length=2)
*/
private $propertyDamageType;
/**
* @ORM\Column(name="updated_at", type="datetime", nullable=true)
*/
private \DateTime $updatedAt;
/**
* @var integer
*
* @ORM\Column(name="is_claim_category", type="integer", length=1)
*/
private $isClaimCategory=1;
/**
* @var ArrayCollection|ClaimResourceExternal[]
*
* @ORM\OneToMany(targetEntity="Globals\ClaimManagementBundle\Entity\AssignmentsExternal", mappedBy="claim")
*/
private $resourcesExternal;
/**
* @var ArrayCollection|AutoClaim[]
*
* @ORM\OneToOne(targetEntity="Globals\ClaimManagementBundle\Entity\AutoClaim", mappedBy="claim")
*/
private $autoClaim;
/**
* @var \DateTime
*
* @ORM\Column(name="coverage_effective_date", type="datetime", nullable=true)
*/
private $coverageEffectiveDate;
/**
* @var string
* @ORM\Column(name="contact", type="string", length=255, nullable=true)
*/
private $contact;
/**
* @var string
* @ORM\Column(name="contact_response_phone", type="string", length=15, nullable=true)
*/
private $contactResponsePhone;
/**
* @return \DateTime
*/
public function getUpdatedAt(): \DateTime
{
return $this->updatedAt;
}
/**
* @param \DateTime $updatedAt
* @return $this
*/
public function setUpdatedAt(\DateTime $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* @ORM\PrePersist
*/
public function prePersist()
{
$this->updatedAt = new \DateTime();
}
/**
* @ORM\PreUpdate()
*/
public function preUpdate()
{
$this->updatedAt = new \DateTime();
}
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* @return LineOfBusiness
*/
public function getLineOfBusiness()
{
return $this->lineOfBusiness;
}
/**
* @param LineOfBusiness $lineOfBusiness
*/
public function setLineOfBusiness($lineOfBusiness = null)
{
$this->lineOfBusiness = $lineOfBusiness;
}
/**
* @return Claim
*/
public function getParentTask()
{
return $this->parentTask;
}
/**
* @param Claim $parentTask
*/
public function setParentTask($parentTask)
{
$this->parentTask = $parentTask;
}
/**
* @return int
*/
public function getSubTaskIndex()
{
return $this->subTaskIndex;
}
/**
* @param int $subTaskIndex
*/
public function setSubTaskIndex($subTaskIndex)
{
$this->subTaskIndex = $subTaskIndex;
}
/**
* @return Resource
*/
public function getAssistiveResource()
{
return $this->assistiveResource;
}
/**
* @param Resource $assistiveResource
*/
public function setAssistiveResource($assistiveResource)
{
$this->assistiveResource = $assistiveResource;
}
/**
* @return string
*/
public function getAssignmentId()
{
return $this->assignmentId;
}
/**
* @param string $assignmentId
*/
public function setAssignmentId($assignmentId)
{
$this->assignmentId = $assignmentId;
}
/**
* @return ClaimType
*/
public function getClaimType()
{
return $this->claimType;
}
/**
* @param ClaimType $claimType
*/
public function setClaimType($claimType)
{
$this->claimType = $claimType;
}
/**
* @return boolean
*/
public function isDenial()
{
return $this->denial;
}
/**
* @param boolean $denial
*/
public function setDenial($denial)
{
$this->denial = $denial;
}
/**
* @return string
*/
public function getUmr()
{
return $this->umr;
}
/**
* @param string $umr
*/
public function setUmr($umr)
{
$this->umr = $umr;
}
/**
* @return PropertyType
*/
public function getPropertyType()
{
return $this->propertyType;
}
/**
* @param PropertyType $propertyType
*/
public function setPropertyType($propertyType)
{
$this->propertyType = $propertyType;
}
/**
* @return boolean
*/
public function isReferred()
{
return $this->referred;
}
/**
* @param boolean $referred
*/
public function setReferred($referred)
{
$this->referred = $referred;
}
/**
* @return \DateTime
*/
public function getMastPolEnd()
{
return $this->mastPolEnd;
}
/**
* @param \DateTime $mastPolEnd
*/
public function setMastPolEnd($mastPolEnd)
{
$this->mastPolEnd = $mastPolEnd;
}
/**
* @return \DateTime
*/
public function getMastPolStart()
{
return $this->mastPolStart;
}
/**
* @param \DateTime $mastPolStart
*/
public function setMastPolStart($mastPolStart)
{
$this->mastPolStart = $mastPolStart;
}
/**
* @return string
*/
public function getMastPol()
{
return $this->mastPol;
}
/**
* @param string $mastPol
*/
public function setMastPol($mastPol)
{
$this->mastPol = $mastPol;
}
/**
* @param $prop
*
* Dynamic getter, very dangerous
*/
public function getProperty($prop)
{
if (strpos($prop, "custom_attribute") !== false) {
if ($this->attributes) {
if (!empty($this->attributes->toArray())) {
/** @var Attribute $attr */
foreach ($this->attributes->toArray() as $attr) {
if ($attr->getAttributeType()->getSlug() == $prop) {
return $attr->getValue();
}
}
} else {
return null;
}
}
} elseif (isset($this->{$prop}) && $this->{$prop}) {
// If it's an object, singlar, return getId();
if (gettype($this->{$prop}) == "object") {
if ($this->{$prop} instanceof \DateTime){
return $this->{$prop}->format('Y-m-d H:i:s');
}
return $this->{$prop}->getId();
} else {
return $this->{$prop};
}
} else {
return null;
}
return null;
}
/**
* Claim constructor.
*
* Set dates, collections
*/
public function __construct()
{
//SETUP: RESERVES
$this->reserves = new ArrayCollection();
//SETUP: COVERAGES
$this->coverages = new ArrayCollection();
//SETUP: DEDUCTIBLES
$this->deductibles = new ArrayCollection();
//SETUP: DISBURSEMENTS
$this->disbursements = new ArrayCollection();
//SETUP: RESOURCES
$this->resources = new ArrayCollection();
//SETUP: RESOURCES
$this->previousResources = new ArrayCollection();
//SETUP: RESOURCES
$this->resourcesExternal = new ArrayCollection();
//SETUP: CLAIM INSUREDS
$this->claimsInsureds = new ArrayCollection();
//SETUP: CLAIM PERILS
$this->claimPerils = new ArrayCollection();
//SETUP: INVOICES
$this->invoices = new ArrayCollection();
//SETUP: LOSS LOCATIONS
$this->lossLocations = new ArrayCollection();
//SETUP: CLAIM LIMITS
$this->claimLimits = new ArrayCollection();
//SETUP: CLAIM OTHER TYPE
$this->claimsOtherParty = new ArrayCollection();
//$this->setLossDate( new \DateTime() );
$this->setDateReceived(new \DateTime());
$this->setDateCreated(new \DateTime());
}
/**
* @param id
* @return string
* Returns a HEX color for the given status
*/
public function statusColor($id)
{
return $this->colors[$id];
}
/**
* @param $status_int
* @return string
*/
static public function getStatusColor($status_int)
{
return self::$status_colors[$status_int];
}
/**
* @param $status_int
* @return string
*/
static public function getStatusName($status_int)
{
return self::$status_names[$status_int];
}
/**
* @return array
*/
static public function getStatusArray()
{
return self::$status_names;
}
/**
* @param id
* @return string
* Returns a STATUS NAME for the given status
*/
public function statusName($id)
{
return $this->names[$id];
}
/**
* @return SettlementType
*/
public function getSettlement()
{
return $this->settlement;
}
/**
* @param SettlementType $settlement
*/
public function setSettlement($settlement)
{
$this->settlement = $settlement;
}
/**
* @return \DateTime
*/
public function getMinorBday()
{
return $this->minorBday;
}
/**
* @param \DateTime $minorBday
*/
public function setMinorBday($minorBday)
{
$this->minorBday = $minorBday;
}
/**
* @return PropertyStatus
*/
public function getPropertyStatus()
{
return $this->propertyStatus;
}
/**
* @param PropertyStatus $propertyStatus
*/
public function setPropertyStatus($propertyStatus)
{
$this->propertyStatus = $propertyStatus;
}
/**
* @return ClaimExceptions
*/
public function getClaimExceptions()
{
return $this->claimExceptions;
}
/**
* @param ClaimExceptions $claimExceptions
*/
public function setClaimExceptions($claimExceptions)
{
$this->claimExceptions = $claimExceptions;
}
/**
* @return PolicyType
*/
public function getPolicy()
{
return $this->policy;
}
/**
* @param PolicyType $policy
*/
public function setPolicy($policy = null)
{
$this->policy = $policy;
}
/**
* @return mixed
*/
public function getPolicyLimit()
{
return $this->policyLimit;
}
/**
* @param mixed $policyLimit
*/
public function setPolicyLimit($policyLimit)
{
$this->policyLimit = $policyLimit;
}
/**
* @return Resource
*/
public function getReviewer()
{
return $this->reviewer;
}
/**
* @param Resource $resource
*/
public function setReviewer(Resource $resource)
{
$this->reviewer = $resource;
}
/**
* @return Peril
*/
public function getPeril()
{
return $this->peril;
}
/**
* @param Peril $peril
*/
public function setPeril(Peril $peril = null)
{
$this->peril = $peril;
}
/**
* @return mixed Peril
*/
public function getSubPeril()
{
return $this->subPeril;
}
/**
* @param Peril $subPeril
*/
public function setSubPeril(Peril $subPeril = null)
{
$this->subPeril = $subPeril;
}
/**
* @return Customer
*/
public function getCustomer()
{
if(empty($this->customer) || $this->customer->getId()==0) return null;
return $this->customer;
}
/**
* @param Customer $customer
*/
public function setCustomer($customer)
{
$this->customer = $customer;
}
/**
* @return void
*/
public function removeCustomer()
{
$this->customer = null;
}
/**
* @return integer
*/
public function getStatus()
{
return $this->status;
}
/**
* @param integer $status
*/
public function setStatus($status)
{
$this->status = $status;
}
/**
* @return ClaimStatus
*/
public function getSubStatus()
{
return $this->subStatusId;
}
/**
* @param integer
*/
public function setSubStatus($subStatus)
{
$this->subStatusId = $subStatus;
}
/**
* @param ClaimNote $i
*/
public function addClaimNote($i)
{
if ($this->notes->contains($i)) {
return;
}
$this->notes->add($i);
$i->setClaim($this);
}
/**
* @return array
*/
public function getNotes()
{
return $this->notes->toArray();
}
/**
* @param ClaimLimit $i
*/
public function addClaimLimit(ClaimLimit $i)
{
if ($this->claimLimits->contains($i)) {
return;
}
$this->claimLimits->add($i);
$i->setClaim($this);
}
public function getClaimLimits()
{
return (!is_null($this->claimLimits)) ? $this->claimLimits->toArray() : [];
}
/**
* @param LossLocation $i
*/
public function addLossLocation($i)
{
if ($this->lossLocations->contains($i)) {
return;
}
$this->lossLocations->add($i);
$i->setClaim($this);
}
/**
* @return array
*/
public function getLossLocations()
{
return $this->lossLocations->toArray();
}
/**
* @param Reserve $i
*/
public function addReserve($i)
{
if ($this->reserves->contains($i)) {
return;
}
$this->reserves->add($i);
$i->setClaim($this);
}
/**
* @param Coverage $i
*/
public function addCoverage($i)
{
if ($this->coverages->contains($i)) {
return;
}
$this->coverages->add($i);
$i->setClaim($this);
}
/**
* @return array
*/
public function getResources()
{
$resources_array = $this->resources->toArray();
$current_resources = array();
/** @var Assignments $resource_array */
foreach($resources_array as $resource_array){
if($resource_array->getisCurrentAssignment()) {
$current_resources[] = $resource_array;
}
}
return $current_resources;
}
/**
* @return array
*/
public function getPreviousResources()
{
return $this->previousResources->toArray();
}
/**
* @return array
*/
public function getCoverages()
{
return $this->coverages->toArray();
}
/**
* @return array
*/
public function getDeductibles()
{
return $this->deductibles->toArray();
}
/**
* @return array
*/
public function getReserves()
{
return $this->reserves->toArray();
}
/**
* @param Deductible $i
*/
public function addDeductible($i)
{
if ($this->deductibles->contains($i)) {
return;
}
$this->deductibles->add($i);
$i->setClaim($this);
}
/**
* @param ClaimNote $i
*/
public function removeClaimNote($i)
{
if (!$this->notes->contains($i)) {
return;
}
$this->notes->removeElement($i);
$i->removeClaim();
}
/**
* @param LossLocation $i
*/
public function removeLossLocation($i)
{
if (!$this->lossLocations->contains($i)) {
return;
}
$this->reserves->removeElement($i);
$i->removeClaim();
}
/**
* @param Reserve $i
*/
public function removeReserve($i)
{
if (!$this->reserves->contains($i)) {
return;
}
$this->reserves->removeElement($i);
$i->removeClaim();
}
/**
* @param Coverage $i
*/
public function removeCoverage($i)
{
if (!$this->coverages->contains($i)) {
return;
}
$this->coverages->removeElement($i);
$i->removeClaim();
}
/**
* @param Deductible $i
*/
public function removeDeductible($i)
{
if (!$this->deductibles->contains($i)) {
return;
}
$this->deductibles->removeElement($i);
$i->removeClaim();
}
/**
* @param ClaimResource $i
*/
public function addResource($i)
{
if ($this->resources->contains($i)) {
return;
}
$this->resources->add($i);
$i->setClaim($this);
}
/**
* @param ClaimResource $i
*/
public function removeResource($i)
{
if (!$this->resources->contains($i)) {
return;
}
$this->resources->removeElement($i);
$i->removeClaim();
}
/**
* @param ClaimResourcePrevious $i
*/
public function addPreviousResource($i)
{
if ($this->previousResources->contains($i)) {
return;
}
$this->previousResources->add($i);
$i->setClaim($this);
}
/**
* @param ClaimResourcePrevious $i
*/
public function removePreviousResource($i)
{
if (!$this->previousResources->contains($i)) {
return;
}
$this->previousResources->removeElement($i);
$i->removeClaim();
}
/**
* Shortcut method for marking items for review
*/
public function markReadyForReview()
{
$this->dateReviewReady = new \DateTime();
}
/**
* Shortcut method for marking items ready for invoice
*/
public function markReadyForInvoice()
{
$this->dateInvoiceReady = new \DateTime();
}
/**
* Shortcut method for marking items as 'INSPECTED'
*/
public function markInspected()
{
$this->dateInspected = new \DateTime();
}
/**
* Shortcut method for marking items as 'CONTACTED'
*/
public function markContacted()
{
$this->dateContacted = new \DateTime();
}
/**
* @return boolean
*/
public function getIsLocked()
{
return $this->isLocked;
}
/**
* @param boolean $isLocked
*/
public function setIsLocked($isLocked)
{
$this->isLocked = $isLocked;
}
/**
* @return integer
*/
public function getIsCat()
{
return $this->isCat;
}
/**
* @param integer $boolean
*/
public function setIsCat($boolean)
{
$this->isCat = $boolean;
}
/**
* @return string
*/
public function getFileNumber()
{
return $this->fileNumber;
}
/**
* @param string $fileNumber
*/
public function setFileNumber($fileNumber)
{
$this->fileNumber = $fileNumber;
}
/**
* @return integer
*/
/*public function getIsPha()
{
return $this->isPha;
}*/
/**
* @param integer $boolean
*/
/*public function setIsPha($boolean)
{
$this->isPha = $boolean;
}*/
/**
* Set claimNumber
*
* @param string $claimNumber
*
* @return string
*/
public function setClaimNumber($claimNumber)
{
$this->claimNumber = $claimNumber;
return $this;
}
/**
* Get claimNumber
*
* @return string
*/
public function getClaimNumber()
{
return $this->claimNumber;
}
/**
* Set reportDueDate
*
* @param \DateTime $reportDueDate
*
* @return \DateTime
*/
public function setReportDueDate($reportDueDate)
{
$this->reportDueDate = $reportDueDate;
return $this;
}
/**
* Get reportDueDate
*
* @return \DateTime
*/
public function getReportDueDate()
{
return $this->reportDueDate;
}
/**
* Set yearBuilt
*
* @param integer $yearBuilt
*
* @return integer
*/
public function setYearBuilt($yearBuilt)
{
$this->yearBuilt = $yearBuilt;
return $this;
}
/**
* Get yearBuilt
*
* @return int
*/
public function getYearBuilt()
{
return $this->yearBuilt;
}
/**
* Set policyNumber
*
* @param string $policyNumber
*
* @return string
*/
public function setPolicyNumber($policyNumber)
{
$this->policyNumber = $policyNumber;
return $this;
}
/**
* Get policyNumber
*
* @return string
*/
public function getPolicyNumber()
{
return $this->policyNumber;
}
/**
* Set policyStartDate
*
* @param \DateTime $policyStartDate
*
* @return \DateTime
*/
public function setPolicyStartDate($policyStartDate)
{
$this->policyStartDate = $policyStartDate;
return $this;
}
/**
* Get policyStartDate
*
* @return \DateTime
*/
public function getPolicyStartDate()
{
return $this->policyStartDate;
}
/**
* Set policyEndDate
*
* @param \DateTime $policyEndDate
*
* @return \DateTime
*/
public function setPolicyEndDate($policyEndDate)
{
$this->policyEndDate = $policyEndDate;
return $this;
}
/**
* Get policyEndDate
*
* @return \DateTime
*/
public function getPolicyEndDate()
{
return $this->policyEndDate;
}
/**
* Set lossStreet
*
* @param string $lossStreet
*
* @return string
*/
public function setLossStreet($lossStreet)
{
$this->setLossLatitude($lossStreet);
$this->setLossLongitude($lossStreet);
$this->lossStreet = $lossStreet;
return $this;
}
/**
* Get lossStreet
*
* @return string
*/
public function getLossStreet()
{
return $this->lossStreet;
}
/**
* Set lossCity
*
* @param string $lossCity
*
* @return string
*/
public function setLossCity($lossCity)
{
$this->setLossLatitude($lossCity);
$this->setLossLongitude($lossCity);
$this->lossCity = $lossCity;
return $this;
}
/**
* Get lossCity
*
* @return string
*/
public function getLossCity()
{
return $this->lossCity;
}
/**
* @return State
*/
public function getLossState()
{
return $this->lossState;
}
/**
* @param State $lossState
*/
public function setLossState($lossState)
{
$this->setLossLatitude($lossState);
$this->setLossLongitude($lossState);
$this->lossState = $lossState;
}
/**
* Set lossCounty
*
* @param Counties $lossCounty
*
* @return Counties
*/
public function setLossCounty($lossCounty)
{
$this->setLossLatitude($lossCounty);
$this->setLossLongitude($lossCounty);
$this->lossCounty = $lossCounty;
return $this;
}
/**
* Get lossCounty
*
* @return Counties
*/
public function getLossCounty()
{
return $this->lossCounty;
}
/**
* Set lossZip
*
* @param string $lossZip
*
* @return string
*/
public function setLossZip($lossZip)
{
$this->setLossLatitude($lossZip);
$this->setLossLongitude($lossZip);
$this->lossZip = $lossZip;
return $this;
}
/**
* Get lossZip
*
* @return string
*/
public function getLossZip()
{
return $this->lossZip;
}
/**
* Set lossDate
*
* @param \DateTime $lossDate
*
* @return \DateTime
*/
public function setLossDate($lossDate)
{
$this->lossDate = $lossDate;
return $this;
}
/**
* Get lossDate
*
* @return \DateTime
*/
public function getLossDate()
{
return $this->lossDate;
}
/**
* Set lossNotes
*
* @param string $lossNotes
*
* @return string
*/
public function setLossNotes($lossNotes)
{
$this->lossNotes = $lossNotes;
return $this;
}
/**
* Get lossNotes
*
* @return string
*/
public function getLossNotes()
{
return $this->lossNotes;
}
/**
* Set lossDescription
*
* @param string $lossDescription
*
* @return string
*/
public function setLossDescription($lossDescription)
{
$this->lossDescription = $lossDescription;
return $this;
}
/**
* Get lossDescription
*
* @return string
*/
public function getLossDescription()
{
return $this->lossDescription;
}
/**
* Set lossAmount
*
* @param float $lossAmount
*
* @return float
*/
public function setLossAmount($lossAmount)
{
$this->lossAmount = $lossAmount;
return $this;
}
/**
* Get lossAmount
*
* @return float
*/
public function getLossAmount()
{
return $this->lossAmount;
}
/**
* Set firstLossNotice
*
* @param \DateTime $firstLossNotice
*
* @return \DateTime
*/
public function setFirstLossNotice($firstLossNotice)
{
$this->firstLossNotice = $firstLossNotice;
return $this;
}
/**
* Get firstLossNotice
*
* @return \DateTime
*/
public function getFirstLossNotice()
{
return $this->firstLossNotice;
}
/**
* Set catastropheCode
*
* @param string $catastropheCode
*
* @return string
*/
public function setCatastropheCode($catastropheCode)
{
$this->catastropheCode = $catastropheCode;
return $this;
}
/**
* Get catastropheCode
*
* @return string
*/
public function getCatastropheCode()
{
return $this->catastropheCode;
}
/**
* Set dateReceived
*
* @param \DateTime $dateReceived
*
* @return \DateTime
*/
public function setDateReceived($dateReceived)
{
$this->dateReceived = $dateReceived;
return $this;
}
/**
* Get dateReceived
*
* @return \DateTime
*/
public function getDateReceived()
{
return $this->dateReceived;
}
/**
* Set severity
*
* @param integer $severity
*
* @return integer
*/
public function setSeverity($severity)
{
$this->severity = $severity;
return $this;
}
/**
* Get severity
*
* @return int
*/
public function getSeverity()
{
return $this->severity;
}
/**
* Set loanNumber
*
* @param string $loanNumber
*
* @return string
*/
public function setLoanNumber($loanNumber)
{
$this->loanNumber = $loanNumber;
return $this;
}
/**
* Get loanNumber
*
* @return string
*/
public function getLoanNumber()
{
return $this->loanNumber;
}
/**
* Set dateCreated
*
* @param \DateTime $dateCreated
*
* @return \DateTime
*/
public function setDateCreated($dateCreated)
{
$this->dateCreated = $dateCreated;
return $this;
}
/**
* Get dateCreated
*
* @return \DateTime
*/
public function getDateCreated()
{
return $this->dateCreated;
}
/**
* Set dateOpened
*
* @param \DateTime $dateOpened
*
* @return \DateTime
*/
public function setDateOpened($dateOpened)
{
$this->dateOpened = $dateOpened;
return $this;
}
/**
* Get dateOpened
*
* @return \DateTime
*/
public function getDateOpened()
{
return $this->dateOpened;
}
/**
* Set dateContacted
*
* @param \DateTime $dateContacted
*
* @return \DateTime
*/
public function setDateContacted($dateContacted)
{
$this->dateContacted = $dateContacted;
return $this;
}
/**
* Get dateContacted
*
* @return \DateTime
*/
public function getDateContacted()
{
return $this->dateContacted;
}
/**
* Set plannedInspectionDate
*
* @param \DateTime $plannedInspectionDate
*
* @return \DateTime
*/
public function setPlannedInspectionDate($plannedInspectionDate)
{
$this->plannedInspectionDate = $plannedInspectionDate;
return $this;
}
/**
* Get plannedInspectionDate
*
* @return \DateTime
*/
public function getPlannedInspectionDate()
{
return $this->plannedInspectionDate;
}
/**
* Set reportToId
*
* @param integer $reportToId
*
* @return integer
*/
public function setReportToId($reportToId)
{
$this->reportToId = $reportToId;
return $this;
}
/**
* Get reportToId
*
* @return integer
*/
public function getReportToId()
{
return $this->reportToId;
}
/**
* Set dateInspected
*
* @param \DateTime $dateInspected
*
* @return \DateTime
*/
public function setDateInspected($dateInspected)
{
$this->dateInspected = $dateInspected;
return $this;
}
/**
* Get dateInspected
*
* @return \DateTime
*/
public function getDateInspected()
{
return $this->dateInspected;
}
/**
* Set dateReviewReady
*
* @param \DateTime $dateReviewReady
*
* @return \DateTime
*/
public function setDateReviewReady($dateReviewReady)
{
$this->dateReviewReady = $dateReviewReady;
return $this;
}
/**
* Get dateReviewReady
*
* @return \DateTime
*/
public function getDateReviewReady()
{
return $this->dateReviewReady;
}
/**
* Set dateInvoiceReady
*
* @param \DateTime $dateInvoiceReady
*
* @return \DateTime
*/
public function setDateInvoiceReady($dateInvoiceReady)
{
$this->dateInvoiceReady = $dateInvoiceReady;
return $this;
}
/**
* Get dateInvoiceReady
*
* @return \DateTime
*/
public function getDateInvoiceReady()
{
return $this->dateInvoiceReady;
}
/**
* Set dateClosed
*
* @param \DateTime $dateClosed
*
* @return \DateTime
*/
public function setDateClosed($dateClosed)
{
$this->dateClosed = $dateClosed;
return $this;
}
/**
* Get dateClosed
*
* @return \DateTime
*/
public function getDateClosed()
{
return $this->dateClosed;
}
/**
* Set dateReopened
*
* @param \DateTime $dateReopened
*
* @return \DateTime
*/
public function setDateReopened($dateReopened)
{
$this->dateReopened = $dateReopened;
return $this;
}
/**
* Get dateReopened
*
* @return \DateTime
*/
public function getDateReopened()
{
return $this->dateReopened;
}
/**
* Set dateRejected
*
* @param \DateTime $dateRejected
*
* @return \DateTime
*/
public function setDateRejected($dateRejected)
{
$this->dateRejected = $dateRejected;
return $this;
}
/**
* Get dateRejected
*
* @return \DateTime
*/
public function getDateRejected()
{
return $this->dateRejected;
}
/**
* Get isInspected
*
* @return bool
*/
public function getIsInspected()
{
//return (($this->getDateInspected()) ? ((strtotime($this->getDateInspected()->format("Y-m-d")) > '1969-12-31') ? true : false) : false);
//return $this->isInspected;
//check if dateInspected in set and greater than 12th Dec 1969 or the Claim does not need inspection in the first place
if ($this->getDateInspected() != null && ((strtotime($this->getDateInspected()->format("Y-m-d")) > '1969-12-31') || !$this->getNeedsInspection())) {
return true;
} else {
return false;
}
}
/**
* Get isContacted
*
* @return bool
*/
public function getIsContacted()
{
if ($this->getDateContacted() != null && ((strtotime($this->getDateContacted()->format("Y-m-d")) > '1969-12-31'))) {
return true;
} else {
return false;
}
}
/**
* Can we set the first contact date?
*
* @return int
*/
public function getCanSetFirstContact()
{
if ($this->getStatus() != 30 && $this->getStatus() != 5) {
return 1;
} else {
return 0;
}
}
/**
* Can we set the claim ready for review?
*
* @return int
*/
public function getCanSetReadyForReview()
{
if ($this->getStatus() != 20 && $this->getStatus() != 30 && $this->getStatus() != 5) {
return 1;
} else {
return 0;
}
}
/**
* Can we set the inspection date on this?
*
* @return int
*/
public function getCanSetInspectionDate()
{
if ($this->getIsContacted() && $this->getStatus() != 30) {
return 1;
} else {
return 0;
}
}
/**
* Set needsInspection
*
* @param boolean $needsInspection
*
* @return boolean
*/
public function setNeedsInspection($needsInspection)
{
$this->needsInspection = $needsInspection;
return $this;
}
/**
* Get needsInspection
*
* @return bool
*/
public function getNeedsInspection()
{
return $this->needsInspection;
}
/**
* Set needsAttyRep
*
* @param boolean $needsAttyRep
*
* @return boolean
*/
/*public function setNeedsAttyRep($needsAttyRep)
{
$this->needsAttyRep = $needsAttyRep;
return $this;
}*/
/**
* Get needsAttyRep
*
* @return bool
*/
/*public function getNeedsAttyRep()
{
return $this->needsAttyRep;
}*/
/**
* Set needsPublicAdj
*
* @param boolean $needsPublicAdj
*
* @return boolean
*/
/*public function setNeedsPublicAdj($needsPublicAdj)
{
$this->needsPublicAdj = $needsPublicAdj;
return $this;
}*/
/**
* Get needsPublicAdj
*
* @return bool
*/
/*public function getNeedsPublicAdj()
{
return $this->needsPublicAdj;
}*/
/**
* Set needsThirdParty
*
* @param boolean $needsThirdParty
*
* @return boolean
*/
public function setNeedsThirdParty($needsThirdParty)
{
$this->needsThirdParty = $needsThirdParty;
return $this;
}
/**
* Get needsThirdParty
*
* @return bool
*/
public function getNeedsThirdParty()
{
return $this->needsThirdParty;
}
/**
* Set agencyName
*
* @param string $agencyName
*
* @return string
*/
/*public function setAgencyName($agencyName)
{
$this->agencyName = $agencyName;
return $this;
}*/
/**
* Get agencyName
*
* @return string
*/
/*public function getAgencyName()
{
return $this->agencyName;
}*/
/**
* Set xactErrorCode
*
* @param string $xactErrorCode
*
* @return string
*/
public function setXactErrorCode($xactErrorCode)
{
$this->xactErrorCode = $xactErrorCode;
return $this;
}
/**
* Get agencyPhone
*
* @return string
*/
public function getXactErrorCode()
{
return $this->xactErrorCode;
}
/**
* Set xactErrorMessage
*
* @param string $xactErrorMessage
*
* @return string
*/
public function setXactErrorMessage($xactErrorMessage)
{
$this->xactErrorMessage = $xactErrorMessage;
return $this;
}
/**
* Get agencyPhone
*
* @return string
*/
public function getXactErrorMessage()
{
return $this->xactErrorMessage;
}
/**
* Set formNumbers
*
* @param string $formNumbers
*
* @return string
*/
public function setFormNumbers($formNumbers)
{
$this->formNumbers = $formNumbers;
return $this;
}
/**
* Get formNumbers
*
* @return string
*/
public function getFormNumbers()
{
return $this->formNumbers;
}
/**
* Set formNumbersSet
*
* @param string $formNumbersSet
*
* @return string
*/
public function setFormNumbersSet($formNumbersSet)
{
$this->formNumbersSet = $formNumbersSet;
return $this;
}
/**
* Get formNumbersSet
*
* @return string
*/
public function getFormNumbersSet()
{
return $this->formNumbersSet;
}
/**
* Set mortgage
*
* @param string $mortgage
*
* @return string
*/
public function setMortgage($mortgage)
{
$this->mortgage = $mortgage;
return $this;
}
/**
* Get mortgage
*
* @return string
*/
public function getMortgage()
{
return $this->mortgage;
}
/**
* Set coinsurance
*
* @param string $coinsurance
*
* @return string
*/
public function setCoinsurance($coinsurance)
{
$this->coinsurance = $coinsurance;
return $this;
}
/**
* Get coinsurance
*
* @return string
*/
public function getCoinsurance()
{
return $this->coinsurance;
}
/**
* Set settlementType
*
* @param string $settlementType
*
* @return string
*/
public function setSettlementType($settlementType)
{
$this->settlementType = $settlementType;
return $this;
}
/**
* Get settlementType
*
* @return string
*/
public function getSettlementType()
{
return $this->settlementType;
}
/**
* Set specialNotes
*
* @param string $specialNotes
*
* @return string
*/
public function setSpecialNotes($specialNotes)
{
$this->specialNotes = $specialNotes;
return $this;
}
/**
* Get specialNotes
*
* @return string
*/
public function getSpecialNotes()
{
return $this->specialNotes;
}
/**
* Set policyType
*
* @param string $policyType
*
* @return string
*/
public function setPolicyType($policyType)
{
$this->policyType = $policyType;
return $this;
}
/**
* Get policyType
*
* @return string
*/
public function getPolicyType()
{
return $this->policyType;
}
/**
* @return mixed
*/
public function getAssignmentDate()
{
return $this->assignmentDate;
}
/**
* @param mixed $assignmentDate
*/
public function setAssignmentDate($assignmentDate)
{
$this->assignmentDate = $assignmentDate;
}
/**
* @deprecated
* @param Disbursement $disbursement
*/
public function addDisbursement(Disbursement $disbursement)
{
if ($this->disbursements->contains($disbursement)) {
return;
}
$this->disbursements->add($disbursement);
$disbursement->setClaim($this);
}
/**
* @deprecated
* @param Disbursement $disbursement
*/
public function removeDisbursement(Disbursement $disbursement)
{
if (!$this->disbursements->contains($disbursement)) {
return;
}
$this->disbursements->removeElement($disbursement);
$disbursement->removeClaim();
}
/**
* @deprecated
* @return array
*/
public function getDisbursements()
{
return $this->disbursements->toArray();
}
/**
* @param Invoice $invoice
*/
public function addInvoice(Invoice $invoice)
{
if ($this->invoices->contains($invoice)) {
return;
}
$this->invoices->add($invoice);
$invoice->setClaim($this);
}
/**
* @param Invoice $invoice
*/
public function removeInvoice(Invoice $invoice)
{
if (!$this->invoices->contains($invoice)) {
return;
}
$this->invoices->removeElement($invoice);
$invoice->removeClaim();
}
/**
* @return array
*/
public function getInvoices()
{
return $this->invoices;
}
public function getInvoice()
{
$i = 0;
$invoices = $this->getInvoices();
foreach ($invoices as $invoice) {
if ($i == 0) {
return $invoice;
}
$i++;
}
return null;
}
public function getClaimsInsureds()
{
return $this->claimsInsureds->toArray();
}
public function getClaimsOtherParties()
{
return $this->claimsOtherParty->toArray();
}
public function getClaimPerils()
{
return $this->claimPerils;
}
/**
* @return array
*/
public function getInsureds()
{
return $this->claimsInsureds->toArray();
}
/**
* @return mixed
*/
public function getAdminFeeCharged()
{
return $this->adminFeeCharged;
}
/**
* @param mixed $adminFeeCharged
*/
public function setAdminFeeCharged($adminFeeCharged)
{
$this->adminFeeCharged = $adminFeeCharged;
}
public function getInsured()
{
$claimsInsureds = $this->claimsInsureds;
foreach ($claimsInsureds as $getClaimInsured) {
if ($getClaimInsured->getIsPrimary() == true) {
return $getClaimInsured->getInsured();
}
}
return null;
}
public function getBorrowerInsured()
{
$claimsInsureds = $this->claimsInsureds;
foreach ($claimsInsureds as $getClaimInsured) {
if ($getClaimInsured->getClaimInsuredType()->getInsuredType() == "Borrower") {
return $getClaimInsured->getInsured();
}
}
return null;
}
public function getClaimantInsured()
{
$claimsInsureds = $this->claimsInsureds;
foreach ($claimsInsureds as $getClaimInsured) {
if ($getClaimInsured->getClaimInsuredType()->getInsuredType() == "Claimant") {
return $getClaimInsured->getInsured();
}
}
return null;
}
public function getOtherInsured()
{
$claimsInsureds = $this->claimsInsureds;
foreach ($claimsInsureds as $getClaimInsured) {
if ($getClaimInsured->getClaimInsuredType()->getInsuredType() == "Other") {
return $getClaimInsured->getInsured();
}
}
return null;
}
public function getOtherPartyOther()
{
$claimsOtherParties = $this->claimsOtherParty;
/**
* @var $getClaimOtherParty ClaimsOtherParty
*/
foreach ($claimsOtherParties as $getClaimOtherParty) {
if ($getClaimOtherParty->getClaimOtherPartyType()->getOtherPartyType() == "Other") {
return $getClaimOtherParty->getOtherParty();
}
}
return null;
}
public function __toString()
{
return $this->getClaimNumber();
}
public function __clone()
{
// TODO: Implement __clone() method.
/*
*
* These are the variables we want to indubitably carry over.
***
private $lossLocations;
private $reserves;
private $coverages;
private $deductibles;
private $claimsInsureds;
private $claimPerils;
*/
# Unset the id we may have
$this->id = null;
# Mark this as a clone (eventually, we'll set a parent)
$this->claimNumber = $this->claimNumber . "-CLONE";
$this->setStatus(5);
/**
* Reset some things we don't want CLONED
*/
$this->disbursements = new ArrayCollection();
$this->notes = new ArrayCollection();
$this->resources = new ArrayCollection();
# Copy over the loss locations (?)
$lossLocations = $this->getLossLocations();
/** @var LossLocation $lossLocation */
/*foreach($lossLocations as $lossLocation){
$cloneLocation = clone $lossLocation;
$this->addLossLocation($cloneLocation);
$lossLocation->setClaim($this);
}*/
# Copy over the reserves
$reserves = $this->getReserves();
/** @var Reserve $reserve */
/*foreach($reserves as $reserve){
$cloneReserve = clone $reserve;
$this->addReserve($cloneReserve);
$cloneReserve->setClaim($this);
}*/
# Copy over the coverages
$coverages = $this->getCoverages();
/** @var Coverage $coverage */
/*foreach($coverages as $coverage){
$cloneCoverage = clone $coverage;
$this->addCoverage($cloneCoverage);
$cloneCoverage->setClaim($this);
}*/
# Copy over the deductibles
$deductibles = $this->getDeductibles();
/** @var Deductible $deductible */
/*foreach($deductibles as $deductible){
$cloneDeductible = clone $deductible;
$this->addDeductible($cloneDeductible);
$cloneDeductible->setClaim($this);
}*/
# Copy over Insured records (multi. Insureds)
$insureds = $this->getInsureds();
/** @var ClaimsInsured $insured */
foreach ($insureds as $insured) {
$cloneClaimInsured = clone $insured;
// $this->addClaimInsured($cloneClaimInsured);
$cloneClaimInsured->setClaim($this);
}
# Copy over Perils
$perils = $this->getClaimPerils();
/** @var ClaimPeril $peril */
/*foreach($perils as $peril){
$cloneClaimPeril = clone $peril;
// $this->addClaimPeril();
$cloneClaimPeril->setClaim($this);
}*/
}
/**
* @return mixed
*/
public function getClaimTeam()
{
if(empty($this->claimTeam) || $this->claimTeam->getId()==0) return null;
return $this->claimTeam;
}
/**
* @param mixed $claimTeam
*/
public function setClaimTeam(ClaimTeam $claimTeam = null)
{
$this->claimTeam = $claimTeam;
}
/**
* @return string
*/
public function getTransactionId()
{
return $this->transactionId;
}
/**
* @param string $transactionId
*/
public function setTransactionId($transactionId)
{
$this->transactionId = $transactionId;
}
/**
* @return PlanID
*/
public function getPlanId()
{
return $this->planId;
}
/**
* @param PlanID $planId
*/
public function setPlanId($planId = null)
{
$this->planId = $planId;
}
/**
* @return mixed
*/
public function getHasClaimantInvolved()
{
return $this->hasClaimantInvolved;
}
/**
* @param mixed $hasClaimantInvolved
*/
public function setHasClaimantInvolved($hasClaimantInvolved)
{
$this->hasClaimantInvolved = $hasClaimantInvolved;
}
/**
* @return mixed
*/
/*public function getIsAttyHandling()
{
return $this->isAttyHandling;
}*/
/**
* @param mixed $isAttyHandling
*/
/*public function setIsAttyHandling($isAttyHandling)
{
$this->isAttyHandling = $isAttyHandling;
}*/
/**
* @param Attribute $attribute
*/
public function addAttribute(Attribute $attribute)
{
if ($this->attributes->contains($attribute)) {
return;
}
$attribute->setClaim($this);
$this->attributes->add($attribute);
return;
}
public function addClaimInsureds(ClaimsInsured $claimsInsured)
{
if ($this->claimsInsureds->contains($claimsInsured)) {
return;
}
$claimsInsured->setClaim($this);
$this->claimsInsureds->add($claimsInsured);
return;
}
public function addClaimOtherParty(ClaimsOtherParty $claimsOtherParty)
{
if ($this->claimsOtherParty->contains($claimsOtherParty)) {
return $this;
}
$claimsOtherParty->setClaim($this);
$this->claimsOtherParty->add($claimsOtherParty);
return $this;
}
/**
* @param Attribute $attribute
* @return void
*/
public function removeAttribute(Attribute $attribute)
{
if (!$this->attributes->contains($attribute)) {
return;
}
$attribute->removeClaim();
$this->attributes->remove($attribute);
return;
}
/**
* @param DuplicateClaim $duplicateClaim
*/
public function addDuplicateClaim(DuplicateClaim $duplicateClaim)
{
if($this->duplicateClaims->contains($duplicateClaim)){
return;
}
$duplicateClaim->setClaim($this);
$this->duplicateClaims->add( $duplicateClaim );
return;
}
/**
* @param DuplicateClaim $duplicateClaim
* @return void
*/
public function removeDuplicateClaim(DuplicateClaim $duplicateClaim)
{
if(!$this->duplicateClaims->contains($duplicateClaim)){
return;
}
$duplicateClaim->removeClaim();
$this->duplicateClaims->remove( $duplicateClaim );
return;
}
/**
* @return array
*/
public function getDuplicateClaims()
{
return $this->duplicateClaims->toArray();
}
/**
* @param string $name
* @return bool|Attribute
*/
public function getAttribute($name = "")
{
if (!empty($this->attributes)) {
/** @var Attribute $attr */
foreach ($this->attributes->toArray() as $attr) {
if ($attr->getName() == $name) {
return $attr;
}
}
return false;
} else {
return false;
}
}
/**
* @param ArrayCollection $arrayCollection
*/
public function setResources(ArrayCollection $arrayCollection)
{
$this->resources = $arrayCollection;
}
public function setPreviousResource(ArrayCollection $arrayCollection)
{
$this->previousResources = $arrayCollection;
}
public function getInspectionNote()
{
return $this->inspectionNote;
}
public function setInspectionNote($inspectionNote)
{
$this->inspectionNote = $inspectionNote;
}
/**
* @return mixed
*/
public function getMortgageBank()
{
return $this->mortgageBank;
}
/**
* @param mixed $mortgageBank
*/
public function setMortgageBank($mortgageBank)
{
$this->mortgageBank = $mortgageBank;
}
/**
* @return Resource
*/
public function getClaimRep()
{
return $this->claimRep;
}
/**
* @param Resource $claimRep
*/
public function setClaimRep(Resource $claimRep)
{
$this->claimRep = $claimRep;
}
/**
* @return void
*/
public function removeClaimRep()
{
$this->claimRep = null;
}
/**
* @return int
*/
public function getReportPDFStacking()
{
return $this->reportPDFStacking;
}
/**
* @param int $reportPDFStacking
*/
public function setReportPDFStacking($reportPDFStacking)
{
$this->reportPDFStacking = $reportPDFStacking;
}
/**
* @return ClaimAgent
*/
public function getAgent()
{
return $this->agent;
}
/**
* @param ClaimAgent $agent
*/
public function setAgent(ClaimAgent $agent)
{
$this->agent = $agent;
}
/**
* @return int
*/
public function getParent()
{
return $this->parent;
}
/**
* @param int $parent
*/
public function setParent($parent)
{
$this->parent = $parent;
}
/**
* @return string
*/
public function getTreatyNumber()
{
return $this->treatyNumber;
}
/**
* @param string $treatyNumber
*/
public function setTreatyNumber($treatyNumber)
{
$this->treatyNumber = $treatyNumber;
}
/**
* @return string
*/
public function getSubTreatyNumber()
{
return $this->subTreatyNumber;
}
/**
* @param string $subTreatyNumber
*/
public function setSubTreatyNumber($subTreatyNumber)
{
$this->subTreatyNumber = $subTreatyNumber;
}
################################# BUSINESS LOGIC -- under our setters and getters
/**
* @param $form
* @return bool
*/
public function customerSubmittedIsset($form)
{
return isset($form['customer']);
}
/**
* @param $customer
* @return bool
*/
public function customerExists($customer)
{
return $customer instanceof Customer;
}
/**
* @param $customer
* @param $form
* @return bool
*/
public function customerNotModified($customer, $form)
{
return $this->customerExists($customer) && $customer->getId() == $form['customer'];
}
/**
* @param $customer
* @param $form
* @return bool
*/
public function failsChangeCustomerValidation($customer, $form)
{
if ($this->customerSubmittedIsset($form)) {
# if form is passed, validate
return ($this->customerExists($customer)
&& $this->customerNotModified($customer, $form)) == false;
} else {
# if no form value, no need to validate
return false;
}
}
/**
* @return string
*/
public function getClaimBranchCode()
{
return $this->claimBranchCode;
}
/**
* @param string $claimBranchCode
*/
public function setClaimBranchCode($claimBranchCode)
{
$this->claimBranchCode = $claimBranchCode;
}
/**
* @return string
*/
public function getAssigneeDisplay()
{
return $this->assigneeDisplay;
}
/**
* @param string $assigneeDisplay
*/
public function setAssigneeDisplay($assigneeDisplay)
{
$this->assigneeDisplay = $assigneeDisplay;
}
/**
* @return string
*/
public function getPriorLossInfo()
{
return $this->priorLossInfo;
}
/**
* @param string $priorLossInfo
*/
public function setPriorLossInfo($priorLossInfo)
{
$this->priorLossInfo = $priorLossInfo;
}
/**
* @return string
*/
public function getAgencyNumber()
{
return $this->agencyNumber;
}
/**
* @param string $agencyNumber
*/
public function setAgencyNumber($agencyNumber)
{
$this->agencyNumber = $agencyNumber;
}
/**
* @return string
*/
public function getAdjustingFirmClaimNumber()
{
return $this->adjustingFirmClaimNumber;
}
/**
* @param string $adjustingFirmClaimNumber
*/
public function setAdjustingFirmClaimNumber($adjustingFirmClaimNumber)
{
$this->adjustingFirmClaimNumber = $adjustingFirmClaimNumber;
}
/**
* @return string
*/
public function getDenialDescriptionLine()
{
return $this->denialDescriptionLine;
}
/**
* @param string $denialDescriptionLine
*/
public function setDenialDescriptionLine($denialDescriptionLine)
{
$this->denialDescriptionLine = $denialDescriptionLine;
}
/**
* @return CwopReason
*/
public function getCwopReason()
{
return $this->cwopReason;
}
/**
* @param CwopReason $cwopReason
*/
public function setCwopReason($cwopReason)
{
$this->cwopReason = $cwopReason;
}
/**
* Set reopenAckDate
*
* @param \DateTime $reopenAckDate
*
* @return \DateTime
*/
public function setReopenAckDate($reopenAckDate)
{
$this->reopenAckDate = $reopenAckDate;
return $this;
}
/**
* Get reopenAckDate
*
* @return \DateTime
*/
public function getReopenAckDate()
{
return $this->reopenAckDate;
}
/**
* Set reopenClosedDate
*
* @param \DateTime $reopenClosedDate
*
* @return \DateTime
*/
public function setReopenClosedDate($reopenClosedDate)
{
$this->reopenClosedDate = $reopenClosedDate;
return $this;
}
/**
* Get reopenClosedDate
*
* @return \DateTime
*/
public function getReopenClosedDate()
{
return $this->reopenClosedDate;
}
/**
* @return SettlementType
*/
public function getReopenSettlementType()
{
return $this->reopenSettlementType;
}
/**
* @param SettlementType $reopenSettlementType
*/
public function setReopenSettlementType($reopenSettlementType)
{
$this->reopenSettlementType = $reopenSettlementType;
}
/**
* @return CwopReason
*/
public function getReopenCwopRsn()
{
return $this->reopenCwopRsn;
}
/**
* @param CwopReason $reopenCwopRsn
*/
public function setReopenCwopRsn($reopenCwopRsn)
{
$this->reopenCwopRsn = $reopenCwopRsn;
}
/**
* @return mixed
*/
public function getSentToApi()
{
return $this->sentToApi;
}
/**
* @param mixed $sentToApi
*/
public function setSentToApi($sentToApi)
{
$this->sentToApi = $sentToApi;
}
/**
* @return mixed
*/
public function getInsurerAddress()
{
return $this->insurerAddress;
}
/**
* @param mixed $insurerAddress
*/
public function setInsurerAddress($insurerAddress)
{
$this->insurerAddress = $insurerAddress;
}
/**
* @return mixed
*/
public function getInsurerName()
{
return $this->insurerName;
}
/**
* @param mixed $insurerName
*/
public function setInsurerName($insurerName)
{
$this->insurerName = $insurerName;
}
/**
* @return mixed
*/
public function getInsurerCode()
{
return $this->insurerCode;
}
/**
* @param mixed $insurerCode
*/
public function setInsurerCode($insurerCode)
{
$this->insurerCode = $insurerCode;
}
/**
* @return mixed
*/
public function getClientEmail()
{
return $this->clientEmail;
}
/**
* @param mixed $clientEmail
*/
public function setClientEmail($clientEmail)
{
$this->clientEmail = $clientEmail;
}
/**
* @return mixed
*/
public function getInsurerGroup()
{
return $this->insurerGroup;
}
/**
* @param mixed $insurerGroup
*/
public function setInsurerGroup($insurerGroup)
{
$this->insurerGroup = $insurerGroup;
}
/**
* @return string
*/
public function getReopenDenialDescriptionLine()
{
return $this->reopenDenialDescriptionLine;
}
/**
* @param string $reopenDenialDescriptionLine
*/
public function setReopenDenialDescriptionLine($reopenDenialDescriptionLine)
{
$this->reopenDenialDescriptionLine = $reopenDenialDescriptionLine;
}
/**
* @return string
*/
public function getLossLatitude()
{
return $this->lossLatitude;
}
/**
* @param string $lossLatitude
*/
public function setLossLatitude($lossLatitude)
{
//$this->lossLatitude = $lossLatitude;
// $this->lossLatitude = $this->getLossZip();
$address = $this->getLossStreet();
$zip = $this->getLossZip();
$state = $this->getLossState();
$city = $this->getLossCity();
$googleApiCall = new GoogleGeocoder();
$latitudeLongitudeData = $googleApiCall->getLatLongFromAddress($address, $city, $state, $zip);
$this->lossLatitude = $latitudeLongitudeData['lat'];
}
/**
* @return string
*/
public function getLossLongitude()
{
return $this->lossLongitude;
}
/**
* @param string $lossLongitude
*/
public function setLossLongitude($lossLongitude)
{
// $this->lossLongitude = $lossLongitude;
$address = $this->getLossStreet();
$zip = $this->getLossZip();
$state = $this->getLossState();
$city = $this->getLossCity();
$googleApiCall = new GoogleGeocoder();
$latitudeLongitudeData = $googleApiCall->getLatLongFromAddress($address, $city, $state, $zip);
$this->lossLongitude = $latitudeLongitudeData['lng'];
}
/**
* @return string
*/
public function getCustomerCatCode()
{
return $this->customerCatCode;
}
/**
* @param string $customerCatCode
*/
public function setCustomerCatCode($customerCatCode)
{
$this->customerCatCode = $customerCatCode;
}
/**
* @return string
*/
public function getLiabilityType()
{
return $this->liabilityType;
}
/**
* @param string $liabilityType
*/
public function setLiabilityType($liabilityType)
{
$this->liabilityType = $liabilityType;
}
/**
* @return string
*/
public function getRecoveriesType()
{
return $this->recoveriesType;
}
/**
* @param string $recoveriesType
*/
public function setRecoveriesType($recoveriesType)
{
$this->recoveriesType = $recoveriesType;
}
/**
* @return string
*/
public function getPropertyDamageType()
{
return $this->propertyDamageType;
}
/**
* @param string $propertyDamageType
*/
public function setPropertyDamageType($propertyDamageType)
{
$this->propertyDamageType = $propertyDamageType;
}
/**
* @param ArrayCollection $arrayCollection
*/
public function setResourceExternal(ArrayCollection $arrayCollection)
{
$this->resourcesExternal = $arrayCollection;
}
/**
* @return array
*/
public function getResourcesExternal()
{
return $this->resourcesExternal->toArray();
}
/**
* @param ClaimResourceExternal $i
*/
public function addResourceExternal($i)
{
if ($this->resourcesExternal->contains($i)) {
return;
}
$this->resourcesExternal->add($i);
$i->setClaim($this);
}
/**
* @param ClaimResourceExternal $i
*/
public function removeResourceExternal($i)
{
if (!$this->resourcesExternal->contains($i)) {
return;
}
$this->resourcesExternal->removeElement($i);
$i->removeClaim();
}
/**
* @param ArrayCollection $arrayCollection
*/
public function setAutoClaim(ArrayCollection $arrayCollection)
{
$this->autoClaim = $arrayCollection;
}
/**
* @return array
*/
public function getAutoClaim()
{
return $this->autoClaim;
}
/**
* @param AutoClaim $i
*/
public function addAutoClaim($i)
{
if ($this->autoClaim->contains($i)) {
return;
}
$this->autoClaim->add($i);
$i->setClaim($this);
}
/**
* @param AutoClaim $i
*/
public function removeAutoClaim($i)
{
if (!$this->autoClaim->contains($i)) {
return;
}
$this->autoClaim->removeElement($i);
$i->removeClaim();
}
/**
* @return integer
*/
public function getIsClaimCategory()
{
return $this->isClaimCategory;
}
/**
* @param integer $isClaimCategory
*/
public function setIsClaimCategory($isClaimCategory)
{
$this->isClaimCategory = $isClaimCategory;
}
/**
* @return \DateTime|null
*/
public function getCoverageEffectiveDate()
{
return $this->coverageEffectiveDate;
}
/**
* @param $coverageEffectiveDate
* @return $this
*/
public function setCoverageEffectiveDate($coverageEffectiveDate): self
{
$this->coverageEffectiveDate = $coverageEffectiveDate;
return $this;
}
/**
* @param $contact
* @return $this
*/
public function setContact($contact): self
{
$this->contact = $contact;
return $this;
}
/**
* @return string|null
*/
public function getContact()
{
return $this->contact;
}
/**
* @param $contactResponsePhone
* @return $this
*/
public function setContactResponsePhone($contactResponsePhone): self
{
$this->contactResponsePhone = $contactResponsePhone;
return $this;
}
/**
* @return string|null
*/
public function getContactResponsePhone()
{
return $this->contactResponsePhone;
}
}