Commit Graph

111 Commits

Author SHA1 Message Date
6cc34057b5 fix(abdm): capture patient-modified consent dates, fix premature expiry, and update consent UI labels
- Extract and contrast both requested and patient-granted date ranges and eraseAt timestamps from ABDM consent artefacts
- Fix premature session expiration when patient grants longer consent validity than initially requested by HIU
- Update UI labels from Valid From / Valid To to Request From / Request To and Consent Valid Upto
- Show original requested dates struck-through and granted dates highlighted with Updated badges in consent detail modals
- Add visual indicators for patient-modified dates in consent requests tables
2026-10-25 06:39:25 +05:30
5f9784d7ec feat(abdm & schema): drop patient_master.p_lname and add abha address selector to M1 verify flow 2026-10-24 12:56:13 +05:30
6a247fdb63 fix(abdm): enforce strict ABHA uniqueness and demographic validation on patient linking 2026-10-21 13:59:29 +05:30
ee57959873 fix(abdm): add fallback in abdm_documents 2026-10-16 13:40:11 +05:30
e41e6bd96f fix(abdm): enforce granted hi_types and dateRange, check live consent status before fetch, safe json parsing 2026-10-16 13:38:53 +05:30
81f3501157 fix(security): implement WASA compliance hardening and vulnerability remediation 2026-10-14 10:27:32 +05:30
39017a43cf feat(abdm): enforce consent expiration, request-specific printing, and push sync enhancements 2026-10-09 17:38:51 +05:30
e8a33ba1f4 fix(abdm): improve patient name formatting and single document testing 2026-10-08 20:56:38 +05:30
3ed80ac293 fix(abdm): optimize memory and backtrack limit in abdm_records_pdf 2026-10-08 20:55:48 +05:30
6c8e062558 feat(abdm): add professional PDF export and print button for fetched health records 2026-10-08 20:52:42 +05:30
92acaee56f fix(abdm): preserve GRANTED status for completed consent sessions on reopen 2026-10-08 20:27:47 +05:30
31352156c9 fix(abdm): dynamically inspect columns in abdm_hiu_consent_artifacts to prevent unknown column hip_id error 2026-10-08 20:11:06 +05:30
b0a5338152 feat(abdm): restore M3 data fetch for self and same entity with multi-facility support 2026-10-08 20:04:59 +05:30
e5b80c75c5 revert: reverse M3 fetch records for same entity / self that caused website hang 2026-10-08 19:45:12 +05:30
228867ebe1 feat(patient): display both ABHA address and formatted ID in search results; add test search command 2026-10-08 18:19:01 +05:30
a2fd3e1658 feat(patient): enable patient search by ABHA ID and ABHA Address in quick and advanced search 2026-10-08 18:09:40 +05:30
c8baa82059 Fix M3 fetch records to retrieve and display health data from same entity and external entities 2026-10-08 17:54:47 +05:30
b05081001e fix(abdm): prevent system hang on live status check, support 24h/12h hour inputs, and release PHP session lock 2026-10-08 15:52:50 +05:30
5306271383 fix(abdm): add datetime-local to consent request, prevent browser hang with non-blocking fetch, and fix DB column queries 2026-10-08 15:22:33 +05:30
9cb4ccd701 fix(abdm): resolve JSON parse error on fetch and auto-reconcile revoked consents 2026-10-08 11:41:30 +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
734b9a2bc4 fix(abdm): evaluate cooling from clinical event date and prevent reset on taskboard view 2026-10-01 08:03:44 +05:30
0186e17f0f feat(abdm): implement automated deep-link SMS notify queue and Spark cron worker 2026-09-27 23:55:52 +05:30
24089f36a6 fix(abdm): auto-link ABHA address on discovery/confirm, resolve FHIR by patient_id on-demand, and display in profile 2026-09-24 09:33:19 +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
7e3c57f48f fix(patient): enforce unique ABHA ID and Aadhaar number on patient registration and updates 2026-09-12 04:30:10 +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
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
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
7c04828e99 feat(ipd): align IPD Discharge prescribed medicine form design and autotext with OPD Consult 2026-08-27 04:33:10 +05:30
16be448b6f fix(abdm): align IPD discharge FHIR with NRCES profile
Use mandatory SNOMED discharge composition and section codings, model completed investigations as DiagnosticReportLab resources, and restore local M3 attachment/value-string rendering.
2026-08-19 04:41:27 +05:30
1bd93be698 fix(abdm): treat empty HIU sessions as pending, not failure
The bridge reply 'No HIU sessions found matching the criteria' means the facilities have not sent records yet. The consent-status step already handled that wording, but the data-fetch steps surfaced it as 'Auto flow failed'. Share the check via isPendingBridgeSessionError() and report a pending state that keeps polling.
2026-08-18 03:15:09 +05:30
fb2bfb8a8c fix(abdm): stamp consent status on its own request row
Reconciled status lived only on a separate reconcile row, whose correlation back to a session was rebuilt on every page load, so denied/expired requests reverted to REQUESTED after reopening. Write GRANTED/DENIED/EXPIRED/REVOKED onto the session's own consent_request row and treat a stamped terminal state as authoritative.
2026-08-18 03:11:09 +05:30
c6f415cfdc fix(abdm): file consent status under the right request
consent_request anchor rows only registered their HMS request_id, so reconcile rows (which carry the ABDM consent_request_id) matched nothing and fell back to the newest open session. A DENIED result therefore landed on the granted session, where GRANTED outranks it, and the denied request kept showing REQUESTED. Anchors now publish their ABDM ids, and the open-session fallback applies only when the row names no consent request or that session has not resolved its ABDM id yet.
2026-08-18 03:03:59 +05:30
1dbac7b367 fix(abdm): reconcile every open consent request
Check Live Status only reconciled the newest consent request, so requests the patient later denied or let expire in the PHR app stayed at REQUESTED. Reconcile all non-terminal sessions, expose each session request_id, and let a later revoked/expired/denied row override an earlier granted one.
2026-08-18 02:51:19 +05:30
c8f44e4493 fix(abdm): complete ABHA creation workflow
Split official and hospital ABHA cards, preserve profile/photo updates, improve existing-patient matching, require and forward communication mobile data, and show accurate Bridge OTP status and errors.
2026-08-17 06:43:37 +05:30
2d13ba567e Store Aadhaar encrypted with masked display and hash-based search 2026-08-15 03:16:40 +05:30
a5447cb83a Complete ABHA account verification flow 2026-08-13 10:36:20 +05:30
d5c7d1030c Show patient grid controls and scope datatable search to filtered results 2026-08-07 12:32:21 +05:30
5f443f307a Enhance patient search and enforce refer master validation 2026-08-07 12:24:48 +05:30
780ebaa263 feat: add referral search to patient and IPD flows
Load referral master data into patient registration/edit screens, persist patient referby, expose searchable referral inputs in patient and IPD forms, and make referral title editable as free text in referral master CRUD.
2026-08-07 11:18:50 +05:30
bedb1c922a Show old UHID in patient search results 2026-08-06 08:46:54 +05:30
dd36e3af54 Fix patient search old UHID matching 2026-08-06 08:43:25 +05:30
37631c27a0 Improve patient search for legacy UHID values 2026-08-03 15:32:16 +05:30
fde98e9dee Always show OPD profile picture action 2026-08-01 03:12:52 +05:30
b10661c8d0 Refine OPD profile photo flow 2026-08-01 03:06:45 +05:30
b7f789b1c3 Fix auto-flow false failures and remove dead opd.fhir.generated bridge event
- Patient.php: broaden non-fatal-pending detection in abdm_content_auto_flow() to recognize more bridge error wordings (No HIU sessions found / matching the criteria) and HTTP 400, stopping spurious 'Auto flow failed' toasts.
- Opd_prescription.php: remove dead opd.fhir.generated bridge_sync_queue enqueue in storePrescriptionFhirBundle(). This unprefixed event type routed to the CSNOtk terminology bridge which has no consumer for it, always 404ing. Real ABDM sharing already works via DreamsoftConnector::sharePrescriptionBundle() (abdm.fhir.share.requested).
2026-07-30 06:25:45 +05:30
55bcaa7d09 Fix ABDM M3 HIU multi-facility consent session grouping and document display
- Fix groupWorkflowRowsIntoSessions() to correlate workflow rows by stable
  request_id/abdm_consent_request_id instead of chronological proximity to
  the newest CONSENT_REQUEST row. Background polling reconciles all
  historical sessions in one batch, so older sessions' rows previously got
  silently merged into the newest session, causing 'Show Data' to display
  an unrelated older session's single facility instead of all consented
  facilities.
- Skip synthetic orphan sessions (stray rows with no owning CONSENT_REQUEST)
  in getAbdmConsentRequestsList()/getAbdmConsentArtifactDetail() so they
  don't show as phantom history rows or get picked as 'most recent'.
- Fix abdm_documents() consent_request_id filter to match all known sibling
  artifact IDs for a session (via abdm_hiu_consent_artifacts), not just an
  exact single artifact id, so all facilities under one consent request
  appear together.
- Fix CreateAbdmHiuConsentArtifacts migration: reduce VARCHAR(180) to
  VARCHAR(100) on consent_request_id/artifact_id to satisfy MySQL's
  1000-byte composite key length limit (was silently failing to migrate).
- Add fetchAllArtifactsAfterGrant() cascade in M3HiuWorkflowService to fetch
  every known artifact under a granted consent, used by both the cron poll
  and a new abdm_check_live_status() endpoint/button.
- getLatestAbdmSyncSnapshot() session-scoping fix to avoid an older granted
  session masking a newer in-progress one.
- Relabel Dr. Joshi Clinic documents (previously mislabeled 'Test Hospital'
  from the HIP's own FHIR bundle Organization name).
2026-07-30 05:08:44 +05:30