return false; } // This invokes the find-code popup. // For CVX/immunization code administration. function sel_cvxcode(e) { current_sel_name = e.name; dlgopen('../patient_file/encounter/find_code_popup.php?codetype=CVX', '_blank', 500, 400); } // This invokes the find-code popup. // For CVX/immunization code administration. function select_clin_term_code(e) { current_sel_clin_term = e.name; dlgopen('../patient_file/encounter/find_code_popup.php?codetype=<?php echo attr(collect_codetypes("clinical_term", "csv")); ?> ', '_blank', 500, 400); } // This is for callback by the find-code popup. function set_related(codetype, code, selector, codedesc) { if (typeof(current_sel_name) == 'undefined' && typeof(current_sel_clin_term) == 'undefined') { // Coming from Fee Sheet edit var f = document.forms[0]; var celem = f['opt[' + current_lino + '][codes]']; var delem = f['opt[' + current_lino + '][descs]']; var i = 0; while ((i = codedesc.indexOf('~')) >= 0) { codedesc = codedesc.substring(0, i) + ' ' + codedesc.substring(i+1);
if (s.length > 0) s += ';'; s += codetype + ':' + code; } else { s = ''; } f[rcvarname].value = s; } // This invokes the find-code popup. function sel_related(varname) { rcvarname = varname; // codetype is just to make things easier and avoid mistakes. // Might be nice to have a lab parameter for acceptable code types. // Also note the controlling script here runs from interface/patient_file/encounter/. dlgopen('find_code_popup.php?codetype=<?php echo attr(collect_codetypes("diagnosis", "csv")); ?> ', '_blank', 500, 400); } var transmitting = false; // Issue a Cancel/OK warning if a previously transmitted order is being transmitted again. function validate(f) { <?php if (!empty($row['date_transmitted'])) { ?> if (transmitting) { if (!confirm('<?php echo xls('This order was already transmitted on') . ' ' . addslashes($row['date_transmitted']) . '. ' . xls('Are you sure you want to transmit it again?'); ?>
/** * Code set searching "internal" function for when searching multiple code sets. * * It will also work for one code set search, although not meant for this. * (This function is not meant to be called directly) * * @param array $form_code_types code set keys (will default to checking all active code types if blank) * @param string $search_term search term * @param integer $limit Number of results to return (NULL means return all) * @param array $modes Holds the search modes to process along with the order of processing (default behavior is described in above function comment) * @param boolean $count if true, then will only return the number of entries * @param boolean $active if true, then will only return active entries * @param integer $start Query start limit (for pagination) * @param integer $number Query number returned (for pagination) * @param array $filter_elements Array that contains elements to filter * @return recordset/integer */ function multiple_code_set_search($form_code_types = array(), $search_term, $limit = NULL, $modes = NULL, $count = false, $active = true, $start = NULL, $number = NULL, $filter_elements = array()) { if (empty($form_code_types)) { // Collect the active code types $form_code_types = collect_codetypes("active", "array"); } if ($count) { //start the counter $counter = 0; } else { // Figure out the appropriate limit clause $limit_query = limit_query_string($limit, $start, $number); // Prepare the sql bind array $sql_bind_array = array(); // Start the query string $query = "SELECT * FROM (("; } // Loop through each code type $flag_first = true; $flag_hit = false; //ensure there is a hit to avoid trying an empty query foreach ($form_code_types as $form_code_type) { // see if there is a hit $mode_hit = NULL; // only use the count method here, since it's much more efficient than doing the actual query $mode_hit = sequential_code_set_search($form_code_type, $search_term, NULL, $modes, true, $active, NULL, NULL, $filter_elements, true); if ($mode_hit) { if ($count) { // count the hits $count_hits = code_set_search($form_code_type, $search_term, $count, $active, false, NULL, NULL, $filter_elements, NULL, $mode_hit); // increment the counter $counter += $count_hits; } else { $flag_hit = true; // build the query $return_query = code_set_search($form_code_type, $search_term, $count, $active, false, NULL, NULL, $filter_elements, NULL, $mode_hit, true); if (!empty($sql_bind_array)) { $sql_bind_array = array_merge($sql_bind_array, $return_query['binds']); } else { $sql_bind_array = $return_query['binds']; } if (!$flag_first) { $query .= ") UNION ALL ("; } $query .= $return_query['query']; } $flag_first = false; } } if ($count) { //return the count return $counter; } else { // Finish the query string $query .= ")) as atari {$limit_query}"; // Process and return the query (if there was a hit) if ($flag_hit) { return sqlStatement($query, $sql_bind_array); } } }
function ActiveIssueCodeRecycleFn($thispid2, $ISSUE_TYPES2) { /////////////////////////////////////////////////////////////////////// // Active Issue Code Recycle Function authored by epsdky (2014-2015) // /////////////////////////////////////////////////////////////////////// $modeIssueTypes = array(); $issueTypeIdx2 = array(); $idx2 = 0; foreach ($ISSUE_TYPES2 as $issueTypeX => $isJunk) { $modeIssueTypes[$idx2] = $issueTypeX; $issueTypeIdx2[$issueTypeX] = $idx2; ++$idx2; } $pe2 = array($thispid2); $qs2 = str_repeat('?, ', count($modeIssueTypes) - 1) . '?'; $sqlParameters2 = array_merge($pe2, $modeIssueTypes); $codeList2 = array(); $issueCodes2 = sqlStatement("SELECT diagnosis FROM lists WHERE pid = ? AND enddate is NULL AND type IN ({$qs2})", $sqlParameters2); while ($issueCodesRow2 = sqlFetchArray($issueCodes2)) { if ($issueCodesRow2['diagnosis'] != "") { $someCodes2 = explode(";", $issueCodesRow2['diagnosis']); $codeList2 = array_merge($codeList2, $someCodes2); } } if ($codeList2) { $codeList2 = array_unique($codeList2); sort($codeList2); } $memberCodes = array(); $memberCodes[0] = array(); $memberCodes[1] = array(); $memberCodes[2] = array(); $allowedCodes2 = array(); $allowedCodes2[0] = collect_codetypes("medical_problem"); $allowedCodes2[1] = collect_codetypes("diagnosis"); $allowedCodes2[2] = collect_codetypes("drug"); // Test membership of codes to each code type set foreach ($allowedCodes2 as $akey1 => $allowCodes2) { foreach ($codeList2 as $listCode2) { list($codeTyX, ) = explode(":", $listCode2); if (in_array($codeTyX, $allowCodes2)) { array_push($memberCodes[$akey1], $listCode2); } } } // output sets of display options $displayCodeSets[0] = $memberCodes[0]; // medical_problem $displayCodeSets[1] = array_merge($memberCodes[1], $memberCodes[2]); // allergy $displayCodeSets[2] = array_merge($memberCodes[2], $memberCodes[1]); // medication $displayCodeSets[3] = $memberCodes[1]; // default echo "var listBoxOptionSets = new Array();\n\n"; foreach ($displayCodeSets as $akey => $displayCodeSet) { echo "listBoxOptionSets[" . attr($akey) . "] = new Array();\n"; if ($displayCodeSet) { foreach ($displayCodeSet as $dispCode2) { $codeDesc2 = lookup_code_descriptions($dispCode2); echo "listBoxOptionSets[" . attr($akey) . "][listBoxOptionSets[" . attr($akey) . "].length] = new Option('" . attr($dispCode2) . " (" . attr(trim($codeDesc2)) . ") ' ,'" . attr($dispCode2) . "' , false, false);\n"; } } } // map issues to a set of display options $modeIndexMapping = array(); foreach ($modeIssueTypes as $akey2 => $isJunk) { $modeIndexMapping[$akey2] = 3; } if (array_key_exists("medical_problem", $issueTypeIdx2)) { $modeIndexMapping[$issueTypeIdx2['medical_problem']] = 0; } if (array_key_exists("allergy", $issueTypeIdx2)) { $modeIndexMapping[$issueTypeIdx2['allergy']] = 1; } if (array_key_exists("medication", $issueTypeIdx2)) { $modeIndexMapping[$issueTypeIdx2['medication']] = 2; } echo "\nvar listBoxOptions2 = new Array();\n\n"; foreach ($modeIssueTypes as $akey2 => $isJunk) { echo "listBoxOptions2[" . attr($akey2) . "] = listBoxOptionSets[" . attr($modeIndexMapping[$akey2]) . "];\n"; } /////////////////////////////////////////////////////////////////////// // End of Active Issue Code Recycle Function main code block // /////////////////////////////////////////////////////////////////////// }
} //This invokes the find-code popup. function sel_diagnosis(e) { current_sel_name = e.name; dlgopen('../patient_file/encounter/find_code_popup.php?codetype=<?php echo collect_codetypes("diagnosis", "csv"); ?> ', '_blank', 500, 400); } //This invokes the find-code popup. function sel_procedure(e) { current_sel_name = e.name; dlgopen('../patient_file/encounter/find_code_popup.php?codetype=<?php echo collect_codetypes("procedure", "csv"); ?> ', '_blank', 500, 400); } </script> <link rel='stylesheet' href='<?php echo $css_header; ?> ' type='text/css'> <style type="text/css"> /* specifically include & exclude from printing */ @media print { #report_parameters { visibility: hidden; display: none; }
} else { s = ''; } f.form_diagnosis.value = s; if(title == '') f.form_title.value = codedesc; } // This invokes the find-code popup. function sel_diagnosis() { <?php $url = '../encounter/find_code_popup.php?codetype='; if ($irow['type'] == 'medical_problem') { $url .= collect_codetypes("medical_problem", "csv"); } else { $url .= collect_codetypes("diagnosis", "csv"); $tmp = collect_codetypes("drug", "csv"); if ($irow['type'] == 'allergy') { if ($tmp) { $url .= ",{$tmp}"; } } else { if ($irow['type'] == 'medication') { if ($tmp) { $url .= ",{$tmp}&default={$tmp}"; } } } } ?> dlgopen('<?php echo $url;
// Erases the current entry function set_related(codetype, code, selector, codedesc) { var f = document.forms[0]; var s = f.form_proc_codefull.value; if (code) { s = codetype + ':' + code; } else { s = ''; } f.form_proc_codefull.value = s; } // This invokes the find-code popup. function sel_procedure() { dlgopen('../patient_file/encounter/find_code_popup.php?codetype=<?php echo attr(collect_codetypes("procedure", "csv")); ?> ', '_blank', 500, 400); } </script> <title><?php xl('Receipts Summary', 'e'); ?> </title> </head> <body class="body_top"> <span class='title'><?php
dlgopen('../patient_file/encounter/find_code_popup.php', '_blank', 700, 400); return false; } // This invokes the find-code popup. // For CVX/immunization code administration. function sel_cvxcode(e) { current_sel_name = e.name; dlgopen('../patient_file/encounter/find_code_popup.php?codetype=CVX', '_blank', 500, 400); } // This invokes the find-code popup. // For CVX/immunization code administration. function select_clin_term_code(e) { current_sel_clin_term = e.name; dlgopen('../patient_file/encounter/find_code_popup.php?codetype=<?php echo attr(collect_codetypes("clinical_term","csv")) ?>', '_blank', 500, 400); } // This is for callback by the find-code popup. function set_related(codetype, code, selector, codedesc) { if (typeof(current_sel_name) == 'undefined' && typeof(current_sel_clin_term) == 'undefined') { // Coming from Fee Sheet edit var f = document.forms[0]; var celem = f['opt[' + current_lino + '][codes]']; var delem = f['opt[' + current_lino + '][descs]']; var i = 0; while ((i = codedesc.indexOf('~')) >= 0) { codedesc = codedesc.substring(0, i) + ' ' + codedesc.substring(i+1); } if (code) {