Commit Graph

452 Commits

Author SHA1 Message Date
38a63a628b abdm: add connector adapter pattern (Interface/Factory/Dreamsoft/Direct) + refactor AbdmGateway 2026-05-08 23:10:24 +05:30
cd605d6fdc assets: add inputmask library locally and load in global layout 2026-05-08 17:58:47 +05:30
5d5c9656ea billing: improve patient name display on consult form and history page 2026-05-08 13:49:37 +05:30
fbb03a6abb billing: redesign ABHA wizard, enhance patient info panels and consult page photo/layout 2026-05-08 13:29:57 +05:30
eac78b7014 billing: add ABHA create/verify tab in patient billing view and update IPD panel package; add hospital logo image 2026-05-08 10:48:43 +05:30
3c4dff6285 Improve doctor document workflow and print performance 2026-05-06 02:06:18 +05:30
b20d5b3ae8 Show opd_no in OPD Q No column 2026-05-05 23:07:10 +05:30
be6f0cd6d0 Set OPD appointment list default order to descending 2026-05-05 22:56:57 +05:30
7ab37ad80d Finance: separate OPD Consult and Doctor Charges payout screens; compact dashboard cards; add IPD payout tracking migration 2026-05-01 21:02:57 +05:30
54c8543902 Show selected invoices list in payout request panel 2026-04-30 02:21:00 +05:30
0c87ff02e0 Rename payout summary label to No. of Invoices 2026-04-30 02:18:18 +05:30
c95723fa6b Add IPD-level selection checkbox and group totals in payout pool 2026-04-30 02:12:44 +05:30
44dee3e3d5 Show IPD payout pool as invoice-level rows under IPD grouping 2026-04-30 02:09:26 +05:30
ced87420b4 Remove payout invoice column and align datatable ordering for grouped pool 2026-04-30 02:05:07 +05:30
e72e5590ff Fix invoice table date filtering to return matching rows 2026-04-30 01:58:19 +05:30
8533c826d0 Use GET for invoice draft DataTable ajax to avoid CSRF empty results 2026-04-30 01:56:40 +05:30
9c30d0c362 Add DataTables-compatible reload fallback for invoice draft filter 2026-04-30 01:54:18 +05:30
2844585714 Fix invoice draft Apply filter to use AJAX DataTable reload 2026-04-30 01:51:21 +05:30
6c9030a337 Fix credit payout pool reload for DataTables API compatibility 2026-04-30 01:46:25 +05:30
36d3fa843b Implement medical store credit payout workflow and optimize payout pool DataTable grouping 2026-04-30 01:42:03 +05:30
ec6ceaea98 Add dedicated Save Settings button for user preferences
- Add separate Save Settings button below User Settings card
- Create myProfileSaveSettings controller method for dedicated settings save
- Settings save endpoint: POST /my-profile/save-settings
- Validates sidebar_auto_hide_seconds (0-60 range)
- Provides immediate feedback: success/error message display
- Separate from profile photo and password updates
- Message auto-hides after 2 seconds on success
2026-04-28 13:54:46 +05:30
5717763496 Add user-based sidebar auto-hide setting, movable from hospital default
- Create user_settings table to store individual user preferences
- UserSettings model for get/set/delete user setting values
- Home::myProfile loads user settings with hospital defaults fallback
- Home::myProfileSave persists user settings to DB
- my_profile.php adds Sidebar Auto-Hide Delay field (0-60 seconds)
- welcome_message.php checks user settings first, then hospital default
- Setting value 0 = auto-hide disabled; blank = use hospital default
- Extensible table design for future user settings (color theme, etc)
2026-04-28 13:47:46 +05:30
0aa0edbbce Fix OPD confirm payment flow and DataTable initialization
- Opd.php: mode-0 (zero amount) no longer inserts payment_history row
  and skips HealthPlix sync for faster confirm
- Opd.php: added spid-based idempotency for cash/card to prevent
  duplicate payment_history rows on retry
