nhance/app/Controllers/VidalApiController.php
2025-09-27 11:30:52 +05:30

233 lines
7.0 KiB
PHP

<?php
namespace App\Controllers;
use App\Controllers\BaseController;
use CodeIgniter\HTTP\ResponseInterface;
class VidalApiController extends BaseController
{
public function index()
{
//
}
public function hospitalNetwork(){
$postData = $this->request->getJSON(true);
helper('api');
$url = ''. getenv('VIDAL_API_BASE_URL').'/hospitalnetwork';
$method = 'POST';
$headers = [
'Content-Type: application/json',
'Authorization:'. getenv('VIDAL_API_KEY').'',
'username:'. getenv('VIDAL_API_USERNAME').'',
'password:'. getenv('VIDAL_API_PASSWORD').'',
'policynumber:'. $postData['policyNo'] ?? '',
];
$body = [];
$response = call_third_party_api($url, $method, $headers, $body);
if($response['status'] != true){
return $this->response->setJSON([
'status' => false,
'message' => 'Token generation failed.',
'data' => $response
]);
}
return $this->response->setJSON($response);
}
public function eCardService(){
$postData = $this->request->getJSON(true);
helper('api');
$url = ''. getenv('VIDAL_API_BASE_URL').'/ecardservice';
$method = 'POST';
$headers = [
'Content-Type: application/json',
'Authorization:'.getenv('VIDAL_API_KEY').'',
'username:' .getenv('VIDAL_API_USERNAME').'',
'password:' .getenv('VIDAL_API_PASSWORD').'',
'PolicyNo:' .$postData['PolicyNo'] ?? '',
'enrollmentNo:' .$postData['enrollmentNo'] ?? '',
];
$body = [
];
$response = call_third_party_api($url, $method, $headers, $body);
if($response['status'] != true){
return $this->response->setJSON([
'status' => false,
'message' => 'Token generation failed.',
'data' => $response
]);
}
return $this->response->setJSON($response);
}
public function claimStatusCheck(){
$postData = $this->request->getJSON(true);
helper('api');
$url = ''. getenv('VIDAL_API_BASE_URL').'/claimpreauthservice';
$method = 'POST';
$headers = [
'Content-Type: application/json',
'Authorization:' .getenv('VIDAL_API_KEY').'',
'username:' .getenv('VIDAL_API_USERNAME').'',
'password:' .getenv('VIDAL_API_PASSWORD').'',
'PolicyNo:' .$postData['policyNo'] ?? '',
'enrollmentNo:' .$postData['enrollmentNo'] ?? '',
'empNo:' .$postData['empNo'] ?? '',
'startdate:' .$postData['startdate'] ?? '',
'enddate:' .$postData['enddate'] ?? '',
'tpaclaimNo:' .$postData['tpaclaimNo'] ?? ''
];
$body = [];
$response = call_third_party_api($url, $method, $headers, $body);
if($response['status'] != true){
return $this->response->setJSON([
'status' => false,
'message' => 'Token generation failed.',
'data' => $response
]);
}
return $this->response->setJSON($response);
}
public function newClaim()
{
$postData = $this->request->getPost();
if (empty($postData)) {
return $this->response->setJSON([
'status' => false,
'message' => 'Empty Data Given.',
'data' => $postData
]);
}
helper('api');
$url = getenv('VIDAL_API_BASE_URL') . '/submitClaim';
$method = 'POST';
$headers = [
'Content-Type: multipart/form-data',
'Authorization:' .getenv('VIDAL_API_KEY').'',
];
$body = [
'username' => getenv('VIDAL_API_USERNAME'),
'password' => getenv('VIDAL_API_PASSWORD'),
'policyNo' => $postData['policyNo'] ?? '',
'enrollmentId' => $postData['enrollmentId'] ?? '',
'typeOfClaim' => $postData['typeOfClaim'] ?? '',
'claimSubType' => $postData['claimSubType'] ?? '',
'requestedAmount' => $postData['requestedAmount'] ?? '',
'ailmentType' => $postData['ailmentType'] ?? '',
'admissionDate' => $postData['admissionDate'] ?? '',
'dischargeDate' => $postData['dischargeDate'] ?? '',
'hospitalName' => $postData['hospitalName'] ?? '',
'empanelmentNo' => $postData['empanelmentNo'] ?? '',
'documentType' => $postData['documentType'] ?? '',
'ailmentName' => $postData['ailmentName'] ?? '',
'hospitalAddress' => $postData['hospitalAddress'] ?? '',
'hospitalState' => $postData['hospitalState'] ?? '',
'hospitalCity' => $postData['hospitalCity'] ?? '',
'hospitalPinCode' => $postData['hospitalPinCode'] ?? '',
'hospitalPhoneNo' => $postData['hospitalPhoneNo'] ?? '',
];
// ✅ Handle file upload
if ($file = $this->request->getFile('File')) {
if ($file->isValid() && !$file->hasMoved()) {
$filePath = $file->getTempName();
$originalName = $file->getClientName();
$mimeType = $file->getMimeType();
$body['File'] = new \CURLFile($filePath, $mimeType, $originalName);
}
}
$response = call_third_party_api($url, $method, $headers, $body);
if($response['status'] != true){
return $this->response->setJSON([
'status' => false,
'message' => 'Token generation failed.',
'data' => $response
]);
}
return $this->response->setJSON($response);
}
public function enrollment()
{
$postData = $this->request->getJSON(true);
helper('api');
$url = getenv('VIDAL_API_BASE_URL').'/enrollmendataservice';
$method = 'POST';
$headers = [
'Content-Type: application/json',
'Authorization:'. getenv('VIDAL_API_KEY').'',
'username:' . getenv('VIDAL_API_USERNAME').'',
'password:' . getenv('VIDAL_API_PASSWORD').'',
'policyNo:' .$postData['policyNo'] ?? '',
'startindex:' .$postData['startindex'] ?? '',
'endindex:' .$postData['endindex'] ?? ''
];
$body = [
];
$response = call_third_party_api($url, $method, $headers, $body);
if($response['status'] != true){
return $this->response->setJSON([
'status' => false,
'message' => 'Token generation failed.',
'data' => $response
]);
}
return $this->response->setJSON($response);
}
}