devsofttech_hms_ci4/scratch/deep_compare_07.php

38 lines
1.9 KiB
PHP

<?php
$example = json_decode(file_get_contents('ABDM_FHIR/examples.json/Bundle-ImmunizationRecord-example-07.json'), true);
require 'd:/Workplace/HMS_CI4_OLD/vendor/codeigniter4/framework/system/Test/bootstrap.php';
$gateway = new App\Controllers\AbdmGateway();
$db = \Config\Database::connect('default');
$dbProperty = new ReflectionProperty($gateway, 'db');
$dbProperty->setValue($gateway, $db);
$reflection = new ReflectionMethod($gateway, 'buildImmunizationGatewayPayload');
$payload = $reflection->invoke($gateway, 11, 10, '91510165305101', false);
$ourBundle = $payload['bundle'];
echo "=== BUNDLE HEADER ===\n";
echo "Example meta: " . json_encode($example['meta'] ?? []) . "\n";
echo "Our meta: " . json_encode($ourBundle['meta'] ?? []) . "\n";
echo "Example identifier: " . json_encode($example['identifier'] ?? []) . "\n";
echo "Our identifier: " . json_encode($ourBundle['identifier'] ?? []) . "\n";
echo "\n=== RESOURCE TYPES IN ENTRIES ===\n";
$exTypes = array_map(fn($e) => $e['resource']['resourceType'], $example['entry']);
$ourTypes = array_map(fn($e) => $e['resource']['resourceType'], $ourBundle['entry']);
echo "Example types: " . implode(', ', $exTypes) . "\n";
echo "Our types: " . implode(', ', $ourTypes) . "\n";
echo "\n=== COMPOSITION COMPARISON ===\n";
$exComp = $example['entry'][0]['resource'];
$ourComp = $ourBundle['entry'][0]['resource'];
echo "Example keys: " . implode(', ', array_keys($exComp)) . "\n";
echo "Our keys: " . implode(', ', array_keys($ourComp)) . "\n\n";
foreach (['id', 'meta', 'language', 'text', 'identifier', 'status', 'type', 'category', 'subject', 'encounter', 'date', 'author', 'title', 'custodian', 'section'] as $k) {
echo "--- Field: $k ---\n";
echo "Example: " . json_encode($exComp[$k] ?? 'MISSING', JSON_UNESCAPED_SLASHES) . "\n";
echo "Our: " . json_encode($ourComp[$k] ?? 'MISSING', JSON_UNESCAPED_SLASHES) . "\n\n";
}