<?php
+function resolveRange($arr, $val=false){
+ if($val){
+ if($val<$arr[0] || $val>$arr[1]){
+ return "text-danger";
+ }
+ else{
+ return "";
+ }
+ }
+ else{
+ $part=["","","",""];
+ if(!empty($arr[0])){
+ $part[1]=$arr[0];
+ }
+ else{
+ $part[1]="<";
+ }
+ if(!empty($arr[1])){
+ $part[3]=$arr[1];
+ }
+ else{
+ $part[1]=">";
+ }
+ if(!empty($arr[0]) && !empty($arr[1])){
+ $part[2]="-";
+ }
+ return implode("",$part);
+ }
+}
function schema2form($file, $pid=null, $id=null, $cat=null, $data=null, $time=null){
global $db;
$schema=json_decode(file_get_contents($file));
else{
$date="";
}
- $view=$view."<tr><th class='w-25'>".$description."</th><th>".$date."</th></tr>";
+ $view=$view."<tr><th class='w-25'>".$description."</th><th>".$date."</th>";
+ $view=$view."<th></th>";
+ $view=$view."</tr>";
foreach($data as $field=>$value){
+ $warn="";
+ if(!empty($schema->properties->$field->range)){
+ $warn=resolveRange($schema->properties->$field->range, $value);
+ }
+ else{
+ $warn="";
+ }
if(!empty($value) && $field!="form" && $field!="date" && $field!="time"){
if(!empty($schema->properties->$field)){
- $view=$view."<tr><td>".$schema->properties->$field->description."</td><td>".$value."</td></tr>";
+ $view=$view."<tr><td>".$schema->properties->$field->description."</td><td class='".$warn."'>".$value."</td>";
+ if(!empty($schema->properties->$field->range)){
+ $view=$view."<td>".resolveRange($schema->properties->$field->range)."</td>";
+ }
+ else{
+ $view=$view."<td></td>";
+ }
+ $view=$view."</tr>";
}
elseif($field=="extra_note"){
- $view=$view."<tr><td>Extra Notes</td><td><pre>".$value."</pre></td></tr>";
+ $view=$view."<tr><td>Extra Notes</td><td><pre>".$value."</pre></td><td></td></tr>";
}
else{
- $view=$view."<tr><td>".$field."</td><td>".$value."</td></tr>";
+ $view=$view."<tr><td>".$field."</td><td>".$value."</td><td></td></tr>";
}
}
}
if(!empty($edit)){
- $view=$view."<tr><td colspan='2'><a href='".$edit."'>Edit</a>";
+ $view=$view."<tr><td colspan='3'><a href='".$edit."'>Edit</a>";
}
$view=$view."</table>";
return $view;
},
"ph": {
"description": "pH",
- "type": "number"
+ "type": "number",
+ "range": [7.35,7.45]
},
"pao2": {
- "description": "PaO2",
- "type": "number"
+ "description": "PaO2 (mmHg)",
+ "type": "number",
+ "range": [80,100]
},
"paco2": {
- "description": "PaCO2",
- "type": "number"
+ "description": "PaCO2 (mmHg)",
+ "type": "number",
+ "range": [32,45]
},
"hco3": {
- "description": "HCO3",
- "type": "number"
+ "description": "HCO3 (meq/L)",
+ "type": "number",
+ "range": [22,26]
},
"ag": {
"description": "Anion Gap",
},
"sao2": {
"description": "SaO2",
- "type": "number"
+ "type": "number",
+ "range": [95,100]
},
"spo2": {
"description": "SpO2",
- "type": "number"
+ "type": "number",
+ "range": [95,100]
},
"fio2": {
"description": "FiO2",
"type": "number"
},
"na": {
- "description": "Sodium",
- "type": "number"
+ "description": "Sodium (mmol/L)",
+ "type": "number",
+ "range": [134,146]
},
"k": {
- "description": "Potassium",
- "type": "number"
+ "description": "Potassium (mmol/L)",
+ "type": "number",
+ "range": [3.5,5]
},
"cl": {
- "description": "Chloride",
- "type": "number"
+ "description": "Chloride (mmol/L)",
+ "type": "number",
+ "range": [98,107]
}
},
"required": ["date"]
<a class="btn btn-secondary <?php echo $archive;?>" href="death.php?pid=<?php echo $pid;?>">Death</a>
</div>
<div class="mb-2 col-md-2" <?php if($info=="") echo "style='display:none'";?>>
- <a class="btn btn-secondary" href="printdata.php?pid=<?php echo $pid;?>" class="btn btn-outline-success">Print Data</a>
+ <a class="btn btn-secondary" href="printdata.php?pid=<?php echo $pid;?>">Print Data</a>
</div>
</div>
</div>