From e6750627c1399b608f410b7c06111430b5e142bb Mon Sep 17 00:00:00 2001 From: mahdahar <89adham@gmail.com> Date: Wed, 22 Jan 2025 16:35:38 +0700 Subject: [PATCH] starting the result --- app/Config/Autoload.php | 2 - app/Controllers/API_Requests.php | 6 +- app/Controllers/API_Results.php | 117 ++++++++++++------------------- 3 files changed, 48 insertions(+), 77 deletions(-) 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);
-
}
}