user() : null; $isAdmin = false; if ($user && method_exists($user, 'inGroup')) { $isAdmin = $user->inGroup('superadmin', 'admin', 'developer'); } $canTemplate = false; if ($user && method_exists($user, 'can')) { $canTemplate = $user->can('template.pathology') || $user->can('template.ultrasound') || $user->can('template.xray') || $user->can('template.ct') || $user->can('template.mri') || $user->can('template.echo') || $user->can('template.*'); } if (! $canTemplate && $isAdmin) { $canTemplate = true; } $canIpdNursing = $user && method_exists($user, 'can') ? ($user->can('ipd_nursing.view') || $user->can('ipd_nursing.*')) : false; $canIpdDischarge = $user && method_exists($user, 'can') ? ($user->can('ipd_discharge.view') || $user->can('ipd_discharge.manage') || $user->can('ipd_discharge.*')) : false; $canIpdOt = $user && method_exists($user, 'can') ? ($user->can('ipd_ot.view') || $user->can('ipd_ot.request.manage') || $user->can('ipd_ot.schedule.manage') || $user->can('ipd_ot.status.manage') || $user->can('ipd_ot.postop.manage') || $user->can('ipd_ot.*')) : false; if ($isAdmin) { $canIpdNursing = true; $canIpdDischarge = true; $canIpdOt = true; } // Granular billing links visibility: $canPatientList = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('billing.access') || $user->can('billing.opd.edit') || $user->can('billing.*'))); $canOpdInvoice = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('billing.access') || $user->can('billing.opd.edit') || $user->can('billing.*'))); $canChargesInvoice = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('billing.charges.view') || $user->can('billing.access') || $user->can('billing.*'))); $canIpdBilling = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('billing.ipd.access') || $user->can('billing.ipd.current-admission') || $user->can('billing.ipd.invoice') || $user->can('billing.ipd.cash-balance') || $user->can('billing.access') || $user->can('billing.*'))); $canOrgOpdInvoice = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('billing.access') || $user->can('billing.opd.edit') || $user->can('billing.*'))); $canPaymentRequest = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('billing.payment_request.view') || $user->can('billing.payment_request.manage') || $user->can('billing.*'))); $canRefundRequest = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('billing.refund.view') || $user->can('billing.refund.manage') || $user->can('billing.*'))); $canReportPanel = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('billing.access') || $user->can('reports.access') || $user->can('billing.*'))); $canOrgPacking = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('billing.access') || $user->can('billing.charges.view') || $user->can('billing.*'))); $canFinanceBilling = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('finance.cash.billing.submit') || $user->can('finance.*'))); $canBilling = $canPatientList || $canOpdInvoice || $canChargesInvoice || $canIpdBilling || $canOrgOpdInvoice || $canPaymentRequest || $canRefundRequest || $canReportPanel || $canOrgPacking || $canFinanceBilling; $canPharmacy = false; if ($user && method_exists($user, 'can')) { $canPharmacy = $user->can('pharmacy.access') || $user->can('pharmacy.*'); } if (! $canPharmacy && ($isAdmin || ($user && method_exists($user, 'inGroup') && $user->inGroup('pharmacy_admin')))) { $canPharmacy = true; } $canHospitalStock = false; if ($user && method_exists($user, 'can')) { $canHospitalStock = $user->can('hospital_stock.access') || $user->can('hospital_stock.master.manage') || $user->can('hospital_stock.indent.create') || $user->can('hospital_stock.indent.approve') || $user->can('hospital_stock.issue') || $user->can('hospital_stock.purchase.manage') || $user->can('hospital_stock.report.view') || $user->can('hospital_stock.*'); } if (! $canHospitalStock && $user && method_exists($user, 'inGroup')) { $canHospitalStock = $user->inGroup('superadmin', 'admin', 'developer', 'stock_manager', 'stock_requester', 'stock_issuer'); } $canFinance = false; if ($user && method_exists($user, 'can')) { $canFinance = $user->can('finance.workflow.view') || $user->can('finance.cash.billing.submit') || $user->can('finance.cash.accounts.accept') || $user->can('finance.cash.accounts.verify') || $user->can('finance.bank.deposit.create') || $user->can('finance.bank.audit') || $user->can('finance.bank.statement.update') || $user->can('finance.payment.edit') || $user->can('finance.*'); } $canFinanceBilling = false; $canFinanceAccounts = false; $canFinanceBank = false; $canFinancePaymentEdit = false; if ($user && method_exists($user, 'can')) { $canFinanceBilling = $user->can('finance.cash.billing.submit') || $user->can('finance.*'); $canFinanceAccounts = $user->can('finance.cash.accounts.accept') || $user->can('finance.cash.accounts.verify') || $user->can('finance.*'); $canFinanceBank = $user->can('finance.bank.deposit.create') || $user->can('finance.bank.audit') || $user->can('finance.bank.statement.update') || $user->can('finance.*'); $canFinancePaymentEdit = $user->can('finance.payment.edit') || $user->can('finance.*'); } $canDoctorWork = false; if ($user && method_exists($user, 'can')) { $canDoctorWork = $user->can('doctor_work.access') || $user->can('doctor_work.appointment.view') || $user->can('doctor_work.rx_group.manage') || $user->can('doctor_work.medicine.manage') || $user->can('doctor_work.advice.manage') || $user->can('doctor_work.template_workspace.access') || $user->can('doctor_work.*'); } if (! $canDoctorWork && $user && method_exists($user, 'inGroup')) { $canDoctorWork = $user->inGroup('superadmin', 'admin', 'developer'); } $canDiagnosis = false; if ($user && method_exists($user, 'can')) { $canDiagnosis = $user->can('diagnosis.access') || $user->can('diagnosis.report.view') || $user->can('diagnosis.*'); } if (! $canDiagnosis && $user && method_exists($user, 'inGroup')) { $canDiagnosis = $user->inGroup('superadmin', 'admin', 'developer'); } $canAbdm = false; if ($user && method_exists($user, 'can')) { $canAbdm = $user->can('abdm.access') || $user->can('abdm.taskboard.access') || $user->can('abdm.gateway.use') || $user->can('abdm.bridge_log.view') || $user->can('abdm.*'); } if (! $canAbdm && $user && method_exists($user, 'inGroup')) { $canAbdm = $user->inGroup('superadmin', 'admin', 'developer'); } // Bed Status is open for all logged-in users $canBedStatus = ($user !== null); // Granular reports permissions: $canCollectionReport = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('reports.collection.view') || $user->can('reports.access') || $user->can('reports.*'))); $canOldPaymentReport = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('reports.collection.view') || $user->can('reports.access') || $user->can('reports.*'))); $canOpdTotalReport = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('reports.access') || $user->can('reports.*') || $user->can('billing.access'))); $canInsuranceCreditReport = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('reports.insurance_credit.view') || $user->can('reports.access') || $user->can('reports.*'))); $canNabhAuditReport = $isAdmin || ($user && method_exists($user, 'can') && ($user->can('reports.nabh_audit.view') || $user->can('reports.access') || $user->can('reports.*'))); $canReports = $canCollectionReport || $canOldPaymentReport || $canOpdTotalReport || $canDiagnosis || $canInsuranceCreditReport || $canNabhAuditReport; $canAdminPanel = false; if ($user && method_exists($user, 'can')) { $canAdminPanel = $user->can('admin.access') || $user->can('admin.settings'); } if (! $canAdminPanel && $user && method_exists($user, 'inGroup')) { $canAdminPanel = $user->inGroup('superadmin', 'admin', 'developer'); } $canChargesSettings = false; if ($user && method_exists($user, 'can')) { $canChargesSettings = $user->can('settings.charges.access') || $user->can('admin.settings') || $user->can('admin.access'); } if (! $canChargesSettings && $user && method_exists($user, 'inGroup')) { $canChargesSettings = $user->inGroup('superadmin', 'admin', 'developer'); } ?>