GWM : Medi assist api integration
This commit is contained in:
parent
3a43fae3e9
commit
ddb59320e3
@ -529,6 +529,8 @@ $routes->post("employeeRest/getPostEmployeeDataForAuth", "RestAuthenticationCont
|
||||
|
||||
$routes->get("employeeRest/getClientDetails", "EmployeeRestController::getClientDetails");
|
||||
|
||||
|
||||
|
||||
$routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) {
|
||||
|
||||
$routes->post("logHrActivity", "RestAuthenticationController::logHrActivity");
|
||||
@ -567,6 +569,7 @@ $routes->group("employeeRest", ["filter" => "authJWT"], function ($routes) {
|
||||
$routes->get("getFEContent", "EmployeeRestController::getFEContent");
|
||||
$routes->get("getAdvertisementImage", "EmployeeRestController::getAdvertisementImage");
|
||||
$routes->get("getWellnessURL", "EmployeeRestController::getWellnessURL");
|
||||
$routes->get("getEcardURL", "EmployeeRestController::getEcardURL");
|
||||
//$routes->post('postDataForTicket',"EmployeeRestController::postDataForTicket");
|
||||
|
||||
|
||||
@ -675,9 +678,6 @@ $routes->get('createEnrollmentBatch','ICICILombardController::createEnrollmentBa
|
||||
$routes->get('getEnrollmentBatchStatus','ICICILombardController::getEnrollmentBatchStatus');
|
||||
$routes->get('fetchUHIDDetails','ICICILombardController::fetchUHIDDetails');
|
||||
|
||||
$routes->get('testTracelog','TestBusinessController::a');
|
||||
$routes->get("claimView", "EmployeeRestController::claimView");
|
||||
|
||||
//Third party Vidal Api Call
|
||||
|
||||
$routes->post('hospitalNetwork','VidalApiController::hospitalNetwork');
|
||||
@ -686,6 +686,29 @@ $routes->post('claimStatusCheck','VidalApiController::claimStatusCheck');
|
||||
$routes->post('newClaim','VidalApiController::newClaim');
|
||||
$routes->post('enrollment','VidalApiController::enrollment');
|
||||
|
||||
//Third party MediAssist Api Call
|
||||
|
||||
$routes->get('EcardRequest','MediAssistApiController::EcardRequest');
|
||||
$routes->get('HospitalNetwork','MediAssistApiController::HospitalNetwork');
|
||||
$routes->get('GetBenefDetails','MediAssistApiController::GetBenefDetails');
|
||||
$routes->get('ClaimDetail','MediAssistApiController::ClaimDetail');
|
||||
$routes->get('SubmitClaim','MediAssistApiController::SubmitClaim');
|
||||
$routes->get('IntimateClaim','MediAssistApiController::IntimateClaim');
|
||||
$routes->get('IRSubmission','MediAssistApiController::IRSubmission');
|
||||
|
||||
|
||||
// API service
|
||||
$routes->post("ecardRequest", "ApiServiceController::ecardRequest");
|
||||
$routes->post("getTPAID", "ApiServiceController::getTPAID");
|
||||
$routes->get('fileDownload','MediAssistApiController::fileDownload');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$routes->get('testTracelog','TestBusinessController::a');
|
||||
$routes->get("claimView", "EmployeeRestController::claimView");
|
||||
|
||||
// General Tickets
|
||||
|
||||
$routes->post("ticketSave", "ThzController::ticketSave");
|
||||
|
||||
203
app/Controllers/ApiServiceController.php
Normal file
203
app/Controllers/ApiServiceController.php
Normal file
@ -0,0 +1,203 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers;
|
||||
|
||||
use CodeIgniter\API\ResponseTrait;
|
||||
|
||||
|
||||
use App\Models\EmployeePolicyModel;
|
||||
|
||||
|
||||
use App\Controllers\BaseController;
|
||||
use App\Controllers\VidalApiController;
|
||||
use App\Controllers\ICICILombardController;
|
||||
use App\Controllers\MediAssistApiController;
|
||||
|
||||
class ApiServiceController extends BaseController
|
||||
{
|
||||
use ResponseTrait;
|
||||
// protected $format = 'json';
|
||||
protected $db;
|
||||
protected $employeePolicyModel;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->db = \Config\Database::connect();
|
||||
$this->employeePolicyModel = new EmployeePolicyModel();
|
||||
}
|
||||
|
||||
// Push Claims
|
||||
public function pushClaims($claimId)
|
||||
{
|
||||
|
||||
$data = $this->db->table('ticket_master tm')
|
||||
->select('tm.id,tm.tpa_id ')->where('tm.id', $claimId)->get()->getRowArray(); // single record
|
||||
|
||||
if($data){
|
||||
|
||||
$tpaID = $data['tpa_id'];
|
||||
|
||||
if ($tpaID == 2) { // MediAssist
|
||||
$mediAssistController = new MediAssistApiController();
|
||||
return $mediAssistController->SubmitClaim($claimId);
|
||||
}else{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// E-Card Request
|
||||
public function ecardRequest()
|
||||
{
|
||||
try{
|
||||
|
||||
$id = $this->request->getPost('id');
|
||||
$emp_code = $this->request->getPost('emp_code');
|
||||
$client_policy_id = $this->request->getPost('client_policy_id');
|
||||
$policy_no = $this->request->getPost('policy_no');
|
||||
|
||||
$employee_policy = $this->employeePolicyModel
|
||||
->select('employees.*, employee_polices.tpa_id , employee_polices.rand_string , employee_polices.uhid as uhid , client_policy.tpa_id as tpa_primary_id ')
|
||||
->join('employees', 'employee_polices.employee_id = employees.id', 'left')
|
||||
->join('client_policy', 'employee_polices.client_policy_id = client_policy.id', 'left')
|
||||
->where('employee_polices.employee_id',$id)
|
||||
->where('employee_polices.client_policy_id',$client_policy_id)
|
||||
->where('employee_polices.is_active', 1 )->findAll();
|
||||
|
||||
|
||||
|
||||
if(count($employee_policy) > 0)
|
||||
{
|
||||
if($employee_policy[0]['tpa_id'] != null)
|
||||
{
|
||||
if($employee_policy[0]['tpa_primary_id'] == 2)//Medi assist
|
||||
{
|
||||
$mediAssistController = new MediAssistApiController();
|
||||
$data['eCardDownload'] = $mediAssistController->EcardRequest( $emp_code, $policy_no );
|
||||
}else{
|
||||
$data['eCardDownload'] = base_url('download-e-card/') . $employee_policy[0]['rand_string'].'/1';
|
||||
}
|
||||
|
||||
} else {
|
||||
$data['eCardDownload'] = null;
|
||||
}
|
||||
}else{
|
||||
$data['eCardDownload'] = null;
|
||||
}
|
||||
|
||||
|
||||
return $this->respond(['status' => true,'message' => '','data' => $data]);
|
||||
|
||||
} catch(\Exception $e){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Get TPAID
|
||||
public function getTPAID()
|
||||
{
|
||||
|
||||
$tpa_id = $this->request->getPost('tpa_id');
|
||||
$policy_no = $this->request->getPost('policy_no');
|
||||
|
||||
if ($tpa_id == 2) // MediAssist
|
||||
{
|
||||
|
||||
$mediAssistController = new MediAssistApiController();
|
||||
$mediAssistController->GetBenefDetails( [ 'polict_no' => $policy_no ] );
|
||||
|
||||
return $this->respond(['status' => true,'message' => 'Action Triggered','data' => [] ]);
|
||||
|
||||
}else{
|
||||
return $this->respond(['status' => true,'message' => 'TPA not found ','data' => [] ]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Get Claims
|
||||
public function getClaims($id)
|
||||
{
|
||||
if ($id == 1) {
|
||||
$controller = new VidalApiController();
|
||||
} elseif ($id == 2) {
|
||||
$controller = new ICICILombardController();
|
||||
} elseif ($id == 3) {
|
||||
$controller = new MediAssistApiController();
|
||||
}
|
||||
}
|
||||
|
||||
// Get UHID
|
||||
public function getUhid($id)
|
||||
{
|
||||
if ($id == 1) {
|
||||
$controller = new VidalApiController();
|
||||
} elseif ($id == 2) {
|
||||
$controller = new ICICILombardController();
|
||||
} elseif ($id == 3) {
|
||||
$controller = new MediAssistApiController();
|
||||
}
|
||||
}
|
||||
|
||||
// Push Enrollment
|
||||
public function pushEnrollment($id)
|
||||
{
|
||||
if ($id == 1) {
|
||||
$controller = new VidalApiController();
|
||||
} elseif ($id == 2) {
|
||||
$controller = new ICICILombardController();
|
||||
} elseif ($id == 3) {
|
||||
$controller = new MediAssistApiController();
|
||||
}
|
||||
}
|
||||
|
||||
// Get Hospital Network
|
||||
public function getHospitalNetwork($id)
|
||||
{
|
||||
if ($id == 1) {
|
||||
$controller = new VidalApiController();
|
||||
} elseif ($id == 2) {
|
||||
$controller = new ICICILombardController();
|
||||
} elseif ($id == 3) {
|
||||
$controller = new MediAssistApiController();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -12,6 +12,10 @@ use Psr\Log\LoggerInterface;
|
||||
|
||||
use App\Helpers\sendMailNotification;
|
||||
|
||||
use App\Controllers\VidalApiController;
|
||||
use App\Controllers\ICICILombardController;
|
||||
use App\Controllers\MediAssistApiController;
|
||||
|
||||
|
||||
use App\Models\EmployeeModel;
|
||||
use App\Models\EmployeePolicyModel;
|
||||
@ -3862,8 +3866,11 @@ class EmployeeRestController extends AdminController
|
||||
$userParams['employeeId'] = $row['employeeId'];
|
||||
$userParams['policyStartDate']= $row['policyStartDate'];
|
||||
$userParams['policyEndDate'] = $row['policyEndDate'];
|
||||
$userParams['policyName'] = 'Nhance ' . $row['policy_type'];
|
||||
$userParams['planId'] = 'NHANCE-PLAN-' . $row['policy_type'];
|
||||
// $userParams['policyName'] = 'Nhance ' . $row['policy_type'];
|
||||
// $userParams['planId'] = 'NHANCE-PLAN-' . $row['policy_type'];
|
||||
$userParams['policyName'] = $row['policy_type'];
|
||||
$userParams['planId'] = env('VISIT_PLAN_ID');
|
||||
|
||||
$userParams['moduleName'] = 'home';
|
||||
break; // stop after first GMC match
|
||||
}
|
||||
@ -4398,4 +4405,51 @@ class EmployeeRestController extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function getEcardURL()
|
||||
{
|
||||
try{
|
||||
|
||||
$id = $this->request->getGet('id');
|
||||
$emp_code = $this->request->getGet('emp_code');
|
||||
$client_policy_id = $this->request->getGet('client_policy_id');
|
||||
$policy_no = $this->request->getGet('policy_no');
|
||||
|
||||
$employee_policy = $this->employeePolicyModel
|
||||
->select('employees.*, employee_polices.tpa_id , employee_polices.rand_string , employee_polices.uhid as uhid , client_policy.tpa_id as tpa_primary_id ')
|
||||
->join('employees', 'employee_polices.employee_id = employees.id', 'left')
|
||||
->join('client_policy', 'employee_polices.client_policy_id = client_policy.id', 'left')
|
||||
->where('employee_polices.employee_id',$id)
|
||||
->where('employee_polices.client_policy_id',$client_policy_id)
|
||||
->where('employee_polices.is_active', 1 )->findAll();
|
||||
|
||||
|
||||
|
||||
if(count($employee_policy) > 0)
|
||||
{
|
||||
if($employee_policy[0]['tpa_id'] != null)
|
||||
{
|
||||
if($employee_policy[0]['tpa_primary_id'] == 2)//Medi assist
|
||||
{
|
||||
$mediAssistController = new MediAssistApiController();
|
||||
$data['eCardDownload'] = $mediAssistController->EcardRequest( $emp_code, $policy_no );
|
||||
}else{
|
||||
$data['eCardDownload'] = base_url('download-e-card/') . $employee_policy[0]['rand_string'].'/1';
|
||||
}
|
||||
|
||||
} else {
|
||||
$data['eCardDownload'] = null;
|
||||
}
|
||||
}else{
|
||||
$data['eCardDownload'] = null;
|
||||
}
|
||||
|
||||
|
||||
return $this->respond(['status' => true,'message' => '','data' => $data]);
|
||||
|
||||
} catch(\Exception $e){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -87,32 +87,32 @@ class ICICILombardController extends AdminController
|
||||
|
||||
|
||||
$body = [
|
||||
"PolicyNumber" => "4016/A/O/53130557/00/000",
|
||||
"PolicyNumber" => "4016/PPN/A/O/53167743/00/000",
|
||||
"CDBGAccountNumber" => "CD-MUM-0026",
|
||||
"CorrelationId" => "550e8400-e29b-41d4-a716-446655440010",
|
||||
"CorrelationId" => "550e8400-e29b-41d4-a716-446655440012",
|
||||
"MemberDetails" => [
|
||||
[
|
||||
"MemberEmpId" => "EMPID3625557",
|
||||
"MemberEmpId" => "EMPID3625559",
|
||||
"DOJ" => "21-MAR-2019",
|
||||
"InsuredName" => "Kumar",
|
||||
"DOB" => "7-JUL-1983",
|
||||
"InsuredName" => "Gowtham",
|
||||
"DOB" => "7-JUL-1993",
|
||||
"Relationship" => "SELF",
|
||||
"Gender" => "MALE",
|
||||
"DOC" => "05-SEP-2025",
|
||||
"DOC" => '2025-10-27',
|
||||
"SumInsured" => "400000",
|
||||
"EmailId" => "KUMAR@GMAIL.COM",
|
||||
"EmailId" => "Gowtham@GMAIL.COM",
|
||||
"FlagStatus" => "A"
|
||||
],
|
||||
[
|
||||
"MemberEmpId" => "EMPID3625557",
|
||||
"MemberEmpId" => "EMPID3625559",
|
||||
"DOJ" => "21-MAR-2019",
|
||||
"InsuredName" => "Saranya",
|
||||
"InsuredName" => "Lavanya",
|
||||
"DOB" => "8-AUG-1970",
|
||||
"Relationship" => "MOTHER",
|
||||
"Gender" => "FEMALE",
|
||||
"DOC" => "05-SEP-2025",
|
||||
"DOC" => '2025-10-27',
|
||||
"SumInsured" => "400000",
|
||||
"EmailId" => "Saranya@GMAIL.COM",
|
||||
"EmailId" => "Lavanya@GMAIL.COM",
|
||||
"FlagStatus" => "A"
|
||||
],
|
||||
]
|
||||
@ -148,9 +148,9 @@ class ICICILombardController extends AdminController
|
||||
// dd($headers);
|
||||
|
||||
$body = [
|
||||
"PolicyNumber" => "4016/A/O/53130557/00/000",
|
||||
"BatchId" => "3658147",
|
||||
"CorrelationId" => "550e8400-e29b-41d4-a716-446655440010"
|
||||
"PolicyNumber" => "4016/PPN/A/O/53167743/00/000",
|
||||
"BatchId" => "3672146",
|
||||
"CorrelationId" => "550e8400-e29b-41d4-a716-446655440012"
|
||||
];
|
||||
|
||||
$response = call_third_party_api($url, 'POST', $headers, $body, true);
|
||||
@ -182,9 +182,9 @@ class ICICILombardController extends AdminController
|
||||
];
|
||||
|
||||
$body = [
|
||||
"PolicyNumber" => "4016/A/51974976/00/000",
|
||||
"IMID" => "2345617878",
|
||||
"CorrelationId" => "86383c78-4c67-4e4d-9aa0-9f926fb0d55e"
|
||||
"PolicyNumber" => "4016/PPN/A/O/53167743/00/000",
|
||||
"IMID" => "3672145",
|
||||
"CorrelationId" => "550e8400-e29b-41d4-a716-446655440011"
|
||||
];
|
||||
|
||||
$response = call_third_party_api($url, 'POST', $headers, $body, true);
|
||||
|
||||
538
app/Controllers/MediAssistApiController.php
Normal file
538
app/Controllers/MediAssistApiController.php
Normal file
@ -0,0 +1,538 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers;
|
||||
|
||||
use App\Controllers\BaseController;
|
||||
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
|
||||
class MediAssistApiController extends BaseController
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
public function SubmitClaim ($claimId = 458){
|
||||
|
||||
helper('api');
|
||||
|
||||
$url = ''. getenv('MEDI_ASSIST_API_BASE_URL_DEV').'/SubmitClaim';
|
||||
$method = 'POST';
|
||||
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
'Username:'. getenv('MEDI_ASSIST_API_USERNAME_DEV').'',
|
||||
'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_DEV').'',
|
||||
];
|
||||
|
||||
|
||||
//Prepare body data
|
||||
$db = \Config\Database::connect();
|
||||
|
||||
//Prepare body data
|
||||
$db = \Config\Database::connect();
|
||||
// Fetch the data from DB
|
||||
$data = $db->table('ticket_master tm')
|
||||
->select('
|
||||
tm.id,
|
||||
tm.emp_mobile as mobileNo,
|
||||
tm.emp_mail as emailId,
|
||||
tm.doa as claimDateOfAdmission,
|
||||
tm.dod as claimDateOfDischarge,
|
||||
tm.hospital_name as hospName,
|
||||
tm.claim_amount as claimAmount,
|
||||
cp.policy_no as policyNo,
|
||||
e.id as empId,
|
||||
e.emp_code as memberId,
|
||||
tn.note as disease,
|
||||
tn.note as reasonForHospitalization,
|
||||
cf.doc_name as fileName,
|
||||
cf.url as filePath
|
||||
')
|
||||
->join('employees e', 'e.id = tm.emp_id', 'left')
|
||||
->join('client_policy cp', 'tm.client_policy_id = cp.id', 'left')
|
||||
->join('ticket_notes tn', 'tn.ticket_id = tm.id', 'left')
|
||||
->join('claim_files cf', 'cf.ticket_id = tm.id AND cf.file_type = 2', 'left')
|
||||
->where('tm.id', $claimId)
|
||||
->get()
|
||||
->getRowArray(); // single record
|
||||
|
||||
|
||||
// Map DB result to request body
|
||||
if ($data) {
|
||||
|
||||
$filePath = $data['filePath'] ?? '';
|
||||
|
||||
$filename = basename($filePath);
|
||||
|
||||
$fileDir = WRITEPATH . 'uploads/claim_files/'.$filename;
|
||||
|
||||
|
||||
if ($fileDir) {
|
||||
$downloadUrl = base_url('fileDownload?file_path=').$fileDir;
|
||||
} else {
|
||||
$downloadUrl = '';
|
||||
}
|
||||
|
||||
$body = [
|
||||
"policyNo" => $data['policyNo'] ?? "",
|
||||
"memberId" => $data['empId'] ?? "",
|
||||
"mobileNo" => $data['mobileNo'] ?? "",
|
||||
"emailId" => $data['emailId'] ?? "",
|
||||
"claimDateOfAdmission" => $data['claimDateOfAdmission'] ?? "",
|
||||
"claimDateOfDischarge" => $data['claimDateOfDischarge'] ?? "",
|
||||
"hospName" => $data['hospName'] ?? "",
|
||||
"hospAddress" => $data['hospName'] ?? "", // If hospAddress not available, reuse hospName
|
||||
"reasonForHospitalization" => $data['reasonForHospitalization'] ?? "",
|
||||
"disease" => $data['disease'] ?? "",
|
||||
"claimAmount" => (float)($data['claimAmount'] ?? 0),
|
||||
"claimType" => "HOSPITALIZATION", // static value
|
||||
"claimSubmissionAttachments" => [
|
||||
"fileName" => $data['fileName'] ?? "",
|
||||
"filePath" => $downloadUrl ?? ""
|
||||
]
|
||||
];
|
||||
} else {
|
||||
$body = [];
|
||||
}
|
||||
|
||||
// dd($body);
|
||||
|
||||
// $body = [
|
||||
// "policyNo" => "570000/48/2025/286",
|
||||
// "memberId" => 4078919887,
|
||||
// "mobileNo" => "95000XXXXX",
|
||||
// "emailId" => "test@Medi.com",
|
||||
// "claimDateOfAdmission" => "2023-12-14",
|
||||
// "claimDateOfDischarge" => "2023-12-16",
|
||||
// "hospName" => "TestHosp",
|
||||
// "hospAddress" => "Testhosp",
|
||||
// "reasonForHospitalization" => "test",
|
||||
// "disease" => "testkediney",
|
||||
// "claimAmount" => 10,
|
||||
// "claimType" => "HOSPITALIZATION",
|
||||
// "claimSubmissionAttachments" => [
|
||||
// "fileName" => "Test.pdf",
|
||||
// "filePath" => "https://apiintegration.mediassist.in/IntegrationEcard/DownloadEcard/4078613742/Senthil Kumar P/556/5386"
|
||||
// ]
|
||||
// ];
|
||||
|
||||
$response = call_third_party_api($url, $method, $headers, $body);
|
||||
|
||||
|
||||
if($response['status'] != true){
|
||||
|
||||
log_message('error', 'TPA CLAIM PUSH FAILED | claimId: '.$claimId.' | response: '.json_encode($response));
|
||||
return;
|
||||
}
|
||||
|
||||
// return $this->response->setJSON($response);
|
||||
|
||||
$claimRef = $response['data']['claimReferenceNo'] ?? null;
|
||||
|
||||
if(!empty($claimRef)){
|
||||
|
||||
log_message('error', 'TPA CLAIM PUSH SUCCESS | claimId: '.$claimId.' | claimReferenceNo: '.$claimRef);
|
||||
|
||||
$db->table('ticket_master')
|
||||
->where('id',$claimId)
|
||||
->update([ 'tpa_claim_push_reference_no' => $claimRef ]);
|
||||
|
||||
return;
|
||||
|
||||
} else {
|
||||
log_message('error', 'TPA CLAIM PUSH SUCCESS BUT claimReferenceNo EMPTY | claimId: '.$claimId.' | response: '.json_encode($response));
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function EcardRequest ($employeeId = null, $policyNo = null){
|
||||
|
||||
helper('api');
|
||||
|
||||
$url = ''. getenv('MEDI_ASSIST_API_BASE_URL_LIVE').'/EcardUrl';
|
||||
$method = 'POST';
|
||||
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
'Username:'. getenv('MEDI_ASSIST_API_USERNAME_LIVE').'',
|
||||
'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_LIVE').'',
|
||||
];
|
||||
|
||||
$body = [
|
||||
"employeeId" => $employeeId,
|
||||
"policyNo" => $policyNo
|
||||
];
|
||||
|
||||
// $body = [
|
||||
// "employeeId" => "CITPL120006",
|
||||
// "policyNo" => "97000063250400000031"
|
||||
// ];
|
||||
|
||||
$response = call_third_party_api($url, $method, $headers, $body);
|
||||
|
||||
if($response['status'] != true){
|
||||
log_message('error', 'Ecard Request FAILED | employeeId: '.$employeeId.' | policyNo: '.$policyNo.' | response: '.json_encode($response));
|
||||
return null;
|
||||
}
|
||||
|
||||
$ecardUrl = $response['data']['ecardUrl'] ?? null;
|
||||
|
||||
if(!empty($ecardUrl)){
|
||||
log_message('error', 'Ecard Request PUSH SUCCESS | employeeId: '.$employeeId.' | policyNo: '.$policyNo.' | ecardUrl: '.$ecardUrl);
|
||||
return $ecardUrl;
|
||||
} else {
|
||||
log_message('error', 'Ecard Request SUCCESS BUT ecardUrl EMPTY | employeeId: '.$employeeId.' | policyNo: '.$policyNo.' | response: '.json_encode($response));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function GetBenefDetails($requestData)
|
||||
{
|
||||
|
||||
helper('api');
|
||||
|
||||
$url = getenv('MEDI_ASSIST_API_BASE_URL_LIVE') . '/GetBenefDetails';
|
||||
$method = 'POST';
|
||||
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
'Username:' . getenv('MEDI_ASSIST_API_USERNAME_LIVE'),
|
||||
'Password:' . getenv('MEDI_ASSIST_API_PASSWORD_LIVE'),
|
||||
];
|
||||
|
||||
$policyNo = $requestData['policy_no'] ?? null;
|
||||
|
||||
if (empty($policyNo)) {
|
||||
log_message('error', 'GetBenefDetails: policy_no missing in request');
|
||||
return $this->response->setJSON(['status' => false,'message' => 'policy_no required']);
|
||||
}
|
||||
|
||||
log_message('error', "GetBenefDetails called for policy_no: {$policyNo}");
|
||||
|
||||
$allBenef = [];
|
||||
$startIndex = 0;
|
||||
$range = 100;
|
||||
$totalCount = 0;
|
||||
|
||||
do {
|
||||
$body = [
|
||||
"policyNo" => $policyNo,
|
||||
"startDate" => "",
|
||||
"endDate" => "",
|
||||
"isDeActivedata" => false,
|
||||
"startIndex" => $startIndex,
|
||||
"range" => $range,
|
||||
"employeeId" => ""
|
||||
];
|
||||
|
||||
log_message('error', "GetBenefDetails API Request (startIndex={$startIndex}): " . json_encode($body));
|
||||
|
||||
$response = call_third_party_api($url, $method, $headers, $body);
|
||||
|
||||
if ($response['status'] != true) {
|
||||
log_message('error', 'GetBenefDetails API failed: ' . json_encode($response));
|
||||
return $this->response->setJSON([ 'status' => false,'message' => 'API call failed','data' => $response]);
|
||||
}
|
||||
|
||||
$data = $response['data'] ?? [];
|
||||
|
||||
if (!isset($data['benefDetails'])) {
|
||||
log_message('error', "GetBenefDetails: 'benefDetails' missing in API response: " . json_encode($data));
|
||||
break;
|
||||
}
|
||||
|
||||
$count = $data['count'] ?? 0;
|
||||
$totalCount = $count;
|
||||
$fetchedCount = count($data['benefDetails']);
|
||||
|
||||
log_message('error', "Fetched {$fetchedCount} records (startIndex={$startIndex}) of total {$count}");
|
||||
|
||||
$allBenef = array_merge($allBenef, $data['benefDetails']);
|
||||
|
||||
$startIndex += $range;
|
||||
|
||||
} while ($startIndex < $totalCount);
|
||||
|
||||
// now update DB
|
||||
$db = \Config\Database::connect();
|
||||
$updated = 0;
|
||||
|
||||
|
||||
|
||||
foreach ($allBenef as $row) {
|
||||
|
||||
// $update = $db->table('employee_polices')
|
||||
// ->join('client_policy', 'employee_polices.client_policy_id = client_policy.id AND client_policy.policy_no = ' . $db->escape($row['polNo']), 'left')
|
||||
// ->join(
|
||||
// 'employees',
|
||||
// 'employee_polices.employee_id = employees.id
|
||||
// AND employees.emp_code = ' . $db->escape($row['priBenefEmpCode']) . '
|
||||
// AND employees.relationship = ' . $db->escape($row['relName']),
|
||||
// 'left'
|
||||
// )
|
||||
// ->where('employee_polices.tpa_id IS NULL')
|
||||
// ->update(['employee_polices.tpa_id' => $row['benefMediAssistID']]);
|
||||
|
||||
$update = $db->table('employee_polices')
|
||||
->join('client_policy', 'employee_polices.client_policy_id = client_policy.id', 'left')
|
||||
->join('employees', 'employee_polices.employee_id = employees.id', 'left')
|
||||
->where('client_policy.policy_no', $row['polNo'])
|
||||
->where('employees.emp_code', $row['priBenefEmpCode'])
|
||||
->where('employees.relationship', $row['relName'])
|
||||
->where('employee_polices.tpa_id IS NULL', null, false)
|
||||
->update(['employee_polices.tpa_id' => $row['benefMediAssistID']]);
|
||||
|
||||
|
||||
|
||||
if ($db->affectedRows() > 0) {
|
||||
$updated++;
|
||||
log_message('error', "Updated tpa_id for emp_code={$row['priBenefEmpCode']}, policy={$row['polNo']}");
|
||||
}
|
||||
}
|
||||
|
||||
log_message('error', "GetBenefDetails completed. Total fetched={$totalCount}, updated={$updated}");
|
||||
|
||||
return $this->response->setJSON([
|
||||
'status' => true,
|
||||
'message' => 'Updated successfully',
|
||||
'total_fetched' => $totalCount,
|
||||
'total_updated' => $updated
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
// public function GetBenefDetails (){
|
||||
|
||||
// $postData = $this->request->getJSON(true);
|
||||
|
||||
// helper('api');
|
||||
|
||||
// $url = ''. getenv('MEDI_ASSIST_API_BASE_URL_LIVE').'/GetBenefDetails';
|
||||
// $method = 'POST';
|
||||
|
||||
// $headers = [
|
||||
// 'Content-Type: application/json',
|
||||
// 'Username:'. getenv('MEDI_ASSIST_API_USERNAME_LIVE').'',
|
||||
// 'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_LIVE').'',
|
||||
// ];
|
||||
|
||||
// $body = [
|
||||
// "policyNo" => $$postData['policy_no'],
|
||||
// "startDate" => "",
|
||||
// "endDate" => "",
|
||||
// "isDeActivedata" => false,
|
||||
// "startIndex" => 0,
|
||||
// "range" => 100 ,
|
||||
// "employeeId" => ""
|
||||
// ];
|
||||
|
||||
// // $body = [
|
||||
// // "policyNo" => "97000063250400000031",
|
||||
// // "startDate" => "",
|
||||
// // "endDate" => "",
|
||||
// // "isDeActivedata" => false,
|
||||
// // "startIndex" => 0,
|
||||
// // "range" => 100 ,
|
||||
// // "employeeId" => ""
|
||||
// // ];
|
||||
|
||||
// $response = call_third_party_api($url, $method, $headers, $body);
|
||||
|
||||
|
||||
// if($response['status'] != true){
|
||||
// return $this->response->setJSON([
|
||||
// 'status' => false,
|
||||
// 'message' => 'failed.',
|
||||
// 'data' => $response
|
||||
// ]);
|
||||
// }
|
||||
|
||||
// return $this->response->setJSON($response);
|
||||
|
||||
// }
|
||||
|
||||
public function ClaimDetail (){
|
||||
|
||||
|
||||
helper('api');
|
||||
|
||||
$url = ''. getenv('MEDI_ASSIST_API_BASE_URL_LIVE').'/ClaimDetail';
|
||||
$method = 'POST';
|
||||
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
'Username:'. getenv('MEDI_ASSIST_API_USERNAME_LIVE').'',
|
||||
'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_LIVE').'',
|
||||
];
|
||||
|
||||
$body = [
|
||||
"policyNo" => "97000063250400000031",
|
||||
"startDate" => "",
|
||||
"endDate" => "",
|
||||
"employeeCode" => "CITPL120193",
|
||||
"memberID" => "",
|
||||
"claimNo" => "",
|
||||
"claimRefNo" => ""
|
||||
];
|
||||
|
||||
$response = call_third_party_api($url, $method, $headers, $body);
|
||||
|
||||
|
||||
if($response['status'] != true){
|
||||
return $this->response->setJSON([
|
||||
'status' => false,
|
||||
'message' => 'failed.',
|
||||
'data' => $response
|
||||
]);
|
||||
}
|
||||
|
||||
return $this->response->setJSON($response);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public function HospitalNetwork (){
|
||||
|
||||
$postData = $this->request->getJSON(true);
|
||||
|
||||
helper('api');
|
||||
|
||||
$url = ''. getenv('MEDI_ASSIST_API_BASE_URL_LIVE').'/NetworkHospital';
|
||||
$method = 'POST';
|
||||
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
'Username:'. getenv('MEDI_ASSIST_API_USERNAME_LIVE').'',
|
||||
'Password:'. getenv('MEDI_ASSIST_API_PASSWORD_LIVE').'',
|
||||
];
|
||||
|
||||
$body = [
|
||||
"startIndex" => 0,
|
||||
"endIndex" => 10,
|
||||
"policyNumber" => "97000063250400000031"
|
||||
];
|
||||
|
||||
$response = call_third_party_api($url, $method, $headers, $body);
|
||||
|
||||
|
||||
if($response['status'] != true){
|
||||
return $this->response->setJSON([
|
||||
'status' => false,
|
||||
'message' => 'failed.',
|
||||
'data' => $response
|
||||
]);
|
||||
}
|
||||
|
||||
return $this->response->setJSON($response);
|
||||
|
||||
}
|
||||
|
||||
public function IntimateClaim (){
|
||||
|
||||
$postData = $this->request->getJSON(true);
|
||||
|
||||
helper('api');
|
||||
|
||||
// $url = ''. getenv('MEDI_ASSIST_API_BASE_URL').'/ClaimAPIServiceUAT/Claim/IntimateClaim';
|
||||
$url = "https://apiintegration.mediassist.in/ClaimAPIServiceUAT/Claim/IntimateClaim";
|
||||
$method = 'POST';
|
||||
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
'Username:' .'NhanceUsr',
|
||||
'Password:' .'NhU$p&Cc5wGQbr2',
|
||||
];
|
||||
|
||||
|
||||
$p = 'NhU$p&Cc5wGQbr2';
|
||||
$body = [
|
||||
"Username" => "NhanceUsr",
|
||||
"Password" => $p,
|
||||
"policyNo" => "570000/48/2025/286",
|
||||
"memberId" => 4078919887,
|
||||
"DateOfAdmisssion" => date('Y-m-d', strtotime('2023-12-14')),
|
||||
"HospitalName" => "test",
|
||||
"AilmentDescription" => "Kidney",
|
||||
"ContactNo" => "78745XXXXX"
|
||||
];
|
||||
|
||||
$response = call_third_party_api($url, $method, $headers, $body);
|
||||
|
||||
|
||||
if($response['status'] != true){
|
||||
return $this->response->setJSON([
|
||||
'status' => false,
|
||||
'message' => 'failed.',
|
||||
'data' => $response
|
||||
]);
|
||||
}
|
||||
|
||||
return $this->response->setJSON($response);
|
||||
|
||||
}
|
||||
|
||||
public function IRSubmission (){
|
||||
|
||||
$postData = $this->request->getJSON(true);
|
||||
|
||||
helper('api');
|
||||
|
||||
// $url = ''. getenv('MEDI_ASSIST_API_BASE_URL').'/ClaimAPIServiceUAT/Claim/IRSubmission';
|
||||
$url = "https://apiintegration.mediassist.in/ClaimAPIServiceUAT/Claim/IRSubmission";
|
||||
$method = 'POST';
|
||||
|
||||
$headers = [
|
||||
'Content-Type: application/json',
|
||||
'Username:' .'NhanceUsr',
|
||||
'Password:' .'NhU$p&Cc5wGQbr2',
|
||||
];
|
||||
|
||||
$body = [
|
||||
"ClaimID" => "134431104",
|
||||
"Attachments" => [
|
||||
"AttachmentName" => "Test.pdf",
|
||||
"AttachmentPath" => "https://apiintegration.mediassist.in/IntegrationEcard/DownloadEcard/4078613742/Senthil Kumar P/556/5386"
|
||||
]
|
||||
];
|
||||
|
||||
$response = call_third_party_api($url, $method, $headers, $body);
|
||||
|
||||
|
||||
if($response['status'] != true){
|
||||
return $this->response->setJSON([
|
||||
'status' => false,
|
||||
'message' => 'failed.',
|
||||
'data' => $response
|
||||
]);
|
||||
}
|
||||
|
||||
return $this->response->setJSON($response);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function fileDownload()
|
||||
{
|
||||
|
||||
$filePath = $this->request->getGet('file_path');
|
||||
$filename = basename($filePath);
|
||||
|
||||
// Return file as download
|
||||
return $this->response->download($filePath, null)->setFileName($filename);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -58,6 +58,8 @@ if (!function_exists('call_third_party_api')) {
|
||||
];
|
||||
}
|
||||
|
||||
// echo ($response); die;
|
||||
|
||||
$decoded = json_decode($response, true);
|
||||
|
||||
return [
|
||||
|
||||
Loading…
Reference in New Issue
Block a user