function admit($post){
global $log;
if(!checkAccess("admission", "dbSet")) return false;
+ $post["name"]=ucwords(strtolower($post["name"]));
$query=$this->prepare("SELECT count(rowid) FROM patients WHERE pid=:pid");
$query->bindValue(":pid", $post["pid"]);
$exist=$query->execute();
if($exist->fetchArray()[0]==0){
- $stmt=$this->prepare("INSERT INTO patients (pid,name,age,sex,status,vp,ward,bed,data) VALUES (:pid,:name,:age,:sex,:status,:vp,:ward,:bed,:data);");
+ $stmt=$this->prepare("INSERT INTO patients (pid,name,age,sex,admission,status,vp,ward,bed,data) VALUES (:pid,:name,:age,:sex,:admission,:status,:vp,:ward,:bed,:data);");
}
else{
- $stmt=$this->prepare("UPDATE patients SET name=:name,age=:age,sex=:sex,ward=:ward,bed=:bed,vp=:vp,data=:data WHERE pid=:pid;");
+ $stmt=$this->prepare("UPDATE patients SET name=:name,age=:age,sex=:sex,admission=:admission,ward=:ward,bed=:bed,vp=:vp,data=:data WHERE pid=:pid;");
}
$stmt->bindValue(":pid", $post["pid"]);
$stmt->bindValue(":name", $post["name"]);
$stmt->bindValue(":age", $post["age"]);
$stmt->bindValue(":sex", $post["sex"]);
+ $stmt->bindValue(":admission", strtotime($post["date"]." ".$post["time"]));
$stmt->bindValue(":status", "admitted");
$stmt->bindValue(":ward", $post["ward"]);
$stmt->bindValue(":bed", $post["bed"]);
$stmt->execute();
$log->log($pid, "history", json_encode($post));
}
+ function advice($post, $pid){
+ global $log;
+ if(!checkAccess("treatment", "dbSet")) return false;
+ $query=$this->prepare("SELECT count(rowid) FROM advice WHERE pid=:pid");
+ $query->bindValue(":pid", $pid);
+ $exist=$query->execute();
+ if($exist->fetchArray()[0]==0){
+ $stmt=$this->prepare("INSERT INTO advice (pid,time,data) VALUES (:pid,:time,:data);");
+ }
+ else{
+ $stmt=$this->prepare("UPDATE advice SET pid=:pid,time=:time,data=:data WHERE pid=:pid;");
+ }
+ $stmt->bindValue(":pid", $pid);
+ $stmt->bindValue(":time", time());
+ $stmt->bindValue(":data", json_encode($post));
+ $stmt->execute();
+ $log->log($pid, "advice", json_encode($post));
+ }
function addPhysician($post, $pid){
global $log;
if(!checkAccess("physician", "dbSet")) return false;
$stmt->execute();
$log->log(null, "drug_omitted", $id);
}
+ function deleteDrug($id){
+ global $log;
+ if(!checkAccess("treatment", "dbSet")) return false;
+ $stmt=$this->prepare("UPDATE treatment SET omit=:omit WHERE rowid=:id;");
+ $stmt->bindValue(":omit", -1);
+ $stmt->bindValue(":id", $id);
+ $stmt->execute();
+ $log->log(null, "drug_deleted", $id);
+ }
function giveDrug($id, $given){
global $log;
if(!checkAccess("nursing", "dbSet")) return false;
function setDischarged($pid){
global $log;
if(!checkAccess("discharge", "dbSet")) return false;
- $stmt=$this->prepare("UPDATE patients SET status=:discharged WHERE pid=:pid;");
+ $stmt=$this->prepare("UPDATE patients SET status=:discharged,departure=:time WHERE pid=:pid;");
$stmt->bindValue(":pid", $pid);
$stmt->bindValue(":discharged", "discharged");
+ $stmt->bindValue(":time", time());
$stmt->execute();
$log->log($pid, "discharged", null);
}
$stmt->bindValue(":time", strtotime($post["date"].$post["time"]));
$stmt->bindValue(":data", json_encode($post));
$stmt->execute();
- $stmt=$this->prepare("UPDATE patients SET status='expired' WHERE pid=:pid;");
+ $stmt=$this->prepare("UPDATE patients SET status=:expired,departure=:time WHERE pid=:pid;");
$stmt->bindValue(":pid", $pid);
+ $stmt->bindValue(":expired", "expired");
+ $stmt->bindValue(":time", time());
$stmt->execute();
$log->log($pid, "death_declare", json_encode($post));
}
function getDrugs($pid){
global $log;
if(!checkAccess("treatment", "dbGet")) return false;
- $stmt=$this->prepare("SELECT rowid,* FROM treatment WHERE pid=:pid ORDER BY omit,start;");
+ $stmt=$this->prepare("SELECT rowid,* FROM treatment WHERE pid=:pid AND omit!=:omit ORDER BY omit,drug,start;");
$stmt->bindValue(":pid", $pid);
+ $stmt->bindValue(":omit", -1);
$result=$stmt->execute();
return($result);
}
$result=$stmt->execute();
return($result);
}
- function getAdvice($pid){
+ function getDischargeAdvice($pid){
global $log;
if(!checkAccess("discharge", "dbGet")) return false;
$stmt=$this->prepare("SELECT rowid,* FROM discharge WHERE pid=:pid;");
function getPatientList(){
global $log;
if(!checkAccess("info", "dbGet")) return false;
- $stmt=$this->prepare("SELECT pid,ward,bed,name,diagnosis,status FROM patients ORDER BY pid;");
+ $stmt=$this->prepare("SELECT pid,ward,bed,name,diagnosis,status FROM patients ORDER BY admission;");
$result=$stmt->execute();
return($result);
}
function getAdmittedPatientList(){
global $log;
if(!checkAccess("info", "dbGet")) return false;
- $stmt=$this->prepare("SELECT pid,ward,bed,name,diagnosis FROM patients WHERE status='admitted' ORDER BY ward,bed;");
+ $stmt=$this->prepare("SELECT pid,ward,bed,name,diagnosis FROM patients WHERE status='admitted' ORDER BY UPPER(ward),bed;");
+ $result=$stmt->execute();
+ return($result);
+ }
+ function getArchivedPatientList(){
+ global $log;
+ if(!checkAccess("info", "dbGet")) return false;
+ $stmt=$this->prepare("SELECT pid,ward,bed,name,diagnosis,status FROM patients WHERE status!='admitted' ORDER BY admission;");
$result=$stmt->execute();
return($result);
}
$stmt=$this->prepare("SELECT requisition.rowid,requisition.* FROM requisition INNER JOIN patients ON requisition.pid=patients.pid WHERE requisition.status!=:status AND patients.status=:admitted ORDER BY requisition.room,requisition.test;");
$stmt->bindValue(":status", "done");
$stmt->bindValue(":admitted", "admitted");
+ $stmt->bindValue(":today", time());
$result=$stmt->execute();
return($result);
}
$result=$stmt->execute();
return($result);
}
+ function getAdvice($pid){
+ global $log;
+ if(!checkAccess("treatment", "dbGet")) return false;
+ $stmt=$this->prepare("SELECT data FROM advice WHERE pid=:pid;");
+ $stmt->bindValue(":pid", $pid);
+ $result=$stmt->execute();
+ return($result);
+ }
function getData($pid, $id, $cat){
global $log;
if($cat=="physician"){