Αναζήτηση Ασθενών

"pat_id", "pat_name" => "pat_name", "pat_birthdate" => "pat_birthdate", "pat_custom1" => "pat_custom1" ); foreach ($col_array as $key => $col) { if($key == $col_name){ return $col; } } return 'pat_name'; } // ************************************************************************* // ************************************************************************* // ************************************************************************* if (isset($_POST['action']) && $_POST['action'] == 'search'){ function flip_name($name){ $name_arr = explode(" ", $name); return $name_arr[1]." ".$name_arr[0]; } global $dbh; global $dbh_portal; if( $institution == null ){ // } else{ $order_by="pat_name"; if (isset($_POST['sortby']) && $_POST['sortby'] != null) { $order_by=$_POST['sortby']; $order_by = table_columns($order_by); } if (isset($_POST['reverce_order']) && $_POST['reverce_order'] != null){ $order_by=$order_by." desc"; } $limit=" LIMIT 0, 20 "; if(isset($_POST['current_page']) || isset($_POST['pagesize'])){ $cur_page = 1; $page_size = 20; if(intval($_POST['current_page'])) $cur_page = intval($_POST['current_page']); if(intval($_POST['pagesize'])) $page_size = intval($_POST['pagesize']); $start=($cur_page-1)*$page_size; $limit= "LIMIT ".$start.", ".$page_size; } $sql = "SELECT * FROM patient LEFT JOIN study on patient_fk = patient.pk LEFT JOIN series on study.pk = series.study_fk WHERE 1"; $params = array(); // -------- Select Referring Doctors for this user ----------------------------------- $sth_ref = $dbh_portal->prepare("SELECT * FROM db_ref_phys WHERE persistent_id=?;"); $sth_ref->bindParam(1, $userid, PDO::PARAM_STR); $sth_ref->execute(); $sth_ref->setFetchMode(PDO::FETCH_ASSOC); $ref_doc_table = $sth_ref->fetchAll(); $filter_ref_phys = ""; if(count($ref_doc_table) > 0){ $in_ref_doc=""; foreach($ref_doc_table as $item){ $in_ref_doc .= "?,"; $params[] = $item['ref_name']; } $in_ref_doc = substr($in_ref_doc, 0, strlen($in_ref_doc)-1); $sql .= " AND study.ref_physician IN (".$in_ref_doc.") "; } // -------- Select Referring Doctors for this user END ------------------------------- // -------- Select Stations for this user ----------------------------------- $sth_stations = $dbh_portal->prepare("SELECT * FROM db_stations WHERE persistent_id=?;"); $sth_stations->bindParam(1, $userid, PDO::PARAM_STR); $sth_stations->execute(); $sth_stations->setFetchMode(PDO::FETCH_ASSOC); $stations_table = $sth_stations->fetchAll(); $filter_stations = ""; if(count($stations_table) > 0){ $stations=""; foreach($stations_table as $item1){ $stations .= "?,"; $params[] = $item1['station_name']; } $stations = substr($stations, 0, strlen($stations)-1); $sql .= " AND (series.station_name IS NULL OR series.station_name NOT IN (".$stations.")) "; } // -------- Select Stations for this user END ------------------------------- // -------- Select body part for this user ----------------------------------- $sth = $dbh_portal->prepare("SELECT * FROM db_body_part WHERE persistent_id=?;"); $sth->bindParam(1, $userid, PDO::PARAM_STR); $sth->execute(); $sth->setFetchMode(PDO::FETCH_ASSOC); $body_part_table = $sth->fetchAll(); $filter_body_part = ""; if(count($body_part_table) > 0){ $body_part=""; foreach($body_part_table as $item1){ $body_part .= "?,"; $params[] = $item1['body_part']; } $body_part = substr($body_part, 0, strlen($body_part)-1); $sql .= " AND series.body_part IN (".$body_part.") "; } // -------- Select body part for this user END ------------------------------- // -------- Select department for this user ----------------------------------- $sth = $dbh_portal->prepare("SELECT * FROM db_department WHERE persistent_id=?;"); $sth->bindParam(1, $userid, PDO::PARAM_STR); $sth->execute(); $sth->setFetchMode(PDO::FETCH_ASSOC); $department_table = $sth->fetchAll(); $filter_department = ""; if(count($department_table) > 0){ $department=""; foreach($department_table as $item1){ $department .= "?,"; $params[] = $item1['department']; } $department = substr($department, 0, strlen($department)-1); $sql .= " AND series.department IN (".$department.") "; } // -------- Select department for this user END ------------------------------- $params[] = $src_aet; $sql .= " AND series.src_aet = ? "; $where=""; // -------- Select Modalities for this user ------------------------------- $where=""; $sth_mods = $dbh_portal->prepare("SELECT filter_user_modal FROM db_modalities WHERE persistent_id=?;"); $sth_mods->bindParam(1, $userid, PDO::PARAM_STR); $sth_mods->execute(); $sth_mods->setFetchMode(PDO::FETCH_ASSOC); if($sth_mods->rowCount()>0){ $row_mods =$sth_mods->fetch(); $row_mods = explode(",", $row_mods['filter_user_modal']); if(count($row_mods) > 0 && $row_mods[0]!='all'){ $loops=0; foreach ($row_mods as $modal){ if($loops > 0){ $where = "(".$where." OR "; } $where .= " ((mods_in_study REGEXP ?) OR (mods_in_study REGEXP ?) OR (mods_in_study REGEXP ?) OR (mods_in_study REGEXP ?)) "; $params[] = "^$modal$"; $params[] = "(\\\\){1}$modal$"; $params[] = "^$modal(\\\\){1}"; $params[] = "(\\\\){1}$modal(\\\\){1}"; if($loops > 0){ $where .= ")"; } $loops++; } $sql .= " AND ".$where." "; //$where = $where." AND "; } } // -------- Select Modalities for this user END ------------------------------- if (isset($_POST['pat_id']) && ($_POST['pat_id'])!= null){ $_POST['pat_id'] = str_replace('*','%', $_POST['pat_id']); $sql .= " AND pat_id = ?"; $params[] = $_POST['pat_id']; } if (isset($_POST['pat_custom1']) && ($_POST['pat_custom1'])!= null){ $_POST['pat_custom1'] = str_replace('*','%', $_POST['pat_custom1']); $sql .= " AND pat_custom1 = ?"; $params[] = $_POST['pat_custom1']; } if (isset($_POST['pat_name']) && ($_POST['pat_name'])!= null){ $patName = preg_quote($_POST['pat_name']); $patName = str_replace('\\', '\\\\', $patName); $patNameReversed = flip_name($patName); // RegExp to replace spaces with ^ $patName = preg_replace("/\s{1,5}/", "(\\\\^){1}", $patName); $patNameReversed = preg_replace("/\s/", "(\\\\^){1}", $patNameReversed); $sql .= " AND (pat_name REGEXP UPPER(?) OR pat_name REGEXP UPPER(?)) "; $params[] = $patName; $params[] = $patNameReversed; } if (isset($_POST['pat_birthdate']) && ($_POST['pat_birthdate'])!= null){ $_POST['pat_birthdate'] = str_replace('*','%', $_POST['pat_birthdate']); $birthdate = explode("-", $_POST['pat_birthdate']); $birthdate = $birthdate[2].$birthdate[1].$birthdate[0]; $sql .= " AND pat_birthdate like ? "; //$birthdate = str_replace('%','*', $birthdate); $params[] = $birthdate; } $sql .= " GROUP BY patient.pk "; $sql_size = $sql; $sql .= " ORDER by ".$order_by." ".$limit." ; "; //echo $sql; $sth = $dbh->prepare($sql); $sth->execute($params); $sth->setFetchMode(PDO::FETCH_ASSOC); $sql_size = str_replace(" * "," patient.pk ",$sql_size); //$sql_size = str_replace("GROUP BY patient.pk"," ",$sql_size); $sql_size = "SELECT count(*) as row_count from (".$sql_size.") as count ;"; $sth_size = $dbh->prepare($sql_size); $sth_size->execute($params); $sth_size->setFetchMode(PDO::FETCH_ASSOC); $row_count = $sth_size->fetch(); $row_count = array("row_count"=>$row_count['row_count']); } ?>
Παρακαλώ συμπληρώστε τα κριτήρια αναζήτησης
αποτελέσματα, ανα σελίδα
  Μετάβαση σε σελίδα:
fetch()) { ?> ">
Κωδικός Ασθενή
Ονοματεπώνυμο ασθενή
ΑΜΚΑ
Ημερομηνία Γέννησης
Λίστα Εξετάσεων
Λίστα Εξετάσεων
αποτελέσματα, ανα σελίδα
  Μετάβαση σε σελίδα: