6f6286f427
Add {{Tadvise_test_list}} placeholder for investigation test names
...
Created new OPD template placeholder to display investigation test names
as a formatted HTML list, separate from the textarea {{investigation}}.
Changes:
- app/Controllers/Opd.php:
* Added $rxInvestigationTestList variable in buildLegacyDashboardTemplateVars()
* Builds HTML <ul> list from rx_investigations test names
* Added 'Tadvise_test_list' token to return array
- app/Views/billing/opd_template_builder.php:
* Added 'Tadvise_test_list' to $opdConsultSet placeholder list
* Now appears in "OPD Consult" group in template builder
Usage in OPD templates:
- {{investigation}} = comma-separated test names (for textarea)
- {{Tadvise_test_list}} = formatted HTML bullet list of test names (for print/display)
Example output:
<ul style="margin:3px 0 0 16px;padding:0;list-style-type:disc;">
<li>CBC (Complete Blood Count)</li>
<li>USG WHOLE ABDOMEN</li>
<li>ECG (Electrocardiogram)</li>
</ul>
2026-06-05 15:15:15 +05:30
a572bbabae
Simplify org-case queries to match CI3 pattern
...
Changed from complex string comparisons to simple integer comparisons matching legacy CI3 code:
OPD query (CI3 pattern):
- OLD: o.insurance_case_id = cast(c.id as char) OR o.insurance_case_id = c.case_id_code
- NEW: o.insurance_case_id = c.id (integer comparison)
Invoice query (CI3 pattern):
- OLD: i.insurance_case_id = c.id OR i.insurance_case_id = c.case_id_code (with NULL/0 checks)
- NEW: i.insurance_case_id = c.id (integer comparison)
Schema notes:
- opd_master.insurance_case_id: int(11)
- invoice_master.insurance_case_id: varchar(50) (but stores numeric IDs)
MySQL varchar→int conversion handles this correctly:
- '4997' → 4997 (matches)
- '0' → 0 (doesn't match 4997)
- 'C26060004997' → 0 (doesn't match 4997)
Applied to:
- getOrganizationCaseInvoiceRows() union query
- updateOrgTotals() aggregate queries
- search() case list query
2026-06-05 14:14:22 +05:30
ba9d17d5e6
Fix org-case invoice query: exclude empty insurance_case_id
...
Root cause: 50k+ invoices had insurance_case_id='0', and MySQL string comparison '0'='C26060004997' matched (both convert to numeric 0).
Fix: Exclude NULL/empty/'0' insurance_case_id before comparison in:
- getOrganizationCaseInvoiceRows() union query
- updateOrgTotals() aggregate queries
Result: Case C26060004997 now returns 9 rows instead of 56,786 (memory crash fixed)
2026-06-05 14:09:26 +05:30
4c5e0748bb
Revert patient ID fallback - use insurance_case_id only
2026-06-05 13:55:50 +05:30
e80e18600d
Fix org-case invoice scoping
2026-06-05 13:49:58 +05:30
6e3a355e03
Fix org case invoice and discharge PDF rendering
2026-06-05 13:43:19 +05:30
9c295c55c8
fix(discharge): enforce pdf response and sanitize template html
2026-06-05 12:03:47 +05:30
499a9bea31
fix(orgcase): fallback invoice linkage by patient and case
2026-06-05 11:45:01 +05:30
bd820a7939
fix(orgcase): use insurance amount1 in union invoice query
2026-06-05 11:37:23 +05:30
e7d6dd88d2
fix(orgcase): avoid missing discount column in union query
2026-06-05 11:34:52 +05:30
9f1d5b93e6
fix(orgcase): restore legacy union invoice rows
2026-06-05 11:32:01 +05:30
48222bb689
fix(orgcase): include OPD rows linked by case code
2026-06-05 11:27:24 +05:30
561adb9647
feat(discharge): add department and time placeholders
2026-06-05 11:05:00 +05:30
23fd1bf73f
fix(discharge): render html fragments and reorder sections
2026-06-05 10:42:14 +05:30
0b05d7284c
feat(discharge): support section placeholders
2026-06-05 10:24:31 +05:30
472b8367d9
fix(discharge): remove blank-header fallback and improve auto summary
2026-06-05 09:50:58 +05:30
55e56176aa
fix(discharge-ui): simplify preview and remove ABDM sandbox panel
2026-06-05 09:40:30 +05:30
3666875782
fix(discharge-pdf): suppress borders for border=0 tables
2026-06-05 08:39:48 +05:30
a076d48859
fix(discharge): apply latest controller adjustments
2026-06-05 08:31:02 +05:30
8f57288d2a
fix(discharge): apply latest Ipd_discharge updates
2026-06-05 08:29:11 +05:30
c9c70a9ce5
fix(discharge): support borderless medication table in preview and PDF
2026-06-05 08:15:33 +05:30
3d8ebb1ed3
fix(discharge-preview): match table border CSS with PDF output
2026-06-05 08:08:30 +05:30
7527fc315a
fix(discharge): apply latest controller updates
2026-06-05 08:04:31 +05:30
b47b41ce8a
fix(discharge-pdf): remove auto title/template block from body
2026-06-05 07:40:43 +05:30
f341e8e76e
fix(discharge-template): make delete endpoint reliable for URL and AJAX
2026-06-05 07:37:39 +05:30
a169ab174b
fix(discharge): render header/footer hospital placeholders in PDF
2026-06-05 07:33:07 +05:30
171ff50155
fix(template): backfill discharge template columns for legacy schemas
2026-06-05 07:20:43 +05:30
fdb7c15f85
Fix discharge template page edit flow and AJAX save/delete
2026-06-05 07:12:58 +05:30
e6ffebb96d
Render discharge PDF with content-only body and remove duplicate top meta blocks
2026-06-05 07:05:25 +05:30
21e662a0e6
Fix duplicate discharge summary header when using content placeholder
2026-06-05 06:47:39 +05:30
ecb55e7329
Add page settings and header footer support to discharge templates
2026-06-05 06:22:13 +05:30
226f956985
Add discharge preview and PDF quick-launch to template settings
2026-06-05 06:17:59 +05:30
b6a2e956d8
Remove heading from combined NABH panel placeholder
2026-06-05 06:05:06 +05:30
806044ff93
Add single conditional NABH panel placeholder
2026-06-05 06:00:43 +05:30
8bfd11ccda
Persist consult NABH fields via remarks fallback
2026-06-05 05:53:24 +05:30
c4a6e95933
Add explicit OPD NABH allergy raw and block placeholders
2026-06-05 05:47:16 +05:30
14fb1fd400
Fix OPD placeholder collisions for vitals and allergy blocks
2026-06-05 05:29:58 +05:30
51daaa989a
Fix OPD pain/allergy placeholders and hide No Pain block
2026-06-05 04:51:05 +05:30
dc2a0da1ee
Use mPDF-safe mm spacer blocks for OPD section gaps
2026-06-05 04:26:23 +05:30
dbda578d68
Harden OPD block spacing and add debug_html output mode
2026-06-05 04:18:48 +05:30
f358bbd66c
More spacing between OPD print blocks; add margin around medicine table
2026-06-05 04:13:21 +05:30
3a06c32dc5
Increase spacing between OPD print placeholder blocks
2026-06-05 04:08:20 +05:30
6bdef9bb9d
Improve OPD print block typography for professional output
2026-06-05 03:54:52 +05:30
a1ba8f0e6b
Enhance OPD template placeholders and list rendering
2026-06-05 03:48:24 +05:30
b3e8a1a692
Refine OPD template builder UI and preview behavior
2026-06-05 03:34:08 +05:30
700741ab9b
Fix billing case creation reusing old records
2026-06-04 15:55:08 +05:30
45c36e730c
Fix diagnosis chip duplication in consult form
2026-06-04 14:22:34 +05:30
b575560a00
Fix complaint chip duplication in consult form
2026-06-04 14:09:24 +05:30
c692340bb2
Store ABDM bundles in health records
2026-06-03 11:05:40 +05:30
45abd3ca76
Store ABHA ID and ABHA address separately
2026-06-02 06:00:35 +05:30
510d121478
Normalize OPD preview bundle_type from profile
2026-06-01 14:04:44 +05:30
c68816ce57
Upgrade regenerated OPD bundle_type to OPConsultRecord
2026-06-01 14:02:23 +05:30
6f312dd0d8
Add manual GET wrapper for FHIR regenerate
2026-06-01 14:00:02 +05:30
b0e3459c19
Add ABDM careContexts and OPD visit key
2026-06-01 13:54:56 +05:30
00c45ea7c4
Accept OPConsultRecord bundle lookups
2026-06-01 13:34:35 +05:30
b70e88dd75
Use OPConsultRecord for OPD bundles
2026-06-01 13:31:53 +05:30
33fc87ac88
Fix OPD FHIR submit record reference
2026-06-01 13:29:10 +05:30
9de803ace7
Send ABDM HFR ID only
2026-06-01 13:24:59 +05:30
e8ec06e8f8
Harden ABDM health record push payloads
2026-06-01 13:23:54 +05:30
07ed8ff305
Sanitize OPD FHIR patient name placeholders
2026-06-01 10:57:30 +05:30
f079f32f58
Restore legacy pharmacy reports and fix net/payment totals
2026-06-01 10:53:27 +05:30
252f911fad
Add pharmacy invoice permissions and discount print fixes
2026-06-01 10:13:40 +05:30
7422f9c170
Normalize ABDM HI types to gateway accepted *Record values
2026-06-01 07:22:20 +05:30
40cd6d6414
Include HFR ID in HIP link payloads for e-Atria bridge
2026-06-01 07:13:36 +05:30
b12652d6e0
Align ABDM bridge workflow APIs and add report doctor mapping
2026-06-01 07:02:34 +05:30
e1d9e85e64
Fix FHIR DiagnosticReportRecord datetime and practitioner quality
2026-06-01 06:01:24 +05:30
7595f9fd29
fix(ipd-discharge): make lab date query compatible with only_full_group_by
2026-05-31 21:43:57 +05:30
701111b75e
fix(patient): avoid queue_no select on legacy opd_master schema
2026-05-31 21:02:55 +05:30
8f16f1e6ec
fix(routes): add my-profile save-settings endpoint
2026-05-31 20:51:22 +05:30
5a5cc570f5
fix(routes): add healthplix settings admin routes
2026-05-31 19:19:18 +05:30
0ebf8d2a8a
ABDM: enforce PDF-backed report submit and improve gateway tracking
2026-05-31 04:17:39 +05:30
7253fa0cca
Improve radiology template workflow and editor stability
2026-05-30 18:01:20 +05:30
78c23af7e5
Checkpoint: pathology panel modal workflow, gateway component search, and ABDM-style component/print editors
2026-05-30 06:32:30 +05:30
e449af8137
fix(pharmacy): make packing numeric in product form
2026-05-26 13:25:55 +05:30
218d7f7e50
fix(pharmacy): calculate invoice unit rate from mrp and packing
2026-05-26 13:21:36 +05:30
298647b80b
fix(pharmacy): finalize product page panel toggle and GST selector behavior
2026-05-26 13:07:46 +05:30
032ff4f1ab
fix(ui): disable ajax cache for dynamic panel loads
2026-05-26 13:07:03 +05:30
89a4053ede
fix(drug-master): keep search shell visible with nested sub panel
2026-05-26 06:20:56 +05:30
fc2ccc91c2
fix(drug-master): keep add edit flow in medical-main container
2026-05-26 06:15:14 +05:30
4ed366ccb2
feat: commit all pending page and ABDM gateway updates
2026-05-26 06:04:34 +05:30
c97db078a9
fix(product-edit): use short formulation master and manufacturer payload name
2026-05-26 06:02:26 +05:30
e5899e59ac
Fix drug autocomplete to show medicine name over identifiers
2026-05-25 14:38:06 +05:30
e3290625cc
Pharmacy autocomplete: Tab key selects highlighted medicine
2026-05-25 14:14:51 +05:30
2941fadcac
Pharmacy product edit: suggestion keyboard nav + immediate parsed autofill
2026-05-25 14:12:33 +05:30
e221581578
Pharmacy product edit: smarter medicine autofill from ABDM label/detail
2026-05-25 14:07:11 +05:30
0558ac5a2e
Pharmacy: add ABDM drug terminology autocomplete + canonical mapping
2026-05-25 13:57:56 +05:30
12cacc3a9c
Pharmacy drug master: switch to AJAX DataTable search
2026-05-25 12:47:14 +05:30
e15d876a3f
Fix ABDM OPD HMS patient profile link route to person_record
2026-05-25 12:14:23 +05:30
34ff92f685
fix(abdm-opd): open pdf print links directly instead of ajax modal load
2026-05-24 07:36:20 +05:30
fcc7ef50e6
fix(abdm-opd): make addopd/showfee workflow functional inside modal
2026-05-24 07:32:49 +05:30
d6c94a0972
feat(abdm-opd): open add OPD visit in modal iframe
2026-05-24 07:26:38 +05:30
8a5624264c
feat(abdm-opd): open OPD registration inside modal iframe
2026-05-24 07:25:52 +05:30
c590087a60
feat(abdm-opd): editable pre-save patient form for Register OPD
2026-05-24 07:16:32 +05:30
8a7b4440c5
fix(abdm-opd): prevent inline payload parsing error in Register OPD modal
2026-05-24 07:08:33 +05:30
b352073ec6
feat(abdm-opd): duplicate-aware Register OPD flow with existing/new patient confirmation
2026-05-24 07:04:42 +05:30
fc50158418
fix(abdm-opd-queue): keep called token visible after call action
2026-05-24 06:56:25 +05:30
23cca1f9ba
feat(abdm): proper FHIR bundles for lab reports and IPD discharge
...
- FhirR4Builder: rewrite buildLabReportBundle() with DiagnosticReportLab
profile, structured Observation valueQuantity/valueString, reference
ranges, interpretation codes, Binary+DocumentReference for HTML report,
Encounter resource, HFR-based bundle identifier system
- FhirR4Builder: rewrite buildDischargeSummaryBundle() with optional
Practitioner/Organization params, structured ABDM sections (chief
complaints 422843007, medical history 1003642006, investigations
721981007, procedures 1003640003, medications 721912009, follow-up
736271009), HFR-based bundle identifier system
- AbdmGateway: shareIpdDischargeBundle() now builds a real
DischargeSummaryRecord FHIR bundle and posts via pushRecord()
(POST /v3/records/push) instead of the stale shareIpdDischargeBundle()
- AbdmGateway: shareDiagnosisReportBundle() now builds a real
DiagnosticReportRecord FHIR bundle and posts via pushRecord()
instead of the stale shareDiagnosisReportBundle()
- AbdmGateway: add getHospitalProfileForFhir() and mapLabTypeToTitle()
helpers; fix pre-existing undefined \ bug in
getActiveConsentRecord()
- Add ABDM_FHIR reference package, AbdmBridgeLog controller/view,
bridge record migration, debug scripts and misc UI/settings updates
2026-05-23 04:41:59 +05:30
1b6f2c2db7
feat: Add Submit to ABDM button on FHIR bundle preview
...
- POST Opd_prescription/fhir_bundle_submit endpoint:
loads stored FHIR bundle, fetches patient/OPD/doctor context,
calls EAtriaBridgeConnector::pushRecord to push to bridge
- Standalone preview page (/Opd_prescription/fhir_bundle_preview/N):
added Submit to ABDM Bridge button with CSRF-safe AJAX + inline
success/error alert
- FHIR modal in task_board.php: added Submit to ABDM button next
to Copy JSON; JS reads _fhirOpdId/_fhirSessionId and posts to
fhir_bundle_submit with CSRF token refresh
2026-05-22 15:54:13 +05:30
6d851f0e9e
ABDM compliance: fix OPConsult bundle to match NRCES IG v6.5.0
...
- Use UUID v4 for all resources + urn:uuid: references (not Patient/123)
- Add fullUrl on every entry (required by FHIR Document bundle spec)
- Fix Composition.type: LOINC 34133-9 -> SNOMED CT 371530004
(Clinical consultation report)
- Add meta.profile to Bundle, Composition, Patient, Practitioner,
Organization, Encounter, Condition, Observation, AllergyIntolerance,
MedicationRequest, ServiceRequest, Appointment
- Bundle identifier system: urn:ietf:rfc:3986 -> http://hip.in
- Bundle meta.security: add V (very restricted) confidentiality
- All timestamps: ISO 8601 with +05:30 offset (new isoTimestamp())
- Add generateUuid() private helper using random_bytes
- Composition: add language en-IN, identifier (ndhm.in/phr), custodian,
author fallback, encounter reference
- Section SNOMED codes: Chief complaints 422843007, Allergies 722446000,
Physical Examination 425044008, Diagnoses 439401001,
Medications 721912009, Investigation Advice 721963009, Follow Up 736271009
- Separate Chief Complaints from Diagnoses sections
- Encounter.diagnosis.use: SNOMED 39154008 (confirmed) / 148006 (preliminary)
- Practitioner identifier: doctor.ndhm.gov.in system with MD type code
- Organization identifier: facility.ndhm.gov.in system with PRN type code
- Patient identifier: healthid.ndhm.gov.in (was abdm.gov.in) + MR type code
- ServiceRequest/MedicationRequest: add requester from Practitioner
2026-05-20 03:40:40 +05:30
ba6b479da6
fix: add arrow-key/Enter/Escape navigation for SNOMED dropdown in FHIR form
2026-05-20 03:21:06 +05:30
0fe556f37e
fix: preserve doctor original text in FHIR form; add live complaint/diagnosis terms to preview
2026-05-20 03:14:17 +05:30
78060d03c8
feat: FHIR form view — inline diagnosis SNOMED edit + show doctor's original text
2026-05-20 03:02:03 +05:30
70bc85ae0c
fix: restore advice_search() method declaration lost in prior commit
2026-05-20 02:53:48 +05:30
4250000d43
feat: FHIR form view — inline complaint SNOMED edit with live search and save
2026-05-20 02:49:36 +05:30
a0989d3a4b
feat: FHIR preview modal — Form View tab with patient/complaints/diagnosis/vitals/medications cards
2026-05-20 02:34:00 +05:30
44fbd5d1cc
feat: FHIR preview modal — Update Codes dropdown + code quality badges
2026-05-20 02:17:23 +05:30
cd18551ce2
feat: FHIR bundle — use complaint_snomed_json for coded complaints (SNOMED + severity + duration)
2026-05-20 02:08:01 +05:30
0dd6a18167
feat: Clinical Master — inline table style with expand-in-place SNOMED assignment
2026-05-20 01:49:00 +05:30
32c1dc20e1
feat: Clinical Master workspace — Complaints + Diagnosis edit with SNOMED CT search
2026-05-20 01:25:01 +05:30
e33b0809a0
fix: fhir_bundle_preview returns JSON for AJAX (modal) requests, HTML for direct browser
2026-05-20 00:56:56 +05:30
e9ccc40685
fix: remove orphaned JS listeners for deleted Quick FHIR Preview elements (null getElementById error)
2026-05-20 00:52:21 +05:30
e5ec25dfd3
feat: OPD Consult Publish - Preview FHIR opens in modal dialog
2026-05-20 00:48:33 +05:30
fd7b9df3f4
ui: remove Quick FHIR Preview and Today Credit OPD cards from task board
2026-05-20 00:31:56 +05:30
ed4e7c1fe4
feat: ABDM task board — remove All, rename ABHA Update, add OPD Book + OPD Consult Publish sections
2026-05-20 00:29:00 +05:30
368c0b831d
ui: ABDM task board — full-width layout (remove max-width 1280px)
2026-05-20 00:14:23 +05:30
02ec0034d7
fix: stop injecting Diagnosis SNOMED lines into Prescription textarea — data is in diagnosis_json; strip legacy lines on save
2026-05-19 23:46:44 +05:30
e81ca3d238
fix: Enter adds typed free text in complaint/diagnosis — no auto-pick of first dropdown item
2026-05-19 23:35:39 +05:30
77f5946cf5
feat: Healthplix-style diagnosis table — inline tfoot input, remove Code col, fix delete idx=0, Duration->lookup flow
2026-05-19 23:25:36 +05:30
7a70f41c45
fix: after Duration, focus complaint_lookup for next complaint (not back to severity)
2026-05-19 23:17:15 +05:30
6af99c5421
fix: complaint table — delete idx=0 falsy bug, frequency arrow keys, severity->duration focus
2026-05-19 23:14:26 +05:30
9fe9c971f1
feat: Healthplix-style complaint table — inline row editing with Frequency/Severity/Duration/Date columns, remove Extract Codes button
2026-05-19 22:58:52 +05:30
e275a20946
fix: remove JS-style \u00a0 from PHP PCRE duration regex (PCRE2 does not support \u)
2026-05-19 22:38:33 +05:30
b702ff6fdc
feat: complaint Extract Codes button with SNOMED chip review panel
...
- Add 'Extract Codes' button to complaint lookup input
- Parse free-text with duration/severity extraction (regex: 3 days, moderate etc)
- Call Opd_prescription/complaints_extract endpoint -> local SNOMED FULLTEXT
- Render inline chip cards: term, concept_id, duration, severity, confidence%
- Doctor clicks confirm (green tick) or reject (red x) per chip in seconds
- Confirm pre-fills duration+severity in complaint table row automatically
- 'Confirm All' bulk action; Dismiss clears panel
- Add complaints_extract controller method + parseComplaintFreeText helper
- Add route Opd_prescription/complaints_extract
2026-05-19 22:30:23 +05:30
a56e8a5776
feat: SNOMED background coding pipeline + ABDM Coding Panel
...
- Add opd_coding_queue + opd_snomed_suggestions migrations
- Add ProcessSnomedCoding spark command (cron: snomed:process-coding)
Extracts clinical phrases, matches local SNOMED FULLTEXT, saves suggestions
- Add AbdmCodingPanel controller: index/review/confirm/reject/correct/mark_fhir_ready/tip_check
- Add coding_panel + coding_panel_review views (Bootstrap 5, AJAX actions)
- Inject queue trigger in opd_prescription_save (fail-open, ON DUPLICATE KEY)
- Add consult form tip badge: polls tip_check 4s after save, shows review link
- Add AbdmCodingPanel routes behind abdm permission filter
- Various ABDM gateway, FHIR, ABHA, SNOMED library updates
2026-05-19 20:40:27 +05:30
0628f8f813
feat: ABDM OPD Queue + ABHA Register flow + patient ABHA search fix
...
ABDM OPD Queue (today):
- New EAtriaBridgeConnector: opdQueueFetch/opdTokenCreate/opdTokenUpdateStatus + patch() helper
- New AbdmOpdQueue controller: index/list/fetchQueue/createToken/updateTokenStatus/processScannedToken
- fetchQueue syncs gateway tokens into abdm_opd_tokens (local DB) and enriches with HMS patient data
- processScannedToken auto-finds/creates patient_master record from ABHA scan data, marks token CALLED
- New migration: abdm_opd_tokens table (gateway_token_id, source, status, patient_id, opd_id, processed_at)
- New view: abdm/opd_queue.php - reception screen with auto-refresh 30s, HMS Patient column (green row when OPD registered)
- Sidebar: ABDM OPD Queue nav link added
- Routes: AbdmOpdQueue with abdmPermFilter
ABHA Register tab (earlier this session):
- New Abha controller: initiate/verifyOtp/communication/verifyCommOtp/validateAbha/card + autoCreateOrFindPatient
- New views: abha/card.php, partials/abha_create_panel.php, partials/abha_otp_modal.php
- Patient_V.php: ABHA Register tab with 4-method wizard (ABHA number, QR scan, facility QR, mobile OTP)
Patient ABHA search fix:
- Patient::search() now detects ABHA column (abha_id/abha_no/abha/abha_address) and searches by it
ABDM Bridge infrastructure:
- EAtriaBridgeConnector: new connector for e-atria.in ABDM bridge gateway
- AbdmConnectorFactory/Interface updated
- AbdmGatewaySettings controller + view
- SNOMED/CSNOTK terminology service skeleton
- Finance payout OPD consult views
- Migration: AddAbdmPushFieldsToOpdAndPatient, CreateSnomedCoreTables
- Docs: abdm/ API specs, architecture, gateway guides
2026-05-16 04:21:31 +05:30
f311d50745
OPD consult: add women history fields, persist in history, update print sections
2026-05-12 12:52:13 +05:30
6d6dad5ca0
abdm: add Dreamsoft URL/token/sourceCode to AbdmConnector config + config-file fallback in BridgeSyncService::readSetting
2026-05-08 23:14:16 +05:30
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