diff --git a/app/Controllers/Opd_prescription.php b/app/Controllers/Opd_prescription.php index 72ee6ac..8441c37 100644 --- a/app/Controllers/Opd_prescription.php +++ b/app/Controllers/Opd_prescription.php @@ -3921,11 +3921,13 @@ class Opd_prescription extends BaseController $doseMap = $this->getDoseMasterLabelMap('opd_dose_shed', ['dose_shed_id', 'id'], ['dose_show_sign', 'dose_sign', 'dose_sign_desc', 'name']); $whenMap = $this->getDoseMasterLabelMap('opd_dose_when', ['dose_when_id', 'id'], ['dose_sign', 'dose_sign_desc', 'name']); $freqMap = $this->getDoseMasterLabelMap('opd_dose_frequency', ['dose_freq_id', 'id'], ['dose_sign', 'dose_sign_desc', 'name']); + $whereMap = $this->getDoseMasterLabelMap('opd_dose_where', ['dose_where_id', 'id'], ['dose_sign', 'dose_sign_desc', 'name']); foreach ($rows as &$row) { $row['dosage_label'] = $this->resolveDoseMasterLabel($row['dosage'] ?? '', $doseMap); $row['dosage_when_label'] = $this->resolveDoseMasterLabel($row['dosage_when'] ?? '', $whenMap); $row['dosage_freq_label'] = $this->resolveDoseMasterLabel($row['dosage_freq'] ?? '', $freqMap); + $row['dosage_where_label'] = $this->resolveDoseMasterLabel($row['dosage_where'] ?? '', $whereMap); } unset($row); @@ -3985,6 +3987,9 @@ class Opd_prescription extends BaseController if (in_array('dosage_freq', $fields, true)) { $insert['dosage_freq'] = trim((string) $this->request->getPost('dosage_freq')); } + if (in_array('dosage_where', $fields, true)) { + $insert['dosage_where'] = trim((string) $this->request->getPost('dosage_where')); + } if (in_array('no_of_days', $fields, true)) { $insert['no_of_days'] = trim((string) $this->request->getPost('no_of_days')); } @@ -4180,6 +4185,7 @@ class Opd_prescription extends BaseController 'dosage' => trim((string) $this->request->getPost('dosage')), 'dosage_when' => trim((string) $this->request->getPost('dosage_when')), 'dosage_freq' => trim((string) $this->request->getPost('dosage_freq')), + 'dosage_where' => trim((string) $this->request->getPost('dosage_where')), 'no_of_days' => trim((string) $this->request->getPost('no_of_days')), 'qty' => trim((string) $this->request->getPost('qty')), 'remark' => strtoupper(trim((string) $this->request->getPost('remark'))), diff --git a/app/Views/billing/opd_prescription_basic.php b/app/Views/billing/opd_prescription_basic.php index ed2fec6..a911c1e 100644 --- a/app/Views/billing/opd_prescription_basic.php +++ b/app/Views/billing/opd_prescription_basic.php @@ -762,13 +762,19 @@
- +
- +
- +
@@ -778,7 +784,12 @@
-
+
+ +
+
@@ -817,10 +828,10 @@ - + - +
MedicineTypeDoseWhenFreqDaysQtyRemarkActionMedicineTypeDoseWhenFreqWhereDaysQtyRemarkAction
No medicine added
No medicine added
@@ -987,6 +998,7 @@ var investigationBatchActive = false; var activeMedicineScope = 'active'; var medicineSuggestRows = []; + var medicineDoseMasterCache = { dose: [], when: [], freq: [], where: [] }; var investigationProfiles = { cardiac: ['ECG', 'Lipid Profile', 'CBC'], viral_infection: ['CBC', 'LFT', 'KFT'] @@ -1023,6 +1035,84 @@ }, 'json'); } + function renderMedicineMasterSelectOptions($select, rows, placeholder) { + var html = '