Commit Graph

1021 Commits

Author SHA1 Message Date
f2e27828bb fix(abha): make verification match modal aware of unique ABHA ID and dynamic titles 2026-09-12 05:23:33 +05:30
7e3c57f48f fix(patient): enforce unique ABHA ID and Aadhaar number on patient registration and updates 2026-09-12 04:30:10 +05:30
35e1018c6b fix(abdm): prevent modal redirect to profile step on wrong OTP verification 2026-09-12 01:48:33 +05:30
7c573403b2 fix(abdm): isolate Aadhaar mobile from ABHA registered mobile and sanitize asterisk placeholders in verification flow 2026-09-12 00:35:51 +05:30
fd492a2aa2 feat(abdm-m1): implement Create / Find ABHA Record wizard aligned with ABDM M1 specifications
- Reorder and streamline wizard into 5 steps (Aadhaar, Aadhaar OTP, Mobile OTP, ABHA Address, Profile & Card)
- Add Aadhaar vs Communication mobile matching to skip or mandate mobile OTP (CRT_ABHA_108 vs CRT_ABHA_109)
- Enforce full consent declarations with master 'I Agree' checkbox and step validation (CRT_ABHA_102)
- Enforce UIDAI Verhoeff algorithm pre-validation and normalize upstream loginId errors (CRT_ABHA_104 / VRFY_ABHA_403)
- Enforce ABHA address validation policy: 8-18 chars, dot/underscore in between only, duplicate detection (CRT_ABHA_112)
- Enforce 60s timer and maximum 2 resend attempts on both OTP verification steps (CRT_ABHA_106)
- Support instant jump to profile & card for existing accounts with 'ABHA Already Exist' notice (VRFY_ABHA_404)
- Update Patient Management and Profile view buttons to 'Create / Find ABHA Record'
2026-09-11 22:11:17 +05:30
93172c4a19 feat(pharmacy): add searchable All Invoices register tab with edit capabilities and POS draft auto-save/recovery 2026-09-10 09:50:34 +05:30
741269634e feat(pharmacy): add right-side patient old records, last dispensed medicines, and 1-click re-dispense/return desk 2026-09-10 09:23:59 +05:30
261a69bf2e feat(medical-store): set A5 invoice to landscape format (A5-L) and remove copy text button from thermal view 2026-09-10 08:22:20 +05:30
82cae89fae feat(medical-store): add server-side A4/A5 vector PDF generation with mPDF and 48-col plain-text thermal receipt printing 2026-09-10 08:09:10 +05:30
5187fcf3ed feat(tax): standardize current GST slabs (0%, 5%, 18%, 40%, legacy 12%, 28%) across HMS and Medical Store 2026-09-10 07:13:04 +05:30
358416fc10 feat(medical-store): conditional pharma fields below product search with auto-fill from last batch and purchase 2026-09-10 06:47:49 +05:30
59514cd061 feat(medical-store): pharma stock entry with progressive disclosure, challan import, and history 2026-09-10 06:35:05 +05:30
48bb726b6d feat(medical-store): add edit purchase invoice option with stock adjustment and ledger reconciliation 2026-09-10 05:43:11 +05:30
ca6926015a fix(medical-store): remove third-party brand Marg from application and replace with generic Excel/CSV import 2026-09-10 04:58:59 +05:30
e635e823e5 feat(medical-store): add supplier ledger, payment tracking, short items book, and purchase orders 2026-09-10 04:49:00 +05:30
62397c5a98 feat(medical-store): inward purchase medicine auto-search and shared pharmacy master integration 2026-09-10 04:23:09 +05:30
101e0631a8 feat(medical-store): add supplier creation and editing modal in Supplier Directory 2026-09-10 03:53:33 +05:30
b89bace2c9 fix(abdm): resolve 500 internal server error on ABHA patient request list 2026-09-09 18:46:28 +05:30
9176877d07 feat(abdm): implement M1 find ABHA by mobile flow & M2 user-initiated linking
- M1: Update Find ABHA via Mobile to compliance flow: Mobile Number -> Profiles -> OTP -> Complete Profile Fetched
- M2: Support walk-in non-ABHA patient discovery via demographic matching (verified mobile, gender, year of birth, name)
- M2: Implement care context linking endpoints (/records/link/init and /records/link/confirm) with OTP verification
- Add abdm_link_transactions database migration
- Support Bearer token and HMAC signature authentication for bridge callbacks over VPN
2026-09-09 17:52:20 +05:30
c82892f3d2 fix(medical-store): add complete base schema migration and devices table for remote server 2026-09-08 05:19:19 +05:30
d2f069e3c8 feat(medical-store): add B2C sales returns, same-invoice exchanges, and DB migrations
- Add B2C same-invoice exchange and pure refund workflows (Marg ERP standard)
- Support returning excess/unused medicines with proportional unit pricing on original invoice
- Auto-net return credits against new medicines in POS cart with refund outflow handling
- Implement stock replenishment for restocked batches with audit trail in mst_stock_audit
- Generate sequential GST Credit Notes in mst_sale_returns and mst_sale_return_items
- Update Thermal 80mm, A5, and A4 print templates with separated dispensed vs returned items
- Add CI4 migration 2026-09-08-000001_CreateMedicalStoreReturnsAndExchanges.php for remote execution
- Add standalone SQL script scripts/sql/2026-09-08_medical_store_b2c_returns_and_exchanges.sql
2026-09-08 05:07:45 +05:30
765286e7fa feat(medical-store): ABDM-compatible multi-building pharmacy, POS desktop keyboard workflow, unit dispensing, and split payments 2026-09-08 02:19:11 +05:30
ee7cf59c49 fix(abdm): enforce clinical decimal precision on vitals and temperature in FHIR bundles and task board 2026-09-07 16:11:24 +05:30
bb6589605a fix(abdm): resolve health document preview hang and wellness record display in task board
- Fix mPDF single-threaded server deadlock by replacing HTTP logo URL fallbacks with inline base64 data URIs
- Add fast path in DoctorDocument to read scanned NABH PDFs directly from disk without mPDF re-rendering
- Support doctor_document and patient_document entity types in task board health document preview
- Enhance task board preview form with in-modal PDF preview, image thumbnail, and download actions
- Populate Composition.encounter with AMB encounter and set Wellness Record display code
2026-09-07 00:46:17 +05:30
f3faa9c96e feat(abdm): integrate Online/ABDM discharge template with PDF attachment in FHIR bundle
- Dynamically resolve and generate PDF using designated Online/ABDM template (is_abdm=1) from ipd_discharge_templates
- Unify mPDF rendering logic between show_discharge and generateDischargeSummaryPdfBinary for exact byte-for-byte consistency
- Attach generated PDF as DocumentReference under SNOMED 373942005 (Discharge summary) in NRCES FHIR DocumentBundle
- Add quick-set actions and AJAX endpoints for Default and ABDM template selection in discharge template list UI
- Update unit tests covering DocumentReference generation and template resolution
2026-09-06 17:55:15 +05:30
9b3d9ef6ee fix(abdm): align IPD discharge summary FHIR bundle with NRCES standards and eliminate NA values in PHR 2026-09-06 08:09:11 +05:30
0e340d5155 fix(abdm): resolve patient row using id instead of p_id in saveIpdDischargeFhir 2026-09-05 20:43:02 +05:30
52f8d9691b feat(abdm): enhance IPD discharge FHIR generator with NRCES v6.5.0 single-coding and structured dosage instructions 2026-09-05 15:29:11 +05:30
4e1d5ed7af Update DischargeFhirGenerator section titles for initial FHIR fixes 2026-09-04 21:45:49 +05:30
a6bb1f7cda fix(fhir): ensure strict canonical display values for SNOMED/LOINC/HL7 codings to prevent PHR validation errors 2026-09-04 20:14:44 +05:30
6525422af4 fix(fhir): fix ABHA PHR app parsing error in discharge FHIR bundle - correct Observation category codes for vitals vs admission/discharge conditions - add missing category to investigation Observations (NRCES profile requirement) - strip empty unit/code from valueQuantity to avoid PHR parser rejection - fix greedy regex in Composition narrative that could produce malformed XHTML - remove 0 from isPlaceholderValue to stop silent stripping of numeric FHIR values 2026-09-04 19:57:17 +05:30
cefa73dbae fix(abdm): add comprehensive Composition XHTML narrative, resource narratives, and section displays for PHR display 2026-09-04 19:34:44 +05:30
1f26c3e4ef fix(abdm): split blood pressure into systolic and diastolic components for LOINC 85354-9 in IPD discharge FHIR 2026-09-04 19:14:55 +05:30
4e748dbaa8 fix(abdm): map admission/discharge encounter period, split vitals by admission/discharge, and attach size/hash to pdf document reference 2026-09-04 06:15:08 +05:30
c238fcfc40 fix(abdm): resolve correct column names for dose master tables in discharge fhir 2026-09-04 06:05:57 +05:30
9bca2630c3 fix(abdm): allow GET/POST for ipd_discharge_fhir_preview and render detailed error in preview modal 2026-09-04 05:55:51 +05:30
6566ec0b77 fix(abdm): handle missing optional params, catch location query exceptions, and safely boot billing controller in IPD discharge preview 2026-09-04 05:51:12 +05:30
5714f9f755 feat(abdm): add Encounter period admission/discharge times and location ward/bed mapping 2026-09-04 05:44:37 +05:30
4776bfb37b Enhance IPD discharge summary FHIR bundle: dual admission/discharge vitals, full medication dosage directions, dietary/discharge advice care plans, and IPD invoice PDF attachment 2026-09-04 05:39:45 +05:30
4058850941 fix(abdm): correct condition categories, snomed resolutions, vital signs and physical exam units in discharge fhir generator 2026-09-04 05:22:45 +05:30
df835008d5 Fix ABDM M1 multi-ABHA account selection payload compatibility and fallback handling 2026-09-03 20:13:46 +05:30
156d12adba Implement ABDM M1 multi-ABHA account selection for Mobile OTP login flow 2026-09-03 16:17:46 +05:30
29ac1ffe66 Update ABDM Work Task Board tab and header name to OPD Consult / Prescription Records 2026-09-03 14:33:37 +05:30
05622a12de Fix Consent ID, Consent Request ID, and date metadata resolution across ABDM client, workflow service, controller, and views 2026-09-03 12:37:11 +05:30
398ad3238e Fix ABDM live status check and reconcile to accurately extract nested EXPIRED, REVOKED, and DENIED consent states without being masked by transport status 2026-09-03 11:44:36 +05:30
e1280b3bbe Fix column name source_id to entity_id in abdm_work_tasks query in show_profile_opd 2026-09-03 06:57:21 +05:30
625c642b02 Fix patient age calculation in IPD discharge search ajax by querying DOB and using get_age_1 helper 2026-09-02 03:51:52 +05:30
adf4433f72 Completely sanitize Edit Remove text artifacts from remark field in IPD discharge 2026-09-02 03:31:23 +05:30
16463d4908 Fix IPD discharge medicine edit form: fix remark field off-by-one cell index and reset When dropdown when empty 2026-09-02 03:22:34 +05:30
2fcfbd922a Enhance IPD discharge summary: OPD-style Prescribed Medicines table for B&W printing, auto generic lookup, and suppress empty discharge summary heading 2026-09-02 02:53:17 +05:30
73780ac7dd fix: IPD discharge RxGroup add - fix UI not updating after apply_rx_group, and Remove All not deleting from DB
- discharge_create.php (JS): Fixed AJAX done handler to JSON.parse the
  raw string response (jQuery with dataType:'html' does not auto-parse
  JSON), then re-render #discharge_medicine_tbody from result.drugRows.
  Also fixed Remove All (#btn_discharge_med_reset) to send AJAX POST
  with action=remove_all_drugs so records are deleted from DB, not just
  cleared from the DOM.

- Ipd_discharge.php (Controller): In the AJAX JSON response block,
  resolve dosage/dosage_when/dosage_freq IDs to human-readable labels
  using getDoseMasterRows() before returning drugRows, so the table
  displays 'BD / After Food' instead of raw numeric IDs. Added new
  remove_all_drugs action that deletes all medicine rows for the IPD
  from both legacy (ipd_discharge_prescrption_prescribed) and classic
  (ipd_discharge_drug) tables. Added remove_all_drugs to both
  lightweight-action whitelists to skip the expensive getIpdPanelInfo()
  join.
2026-09-01 20:24:14 +05:30
b786fe7a08 fix(ipd_discharge): add query error catching and logging to add_drug controller action 2026-09-01 18:28:53 +05:30
e24b71bbc9 fix(ipd_discharge): enable serializeDischargeMedicineTable on form submit and robust JSON response handling 2026-09-01 18:24:50 +05:30
633ea2bbb8 fix(ipd_discharge): enforce strict server DB save confirmation before adding medicine to client DOM 2026-09-01 18:20:13 +05:30
144f0a20d5 fix(ipd_discharge): sync full medicine list on main form submit to replace stale DB entries 2026-09-01 18:15:46 +05:30
3fddb3ca26 fix(ipd_discharge): enable dual-source medicine loading and full form submit medicine sync 2026-09-01 18:07:18 +05:30
1f8651e3b3 fix(ipd_discharge): remove fragile tbody early-return guard in medicine remove handler 2026-09-01 17:51:23 +05:30
fe26588dca fix(ipd_discharge): instant DOM row removal on medicine delete & delete from all drug tables 2026-09-01 17:47:05 +05:30
419c015535 fix(ipd_discharge): update server-rendered medicine remove buttons with btn-remove-discharge-med class for AJAX deletion 2026-09-01 17:43:30 +05:30
bfe14048bc fix(ipd_discharge): resolve status 0 network error on medicine add and sync remove_drug via AJAX 2026-09-01 17:38:09 +05:30
599c4806bb feat(abdm & reports): align ABDM FHIR R4 Wellness & HealthDocument generators, add NABH IPD scanner, balance column in invoice list, and old payment received report 2026-09-01 14:05:17 +05:30
63ee0a19fd feat(nursing): add ABDM M2 wellness vitals, health document scanner, and barcode/QR patient search dock 2026-08-30 13:58:06 +05:30
596a684372 fix(abha): update ABHA Management card heading to 'Verify or Find ABHA Account' 2026-08-30 03:20:04 +05:30
5db3da6403 fix(setting): prevent standard form submit redirect on save button by using explicit AJAX functions and action=javascript:void(0) 2026-08-30 02:55:13 +05:30
f99ddbd851 fix(setting): change property access level to protected in OpdQueueSetting to match BaseController 2026-08-30 02:51:58 +05:30
31b2319419 feat(admin): add OPD Queue TV Settings panel for right-side ads upload, left-side bottom ad space, ticker text editing, and TTS pronunciation fixes 2026-08-30 02:49:59 +05:30
ac5d2710fa feat(pwa): add 5-item page-wise horizontal auto-carousel for left token tracker column 2026-08-30 02:23:03 +05:30
49267e65ec fix(pwa): resolve HEAD HTTP method 404 warning and add narrow mobile screenshot to manifest 2026-08-30 02:07:57 +05:30
c1a532ce95 fix(pwa): route sw.js and manifest.json dynamically with Service-Worker-Allowed header and exact screenshot dimensions 2026-08-30 01:58:52 +05:30
882b036e9e feat(pwa): add OPD Queue & Token Display PWA app with right side ad showcase 2026-08-30 01:04:37 +05:30
8d68afebbd feat(pwa): standardize hospital logo PWA icons and add in-app mobile module switcher 2026-08-30 00:18:15 +05:30
2d68a19584 feat(hms): add Document Type selection dropdown to HMS Desktop Scan Upload Modal and save document_type with badges 2026-08-29 04:45:28 +05:30
888b4039f6 fix(nursing): display Doctor Name on IPD patient bed cards and register all scanned document photos into file_upload_data table for HMS Scan Doc List popup 2026-08-29 04:40:16 +05:30
38573f5b15 fix(nursing): resolve SQL column errors in opdList query, add Doctor filter dropdown, and Vitals Pending/Done status filter buttons 2026-08-29 04:25:57 +05:30
7bdfbab2bd feat(nursing): add OPD Patients list, Fill OPD Vitals, and Document Scan/Camera Upload features to Nursing PWA App 2026-08-29 04:16:08 +05:30
e4c6b398cc fix(hms): resolve base64 photo upload decoding and add professional image thumbnails to HMS Nursing Workspace Treatment Notes 2026-08-29 04:04:03 +05:30
e32feeb8d6 feat(doctor): make header lock button icon-only and add mobile camera photo capture for handwritten doctor notes and prescriptions 2026-08-29 03:55:50 +05:30
7a0631979a feat(doctor): add current date filter for OPD appointments and my assigned vs all hospital admissions toggle for IPDs 2026-08-29 03:41:09 +05:30
d737ec0d1b fix(doctor): resolve IPD patient doctor mapping and add hospital-wide admission fallback 2026-08-29 03:16:25 +05:30
820c904eff fix(doctor): replicate exact HMS getCurrentAdmissions query joining ipd_master_doc_list and bed_assignment_history 2026-08-29 03:08:47 +05:30
5bfe0689f1 fix(doctor): correct IPD query columns (ipd_status, r_doc_id) to list admitted patients assigned to doctor 2026-08-29 03:05:46 +05:30
9665e820ec feat(doctor): copy full native HMS OPD consultation controls, vitals, findings, and direct PDF printing 2026-08-29 03:02:12 +05:30
4a0889a200 feat(doctor): fix Patient Age calculation via get_age_1 and add Full HMS OPD Consult Form modal 2026-08-29 02:59:15 +05:30
1571c23947 fix(doctor): map exact database column names for opd_prescription (date_opd_visit, complaints, diagnosis) and opd_prescrption_prescribed 2026-08-29 02:54:14 +05:30
15a2f28d0d feat(doctor): add OPD appointment queue list with status badges and mobile-optimized consultation prescription form 2026-08-29 02:49:44 +05:30
a6beb124cd feat(doctor): add Doctor App PIN auth, QR generator, DoctorCare EMR PWA (/app/doctor), and bedside clinical tools 2026-08-28 19:44:54 +05:30
405226d66c fix(header): append hmsAppsLauncherModal to document.body to fix modal backdrop overlay issue 2026-08-28 19:34:41 +05:30
e865b71500 fix(header): refactor Apps Launcher script to pure Vanilla JS to prevent $ reference error 2026-08-28 19:31:22 +05:30
6a65fc507d feat(apps): add Top Nav Apps Launcher Icon & 30-Day Device PIN Authentication Memory 2026-08-28 19:27:39 +05:30
7b0b1c3415 feat(auth): add Nurse PIN Security Authentication, App QR Codes, and Lock Screen for NursingCare PWA 2026-08-28 18:45:53 +05:30
3b43d35246 feat(api): add isolated PWA App route gateway and REST API v1 endpoints 2026-08-28 17:44:11 +05:30
345e4f5f99 feat(nursing): add entry history tables and edit capability to Vitals, Fluid, and Treatment panels 2026-08-28 04:01:58 +05:30
5c053422ec feat(nursing): move Nursing Entries History and Scanned Audit Trail to separate left menu tabs 2026-08-28 03:54:54 +05:30
307355f5a7 feat(nursing): add dynamic medical route options for Fluid Intake / Output 2026-08-28 03:26:02 +05:30
9a9dba1f8f fix(nursing): pre-fill saved Admission Snapshot fields and persist active workspace tab 2026-08-28 03:19:44 +05:30
863c17f9bc fix(config): dynamically resolve baseURL from request HTTP_HOST to prevent CORS errors on live servers 2026-08-28 02:46:01 +05:30
69f0e1fa45 feat(nursing): add Nursing Station Master, ABDM credentials to Nurse Master, and Visual Bed Grid at /ipd/patient 2026-08-28 02:43:37 +05:30
7c04828e99 feat(ipd): align IPD Discharge prescribed medicine form design and autotext with OPD Consult 2026-08-27 04:33:10 +05:30
a7727c9d9e fix(abdm): correct mobile ABHA discovery flow
Route Find ABHA via Mobile through standalone bridge OTP endpoints and remove exact placeholder values from generated FHIR bundles.
2026-08-24 23:19:21 +05:30
2ac6babd5d fix(report): prevent collection filter overlap
Give the payment date range more grid space and reduce the employee selector width.
2026-08-24 01:24:56 +05:30