Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include_once '../libraries/db.inc.php';
- $db22= new DataBaseHandler();
- $db22=$db22->ConnectPDO();
- $forAgp = array(); //array(97499,107404);
- $agpArray = array();
- $agp = FALSE;
- if(!empty($_GET['new_view'])) {
- if($_GET['new_view']=='true') {
- if (in_array($_SESSION['logged']['data']['UgyfelID'], $forAgp) || !empty($_GET['new_view'])) {
- $agp = TRUE;
- // echo '<iframe src="agpplus/index.php?patient_id='.$_REQUEST['patient_id'].'" width="896px" height="1600px"></iframe>';
- $agpArray['parameters']['unit'] = 'mmol/l';
- }
- }
- }
- else
- {
- $query = "SELECT * FROM v_doctors WHERE id = '" . $_SESSION['logged']['id'] . "'";
- if($dr = $db22->query($query)) {
- $dr->execute();
- $dr=$dr->fetchAll();
- if($dr[0]['dcm_view']=='1')
- {
- $agp = TRUE;
- $agpArray['parameters']['unit'] = 'mmol/l';
- }
- }
- }
- $newskinmodel = new MainClass();
- $newskinmodel->smarty = $smarty;
- $dfu = new DiabFunct();
- if ($_REQUEST['patient_id']) {
- $_SESSION['patient_id'] = $_REQUEST['patient_id'];
- $_SESSION['blood_glucose_measurements']['pid']=$pid;
- //print_r($_REQUEST);
- $patient_info = $dfu->GetPatientInfoFromGysz($_REQUEST['patient_id'], $_SESSION['logged']['data']['UgyfelID']); // ebből ne használjuk már az étk. időpontokat!
- $user_info = $newskinmodel->GetUserInfo(FALSE, $_REQUEST['patient_id'], $_REQUEST['patient_id'],$_SESSION['logged']['data']['UgyfelID']);
- $smarty->assign('user_info',$user_info);
- if($agp == TRUE) {
- $agpArray['parameters']['times'] = array("breakfast" => $user_info['breakfast_h'].":".$user_info['breakfast_m'],
- "elevenses"=> null,
- "lunch" => $user_info['lunch_h'].":".$user_info['lunch_m'],
- "afternoonsnakc" => null,
- "dinner" => $user_info['dinner_h'].":".$user_info['dinner_m']);
- // 'also_ertek','normal_felso','etkezes_elott_felso','etkezes_utan_felso'
- $agpArray['parameters']['targetrange'] = array("normallow" => $user_info['also_ertek'],
- "beforemeallow" => $user_info['also_ertek'],
- "aftermeallow" => $user_info['also_ertek'],
- "otherlevellow" => $user_info['also_ertek'],
- "normalhigh" => $user_info['normal_felso'],
- "beforemealhigh" => $user_info['etkezes_elott_felso'],
- "aftermealhigh" => $user_info['etkezes_utan_felso'],
- "otherlevelhigh" => $user_info['normal_felso']
- );
- $pieces = explode(" ", $patient_info['Nev']);
- $firstname="";
- foreach ($pieces as $key => $value) {
- if($key==1)
- {
- $firstname=$value;
- }
- elseif($key!=0)
- {
- $firstname.= ' ' .$value;
- }
- }
- $agpArray['parameters']['patient'] = array(
- "id" => $patient_info['ID'],
- "firstname" => $firstname,
- "lastname" => $pieces[0],
- "prefix" => ""
- );
- $agpArray['parameters']['insulintypes'] = array(["type" => "basal","color" => "#ff4500"],["type" => "bolus", "color" => "#9acd32"]);
- }
- if(!$patient_info['Inzulin'] and $_REQUEST['patient_id'] != 'UNKNOWN' and $patient_info['tipusid'] == 2) {
- header('Location: index.php?page=patient_page&time_type=0&patient_id='.$_REQUEST['patient_id']);
- }
- $sql_extra_where = "";
- if($sql_extra_where = $newskinmodel->toolsInTimeByAnyoneSQL($_REQUEST['patient_id'], 'UgyfelID')) {
- $sql_extra_where = "AND ( $sql_extra_where )";
- }
- $time_intervalue = array('tol' => date('Y-m-d', strtotime('-1 month')) , 'ig' => date('Y-m-d') );
- if (isset($_REQUEST['from'])) {
- if($_REQUEST['search'] == "Szűrés") {
- $time_intervalue['tol'] = $_REQUEST['from'];
- $time_intervalue['ig'] = $_REQUEST['to'];
- }
- elseif($_REQUEST['search'] == "Utolsó 1 hónap") {
- $time_intervalue['tol'] = date('Y-m-d', strtotime('-1 month'));
- }
- elseif($_REQUEST['search'] == "Utolsó 3 hónap") {
- $time_intervalue['tol'] = date('Y-m-d', strtotime('-3 month'));
- }
- else {
- $time_intervalue['tol'] = $_REQUEST['from'];
- $time_intervalue['ig'] = $_REQUEST['to'];
- }
- }
- /* a grafikonok ebből látják az időt */
- $_SESSION['tol'] = $time_intervalue['tol'];
- $_SESSION['ig'] = $time_intervalue['ig'];
- /* aktuális / szűrt mérések lekérdezése */
- $sql_datum_where = "AND Datum >= '".$time_intervalue['tol']." 00:00:00' AND Datum < '".$time_intervalue['ig']." 23:59:59'";
- /* ez helyes adatlekérés */
- if(!$_REQUEST['patient_id']) {
- $_SESSION['unknown_meret_serial'] = $_REQUEST['GyariSzam'];
- $s = "SELECT e.*, IF( e.Valid > 2, 1, 0 ) AS FalsVal FROM v_ertekek AS e ";
- $s .= " WHERE GyariSzam = '".$_REQUEST['GyariSzam']."' AND e.Valid > 2 $sql_extra_where $sql_datum_where ORDER BY Datum DESC";
- $_SESSION['patient_id'] = $_REQUEST['patient_id'];
- }
- else {
- $queryql_extra = $newskinmodel->queryql_diabmanag;
- if(isset($_SESSION['unknown_meret_serial'])) unset($_SESSION['unknown_meret_serial']);
- $s = "SELECT e.*, IF( e.Valid > 2, 1, 0 ) AS FalsVal FROM v_ertekek AS e LEFT JOIN v_keszulekek AS k ";
- $s .= " ON e.GyariSzam=k.GyariSzam WHERE ";
- if($_REQUEST['patient_id'] != 'UNKNOWN') $s .= " k.UgyfelID = ".$_REQUEST['patient_id']." AND ";
- $s .= " k.Type=1 AND e.Valid > 2 $sql_extra_where $queryql_extra $sql_datum_where ";
- $s .= " GROUP BY Datum ORDER BY Datum DESC";
- //print $s;
- }
- $rows = $dfu->RunPDOselectArray($s);
- if($agp == TRUE) {
- $s = "SELECT DATE_FORMAT(e.Datum,'%Y-%m-%dT%H:%i:%s') as measuredate,e.Type as measuretype, e.Glucose_v as glucose FROM v_ertekek AS e LEFT JOIN v_keszulekek AS k ";
- $s .= " ON e.GyariSzam=k.GyariSzam WHERE ";
- if($_REQUEST['patient_id'] != 'UNKNOWN') $s .= " k.UgyfelID = ".$_REQUEST['patient_id']." AND ";
- $s .= " k.Type=1 AND e.Valid > 2 $sql_extra_where $queryql_extra ";
- $s .= " GROUP BY Datum ORDER BY Datum DESC";
- $agpRows = $dfu->RunPDOselectArray($s);
- foreach ($agpRows as $key => $row) {
- $agpRows[$key]['glucose'] = 1*$row['glucose'];
- $agpRows[$key]['measuretype'] = 1*$row['measuretype'];
- }
- $agpRowsInsulin = $dfu->RunPDOselectArray("SELECT beadas_idopont as 'injdate', mennyiseg as 'injunit',beadas_hossz as 'injtime', sorozatszam FROM dcm_gomb_adatok WHERE UgyfelID = ".$_REQUEST['patient_id']);
- //var_dump($agpRowsInsulin);
- $agpArray['bgms'] = array(["bgmrangelow" => 1.1,"bgmrangehigh" => 33.3, "values" => $agpRows]);
- //$agpArray['insulins'] = array(["type" => "basal", "name" => "Inzulin1", "values" => []], ["type" => "bolus", "name" => "Inzulin2", "values" => []]);
- if(!empty($agpRowsInsulin)) {
- $gomb = $dfu->RunPDOselectArray("SELECT * FROM dcm_gomb WHERE sorozatszam = " . $agpRowsInsulin[0]['sorozatszam']);
- if ($gomb['szin'] == 1) {
- $type = "basal";
- }
- }
- else
- {
- $agpRowsInsulin='';
- }
- $type = "Bolus";
- //$agpArray['insulins'] = array(["type" => $type,"name" => "Inzulin1", "values" => '']);
- $agpArray['insulins'] = array(["type" => $type,"name" => "Inzulin1", "values" => $agpRowsInsulin]);
- $jsonFile = fopen('agpplus/static/'.$_REQUEST['patient_id'].'_gendata.json', 'w');
- fwrite($jsonFile, json_encode($agpArray));
- fclose($jsonFile);
- }
- $datasByHour = $newskinmodel->GetDataForNewDmTable($rows, $_REQUEST['patient_id']);
- $smarty->assign('datasByHour',$datasByHour);
- $smarty->assign('get',http_build_query($_GET));
- /*
- print "<pre>";
- print_r($datasByHour);
- print "</pre>";
- */
- //$rows = $rowsPDO;
- $newskinmodel->GetDataForTable($rows, TRUE, $_REQUEST['patient_id']);
- $smarty->assign('appliance',$appliance);
- $smarty->assign('rows',$rows);
- $smarty->assign('time_intervalue', $time_intervalue);
- $insulin_therapy_daily_frequency_items = GConfig::CreateDefSettingArray('Inzulin_FK');
- $smarty->assign('inzulin_therapy_string',$insulin_therapy_daily_frequency_items[$_SESSION['inzulin']]);
- //print_r(GConfig::CreateDefSettingArray('keszulek_tipusok_FK'));
- $smarty->assign('appliance_types', GConfig::CreateDefSettingArray('keszulek_tipusok_FK'));
- //$sql_extra_where = " AND ( (SzoftverKuldte != 'DL' AND SzoftverKuldte != 'KD') OR ( (SzoftverKuldte = 'DL' OR SzoftverKuldte = 'KD') AND JovahagyoID > 0 ) ) "; #AND Datum >= '".date("Y-m-S", strtotime("-6 months"))." 00:00:00' ";
- $sql_extra = $newskinmodel->queryql_diabmanag;
- $s = "SELECT COUNT(e.ErtekID) AS mennyi, MIN(e.Datum) as mine, MAX(e.Datum) as maxe, MAX(e.DatumPost)
- AS maxletolt, IF( e.Valid >2, 1, 0 ) AS FalsVal FROM v_ertekek AS e
- LEFT JOIN v_keszulekek AS k ON e.GyariSzam=k.GyariSzam WHERE ";
- if($_REQUEST['patient_id'] != 'UNKNOWN') $s .= " k.UgyfelID = ".$_REQUEST['patient_id']." AND ";
- $s .= " k.Type=1 AND e.Valid > 0 $sql_extra $sql_extra_where GROUP BY FalsVal";
- // $_SESSION['validDatesText'] = "";
- $validDatesText = ""; // ha ismeretlen a mérő
- if($_REQUEST['patient_id'] != 'UNKNOWN') $validDatesText = "Nem állnak rendelkezésre értelmezhető letöltött mérések";
- $orginaslRows = $dfu->RunPDOselectArray($s);
- //$orginaslRows=GetDBListArray($s);
- //$orginaslRows = $newskinmodel->RunPDOselectArray($s);
- //print_r($orginaslRows);
- $rows = array();
- $van = FALSE;
- if($orginaslRows) {
- foreach($orginaslRows as $row) {
- if($row['FalsVal'] == 0) {
- $smarty->assign('notValidText',"Letöltött, nem értelmezhető (jövőbeli) mérések száma:<b>".$row['mennyi']." db</b>");
- $van = TRUE;
- }
- elseif($row['FalsVal'] == 1) {
- $rows[0] = $row;
- $van = TRUE;
- }
- }
- }
- if($van == FALSE) $validDatesText = "Nem került még letöltésre mérési adat";
- //print_r($rows);
- if($rows[0]['mennyi']>0) {
- $vdateFrom = date("Y-m-d", strtotime($rows[0]['mine']));
- $vdateTo = date("Y-m-d", strtotime($rows[0]['maxe']));
- $validDatesText = " között állnak rendelkezésre letöltött mérések: <b>".$rows[0]['mennyi']. " db</b>";
- /* ezt így már csak a print használja ! */
- $_SESSION['validDatesText'] = $vdateFrom."-".$vdateTo.$validDatesText;
- $smarty->assign('validDatesLink','<a href="#" onclick="sendForm(\''.$vdateFrom.'\',\''.$vdateTo.'\')">'.$vdateFrom.'-'.$vdateTo.'</a>');
- /* utolsó teljes 30 napi mérés lekérdezése */
- $diff30 = 30;
- $diff1 = 1;
- /*- ha a mai az utolsó * /
- if( date("Y-m-d", strtotime($rows[0]['maxletolt'])) != date("Y-m-d") ) {
- $diff30 = 29;
- $diff1 = 0;
- }
- */
- // ez itt hibás, a már nála nem lévő mérőkkel is kalkulál !!!
- $s = "SELECT COUNT(e.ErtekID) AS mennyi FROM v_ertekek AS e
- LEFT JOIN v_keszulekek AS k ON e.GyariSzam=k.GyariSzam WHERE";
- if($_REQUEST['patient_id'] != 'UNKNOWN')$s .= " k.UgyfelID = ".$_REQUEST['patient_id']." AND ";
- $s .= " k.Type=1 AND e.Valid > 2 $sql_extra_where ";
- $s .= " AND e.Datum >= '".date("Y-m-d", strtotime($rows[0]['maxletolt'].'-'.($diff30).' days'))."' AND e.Datum <= '".date("Y-m-d", strtotime($rows[0]['maxletolt']." - $diff1 day"))." 23:59:59' ";
- //$rows2=GetDBListArray($s);
- $rows2 = $newskinmodel->RunPDOselectArray($s);
- $date30from = date("Y-m-d", strtotime($rows[0]['maxletolt']."-$diff30 days"));
- $date30to = date("Y-m-d", strtotime($rows[0]['maxletolt'].(0 - $diff1).' day'));
- $last30daysText = " (utolsó letöltést megelőző <b>30 nap</b>) mérésszáma: <b>".$rows2[0]['mennyi']." db</b>";
- /* ezt így már csak a print használja ! */
- $_SESSION['last30daysText'] = $date30from."-".$date30to.$last30daysText;
- $smarty->assign('last30daysLink','<a href="#" onclick="sendForm(\''.$date30from.'\',\''.$date30to.'\')">'.$date30from.'-'.$date30to.'</a>');
- $smarty->assign('last30daysText',$last30daysText);
- //$smarty->assign('sum_meas',count($rows));
- }
- $smarty->assign('validDatesText',$validDatesText);
- $tools = $newskinmodel->toolsInTimeByAnyone($_REQUEST['patient_id'], 'UgyfelID');
- /* Elo rendberakása */
- if($tools) {
- include_once "libraries/elorendbetevo.inc.php";
- $teddRendbe = new eloRendbetevo();
- foreach ($tools as $tool) {
- $mind1 = $teddRendbe->chackAndReapairElo($tool['GyariSzam']);
- }
- }
- $smarty->assign('tools',$tools);
- //$smarty->assign('appliance_types', GConfig::CreateDefSettingArray('keszulek_tipusok_FK'));
- $_SESSION['patient_name'] = $_REQUEST['patient_name'];
- $_SESSION['sixMonthsMeasurementNums'] = count($rows);
- $smarty->assign('sixMonthsMeasurementNums',count($rows));
- $itdf_3ho_string = ", <b>3 havonta</b> ";
- # $oeplink = "http://sejk.oep.hu/?s=segedeszkoz&ttt=310196652&termek=m%C3%A9ry-tesztcs%C3%ADk-50-db-doboz";
- if($patient_info['tipusid'] == 2) setSessionIdtfStrings($patient_info['Inzulin'], OEPLINK, $itdf_3ho_string);
- else $_SESSION['itdf_string'] = ' ';
- /*
- print "<pre>";
- print_r($szorasok);
- print "</pre>";
- */
- }
- $smarty->assign('showAGP',$agp);
- // print "<br>HELLÓ, ÉN A CONTROLLER VOLTAM!<br>";
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement