Advertisement
Guest User

Untitled

a guest
Sep 20th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.21 KB | None | 0 0
  1.  
  2. <?php
  3. include_once '../libraries/db.inc.php';
  4. $db22= new DataBaseHandler();
  5. $db22=$db22->ConnectPDO();
  6. $forAgp = array(); //array(97499,107404);
  7.  
  8. $agpArray = array();
  9.  
  10. $agp = FALSE;
  11. if(!empty($_GET['new_view'])) {
  12. if($_GET['new_view']=='true') {
  13. if (in_array($_SESSION['logged']['data']['UgyfelID'], $forAgp) || !empty($_GET['new_view'])) {
  14. $agp = TRUE;
  15. // echo '<iframe src="agpplus/index.php?patient_id='.$_REQUEST['patient_id'].'" width="896px" height="1600px"></iframe>';
  16. $agpArray['parameters']['unit'] = 'mmol/l';
  17. }
  18. }
  19. }
  20. else
  21. {
  22. $query = "SELECT * FROM v_doctors WHERE id = '" . $_SESSION['logged']['id'] . "'";
  23. if($dr = $db22->query($query)) {
  24. $dr->execute();
  25. $dr=$dr->fetchAll();
  26. if($dr[0]['dcm_view']=='1')
  27. {
  28. $agp = TRUE;
  29. $agpArray['parameters']['unit'] = 'mmol/l';
  30. }
  31. }
  32.  
  33.  
  34.  
  35. }
  36.  
  37. $newskinmodel = new MainClass();
  38. $newskinmodel->smarty = $smarty;
  39.  
  40. $dfu = new DiabFunct();
  41.  
  42. if ($_REQUEST['patient_id']) {
  43. $_SESSION['patient_id'] = $_REQUEST['patient_id'];
  44. $_SESSION['blood_glucose_measurements']['pid']=$pid;
  45. //print_r($_REQUEST);
  46.  
  47. $patient_info = $dfu->GetPatientInfoFromGysz($_REQUEST['patient_id'], $_SESSION['logged']['data']['UgyfelID']); // ebből ne használjuk már az étk. időpontokat!
  48.  
  49.  
  50. $user_info = $newskinmodel->GetUserInfo(FALSE, $_REQUEST['patient_id'], $_REQUEST['patient_id'],$_SESSION['logged']['data']['UgyfelID']);
  51. $smarty->assign('user_info',$user_info);
  52.  
  53. if($agp == TRUE) {
  54. $agpArray['parameters']['times'] = array("breakfast" => $user_info['breakfast_h'].":".$user_info['breakfast_m'],
  55. "elevenses"=> null,
  56. "lunch" => $user_info['lunch_h'].":".$user_info['lunch_m'],
  57. "afternoonsnakc" => null,
  58. "dinner" => $user_info['dinner_h'].":".$user_info['dinner_m']);
  59. // 'also_ertek','normal_felso','etkezes_elott_felso','etkezes_utan_felso'
  60. $agpArray['parameters']['targetrange'] = array("normallow" => $user_info['also_ertek'],
  61. "beforemeallow" => $user_info['also_ertek'],
  62. "aftermeallow" => $user_info['also_ertek'],
  63. "otherlevellow" => $user_info['also_ertek'],
  64. "normalhigh" => $user_info['normal_felso'],
  65. "beforemealhigh" => $user_info['etkezes_elott_felso'],
  66. "aftermealhigh" => $user_info['etkezes_utan_felso'],
  67. "otherlevelhigh" => $user_info['normal_felso']
  68. );
  69.  
  70. $pieces = explode(" ", $patient_info['Nev']);
  71. $firstname="";
  72. foreach ($pieces as $key => $value) {
  73.  
  74. if($key==1)
  75. {
  76. $firstname=$value;
  77. }
  78. elseif($key!=0)
  79. {
  80. $firstname.= ' ' .$value;
  81. }
  82. }
  83. $agpArray['parameters']['patient'] = array(
  84. "id" => $patient_info['ID'],
  85. "firstname" => $firstname,
  86. "lastname" => $pieces[0],
  87. "prefix" => ""
  88. );
  89.  
  90.  
  91. $agpArray['parameters']['insulintypes'] = array(["type" => "basal","color" => "#ff4500"],["type" => "bolus", "color" => "#9acd32"]);
  92. }
  93.  
  94. if(!$patient_info['Inzulin'] and $_REQUEST['patient_id'] != 'UNKNOWN' and $patient_info['tipusid'] == 2) {
  95. header('Location: index.php?page=patient_page&time_type=0&patient_id='.$_REQUEST['patient_id']);
  96. }
  97.  
  98. $sql_extra_where = "";
  99.  
  100.  
  101. if($sql_extra_where = $newskinmodel->toolsInTimeByAnyoneSQL($_REQUEST['patient_id'], 'UgyfelID')) {
  102. $sql_extra_where = "AND ( $sql_extra_where )";
  103. }
  104.  
  105.  
  106. $time_intervalue = array('tol' => date('Y-m-d', strtotime('-1 month')) , 'ig' => date('Y-m-d') );
  107.  
  108. if (isset($_REQUEST['from'])) {
  109. if($_REQUEST['search'] == "Szűrés") {
  110. $time_intervalue['tol'] = $_REQUEST['from'];
  111. $time_intervalue['ig'] = $_REQUEST['to'];
  112. }
  113. elseif($_REQUEST['search'] == "Utolsó 1 hónap") {
  114. $time_intervalue['tol'] = date('Y-m-d', strtotime('-1 month'));
  115. }
  116. elseif($_REQUEST['search'] == "Utolsó 3 hónap") {
  117. $time_intervalue['tol'] = date('Y-m-d', strtotime('-3 month'));
  118. }
  119. else {
  120. $time_intervalue['tol'] = $_REQUEST['from'];
  121. $time_intervalue['ig'] = $_REQUEST['to'];
  122. }
  123. }
  124.  
  125. /* a grafikonok ebből látják az időt */
  126. $_SESSION['tol'] = $time_intervalue['tol'];
  127. $_SESSION['ig'] = $time_intervalue['ig'];
  128.  
  129. /* aktuális / szűrt mérések lekérdezése */
  130. $sql_datum_where = "AND Datum >= '".$time_intervalue['tol']." 00:00:00' AND Datum < '".$time_intervalue['ig']." 23:59:59'";
  131.  
  132. /* ez helyes adatlekérés */
  133.  
  134. if(!$_REQUEST['patient_id']) {
  135. $_SESSION['unknown_meret_serial'] = $_REQUEST['GyariSzam'];
  136. $s = "SELECT e.*, IF( e.Valid > 2, 1, 0 ) AS FalsVal FROM v_ertekek AS e ";
  137. $s .= " WHERE GyariSzam = '".$_REQUEST['GyariSzam']."' AND e.Valid > 2 $sql_extra_where $sql_datum_where ORDER BY Datum DESC";
  138. $_SESSION['patient_id'] = $_REQUEST['patient_id'];
  139. }
  140. else {
  141. $queryql_extra = $newskinmodel->queryql_diabmanag;
  142.  
  143. if(isset($_SESSION['unknown_meret_serial'])) unset($_SESSION['unknown_meret_serial']);
  144. $s = "SELECT e.*, IF( e.Valid > 2, 1, 0 ) AS FalsVal FROM v_ertekek AS e LEFT JOIN v_keszulekek AS k ";
  145. $s .= " ON e.GyariSzam=k.GyariSzam WHERE ";
  146. if($_REQUEST['patient_id'] != 'UNKNOWN') $s .= " k.UgyfelID = ".$_REQUEST['patient_id']." AND ";
  147. $s .= " k.Type=1 AND e.Valid > 2 $sql_extra_where $queryql_extra $sql_datum_where ";
  148. $s .= " GROUP BY Datum ORDER BY Datum DESC";
  149. //print $s;
  150. }
  151.  
  152.  
  153. $rows = $dfu->RunPDOselectArray($s);
  154.  
  155. if($agp == TRUE) {
  156. $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 ";
  157. $s .= " ON e.GyariSzam=k.GyariSzam WHERE ";
  158. if($_REQUEST['patient_id'] != 'UNKNOWN') $s .= " k.UgyfelID = ".$_REQUEST['patient_id']." AND ";
  159. $s .= " k.Type=1 AND e.Valid > 2 $sql_extra_where $queryql_extra ";
  160. $s .= " GROUP BY Datum ORDER BY Datum DESC";
  161. $agpRows = $dfu->RunPDOselectArray($s);
  162. foreach ($agpRows as $key => $row) {
  163. $agpRows[$key]['glucose'] = 1*$row['glucose'];
  164. $agpRows[$key]['measuretype'] = 1*$row['measuretype'];
  165. }
  166.  
  167.  
  168. $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']);
  169.  
  170. //var_dump($agpRowsInsulin);
  171. $agpArray['bgms'] = array(["bgmrangelow" => 1.1,"bgmrangehigh" => 33.3, "values" => $agpRows]);
  172.  
  173. //$agpArray['insulins'] = array(["type" => "basal", "name" => "Inzulin1", "values" => []], ["type" => "bolus", "name" => "Inzulin2", "values" => []]);
  174.  
  175. if(!empty($agpRowsInsulin)) {
  176. $gomb = $dfu->RunPDOselectArray("SELECT * FROM dcm_gomb WHERE sorozatszam = " . $agpRowsInsulin[0]['sorozatszam']);
  177.  
  178. if ($gomb['szin'] == 1) {
  179. $type = "basal";
  180. }
  181. }
  182. else
  183. {
  184. $agpRowsInsulin='';
  185. }
  186.  
  187. $type = "Bolus";
  188. //$agpArray['insulins'] = array(["type" => $type,"name" => "Inzulin1", "values" => '']);
  189. $agpArray['insulins'] = array(["type" => $type,"name" => "Inzulin1", "values" => $agpRowsInsulin]);
  190. $jsonFile = fopen('agpplus/static/'.$_REQUEST['patient_id'].'_gendata.json', 'w');
  191. fwrite($jsonFile, json_encode($agpArray));
  192. fclose($jsonFile);
  193. }
  194.  
  195.  
  196.  
  197. $datasByHour = $newskinmodel->GetDataForNewDmTable($rows, $_REQUEST['patient_id']);
  198. $smarty->assign('datasByHour',$datasByHour);
  199. $smarty->assign('get',http_build_query($_GET));
  200. /*
  201. print "<pre>";
  202. print_r($datasByHour);
  203. print "</pre>";
  204. */
  205. //$rows = $rowsPDO;
  206.  
  207. $newskinmodel->GetDataForTable($rows, TRUE, $_REQUEST['patient_id']);
  208.  
  209.  
  210. $smarty->assign('appliance',$appliance);
  211. $smarty->assign('rows',$rows);
  212. $smarty->assign('time_intervalue', $time_intervalue);
  213.  
  214. $insulin_therapy_daily_frequency_items = GConfig::CreateDefSettingArray('Inzulin_FK');
  215. $smarty->assign('inzulin_therapy_string',$insulin_therapy_daily_frequency_items[$_SESSION['inzulin']]);
  216.  
  217. //print_r(GConfig::CreateDefSettingArray('keszulek_tipusok_FK'));
  218.  
  219. $smarty->assign('appliance_types', GConfig::CreateDefSettingArray('keszulek_tipusok_FK'));
  220.  
  221. //$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' ";
  222. $sql_extra = $newskinmodel->queryql_diabmanag;
  223. $s = "SELECT COUNT(e.ErtekID) AS mennyi, MIN(e.Datum) as mine, MAX(e.Datum) as maxe, MAX(e.DatumPost)
  224. AS maxletolt, IF( e.Valid >2, 1, 0 ) AS FalsVal FROM v_ertekek AS e
  225. LEFT JOIN v_keszulekek AS k ON e.GyariSzam=k.GyariSzam WHERE ";
  226. if($_REQUEST['patient_id'] != 'UNKNOWN') $s .= " k.UgyfelID = ".$_REQUEST['patient_id']." AND ";
  227. $s .= " k.Type=1 AND e.Valid > 0 $sql_extra $sql_extra_where GROUP BY FalsVal";
  228.  
  229. // $_SESSION['validDatesText'] = "";
  230. $validDatesText = ""; // ha ismeretlen a mérő
  231.  
  232. if($_REQUEST['patient_id'] != 'UNKNOWN') $validDatesText = "Nem állnak rendelkezésre értelmezhető letöltött mérések";
  233.  
  234. $orginaslRows = $dfu->RunPDOselectArray($s);
  235.  
  236. //$orginaslRows=GetDBListArray($s);
  237. //$orginaslRows = $newskinmodel->RunPDOselectArray($s);
  238. //print_r($orginaslRows);
  239.  
  240. $rows = array();
  241. $van = FALSE;
  242. if($orginaslRows) {
  243. foreach($orginaslRows as $row) {
  244. if($row['FalsVal'] == 0) {
  245. $smarty->assign('notValidText',"Letöltött, nem értelmezhető (jövőbeli) mérések száma:<b>".$row['mennyi']." db</b>");
  246. $van = TRUE;
  247. }
  248. elseif($row['FalsVal'] == 1) {
  249. $rows[0] = $row;
  250. $van = TRUE;
  251. }
  252. }
  253. }
  254.  
  255. if($van == FALSE) $validDatesText = "Nem került még letöltésre mérési adat";
  256. //print_r($rows);
  257. if($rows[0]['mennyi']>0) {
  258. $vdateFrom = date("Y-m-d", strtotime($rows[0]['mine']));
  259. $vdateTo = date("Y-m-d", strtotime($rows[0]['maxe']));
  260. $validDatesText = " között állnak rendelkezésre letöltött mérések: <b>".$rows[0]['mennyi']. " db</b>";
  261. /* ezt így már csak a print használja ! */
  262. $_SESSION['validDatesText'] = $vdateFrom."-".$vdateTo.$validDatesText;
  263. $smarty->assign('validDatesLink','<a href="#" onclick="sendForm(\''.$vdateFrom.'\',\''.$vdateTo.'\')">'.$vdateFrom.'-'.$vdateTo.'</a>');
  264.  
  265. /* utolsó teljes 30 napi mérés lekérdezése */
  266. $diff30 = 30;
  267. $diff1 = 1;
  268. /*- ha a mai az utolsó * /
  269. if( date("Y-m-d", strtotime($rows[0]['maxletolt'])) != date("Y-m-d") ) {
  270. $diff30 = 29;
  271. $diff1 = 0;
  272. }
  273. */
  274. // ez itt hibás, a már nála nem lévő mérőkkel is kalkulál !!!
  275. $s = "SELECT COUNT(e.ErtekID) AS mennyi FROM v_ertekek AS e
  276. LEFT JOIN v_keszulekek AS k ON e.GyariSzam=k.GyariSzam WHERE";
  277. if($_REQUEST['patient_id'] != 'UNKNOWN')$s .= " k.UgyfelID = ".$_REQUEST['patient_id']." AND ";
  278. $s .= " k.Type=1 AND e.Valid > 2 $sql_extra_where ";
  279. $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' ";
  280. //$rows2=GetDBListArray($s);
  281. $rows2 = $newskinmodel->RunPDOselectArray($s);
  282.  
  283. $date30from = date("Y-m-d", strtotime($rows[0]['maxletolt']."-$diff30 days"));
  284. $date30to = date("Y-m-d", strtotime($rows[0]['maxletolt'].(0 - $diff1).' day'));
  285. $last30daysText = " (utolsó letöltést megelőző <b>30 nap</b>) mérésszáma: <b>".$rows2[0]['mennyi']." db</b>";
  286. /* ezt így már csak a print használja ! */
  287. $_SESSION['last30daysText'] = $date30from."-".$date30to.$last30daysText;
  288. $smarty->assign('last30daysLink','<a href="#" onclick="sendForm(\''.$date30from.'\',\''.$date30to.'\')">'.$date30from.'-'.$date30to.'</a>');
  289. $smarty->assign('last30daysText',$last30daysText);
  290. //$smarty->assign('sum_meas',count($rows));
  291.  
  292. }
  293. $smarty->assign('validDatesText',$validDatesText);
  294.  
  295. $tools = $newskinmodel->toolsInTimeByAnyone($_REQUEST['patient_id'], 'UgyfelID');
  296.  
  297. /* Elo rendberakása */
  298. if($tools) {
  299. include_once "libraries/elorendbetevo.inc.php";
  300. $teddRendbe = new eloRendbetevo();
  301.  
  302. foreach ($tools as $tool) {
  303. $mind1 = $teddRendbe->chackAndReapairElo($tool['GyariSzam']);
  304. }
  305. }
  306.  
  307. $smarty->assign('tools',$tools);
  308. //$smarty->assign('appliance_types', GConfig::CreateDefSettingArray('keszulek_tipusok_FK'));
  309.  
  310. $_SESSION['patient_name'] = $_REQUEST['patient_name'];
  311. $_SESSION['sixMonthsMeasurementNums'] = count($rows);
  312. $smarty->assign('sixMonthsMeasurementNums',count($rows));
  313.  
  314.  
  315. $itdf_3ho_string = ", <b>3 havonta</b> ";
  316. # $oeplink = "http://sejk.oep.hu/?s=segedeszkoz&ttt=310196652&termek=m%C3%A9ry-tesztcs%C3%ADk-50-db-doboz";
  317. if($patient_info['tipusid'] == 2) setSessionIdtfStrings($patient_info['Inzulin'], OEPLINK, $itdf_3ho_string);
  318. else $_SESSION['itdf_string'] = ' ';
  319. /*
  320. print "<pre>";
  321. print_r($szorasok);
  322. print "</pre>";
  323. */
  324. }
  325.  
  326.  
  327. $smarty->assign('showAGP',$agp);
  328. // print "<br>HELLÓ, ÉN A CONTROLLER VOLTAM!<br>";
  329. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement