]> Softwares of Agnibho - simpleipd.git/commitdiff
show reference range
authorAgnibho Mondal <mondal@agnibho.com>
Sun, 6 Jun 2021 05:39:39 +0000 (11:09 +0530)
committerAgnibho Mondal <mondal@agnibho.com>
Sun, 6 Jun 2021 05:39:39 +0000 (11:09 +0530)
lib/functions.php
www/forms/report-abg.schema.json
www/view.php

index 24bcef9cf3170bf7209fe1234e8606a113fabc72..770d3f06d490e24d06c3e17fc13d4415e97d1c0a 100644 (file)
@@ -1,4 +1,33 @@
 <?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]="&lt;";
+    }
+    if(!empty($arr[1])){
+      $part[3]=$arr[1];
+    }
+    else{
+      $part[1]="&gt";
+    }
+    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));
@@ -127,22 +156,38 @@ function viewData($data, $edit=null){
     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;
index f700aa2d18642a167b44dab535c4ffe452f6609c..6eb97311576cfcad9dd5f8e877f92c37292934fa 100644 (file)
         },
         "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"]
index ba787320a01818f44caed832059357c34a9c42ed..2ba2a2f7aec620b314946e1a0e62f9948c95fc03 100644 (file)
@@ -99,7 +99,7 @@ if(isSet($_GET["pid"])){
               <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>