2 // Copyright (C) 2010 Rod Roark <rod@sunsetsystems.com>
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License
6 // as published by the Free Software Foundation; either version 2
7 // of the License, or (at your option) any later version.
9 require_once("../../globals.php");
10 require_once("$srcdir/api.inc");
11 require_once("$srcdir/forms.inc");
12 require_once("$srcdir/options.inc.php");
13 require_once("$srcdir/formdata.inc.php");
15 // Defaults for new orders.
17 'provider_id' => $_SESSION['authUserID'],
18 'date_ordered' => date('Y-m-d'),
19 'date_collected' => date('Y-m-d H:i'),
22 if (! $encounter) { // comes from globals.php
23 die("Internal error: we do not seem to be in an encounter!");
26 function cbvalue($cbname) {
27 return $_POST[$cbname] ?
'1' : '0';
30 function cbinput($name, $colname) {
32 $ret = "<input type='checkbox' name='$name' value='1'";
33 if ($row[$colname]) $ret .= " checked";
38 function cbcell($name, $desc, $colname) {
39 return "<td width='25%' nowrap>" . cbinput($name, $colname) . "$desc</td>\n";
42 function QuotedOrNull($fld) {
43 if (empty($fld)) return "NULL";
47 $formid = formData('id', 'G') +
0;
49 // If Save was clicked, save the info.
51 if ($_POST['bn_save']) {
54 "procedure_type_id = " . (formData('form_proc_type') +
0) . ", " .
55 "date_ordered = " . QuotedOrNull(formData('form_date_ordered')) . ", " .
56 "provider_id = " . (formData('form_provider_id') +
0) . ", " .
57 "date_collected = " . QuotedOrNull(formData('form_date_collected')) . ", " .
58 "order_priority = '" . formData('form_order_priority') . "', " .
59 "order_status = '" . formData('form_order_status') . "', " .
60 "patient_instructions = '" . formData('form_patient_instructions') . "', " .
61 "patient_id = '" . $pid . "', " .
62 "encounter_id = '" . $encounter . "'";
64 // If updating an existing form...
67 $query = "UPDATE procedure_order SET $sets " .
68 "WHERE procedure_order_id = '$formid'";
72 // If adding a new form...
75 $query = "INSERT INTO procedure_order SET $sets";
76 $newid = sqlInsert($query);
77 addForm($encounter, "Procedure Order", $newid, "procedure_order", $pid, $userauthorized);
80 formHeader("Redirecting....");
87 $row = sqlQuery ("SELECT * FROM procedure_order WHERE " .
88 "procedure_order_id = '$formid' AND activity = '1'") ;
91 $enrow = sqlQuery("SELECT p.fname, p.mname, p.lname, fe.date FROM " .
92 "form_encounter AS fe, forms AS f, patient_data AS p WHERE " .
93 "p.pid = '$pid' AND f.pid = '$pid' AND f.encounter = '$encounter' AND " .
94 "f.formdir = 'newpatient' AND f.deleted = 0 AND " .
95 "fe.id = f.form_id LIMIT 1");
99 <?php
html_header_show(); ?
>
100 <link rel
="stylesheet" href
="<?php echo $css_header;?>" type
="text/css" />
115 <style type
="text/css">@import
url(<?php
echo $GLOBALS['webroot'] ?
>/library
/dynarch_calendar
.css
);</style
>
116 <script type
="text/javascript" src
="<?php echo $GLOBALS['webroot'] ?>/library/dynarch_calendar.js"></script
>
117 <?php
include_once("{$GLOBALS['srcdir']}/dynarch_calendar_en.inc.php"); ?
>
118 <script type
="text/javascript" src
="<?php echo $GLOBALS['webroot'] ?>/library/dynarch_calendar_setup.js"></script
>
120 <script type
="text/javascript" src
="../../../library/dialog.js"></script
>
121 <script type
="text/javascript" src
="<?php echo $GLOBALS['webroot'] ?>/library/textformat.js"></script
>
123 <script language
='JavaScript'>
125 // This invokes the find-procedure-type popup.
127 function sel_proc_type(varname
) {
128 var f
= document
.forms
[0];
129 if (typeof varname
== 'undefined') varname
= 'form_proc_type';
131 dlgopen('../../orders/types.php?popup=1&order=' + f
[ptvarname
].value
, '_blank', 800, 500);
134 // This is for callback by the find-procedure-type popup.
135 // Sets both the selected type ID and its descriptive name.
136 function set_proc_type(typeid
, typename
) {
137 var f
= document
.forms
[0];
138 f
[ptvarname
].value
= typeid
;
139 f
[ptvarname +
'_desc'].value
= typename
;
146 <body
class="body_top">
148 <form method
="post" action
="<?php echo $rootdir ?>/forms/procedure_order/new.php?id=<?php echo $formid ?>" onsubmit
="return top.restoreSession()">
150 <p
class='title' style
='margin-top:8px;margin-bottom:8px;text-align:center'>
152 echo xl('Procedure Order for') . ' ';
153 echo $enrow['fname'] . ' ' . $enrow['mname'] . ' ' . $enrow['lname'];
154 echo ' ' . xl('on') . ' ' . substr($enrow['date'], 0, 10);
161 <table border
='1' width
='95%'>
164 $ptid = -1; // -1 means no order is selected yet
165 $ptrow = array('name' => '');
166 if (!empty($row['procedure_type_id'])) {
167 $ptid = $row['procedure_type_id'];
168 $ptrow = sqlQuery("SELECT name FROM procedure_type WHERE " .
169 "procedure_type_id = '$ptid'");
173 <td width
='1%' nowrap
><b
><?php
xl('Order Type','e'); ?
>:</b
></td
>
175 <input type
='text' size
='50' name
='form_proc_type_desc'
176 value
='<?php echo addslashes($ptrow['name
']) ?>'
177 onclick
='sel_proc_type()' onfocus
='this.blur()'
178 title
='<?php xl('Click to select the desired procedure
','e
'); ?>'
179 style
='width:100%;cursor:pointer;cursor:hand' readonly
/>
180 <input type
='hidden' name
='form_proc_type' value
='<?php echo $ptid ?>' />
185 <td width
='1%' nowrap
><b
><?php
xl('Ordering Provider','e'); ?
>:</b
></td
>
188 generate_form_field(array('data_type'=>10,'field_id'=>'provider_id'),
189 $row['provider_id']);
195 <td width
='1%' nowrap
><b
><?php
xl('Date Ordered','e'); ?
>:</b
></td
>
198 echo "<input type='text' size='10' name='form_date_ordered' id='form_date_ordered'" .
199 " value='" . $row['date_ordered'] . "'" .
200 " title='" . xl('Date of this order') . "'" .
201 " onkeyup='datekeyup(this,mypcc)' onblur='dateblur(this,mypcc)'" .
203 "<img src='$rootdir/pic/show_calendar.gif' align='absbottom' width='24' height='22'" .
204 " id='img_date_ordered' border='0' alt='[?]' style='cursor:pointer'" .
205 " title='" . xl('Click here to choose a date') . "' />";
211 <td width
='1%' nowrap
><b
><?php
xl('Internal Time Collected','e'); ?
>:</b
></td
>
214 echo "<input type='text' size='16' name='form_date_collected' id='form_date_collected'" .
215 " value='" . $row['date_collected'] . "'" .
216 " title='" . xl('Date and time that the sample was collected') . "'" .
217 // " onkeyup='datekeyup(this,mypcc)' onblur='dateblur(this,mypcc)'" .
219 "<img src='$rootdir/pic/show_calendar.gif' align='absbottom' width='24' height='22'" .
220 " id='img_date_collected' border='0' alt='[?]' style='cursor:pointer'" .
221 " title='" . xl('Click here to choose a date and time') . "' />";
227 <td width
='1%' nowrap
><b
><?php
xl('Priority','e'); ?
>:</b
></td
>
230 generate_form_field(array('data_type'=>1,'field_id'=>'order_priority',
231 'list_id'=>'ord_priority'), $row['order_priority']);
237 <td width
='1%' nowrap
><b
><?php
xl('Status','e'); ?
>:</b
></td
>
240 generate_form_field(array('data_type'=>1,'field_id'=>'order_status',
241 'list_id'=>'ord_status'), $row['order_status']);
247 <td width
='1%' nowrap
><b
><?php
xl('Patient Instructions','e'); ?
>:</b
></td
>
249 <textarea rows
='3' cols
='40' name
='form_patient_instructions' style
='width:100%'
250 wrap
='virtual' class='inputtext' /><?php
echo $row['patient_instructions'] ?
></textarea
>
257 <input type
='submit' name
='bn_save' value
='Save' />
259 <input type
='button' value
='Cancel' onclick
="top.restoreSession();location='<?php echo $GLOBALS['form_exit_url']; ?>'" />
264 <script language
='JavaScript'>
265 Calendar
.setup({inputField
:'form_date_ordered', ifFormat
:'%Y-%m-%d',
266 button
:'img_date_ordered'});
267 Calendar
.setup({inputField
:'form_date_collected', ifFormat
:'%Y-%m-%d %H:%M',
268 button
:'img_date_collected', showsTime
:true});