<td><u><?php echo LangUtil::$generalTerms['VALUES']; ?> </u><?php $page_elems->getAsterisk(); ?> </td> <td><u><?php echo LangUtil::$generalTerms['UNIT']; ?> /Default Value</u>[<a href='#unit_help' rel='facebox'>?</a>]</td> </tr> <?php $max_num_measures = count($measure_list); for ($i = 1; $i <= $max_num_measures; $i += 1) { $curr_measure = Measure::getById($measure_list[$i - 1]); if ($curr_measure != NULL) { $ref_ranges = $curr_measure->getReferenceRanges($_SESSION['lab_config_id']); ?> <input type='hidden' name='m_id[]' value='<?php echo $measure_list[$i - 1]; ?> '></input> <?php echo "<tr valign='top' id='mrow_{$i}' "; echo ">"; echo "<td align='center'>"; echo "<input type=checkbox name='delete_" . $curr_measure->measureId . "' />"; echo "</td><td>"; echo "<input type='text' name='measure[]' value='{$curr_measure->name}' />"; echo "</td>";
public function getMeasures() { # Returns list of measures included in a test type $saved_db = DbUtil::switchToLabConfigRevamp(); $query_string = "SELECT measure_id FROM test_type_measure " . "WHERE test_type_id={$this->testTypeId}"; $resultset = query_associative_all($query_string, $row_count); $retval = array(); if ($resultset) { foreach ($resultset as $record) { $measure_obj = Measure::getById($record['measure_id']); $retval[] = $measure_obj; } } DbUtil::switchRestore($saved_db); return $retval; }
$range_string .= "_"; } } if ($options_entered === false) { # Error: Autocomplete values not entered properly. # TODO: } # Truncate trailing "_" $range_string = substr($range_string, 0, -1); } } } $unit = $units[$i]; # Existing measure # Update measure to DB $measure = Measure::getById($measure_ids[$i]); $measure->name = $measure_name; $measure->range = $range_string; $measure->unit = $unit; # Update measure entry DB $measure->updateToDb(); $measures_to_retain[] = $measure_ids[$i]; } # Non-panel test. Collect all newly added measures $count_ref = count($reference_ranges_list); $new_measures_list = array(); $measure_names = $_REQUEST['new_measure']; $measure_types = $_REQUEST['new_mtype']; $ranges_lower = $_REQUEST['new_range_l']; $ranges_upper = $_REQUEST['new_range_u']; $units = $_REQUEST['new_unit'];
<?php # # Returns token input values for "autocomplete" type measure # Called via Ajax from results_entry.php # include "../includes/ajax_lib.php"; include "../includes/db_lib.php"; function find_matched($list, $search_string) { $retval = array(); foreach ($list as $value) { if (strcasecmp(substr($value, 0, strlen($search_string)), $search_string) == 0) { $retval[] = $value; } } return $retval; } $measure_id = $_REQUEST['id']; $q = $_REQUEST['q']; $measure = Measure::getById($measure_id); $value_map = array(); $range_values = $measure->getRangeValues(); $matched_range_values = find_matched($range_values, $q); foreach ($matched_range_values as $range_value) { $value_map[$range_value] = $range_value; } $json_params = array('id', 'name'); echo list_to_json($value_map, $json_params);
function update_remarks_xml($langdata_path, $updated_remarks) { # Updates the XML file after changes made to a test measure (indicator) # updated_remarks[measure_id] = {[range]=>[interpretation]} global $VERSION; $new_version = $VERSION; $file_name = $langdata_path . "remarks.xml"; $dest_file_name = $langdata_path . "remarks.xml"; $xml_doc = new DOMDocument(); $xml_doc->load($file_name); $xpath = new DOMXpath($xml_doc); $root_node = $xml_doc->getElementsByTagName("measures"); $root_node->item(0)->setAttribute("version", $new_version); foreach ($updated_remarks as $key => $value) { $measure_id = $key; $remarks_map = $value; $measure = Measure::getById($measure_id); # Remove old measure node $old_measure_node = $xpath->query("//measures/measure[@id='" . $measure_id . "']"); $old_measure_node = $root_node->item(0)->removeChild($old_measure_node->item(0)); # Create new measure node based on supplied values $new_measure_node = $xml_doc->createElement("measure"); $new_measure_node->setAttribute("id", $measure_id); $new_measure_node->setAttribute("descr", $measure->name); foreach ($remarks_map as $key2 => $value2) { $range = $key2; $remark = $value2; $new_range_node = $xml_doc->createElement("range"); $new_key_node = $xml_doc->createElement("key", $range); $new_value_node = $xml_doc->createElement("value", $remark); $new_range_node->appendChild($new_key_node); $new_range_node->appendChild($new_value_node); $new_measure_node->appendChild($new_range_node); } # Append updated measure node to XML root node $root_node->item(0)->appendChild($new_measure_node); } # Save changes back into XML file $xml_doc->formatOutput = true; $xml_doc->preserveWhiteSpace = true; $xml_doc->save($dest_file_name); }
public function getSubmeasuresAsObj() { $id = $this->measureId; $tagID = "\$sub*" . $id . "/\$"; $submeasureList = array(); $query_string = "SELECT * FROM measure "; $saved_db = DbUtil::switchToLabConfig($lab_config_id); $recordset = query_associative_all($query_string, $row_count); DbUtil::switchRestore($saved_db); foreach ($recordset as $record) { $measureName = $record['name']; $smID = intval($record['measure_id']); if (strpos($measureName, $tagID) !== false) { //echo "<br>---".strpos($measureName, $tagID); $smObj = Measure::getById($record['measure_id']); array_push($submeasureList, $smObj); } } return $submeasureList; }