Commit Graph

81 Commits

Author SHA1 Message Date
9e91628370 feat: add manual speech mode switch (Auto/Browser/Server)
- Added Mic Mode selector in consult header
- Apply one preference to both Complaints Mic and Med Mic
- Browser mode can be forced to bypass /stt-proxy 400 errors
- Preference persisted in localStorage
- Mode change stops active recordings safely before applying
2026-03-30 19:21:12 +05:30
f82751db27 feat: add browser fallback mode for Med Mic
- Med Mic now supports server mode and browser speech-recognition mode
- auto-select mode from STT server health: server -> browser -> off
- click behavior updated for both modes (start/stop on same button)
- server failure now auto-falls back to browser mode when supported
- Med Mic labels now reflect current mode (server/browser/off)
2026-03-30 19:15:37 +05:30
bfd155510a fix: diagnose and reduce STT 400 errors
- sttProxy now returns detailed upload error info (code, error string, php limits)
- sttProxy accepts fallback upload field name 'file' in addition to 'audio'
- reject empty audio payloads with explicit message
- client: guard against very short/empty blobs before POST to /stt-proxy
2026-03-30 19:12:49 +05:30
311a7bce4b fix: mixed-content block for STT on HTTPS - add server-side proxy
Production runs HTTPS; browser blocks http://139.59.13.39:8000 (mixed content).
Solution: CI4 proxy endpoints forward audio/health check server-side (HTTP→HTTP).

- Home::sttProxy()       POST stt-proxy    - forwards audio to STT server
- Home::sttProxyHealth() GET  stt-proxy/health - pings STT and returns {ok:bool}
- JS: auto-detect window.location.protocol; use proxy URLs on HTTPS,
  direct IP URLs on HTTP (local/dev)
- checkComplaintsSttServer: parse {ok:bool} from proxy health response
2026-03-30 19:03:20 +05:30
e6c9939b09 fix: Med Mic stop button not working - keep btn-medical-stt class on active button
When recording started, setMedicalMicButtonState() removed btn-medical-stt class
from the active button and the click handler (bound to .btn-medical-stt) never
fired on second click, so recording ran forever with no way to stop.
Fix: keep btn-medical-stt class always; only add/remove btn-danger for active state.
2026-03-30 19:01:19 +05:30
7bb539a620 fix: complaints mic - check server STT on init and handle server mode click
- initComplaintsSpeech() now calls checkComplaintsSttServer() async:
  server up → mode 'server', browser fallback → mode 'browser', else 'off'
- click handler now handles both 'server' and 'browser' modes
  (previously only 'browser' was handled, server mode click did nothing)
