]> Softwares of Agnibho - simpleipd.git/blob - www/treatment.php
Bugfix
[simpleipd.git] / www / treatment.php
1 <?php
2 require(dirname(__DIR__)."/require.php");
3 if(!empty($_GET["pid"])){
4 $pid=$_GET["pid"];
5 if(!empty($_POST["give"])){
6 $administer=$db->getAdminister($_POST["give"])->fetchArray();
7 if(!empty($administer["administer"])){
8 $given=(array)json_decode($administer["administer"]);
9 }
10 else{
11 $given=[];
12 }
13 array_push($given, strtotime($_POST["date"]." ".$_POST["time"]));
14 $db->giveDrug($_POST["give"], json_encode($given));
15 }
16 elseif(!empty($_POST["omit"])){
17 $db->omitDrug($_POST["omit"], $_POST["date"], $_POST["time"]);
18 }
19 elseif(!empty($_POST["delete"])){
20 $db->deleteDrug($_POST["delete"]);
21 }
22 elseif(!empty($_POST["diet"])){
23 $db->advice($_POST, $pid);
24 }
25 elseif(!empty($_POST["drug"])){
26 $db->addDrug($pid, $_POST["drug"], $_POST["dose"], $_POST["route"], $_POST["frequency"], $_POST["date"], $_POST["time"], $_POST["duration"], $_POST["extra_note"]);
27 }
28 $advice=$db->getAdvice($pid)->fetchArray();
29 if(!empty($advice["data"])){
30 $advice=$advice["data"];
31 }
32 $list=$db->getDrugs($pid);
33 $view="";
34 if(checkAccess("treatment")=="all" && $db->getStatus($pid)->fetchArray()["status"]=="admitted"){
35 $hideEdit="";
36 }
37 else{
38 $hideEdit="style='display:none'";
39 }
40 while($drug=$list->fetchArray()){
41 if($drug["omit"]){
42 $omit="omit";
43 }
44 else{
45 $omit="nomit";
46 //try{
47 // if($drug["start"]+$drug["duration"]*24*3600<time()){
48 // $db->omitDrug($drug["rowid"]);
49 // $omit="omit";
50 // }
51 //} catch(TypeError $e){}
52 }
53 if(!empty($drug["administer"])){
54 $administer=json_decode($drug["administer"]);
55 $last=date("H:i", end($administer));
56 }
57 else{
58 $last="";
59 }
60 if(!empty($drug["end"])){
61 $end=" to ".date("M j", $drug["end"]);
62 }
63 else{
64 $end="";
65 }
66 if(filter_var($drug["duration"], FILTER_VALIDATE_INT)){
67 $drug["duration"]=$drug["duration"]. " days";
68 }
69 $view=$view."<tr class='".$omit." drug-entry' data-drug='".$drug["drug"]."' data-dose='".$drug["dose"]."' data-route='".$drug["route"]."' data-frequency='".$drug["frequency"]."' data-duration='".$drug["duration"]."' data-addl='".$drug["addl"]."'><td>".$drug["drug"]."</td><td>".$drug["dose"]."</td><td>".$drug["route"]."</td><td>".$drug["frequency"]."</td><td>".date("M j", $drug["start"]).$end."</td><td>".$drug["duration"]."</td><td>".$drug["addl"]."</td><td>".$last."</td><td><button type='submit' class='btn btn-success nomit confirm' name='give' value='".$drug["rowid"]."' form='administer' ".$omit." ".checkAccess("nursing", "form").">Give</button><button type='submit' ".$hideEdit." class='btn btn-warning nomit confirm' name='omit' value='".$drug["rowid"]."' form='omitter' ".$omit." ".checkAccess("treatment", "form").">Omit</button><button type='submit' ".$hideEdit." class='btn btn-secondary omit confirm' name='delete' value='".$drug["rowid"]."' form='delete' ".$omit." ".checkAccess("treatment", "form").">Delete</button></td><td class='copier'></td></tr>";
70 }
71 $form=schema2form("forms/drugs.schema.json");
72 $form2=schema2form("forms/advice.schema.json", null, null, null, json_decode($advice));
73 }
74 ?>
75 <!DOCTYPE html>
76 <html>
77 <head>
78 <?php include(CONFIG_LIB."head.php");?>
79 <title>Treatment</title>
80 </head>
81 <body>
82 <div class="container">
83 <?php include(CONFIG_LIB."top.php");?>
84 <?php echo getInfo($pid);?>
85 <div class="card mb-4">
86 <div class="card-body">
87 <h4 class="card-title">Advice</h4>
88 <?php echo viewData($advice);?>
89 <a id="to-form-advice" href="#forms" class="btn btn-primary float-right mb-2" <?php echo $hideEdit; ?>>Edit General Measures</a>
90 </div>
91 </div>
92 <div class="card mb-4">
93 <div class="card-body">
94 <h4 class="card-title">Medicine List</h4>
95 <a id="to-form-drug" href="#forms" class="btn btn-primary float-right mb-2" <?php echo $hideEdit; ?>>Add New Drug</a>
96 <form method='post' id='omitter'>
97 <input type="hidden" name="date">
98 <input type="hidden" name="time">
99 </form>
100 <form method='post' id='administer'>
101 <input type="hidden" name="date">
102 <input type="hidden" name="time">
103 </form>
104 <form method='post' id='delete'>
105 <input type="hidden" name="date">
106 <input type="hidden" name="time">
107 </form>
108 <table class="table">
109 <tr><th>Drug</th><th>Dose</th><th>Route</th><th>Frequency</th><th>Start</th><th>Duration</th><th>Note</th><th>Given</th><th></th><th></th></tr>
110 <?php echo $view;?>
111 </table>
112 </div>
113 </div>
114 <div <?php echo $hideEdit;?>>
115 <ul class="nav nav-tabs" id="form-navs" rold="tablist">
116 <li class="nav-item" role="presentation">
117 <a class="nav-link active" id="nav-drug" data-toggle="tab" href="#form-drug" role="tab" aria-controls="form-drug" aria-selected="true">Add Drug</a>
118 </li>
119 <li class="nav-item" role="presentation">
120 <a class="nav-link" id="nav-advice" data-toggle="tab" href="#form-advice" role="tab" aria-controls="form-advice" aria-selected="false">General Measures</a>
121 </li>
122 </ul>
123 <div class="tab-content" id="forms">
124 <div class="tab-pane show active" id="form-drug" role="tabpanel" aria-labelledby="nav-drug-tab">
125 <?php echo $form;?>
126 </div>
127 <div class="tab-pane" id="form-advice" role="tabpanel" aria-labelledby="nav-advice-tab">
128 <?php echo $form2;?>
129 </div>
130 </div>
131 </div>
132 </div>
133 <?php include(CONFIG_LIB."foot.php");?>
134 <script>
135 $(document).ready(function(){
136 $("#to-form-drug").click(function(){
137 $("#nav-drug").tab("show");
138 });
139 $("#to-form-advice").click(function(){
140 $("#nav-advice").tab("show");
141 });
142 $(".drug-entry").each(function(){
143 if($(this).find("[name=omit]").is(":visible") || $(this).find("[name=delete]").is(":visible")){
144 $(this).find(".copier").html("<button class='btn btn-outline-secondary btn-copy'>Copy</button>");
145 $(this).on("click", "td>.btn-copy", function(){
146 drugEntry=$(this).parent().parent();
147 $("#drug").val(drugEntry.data("drug"));
148 $("#dose").val(drugEntry.data("dose"));
149 $("#route").val(drugEntry.data("route"));
150 $("#frequency").val(drugEntry.data("frequency"));
151 $("#duration").val(drugEntry.data("duration"));
152 $("#addl").val(drugEntry.data("addl"));
153 $("#nav-drug").tab("show");
154 window.location.hash="form-drug";
155 });
156 }
157 });
158 });
159 </script>
160 </body>
161 </html>