250121 add docs, del orm on mirth

This commit is contained in:
mahdahar 2025-01-21 06:33:51 +07:00
parent 9312847369
commit 71d579a49b
5 changed files with 74 additions and 11 deletions

1
.gitignore vendored
View File

@ -3,4 +3,5 @@
!public/
!cretab.sql
!.gitignore
!docs/
!env

View File

@ -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');

View File

@ -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 "<pre>$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 {
}
*/
}
}

BIN
docs/INST002.pdf Normal file

Binary file not shown.

BIN
docs/INST003.pdf Normal file

Binary file not shown.