- Opd.php: invoice view hides 0-amount payment_history rows
- opd_appointment_list.php: fix isDataTable call (DataTable -> dataTable)
- jquery.dataTables.min.js: replace non-functional shim with real
  DataTables 1.13.8 (supports ext.search, isDataTable, rows() API)
2026-04-28 12:01:53 +05:30
baba5521dd Fix dashboard and OPD counts for DATETIME appointment_date 2026-04-28 11:23:06 +05:30
5226fde8a0 Fix OPD appointment datetime display and date filtering 2026-04-28 10:59:04 +05:30
de3b940448 Increase top navigation icon size and spacing to prevent accidental clicks 2026-04-28 08:31:03 +05:30
6a5519388e Make HealthPlix Doctor Identifier field optional in Doctor Master 2026-04-28 08:22:00 +05:30
bd274a3fc3 Add OPD appointment time capture and storage with date+time display 2026-04-28 07:59:47 +05:30
cef10f70e1 Reflect actual HealthPlix fetch secret save state 2026-04-28 07:40:22 +05:30
cab7bbd3a6 Fix HealthPlix fetch parsing and refine sidebar headings 2026-04-28 07:28:34 +05:30
3ec7e60fcb Allow allowedHostnames via .env and document usage 2026-04-28 06:32:29 +05:30
cc5018568b Add HealthPlix fetch callback endpoint and Apache proxy rollout templates 2026-04-28 06:29:29 +05:30
d230d8960d feat: add configurable sidebar auto-hide in hospital settings 2026-04-27 14:32:31 +05:30
fdd3256ecb fix: add patient history back navigation and restore patient search datatable 2026-04-27 12:05:43 +05:30
6ae9a3516f feat: add HealthPlix OPD sync flow with settings, diagnostics, and sync ID persistence 2026-04-27 08:32:51 +05:30
f610adf2fe feat: add user profile photo upload and show avatar in header 2026-04-25 09:52:21 +05:30
4a4ef5b677 fix: replace all CDN dependencies with local assets for offline use (DataTables, Select2, CKEditor4, Google Fonts removed) 2026-04-25 09:20:16 +05:30
67b4006d39 fix: use db->getFieldNames() instead of hasField() in migration for reliable column existence check 2026-04-25 09:11:15 +05:30
846e21ce4b billing: add consult history action labels in profile and search 2026-04-22 11:45:38 +05:30
7d09bc3354 billing: refine consult history modal header and close action 2026-04-22 11:21:05 +05:30
2e76aab171 billing: make OPD scan modal fullscreen 2026-04-22 11:14:22 +05:30
29c6e971e4 billing: add OPD scan modal zoom/pan/rotate hotkeys and help text 2026-04-22 11:11:06 +05:30
d02244444e finance/storestock: implement cash submission audits, bank settlements, and opd payout tracking 2026-04-22 10:53:20 +05:30
7e4903bd68 billing: add patient history action and legacy-style OPD history view 2026-04-22 10:33:29 +05:30
1d2bfdb7a6 finance: replace OPD payout draft prompt edit with modal form 2026-04-22 10:24:26 +05:30
eb13872f43 Finance bank audit: settlement tab/filter refinements, bank-only selection, and summary metrics 2026-04-21 19:06:16 +05:30
030f674f05 Add icon-only shortcut links to top nav bar (Patient, IPD, OPD Appointment, Pharmacy) 2026-04-18 13:56:00 +05:30
fbbecee3b4 feat(ipd-charges): group delete, sort order, Up/Down buttons, foldable billing panels
- Safe delete for empty IPD charge groups with CSRF-safe AJAX
- Migration: add sort_order to ipd_item_type (backfilled)
- Sort order UI on create/edit/list views; persist in controller/model
- Up/Down swap buttons on group list (AJAX swap endpoint + CSRF refresh)
- Fix 500 on edit screen: restore missing getItemTypeById() in ItemIpdModel
- IpdBillingModel: propagate sort_order ordering to ipd-charges and bill-details tabs
- Billing IPD Charges tab: Bedside Clinical/Nursing Charge and Doctor Visit Charge panels now collapsible, start collapsed
2026-04-18 06:56:38 +05:30
058debb593 Respect formulation in duplicate medicine report groups 2026-04-17 09:53:02 +05:30
07916f3baf Allow same medicine name with different formulation in OPD save 2026-04-17 09:48:30 +05:30
b98b1e6f4a Fix predefined advice +Add firing twice due to duplicate document event binding 2026-04-17 05:22:45 +05:30
7612d738aa Make OPD scan list delete self-contained AJAX with inline CSRF sync 2026-04-17 04:50:40 +05:30
4d46ad1492 Fix scan list delete button blocked by carousel overlay on single-image view 2026-04-17 04:48:13 +05:30
f7c419c25e Harden OPD scan delete link fallback when modal CSRF helpers are unavailable 2026-04-17 04:45:35 +05:30
1cea1495fc Fix OPD scan delete button for direct file-list page and AJAX modal 2026-04-17 04:41:45 +05:30
a0b724e30d Fix serve_legacy_upload to also check public/uploads/ (FCPATH) 2026-04-17 04:20:49 +05:30
58ddd77d42 Add fallback route to serve legacy CI3 uploads from project-root uploads/ 2026-04-17 04:16:08 +05:30
11fe14089d Stop auto-filling prescription remarks from structured allergy fields 2026-04-17 03:50:01 +05:30
ec872c984c Strengthen OPD autocomplete normalization for spacing and punctuation variants 2026-04-17 03:41:01 +05:30
47423a7d38 Normalize OPD autocomplete suggestions and add one-time cleanup command 2026-04-17 03:31:33 +05:30
56a0fb83a4 Fix consult examination autocomplete selection behavior 2026-04-17 03:21:34 +05:30
1084ef8875 Fix: {{advice}} prints as-is (no Hindi/AI conversion); fix Schema Diff truncation 2026-04-16 12:31:42 +05:30
5ce3461a0c Update master DB schema snapshot 2026-04-15 09:55:13 +05:30
68288622a0 Update master schema/seed snapshots and Medical backpanel changes 2026-04-15 08:39:47 +05:30
c9daddddf3 Fix: Cast port to int and DBDebug to boolean from env() 2026-04-15 08:28:28 +05:30
48ee8b4156 Fix: Load database credentials in constructor to avoid constant expression errors 2026-04-15 08:22:39 +05:30
52556e9f9c Move database credentials to .env for security best practices 2026-04-15 08:19:40 +05:30
85ce007b26 Rename investigation toggle to Custom Investigation 2026-04-14 22:03:16 +05:30
287b0eb603 Adjust investigation toolbar buttons 2026-04-14 21:57:04 +05:30
aae6211f48 Add investigation shortcuts manager panel 2026-04-14 21:51:49 +05:30
57397d80e1 Fix OPD print remarks leaking NABH allergy lines 2026-04-14 08:34:46 +05:30
5801b5d276 Refine {{medical}} table widths and instruction row styling 2026-04-14 07:50:50 +05:30
b97bb74a5d Reformat {{medical}} rows with wide instruction line 2026-04-14 07:43:07 +05:30
0b2ae6ccc1 Broaden consult search candidates for phonetic medicine matches 2026-04-13 13:04:01 +05:30
992fd83ff2 Normalize separator variants in consult medicine SQL search 2026-04-13 12:57:16 +05:30
9e30d69487 Add phonetic matching for consult medicine search 2026-04-13 12:54:33 +05:30
05ff049526 Improve consult medicine search normalization and duplicate blocking 2026-04-13 12:46:42 +05:30
3cef35c832 Make OPD medicine duplicate detection strength-aware 2026-04-13 12:34:54 +05:30
779dbcbaa1 Show formulation with medicine name in OPD medicine list 2026-04-13 12:28:01 +05:30
93fe7741fa Show medicine formulation in OPD medicine autotext suggestions 2026-04-13 12:22:42 +05:30
f99f48b62f fix: restrict scan delete to 24h or same date 2026-04-11 04:49:59 +05:30
7233f5979e feat: auto visit-done on scan save and add scan delete actions 2026-04-11 04:45:45 +05:30
f748224cd0 fix: count OPD visits up to printed opd date 2026-04-10 21:30:47 +05:30
920f1033c0 fix: compute print total_no_visit from opd_master records 2026-04-10 21:28:15 +05:30
b50d72207e refactor: set number input step to 1 across views 2026-04-10 21:16:25 +05:30
d16a363a92 fix: recalculate IPD billing on panel open, bill-details, and print 2026-04-10 21:11:24 +05:30
9297849c8a fix: correct IPD balance display when computed balance is zero 2026-04-10 21:07:01 +05:30
6782aee1a4 fix: use computed item totals for IPD gross/net in bill views 2026-04-10 21:03:17 +05:30
a850e3229a fix: close lingering complaint autocomplete suggestions in consult form 2026-04-10 18:36:26 +05:30
2c3552ac07 fix: include medicine qty in {{medical}} consult print placeholder 2026-04-10 14:27:35 +05:30
54d0afaf95 fix: default OPD appointment filter to Waiting on load and refresh 2026-04-10 14:14:14 +05:30
5ed2bd13ae fix: include opd continuation template field in doctor template mappings 2026-04-10 13:42:23 +05:30
e1968e4b1d db: Add opd_cont_paper_print column to doctor_master table 2026-04-10 13:28:03 +05:30
385183fbe2 feat: Add Print Cont. Paper template selection to Doctor Master 2026-04-10 13:19:47 +05:30
910f46b06c feat: add Doctor Master OPD validity editing with hospital fallback
- Add OPD Validity (Days) field in Doctor add/edit forms\n- Save/update doctor_master.opd_valid_no_days from Doctor module\n- Use hospital_setting fallback keys when doctor validity is blank/zero\n- Apply fallback consistently in OPD showfee, print expiry, and running_opd lookup window\n- Supports hospital-wide defaults while preserving doctor-specific overrides
2026-04-10 12:58:17 +05:30
eec0642466 fix: OPD running validity period no longer extends per running visit
OpdModel.php:
- running_opd_id lookup now uses doctor's configured opd_valid_no_days
  instead of hardcoded 4 days (resolveRunningLookupDate helper)
