diff --git a/app/Controllers/Billing/Ipd.php b/app/Controllers/Billing/Ipd.php index 71ec30e..6fbaf4c 100644 --- a/app/Controllers/Billing/Ipd.php +++ b/app/Controllers/Billing/Ipd.php @@ -165,7 +165,14 @@ class Ipd extends BaseController return $permission; } - $panelData = $this->ipdModel->getIpdPanelInfo($ipdId); + try { + $panelData = $this->ipdModel->getIpdPanelInfo($ipdId); + } catch (\Throwable $e) { + log_message('error', 'IPD panel load failed for IPD #' . $ipdId . ': ' . $e->getMessage()); + + return $this->response->setStatusCode(500)->setBody('Unable to load IPD panel'); + } + if (empty($panelData)) { return $this->response->setStatusCode(404)->setBody('IPD not found'); } @@ -384,7 +391,16 @@ class Ipd extends BaseController return $permission; } - $panelData = $this->ipdModel->getIpdPanelInfo($ipdId); + try { + $panelData = $this->ipdModel->getIpdPanelInfo($ipdId); + } catch (\Throwable $e) { + log_message('error', 'IPD panel tab load failed for IPD #' . $ipdId . ' tab ' . $tab . ': ' . $e->getMessage()); + if ($tab === 'ipd-charges') { + return '