Commit Graph

169 Commits

Author SHA1 Message Date
04eff5e5ba Standardize OPD care context formatting and prevent duplicate session aliases 2026-10-06 16:59:39 +05:30
b0a08112d1 fix(fhir): add versionId and lastUpdated to DocumentBundle meta for full NRCES conformance 2026-10-06 16:54:01 +05:30
f367603962 fix(abdm): unify consult visit into single OPConsultRecord bundle and auto-sync on print 2026-10-06 16:40:30 +05:30
045f4c5116 feat(abdm-fhir): add dedicated Prescription and Immunization FHIR generators with NRCES validation 2026-10-06 12:38:33 +05:30
24819cb75c feat(abdm): configure official ABDM toolkit skills and achieve 100% NRCES 6.5.0 FHIR conformance 2026-10-06 12:25:48 +05:30
1fcdb82eea fix(abdm): auto-resolve patient demographics from patient_master for HIP care context linking and token generation
- Auto-resolve missing name, gender, year_of_birth, abha_address, and abha_number in hipLinkToken and hipLinkCareContext endpoints using patient_master lookup
- Calculate birth year with fallback to age (current_year - age) when DOB is 0000-00-00, empty, or invalid
- Support resolving ABHA identifier whether saved in abha_address or legacy abha_id column
- Pass patient_id from client link modal and views (opd_prescription_basic, Patient_Profile_Opd_V, Person_profile_V)
- Fix demographic resolution in AbdmTaskBoardSyncService for background OPD and work task publishing
- Add comprehensive PHPUnit test suite in tests/unit/Abdm/TestHipDemographicsCareContext.php
2026-10-06 10:53:19 +05:30
686513cf27 Fix ABDM live fetch and discovery for PrescriptionRecord and WellnessRecord 2026-10-06 09:38:40 +05:30
da61637c56 fix(billing,abdm): resolve patient profile edit error and enhance opd prescription fhir mapping
- Fix Undefined variable \ 500 error in Person_Edit_V.php
- Safeguard auth()->user() and variable access in Person_Edit_V.php and Person_profile_V.php
- Enhance getPrescriptionMedicines with fallback dosing, remarks, and SNOMED lookup for OP Consultation FHIR
- Add deep-link SMS notify and link verification in ABDM gateway and task board
- Add PatientEditViewTest covering profile and edit view rendering
2026-10-06 08:25:48 +05:30
48d11b20df fix(abdm): eliminate dummy consultation bundles, fix Strategy 0 return bundle, add on-demand invoice FHIR, and ensure full multi-artifact HIU polling 2026-10-02 01:11:22 +05:30
e43bfbad71 feat(abdm): add task status filtering, search, and completed task visibility on task board
- Add getTasks() method with status filtering (all, open, completed, failed) to AbdmWorkTaskService
- Enhance AbdmTaskBoard to enrich all task types with health_records, invoice_code, and care contexts
- Add status toggle filter buttons (All, Open, Completed) with dynamic count badges to Task Board UI
- Add real-time fuzzy/keyword search input for instant filtering by invoice ID, patient name, ABHA, or task code
- Render completed/linked tasks with green LINKED badge, gateway reference, and FHIR Preview button
- Add unit tests in AbdmTaskBoardBackfillTest
2026-10-01 19:40:32 +05:30
2569f694c1 fix(abdm): normalize ABDM upstream errors and Please make a valid request to does not exist 2026-10-01 18:50:35 +05:30
5cc4486d9a fix(abdm): distinguish ABHA Number vs ABHA Address in lookup error messages and logs 2026-10-01 18:37:14 +05:30
7c1f0df410 fix(abdm): normalize bridge SQL errors in API logs and extract specific upstream hints 2026-10-01 18:06:08 +05:30
fd10df43c3 fix(abdm): resolve ABHA address verification, field error extraction, and task board sync
- Fix empty string fallback in validateAbha and EAtriaBridgeConnector to properly extract healthIdNumber and real fullName from data payload
- Skip generic bridge envelope messages in extractBridgeErrorText to surface specific field rejections like loginHint
- Translate non-existent ABHA address errors to 'ABHA Address does not exist or was not found in the ABDM registry'
- Support both 14-digit ABHA numbers and ABHA addresses in Diagnosis publish and ABDM Task Board
- Prevent completed task duplication in lab/radiology backfill
- Add unit tests in AbhaOtpErrorHandlingTest and AbdmTaskBoardBackfillTest
2026-10-01 17:12:17 +05:30
734b9a2bc4 fix(abdm): evaluate cooling from clinical event date and prevent reset on taskboard view 2026-10-01 08:03:44 +05:30
3df469bfab fix(abdm): implement communication mobile OTP verification, register route, and fix patient list modal DOM 2026-09-30 16:59:23 +05:30
1a21f16f7b fix(abdm): sync care context reference format and auto-push FHIR bundle on linking
- Align care context reference format (RAD- prefix for radiology, clean Ymd date) between discovery, shareDiagnosisReportBundle, and AbdmTaskBoardSyncService
- Automatically push FHIR document bundle to Bridge (POST /api/v3/records/push) on care context linking or already-linked confirmation in abdm_hip_link_modal
- Provide clear instructions to user regarding PHR app 'Fetch Records' pull flow
- Add unit test testShareDiagnosisReportBundleFormatsRadiologyCareContext
2026-09-29 15:06:31 +05:30
41d89a1969 feat(abdm): enhance care context discovery, async token retry, and modal backdrop cleanup
- Add multi-type care context discovery in AbdmGateway (DiagnosticReport, DischargeSummary, Immunization, OPConsult) with target task prioritization
- Implement automated retry backoff in EAtriaBridgeConnector for asynchronous ABDM link token callback delivery
- Handle already-linked contexts gracefully and synchronize Task Board row status on link completion
- Resolve modal backdrop freeze and inactive main screen on radiology report template update in PathLab_Report and welcome_message
- Add unit tests CareContextDiscoveryTest and EAtriaBridgeConnectorLinkTest
2026-09-29 14:02:22 +05:30
61206784f3 feat(abdm): implement care-context linking cooling window and timer reset on record modification
- Add cooling period configuration (60 min for OPD/Lab/Radiology/others, 24 hr for IPD Discharge) in AbdmConnector
- Add calculateCooling() logic in AbdmTaskBoardSyncService and skip automated linking during cooling window
- Touch and refresh work task timestamps on prescription save and IPD discharge summary save/print
- Update opd_fhir_documents on prescription edit rather than inserting duplicate bundles
- Enrich ABDM Task Board table and OPD consult list with active cooling badges, remaining minutes, and auto-link schedule
- Preserve manual 'Link Context' action on task board to allow immediate override anytime
- Update CLI commands (abdm:taskboard-sync, abdm:push-sync) with cooling counters and status logging
2026-09-28 18:29:50 +05:30
90e63d2d58 fix(abdm): generate and publish OPD consultations as OPConsultRecord and support dynamic hi_type 2026-09-28 02:46:10 +05:30
b28b51965c fix(abdm): dynamically check ABHA columns in patient_master 2026-09-28 00:43:03 +05:30
9a70172cbc fix(abdm): use apointment_date in AbdmTaskBoardSyncService 2026-09-28 00:41:11 +05:30
c3fc0d98f0 feat(abdm): automate ABDM Work Task Board care-context linking via cron job 2026-09-28 00:40:03 +05:30
0186e17f0f feat(abdm): implement automated deep-link SMS notify queue and Spark cron worker 2026-09-27 23:55:52 +05:30
092e5cd193 fix(abdm): route health record push with FHIR bundle to /v3/records/push and unify care context reference format 2026-09-24 11:12:54 +05:30
3656bf9b94 Fix ABDM HIP link-token failure: strictly sanitize abha_number, decouple abha_address from 14-digit abha_id in profile & modal 2026-09-24 10:03:19 +05:30
2f6b346e25 fix(abdm): add concurrency lock, optimize hiu-poll query, and add composite indexes 2026-09-24 08:03:57 +05:30
fcce8970fd fix(abdm): safe JSON parsing in m2LinkInit/Confirm and prevent abha_id null in audit log 2026-09-23 15:56:05 +05:30
126a62b8d0 fix(opd): fix undefined patLastName and make FHIR and audit logging fail-safe in opd_prescription_save 2026-09-22 23:40:05 +05:30
6e78e6010e feat: add Day Care & Emergency admission module with IPD conversion and clean patient names
- Add Day Care (<24h) and Emergency (Casualty) admission pathways with prefixes DC- and ER-
- Add dedicated physical wards, ESI 5-level triage, MLC tracking, and PADSS day care discharge
- Implement audited 'Convert to IPD' workflow with SBAR handover and automated bed transfer
- Support unified IPD billing with dedicated group headers for Day Care and Emergency charges
- Redesign Hospital Admission Desk with executive card layout and modern triage controls
- Add comprehensive user documentation and SVG flowchart in public/help.html
- Completely remove legacy patient_master.p_lname column from database and application code
2026-09-21 23:41:24 +05:30
dd1acb88e1 feat: add IPD census PDF, collection payment filter, fix report panel visibility, and implement ABDM HIP linking
- Reports:
  - Add PDF export option with A4-L print layout for IPD Census & Discharge Report
  - Add Payment Type filter (OPD, Charge, IPD, ORG, All) to Collection Report with URL routing and summary table updates
  - Ensure superadmin/admin/developer visibility in Report Panel controller permission checks
- ABDM:
  - Implement HIP patient care-context linking and discovery integration
  - Add on-demand FHIR health record fetch endpoints for Bridge connector
  - Add ABDM HIP link modal view and wire to patient/person profiles and prescription
2026-09-15 23:21:30 +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
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
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
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
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