BV, SV "visit_description": null, // can be used later for cross reference diisi di FO saat registrasi "visit_date_time": "2024-10-19T00:47:06.424654Z", // => UTC "agent_name": "Apollo Group", //NULL IN REAL AGENT NAME "agent": true, // or false . REQUIRED TRUE/FALSE AS BOOLEAN "treating_doctor": "PMG Bali Medical Team", // General : "PMG Bali Medical Team", "PMG Surabaya Medical Team" "visit_type": "MCU", //WHEN REGISTER AS MCU, required IN : MCU, LAB, OUTPATIENT, SPECIALIST NON VALIDATED ON TD "tests": [ { "test_ref_id": "4f52-8e25-48009b04f52-8e25-4800900", //required (string) audit trail. "service_id": "SL00140" //required }, { "test_ref_id": "4f52-8e25-48009b04f52-8e25-4800901", // (string) audit trail "service_id": "SL00142" } ] } } MSH|^~\&|PBMC|NAPIER|TDNL||202501110734||ORM^O01^|SV000||2.3|||| PID|1||SMAJ2^^^^PATNUMBER||M Zakaria^^^^^^L||20041201|M||^|^^||||||^|||||||||||||||| PV1|1||PBSBY||||PBSBY|PBSBY||||||||||||||||||||||||||||||||||||202501110734| ORC|NW|SV000||SV000|||^^^202501110734|||||PBSBY|PBSBY||202501110734||||| NTE|0|||||||||||||||| NTE|1|||||||||||||||| NTE|2|||||||||||||||| NTE|3|||||||||||||||| OBR|1|||ALCO||||||||||202501110734||PBSBY|||||||||||^^^^^R| */ public function requests() { $db = \Config\Database::connect(); $raw = $this->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())"; $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 = "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(); //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']; $doc = $qpat['treating_doctor']; $visittype = $qpat['visit_type']; $company_name = $qdata['company_name']; $loc = $qdata['branch']; $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 = "INSERT INTO cmod.dbo.CM_TM_REQUESTS (REFFID, REQNUMBER, REQDESC, REQTYPE, REQDATE, AGENT, DOC, LOC, PATID, COMPANY, TAKEN) VALUES ('$reffid', '$visitnum', '$visitdesc', '$visittype', '$orderdt', '$agentname', '$doc', '$loc', '$patid', '$company_name', null )"; $db->query($sql); $reqid = $db->insertID(); // tests $tests = $qpat['tests']; print_r($tests); /* $string = ''; foreach($tests as $test) { $testcode = $test['service_id']; $testreffid = $test['test_ref_id']; $string .= "('$testcode', '$testreffid'),"; } $string = rtrim($string, ','); $sql = "INSERT INTO cmod.dbo.CM_TM_TESTS(REFFID, REQID, HISCODE) VALUES ($string)"; echo "$sql"; $db->query($sql); */ return $this->respond($tests, 201); /* if( $db->query($sql) ) { return $this->respond(201); } else { $response = [ 'errors' => $db->errors(), 'message' => 'Invalid Messages' ]; return $this->fail($response , 409); } */ } }