- Doctors with validity > 5 days now correctly link running OPD back
  to the original paid OPD even on days 5..N of the window

Opd.php (buildOpdLetterPrintData):
- For running OPD entries (running_opd=1 or opd_fee_type=3), expiry
  display now shows "OPD Start Date: [paid visit] | Valid Upto: [paid
  visit + validity]" using old_opd record — mirrors Opd_print_1 legacy
  behavior and prevents validity window from advancing with each visit
2026-04-10 12:48:28 +05:30
21ddeefe40 fix: Running OPD zero-value validity, update_doc_field HTTP 500, PDF Unicode font (Devanagari)
- Opd.php showfee(): exclude zero-amount OPD from validity window query
- Opd.php confirm_opd(): anchor last_opdvisit_date to most recent paid OPD for zero-value running
- Opd.php buildOpdLetterPrintData(): use paid OPD start date for expiry on zero-value entries
- OpdModel.php insertOpd(): exclude fee_type=3/zero-amount from running_opd_id lookup; anchor visit count to paid OPD start when isZeroValueRunning
- DoctorDocument.php update_doc_field(): wrap in try/catch, schema-safe payload via filterPayloadByExistingColumns, structured JSON errors
- DoctorDocument.php create_final(): configure mPDF with FreeSans/FreeSerif (GNU FreeFont), useOTL=0xFF, autoScriptToLang=true for Devanagari/Hindi rendering
- doc_letterhead_print.php: add body/p/td/th font-family freesans for PDF Unicode output
2026-04-10 12:30:15 +05:30
a81162f954 Polish payment request alert wording 2026-04-10 04:20:14 +05:30
ba16e9d635 Fix missing mPDF footer template in org payment receipt 2026-04-10 04:17:24 +05:30
433b89f426 Fix payment request receipt content and PDF print 2026-04-10 04:16:17 +05:30
385c977d88 Auto-mark OPD visited on consult save or print 2026-04-10 03:59:10 +05:30
6a0660cad7 Show patient age and gender in OPD list 2026-04-10 03:55:00 +05:30
c534a83ad2 Normalize OPD queue display per doctor day 2026-04-10 03:44:32 +05:30
5a6ca034cd Prevent duplicate Consult button in waiting rows 2026-04-10 03:35:27 +05:30
c7997c34aa Sync OPD screen with live digest and row snapshot 2026-04-10 03:32:08 +05:30
fd21f24c45 Fix OPD status badges to use full DataTable counts 2026-04-10 03:20:15 +05:30
7f131aeae8 Add OPD doctor/date update endpoint and invoice validation feedback 2026-04-09 19:47:57 +05:30
b4ae081d28 Add refer doctor filter to diagnosis report 2026-04-09 19:11:39 +05:30
bb066399f9 Set OPD Total Report default dates to today 2026-04-09 19:03:31 +05:30
aa2e092758 Add OPD Total Report with doctor/type/fee filters 2026-04-09 18:44:35 +05:30
ccbc5d7b72 Make OPD scan AI processing manual with button 2026-04-09 06:35:17 +05:30
7275d13500 Add OPD keyword manager and caret-aligned autocomplete 2026-04-09 06:25:03 +05:30
418fb3e5e7 Add cached consult autotype suggestions and doctor/master keyword save 2026-04-09 06:07:46 +05:30
b1d329e462 Port legacy OPD autotype suggestions for complaints, provisional diagnosis, and findings 2026-04-09 06:00:29 +05:30
d2d34572f6 Add doctor-customizable foldable consult sections for key OPD fields 2026-04-09 05:49:48 +05:30
e087b26fc6 Do not render default footer when document print template footer is blank 2026-04-09 04:45:02 +05:30
9fcb7c9ee1 Apply placeholder resolver to general document body in create_final and normalize escaped newlines 2026-04-09 04:32:44 +05:30
90ac310cf0 Port CI3 vitals chart and treatment chart forms to CI4 IPD form print (form_no 6 and 7) 2026-04-09 04:26:09 +05:30
5299a9d7c2 Resolve {{H_Name}} and other placeholders in document print custom header/footer HTML 2026-04-09 04:04:38 +05:30
441ae0668f Add placeholder panel to document print settings; autocomplete off on med inputs; localStorage medicine cache 2026-04-09 03:43:53 +05:30
5f35d22f86 Fix medicine search cache key format 2026-04-08 20:06:08 +05:30
5c5d6694c0 Ignore stale opd appointment intended URL after login 2026-04-08 19:57:40 +05:30
2795e6255c Add medicine search DB indexes and prefix query optimization 2026-04-08 19:49:51 +05:30
fad0d89260 Speed up medicine autocomplete with cache and 10-row limit 2026-04-08 19:47:38 +05:30
935d6edd0b Keep IPD charges visible when optional tab queries fail 2026-04-08 11:52:27 +05:30
cbe861ad53 Guard IPD tab panel-data load to prevent remote ipd-charges 500 2026-04-08 11:48:48 +05:30
d003c67b1e Harden IPD charges tab render to avoid Whoops on remote 2026-04-08 11:45:25 +05:30
2977192017 Make IPD forms dynamic and stop stale OPD refresh polling 2026-04-08 11:41:33 +05:30
8bc9158e14 fix: support legacy doc_format schema in doctor document workspace
- Make docedit_load/doc_input_list/create_doc flows tolerant when doc_format_sub.active is missing\n- Guard master/sub insert/update payloads by existing DB columns to avoid SQL 500 on old dumps\n- Avoid hard dependency on created_at/updated_at/default_print_type print margin columns\n- Keep behavior unchanged on upgraded schemas while restoring compatibility with legacy production data
2026-04-08 10:10:05 +05:30
bde51a8b69 fix: prevent stale workspace URL from post-login redirect 2026-04-08 10:04:08 +05:30
1a2dbf5366 feat: upgrade IPD Document Master to OPD-style print builder
- Add paper print settings to IPD templates (page size/custom size/margins)\n- Add Header HTML, Footer HTML, and Style (CSS) support\n- Update IPD PDF renderer to honor template paper settings and header/footer\n- Extend IPD placeholders with logo/QR support: {{H_logo}}, {{H_logo_abs}}, {{hospital_logo_html}}, {{qr_content}}, {{qr_code_html}}\n- Improve token rendering with robust curly placeholder parser for body/header/footer\n- Keep legacy sticker forms aligned with custom label dimensions and migrate old default rows
2026-04-08 07:56:43 +05:30
503c26a70f fix: submit IPD document template edits via ajax 2026-04-07 19:52:28 +05:30
bca95f14e6 fix: {{medical}} prints Generic Name instead of Substitute in OPD consult print
Root cause: the fallback lookup from opd_med_master used
  $labelField = $masterSaltField ?? $masterGenericField