- show '…' while server health check is in progress to avoid confusion
2026-03-30 18:55:02 +05:30
17e2d8e16b feat: OPD speech-to-text mic, medicine label enhancements & template search
- Add complaints Speech-to-Text (browser + server STT fallback) with interim preview
- Add Medical Mic (server STT) for examination, diagnosis, provisional diagnosis fields
- Add speech-test route + Home::speechTest() view for STT testing
- OPD prescription: resolve dosage/when/frequency labels from lookup tables
- OPD prescription: show generic/salt name below medicine name in print
- OPD prescription: translate complaints/diagnosis/advice/investigation to Hindi for patient
- Add translateToLocalPatientText() helper with English->Hindi medical term map
- Add 'Remove All' medicines button (btn_clear_medicine)
- Add template search box in Load Template modal
- Fix investigation batch add: dedup + guard against concurrent add
- Fix single investigation add: check duplicate before adding
- Fix rx status text overflow: ellipsis + title tooltip
- Remove unused FHIR History and Back to Invoice buttons from Rx header
- .gitignore: exclude public/uploads/* and writable/ayushman/*
2026-03-30 18:46:33 +05:30
8e981cdf15 Fix CURLRequest constants compatibility for AI server calls 2026-03-29 05:11:51 +05:30
d293c261e6 Add configurable footer version setting 2026-03-27 13:38:56 +05:30
b1ba3105c0 Fix AI medicine enrichment fallback and DataTable reinit issues 2026-03-27 04:16:22 +05:30
911e7b50a7 Add Ayushman package import, billing claim sheet, and reporting dashboards 2026-03-26 15:42:40 +05:30
99ec71677a Restore legacy HMS flows and add IPD document master templates 2026-03-24 04:24:19 +05:30
7ee67ff537 Fix collection total query for ONLY_FULL_GROUP_BY 2026-03-22 04:07:16 +05:30
cb2dad8aab Apply Indian date-time format across report tables 2026-03-22 04:03:05 +05:30
50e2a4f145 Enhance report actions with grouped controls and PDF exports 2026-03-22 04:01:06 +05:30
a519525fa3 Fix diagnosis report query for ONLY_FULL_GROUP_BY 2026-03-22 01:16:24 +05:30
ad70bb2b48 Update App baseURL host handling and report view changes 2026-03-22 00:56:28 +05:30
d2400fc5c2 Make complaints master migration idempotent for existing codes 2026-03-21 16:03:12 +05:30
3e810dec74 Harden medical invoice backfill migration for zero-date strict mode 2026-03-21 16:00:41 +05:30
04c35365cb Fix item request SQL function migration for binlog-safe settings 2026-03-21 15:59:22 +05:30
00e7e377ac Make GST insurance migration idempotent for existing columns 2026-03-21 15:57:15 +05:30
38093da3b9 Implement IPD admission/discharge editing, bill PDF modes, and invoice list view action 2026-03-21 15:47:18 +05:30
addef91468 Fix legacy billing prints and pathology template compatibility 2026-03-21 02:23:31 +05:30
300ec0e5cf feat: migrate OPD template flow to DB and apply related updates 2026-03-20 18:11:17 +05:30
145f9fba69 fix: harden hospital logo upload handling 2026-03-19 20:32:48 +05:30
47d7db6d8b refactor: remove Gemini integration and seed leakage paths
- Remove Gemini runtime fallback from OPD AI text generation and complaint drafting
- Remove legacy Gemini scan extraction path
- Update UI/provider labels to Azure/AI generic naming
- Make AI usage guardrail metrics provider-neutral (ai_today)
- Add seed export sanitization to exclude sensitive hospital_setting and audit entries
- Remove Gemini API audit entry from master seed JSON
2026-03-18 06:18:52 +05:30
4adc6d79d9 fix: redact Gemini key; exclude audit/log tables from seed exporter
- Redact AIzaSy Gemini key from clinical_audit_trail entries in seed JSON
- Add default never-export denylist to exportMasterSeedData() so that
  clinical_audit_trail, lab_log, bridge_sync_queue and session tables are
  always skipped when setup.seed.export_tables is not configured.
  This prevents API keys set via the admin UI from leaking into git via
  the audit trail even after being deleted from hospital_setting.
2026-03-18 06:13:30 +05:30
5cd045fbf3 chore: redact Azure API keys from master_seed_data.json 2026-03-18 06:07:58 +05:30
99e886df28 chore: normalize line endings in master_seed_data.json (CRLF→LF) 2026-03-18 06:03:52 +05:30
1856d990eb fix: add city_auto_u migration and fix HospitalProfile upload mkdir error
- Add migration 2026-03-18-000028_CreateCityAutoUTable.php to create
  the missing city_auto_u table (city, district, state columns) used
  by PatientModel::getCitySuggestions() — resolves 500 on /billing/patient/city

- Fix HospitalProfile::save() to check directory creation success before
  moving uploaded logo files; returns clean JSON error instead of
  throwing HTTPException when public/assets/images/ is not writable
2026-03-18 06:01:01 +05:30
df8c4c417c Seed Update 2026-03-18 05:17:47 +05:30
1e2a86708f Fix seed export blank output with case-insensitive table resolution and fallback export 2026-03-18 05:12:20 +05:30
cfc44d6691 Update master schema and enable normal tracking for local changes 2026-03-18 05:00:57 +05:30
ee3193ce43 Add master seed data export and auto-apply during setup install - idempotent REPLACE mode prevents duplicates 2026-03-18 04:41:51 +05:30
67fbc68c1c Prioritize parent tables and remove restrictive sync table cap 2026-03-18 03:19:50 +05:30
09abb98d95 Update exported master schema 2026-03-18 03:17:00 +05:30
31e7c21dd4 Order schema create statements by FK dependencies 2026-03-18 03:12:55 +05:30
47b957bf18 Handle referenced-table FK errors by creating tables without FK fallback 2026-03-18 03:08:22 +05:30
b9dc1afe4b Fix schema sync FK dependency ordering with retry passes 2026-03-18 03:06:22 +05:30
5c2177eabb Update server env and deployment fixes 2026-03-17 18:57:58 +05:30
d94797a433 Implement finance phase 2 pharmacy workflow and admin hospital/pharmacy profile settings 2026-03-17 04:05:02 +05:30
1dee940ac0 feat(diagnosis): add print templates with image upload and optimize PDF rendering 2026-03-15 06:50:44 +05:30
68dfbaf006 feat(imaging-ai): add DICOM preview and AI diagnosis support 2026-03-13 05:22:50 +05:30
01156a1ee2 Diagnosis: add full-page radiology editor with imaging AI workflow 2026-03-11 03:24:45 +05:30
aa845ac5ff Add report panel updates and related billing/discharge enhancements 2026-03-10 02:43:35 +05:30
2127063c7f Add nursing scan-to-structured workflow and discharge UI polish 2026-03-09 00:12:04 +05:30
13e058db95 IPD discharge: align preview with legacy pathology/report output 2026-03-07 04:15:04 +05:30
0086ab8d65 Skip DataTables init when stock table is in empty-state row mode 2026-03-05 14:57:22 +05:30
efd509d3ac Fix MariaDB aggregate alias error in store stock ratio query 2026-03-05 14:53:28 +05:30
8231190713 Force admin email_password identity upsert during setup reset 2026-03-05 14:19:02 +05:30