233 lines
7.0 KiB
PHP
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);
|
|
}
|
|
|
|
|
|
}
|