PageRenderTime 37ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/modules/drg/drg-ops301-search.php

https://github.com/timschofield/2.8
PHP | 452 lines | 368 code | 37 blank | 47 comment | 42 complexity | 91fa787f2a1115fd5039027d37a1f9fe MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause, GPL-2.0
  1. <?php
  2. error_reporting(E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
  3. require('./roots.php');
  4. require('../../include/helpers/inc_environment_global.php');
  5. /**
  6. * CARE2X Integrated Hospital Information System Deployment 2.1 - 2004-10-02
  7. * GNU General Public License
  8. * Copyright 2002,2003,2004,2005 Elpidio Latorilla
  9. * elpidio@care2x.org,
  10. *
  11. * See the file "copy_notice.txt" for the licence notice
  12. */
  13. define('MODULE','drg');
  14. define('LANG_FILE_MODULAR','drg.php');
  15. require_once('drg_inc_local_user.php');
  16. require_once($root_path.'include/helpers/inc_front_chain_lang.php');
  17. //if (!$opnr) {header("Location:".$root_path."language/".$lang."/lang_".$lang."_invalid-access-warning.php"); exit;};
  18. ///$db->debug=true;
  19. # Create drg object
  20. require_once($root_path.'modules/drg/model/class_drg.php');
  21. $drg= & new DRG;
  22. if($saveok){
  23. ?>
  24. <script language="javascript" >
  25. window.opener.location.replace('drg-ops301.php?sid=<?php echo "$sid&lang=$lang&pn=$pn&opnr=$opnr&edit=$edit&ln=$ln&fn=$fn&bd=$bd&group_nr=$group_nr&dept_nr=$dept_nr&oprm=$oprm&y=$y&m=$m&d=$d&display=composite&newsave=1" ?>');
  26. //window.opener.parent.OPS.location.reload();
  27. window.close();
  28. </script>
  29. <?php
  30. exit;
  31. }
  32. $toggle=0;
  33. $thisfile='drg-ops301-search.php';
  34. if($mode=='save'){
  35. /* Initialiase control elements */
  36. $target='ops301';
  37. $element='ops_code';
  38. $save_related=1;
  39. $element_related='related_ops';
  40. $itemselector='sel';
  41. $hidselector='ops_px';
  42. include('includes/inc_drg_entry_save.php');
  43. }else{
  44. $fielddata='code,description,sub_level,inclusive,exclusive,notes,remarks';
  45. $keyword=trim($keyword);
  46. if(($keyword)&&($keyword!=" ")){
  47. ##### Check if table exists otherwise use default table #####
  48. if(strlen($keyword)<3){
  49. $sql="SELECT $fielddata FROM $drg->tb_proc_codes WHERE (code $sql_LIKE '%$keyword%' OR description $sql_LIKE '$keyword%')";
  50. }else{
  51. $sql="SELECT $fielddata FROM $drg->tb_proc_codes WHERE (code $sql_LIKE '%$keyword%' OR description $sql_LIKE '%$keyword%')";
  52. }
  53. $ergebnis=$db->SelectLimit($sql,100);
  54. if($ergebnis){
  55. $linecount=0;
  56. //if ($zeile=$ergebnis->FetchRow())
  57. if ($linecount=$ergebnis->RecordCount()){
  58. //$linecount++;
  59. if(strlen($keyword)<3){
  60. $advsql="SELECT sub_level FROM $drg->tb_proc_codes WHERE (code $sql_LIKE '%$keyword%' OR description $sql_LIKE '$keyword%')";
  61. }else{
  62. $advsql="SELECT sub_level FROM $drg->tb_proc_codes WHERE (code $sql_LIKE '%$keyword%' OR description $sql_LIKE '%$keyword%')";
  63. }
  64. $adv=$db->SelectLimit($advsql,100);
  65. }
  66. } else {
  67. echo "<p>".$sql."<p>$LDDbNoRead";
  68. }
  69. }
  70. }
  71. $img['delete']=createComIcon($root_path,'delete2.gif','0','right',TRUE);
  72. $img['arrow']=createComIcon($root_path,'l_arrowgrnsm.gif','0','absmiddle',TRUE);
  73. $img['warn']=createComIcon($root_path,'warn.gif','0','absmiddle',TRUE);
  74. $img['info']=createComIcon($root_path,'button_info.gif','0','absmiddle',TRUE);
  75. $img['bubble']=createComIcon($root_path,'bubble2.gif','0','absmiddle',TRUE);
  76. $img['blue']=createComIcon($root_path,'l2-blue.gif','0','',TRUE);
  77. $img['t2']=createComIcon($root_path,'t2-blue.gif','0','',TRUE);
  78. $img['plus']=createComIcon($root_path,'plus2.gif','0','absmiddle',TRUE);
  79. $img['reset']=createComIcon($root_path,'button_reset.gif','0','absmiddle',TRUE);
  80. ?>
  81. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN" "html.dtd">
  82. <html>
  83. <HEAD>
  84. <TITLE><?php echo $LDOps301 ?></TITLE>
  85. <script language="javascript" src="<?php echo $root_path ?>js/showhide-div.js">
  86. </script>
  87. <script language="javascript">
  88. <!--
  89. function pruf(d)
  90. {
  91. if((d.keyword.value=="")||(d.keyword.value==" ")) return false;
  92. }
  93. function gethelp(x,s,x1,x2,x3)
  94. {
  95. if (!x) x="";
  96. urlholder="help-router.php?lang=<?php echo $lang ?>&helpidx="+x+"&src="+s+"&x1="+x1+"&x2="+x2+"&x3="+x3;
  97. helpwin=window.open(urlholder,"helpwin","width=790,height=540,menubar=no,resizable=yes,scrollbars=yes");
  98. window.helpwin.moveTo(0,0);
  99. }
  100. function subsearch(k)
  101. {
  102. //window.location.href='drg-icd10-search.php?sid=<?php echo "sid=$sid&lang=$lang&pn=$pn&opnr=$opnr&edit=$edit&ln=$ln&fn=$fn&bd=$bd&dept_nr=$dept_nr&oprm=$oprm&display=$display" ?>&keyword='+k;
  103. document.searchdata.keyword.value=k;
  104. document.searchdata.submit();
  105. }
  106. function checkselect(d)
  107. {
  108. var ret=false;
  109. var x=d.lastindex.value;
  110. for(i=0;i<x;i++)
  111. if(eval("d.sel"+i+".checked"))
  112. {
  113. ret=true;
  114. break;
  115. }
  116. return ret;
  117. }
  118. // -->
  119. </script>
  120. <?php
  121. require($root_path.'include/helpers/include_header_css_js.php');
  122. ?>
  123. </HEAD>
  124. <BODY onLoad="if(window.focus) window.focus();
  125. <?php if(!$showonly) : ?>
  126. document.searchdata.keyword.select();document.searchdata.keyword.focus();
  127. <?php endif; ?>
  128. "
  129. <?php if (!$cfg['dhtml']){ echo ' link='.$cfg['idx_txtcolor'].' alink='.$cfg['body_alink'].' vlink='.$cfg['idx_txtcolor']; } ?>>
  130. <FONT SIZE=-1 FACE="Arial">
  131. <ul>
  132. <FORM action="drg-ops301-search.php" method="post" name="searchdata" onSubmit="return pruf(this)">
  133. <a href="javascript:window.close()"><img <?php echo createLDImgSrc($root_path,'close2.gif','0') ?> align="right"></a>
  134. <?php if(!$showonly) : ?>
  135. <FONT SIZE=3 FACE="verdana,Arial" color="#006600"><b><?php echo $LDOps301 ?></b>&nbsp;
  136. </font>
  137. <font size=3>
  138. <INPUT type="text" name="keyword" size="50" maxlength="60" onfocus=this.select() value="<?php echo $keyword ?>"></font>
  139. <br>
  140. <INPUT type="submit" name="versand" value="<?php echo $LDSearch ?>">
  141. <?php else : ?>
  142. <input type="hidden" name="keyword" value="">
  143. <?php endif; ?>
  144. <input type="hidden" name="sid" value="<?php echo $sid; ?>">
  145. <input type="hidden" name="lang" value="<?php echo $lang; ?>">
  146. <input type="hidden" name="pn" value="<?php echo $pn; ?>">
  147. <input type="hidden" name="opnr" value="<?php echo $opnr; ?>">
  148. <input type="hidden" name="ln" value="<?php echo $ln; ?>">
  149. <input type="hidden" name="fn" value="<?php echo $fn; ?>">
  150. <input type="hidden" name="bd" value="<?php echo $bd; ?>">
  151. <input type="hidden" name="dept_nr" value="<?php echo $dept_nr; ?>">
  152. <input type="hidden" name="group_nr" value="<?php echo $group_nr; ?>">
  153. <input type="hidden" name="edit" value="<?php echo $edit; ?>">
  154. <input type="hidden" name="oprm" value="<?php echo $oprm; ?>">
  155. <input type="hidden" name="display" value="<?php echo $display; ?>">
  156. <input type="hidden" name="showonly" value="<?php echo $showonly; ?>">
  157. <input type="hidden" name="target" value="<?php echo $target; ?>">
  158. </FORM>
  159. <p>
  160. <form name="ops301" onSubmit="return checkselect(this)">
  161. <table border=0 cellpadding=0 cellspacing=0 width='100%'>
  162. <tr bgcolor=#009900>
  163. <td width="20">
  164. <?php if(!$showonly) : ?>
  165. <img <?php echo $img['delete'] ?> alt="<?php echo $LDReset ?>" onClick="javascript:document.ops301.reset()">
  166. <?php endif; ?>
  167. </td>
  168. <td><font size=2 color=#ffffff>&nbsp;<b><nobr><?php echo $LDOps301 ?></nobr></b>&nbsp;</td>
  169. <td colspan=7><font size=2 color=#ffffff>&nbsp;&nbsp;&nbsp;<b><?php echo $LDDescription ?></b>
  170. </td>
  171. </tr>
  172. <?php
  173. function cleandata(&$buf)
  174. {
  175. return strtr($buf,",.()*+-","_______");
  176. }
  177. function drawAdditional($tag,&$codebuf,&$databuf,$bkcolor,&$alttag) {
  178. global $LDClose, $img;
  179. //echo '&nbsp;<a href="javascript:ssm(\''.$tag.'_'.cleandata($codebuf).'\'); clearTimeout(timer)"><img src="../img/l_arrowGrnSm.gif" border=0 width=12 height=12 alt="'.$alttag.'" align="absmiddle"></a>';
  180. echo '<DIV id='.$tag.'_'.cleandata($codebuf).'
  181. style=" VISIBILITY: hidden; POSITION: absolute;">
  182. <TABLE cellSpacing=1 cellPadding=0 bgColor="#000000" border=0>
  183. <TR>
  184. <TD>
  185. <TABLE cellSpacing=1 cellPadding=7 width="100%" bgColor="#'.$bkcolor.'" border=0><TBODY>
  186. <TR>
  187. <TD bgColor="#'.$bkcolor.'">
  188. <a href="javascript:hsm()"><img '.$img['delete'].' alt="'.$LDClose.'"></a>
  189. <font size=2><b><font color="#003300">'.$alttag.':</font></b><br>'.$databuf.'
  190. </TD></TR></TABLE></TD></TR></TBODY></TABLE></div>';
  191. }
  192. function drawdata(&$data,&$advdata){
  193. global $toggle,$parentcode,$grandcode,$priocolor,$LDInclusive,$LDExclusive,$LDNotes,$LDRemarks,$LDExtraCodes,$LDAddCodes;
  194. global $idx,$iscolor,$keyword,$showonly,$parentdata, $img;
  195. echo "
  196. <tr class=";
  197. if($priocolor||$iscolor) echo "hilite>";
  198. elseif($toggle) { echo "wardlistrow2>"; $toggle=0;} else {echo "wardlistrow1>"; $toggle=1;};
  199. echo '
  200. <td>';
  201. if($priocolor) echo "&nbsp;"; elseif(!$showonly)
  202. {
  203. /* $valbuf='code*'.$data['code'];
  204. if(!stristr($data['code'],".")) $valbuf.='&des*'.$data['description'];
  205. else $valbuf.='&des*'.$parentdata['description'].' <b>'.$data['description'].'</b>';
  206. */ echo '<input type="checkbox" name="sel'.$idx.'" value="'.$data['code'].'">
  207. <input type="hidden" name="ops_px'.$idx.'" value="'.$parentdata['code'].'">';
  208. $idx++;
  209. }
  210. echo '
  211. </td>
  212. <td><font size=2><nobr>';
  213. //echo " *$parentcode +$grandcode";
  214. if($priocolor&&($data['code']!=$keyword)) echo '<u><a href="javascript:subsearch(\''.$data['code'].'\')">'.$data['code'].'</a></U>';
  215. else echo $data['code'].'&nbsp;';
  216. echo "&nbsp;</nobr></td>";
  217. switch($data[sub_level])
  218. {
  219. case 0:echo '
  220. <td colspan=7>';
  221. break;
  222. case 1:echo '
  223. <td colspan=7>';
  224. break;
  225. case 2: echo '
  226. <td colspan=2>&nbsp;</td>
  227. <td valign="top">';
  228. echo '&nbsp;';
  229. echo '
  230. </td><td colspan=4>';
  231. break;
  232. case 3: echo '
  233. <td colspan=3>&nbsp;</td>
  234. <td valign="top">';
  235. if($advdata['sub_level']<$data['sub_level']) echo '<img '.$img['blue'].'>'; else echo '<img '.$img['t2'].'>';
  236. echo '</td>
  237. <td colspan=3>';
  238. break;
  239. case 4: echo '
  240. <td colspan=4>&nbsp;</td>
  241. <td valign="top">';
  242. if($advdata['sub_level']<$data['sub_level']) echo '<img '.$img['blue'].'>'; else echo '<img '.$img['t2'].'>';
  243. echo '</td>
  244. <td colspan=2>&nbsp;';
  245. break;
  246. case 5: echo '
  247. <td colspan=5>&nbsp;</td>
  248. <td valign="top">';
  249. if($advdata['sub_level']<$data['sub_level']) echo '<img '.$img['blue'].'>'; else echo '<img '.$img['t2'].'>';
  250. echo '</td>
  251. <td>&nbsp;';
  252. break;
  253. }
  254. //echo '<font size=2>'.trim($data[description]);
  255. echo '<font size=2>';
  256. if($priocolor&&($data['code']!=$keyword)) echo '<u><a href="javascript:subsearch(\''.$data['code'].'\')">'.$data[description].'</a></U>';
  257. else echo $data['description'].'&nbsp;';
  258. if($data[inclusive])
  259. {
  260. echo '&nbsp;<a href="javascript:ssm(\'i_'.cleandata($data['code']).'\');"><img '.$img['arrow'].' alt="'.$LDInclusive.'"></a>';
  261. drawAdditional("i",$data['code'],$data['inclusive'],"00ffcc",$LDInclusive);
  262. }
  263. //if($data[inclusive]) echo '<br><font size=2 color="#00aa00">'.$data[inclusive].'</font>';
  264. if($data[exclusive])
  265. {
  266. echo '&nbsp;<a href="javascript:ssm(\'e_'.cleandata($data['code']).'\');"><img '.$img['warn'].' alt="'.$LDExclusive.'"></a>';
  267. drawAdditional("e",$data['code'],$data['exclusive'],"ffccee",$LDExclusive);
  268. }
  269. if($data[notes])
  270. {
  271. echo '&nbsp;<a href="javascript:ssm(\'n_'.cleandata($data['code']).'\');"><img '.$img['info'].' alt="'.$LDNotes.'"></a>';
  272. drawAdditional("n",$data['code'],$data['notes'],"ffcc99",$LDNotes);
  273. }
  274. if($data[remarks])
  275. {
  276. echo '&nbsp;<a href="javascript:ssm(\'r_'.cleandata($data['code']).'\');"><img '.$img['bubble'].' alt="'.$LDRemarks.'"></a>';
  277. drawAdditional("r",$data['code'],$data['remarks'],"cceeff",$LDRemarks);
  278. }
  279. echo '</td>';
  280. }
  281. if ($linecount>0)
  282. {
  283. $idx=0;
  284. $grandpa=array();
  285. $parent=array();
  286. //mysql_data_seek($ergebnis,0);
  287. $advzeile=$adv->FetchRow();
  288. while($zeile=$ergebnis->FetchRow())
  289. {
  290. $advzeile=$adv->FetchRow();
  291. // process code
  292. $strbuf=trim($zeile['code']);
  293. if(stristr($strbuf,"..."))
  294. {
  295. $isparent=1;
  296. $iscolor=1;
  297. }
  298. elseif(stristr($strbuf,"."))
  299. {
  300. $parentcode=substr($strbuf,0,strpos($strbuf,"."));
  301. //$parent[strtr($parentcode,"-","_")]=1;
  302. //echo "parent";
  303. //$priocolor=1;
  304. //echo $parentcode;
  305. }
  306. else
  307. {
  308. $isparent=1;
  309. $priocolor=1;
  310. }
  311. if($isparent)
  312. {
  313. //
  314. $parentcode=strtr($strbuf,"-","_");
  315. $parent[$parentcode]=1;
  316. $parentdata=$zeile;
  317. // echo "grand";
  318. //echo "$grandcode $parentcode";
  319. //echo $parentcode;
  320. $isparent=0;
  321. }
  322. //echo "#$zeile[diagnosis_code] *$parentcode +$grandcode";
  323. $parentcode=strtr($parentcode,"-","_");
  324. if(!$parent[$parentcode])
  325. {
  326. //echo "parent";
  327. $sql="SELECT $fielddata FROM $drg->tb_proc_codes WHERE code $sql_LIKE '$parentcode%'";
  328. $lines=$db->SelectLimit($sql,1);
  329. if($lines)
  330. {
  331. if($lines->RecordCount())
  332. {
  333. //mysql_data_seek($lines,0);
  334. $priocolor=1;//echo "hello";
  335. $parentdata=$lines->FetchRow();
  336. drawdata($parentdata,$zeile);
  337. $parent[$parentcode]=1;
  338. $priocolor=0;//echo "hello";
  339. }
  340. }
  341. }
  342. drawdata($zeile,$advzeile);
  343. //$idx++;
  344. echo "</tr>";
  345. $priocolor=0;
  346. $iscolor=0;
  347. }
  348. }
  349. ?>
  350. </table>
  351. <?php
  352. if(!$showonly&&($linecount>0)) {
  353. ?>
  354. <input type="hidden" name="lastindex" value="<?php echo $idx ?>">
  355. <input type="submit" value="<?php echo $LDApplySelection ?>">
  356. <input type="hidden" name="sid" value="<?php echo $sid; ?>">
  357. <input type="hidden" name="lang" value="<?php echo $lang; ?>">
  358. <input type="hidden" name="pn" value="<?php echo $pn; ?>">
  359. <input type="hidden" name="opnr" value="<?php echo $opnr; ?>">
  360. <input type="hidden" name="ln" value="<?php echo $ln; ?>">
  361. <input type="hidden" name="fn" value="<?php echo $fn; ?>">
  362. <input type="hidden" name="bd" value="<?php echo $bd; ?>">
  363. <input type="hidden" name="dept_nr" value="<?php echo $dept_nr; ?>">
  364. <input type="hidden" name="edit" value="<?php echo $edit; ?>">
  365. <input type="hidden" name="group_nr" value="<?php echo $group_nr; ?>">
  366. <input type="hidden" name="oprm" value="<?php echo $oprm; ?>">
  367. <input type="hidden" name="display" value="<?php echo $display; ?>">
  368. <input type="hidden" name="target" value="<?php echo $target; ?>">
  369. <input type="hidden" name="target" value="<?php echo $target; ?>">
  370. <input type="hidden" name="mode" value="save">
  371. </form>
  372. <?php
  373. }else{
  374. /*
  375. ?>
  376. <p>
  377. <a href="javascript:window.close()"><img <?php echo createLDImgSrc($root_path,'close2.gif','0') ?>></a>
  378. <?php
  379. */
  380. }
  381. ?>
  382. <?php if(($linecount>15)&&!$showonly) { ?>
  383. <p>
  384. <FORM action="drg-ops301-search.php" method="post" onSubmit="return pruf(this)" name="form2">
  385. <a href="javascript:window.close()" class="button icon remove danger"></a>
  386. <font face="Arial,Verdana" color="#000000" size=-1>
  387. <INPUT type="text" name="keyword" size="14" maxlength="25" value="<?php echo $keyword ?>">
  388. <br>
  389. <INPUT type="submit" name="versand" value="<?php echo $LDSearch ?>">
  390. <input type="hidden" name="sid" value="<?php echo $sid; ?>">
  391. <input type="hidden" name="lang" value="<?php echo $lang; ?>">
  392. <input type="hidden" name="pn" value="<?php echo $pn; ?>">
  393. <input type="hidden" name="opnr" value="<?php echo $opnr; ?>">
  394. <input type="hidden" name="ln" value="<?php echo $ln; ?>">
  395. <input type="hidden" name="fn" value="<?php echo $fn; ?>">
  396. <input type="hidden" name="bd" value="<?php echo $bd; ?>">
  397. <input type="hidden" name="dept_nr" value="<?php echo $dept_nr; ?>">
  398. <input type="hidden" name="group_nr" value="<?php echo $group_nr; ?>">
  399. <input type="hidden" name="edit" value="<?php echo $edit; ?>">
  400. <input type="hidden" name="oprm" value="<?php echo $oprm; ?>">
  401. <input type="hidden" name="display" value="<?php echo $display; ?>">
  402. <input type="hidden" name="showonly" value="<?php echo $showonly; ?>">
  403. <input type="hidden" name="target" value="<?php echo $target; ?>">
  404. </font>
  405. </FORM>
  406. <p>
  407. <?php } ?>
  408. </ul>
  409. &nbsp;
  410. </FONT>
  411. </FONT>
  412. </BODY>
  413. </HTML>