hasOne(Client::class, 'id', 'client_id'); } public function client(){ return $this->hasOne(Client::class, 'id', 'client_id'); } public function mcp(){ return $this->hasOne(Pro::class, 'id', 'mcp_pro_id'); } public function cmPro(){ return $this->hasOne(Pro::class, 'id', 'cm_pro_id'); } public function rmmPro(){ return $this->hasOne(Pro::class, 'id', 'rmm_pro_id'); } public function rmePro(){ return $this->hasOne(Pro::class, 'id', 'rme_pro_id'); } public function entries() { return $this->hasMany(CareMonthEntry::class, 'care_month_id', 'id'); } public function bills() { return $this->hasMany(Bill::class, 'care_month_id', 'id'); } public function claims() { return $this->hasMany(Claim::class, 'care_month_id', 'id'); } public function getBillsOfType($_type) { $bills = $this->bills; $targetBills = new Collection(); foreach ($bills as $bill) { if($bill->cm_or_rm === $_type) { $targetBills->add($bill); } } return $targetBills; } public function rmBill(){ return $this->hasOne(Bill::class, 'id', 'rm_bill_id'); } public function companyPro() { return $this->hasOne(CompanyPro::class, 'id', 'company_pro_id'); } public function company() { return $this->hasOne(Company::class, 'id', 'company_id'); } public function companyProPayer() { return $this->hasOne(CompanyProPayer::class, 'id', 'company_pro_payer_id'); } public function companyLocation() { return $this->hasOne(CompanyLocation::class, 'id', 'company_location_id'); } public function cmReasons() { return $this->hasMany(CareMonthCmRmReason::class, 'care_month_id', 'id') ->where('cm_or_rm', 'CM') ->orderBy('position_index', 'ASC') ->orderBy('code', 'ASC'); } public function rmReasons() { return $this->hasMany(CareMonthCmRmReason::class, 'care_month_id', 'id') ->where('cm_or_rm', 'RM') ->orderBy('position_index', 'ASC') ->orderBy('code', 'ASC'); } public function rmSetupClaim() { return $this->hasOne(Claim::class, 'id', 'rm_setup_claim_id') ->where('status', '<>', 'CANCELLED'); } public function mostRecentMcpNote() { return $this->hasOne(Note::class, 'id', 'most_recent_mcp_note_id'); } public function note() { return $this->hasOne(Note::class, 'id', 'note_id'); } public function mcpRmGenericBill() { return $this->hasOne(Bill::class, 'id', 'mcp_rm_generic_bill_id'); } public function rmmRmGenericBill() { return $this->hasOne(Bill::class, 'id', 'rmm_rm_generic_bill_id'); } }