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
e5624f16a2
config: enable CSNOtk SNOMED lookup with base URL and 8s timeout
2026-05-19 23:48:39 +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
83685d98be
chore: add deploy script and inv cols check script
2026-05-19 20:50:19 +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