You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
2.9 KiB
104 lines
2.9 KiB
2 years ago
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Helper for UB04 form.
|
||
|
*
|
||
|
* @package OpenEMR
|
||
|
* @link http://www.open-emr.org
|
||
|
* @author Jerry Padgett <sjpadgett@gmail.com>
|
||
|
* @author Brady Miller <brady.g.miller@gmail.com>
|
||
|
* @copyright Copyright (c) 2017-2019 Jerry Padgett <sjpadgett@gmail.com>
|
||
|
* @copyright Copyright (c) 2019 Brady Miller <brady.g.miller@gmail.com>
|
||
|
* @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
|
||
|
*/
|
||
|
|
||
|
require_once("../globals.php");
|
||
|
require_once("ub04_codes.inc.php");
|
||
|
|
||
|
$lookup = isset($_GET["code_group"]) ? filter_input(INPUT_GET, 'code_group') : "";
|
||
|
$term = isset($_GET["term"]) ? filter_input(INPUT_GET, 'term') : '';
|
||
|
if ($lookup != "") {
|
||
|
lookup_codes($lookup, $term);
|
||
|
exit();
|
||
|
}
|
||
|
|
||
|
// Falling through for user dialog.
|
||
|
$users = sqlStatementNoLog("SELECT id,fname,lname,npi,taxonomy FROM users WHERE authorized=? AND active=?", array(1,1));
|
||
|
?>
|
||
|
<html>
|
||
|
<head>
|
||
|
<script>
|
||
|
function sendSelection(value)
|
||
|
{
|
||
|
let parentId = <?php echo js_escape($_GET['formid']); ?>;
|
||
|
|
||
|
updateProvider(parentId, value);
|
||
|
dialog.closeAjax();
|
||
|
}
|
||
|
</script>
|
||
|
</head>
|
||
|
<body>
|
||
|
<table class="table table-sm table-striped">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
<th><?php echo xlt('Provider')?></th>
|
||
|
<th><?php echo xlt('User Id') ?></th>
|
||
|
<th><?php echo xlt('NPI') ?></th>
|
||
|
<th><?php echo xlt('Taxonomy') ?></th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<?php
|
||
|
while ($row = sqlFetchArray($users)) {
|
||
|
$data = json_encode($row);
|
||
|
?>
|
||
|
<tr>
|
||
|
<td><button btn btn-secondary btn-sm onclick='sendSelection(<?php echo $data;?>)'><?php echo text($row['fname'] . ' ' . $row['lname'])?></button></td>
|
||
|
<td><?php echo text($row['id']) ?></td>
|
||
|
<td><?php echo text($row['npi']) ?></td>
|
||
|
<td><?php echo text($row['taxonomy']) ?></td>
|
||
|
</tr>
|
||
|
<?php } ?>
|
||
|
</tbody>
|
||
|
</table>
|
||
|
</body>
|
||
|
</html>
|
||
|
<?php
|
||
|
function lookup_codes($group, $term)
|
||
|
{
|
||
|
global $ub04_codes;
|
||
|
$gotem = array();
|
||
|
|
||
|
foreach ($ub04_codes as $k => $v) {
|
||
|
if ($v['code_group'] != $group) {
|
||
|
continue;
|
||
|
}
|
||
|
$s = "/" . $term . "/i";
|
||
|
$label = $v['code'] . " : " . $v['desc'] . ($v['desc1'] ? (" :: " . $v['desc1']) : "");
|
||
|
if (preg_match($s, $label)) {
|
||
|
$gotem[] = array(
|
||
|
'label' => attr($label),
|
||
|
'value' => $v['code']
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
echo json_encode($gotem);
|
||
|
}
|
||
|
/**
|
||
|
* Lookup lists
|
||
|
* @param lookup group string $group
|
||
|
* @param search string $term
|
||
|
*/
|
||
|
function get_codes_list($group, $term)
|
||
|
{
|
||
|
$term = "%" . $term . "%";
|
||
|
$response = sqlStatement("SELECT CONCAT_WS(': ', isc.code, isc.primary_desc, isc.desc1) as label, isc.code as value, isc.code_group as cg FROM inst_support_codes as isc
|
||
|
HAVING label LIKE ? And cg = ? ORDER BY code ASC", array($term, $group ));
|
||
|
|
||
|
while ($row = sqlFetchArray($response)) {
|
||
|
$resultpd[] = $row;
|
||
|
}
|
||
|
|
||
|
echo json_encode($resultpd);
|
||
|
}
|