2 // Copyright (C) 2008 Rod Roark <rod@sunsetsystems.com>
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License
6 // as published by the Free Software Foundation; either version 2
7 // of the License, or (at your option) any later version.
9 $fake_register_globals=false;
10 $sanitize_all_escapes=true;
12 require_once("../../globals.php");
13 require_once("$srcdir/patient.inc");
14 require_once("$srcdir/csv_like_join.php");
15 require_once("../../../custom/code_types.inc.php");
18 $codetype = $_REQUEST['codetype'];
19 if (isset($codetype)) {
20 $allowed_codes = split_csv_line($codetype);
23 $form_code_type = $_POST['form_code_type'];
25 // This variable is used to store the html element
26 // of the target script where the selected code
28 $target_element = $_GET['target_element'];
32 <?php
html_header_show(); ?
>
33 <title
><?php
echo xlt('Code Finder'); ?
></title
>
34 <link rel
="stylesheet" href
='<?php echo attr($css_header) ?>' type
='text/css'>
37 td
{ font
-size
:10pt
; }
40 <script language
="JavaScript">
43 function selcode(codetype
, code
, selector
, codedesc
) {
44 if (opener
.closed ||
! opener
.set_related
)
45 alert('<?php echo addslashes( xl('The destination form was closed
; I cannot act on your selection
.') ); ?>');
47 opener
.set_related(codetype
, code
, selector
, codedesc
);
52 // Standard function with additional parameter to select which
53 // element on the target page to place the selected code into.
54 function selcode_target(codetype
, code
, selector
, codedesc
, target_element
) {
55 if (opener
.closed ||
! opener
.set_related_target
)
56 alert('<?php echo addslashes( xl('The destination form was closed
; I cannot act on your selection
.') ); ?>');
58 opener
.set_related_target(codetype
, code
, selector
, codedesc
, target_element
);
67 <body
class="body_top" OnLoad
="document.theform.search_term.focus();">
70 $string_target_element = "";
71 if (!empty($target_element)) {
72 $string_target_element = "?target_element=".attr($target_element)."&";
75 $string_target_element = "?";
78 <?php
if (isset($allowed_codes)) { ?
>
79 <form method
='post' name
='theform' action
='find_code_popup.php<?php echo $string_target_element ?>codetype=<?php echo attr($codetype) ?>'>
81 <form method
='post' name
='theform' action
='find_code_popup.php<?php echo $string_target_element ?>'>
86 <table border
='0' cellpadding
='5' cellspacing
='0'>
93 <tr bgcolor
='#ddddff'>
98 if (isset($allowed_codes)) {
99 if (count($allowed_codes) === 1) {
100 echo "<input type='text' name='form_code_type' value='" . attr($codetype) . "' size='5' readonly>\n";
103 <select name
='form_code_type'>
105 foreach ($allowed_codes as $code) {
106 $selected_attr = ($form_code_type == $code) ?
" selected='selected'" : '';
108 <option value
='<?php echo attr($code) ?>'<?php
echo $selected_attr?
>><?php
echo xlt($code_types[$code]['label']) ?
></option
>
117 echo " <select name='form_code_type'";
119 foreach ($code_types as $key => $value) {
120 echo " <option value='" . attr($key) . "'";
121 if ($codetype == $key ||
$form_code_type == $key) echo " selected";
122 echo ">" . xlt($value['label']) . "</option>\n";
124 echo " <option value='PROD'";
125 if ($codetype == 'PROD' ||
$form_code_type == 'PROD') echo " selected";
126 echo ">" . xlt("Product") . "</option>\n";
127 echo " </select> \n";
131 <?php
echo xlt('Search for:'); ?
>
132 <input type
='text' name
='search_term' size
='12' value
='<?php echo attr($_REQUEST['search_term
']); ?>'
133 title
='<?php echo xla('Any part of the desired code
or its description
'); ?>' />
135 <input type
='submit' name
='bn_search' value
='<?php echo xla('Search
'); ?>' />
137 <?php
if (!empty($target_element)) { ?
>
138 <input type
='button' value
='<?php echo xla('Erase
'); ?>' onclick
="selcode_target('', '', '', '', '<?php echo attr(addslashes($target_element)); ?>')" />
140 <input type
='button' value
='<?php echo xla('Erase
'); ?>' onclick
="selcode('', '', '', '')" />
153 <?php
if ($_REQUEST['bn_search']) { ?
>
157 <td
><b
><?php
echo xlt('Code'); ?
></b
></td
>
158 <td
><b
><?php
echo xlt('Description'); ?
></b
></td
>
161 $search_term = $_REQUEST['search_term'];
162 $res = code_set_search($form_code_type,$search_term);
163 if ($form_code_type == 'PROD') { // Special case that displays search for products/drugs
164 while ($row = sqlFetchArray($res)) {
165 $drug_id = $row['drug_id'];
166 $selector = $row['selector'];
167 $desc = $row['name'];
168 $anchor = "<a href='' " .
169 "onclick='return selcode(\"PROD\", \"" . attr(addslashes($drug_id)) . "\", \"" . attr(addslashes($selector)) . "\", \"" . attr(addslashes($desc)) . "\")'>";
171 echo " <td>$anchor" . text($drug_id.":".$selector) . "</a></td>\n";
172 echo " <td>$anchor" . text($desc) . "</a></td>\n";
177 while ($row = sqlFetchArray($res)) { // Display normal search
178 $itercode = $row['code'];
179 $itertext = trim($row['code_text']);
180 if (!empty($target_element)) {
181 // add a 5th parameter to function to select the target element on the form for placing the code.
182 $anchor = "<a href='' " .
183 "onclick='return selcode_target(\"" . attr(addslashes($form_code_type)) . "\", \"" . attr(addslashes($itercode)) . "\", \"\", \"" . attr(addslashes($itertext)) . "\", \"" . attr(addslashes($target_element)) . "\")'>";
186 $anchor = "<a href='' " .
187 "onclick='return selcode(\"" . attr(addslashes($form_code_type)) . "\", \"" . attr(addslashes($itercode)) . "\", \"\", \"" . attr(addslashes($itertext)) . "\")'>";
190 echo " <td>$anchor" . text($itercode) . "</a></td>\n";
191 echo " <td>$anchor" . text($itertext) . "</a></td>\n";