which preferred salt_name (the Substitute / other brand names field) over
genericname (the actual Generic Name / composition). If a prescription row's
inline genericname was empty, the Substitute string was written into it and
then printed as \"Salt/Generic\" in the {{medical}} block.

Fixes applied in three places:
1. Opd.php buildOpdLetterPrintData - master lookup now prefers genericname
2. Opd.php buildOpdLetterPrintData second loop - removed inline salt_name
   fallback that overwrote genericname with Substitute value
3. Opd.php buildLegacyDashboardTemplateVars - removed salt_name from the
   generic resolution chain used when rendering the medicine table HTML
4. Opd_prescription.php medicine list function - same preferGenericname fix
   and removed inline salt_name -> genericname overwrite"
2026-04-07 11:34:57 +05:30
2958f2e9b6 fix: queue no per-doctor-per-day isolation and stop auto-refresh on digest poll
- Queue No (Opd.php::autoCreateOpdQueue, Opd_prescription.php::opd_prescription_save
  and ::ensurePrescriptionSession): changed MAX(queue_no) query to JOIN through
  opd_master.doc_id instead of trusting opd_prescription.doc_id, ensuring queue
  numbering is strictly per-doctor per-day regardless of stale doc_id values in
  opd_prescription rows.

- OPD appointment list: replaced auto-reload-on-digest-change with a manual
  'Refresh' button. When the 8s digest poll detects new data the button turns
  yellow with a 'New' badge; the page only reloads when the user explicitly clicks
  it, preventing disruptive mid-session reloads."
