Merge branch 'dev' of bitbucket.org:jubilian/nhance into dev

This commit is contained in:
VENKATESHWARAN 2026-02-23 15:55:11 +05:30
commit 6f291dc70a
4 changed files with 41 additions and 14 deletions

View File

@ -797,7 +797,7 @@ $routes->get('EcardRequest','HealthIndiaApiController::EcardRequest');
$routes->get('HospitalNetwork','MediAssistApiController::HospitalNetwork'); $routes->get('HospitalNetwork','MediAssistApiController::HospitalNetwork');
$routes->get('VidalGetBenefDetails','VidalApiController::VidalGetBenefDetails'); $routes->get('VidalGetBenefDetails','VidalApiController::VidalGetBenefDetails');
$routes->get('ClaimDetail','VidalApiController::ClaimDetail'); $routes->get('ClaimDetail','VidalApiController::ClaimDetail');
$routes->get('SubmitClaim','HealthIndiaApiController::SubmitClaim'); $routes->get('SubmitClaim','VidalApiController::SubmitClaim');
$routes->get('IntimateClaim','MediAssistApiController::IntimateClaim'); $routes->get('IntimateClaim','MediAssistApiController::IntimateClaim');
$routes->get('IRSubmission','MediAssistApiController::IRSubmission'); $routes->get('IRSubmission','MediAssistApiController::IRSubmission');
$routes->get('ClaimStatusUpdate','MediAssistApiController::ClaimStatusUpdate'); $routes->get('ClaimStatusUpdate','MediAssistApiController::ClaimStatusUpdate');

View File

@ -753,7 +753,7 @@ class FhplApiController extends BaseController
$response = call_third_party_api($url,'POST',$headers,$body); $response = call_third_party_api($url,'POST',$headers,$body);
if(!empty($response['data'])){ if(!empty($response['data'])){
log_message('error', 'FHPL - Sync TPA Claims | Exception thrown while calling GetTPA_ClaimsDetails API: ' . json_encode($response ?? [])); log_message('error', 'FHPL - Sync TPA Claims | Exception thrown while calling GetTPA_ClaimsDetails API: ' . json_encode($response));
$finalResult = array_merge($finalResult,$response['data']); $finalResult = array_merge($finalResult,$response['data']);
} }
} }

View File

