2 // Copyright (C) 2005 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 // This report shows upcoming appointments with filtering and
10 // sorting by patient, practitioner, appointment type, and date.
12 include_once("../globals.php");
13 include_once("../../library/patient.inc");
15 $alertmsg = ''; // not used yet but maybe later
17 // For each sorting option, specify the ORDER BY argument.
20 'doctor' => 'lower(u.lname), lower(u.fname), pc_eventDate, pc_startTime',
21 'patient' => 'lower(p.lname), lower(p.fname), pc_eventDate, pc_startTime',
22 'time' => 'pc_eventDate, pc_startTime, lower(u.lname), lower(u.fname)',
23 'type' => 'pc_catname, pc_eventDate, pc_startTime, lower(u.lname), lower(u.fname)'
26 function bucks($amount) {
28 printf("%.2f", $amount);
31 $patient = $_REQUEST['patient'];
33 if ($patient && ! $_POST['form_from_date']) {
34 // If a specific patient, default to 2 years ago.
36 $from_date = date("$tmp-m-d");
38 $from_date = fixDate($_POST['form_from_date'], date('Y-m-d'));
40 $to_date = fixDate($_POST['form_to_date'], '');
41 $provider = $_POST['form_provider'];
42 $facility = $_POST['form_facility']; //(CHEMED) facility filter
44 $form_orderby = $ORDERHASH[$_REQUEST['form_orderby']] ?
45 $_REQUEST['form_orderby'] : 'time';
46 $orderby = $ORDERHASH[$form_orderby];
48 $where = "e.pc_pid != '' AND e.pc_eventDate >= '$from_date'";
50 if ($to_date ) $where .= " AND e.pc_eventDate <= '$to_date'";
51 if ($provider) $where .= " AND e.pc_aid = '$provider'";
52 //(CHEMED) facility filter
53 $facility_filter = '';
55 $event_facility_filter = " AND e.pc_facility = '$facility'";
56 $provider_facility_filter = " AND users.facility_id = '$facility'";
59 if ($patient ) $where .= " AND e.pc_pid = '$patient'";
64 "e.pc_eventDate, e.pc_startTime, e.pc_catid, e.pc_eid, " .
65 "p.fname, p.mname, p.lname, p.pid, " .
66 "u.fname AS ufname, u.mname AS umname, u.lname AS ulname, " .
68 "FROM openemr_postcalendar_events AS e " .
69 "LEFT OUTER JOIN patient_data AS p ON p.pid = e.pc_pid " .
70 "LEFT OUTER JOIN users AS u ON u.id = e.pc_aid " .
71 "LEFT OUTER JOIN openemr_postcalendar_categories AS c ON c.pc_catid = e.pc_catid " .
72 "WHERE $where $event_facility_filter ORDER BY $orderby"; //(CHEMED) facility filter
74 $res = sqlStatement($query);
78 <link rel
=stylesheet href
="<?echo $css_header;?>" type
="text/css">
79 <title
><?php
xl('Appointments Report','e'); ?
></title
>
81 <script type
="text/javascript" src
="../../library/overlib_mini.js"></script
>
82 <script type
="text/javascript" src
="../../library/calendar.js"></script
>
83 <script type
="text/javascript" src
="../../library/textformat.js"></script
>
84 <script type
="text/javascript" src
="../../library/dialog.js"></script
>
86 <script LANGUAGE
="JavaScript">
88 var mypcc
= '<?php echo $GLOBALS['phone_country_code
'] ?>';
90 function dosort(orderby
) {
91 var f
= document
.forms
[0];
92 f
.form_orderby
.value
= orderby
;
97 function oldEvt(eventid
) {
98 dlgopen('../main/calendar/add_edit_event.php?eid=' + eventid
, '_blank', 550, 270);
101 function refreshme() {
102 // location.reload();
103 document
.forms
[0].submit();
110 <body leftmargin
='0' topmargin
='0' marginwidth
='0' marginheight
='0'>
112 <!-- Required
for the popup date selectors
-->
113 <div id
="overDiv" style
="position:absolute; visibility:hidden; z-index:1000;"></div
>
117 <h2
><?php
xl('Appointments Report','e'); ?
></h2
>
119 <form method
='post' name
='theform' action
='appointments_report.php'>
121 <table border
='0' cellpadding
='3'>
125 <?php
//(CHEMED) Facility filter
128 // Build a drop-down list of facilities.
130 $query = "SELECT id, name FROM facility WHERE " .
131 "service_location = 1 ORDER BY name ";
132 $ures = sqlStatement($query);
133 echo " <select name='form_facility' onChange='document.all.theform.submit()'>\n";
134 echo " <option value=''>-- All --\n";
135 while ($urow = sqlFetchArray($ures)) {
137 echo " <option value='$fid'";
138 if ($fid == $_POST['form_facility']) echo " selected";
139 echo ">" . $urow['name'] . "\n";
142 //END (CHEMED) Facility filter?>
144 <?php
xl('Provider','e'); ?
>:
146 // Build a drop-down list of providers.
148 $query = "SELECT id, lname, fname FROM users WHERE ".
149 "authorized = 1 $provider_facility_filter ORDER BY lname, fname"; //(CHEMED) facility filter
150 $ures = sqlStatement($query);
151 echo " <select name='form_provider'>\n";
152 echo " <option value=''>-- All --\n";
153 while ($urow = sqlFetchArray($ures)) {
154 $provid = $urow['id'];
155 echo " <option value='$provid'";
156 if ($provid == $_POST['form_provider']) echo " selected";
157 echo ">" . $urow['lname'] . ", " . $urow['fname'] . "\n";
162  
;<?php
xl('From','e'); ?
>:
163 <input type
='text' name
='form_from_date' size
='10' value
='<?php echo $from_date ?>'
164 onkeyup
='datekeyup(this,mypcc)' onblur
='dateblur(this,mypcc)' title
='yyyy-mm-dd'>
165 <a href
="javascript:show_calendar('theform.form_from_date')"
166 title
=".xl('Click here to choose a date')."
167 ><img src
='../pic/show_calendar.gif' align
='absbottom' width
='24' height
='22' border
='0'></a
>
168  
;<?php
xl('To','e'); ?
>:
169 <input type
='text' name
='form_to_date' size
='10' value
='<?php echo $to_date ?>'
170 onkeyup
='datekeyup(this,mypcc)' onblur
='dateblur(this,mypcc)' title
='yyyy-mm-dd'>
171 <a href
="javascript:show_calendar('theform.form_to_date')"
172 title
=".xl('Click here to choose a date')."
173 ><img src
='../pic/show_calendar.gif' align
='absbottom' width
='24' height
='22' border
='0'></a
>
175 <input type
='submit' name
='form_refresh' value
='<?php xl('Refresh
','e
'); ?>'>
186 <table border
='0' cellpadding
='1' cellspacing
='2' width
='98%'>
188 <tr bgcolor
="#dddddd">
190 <a href
="nojs.php" onclick
="return dosort('doctor')"
191 <?php
if ($form_orderby == "doctor") echo " style=\"color:#00cc00\"" ?
>><?php
xl('Provider','e'); ?
> </a
>
194 <a href
="nojs.php" onclick
="return dosort('time')"
195 <?php
if ($form_orderby == "time") echo " style=\"color:#00cc00\"" ?
>><?php
xl('Time','e'); ?
></a
>
198 <a href
="nojs.php" onclick
="return dosort('patient')"
199 <?php
if ($form_orderby == "patient") echo " style=\"color:#00cc00\"" ?
>><?php
xl('Patient','e'); ?
></a
>
202 <a href
="nojs.php" onclick
="return dosort('type')"
203 <?php
if ($form_orderby == "type") echo " style=\"color:#00cc00\"" ?
>><?php
xl('Type','e'); ?
></a
>
209 while ($row = sqlFetchArray($res)) {
210 $patient_id = $row['pid'];
211 $docname = $row['ulname'] . ', ' . $row['ufname'] . ' ' . $row['umname'];
214 <tr bgcolor
='<?php echo $bgcolor ?>'>
216  
;<?php
echo ($docname == $lastdocname) ?
"" : $docname ?
>
219  
;<a href
='javascript:oldEvt(<?echo $row['pc_eid
'] ?>)'>
220 <?php
echo $row['pc_eventDate'] . ' ' . substr($row['pc_startTime'], 0, 5) ?
>
224  
;<?php
echo $row['fname'] . " " . $row['lname'] ?
>
227  
;<?php
echo $row['pc_catname'] ?
>
231 $lastdocname = $docname;
238 <input type
="hidden" name
="form_orderby" value
="<?php echo $form_orderby ?>" />
239 <input type
="hidden" name
="patient" value
="<?php echo $patient ?>" />
246 echo " alert('$alertmsg');\n";