2 // Copyright (C) 2010 OpenEMR Support LLC
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 lists prescriptions and their dispensations according
10 // to various input selection criteria.
12 // Prescription report written by Rod Roark, 2010
13 // Fixed drug name search to work in a broader sense - tony@mi-squared.com, 2010
14 // Added five new reports as per EHR certification requirements for Patient Lists - OpenEMR Support LLC, 2010
16 //SANITIZE ALL ESCAPES
17 $sanitize_all_escapes=true;
20 //STOP FAKE REGISTER GLOBALS
21 $fake_register_globals=false;
24 require_once("../globals.php");
25 require_once("$srcdir/patient.inc");
26 require_once("$srcdir/options.inc.php");
27 require_once("../drugs/drugs.inc.php");
28 require_once("$srcdir/formatting.inc.php");
30 function add_date($givendate,$day=0,$mth=0,$yr=0)
32 $cd = strtotime($givendate);
33 $newdate = date('Y-m-d', mktime(date('h',$cd),
34 date('i',$cd), date('s',$cd), date('m',$cd)+
$mth,
35 date('d',$cd)+
$day, date('Y',$cd)+
$yr));
39 $type = htmlspecialchars($_POST["type"], ENT_QUOTES
);
40 $facility = htmlspecialchars(isset($_POST['facility']) ?
$_POST['facility'] : '', ENT_QUOTES
);
41 $sql_date_from = htmlspecialchars(fixDate($_POST['date_from'], date('Y-01-01')), ENT_QUOTES
);
42 $sql_date_to = htmlspecialchars(fixDate($_POST['date_to'] , add_date(date('Y-m-d'), -1)), ENT_QUOTES
);
43 $patient_id = htmlspecialchars(trim($_POST["patient_id"]), ENT_QUOTES
);
44 $age_from = htmlspecialchars($_POST["age_from"], ENT_QUOTES
);
45 $age_to = htmlspecialchars($_POST["age_to"], ENT_QUOTES
);
46 $sql_gender = htmlspecialchars($_POST["gender"], ENT_QUOTES
);
47 $sql_ethnicity = htmlspecialchars($_POST["ethnicity"], ENT_QUOTES
);
48 $form_lot_number = htmlspecialchars(trim($_POST['form_lot_number']), ENT_QUOTES
);
49 $form_drug_name = htmlspecialchars(trim($_POST["form_drug_name"]), ENT_QUOTES
);
53 <?php
html_header_show();?
>
55 <?php
echo htmlspecialchars(xl('Clinical Reports'),ENT_NOQUOTES
); ?
>
57 <script type
="text/javascript" src
="../../library/overlib_mini.js"></script
>
58 <script type
="text/javascript" src
="../../library/textformat.js"></script
>
59 <script type
="text/javascript" src
="../../library/dialog.js"></script
>
60 <script type
="text/javascript" src
="../../library/js/jquery.1.3.2.js"></script
>
61 <script language
="JavaScript">
63 var mypcc
= '<?php echo $GLOBALS['phone_country_code
'] ?>';
65 // The OnClick handler for receipt display.
66 function show_receipt(payid
) {
67 // dlgopen('../patient_file/front_payment.php?receipt=1&payid=' + payid, '_blank', 550, 400);
72 <link rel
='stylesheet' href
='<?php echo $css_header ?>' type
='text/css'>
73 <style type
="text/css">
74 /* specifically include & exclude from printing */
80 #report_parameters_daterange {
84 #report_results table {
89 /* specifically exclude some from the screen */
91 #report_parameters_daterange {
99 if($type != 'Prescription' ||
$type == '')
108 <script language
="javascript" type
="text/javascript">
111 if($
('#type').val() == 'Prescription')
113 $
('.optional_area').css("display", "inline");
117 $
('.optional_area').css("display", "none");
121 function submitForm()
123 var d_from
= new String($
('#date_from').val());
124 var d_to
= new String($
('#date_to').val());
126 var d_from_arr
= d_from
.split('-');
127 var d_to_arr
= d_to
.split('-');
129 var dt_from
= new Date(d_from_arr
[0], d_from_arr
[1], d_from_arr
[2]);
130 var dt_to
= new Date(d_to_arr
[0], d_to_arr
[1], d_to_arr
[2]);
132 var mili_from
= dt_from
.getTime();
133 var mili_to
= dt_to
.getTime();
134 var diff
= mili_to
- mili_from
;
136 $
('#date_error').css("display", "none");
138 if(diff
< 0) //negative
140 $
('#date_error').css("display", "inline");
144 $
("#form_refresh").attr("value","true");
145 $
("#theform").submit();
149 $
(document
).ready(function() {
150 $
(".numeric_only").keydown(function(event
) {
151 //alert(event.keyCode);
152 // Allow only backspace and delete
153 if ( event
.keyCode
== 46 || event
.keyCode
== 8 ) {
154 // let it happen, don't do anything
157 if(!((event
.keyCode
>= 96 && event
.keyCode
<= 105) ||
(event
.keyCode
>= 48 && event
.keyCode
<= 57)))
159 event
.preventDefault();
167 <body
class="body_top">
169 <!-- Required
for the popup date selectors
-->
170 <div id
="overDiv" style
="position:absolute; visibility:hidden; z-index:1000;"></div
>
172 <?php
echo htmlspecialchars(xl('Report - Clinical'),ENT_NOQUOTES
); ?
>
174 <!-- Search can be done using age range
, gender
, and ethnicity filters
.
175 Search options
include diagnosis
, procedure
, prescription
, medical history
, and lab results
.
177 <div id
="report_parameters_daterange"> <?php
echo htmlspecialchars(date("d F Y", strtotime($sql_date_from)),ENT_NOQUOTES
) .
178 " to ". htmlspecialchars(date("d F Y", strtotime($sql_date_to)),ENT_NOQUOTES
); ?
> </div
>
179 <form name
='theform' id
='theform' method
='post' action
='clinical_reports.php'>
180 <div id
="report_parameters">
181 <input type
='hidden' name
='form_refresh' id
='form_refresh' value
=''/>
184 <td width
='740px'><div style
='float:left'>
187 <td
class='label'><?php
echo htmlspecialchars(xl('Facility'),ENT_NOQUOTES
); ?
>
190 <?php
dropdown_facility($facility,'facility',false); ?
>
192 <td
class='label'><?php
echo htmlspecialchars(xl('From'),ENT_NOQUOTES
); ?
>
194 <td
><input type
='text' name
='date_from' id
="date_from" size
='10' value
='<?php echo htmlspecialchars($sql_date_from,ENT_QUOTES) ?>'
195 onkeyup
='datekeyup(this,mypcc)' onblur
='dateblur(this,mypcc)' title
='yyyy-mm-dd'>
196 <img src
='../pic/show_calendar.gif' align
='absbottom' width
='24' height
='22'
197 id
='img_from_date' border
='0' alt
='[?]' style
='cursor:pointer'
198 title
='<?php echo htmlspecialchars(xl('Click here to choose a date
'),ENT_QUOTES); ?>'></td
>
199 <td
><span id
="date_error" style
="color: #F00; font-size: 11px; display: none;"><?php
echo htmlspecialchars(xl('From date cannot be greater than To date'),ENT_NOQUOTES
); ?
></span
> 
;</td
>
202 <td
class='label'><?php
echo htmlspecialchars(xl('Patient ID'),ENT_NOQUOTES
); ?
>:</td
>
203 <td
><input name
='patient_id' class="numeric_only" type
='text' id
="patient_id"
204 title
='<?php echo htmlspecialchars(xl('Optional
numeric patient ID
'),ENT_QUOTES); ?>'
205 value
='<?php echo htmlspecialchars($patient_id,ENT_QUOTES); ?>' size
='10' maxlength
='20' /></td
>
206 <td
class='label'><?php
echo htmlspecialchars(xl('To'),ENT_NOQUOTES
); ?
>: </td
>
207 <td
><input type
='text' name
='date_to' id
="date_to" size
='10' value
='<?php echo htmlspecialchars($sql_date_to,ENT_QUOTES); ?>'
208 onKeyUp
='datekeyup(this,mypcc)' onBlur
='dateblur(this,mypcc)' title
='yyyy-mm-dd'>
209 <img src
='../pic/show_calendar.gif' align
='absbottom' width
='24' height
='22'
210 id
='img_to_date' border
='0' alt
='[?]' style
='cursor:pointer'
211 title
='<?php echo htmlspecialchars(xl('Click here to choose a date
'),ENT_QUOTES); ?>'></td
>
215 <td
class='label'><?php
echo htmlspecialchars(xl('Age Range'),ENT_NOQUOTES
); ?
>
217 <td
><?
echo htmlspecialchars(xl('From'),ENT_NOQUOTES
); ?
>
218 <input name
='age_from' class="numeric_only" type
='text' id
="age_from" value
="<?php echo htmlspecialchars($age_from,ENT_QUOTES); ?>" size
='3' maxlength
='3' /><?
echo htmlspecialchars(xl('To'),ENT_NOQUOTES
); ?
>
219 <input name
='age_to' class="numeric_only" type
='text' id
="age_to" value
="<?php echo htmlspecialchars($age_to,ENT_QUOTES); ?>" size
='3' maxlength
='3' /></td
>
220 <td
class='label'><?php
echo htmlspecialchars(xl('Option'),ENT_QUOTES
); ?
>:</td
>
221 <td
><select name
="type" id
="type" onChange
="checkType();">
222 <option value
="Diagnosis" <?php
if($type == 'Diagnosis') { echo "selected"; } ?
>><?php
echo htmlspecialchars(xl('Diagnosis'),ENT_NOQUOTES
); ?
></option
>
223 <option value
="Procedure" <?php
if($type == 'Procedure') { echo "selected"; } ?
>><?php
echo htmlspecialchars(xl('Procedure'),ENT_NOQUOTES
); ?
></option
>
225 if(!$GLOBALS['disable_prescriptions'])
228 <option value
="Prescription" <?php
if($type == 'Prescription') { echo "selected"; } ?
>><?php
echo htmlspecialchars(xl('Prescription'),ENT_NOQUOTES
); ?
></option
>
232 <option value
="Medical History" <?php
if($type == 'Medical History') { echo "selected"; } ?
>><?php
echo htmlspecialchars(xl('Medical History'),ENT_NOQUOTES
); ?
></option
>
233 <option value
="Lab Results" <?php
if($type == 'Lab Results') { echo "selected"; } ?
>><?php
echo htmlspecialchars(xl('Lab Results'),ENT_NOQUOTES
); ?
></option
>
234 <option value
="Service Codes" <?php
if($type == 'Service Codes') { echo "selected"; } ?
>><?php
echo htmlspecialchars(xl('Service Codes'),ENT_NOQUOTES
); ?
></option
>
239 <td
class='label'><?php
echo htmlspecialchars(xl('Gender'),ENT_NOQUOTES
); ?
>
241 <td
><?php
echo generate_select_list('gender', 'sex', $gender, 'Select Gender', 'Unassigned', '', ''); ?
></td
>
242 <td
class='label'><span
class="optional_area"><?php
echo htmlspecialchars(xl('Drug'),ENT_NOQUOTES
); ?
>:</span
> 
;</td
>
243 <td
><span
class="optional_area"><input type
='text' name
='form_drug_name' size
='10' maxlength
='250' value
='<?php echo htmlspecialchars($form_drug_name,ENT_QUOTES); ?>'
244 title
='<?php echo htmlspecialchars(xl('Optional drug name
, use %
as a wildcard
'),ENT_QUOTES); ?>' /></span
> 
;</td
>
248 <td
class='label'><?php
echo htmlspecialchars(xl('Race/Ethnicity'),ENT_NOQUOTES
); ?
>:</td
>
249 <td
><?php
echo generate_select_list('ethnicity', 'ethrace', $ethnicity, 'Select Ethnicity', 'Unassigned', '', ''); ?
></td
>
250 <td
class='label'><span
class="optional_area">
251 <?php
echo htmlspecialchars(xl('Lot'),ENT_NOQUOTES
); ?
>
253 <td
><span
class="optional_area">
254 <input type
='text' name
='form_lot_number' size
='10' maxlength
='20' value
='<?php echo htmlspecialchars($form_lot_number,ENT_QUOTES); ?>'
255 title
='<?php echo htmlspecialchars(xl('Optional lot number
, use %
as a wildcard
'),ENT_QUOTES); ?>' />
261 <td height
="100%" align
='left' valign
='middle'><table style
='border-left:1px solid; width:100%; height:100%' >
263 <td
><div style
='margin-left:15px'> <a href
='#' class='css_button' onclick
='submitForm();'> <span
>
264 <?php
echo htmlspecialchars(xl('Submit'),ENT_NOQUOTES
); ?
>
266 <?php
if ($_POST['form_refresh']) { ?
>
267 <a href
='#' class='css_button' onclick
='window.print()'> <span
>
268 <?php
echo htmlspecialchars(xl('Print'),ENT_NOQUOTES
); ?
>
277 <!-- end of parameters
-->
281 // SQL scripts for the various searches
282 $sqlBindArray = array();
283 if ($_POST['form_refresh'])
285 if($type == 'Prescription')
289 r.id, r.patient_id, r.date_modified AS prescriptions_date_modified, r.dosage, r.route, r.interval, r.refills, r.drug,
290 d.name, d.ndc_number, d.form, d.size, d.unit, d.reactions,
291 s.sale_id, s.sale_date, s.quantity,
292 i.manufacturer, i.lot_number, i.expiration,
293 p.pubpid, p.fname, p.lname, p.mname,
294 concat(p.fname, ' ', p.lname) AS patient_name, p.id AS patient_id, DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),p.dob)), '%Y')+0 AS patient_age, p.sex AS patient_sex, p.ethnoracial AS patient_ethnic,
295 u.facility_id, concat(u.fname, ' ', u.lname) AS users_provider
296 FROM prescriptions AS r
297 LEFT OUTER JOIN drugs AS d ON d.drug_id = r.drug_id
298 LEFT OUTER JOIN drug_sales AS s ON s.prescription_id = r.id
299 LEFT OUTER JOIN drug_inventory AS i ON i.inventory_id = s.inventory_id
300 LEFT OUTER JOIN patient_data AS p ON p.pid = r.patient_id
301 LEFT OUTER JOIN users AS u ON u.id = r.provider_id ";
305 WHERE r.date_modified >= ?
306 AND r.date_modified < DATE_ADD(?, INTERVAL 1 DAY) AND r.date_modified < ?";
308 array_push($sqlBindArray, $sql_date_from, $sql_date_to, date("Y-m-d"));
310 if(strlen($sql_gender) > 0)
312 $where_str .= "AND p.sex = ? ";
313 array_push($sqlBindArray, $sql_gender);
316 if(strlen($sql_ethnicity) > 0)
318 $where_str .= "AND p.ethnoracial = ? ";
319 array_push($sqlBindArray, $sql_ethnicity);
322 if(strlen($age_from) > 0)
324 $where_str .= "AND DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),p.dob)), '%Y')+0 >= ? ";
325 array_push($sqlBindArray, $age_from);
328 if(strlen($age_to) > 0)
330 $where_str .= "AND DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),p.dob)), '%Y')+0 <= ? ";
331 array_push($sqlBindArray, $age_to);
334 if(strlen($patient_id) > 0)
336 $where_str .= "AND p.id = ? ";
337 array_push($sqlBindArray, $patient_id);
340 if(strlen($form_drug_name) > 0)
346 array_push($sqlBindArray, $form_drug_name, $form_drug_name);
349 if(strlen($form_lot_number) > 0)
351 $where_str .= "AND i.lot_number LIKE ? ";
352 array_push($sqlBindArray, $form_lot_number);
357 $where_str = $where_str." and u.facility_id = ? ";
358 array_push($sqlBindArray, $facility);
361 $sqlstmt .= $where_str . "ORDER BY p.lname, p.fname, p.pubpid, r.id, s.sale_id";
366 concat(pd.fname, ' ', pd.lname) AS patient_name,
368 DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),pd.dob)), '%Y')+0 AS patient_age,
369 pd.sex AS patient_sex,
370 pd.ethnoracial AS patient_ethnic,
371 concat(u.fname, ' ', u.lname) AS users_provider, ";
373 if ( $type == 'Diagnosis' )
376 $sqlstmt = $sqlstmt."li.date AS lists_date,
377 li.diagnosis AS lists_diagnosis,
378 li.title AS lists_title ";
381 if ( $type == 'Procedure')
383 $sqlstmt = $sqlstmt."po.date_ordered AS procedure_order_date_ordered,
384 pt.standard_code AS procedure_type_standard_code,
385 pt.name as procedure_name,
386 po.order_priority AS procedure_order_order_priority,
387 po.order_status AS procedure_order_order_status,
388 po.encounter_id AS procedure_order_encounter,
389 po.patient_instructions AS procedure_order_patient_instructions,
390 po.activity AS procedure_order_activity,
391 po.control_id AS procedure_order_control_id ";
394 if ( $type == 'Medical History')
396 $sqlstmt = $sqlstmt."hd.date AS history_data_date,
397 hd.tobacco AS history_data_tobacco,
398 hd.alcohol AS history_data_alcohol,
399 hd.recreational_drugs AS history_data_recreational_drugs ";
402 if ( $type == 'Lab Results')
404 $sqlstmt = $sqlstmt."pr.date AS procedure_result_date,
405 pr.facility AS procedure_result_facility,
406 pr.units AS procedure_result_units,
407 pr.result AS procedure_result_result,
408 pr.range AS procedure_result_range,
409 pr.abnormal AS procedure_result_abnormal,
410 pr.comments AS procedure_result_comments,
411 pr.document_id AS procedure_result_document_id ";
414 if($type == 'Service Codes')
416 $sqlstmt .= "pd.dob AS date_of_birth, c.code,
420 concat(u.fname, ' ', u.lname) AS provider_name ";
424 $sqlstmt = $sqlstmt."from patient_data as pd ";
427 $sqlstmt = $sqlstmt."left outer join users as u on u.id = pd.providerid
428 left outer join facility as f on f.id = u.facility_id ";
430 if($type == 'Diagnosis')
432 $sqlstmt = $sqlstmt." left outer join lists as li on li.pid = pd.id ";
435 if ( $type == 'Procedure' ||
$type == 'Lab Results' )
437 $sqlstmt = $sqlstmt."left outer join procedure_order as po on po.patient_id = pd.pid
438 left outer join procedure_report as pp on pp.procedure_order_id = po.procedure_order_id
439 left outer join procedure_type as pt on pt.procedure_type_id = po.procedure_type_id ";
443 if ( $type == 'Lab Results' )
445 $sqlstmt = $sqlstmt."left outer join procedure_result as pr on pr.procedure_report_id = pp.procedure_report_id
446 and pr.procedure_type_id = po.procedure_type_id ";
449 if ( $type == 'Medical History')
451 $sqlstmt = $sqlstmt."left outer join history_data as hd on hd.pid = pd.id
452 and (isnull(hd.tobacco) = 0
453 or isnull(hd.alcohol) = 0
454 or isnull(hd.recreational_drugs) = 0) ";
457 if($type == 'Service Codes')
459 $sqlstmt = $sqlstmt."left outer join billing as b on b.pid = pd.id
460 left outer join form_encounter as fe on fe.encounter = b.encounter and b.code_type = 'CPT4'
461 left outer join codes as c on c.code = b.code ";
464 if ( $type == 'Diagnosis')
465 { $dt_field = 'li.date'; }
466 if ( $type == 'Medical History')
467 { $dt_field = 'hd.date'; }
468 if ( $type == 'Lab Results')
469 { $dt_field = 'pr.date'; }
470 if ( $type == 'Procedure')
471 { $dt_field = 'po.date_ordered'; }
472 if($type == 'Service Codes')
473 { $dt_field = 'b.date'; }
475 $sqlstmt = $sqlstmt." where $dt_field >= ? AND $dt_field < DATE_ADD(?, INTERVAL 1 DAY) AND $dt_field < ?";
476 array_push($sqlBindArray, $sql_date_from, $sql_date_to, date("Y-m-d"));
478 if ( strlen($patient_id) != 0)
480 $sqlstmt = $sqlstmt." and pd.id = ?";
481 array_push($sqlBindArray, $patient_id);
484 if ( strlen($age_from) != 0)
486 $sqlstmt = $sqlstmt." and DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),pd.dob)), '%Y')+0 >= ?";
487 array_push($sqlBindArray, $age_from);
489 if ( strlen($age_to) != 0)
491 $sqlstmt = $sqlstmt." and DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),pd.dob)), '%Y')+0 <= ?";
492 array_push($sqlBindArray, $age_to);
495 if ( strlen($sql_gender) != 0)
497 $sqlstmt = $sqlstmt." and pd.sex = ?";
498 array_push($sqlBindArray, $sql_gender);
500 if ( strlen($sql_ethnicity) != 0)
502 $sqlstmt = $sqlstmt." and pd.ethnoracial = ?";
503 array_push($sqlBindArray, $sql_ethnicity);
508 $sqlstmt = $sqlstmt." and f.id = ? ";
509 array_push($sqlBindArray, $facility);
512 if($type == 'Diagnosis')
514 $sqlstmt = $sqlstmt." union
515 select concat(pd.fname, ' ', pd.lname),
517 DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),pd.dob)), '%Y')+0,
520 concat(u.fname, ' ', u.lname),
524 from patient_data as pd
525 left outer join users as u on u.id = pd.providerid
526 left outer join facility as f on f.id = u.facility_id
527 left outer join form_encounter as fe on fe.pid = pd.id
528 and fe.date >= ? AND fe.date <= ? ";
529 array_push($sqlBindArray, $sql_date_from, $sql_date_to);
530 if ( strlen($patient_id) != 0)
532 $sqlstmt = $sqlstmt." where pd.id = ?";
533 array_push($sqlBindArray, $patient_id);
535 if ( strlen($age_from) != 0)
537 $sqlstmt = $sqlstmt." and DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),pd.dob)), '%Y')+0 >= ?";
538 array_push($sqlBindArray, $age_from);
540 if ( strlen($age_to) != 0)
542 $sqlstmt = $sqlstmt." and DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),pd.dob)), '%Y')+0 <= ?";
543 array_push($sqlBindArray, $age_to);
545 if ( strlen($sql_gender) != 0)
547 $sqlstmt = $sqlstmt." and pd.sex = ?";
548 array_push($sqlBindArray, $sql_gender);
550 if ( strlen($sql_ethnicity) != 0)
552 $sqlstmt = $sqlstmt." and pd.ethnoracial = ?";
553 array_push($sqlBindArray, $sql_ethnicity);
558 $sqlstmt = $sqlstmt." and f.id = ? ";
559 array_push($sqlBindArray, $facility);
567 $result = sqlStatement($sqlstmt,$sqlBindArray);
569 if(sqlNumRows($result) > 0)
572 <div id
="report_results">
576 if($type == 'Service Codes')
579 <th
><?php
echo htmlspecialchars(xl('Code'),ENT_NOQUOTES
); ?
></th
>
580 <th
> <?php
echo htmlspecialchars(xl('CPT4 Description'),ENT_NOQUOTES
); ?
></th
>
581 <th
> <?php
echo htmlspecialchars(xl('Patient Name'),ENT_NOQUOTES
); ?
></th
>
582 <th
> <?php
echo htmlspecialchars(xl('Date of Birth'),ENT_NOQUOTES
); ?
></th
>
583 <th
> <?php
echo htmlspecialchars(xl('Patient ID'),ENT_NOQUOTES
); ?
></th
>
584 <th
> <?php
echo htmlspecialchars(xl('Encounter ID'),ENT_NOQUOTES
); ?
></th
>
585 <th
> <?php
echo htmlspecialchars(xl('Date of Visit'),ENT_NOQUOTES
); ?
></th
>
586 <th
> <?php
echo htmlspecialchars(xl('Provider'),ENT_NOQUOTES
); ?
></th
>
592 <th
><?php
echo htmlspecialchars(xl('Patient'),ENT_NOQUOTES
); ?
></th
>
593 <th
> <?php
echo htmlspecialchars(xl('ID'),ENT_NOQUOTES
); ?
></th
>
594 <th
> <?php
echo htmlspecialchars(xl('Age'),ENT_NOQUOTES
); ?
></th
>
595 <th
> <?php
echo htmlspecialchars(xl('Gender'),ENT_NOQUOTES
); ?
></th
>
596 <th
> <?php
echo htmlspecialchars(xl('Race'),ENT_NOQUOTES
); ?
></th
>
597 <th
> <?php
echo htmlspecialchars(xl('Provider'),ENT_NOQUOTES
); ?
></th
>
603 if($type == 'Prescription')
606 <th
> <?php
echo htmlspecialchars(xl('Date'),ENT_NOQUOTES
); ?
> </th
>
607 <th
> <?php
echo htmlspecialchars(xl('RX'),ENT_NOQUOTES
); ?
> </th
>
608 <th
> <?php
echo htmlspecialchars(xl('Drug Name'),ENT_NOQUOTES
); ?
> </th
>
609 <th
> <?php
echo htmlspecialchars(xl('NDC'),ENT_NOQUOTES
); ?
> </th
>
610 <th
> <?php
echo htmlspecialchars(xl('Units'),ENT_NOQUOTES
); ?
> </th
>
611 <th
> <?php
echo htmlspecialchars(xl('Refills'),ENT_NOQUOTES
); ?
> </th
>
612 <th
> <?php
echo htmlspecialchars(xl('Instructed'),ENT_NOQUOTES
); ?
> </th
>
613 <th
> <?php
echo htmlspecialchars(xl('Reactions'),ENT_NOQUOTES
); ?
> </th
>
614 <th
> <?php
echo htmlspecialchars(xl('Dispensed'),ENT_NOQUOTES
); ?
> </th
>
615 <th
> <?php
echo htmlspecialchars(xl('Qty'),ENT_NOQUOTES
); ?
> </th
>
616 <th
> <?php
echo htmlspecialchars(xl('Manufacturer'),ENT_NOQUOTES
); ?
> </th
>
617 <th
> <?php
echo htmlspecialchars(xl('Lot'),ENT_NOQUOTES
); ?
> </th
>
623 if($type == 'Diagnosis')
627 <th
> <?php
echo htmlspecialchars(xl('Date'),ENT_NOQUOTES
); ?
></th
>
628 <th
> <?php
echo htmlspecialchars(xl('DX'),ENT_NOQUOTES
); ?
></th
>
629 <th
> <?php
echo htmlspecialchars(xl('Diagnosis Name'),ENT_NOQUOTES
); ?
></th
>
635 if($type == 'Procedure')
640 <th
> <?php
echo htmlspecialchars(xl('Date'),ENT_NOQUOTES
); ?
></th
>
641 <th
> <?php
echo htmlspecialchars(xl('CPT'),ENT_NOQUOTES
); ?
></th
>
642 <th
> <?php
echo htmlspecialchars(xl('Service Code'),ENT_NOQUOTES
); ?
></th
>
643 <th
> <?php
echo htmlspecialchars(xl('Encounter'),ENT_NOQUOTES
); ?
></th
>
644 <th
> <?php
echo htmlspecialchars(xl('Priority'),ENT_NOQUOTES
); ?
></th
>
645 <th
> <?php
echo htmlspecialchars(xl('Status'),ENT_NOQUOTES
); ?
></th
>
646 <th
> <?php
echo htmlspecialchars(xl('Patient Instructions'),ENT_NOQUOTES
); ?
></th
>
647 <th
> <?php
echo htmlspecialchars(xl('Activity'),ENT_NOQUOTES
); ?
></th
>
648 <th
> <?php
echo htmlspecialchars(xl('Control ID'),ENT_NOQUOTES
); ?
></th
>
654 if($type == 'Medical History')
657 <!-- Medical History
-->
658 <th
> <?php
echo htmlspecialchars(xl('Date'),ENT_NOQUOTES
); ?
></th
>
659 <th
> <?php
echo htmlspecialchars(xl('Smoking'),ENT_NOQUOTES
); ?
></th
>
660 <th
> <?php
echo htmlspecialchars(xl('Alcohol'),ENT_NOQUOTES
); ?
></th
>
661 <th
> <?php
echo htmlspecialchars(xl('Rec. Drugs'),ENT_NOQUOTES
); ?
></th
>
667 if($type == 'Lab Results')
671 <th
> <?php
echo htmlspecialchars(xl('Date'),ENT_NOQUOTES
); ?
></th
>
672 <th
> <?php
echo htmlspecialchars(xl('Facility'),ENT_NOQUOTES
); ?
></th
>
673 <th
> <?php
echo htmlspecialchars(xl('Units'),ENT_NOQUOTES
); ?
></th
>
674 <th
> <?php
echo htmlspecialchars(xl('Result'),ENT_NOQUOTES
); ?
></th
>
675 <th
> <?php
echo htmlspecialchars(xl('Range'),ENT_NOQUOTES
); ?
></th
>
676 <th
> <?php
echo htmlspecialchars(xl('Abnormal'),ENT_NOQUOTES
); ?
></th
>
677 <th
> <?php
echo htmlspecialchars(xl('Comments'),ENT_NOQUOTES
); ?
></th
>
678 <th
> <?php
echo htmlspecialchars(xl('Document ID'),ENT_NOQUOTES
); ?
></th
>
686 if($type == 'Prescription')
688 $last_patient_id = 0;
689 $last_prescription_id = 0;
690 while ($row = sqlFetchArray($result))
692 $prescription_id = $row['id'];
693 $drug_name = empty($row['name']) ?
$row['drug'] : $row['name'];
694 $ndc_number = $row['ndc_number'];
695 $drug_units = $row['size'] . ' ' .
696 generate_display_field(array('data_type'=>'1','list_id'=>'drug_units'), $row['unit']);
697 $refills = $row['refills'];
698 $reactions = $row['reactions'];
699 $instructed = $row['dosage'] . ' ' .
701 generate_display_field(array('data_type'=>'1','list_id'=>'drug_form'), $row['form']) . ' ' .
702 generate_display_field(array('data_type'=>'1','list_id'=>'drug_interval'), $row['interval']);
704 //if ($row['patient_id'] == $last_patient_id) {
705 if (strcmp($row['pubpid'], $last_patient_id) == 0)
707 $patient_name = ' ';
708 $patient_id = ' ';
710 if ($row['id'] == $last_prescription_id)
712 $prescription_id = ' ';
713 $drug_name = ' ';
714 $ndc_number = ' ';
715 $drug_units = ' ';
717 $reactions = ' ';
718 $instructed = ' ';
723 <td
> <a target
="RBot" href
="../patient_file/summary/demographics.php?pid=<?php echo htmlspecialchars($row['patient_id'],ENT_QUOTES);?>"><?php
echo htmlspecialchars($row['patient_name'],ENT_NOQUOTES
); ?
></a
> 
;</td
>
724 <td
> <?php
echo htmlspecialchars($row['patient_id'],ENT_NOQUOTES
); ?
> 
;</td
>
725 <td
> <?php
echo htmlspecialchars($row['patient_age'],ENT_NOQUOTES
); ?
> 
;</td
>
726 <td
> <?php
echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'sex'), $row['patient_sex']),ENT_NOQUOTES
); ?
> 
;</td
>
727 <td
> <?php
echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'ethrace'), $row['patient_ethnic']),ENT_NOQUOTES
); ?
> 
;</td
>
728 <td
> <?php
echo htmlspecialchars($row['users_provider'],ENT_NOQUOTES
); ?
> 
;</td
>
729 <td
> <?php
echo htmlspecialchars(oeFormatShortDate($row['prescriptions_date_modified']),ENT_NOQUOTES
); ?
> 
;</td
>
730 <td
><?php
echo htmlspecialchars($prescription_id,ENT_NOQUOTES
); ?
></td
>
731 <td
><?php
echo htmlspecialchars($drug_name,ENT_NOQUOTES
); ?
></td
>
732 <td
><?php
echo htmlspecialchars($ndc_number,ENT_NOQUOTES
); ?
></td
>
733 <td
><?php
echo htmlspecialchars($drug_units,ENT_NOQUOTES
); ?
></td
>
734 <td
><?php
echo htmlspecialchars($refills,ENT_NOQUOTES
); ?
></td
>
735 <td
><?php
echo htmlspecialchars($instructed,ENT_NOQUOTES
); ?
></td
>
736 <td
><?php
echo htmlspecialchars($reactions,ENT_NOQUOTES
); ?
></td
>
737 <td
><a href
='../drugs/dispense_drug.php?sale_id=<?php echo htmlspecialchars($row['sale_id
'],ENT_QUOTES); ?>'
738 style
='color:#0000ff' target
='_blank'>
739 <?php
echo htmlspecialchars(oeFormatShortDate($row['sale_date']),ENT_NOQUOTES
); ?
>
742 <td
><?php
echo htmlspecialchars($row['quantity'],ENT_NOQUOTES
); ?
></td
>
743 <td
><?php
echo htmlspecialchars($row['manufacturer'],ENT_NOQUOTES
); ?
></td
>
744 <td
><?php
echo htmlspecialchars($row['lot_number'],ENT_NOQUOTES
); ?
></td
>
747 $last_prescription_id = $row['id'];
748 $last_patient_id = $row['pubpid'];
753 while($row = sqlFetchArray($result))
758 if($type == 'Service Codes')
761 <td
><?php
echo htmlspecialchars($row['code'],ENT_NOQUOTES
); ?
> 
;</td
>
762 <td
><?php
echo htmlspecialchars($row['code_text'],ENT_NOQUOTES
); ?
> 
;</td
>
763 <td
><a target
="RBot" href
="../patient_file/summary/demographics.php?pid=<?php echo htmlspecialchars($row['patient_id'],ENT_QUOTES);?>"><?php
echo htmlspecialchars($row['patient_name'],ENT_NOQUOTES
); ?
></a
> 
;</td
>
764 <td
><?php
echo htmlspecialchars(oeFormatShortDate($row['date_of_birth']),ENT_NOQUOTES
); ?
> 
;</td
>
765 <td
><?php
echo htmlspecialchars($row['patient_id'],ENT_NOQUOTES
); ?
> 
;</td
>
766 <td
><a target
="RBot" href
="../patient_file/encounter/encounter_top.php?set_encounter=<?php echo htmlspecialchars($row['encounter'],ENT_QUOTES);?>&pid=<?php echo htmlspecialchars($row['patient_id'],ENT_QUOTES);?>"><?php
echo htmlspecialchars($row['encounter'],ENT_NOQUOTES
); ?
></a
> 
;</td
>
767 <td
><?php
echo htmlspecialchars(oeFormatShortDate($row['date']),ENT_NOQUOTES
); ?
> 
;</td
>
768 <td
><?php
echo htmlspecialchars($row['provider_name'],ENT_NOQUOTES
); ?
> 
;</td
>
774 <td
> <a target
="RBot" href
="../patient_file/summary/demographics.php?pid=<?php echo htmlspecialchars($row['patient_id'],ENT_QUOTES);?>"><?php
echo htmlspecialchars($row['patient_name'],ENT_NOQUOTES
); ?
></a
> 
;</td
>
775 <td
> <?php
echo htmlspecialchars($row['patient_id'],ENT_NOQUOTES
); ?
> 
;</td
>
776 <td
> <?php
echo htmlspecialchars($row['patient_age'],ENT_NOQUOTES
); ?
> 
;</td
>
777 <td
> <?php
echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'sex'), $row['patient_sex']),ENT_NOQUOTES
); ?
> 
;</td
>
778 <td
> <?php
echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'ethrace'), $row['patient_ethnic']),ENT_NOQUOTES
); ?
> 
;</td
>
779 <td
> <?php
echo htmlspecialchars($row['users_provider'],ENT_NOQUOTES
); ?
> 
;</td
>
785 if($type == 'Diagnosis')
789 <td
> <?php
echo htmlspecialchars(oeFormatShortDate($row['lists_date']),ENT_NOQUOTES
); ?
> 
;</td
>
790 <td
> <?php
echo htmlspecialchars($row['lists_diagnosis'],ENT_NOQUOTES
); ?
> 
;</td
>
791 <td
> <?php
echo htmlspecialchars($row['lists_title'],ENT_NOQUOTES
); ?
> 
;</td
>
797 if($type == 'Procedure')
799 $procedure_type_standard_code_arr = explode(':', $row['procedure_type_standard_code']);
800 $procedure_type_standard_code = $procedure_type_standard_code_arr[1];
803 <td
> <?php
echo htmlspecialchars(oeFormatShortDate($row['procedure_order_date_ordered']),ENT_NOQUOTES
); ?
> 
;</td
>
804 <td
> <?php
echo htmlspecialchars($procedure_type_standard_code,ENT_NOQUOTES
); ?
> 
;</td
>
805 <td
> <?php
echo htmlspecialchars($row['procedure_name'],ENT_NOQUOTES
); ?
> 
;</td
>
806 <td
> <a target
="RBot" href
="../patient_file/encounter/encounter_top.php?set_encounter=<?php echo htmlspecialchars($row['procedure_order_encounter'],ENT_QUOTES);?>&pid=<?php echo htmlspecialchars($row['patient_id'],ENT_QUOTES);?>"><?php
echo htmlspecialchars($row['procedure_order_encounter'],ENT_NOQUOTES
); ?
></a
> 
;</td
>
807 <td
> <?php
echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'ord_priority'),$row['procedure_order_order_priority']),ENT_NOQUOTES
); ?
> 
;</td
>
808 <td
> <?php
echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'ord_status'),$row['procedure_order_order_status']),ENT_NOQUOTES
); ?
> 
;</td
>
809 <td
> <?php
echo htmlspecialchars($row['procedure_order_patient_instructions'],ENT_NOQUOTES
); ?
> 
;</td
>
810 <td
> <?php
echo htmlspecialchars($row['procedure_order_activity'],ENT_NOQUOTES
); ?
> 
;</td
>
811 <td
> <?php
echo htmlspecialchars($row['procedure_order_control_id'],ENT_NOQUOTES
); ?
> 
;</td
>
817 if($type == 'Medical History')
820 <!-- Medical History
-->
821 <td
> <?php
echo htmlspecialchars(oeFormatShortDate($row['history_data_date']),ENT_NOQUOTES
); ?
> 
;</td
>
822 <td
> <?php
echo htmlspecialchars($row['history_data_tobacco'],ENT_NOQUOTES
); ?
> 
;</td
>
823 <td
> <?php
echo htmlspecialchars($row['history_data_alcohol'],ENT_NOQUOTES
); ?
> 
;</td
>
824 <td
> <?php
echo htmlspecialchars($row['history_data_recreational_drugs'],ENT_NOQUOTES
); ?
> 
;</td
>
830 if($type == 'Lab Results')
834 <td
> <?php
echo htmlspecialchars(oeFormatShortDate($row['procedure_result_date']),ENT_NOQUOTES
); ?
> 
;</td
>
835 <td
> <?php
echo htmlspecialchars($row['procedure_result_facility'],ENT_NOQUOTES
); ?
> 
;</td
>
836 <td
> <?php
echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'proc_unit'),$row['procedure_result_units']),ENT_NOQUOTES
); ?
> 
;</td
>
837 <td
> <?php
echo htmlspecialchars($row['procedure_result_result'],ENT_NOQUOTES
); ?
> 
;</td
>
838 <td
> <?php
echo htmlspecialchars($row['procedure_result_range'],ENT_NOQUOTES
); ?
> 
;</td
>
839 <td
> <?php
echo htmlspecialchars($row['procedure_result_abnormal'],ENT_NOQUOTES
); ?
> 
;</td
>
840 <td
> <?php
echo htmlspecialchars($row['procedure_result_comments'],ENT_NOQUOTES
); ?
> 
;</td
>
841 <td
> <?php
echo htmlspecialchars($row['procedure_result_document_id'],ENT_NOQUOTES
); ?
> 
;</td
>
853 <!-- end of results
-->
861 ?
><div
class='text'> <?php
echo htmlspecialchars(xl('Please input search criteria above, and click Submit to view results.'),ENT_NOQUOTES
); ?
> </div
><?php
867 <!-- stuff
for the popup calendar
-->
868 <style type
="text/css">
869 @import
url(../../library
/dynarch_calendar
.css
);
871 <script type
="text/javascript" src
="../../library/dynarch_calendar.js"></script
>
872 <?php
include_once("{$GLOBALS['srcdir']}/dynarch_calendar_en.inc.php"); ?
>
873 <script type
="text/javascript" src
="../../library/dynarch_calendar_setup.js"></script
>
874 <script language
="Javascript">
875 Calendar
.setup({inputField
:"date_from", ifFormat
:"%Y-%m-%d", button
:"img_from_date"});
876 Calendar
.setup({inputField
:"date_to", ifFormat
:"%Y-%m-%d", button
:"img_to_date"});