@ -3,6 +3,7 @@
namespace App\Controllers; namespace App\Controllers;
use App\Controllers\BaseController; use App\Controllers\BaseController;
use App\Controllers\TicketController;
use App\Models\BatchFileModel; use App\Models\BatchFileModel;
use App\Models\EmployeePolicyModel; use App\Models\EmployeePolicyModel;
use App\Models\TpaApiDataModel; use App\Models\TpaApiDataModel;
@ -18,11 +19,15 @@ class HealthIndiaApiController extends BaseController
use ResponseTrait; use ResponseTrait;
protected $db; protected $db;
protected $healthIndiaTpaId; protected $healthIndiaTpaId;
protected $claim_type_array;
public function __construct() public function __construct()
{ {
$this->db = \Config\Database::connect(); $this->db = \Config\Database::connect();
$this->healthIndiaTpaId = getenv('HEALTH_INDIA_PRIMARY_KEY_CONSTANT'); $this->healthIndiaTpaId = getenv('HEALTH_INDIA_PRIMARY_KEY_CONSTANT');
$this->ticketController = new TicketController();
$this->claim_type_array = $this->ticketController->claimType;
} }
public function generateAuthToken() public function generateAuthToken()
@ -147,25 +152,25 @@ class HealthIndiaApiController extends BaseController
$token = $tokenResponse['data']['result'][0]['access_token']; $token = $tokenResponse['data']['result'][0]['access_token'];
// Map claim type: Reimbursement or Cashless // Map claim type: Reimbursement or Cashless
$claimTypeMap = [
'reimbursement' => 'Reimbursement',
'cashless' => 'Cashless',
];
$mappedClaimType = $claimTypeMap[strtolower($data['claimType'] ?? 'reimbursement')] ?? 'Reimbursement';
// Map benefit type: IPD or OPD // Map claim_type to benefit type (IPD / OPD)
$claimTypeValue = $this->claim_type_array[1][$data['claim_type'] ?? null] ?? null;
$benefitTypeMap = [ $benefitTypeMap = [
'ipd' => 'IPD', 'Main Hospitalization' => 'IPD',
'opd' => 'OPD', 'Pre / Post' => 'IPD',
'ReOpen' => 'IPD',
'OPD' => 'OPD',
]; ];
$mappedBenefitType = $benefitTypeMap[strtolower($data['benefitType'] ?? 'ipd')] ?? 'IPD';
$mappedBenefitType = $benefitTypeMap[$claimTypeValue] ?? 'IPD';
// Build Health India Claim Submission Request (API Section 5) // Build Health India Claim Submission Request (API Section 5)
$body = [ $body = [
"policY_NUMBER" => $data['policyNumber'], "policY_NUMBER" => $data['policyNumber'],
"employeE_CODE" => $data['employeeCode'], "employeE_CODE" => $data['employeeCode'],
"membeR_ID" => $data['memberId'], "membeR_ID" => $data['memberId'],
"claiM_TYPE" => $mappedClaimType, "claiM_TYPE" => 'Reimbursement',
"benefiT_TYPE" => $mappedBenefitType, "benefiT_TYPE" => $mappedBenefitType,
"claimeD_AMOUNT" => (string) $data['claimedAmount'], "claimeD_AMOUNT" => (string) $data['claimedAmount'],
"datE_OF_ADMISSION" => date('Y-m-d', strtotime($data['admissionDate'])), "datE_OF_ADMISSION" => date('Y-m-d', strtotime($data['admissionDate'])),

View File

@ -7,6 +7,7 @@ use App\Models\EmployeePolicyModel;
use App\Models\TpaApiDataModel; use App\Models\TpaApiDataModel;
use App\Controllers\BaseController; use App\Controllers\BaseController;
use App\Controllers\TicketController;
use CodeIgniter\HTTP\ResponseInterface; use CodeIgniter\HTTP\ResponseInterface;
use CodeIgniter\API\ResponseTrait; use CodeIgniter\API\ResponseTrait;
@ -15,14 +16,20 @@ class VidalApiController extends BaseController
use ResponseTrait; use ResponseTrait;
protected $db; protected $db;
protected $vidal_primary_key; protected $vidal_primary_key;
protected $claim_type_array;
public function __construct() public function __construct()
{ {
$this->db = \Config\Database::connect(); $this->db = \Config\Database::connect();
$this->vidal_primary_key = getenv('VIDAL_PRIMARY_KEY_CONSTANT'); $this->vidal_primary_key = getenv('VIDAL_PRIMARY_KEY_CONSTANT');
$this->ticketController = new TicketController();
$this->claim_type_array = $this->ticketController->claimType;
} }
function uploadFileToVidal($filePath,$filename) function uploadFileToVidal($filePath,$filename)
{ {
// $apiUrl = "https://devapigw.vidalhealthtpa.com/partner-integration/api/files/upload-url"; // $apiUrl = "https://devapigw.vidalhealthtpa.com/partner-integration/api/files/upload-url";
@ -132,6 +139,7 @@ class VidalApiController extends BaseController
tm.hospital_pin_code as hospitalPinCode, tm.hospital_pin_code as hospitalPinCode,
tm.hospital_phone_no as hospitalPhoneNo, tm.hospital_phone_no as hospitalPhoneNo,
tm.claim_amount as requestedAmount, tm.claim_amount as requestedAmount,
tm.claim_type,
tm.tpa_no as dependentUniqueId, tm.tpa_no as dependentUniqueId,
cp.policy_no as policyNo, cp.policy_no as policyNo,
e.emp_code as memberId, e.emp_code as memberId,
@ -185,11 +193,25 @@ class VidalApiController extends BaseController
'Ocp-Apim-Subscription-Key:' .getenv('VIDAL_API_SUBSCRIPTION_KEY').'', 'Ocp-Apim-Subscription-Key:' .getenv('VIDAL_API_SUBSCRIPTION_KEY').'',
]; ];
$typeOfClaim = "Main hospitalization claim";
$allowedSubTypes = [
'Hospitalization',
'OPD',
'Health check-up',
'Dental benefit',
'Day care',
'Domiciliary'
];
$mappedSubType = $this->claim_type_array[1][$data['claim_type'] ?? null] ?? null;
$claimSubType = in_array($mappedSubType, $allowedSubTypes, true)
? $mappedSubType
: 'Hospitalization'; // safe default
$body = [ $body = [
'policyNo' => $data['policyNo'], 'policyNo' => $data['policyNo'],
'dependentUniqueId' => $data['dependentUniqueId'], 'dependentUniqueId' => $data['dependentUniqueId'],
'typeOfClaim' => "Main hospitalization claim", 'typeOfClaim' => $typeOfClaim,
'claimSubType' => "OPD", 'claimSubType' => $claimSubType,
'requestedAmount' => $data['requestedAmount'], 'requestedAmount' => $data['requestedAmount'],
'ailmentType' => "Non covid", 'ailmentType' => "Non covid",
'admissionDate' => change_date_format($data['admissionDate'], 'Y-m-d', 'd-m-Y'), 'admissionDate' => change_date_format($data['admissionDate'], 'Y-m-d', 'd-m-Y'),