diff --git a/app/Config/Autoload.php b/app/Config/Autoload.php index 75078fe..76cd926 100644 --- a/app/Config/Autoload.php +++ b/app/Config/Autoload.php @@ -41,8 +41,6 @@ class Autoload extends AutoloadConfig */ public $psr4 = [ APP_NAMESPACE => APPPATH, - // Untuk UUID - 'Ramsey\Uuid' => ROOTPATH . 'vendor/ramsey/uuid/src', ]; /** diff --git a/app/Controllers/API_Requests.php b/app/Controllers/API_Requests.php index 15c43d1..6e046c8 100644 --- a/app/Controllers/API_Requests.php +++ b/app/Controllers/API_Requests.php @@ -172,14 +172,14 @@ class API_Requests extends ResourceController { $orm .= "OBR|$i|||$liscode|||||||R|||||$doc|||||||||||||||||||||||||\r"; $i++; if($liscode=="EGFR") { - $orm .= "OBX||NM|BW||$bw\r"; + $orm .= "OBX||NM|BW||$bw|\r"; } } } - //echo "
$orm";
+		echo "
$orm";
 		//sendHL7Message($host, $port, $message, $timeout = 5);
-		$this->sendHL7Message( "localhost", "8101", $orm, $timeout = 5);
+		//$this->sendHL7Message( "localhost", "8101", $orm, $timeout = 5);
 		//$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
 		
 	}
