From 2a7eb6e034ed625a288e8d5297d9579a13bdf532 Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Thu, 8 Oct 2026 14:04:05 +0530 Subject: [PATCH] feat(abdm): add test bridge push command --- app/Commands/TestBridgePushCommand.php | 89 ++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 app/Commands/TestBridgePushCommand.php diff --git a/app/Commands/TestBridgePushCommand.php b/app/Commands/TestBridgePushCommand.php new file mode 100644 index 0000000..12ef2ec --- /dev/null +++ b/app/Commands/TestBridgePushCommand.php @@ -0,0 +1,89 @@ +table('health_records')->where('id', 370)->get(1)->getRowArray(); + if (! empty($labHr['record_data'])) { + $bundle = json_decode((string)$labHr['record_data'], true); + CLI::write("Loaded bundle for LAB-51467, type: " . ($bundle['resourceType'] ?? 'none')); + $res = $connector->pushRecord([ + 'patient_id' => '15350', + 'patient_name' => 'DEVENDER SINGH', + 'abha_address' => 'singhdevender0328@sbx', + 'care_context_reference' => 'LAB-51467-20261008', + 'care_context_display' => 'Diagnostic Report - 08 Oct 2026', + 'hi_type' => 'DiagnosticReportRecord', + 'record_type' => 'DiagnosticReportRecord', + 'visit_date' => '2026-10-08', + 'record_data' => $bundle, + ]); + CLI::write("LAB push result: " . json_encode($res), ($res['ok'] ?? 0) === 1 ? 'green' : 'red'); + if (($res['ok'] ?? 0) === 1 && ! empty($res['queue_id'])) { + $db->table('record_links')->where('care_context_reference', 'LAB-51467-20261008')->update([ + 'abdm_txn_id' => $res['queue_id'], + 'link_status' => 'linked', + 'updated_at' => date('Y-m-d H:i:s'), + ]); + } + } + + CLI::write("\nTesting DOC-43156 push...", 'yellow'); + $docRes = $gw->executeAutoPushRecord('health_document', 43156, 15350); + CLI::write("executeAutoPushRecord: " . json_encode($docRes)); + + $docHr = $db->table('health_records') + ->where('entity_id', '43156') + ->where('hi_type', 'HealthDocumentRecord') + ->orderBy('id', 'DESC') + ->get(1) + ->getRowArray(); + + if (! empty($docHr['record_data'])) { + $bundle = json_decode((string)$docHr['record_data'], true); + CLI::write("Loaded bundle for DOC-43156, type: " . ($bundle['resourceType'] ?? 'none')); + $res = $connector->pushRecord([ + 'patient_id' => '15350', + 'patient_name' => 'DEVENDER SINGH', + 'abha_address' => 'singhdevender0328@sbx', + 'care_context_reference' => $docHr['care_context_reference'] ?: 'DOC-43156-20261008', + 'care_context_display' => 'Health Document - 08 Oct 2026', + 'hi_type' => 'HealthDocumentRecord', + 'record_type' => 'HealthDocumentRecord', + 'visit_date' => '2026-10-08', + 'record_data' => $bundle, + ]); + CLI::write("DOC push result: " . json_encode($res), ($res['ok'] ?? 0) === 1 ? 'green' : 'red'); + if (($res['ok'] ?? 0) === 1 && ! empty($res['queue_id'])) { + $db->table('record_links')->where('care_context_reference', 'DOC-43156-20261008')->update([ + 'abdm_txn_id' => $res['queue_id'], + 'link_status' => 'linked', + 'updated_at' => date('Y-m-d H:i:s'), + ]); + $db->table('health_records')->where('id', (int)$docHr['id'])->update([ + 'push_status' => 'linked', + 'push_at' => date('Y-m-d H:i:s'), + ]); + } + } else { + CLI::write("DOC record_data is empty in HR #" . ($docHr['id'] ?? 0), 'red'); + } + } +}