diff --git a/.gitignore b/.gitignore index 2211c6e..2b93c4b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ !public/ !cretab.sql !.gitignore +!docs/ !env \ No newline at end of file diff --git a/app/Config/Routes.php b/app/Config/Routes.php index 1e45de9..9930452 100644 --- a/app/Config/Routes.php +++ b/app/Config/Routes.php @@ -7,4 +7,5 @@ use CodeIgniter\Router\RouteCollection; */ $routes->get('/', 'Pages::home'); $routes->post('/api/requests/', 'API_Requests::requests'); +$routes->get('/api/requests/orm/(:any)', 'API_Requests::orm/$1'); $routes->get('/api/results/(:any)', 'API_Results::results/$1'); diff --git a/app/Controllers/API_Requests.php b/app/Controllers/API_Requests.php index 2844082..2e4c3cf 100644 --- a/app/Controllers/API_Requests.php +++ b/app/Controllers/API_Requests.php @@ -51,22 +51,22 @@ class API_Requests extends ResourceController { $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'); + $createdt = $qdata['created']; + /* + $time = Time::createFromFormat('Y-m-d\TH:i:s.u\Z', $utcdt, 'UTC'); //2024-10-19T00:47:06.424654Z $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 )"; + $sql = "INSERT INTO cmod.dbo.CM_TM_REQUESTS (REFFID, REQNUMBER, REQDESC, REQTYPE, REQDATE, AGENT, DOC, LOC, PATID, COMPANY, ISTAKEN, LOGDATE) VALUES ('$reffid', '$visitnum', '$visitdesc', '$visittype', '$visitdt', '$agentname', '$doc', '$loc', '$patid', '$company_name', null, '$createdt' )"; $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'"; + $sql = "UPDATE cmod.dbo.CM_TM_REQUESTS SET REQNUMBER='$visitnum', REQDESC='$visitdesc', REQTYPE='$visittype', REQDATE='$visitdt', AGENT='$agentname', DOC='$doc', LOC='$loc', PATID='$patid' where REQID='$reqid'"; $db->query($sql); } @@ -107,18 +107,78 @@ class API_Requests extends ResourceController { */ } - public function sendORMHL7($reqid) { + public function orm($reqid) { $db = \Config\Database::connect(); - $sql = "select r.REQID, r.REFFID, r.LOC, p.PATNUMBER, p.FIRSTNAME, p.LASTNAME, p.BIRTHDATE, p.SEX, r.REQNUMBER, r.REQDATE, r.AGENT, r.DOC + $sql = "select r.REFFID, r.LOC, p.PATNUMBER, p.FIRSTNAME, p.LASTNAME, p.BIRTHDATE, p.SEX, r.REQNUMBER, r.REQDATE, r.AGENT, r.DOC from cmod.dbo.CM_TM_REQUESTS r left join cmod.dbo.CM_TM_PATIENTS p on p.PATID=r.PATID where r.REQID='$reqid'"; + $query = $db->query($sql); + $results = $query->getResultArray(); + $res = $results[0]; - $type = "ORM^O01"; + $reffid = $res['REFFID']; + $patnumber = $res['PATNUMBER']; + $loc = $res['LOC']; + $firstname = $res['FIRSTNAME']; + $lastname = $res['LASTNAME']; + $dob = $res['BIRTHDATE']; + $sex = $res['SEX']; + $hosp = $res['REQNUMBER']; + $reqdate = $res['REQDATE']; + $time = Time::createFromFormat('Y-m-d\TH:i:s.u\Z', $reqdate, 'UTC'); //2024-10-19T00:47:06.424654Z + // Denpasar + $time = $time->setTimezone('Asia/Shanghai'); + $reqdate= date_format($time, 'YmdHi'); + $agent = $res['AGENT']; + $doc = $res['DOC']; + $orm = "MSH|^~\&|PBMC|TM|TDNL||||ORM^O01^|||2.3||||\r"; + $orm .= "PID|1||$patnumber^^^^PATNUMBER||$firstname^$lastname^^^^^L||$dob|$sex||^|^^||||||^||||||||||||||||\r"; + $orm .= "PV1|||$loc^^^||||$doc|$doc||||||||||||||||||||||||||||||||||||$reqdate||||||||||\r"; + #$orm += + + $sql = "select t.TESTSTATUS, m.LISCODE from cmod.dbo.CM_TM_TESTS t + left join cmod.dbo.CM_DICT_MAPPINGS m on m.HISCODE=t.HISCODE + where t.REQID='$reqid'"; + $query = $db->query($sql); + $results = $query->getResultArray(); + $i = 1; + foreach($results as $qdata) { + $liscode = $qdata['LISCODE']; + $status = $qdata['TESTSTATUS']; + if($liscode != '') { + if($status!=1 || $status !=2) {$status="NW";} else {$status="CA";} + $orm .= "ORC|$status|$reffid||$reffid|||^^^$reqdate|||||$loc|$doc||$reqdate|||||||||\r"; + $orm .= "OBR|$i|||$liscode|||||||R|||$reqdate||$loc|||||||||||^^^^^R||||||||||||||\r"; + $i++; + } + } + + echo "
$orm \r";
- $orm = "MSH|^~\&|PBMC|TM|TDNL||||$type^|||2.3||||\r";
- $orm += "PID|1||^^^^PATNUMBER||^^^^^^L|||||^|^^||||||^||||||||||||||||";
/*
+ MSH|^~\&|LISTHOST|LISTHOST.SEND|||202501171415||ORM^O01|01250101080|P|2.3
+ PID|||0111126100014955^^^^PATNUMBER||TJOENG VINCENTIUS MINARDI, MR^^^^^^L||19611211|M|||GRAHA FAMILY PP-9^^SURABAYA||0811300341^^TELEPHON~^^TELEPHON2~^^FAX~^^EMAIL^BERTINAMARTEN@GMAIL.COM|||||||||||||||||||
+ PV1|||WALK^2^^||||L0038|L0038||||||||||||||||||||||||||||||||||||202501171102||||||||||
+ ORC|CA|01250101080||01250101080|||^^^202501170000|||||L0038|WALK||202501171102|||||||||
+ OBR|1|||16549^^Konsultasi dr.Nunki|||||||R|||202501171102||L0038|||||||||||^^^^^R||||||||||||||
+
+ MSH|^~\&|RSML|HOST|TD-Synergy|202501201926|||ORM^O01||||||||||||
+ PID|||75.91.81^^^^PATNUMBER||Kasiyani Ny^^^^^^L||19480806|F|||Sumberwudi RT5 RW2 Sumberwudi Karanggeneng Lamonga^^^^^||^^~^^||||||||||||||
+ NTE|||Tamise Ny/Kardiyo Tn
+ PV1|||IGD||||1644||||||||||||2596973|||||||||||||||||||||||||202501201926||||||||
+ ORC|NW|||1319798|||^^^202501201926|||||1644|IGD||||202501201926||||||||
+ NTE|||-
+ NTE|||Candra Dewi K. dr. Sp.PK
+ NTE|||
+ OBR|1|||UREA||||||||||||||||||||||||||||||||||||
+ ORC|NW|||1319798|||^^^202501201926|||||1644|IGD||||202501201926||||||||
+ OBR|2|||CL||||||||||||||||||||||||||||||||||||
+ ORC|NW|||1319798|||^^^202501201926|||||1644|IGD||||202501201926||||||||
+ OBR|3|||AGDG||||||||||||||||||||||||||||||||||||
+ ORC|NW|||1319798|||^^^202501201926|||||1644|IGD||||202501201926||||||||
+ OBR|4|||GGPH||||||||||||||||||||||||||||||||||||
+
MSH|^~\&|PBMC|TM|TDNL||||ORM^O01^|||2.3||||
PID|1||^^^^PATNUMBER||^^^^^^L|||||^|^^||||||^||||||||||||||||
PV1|1||||||||||||||||||||||||||||||||||||||||||||
@@ -215,5 +275,6 @@ class API_Requests extends ResourceController {
}
*/
+
}
}
diff --git a/docs/INST002.pdf b/docs/INST002.pdf
new file mode 100644
index 0000000..9f4fecb
Binary files /dev/null and b/docs/INST002.pdf differ
diff --git a/docs/INST003.pdf b/docs/INST003.pdf
new file mode 100644
index 0000000..fc282f1
Binary files /dev/null and b/docs/INST003.pdf differ