From d576584b8a78adc8c0caffea37ea405ad312fe67 Mon Sep 17 00:00:00 2001 From: mikael-zakaria Date: Tue, 21 Jan 2025 08:46:08 +0700 Subject: [PATCH] delete api controller --- app/Controllers/API.php | 211 ---------------------------------------- 1 file changed, 211 deletions(-) delete mode 100644 app/Controllers/API.php diff --git a/app/Controllers/API.php b/app/Controllers/API.php deleted file mode 100644 index e9b1d42..0000000 --- a/app/Controllers/API.php +++ /dev/null @@ -1,211 +0,0 @@ -request->getVar(); - - // log to cm_tm_logs - $data = json_encode($raw); - $sql = "INSERT INTO cmod.dbo.CM_TM_LOGS (URL, METHOD, BODY, LOGDATE) VALUES ('API/REQUESTS', 'POST', '$data', GETDATE())"; - $db->query($sql); - - $data = array(); - $qdata = (array)$raw; - $qpat = (array)$qdata['patient']; - - //patdata - $rm = $qpat['rm_number']; - $firstname = $qpat['patient_first_name']; - $lastname = $qpat['patient_last_name']; - $dob = $qpat['patient_dob']; - $sex = $qpat['patient_sex']; - $phone = $qpat['patient_phone']; - - $sql = "select PATID from cmod.dbo.CM_TM_PATIENTS where PATNUMBER='$rm'"; - $query = $db->query($sql); - $results = $query->getResultArray(); - if(!isset($results[0])) { - $sql = "INSERT INTO cmod.dbo.CM_TM_PATIENTS (PATNUMBER, FIRSTNAME, LASTNAME, BIRTHDATE, SEX, PHONE ) VALUES ('$rm', '$firstname', '$lastname', '$dob', '$sex', '$phone' )"; - $db->query($sql); - $patid = $db->insertID(); - } else { - $patid = $results[0]['PATID']; - $sql = "UPDATE cmod.dbo.CM_TM_PATIENTS SET FIRSTNAME='$firstname', LASTNAME='$lastname', BIRTHDATE='$dob', SEX='$sex', PHONE='$phone' where PATID='$patid'"; - $db->query($sql); - } - - //reqdata - $reffid = $qdata['reference_id']; - $visitnum = $qpat['visit_number']; - $visitdesc = $qpat['visit_description']; - $visitdt = $qpat['visit_date_time']; - $agent = $qpat['agent']; - $agentname = $qpat['agent_name']; - $visittype = $qpat['visit_type']; - $company_name = $qdata['company_name']; - $loc = $qdata['branch']; - $doc = $qpat['treating_doctor']; - $utcdt = $qdata['created']; - $data['created'] = $utcdt; - $time = Time::createFromFormat('Y-m-d\TH:i:s.u\Z', $utcdt, 'UTC'); - $time = $time->setTimezone('Asia/Shanghai'); - $orderdt = $time->toDateTimeString(); - - $sql = "select REQID from cmod.dbo.CM_TM_REQUESTS where REFFID='$reffid'"; - $query = $db->query($sql); - $results = $query->getResultArray(); - if(!isset($results[0])) { - $sql = "INSERT INTO cmod.dbo.CM_TM_REQUESTS (REFFID, REQNUMBER, REQDESC, REQTYPE, REQDATE, AGENT, DOC, LOC, PATID, COMPANY, ISTAKEN) VALUES ('$reffid', '$visitnum', '$visitdesc', '$visittype', '$orderdt', '$agentname', '$doc', '$loc', '$patid', '$company_name', null )"; - $db->query($sql); - $reqid = $db->insertID(); - } else { - $reqid = $results[0]['REQID']; - $sql = "UPDATE cmod.dbo.CM_TM_REQUESTS SET REQNUMBER='$visitnum', REQDESC='$visitdesc', REQTYPE='$visittype', REQDATE='$orderdt', AGENT='$agentname', DOC='$doc', LOC='$loc', PATID='$patid' where REQID='$reqid'"; - $db->query($sql); - } - - // tests - $tests = json_decode(json_encode($qpat['tests']), true);; - $string = ''; - foreach($tests as $test) { - $testcode = $test['service_id']; - $testreffid = $test['test_ref_id']; - if(isset($test['status'])) { $teststatus = $test['status'];} - else { $teststatus = ''; } - $string .= "( '$testreffid', '$reqid', '$testcode', '$teststatus' ),"; - } - $string = rtrim($string, ','); - //$sql = "INSERT INTO cmod.dbo.CM_TM_TESTS(REFFID, REQID, HISCODE) VALUES $string"; - $sql = "INSERT INTO cmod.dbo.CM_TM_TESTS (REFFTESTID, REQID, HISCODE, TESTSTATUS) - SELECT S.REFFTESTID, S.REQID, S.HISCODE, S.TESTSTATUS FROM ( VALUES $string ) AS S (REFFTESTID, REQID, HISCODE, TESTSTATUS) - WHERE NOT EXISTS ( SELECT 1 FROM cmod.dbo.CM_TM_TESTS T WHERE T.REQID = S.REQID AND T.HISCODE = S.HISCODE );"; - $db->query($sql); - - $sql = "UPDATE cmod.dbo.CM_TM_TESTS SET TESTSTATUS = S.TESTSTATUS - FROM cmod.dbo.CM_TM_TESTS T - INNER JOIN ( VALUES $string ) AS S (REFFTESTID, REQID, HISCODE, TESTSTATUS) - ON T.REQID = S.REQID AND T.HISCODE = S.HISCODE;"; - $db->query($sql); - - - return $this->respond(201); - /* - if( $db->query($sql) ) { - return $this->respond(201); - } else { - $response = [ - 'errors' => $db->errors(), 'message' => 'Invalid Messages' - ]; - return $this->fail($response , 409); - } - */ - } - - public function results($accessnumber) { - $db = \Config\Database::connect(); - - // $sql = "select HOSTORDERNUMBER as HISNO from SP_REQUESTS where SP_ACCESSNUMBER='$accessnumber'"; - // $query = $db->query($sql); - // $results = $query->getResultArray(); - // $data['LISNO'] = $accessnumber; - // $hisno = $results[0]['HISNO']; - // $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']; - - $sql = "select - dc.CHAPID, - 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.DEPTH as text_depth, - 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 t.TESTORDER"; - $query = $db->query($sql); - $test_results = $query->getResultArray(); - - // $uuid24 = $this->generateUUID24(); - $response = [ - "headers" => [ - "Content-Type" => "application/json", - "Authorization" => "Transmedic api key" - ], - "data" => [ - "reference_id" => "", - "created" => "2024-10-19T02:11:06.424654Z", - "company_name" => $payer_name, - "branch" => $location, - "test_results" => [] - ] - ]; - - // Digunakan Untuk Hasil test - foreach ($test_results as $result) { - - // var_dump($result);die(); - - if ($result['text_depth'] == 0) { - // $uuid32 = $this->generateUUID32(); - $uuid24 = $this->generateUUID24(); - - $data = [ - "test_ref_id"=> $uuid24, - "service_id"=> "", - "service_name"=> $result['test_eng'], - "test_medium"=> $result['serum_type'], - "test_container"=> "", - "chapter_type"=> $result['chap_eng'], - "test_summary"=> "", - "status"=> "", - ]; - - array_push($response['data']['test_results'], $data); - } - - - } - - - return $this->respond($response,200); - } - -}