diff --git a/app/Controllers/API_Results.php b/app/Controllers/API_Results.php
index 2a14805..9015fea 100644
--- a/app/Controllers/API_Results.php
+++ b/app/Controllers/API_Results.php
@@ -11,99 +11,74 @@ class API_Results extends ResourceController {
 	public function results($accessnumber) {
 		$db = \Config\Database::connect();
 
-		$sql = "select HOSTORDERNUMBER as VISITNUMBER from SP_REQUESTS where SP_ACCESSNUMBER='$accessnumber'";
+		$sql = "select r.HOSTORDERNUMBER, r.SP_HOSPNUMBER, cr.LOC, cr.COMPANY, cr.AGENT from SP_REQUESTS r
+			left join cmod.dbo.CM_TM_REQUESTS cr on cr.REFFID=r.HOSTORDERNUMBER
+			where r.SP_ACCESSNUMBER='$accessnumber'";
 		$query = $db->query($sql);
 		$results = $query->getResultArray();
 
-		$visitnumber = $results[0]['VISITNUMBER'];
-
-		// $sql = "select TESTCODE, TESTORDER, RESTYPE, RESVALUE, RESFLAG, UNIT, REFRANGE, USERVAL, RESDATE
-		// 	from cmod.dbo.CM_RESULTS r 
-		// 	where ACCESSNUMBER='$accessnumber'
-		// 	order by TESTORDER";
-		// $query = $db->query($sql);
-		// $results = $query->getResultArray();
-
-
-		$sql = "SELECT sp.HOSTORDERNUMBER, hiso.LOC, hiso.PAYERNAME
-				FROM dbo.SP_REQUESTS sp
-				LEFT JOIN cmod.dbo.CM_HIS_ORDERS hiso ON hiso.VISITNUMBER = sp.HOSTORDERNUMBER
-				WHERE SP_ACCESSNUMBER = '$accessnumber'";
-		$query = $db->query($sql);
-        $results = $query->getResultArray();
-		
-
-		$location = $results[0]['LOC'] == null ? 'PBMC Bali' : 'PBMC Surabaya';
-		$payer_name = $results[0]['PAYERNAME'] == null ? '' : $results[0]['PAYERNAME'];
+		$visitnumber = $results[0]['SP_HOSPNUMBER'];
+		$reffid = $results[0]['HOSTORDERNUMBER'];
+		$location = $results[0]['LOC'];
+		$payer_name = $results[0]['AGENT'];
+		$company = $results[0]['COMPANY'];
+		$createdt = gmdate('Y-m-d\TH:i:s.v\Z');
 
 		$response = [
 			"headers" => [
 				"Content-Type" => "application/json",
-				"Authorization" => "Transmedic api key"
+				"Authorization" => "NasiGorengBambuRuncing",
+				"AppCode" => "2"
 			],
 			"data" => [
-				"reference_id" => " - ",
-				"created" => " - ", 
-				"company_name" => $payer_name,
+				"reference_id" => "$reffid",
+				"created" => "$createdt", 
+				"company_name" => $company,
 				"branch" => $location,
 				"test_results" => []
 			]
 		];
 
-		$sql = "select 
-				dc.CHAPID, 
-				t.DEPTH as depth_test,
-				dc.FULLTEXT as chap_eng, 
-				dc.FULLTEXT as chap_ind, 
-				st.FULLTEXT as serum_type,
-				cdt.TEXT1 as test_eng, 
-				cdt.TEXT2 as test_ind,
-				cdt.UNIT as UNITTEXT,
-				cdt.REFFTEXT,
-				t.NOTPRINTABLE,
-				t.TESTORDER,
-				t.RESTYPE as code_type,
-				t.VALIDATIONINITIALS  as validator,
-				dt.SHORTTEXT,
-				RESULT = case when t.RESVALUE is null then tx.FULLTEXT else t.RESVALUE end,
-				cr.* 
-				from REQUESTS r 
-				left join TESTS t on t.REQUESTID = r.REQUESTID 
-				left join DICT_TESTS dt on dt.ENDVALIDDATE is null and t.TESTID=dt.TESTID
-				left join DICT_TEXTS tx on tx.TEXTID=t.CODEDRESULTID
-				left join DICT_CHAPTERS	dc on dc.CHAPID=dt.CHAPID and dc.ENDVALIDDATE is null
-				left join DICT_TEST_SAMPLES ts on ts.TESTID=t.TESTID and dt.TESTID=ts.TESTID
-				left join DICT_SAMPLES_TYPES st on st.SAMPTYPEID=ts.SAMPTYPEID
-				left join cmod.dbo.CM_DICT_TESTS cdt on dt.TESTCODE=cdt.TESTCODE
-				left join cmod.dbo.CM_RESULTS cr on cr.ACCESSNUMBER=r.ACCESSNUMBER and cr.TESTCODE=cdt.TESTCODE and cr.TESTCODE=dt.TESTCODE
-				where r.ACCESSNUMBER='$accessnumber' 
-				ORDER BY dc.CHAPID, depth_test, t.TESTORDER";
+		$sql = "select dc.CHAPID, t.DEPTH as depth_test, dc.FULLTEXT as chap_eng, dc.FULLTEXT as chap_ind, st.FULLTEXT as serum_type, cdt.TEXT1 as test_eng, cdt.TEXT2 as test_ind, cdt.UNIT as UNITTEXT, cdt.REFFTEXT, t.NOTPRINTABLE,
+  t.TESTORDER, t.RESTYPE as code_type, t.VALIDATIONINITIALS  as validator, dt.SHORTTEXT,
+  RESULT = case when t.RESVALUE is null then tx.FULLTEXT else t.RESVALUE end, cr.*, ct.*, tub.TUBENAME
+from REQUESTS r 
+left join TESTS t on t.REQUESTID = r.REQUESTID 
+left join DICT_TESTS dt on dt.ENDVALIDDATE is null and t.TESTID=dt.TESTID
+left join DICT_TEXTS tx on tx.TEXTID=t.CODEDRESULTID
+left join DICT_CHAPTERS	dc on dc.CHAPID=dt.CHAPID and dc.ENDVALIDDATE is null
+left join DICT_TEST_SAMPLES ts on ts.TESTID=t.TESTID and dt.TESTID=ts.TESTID
+left join DICT_SAMPLES_TYPES st on st.SAMPTYPEID=ts.SAMPTYPEID
+left join cmod.dbo.CM_DICT_TESTS cdt on dt.TESTCODE=cdt.TESTCODE
+left join cmod.dbo.CM_RESULTS cr on cr.ACCESSNUMBER=r.ACCESSNUMBER and cr.TESTCODE=cdt.TESTCODE and cr.TESTCODE=dt.TESTCODE
+left join cmod.dbo.CM_DICT_MAPPINGS m on m.LISCODE=cr.TESTCODE
+left join cmod.dbo.CM_TM_TESTS ct on ct.HISCODE=m.HISCODE
+left join cmod.dbo.CM_DICT_TUBES tub on tub.TUBEID=m.TUBEID
+where r.ACCESSNUMBER='$accessnumber' 
+ORDER BY dc.CHAPID, depth_test, t.TESTORDER";
         $query = $db->query($sql);
-        $test_results = $query->getResultArray();
-		// 5010200007
-		// Digunakan Untuk Hasil test 
+        $test_results = $query->getResultArray();		
+		$d0 = 0;
 		foreach ($test_results as $result) {
-
-			if ($result['depth_test'] === 0) {
-
+			$refftestid = trim($result['REFFTESTID']);
+			$hiscode = $result['HISCODE'];
+			$tubename = $result['TUBENAME'];
+			$depth = $result['depth_test'];
+			if ( $depth == 0) {
 				$data = [
-					"test_ref_id"=> " - TM ",
-					"service_id"=> "",
+					"test_ref_id"=> "$refftestid",
+					"service_id"=> "$hiscode",
 					"service_name"=> $result['test_eng'],
 					"test_medium"=> $result['serum_type'],
-					"test_container"=> "",
+					"test_container"=> "$tubename",
 					"chapter_type"=> $result['chap_eng'], 
-					"test_summary"=> "", 				
-					"status"=> "", 
+					# "test_summary"=> "",		
+					# "status"=> "", 
 					"subtest_results" => [],
 				];
-				
 				array_push($response['data']['test_results'], $data);
-
-			} else if ($result['depth_test'] === 1) {
-
-				// $uuid = Uuid::uuid4()->toString();
-
+				$d0++;
+			} else if ($depth == 1) {
 				// $data = [
 				// 	"subtest_ref_id"=> $uuid,
                 //     "subtest_name"=> $result['SHORTTEXT'],
@@ -116,9 +91,7 @@ class API_Results extends ResourceController {
                 //     "subtest_summary"=> "",
 				// 	"sub_subtest_results" => [],
 				// ];
-
 				// array_push($response['data']['test_results']['subtest_results'], $data);
-
 			}
 
 		}