2026-04-07 11:23:20 +05:30
1987b4856b Add ABDM and left-menu permission controls with route filters 2026-04-07 04:33:50 +05:30
5bae9088f3 Permission and menu management updates for Hospital Stock and OPD access 2026-04-07 04:25:02 +05:30
16f3c95053 Fix OPD template builder sync and formulation formatting 2026-04-07 03:55:53 +05:30
19db43762d Enhance OPD and patient workflows with live updates and UX improvements 2026-04-07 03:27:39 +05:30
16f654289e Move ABDM sandbox to task board and improve OPD queue handling 2026-04-06 13:55:19 +05:30
2fc3d3ddbc fix: remove Queue button from Waiting tab for confirmed paid OPDs 2026-04-06 13:23:14 +05:30
67664ab8ff fix: move confirmed opd appointments into waiting 2026-04-06 13:11:46 +05:30
ca4b4195aa fix: keep new OPD appointments in booked list 2026-04-06 12:51:11 +05:30
b03eb0064a fix: show booked queue actions in waiting list 2026-04-06 12:47:00 +05:30
44cb24c4e1 fix: restore legacy OPD queue workflow 2026-04-06 12:40:34 +05:30
f8cbaacfb0 perf: remove AI enrichment from consult new medicine save flow 2026-04-06 12:20:44 +05:30
30643c87f8 feat: add scan doc list modal and print medicine formulation prefix 2026-04-06 12:11:56 +05:30
2154af394c fix: build Next Visit chips from opd_nextvisit with date from today 2026-04-06 11:45:08 +05:30
f28fcf2717 feat: auto-create new consult medicines in OPD master with AI/local detail enrichment 2026-04-06 11:38:11 +05:30
c4865f6e03 fix: focus medicine name field after add/update in consult 2026-04-06 11:30:07 +05:30
1843460693 feat: restore Old Prescription panel with add-one/add-all into current consult 2026-04-06 11:24:11 +05:30
8a3157e579 fix: populate last_opdvisit_date token in OPD print templates with previous visit date 2026-04-06 10:42:03 +05:30
2fc4fbd82c fix: use Unicode-compatible Hindi fonts for IPD form PDF rendering 2026-04-06 09:17:48 +05:30
f09e16c3a2 fix: prevent provisional diagnosis from duplicating diagnosis token in OPD print 2026-04-06 08:38:35 +05:30
7e16ac92c2 fix: dynamic ABHA column SELECT in createOpdPrescriptionWorkTask (unknown column abha_no) 2026-04-06 00:01:08 +05:30
e049ddcf2b fix: dynamic ABHA column SELECT in openReportEditorPage to handle remote DB schema 2026-04-05 23:57:16 +05:30
062fc7ab32 feat: Add ABDM Task Board module with ABHA workflow
- Add ABDM sidebar heading and Task Board nav link
- Create migration 000040: abdm_work_tasks table
- Add AbdmTaskBoard controller with backfill methods
- Add AbdmWorkTaskService for task creation/deduplication
- Add AbdmGateway controller for ABDM API integration
- Separate task types: patient_abha_create vs patient_abha_update
- Add lab_report_publish and radiology_report_publish task types
- Patient.php: auto-create ABDM tasks on registration
- Diagnosis.php: auto-create tasks on report verify/finalize
- Task board UI: 7 filter buttons with default Unupdated ABHA view
- Fix SQL crash in backfillLabRadiologyTasks (dynamic column detection)
- Improve load_form AJAX error display with HTTP status + response text
- Add ABDM routes in Routes.php
- Add FHIR R4 builder library updates
- Add bridge sync service updates
2026-04-05 23:42:24 +05:30
9d88aaa2a6 Implement ABDM identity storage and align OPD consult/medicine dose masters 2026-04-04 17:26:40 +05:30
bd5601c131 Fix: force white panel heading text inline in diagnosis detail 2026-04-04 06:08:33 +05:30
e3cb4a475c Fix: force white card header title color in diagnosis detail 2026-04-04 06:03:54 +05:30
d5c81b96ce Fix: Report Operations card header changed to bg-primary text-white 2026-04-04 05:59:19 +05:30
9d68763eb0 Fix: force white text on Report Operations header via inline style (overrides BS5 bg-warning) 2026-04-04 05:56:52 +05:30
7e5ef40f70 Fix: Report Operations card header text white for readability 2026-04-04 05:55:15 +05:30
174484eae2 Diagnosis UI: radiology labels, sub-div navigation, search bar layout, back button fix 2026-04-04 05:49:49 +05:30
2b6b097cca Fix: Person Profile shows patient name and relative on separate lines 2026-04-04 05:46:01 +05:30
46a22f6e02 OEM lab refresh: fix id=0 seed issue (NO_AUTO_VALUE_ON_ZERO) and add one-shot refresh command 2026-04-03 16:21:54 +05:30
9d2f91e73a Pathology report list: optional hc_items filter with null-safe fallback 2026-04-03 16:15:23 +05:30
ab4b9a39f8 Pathology report list: exclude mixed ultrasound by requiring lab_repotests mapping 2026-04-03 16:09:50 +05:30
d9e4d50dc6 Pathology report list: include all lab_repo templates even if group mapping missing 2026-04-03 16:06:26 +05:30
721f374521 Pathology report list: show templates without strict hc_items join filter 2026-04-03 16:03:12 +05:30
259ea1331a Diagnosis: fix ONLY_FULL_GROUP_BY in edit test data query 2026-04-03 15:55:24 +05:30
71a6a7e36e Charges invoice print: include payment ID and date in receipt details 2026-04-03 15:46:05 +05:30
37976c8cf1 Charges invoice print: show payment details (Cash/Bank receipts, IPD/Org credit) on portrait mode 2026-04-03 15:42:46 +05:30
1be7b51812 OEM: add spark command oem:export-lab-templates to regenerate seed files 2026-04-03 15:29:11 +05:30
f79d7f50c9 OEM seeder: lab & radiology report templates for fresh installs 2026-04-03 15:18:24 +05:30
fd28d6a01e IPD cash balance: fix date range picker submission and parser 2026-04-03 14:13:05 +05:30
a02340b90c IPD cash balance: fix ONLY_FULL_GROUP_BY on report query 2026-04-03 14:07:54 +05:30
eec58b546d OPD templates: render short description with nl2br 2026-04-03 13:59:57 +05:30
e009b748ca OPD templates: add doctor short description placeholder tokens 2026-04-03 13:46:10 +05:30
34f31aed6a Diagnosis: fix ONLY_FULL_GROUP_BY in lab search queries 2026-04-03 13:32:56 +05:30
435192f81a IPD payment receipt: fix modal loader, add PDF print route, and bank mode details 2026-04-03 13:29:03 +05:30
e282289227 Default new patient blood group to Not Define 2026-04-02 17:49:45 +05:30
fc0a2c62d8 fix(ui): use logo.ico favicon in help, license, and stock print pages 2026-04-02 12:27:24 +05:30
bae07392d2 chore(ui-docs): add help/license links, favicon, and branding asset tracking 2026-04-02 12:23:22 +05:30
d8f75b3a29 feat(stock): add modular hospital stock management with dashboard, masters, indents, purchase and reports 2026-04-02 10:28:38 +05:30
584c9ce59d Fix BedManagement controller header to restore bed-status route 2026-04-02 06:27:52 +05:30
7b7c9e510e Bed Status: graphic ward/floor map with patient search, colour-coded bed cards 2026-04-02 06:25:26 +05:30
7b04c8e419 Add Echo modality to diagnosis navigation and charge group setup 2026-04-02 05:12:08 +05:30
2b391705fe Rx print: persist and print Hindi advice from opd_advice 2026-04-01 20:23:10 +05:30
ddf8fd2345 Rx print: use regex sign extraction for dose Hindi lookup from opd_dose_shed 2026-04-01 20:13:10 +05:30
0d500d82b2 Rx print: fix dose translation (prefix match + one-time-a-day), consistent 11px Hindi font 2026-04-01 20:08:00 +05:30
caba6dc84b Rx print: professional font, vitals on one line, advice in Hindi 2026-04-01 20:01:38 +05:30
c3f07db430 Fix consult profile add: avoid duplicate investigation code 500 2026-04-01 19:33:55 +05:30
f4891c0bb4 Fix profile master data loading and remove city_auto_u migration 2026-04-01 19:22:03 +05:30
14a5a4e79a Add InvestigationMasterSeeder: 85 lab tests + 15 investigation profiles 2026-04-01 18:52:40 +05:30
94e1253e40 Investigation Profile Master: CRUD and consult integration 2026-04-01 18:44:52 +05:30
d06fe77f03 Investigation Master: use legacy investigation key field 2026-04-01 18:33:20 +05:30
771fa64778 Investigation Master: CRUD, favourites, specialization filter 2026-04-01 18:26:33 +05:30
e27a69df5d OPD/IPD: add dosage defaults to medicine master form; make drug allergy non-mandatory (default: Allergies Not Known) 2026-04-01 18:12:25 +05:30
a5c604b486 Medicine edit: rename Salt Name label to Substitute 2026-04-01 18:01:51 +05:30
c27e44c9b1 Consult: remove Active/Favorites/All scope buttons, always search all medicines 2026-04-01 17:56:22 +05:30