devsofttech_hms_ci4/app/Controllers
DevSoftTech Server e152fab496 Fix discharge time placeholders and department/doctor field mappings
CRITICAL FIXES based on actual database schema analysis:

Problem 1: {{ADMISSION_TIME}} showing 12:00 AM
- Code was looking for: register_time, admission_time (don't exist)
- Actual field: reg_time (stores '14:44' format)
- Fix: Changed to use ipd->reg_time field

Problem 2: {{DISCHARGE_TIME}} showing 12:00 AM
- Code was looking for: discharge_date datetime field
- Actual field: discharge_time (stores '05:30' format)
- Fix: Changed to use ipd->discharge_time field directly

Problem 3: {{DEPARTMENT}} showing blank
- Code was using: hc_department.id field for lookup
- Actual field: hc_department.iId (primary key is iId, not id)
- Fix: Changed WHERE clause from 'id' to 'iId'

Problem 4: {{DOCTOR_NAMES}} showing blank
- Code was looking for: doc_list, doctor_id, doc_id (don't exist)
- Actual field: r_doc_id (referring doctor ID = 12)
- Fix: Changed primary lookup to r_doc_id field

Technical Improvements:

1. Enhanced safeTime() function:
   - Added regex parsing for 'HH:MM' time format
   - Validates hour (0-23) and minute (0-59) ranges
   - Converts 24-hour to 12-hour format with AM/PM
   - Example: '14:44' -> '02:44 PM', '05:30' -> '05:30 AM'
   - Falls back to strtotime() for datetime formats
   - Returns empty string for invalid times

2. Updated getDischargeDoctorNames():
   - Primary: ipd->r_doc_id (referring doctor)
   - Fallback: ipd->doc_list (comma-separated IDs)
   - Fallback: ipd->doctor_id, doc_id, consultant_id
   - Queries doctor_master table
   - Gets specializations from doc_spec + med_spec
   - Format: 'Dr. Name [Specialization]' or 'Title Name [Spec]'

3. Updated getDischargeDepartmentName():
   - Changed: WHERE id = dept_id
   - To: WHERE iId = dept_id
   - Keeps fallback to ipd_department table
   - Returns department vName field

4. Updated debug endpoint:
   - Now checks: reg_time, reg_time_bak, discharge_time, discharge_time_bak
   - Shows: dept_id, r_doc_id, r_doc_name
   - Removed non-existent fields from output

Database Schema (from live data):
- ipd_master.reg_time: '14:44' (admission time)
- ipd_master.discharge_time: '05:30' (discharge time)
- ipd_master.dept_id: 2 -> hc_department.iId (vName field)
- ipd_master.r_doc_id: 12 -> doctor_master.id (p_fname field)

Testing:
- Admission Time should show: 02:44 PM (from reg_time '14:44')
- Discharge Time should show: 05:30 AM (from discharge_time '05:30')
- Department should show department name from hc_department
- Doctor Names should show doctor name with specialization
2026-06-07 07:07:35 +05:30
..
Billing Change mPDF default font from thin dejavusans to medium-weight freeserif for better Hindi/Devanagari rendering 2026-06-06 11:19:35 +05:30
Setting fix(discharge-template): make delete endpoint reliable for URL and AJAX 2026-06-05 07:37:39 +05:30
AbdmBridgeLog.php feat(abdm): proper FHIR bundles for lab reports and IPD discharge 2026-05-23 04:41:59 +05:30
AbdmCodingPanel.php feat: SNOMED background coding pipeline + ABDM Coding Panel 2026-05-19 20:40:27 +05:30
AbdmGateway.php Change mPDF default font from thin dejavusans to medium-weight freeserif for better Hindi/Devanagari rendering 2026-06-06 11:19:35 +05:30
AbdmOpdQueue.php Fix ABDM OPD HMS patient profile link route to person_record 2026-05-25 12:14:23 +05:30
AbdmTaskBoard.php Accept OPConsultRecord bundle lookups 2026-06-01 13:34:35 +05:30
Abha.php feat: ABDM OPD Queue + ABHA Register flow + patient ABHA search fix 2026-05-16 04:21:31 +05:30
BaseController.php Implement OPD template builder, doctor template selection, and OPD print integration fixes 2026-02-27 19:44:36 +05:30
Diagnosis.php Change mPDF default font from thin dejavusans to medium-weight freeserif for better Hindi/Devanagari rendering 2026-06-06 11:19:35 +05:30
DoctorDocument.php Improve doctor document workflow and print performance 2026-05-06 02:06:18 +05:30
Finance.php feat: ABDM OPD Queue + ABHA Register flow + patient ABHA search fix 2026-05-16 04:21:31 +05:30
HealthplixCallback.php Fix HealthPlix fetch parsing and refine sidebar headings 2026-04-28 07:28:34 +05:30
HealthplixGateway.php feat: add HealthPlix OPD sync flow with settings, diagnostics, and sync ID persistence 2026-04-27 08:32:51 +05:30
Home.php Add dedicated Save Settings button for user preferences 2026-04-28 13:54:46 +05:30
Invoice.php Fix payment request receipt content and PDF print 2026-04-10 04:16:17 +05:30
Ipd_discharge.php Fix discharge time placeholders and department/doctor field mappings 2026-06-07 07:07:35 +05:30
IpdPatient.php Add nursing scan-to-structured workflow and discharge UI polish 2026-03-09 00:12:04 +05:30
Item.php Implement OPD template builder, doctor template selection, and OPD print integration fixes 2026-02-27 19:44:36 +05:30
ItemIpd.php feat(ipd-charges): group delete, sort order, Up/Down buttons, foldable billing panels 2026-04-18 06:56:38 +05:30
Medical.php Restore legacy pharmacy reports and fix net/payment totals 2026-06-01 10:53:27 +05:30
OcasePathLap.php Implement OPD template builder, doctor template selection, and OPD print integration fixes 2026-02-27 19:44:36 +05:30
Opd_prescription.php Persist consult NABH fields via remarks fallback 2026-06-05 05:53:24 +05:30
Opd.php Change mPDF default font from thin dejavusans to medium-weight freeserif for better Hindi/Devanagari rendering 2026-06-06 11:19:35 +05:30
Opdcase.php Add OPD appointment time capture and storage with date+time display 2026-04-28 07:59:47 +05:30
OrgPacking.php Implement OPD template builder, doctor template selection, and OPD print integration fixes 2026-02-27 19:44:36 +05:30
Package.php Implement OPD template builder, doctor template selection, and OPD print integration fixes 2026-02-27 19:44:36 +05:30
Patient.php Add DataTables search box support to patient search - now handles both initial search and live filtering 2026-06-06 14:56:02 +05:30
Payment_Medical.php Implement OPD template builder, doctor template selection, and OPD print integration fixes 2026-02-27 19:44:36 +05:30
Report.php Add refer doctor filter to diagnosis report 2026-04-09 19:11:39 +05:30
Setup.php Fix: {{advice}} prints as-is (no Hindi/AI conversion); fix Schema Diff truncation 2026-04-16 12:31:42 +05:30
Storestock.php Change mPDF default font from thin dejavusans to medium-weight freeserif for better Hindi/Devanagari rendering 2026-06-06 11:19:35 +05:30