request filter added

This commit is contained in:
mahdahar 2025-06-10 10:54:16 +07:00
parent bfa741db8c
commit 67151e9371
2 changed files with 27 additions and 23 deletions

View File

@ -1,11 +0,0 @@
buat rule cmod-rest
-order baru
-klo ref baru > ok
-klo ref dan mr+nama sama -> ok
-klo ref sama cek mr dan nama beda di lis -> (kirim error balik)
-order tambahan
-ref sama , cek mr dan nama pasien harus sama + status receive di lis = 0 > ok
-kalo mr dan nama beda atau receive = 1 -> tolak (kirim error balik)
-order cancel
-klo ref sama status cancel=1 dan status receive di lis = 0 - ok
-klo ref sama sattus cancel=1 dan status receive di lis = 1 - tolak (kirim error balik

View File

@ -114,10 +114,10 @@ class API_TM extends ResourceController {
$bw = $qant['weight'];
$bh = $qant['height'];
$sql = "select PATID from cmod.dbo.CM_TM_PATIENTS where PATNUMBER='$rm'";
$sql = "select PATID, FIRSTNAME, LASTNAME from cmod.dbo.CM_TM_PATIENTS where PATNUMBER='$rm'";
$query = $db->query($sql);
$result = $query->getResultArray();
if(isset($result[0])) { $patid = $result[0]['PATID']; }
if(isset($result[0])) { $patid = $result[0]['PATID']; $rfirstname = $result[0]['FIRSTNAME']; $rlastname = $result[0]['LASTNAME']; }
else { $patid = ''; }
$sql = "select REQID, PATID from cmod.dbo.CM_TM_REQUESTS where REFFID='$reffid'";
@ -128,14 +128,24 @@ class API_TM extends ResourceController {
//echo "$patid<br/>$reqid - $rpatid";
//check receive
$sql = "select recv=case when exists (select * from PADMA.dbo.SP_TUBES where SP_ACCESSNUMBER='5061004820' and TUBESTATUS=4) then 1 else 0 end;";
$query = $db->query($sql);
$result = $query->getResultArray();
$recv = $result[0]['recv'];
// check data patient
if($patid == '') { // new patient
if($patid == '') { // new patient
$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 { // existing patient
if($rpatid == $patid ) { // if patient is the same
$sql = "UPDATE cmod.dbo.CM_TM_PATIENTS SET FIRSTNAME='$firstname', LASTNAME='$lastname', BIRTHDATE='$dob', SEX='$sex', PHONE='$phone' where PATID='$patid'";
$db->query($sql);
if($rpatid == $patid && $rfirstname==$firstname && $rlastname == $lastname ) { // if patient is the same
if($recv == 0) {
$sql = "UPDATE cmod.dbo.CM_TM_PATIENTS SET FIRSTNAME='$firstname', LASTNAME='$lastname', BIRTHDATE='$dob', SEX='$sex', PHONE='$phone' where PATID='$patid'";
$db->query($sql);
} else {
return $this->failForbidden('Error. Sample already received, cannot update patient data. ');
}
} else {
return $this->failForbidden('Error. Invalid patient data.');
}
@ -145,12 +155,17 @@ class API_TM extends ResourceController {
if( $reqid == '' ) { // new request
$sql = "INSERT INTO cmod.dbo.CM_TM_REQUESTS (REFFID, REQNUMBER, REQDATE, AGENT, DOC, LOC, PATID, COMPANY, LOGDATE, BW, BH, VISITDESC, VISITTYPE, REQSTATUS)
VALUES ('$reffid', '$visitnum', '$visitdt', '$agentname', '$doc', '$loc', '$patid', '$company', '$createdt', '$bw', '$bh', '$visitdesc', '$visittype', '$reqstatus' )";
$db->query($sql); $reqid = $db->insertID();
} else { // existing request
$sql = "UPDATE cmod.dbo.CM_TM_REQUESTS SET REQNUMBER='$visitnum', REQDATE='$visitdt', AGENT='$agentname', DOC='$doc', LOC='$loc', PATID='$patid',
COMPANY='$company',LOGDATE='$createdt', BW='$bw', BH='$bh', VISITDESC='$visitdesc', VISITTYPE='$visittype', REQSTATUS='$reqstatus'
where REQID='$reqid'";
$db->query($sql);
} else { // existing request
if($recv == 0) {
$sql = "UPDATE cmod.dbo.CM_TM_REQUESTS SET REQNUMBER='$visitnum', REQDATE='$visitdt', AGENT='$agentname', DOC='$doc', LOC='$loc', PATID='$patid',
COMPANY='$company',LOGDATE='$createdt', BW='$bw', BH='$bh', VISITDESC='$visitdesc', VISITTYPE='$visittype', REQSTATUS='$reqstatus'
where REQID='$reqid'";
$db->query($sql);
} else {
return $this->failForbidden('Error. Sample already received, cannot update request data. ');
}
}
}
@ -178,7 +193,7 @@ class API_TM extends ResourceController {
$db->query($sql);
//sendORM
//$this->orm($reqid);
$this->orm($reqid);
return $this->respond(201);
}