Highway to PSR2
[openemr.git] / interface / reports / clinical_reports.php
blob436a38f8cd66a4a881200d317942677265aefa75
1 <?php
2 /**
3 * This report lists prescriptions and their dispensations according
4 * to various input selection criteria.
6 * Prescription report written by Rod Roark, 2010
7 * Fixed drug name search to work in a broader sense - tony@mi-squared.com, 2010
8 * Added five new reports as per EHR certification requirements for Patient Lists - OpenEMR Support LLC, 2010
10 * Copyright (C) 2010 OpenEMR Support LLC
11 * Copyright (C) 2017 Brady Miller <brady.g.miller@gmail.com>
13 * LICENSE: This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 3
16 * of the License, or (at your option) any later version.
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program. If not, see <http://opensource.org/licenses/gpl-license.php>;.
24 * @package OpenEMR
25 * @author Brady Miller <brady.g.miller@gmail.com>
26 * @link http://www.open-emr.org
30 use OpenEMR\Core\Header;
32 require_once("../globals.php");
33 require_once("$srcdir/patient.inc");
34 require_once("$srcdir/options.inc.php");
35 require_once("../drugs/drugs.inc.php");
36 require_once("../../custom/code_types.inc.php");
37 $comarr = array('allow_sms'=>xl('Allow SMS'),'allow_voice'=>xl('Allow Voice Message'),'allow_mail'=>xl('Allow Mail Message'),'allow_email'=>xl('Allow Email'));
38 function add_date($givendate, $day = 0, $mth = 0, $yr = 0)
40 $cd = strtotime($givendate);
41 $newdate = date('Y-m-d H:i:s', mktime(
42 date('h', $cd),
43 date('i', $cd),
44 date('s', $cd),
45 date('m', $cd)+$mth,
46 date('d', $cd)+$day,
47 date('Y', $cd)+$yr
48 ));
49 return $newdate;
51 $type = $_POST["type"];
52 $facility = isset($_POST['facility']) ? $_POST['facility'] : '';
53 if ($_POST['date_from'] != "") {
54 $sql_date_from = $_POST['date_from'];
55 } else {
56 $sql_date_from = fixDate($_POST['date_from'], date('Y-01-01 H:i:s'));
59 if ($_POST['date_to'] != "") {
60 $sql_date_to = $_POST['date_to'];
61 } else {
62 $sql_date_to = fixDate($_POST['date_to'], add_date(date('Y-m-d H:i:s')));
66 $patient_id = trim($_POST["patient_id"]);
67 $age_from = $_POST["age_from"];
68 $age_to = $_POST["age_to"];
69 $sql_gender = $_POST["gender"];
70 $sql_ethnicity = $_POST["ethnicity"];
71 $sql_race=$_POST["race"];
72 $form_drug_name = trim($_POST["form_drug_name"]);
73 $form_diagnosis = trim($_POST["form_diagnosis"]);
74 $form_lab_results = trim($_POST["form_lab_results"]);
75 $form_service_codes = trim($_POST["form_service_codes"]);
76 $form_immunization = trim($_POST["form_immunization"]);
77 $communication = trim($_POST["communication"]);
80 <html>
81 <head>
83 <title>
84 <?php echo htmlspecialchars(xl('Clinical Reports'), ENT_NOQUOTES); ?>
85 </title>
87 <?php Header::setupHeader(['datetime-picker', 'report-helper']); ?>
89 <script language="JavaScript">
91 var mypcc = '<?php echo $GLOBALS['phone_country_code'] ?>';
93 $(document).ready(function() {
94 var win = top.printLogSetup ? top : opener.top;
95 win.printLogSetup(document.getElementById('printbutton'));
96 });
98 function toggle(id) {
99 var tr = document.getElementById(id);
100 if (tr==null) { return; }
101 var bExpand = tr.style.display == '';
102 tr.style.display = (bExpand ? 'none' : '');
104 function changeimage(id, sMinus, sPlus) {
105 var img = document.getElementById(id);
106 if (img!=null) {
107 var bExpand = img.src.indexOf(sPlus) >= 0;
108 if (!bExpand)
109 img.src = "../pic/blue-up-arrow.gif";
110 else
111 img.src = "../pic/blue-down-arrow.gif";
114 function Toggle_trGrpHeader2(t_id,i_id) {
115 var img=i_id;
116 changeimage(img, 'blue-down-arrow.gif', 'blue-up-arrow.gif');
117 var id1=t_id;
118 toggle(id1);
120 // This is for callback by the find-code popup.
121 // Appends to or erases the current list of diagnoses.
122 function set_related(codetype, code, selector, codedesc) {
123 var f = document.forms[0][current_sel_name];
124 var s = f.value;
125 if (code) {
126 if (s.length > 0) s += ';';
127 s += codetype + ':' + code;
128 } else {
129 s = '';
131 f.value = s;
134 //This invokes the find-code popup.
135 function sel_diagnosis(e) {
136 current_sel_name = e.name;
137 dlgopen('../patient_file/encounter/find_code_popup.php?codetype=<?php echo collect_codetypes("diagnosis", "csv"); ?>', '_blank', 500, 400);
140 //This invokes the find-code popup.
141 function sel_procedure(e) {
142 current_sel_name = e.name;
143 dlgopen('../patient_file/encounter/find_code_popup.php?codetype=<?php echo collect_codetypes("procedure", "csv"); ?>', '_blank', 500, 400);
145 </script>
147 <style type="text/css">
148 /* specifically include & exclude from printing */
149 @media print {
150 #report_parameters {
151 visibility: hidden;
152 display: none;
154 #report_parameters_daterange {
155 visibility: visible;
156 display: inline;
158 #report_results table {
159 margin-top: 0px;
163 /* specifically exclude some from the screen */
164 @media screen {
165 #report_parameters_daterange {
166 visibility: hidden;
167 display: none;
170 .optional_area_service_codes {
171 <?php
172 if ($type != 'Service Codes' || $type == '') {
174 display: none;
175 <?php
179 </style>
180 <script language="javascript" type="text/javascript">
181 function checkType() {
182 if($('#type').val() == 'Service Codes')
184 $('.optional_area_service_codes').css("display", "inline");
186 else
188 $('.optional_area_service_codes').css("display", "none");
192 function submitForm() {
193 var d_from = new String($('#date_from').val());
194 var d_to = new String($('#date_to').val());
196 var d_from_arr = d_from.split('-');
197 var d_to_arr = d_to.split('-');
199 var dt_from = new Date(d_from_arr[0], d_from_arr[1], d_from_arr[2]);
200 var dt_to = new Date(d_to_arr[0], d_to_arr[1], d_to_arr[2]);
202 var mili_from = dt_from.getTime();
203 var mili_to = dt_to.getTime();
204 var diff = mili_to - mili_from;
206 $('#date_error').css("display", "none");
208 if(diff < 0) //negative
210 $('#date_error').css("display", "inline");
212 else
214 $("#form_refresh").attr("value","true");
215 $("#theform").submit();
219 $(document).ready(function() {
220 $(".numeric_only").keydown(function(event) {
221 //alert(event.keyCode);
222 // Allow only backspace and delete
223 if ( event.keyCode == 46 || event.keyCode == 8 ) {
224 // let it happen, don't do anything
226 else {
227 if(!((event.keyCode >= 96 && event.keyCode <= 105) || (event.keyCode >= 48 && event.keyCode <= 57)))
229 event.preventDefault();
234 $('.datetimepicker').datetimepicker({
235 <?php $datetimepicker_timepicker = true; ?>
236 <?php $datetimepicker_showseconds = true; ?>
237 <?php $datetimepicker_formatInput = false; ?>
238 <?php require($GLOBALS['srcdir'] . '/js/xl/jquery-datetimepicker-2-5-4.js.php'); ?>
239 <?php // can add any additional javascript settings to datetimepicker here; need to prepend first setting with a comma ?>
242 </script>
243 </head>
244 <body class="body_top">
245 <!-- Required for the popup date selectors -->
246 <div id="overDiv" style="position:absolute; visibility:hidden; z-index:1000;"></div>
247 <span class='title'>
248 <?php echo htmlspecialchars(xl('Report - Clinical'), ENT_NOQUOTES); ?>
249 </span>
250 <!-- Search can be done using age range, gender, and ethnicity filters.
251 Search options include diagnosis, procedure, prescription, medical history, and lab results.
253 <div id="report_parameters_daterange"> <?php echo htmlspecialchars(date("d F Y", strtotime($sql_date_from)), ENT_NOQUOTES) .
254 " &nbsp; to &nbsp; ". htmlspecialchars(date("d F Y", strtotime($sql_date_to)), ENT_NOQUOTES); ?> </div>
255 <form name='theform' id='theform' method='post' action='clinical_reports.php' onsubmit='return top.restoreSession()'>
256 <div id="report_parameters">
257 <input type='hidden' name='form_refresh' id='form_refresh' value=''/>
258 <table>
259 <tr>
260 <td width='740px'><div style='float:left'>
261 <table class='text'>
262 <tr>
263 <td class='control-label' width="100"><?php echo htmlspecialchars(xl('Facility'), ENT_NOQUOTES); ?>: </td>
264 <td width="250"> <?php dropdown_facility($facility, 'facility', false); ?> </td>
265 <td class='control-label' width="100"><?php echo htmlspecialchars(xl('From'), ENT_NOQUOTES); ?>: </td>
266 <td><input type='text' class='datetimepicker form-control' name='date_from' id="date_from" size='18' value='<?php echo htmlspecialchars($sql_date_from, ENT_QUOTES); ?>' title='yyyy-mm-dd H:m:s'></td>
267 </tr>
268 <tr>
269 <td class='control-label'><?php echo htmlspecialchars(xl('Patient ID'), ENT_NOQUOTES); ?>:</td>
270 <td><input name='patient_id' class="numeric_only form-control" type='text' id="patient_id" title='<?php echo htmlspecialchars(xl('Optional numeric patient ID'), ENT_QUOTES); ?>' value='<?php echo htmlspecialchars($patient_id, ENT_QUOTES); ?>' size='10' maxlength='20' /></td>
271 <td class='control-label'><?php echo htmlspecialchars(xl('To'), ENT_NOQUOTES); ?>: </td>
272 <td><input type='text' class='datetimepicker form-control' name='date_to' id="date_to" size='18' value='<?php echo htmlspecialchars($sql_date_to, ENT_QUOTES); ?>' title='yyyy-mm-dd H:m:s'></td>
273 </tr>
274 <tr>
275 <td class='control-label'><?php echo htmlspecialchars(xl('Age Range'), ENT_NOQUOTES); ?>:</td>
276 <td><table>
277 <tr>
278 <td class='control-label'><?php echo htmlspecialchars(xl('From'), ENT_NOQUOTES); ?></td>
279 <td>
280 <input name='age_from' class="numeric_only form-control" type='text' id="age_from" value="<?php echo htmlspecialchars($age_from, ENT_QUOTES); ?>" size='3' maxlength='3' />
281 </td>
282 <td class='control-label'><?php echo htmlspecialchars(xl('To'), ENT_NOQUOTES); ?></td>
283 <td>
284 <input name='age_to' class="numeric_only form-control" type='text' id="age_to" value="<?php echo htmlspecialchars($age_to, ENT_QUOTES); ?>" size='3' maxlength='3' />
285 </td>
286 </tr>
287 </table></td>
288 <td class='control-label'><?php echo htmlspecialchars(xl('Problem DX'), ENT_NOQUOTES); ?>:</td>
289 <td><input type='text' name='form_diagnosis form-control' class= 'form-control' size='10' maxlength='250' value='<?php echo htmlspecialchars($form_diagnosis, ENT_QUOTES); ?>' onclick='sel_diagnosis(this)' title='<?php echo htmlspecialchars(xl('Click to select or change diagnoses'), ENT_QUOTES); ?>' readonly /></td>
290 <td>&nbsp;</td>
291 <!-- Visolve -->
292 </tr>
293 <tr>
294 <td class='control-label'><?php echo htmlspecialchars(xl('Gender'), ENT_NOQUOTES); ?>:</td>
295 <td><?php echo generate_select_list('gender', 'sex', $sql_gender, 'Select Gender', 'Unassigned', '', ''); ?></td>
296 <td class='control-label'><?php echo htmlspecialchars(xl('Drug'), ENT_NOQUOTES); ?>:</td>
297 <td><input type='text' name='form_drug_name' class='form-control' size='10' maxlength='250' value='<?php echo htmlspecialchars($form_drug_name, ENT_QUOTES); ?>' title='<?php echo htmlspecialchars(xl('Optional drug name, use % as a wildcard'), ENT_QUOTES); ?>' /></td>
299 </tr>
300 <tr>
301 <td class='control-label'><?php echo htmlspecialchars(xl('Race'), ENT_NOQUOTES); ?>:</td>
302 <td><?php echo generate_select_list('race', 'race', $sql_race, 'Select Race', 'Unassigned', '', ''); ?></td>
303 <td class='control-label'><?php echo htmlspecialchars(xl('Ethnicity'), ENT_NOQUOTES); ?>:</td>
304 <td><?php echo generate_select_list('ethnicity', 'ethnicity', $sql_ethnicity, 'Select Ethnicity', 'Unassigned', '', ''); ?></td>
305 <td class='control-label'><?php echo htmlspecialchars(xl('Immunization'), ENT_NOQUOTES); ?>:</td>
306 <td><input type='text' name='form_immunization' class='form-control' size='10' maxlength='250' value='<?php echo htmlspecialchars($form_immunization, ENT_QUOTES); ?>' title='<?php echo htmlspecialchars(xl('Optional immunization name or code, use % as a wildcard'), ENT_QUOTES); ?>' /></td>
307 </tr>
308 <tr>
309 <td class='control-label' width='100'><?php echo htmlspecialchars(xl('Lab Result'), ENT_NOQUOTES); ?>:</td>
310 <td width='100'><input type='text' name='form_lab_results' class='form-control' size='13' maxlength='250' value='<?php echo htmlspecialchars($form_lab_results, ENT_QUOTES); ?>' title='<?php echo htmlspecialchars(xl('Result, use % as a wildcard'), ENT_QUOTES); ?>' /></td>
312 <td class='control-label' width='100'><?php echo htmlspecialchars(xl('Option'), ENT_NOQUOTES); ?>:</td>
313 <td><select name="type" class='form-control' id="type" onChange="checkType();">
314 <option> <?php echo htmlspecialchars(xl('Select'), ENT_NOQUOTES); ?></option>
315 <option value="Procedure" <?php
316 if ($type == 'Procedure') {
317 echo "selected";
318 } ?>><?php echo htmlspecialchars(xl('Procedure'), ENT_NOQUOTES); ?></option>
319 <option value="Medical History" <?php
320 if ($type == 'Medical History') {
321 echo "selected";
322 } ?>><?php echo htmlspecialchars(xl('Medical History'), ENT_NOQUOTES); ?></option>
323 <option value="Service Codes" <?php
324 if ($type == 'Service Codes') {
325 echo "selected";
326 } ?>><?php echo htmlspecialchars(xl('Service Codes'), ENT_NOQUOTES); ?></option>
327 </select>
328 </td>
329 <td class='control-label'><?php echo htmlspecialchars(xl('Communication'), ENT_NOQUOTES); ?>:</td>
330 <td>
331 <select name="communication" class='form-control' id="communication" title="<?php echo htmlspecialchars(xl('Select Communication Preferences'), ENT_NOQUOTES); ?>">
332 <option value=""> <?php echo htmlspecialchars(xl('Select'), ENT_NOQUOTES); ?></option>
333 <?php foreach ($comarr as $comkey => $comvalue) { ?>
334 <option value="<?php echo attr($comkey); ?>" <?php
335 if ($communication == $comkey) {
336 echo "selected";
337 } ?>><?php echo text($comvalue); ?></option>
338 <?php } ?>
339 </select>
340 </td>
341 </tr>
342 </table>
343 <table>
344 <tr class="optional_area_service_codes">
345 <td width='100'>&nbsp;</td>
346 <td width='100'>&nbsp;</td>
347 <td width='195'>&nbsp;</td>
348 <td class='control-label' width='76'><?php echo htmlspecialchars(xl('Code'), ENT_NOQUOTES); ?>:</td>
349 <td> <input type='text' name='form_service_codes' class='form-control' size='10' maxlength='250' value='<?php echo htmlspecialchars($form_service_codes, ENT_QUOTES); ?>' onclick='sel_procedure(this)' title='<?php echo htmlspecialchars(xl('Click to select or change service codes'), ENT_QUOTES); ?>' readonly />&nbsp;</td>
350 </tr>
351 </table>
352 <table class='text'>
353 <tr>
354 <!-- Sort by Start -->
355 <td class='control-label' width='63'><?php echo htmlspecialchars(xl('Sort By'), ENT_NOQUOTES); ?>:</td>
356 <td>
357 <table>
358 <tr>
359 <td>
360 <input type='checkbox' class='form-control' name='form_pt_name'<?php
361 if ($_POST['form_pt_name'] == true) {
362 echo ' checked';
363 } ?>>
364 </td>
365 <td class='control-label'>
366 <?php echo htmlspecialchars(xl('Patient Name'), ENT_NOQUOTES); ?>&nbsp;
367 </td>
368 <td>
369 <input type='checkbox' class='form-control' name='form_pt_age'<?php
370 if ($_POST['form_pt_age'] == true) {
371 echo ' checked';
372 } ?>>
373 </td>
374 <td class='control-label'>
375 <?php echo htmlspecialchars(xl('Age'), ENT_NOQUOTES); ?>&nbsp;
376 </td>
377 <td>
378 <input type='checkbox' class='form-control' name='form_diagnosis_allergy'<?php
379 if ($_POST['form_diagnosis_allergy'] == true) {
380 echo ' checked';
381 } ?>>
382 </td>
383 <td class='control-label'>
384 <?php echo htmlspecialchars(xl('Allergies'), ENT_NOQUOTES); ?>&nbsp;
385 </td>
386 <td>
387 <input type='checkbox' class='form-control' name='form_diagnosis_medprb'<?php
388 if ($_POST['form_diagnosis_medprb'] == true) {
389 echo ' checked';
390 } ?>>
391 </td>
392 <td class='control-label'>
393 <?php echo htmlspecialchars(xl('Medical Problems'), ENT_NOQUOTES); ?>&nbsp;
394 </td>
395 <td>
396 <input type='checkbox' class='form-control' name='form_drug'<?php
397 if ($_POST['form_drug'] == true) {
398 echo ' checked';
399 } ?>>
400 </td>
401 <td class='control-label'>
402 <?php echo htmlspecialchars(xl('Drug'), ENT_NOQUOTES); ?>&nbsp;
403 </td>
404 <td>
405 <input type='checkbox' class='form-control' name='ndc_no'<?php
406 if ($_POST['ndc_no'] == true) {
407 echo ' checked';
408 } ?>>
409 </td>
410 <td class='control-label'>
411 <?php echo htmlspecialchars(xl('NDC Number'), ENT_NOQUOTES); ?>&nbsp;
412 </td>
413 <td>
414 <input type='checkbox' class='form-control' name='lab_results'<?php
415 if ($_POST['lab_results'] == true) {
416 echo ' checked';
417 } ?>>
418 </td>
419 <td class='control-label'>
420 <?php echo htmlspecialchars(xl('Lab Results'), ENT_NOQUOTES); ?>&nbsp;
421 </td>
422 <td>
423 <input type='checkbox' class='form-control' name='communication_check'<?php
424 if ($_POST['communication_check'] == true) {
425 echo ' checked';
426 } ?>>
427 </td>
428 <td class='control-label'>
429 <?php echo xlt('Communication'); ?>
430 </td>
431 </tr>
432 </table>
433 </td>
434 </tr>
435 <!-- Sort by ends -->
436 </tr>
437 <tr>
438 <td colspan=3><span id="date_error" style="color: #F00; font-siz: 11px; display: none;"><?php echo htmlspecialchars(xl('From Date Cannot be Greater than To Date.'), ENT_NOQUOTES); ?></span>&nbsp;</td>
439 </tr>
440 </table>
441 </div></td>
442 <td height="100%" valign='middle' width="175"><table style='border-left:1px solid; width:100%; height:100%'>
443 <tr>
444 <td>
445 <div class="text-center">
446 <div class="btn-group" role="group">
447 <a href='#' class='btn btn-default btn-save' onclick='submitForm();'>
448 <?php echo xlt('Submit'); ?>
449 </a>
450 <?php if ($_POST['form_refresh']) { ?>
451 <a href='#' class='btn btn-default btn-print' id='printbutton'>
452 <?php echo xlt('Print'); ?>
453 </a>
454 <?php } ?>
455 </div>
456 </div>
457 </td>
458 </tr>
459 </table></td>
460 </tr>
461 </table>
462 </div>
463 <!-- end of parameters -->
464 <?php
465 // SQL scripts for the various searches
466 $sqlBindArray = array();
467 if ($_POST['form_refresh']) {
468 $sqlstmt = "select
469 concat(pd.fname, ' ', pd.lname) AS patient_name,
470 pd.pid AS patient_id,
471 DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),pd.dob)), '%Y')+0 AS patient_age,
472 pd.sex AS patient_sex,
473 pd.race AS patient_race,pd.ethnicity AS patient_ethinic,
474 concat(u.fname, ' ', u.lname) AS users_provider,
475 REPLACE(REPLACE(concat_ws(',',IF(pd.hipaa_allowemail = 'YES', 'Allow Email','NO'),IF(pd.hipaa_allowsms = 'YES', 'Allow SMS','NO') , IF(pd.hipaa_mail = 'YES', 'Allow Mail Message','NO') , IF(pd.hipaa_voice = 'YES', 'Allow Voice Message','NO') ), ',NO',''), 'NO,','') as communications";
476 if (strlen($form_diagnosis) > 0 || $_POST['form_diagnosis_allergy'] == true || $_POST['form_diagnosis_medprb'] == true) {
477 $sqlstmt=$sqlstmt.",li.date AS lists_date,
478 li.diagnosis AS lists_diagnosis,
479 li.title AS lists_title";
482 if (strlen($form_drug_name) > 0 || $_POST['form_drug'] == true) {
483 $sqlstmt=$sqlstmt.",r.id as id, r.date_modified AS prescriptions_date_modified, r.dosage as dosage, r.route as route, r.interval as hinterval, r.refills as refills, r.drug as drug,
484 r.form as hform, r.size as size, r.unit as hunit, d.name as name, d.ndc_number as ndc_number,r.quantity as quantity";
487 if (strlen($form_lab_results) > 0 || $_POST['lab_results'] == true) {
488 $sqlstmt = $sqlstmt.",pr.date AS procedure_result_date,
489 pr.facility AS procedure_result_facility,
490 pr.units AS procedure_result_units,
491 pr.result AS procedure_result_result,
492 pr.range AS procedure_result_range,
493 pr.abnormal AS procedure_result_abnormal,
494 pr.comments AS procedure_result_comments,
495 pr.document_id AS procedure_result_document_id";
498 if ($type == 'Procedure') {
499 $sqlstmt = $sqlstmt.",po.date_ordered AS procedure_order_date_ordered,
500 pt.standard_code AS procedure_type_standard_code,
501 pc.procedure_name as procedure_name,
502 po.order_priority AS procedure_order_order_priority,
503 po.order_status AS procedure_order_order_status,
504 po.encounter_id AS procedure_order_encounter,
505 po.patient_instructions AS procedure_order_patient_instructions,
506 po.activity AS procedure_order_activity,
507 po.control_id AS procedure_order_control_id ";
510 if ($type == 'Medical History') {
511 $sqlstmt = $sqlstmt.",hd.date AS history_data_date,
512 hd.tobacco AS history_data_tobacco,
513 hd.alcohol AS history_data_alcohol,
514 hd.recreational_drugs AS history_data_recreational_drugs ";
517 if ($type == 'Service Codes') {
518 $sqlstmt .= ", c.code as code,
519 c.code_text as code_text,
520 fe.encounter as encounter,
521 b.date as date";
522 $mh_stmt = $mh_stmt.",code,code_text,encounter,date";
525 if (strlen($form_immunization) > 0) {
526 $sqlstmt .= ", immc.code_text as imm_code, immc.code_text_short as imm_code_short, immc.id as cvx_code, imm.administered_date as imm_date, imm.amount_administered, imm.amount_administered_unit, imm.administration_site, imm.note as notes ";
529 //from
530 $sqlstmt=$sqlstmt." from patient_data as pd left outer join users as u on u.id = pd.providerid
531 left outer join facility as f on f.id = u.facility_id";
533 if (strlen($form_diagnosis) > 0 || ($_POST['form_diagnosis_allergy'] == true && $_POST['form_diagnosis_medprb'] == true)) {
534 $sqlstmt = $sqlstmt." left outer join lists as li on (li.pid = pd.pid AND (li.type='medical_problem' OR li.type='allergy')) ";
535 } elseif ($_POST['form_diagnosis_allergy'] == true) {
536 $sqlstmt = $sqlstmt." left outer join lists as li on (li.pid = pd.pid AND (li.type='allergy')) ";
537 } elseif ($_POST['form_diagnosis_medprb'] == true) {
538 $sqlstmt = $sqlstmt." left outer join lists as li on (li.pid = pd.pid AND (li.type='medical_problem')) ";
541 if ($type == 'Procedure' ||( strlen($form_lab_results)!=0) || $_POST['lab_results'] == true) {
542 $sqlstmt = $sqlstmt." left outer join procedure_order as po on po.patient_id = pd.pid
543 left outer join procedure_order_code as pc on pc.procedure_order_id = po.procedure_order_id
544 left outer join procedure_report as pp on pp.procedure_order_id = po.procedure_order_id
545 left outer join procedure_type as pt on pt.procedure_code = pc.procedure_code and pt.lab_id = po.lab_id ";
548 if (strlen($form_lab_results)!=0 || $_POST['lab_results'] == true) {
549 $sqlstmt = $sqlstmt." left outer join procedure_result as pr on pr.procedure_report_id = pp.procedure_report_id ";
552 //Immunization added in clinical report
553 if (strlen($form_immunization)!=0) {
554 $sqlstmt = $sqlstmt." LEFT OUTER JOIN immunizations as imm ON imm.patient_id = pd.pid
555 LEFT OUTER JOIN codes as immc ON imm.cvx_code = immc.id ";
558 if (strlen($form_drug_name)!=0 || $_POST['form_drug'] == true) {
559 $sqlstmt=$sqlstmt." left outer join prescriptions AS r on r.patient_id=pd.pid
560 LEFT OUTER JOIN drugs AS d ON d.drug_id = r.drug_id";
563 if ($type == 'Medical History') {
564 $sqlstmt = $sqlstmt." left outer join history_data as hd on hd.pid = pd.pid
565 and (isnull(hd.tobacco) = 0
566 or isnull(hd.alcohol) = 0
567 or isnull(hd.recreational_drugs) = 0)";
570 if ($type == 'Service Codes') {
571 $sqlstmt = $sqlstmt." left outer join billing as b on b.pid = pd.pid
572 left outer join form_encounter as fe on fe.encounter = b.encounter and b.code_type = 'CPT4'
573 left outer join codes as c on c.code = b.code ";
576 //where
577 $whr_stmt="where 1=1";
578 if (strlen($form_diagnosis) > 0 || $_POST['form_diagnosis_allergy'] == true || $_POST['form_diagnosis_medprb'] == true) {
579 $whr_stmt=$whr_stmt." AND li.date >= ? AND li.date < DATE_ADD(?, INTERVAL 1 DAY) AND DATE(li.date) <= ?";
580 array_push($sqlBindArray, $sql_date_from, $sql_date_to, date("Y-m-d"));
583 if (strlen($form_lab_results)!=0 || $_POST['lab_results'] == true) {
584 $whr_stmt=$whr_stmt." AND pr.date >= ? AND pr.date < DATE_ADD(?, INTERVAL 1 DAY) AND DATE(pr.date) <= ?";
585 array_push($sqlBindArray, $sql_date_from, $sql_date_to, date("Y-m-d"));
588 if (strlen($form_drug_name)!=0 || $_POST['form_drug'] == true) {
589 $whr_stmt=$whr_stmt." AND r.date_modified >= ? AND r.date_modified < DATE_ADD(?, INTERVAL 1 DAY) AND DATE(r.date_modified) <= ?";
590 array_push($sqlBindArray, $sql_date_from, $sql_date_to, date("Y-m-d"));
593 if ($type == 'Medical History') {
594 $whr_stmt=$whr_stmt." AND hd.date >= ? AND hd.date < DATE_ADD(?, INTERVAL 1 DAY) AND DATE(hd.date) <= ?";
595 array_push($sqlBindArray, $sql_date_from, $sql_date_to, date("Y-m-d"));
598 if ($type == 'Procedure') {
599 $whr_stmt=$whr_stmt." AND po.date_ordered >= ? AND po.date_ordered < DATE_ADD(?, INTERVAL 1 DAY) AND DATE(po.date_ordered) <= ?";
600 array_push($sqlBindArray, substr($sql_date_from, 0, 10), substr($sql_date_to, 0, 10), date("Y-m-d"));
603 if ($type == "Service Codes") {
604 $whr_stmt=$whr_stmt." AND b.date >= ? AND b.date < DATE_ADD(?, INTERVAL 1 DAY) AND DATE(b.date) <= ?";
605 array_push($sqlBindArray, $sql_date_from, $sql_date_to, date("Y-m-d"));
608 if (strlen($form_lab_results) != 0 || $_POST['lab_results'] == true) {
609 $whr_stmt= $whr_stmt." AND (pr.result LIKE ?) ";
610 if (empty($form_lab_results)) {
611 $form_lab_results ="%";
614 array_push($sqlBindArray, $form_lab_results);
617 if (strlen($form_drug_name) > 0 || $_POST['form_drug'] == true) {
618 $whr_stmt .= " AND (
619 d.name LIKE ?
620 OR r.drug LIKE ?
621 ) ";
622 if (empty($form_drug_name)) {
623 $form_drug_name ="%";
626 array_push($sqlBindArray, $form_drug_name, $form_drug_name);
629 if ($type == 'Service Codes') {
630 if (strlen($form_service_codes) != 0) {
631 $whr_stmt = $whr_stmt." AND (b.code = ?) ";
632 $service_code = explode(":", $form_service_codes);
633 array_push($sqlBindArray, $service_code[1]);
637 if (strlen($patient_id) != 0) {
638 $whr_stmt = $whr_stmt." and pd.pid = ?";
639 array_push($sqlBindArray, $patient_id);
642 if (strlen($age_from) != 0) {
643 $whr_stmt = $whr_stmt." and DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),pd.dob)), '%Y')+0 >= ?";
644 array_push($sqlBindArray, $age_from);
647 if (strlen($age_to) != 0) {
648 $whr_stmt = $whr_stmt." and DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),pd.dob)), '%Y')+0 <= ?";
649 array_push($sqlBindArray, $age_to);
652 if (strlen($sql_gender) != 0) {
653 $whr_stmt = $whr_stmt." and pd.sex = ?";
654 array_push($sqlBindArray, $sql_gender);
657 if (strlen($sql_ethnicity) != 0) {
658 $whr_stmt = $whr_stmt." and pd.ethnicity = ?";
659 array_push($sqlBindArray, $sql_ethnicity);
662 if (strlen($sql_race) != 0) {
663 $whr_stmt = $whr_stmt." and pd.race = ?";
664 array_push($sqlBindArray, $sql_race);
667 if ($facility != '') {
668 $whr_stmt = $whr_stmt." and f.id = ? ";
669 array_push($sqlBindArray, $facility);
672 if (strlen($form_diagnosis) > 0) {
673 $whr_stmt = $whr_stmt." AND (li.diagnosis LIKE ? or li.diagnosis LIKE ? or li.diagnosis LIKE ? or li.diagnosis = ?) ";
674 array_push($sqlBindArray, $form_diagnosis."%", '%'.$form_diagnosis.'%', '%'.$form_diagnosis, $form_diagnosis);
677 //communication preferences added in clinical report
678 if (strlen($communication) > 0 || $_POST['communication_check'] == true) {
679 if ($communication == "allow_sms") {
680 $whr_stmt .= " AND pd.hipaa_allowsms = 'YES' ";
681 } else if ($communication == "allow_voice") {
682 $whr_stmt .= " AND pd.hipaa_voice = 'YES' ";
683 } else if ($communication == "allow_mail") {
684 $whr_stmt .= " AND pd.hipaa_mail = 'YES' ";
685 } else if ($communication == "allow_email") {
686 $whr_stmt .= " AND pd.hipaa_allowemail = 'YES' ";
687 } else if ($communication == "" && $_POST['communication_check'] == true) {
688 $whr_stmt .= " AND (pd.hipaa_allowsms = 'YES' OR pd.hipaa_voice = 'YES' OR pd.hipaa_mail = 'YES' OR pd.hipaa_allowemail = 'YES') ";
692 //Immunization where condition for full text or short text
693 if (strlen($form_immunization) > 0) {
694 $whr_stmt .= " AND (
695 immc.code_text LIKE ?
696 OR immc.code_text_short LIKE ?
697 ) ";
698 array_push($sqlBindArray, '%'.$form_immunization.'%', '%'.$form_immunization.'%');
701 // order by
702 if ($_POST['form_pt_name'] == true) {
703 $odrstmt=$odrstmt.",patient_name";
706 if ($_POST['form_pt_age'] == true) {
707 $odrstmt=$odrstmt.",patient_age";
710 if ((strlen($form_diagnosis) > 0)) {
711 $odrstmt=$odrstmt.",lists_diagnosis";
712 } elseif (($_POST['form_diagnosis_allergy'] == true) || ($_POST['form_diagnosis_medprb'] == true)) {
713 $odrstmt=$odrstmt.",lists_title";
716 if (($_POST['form_drug'] == true) || (strlen($form_drug_name) > 0)) {
717 $odrstmt=$odrstmt.",r.drug";
720 if (($_POST['ndc_no'] == true) && (strlen($form_drug_name) > 0)) {
721 $odrstmt=$odrstmt.",d.ndc_number";
724 if (($_POST['lab_results'] == true) || (strlen($form_lab_results) > 0)) {
725 $odrstmt=$odrstmt.",procedure_result_result";
728 if (strlen($communication) > 0 || $_POST['communication_check'] == true) {
729 $odrstmt=$odrstmt.",ROUND((LENGTH(communications) - LENGTH(REPLACE(communications, ',', '')))/LENGTH(',')) , communications";
733 if ($odrstmt == '') {
734 $odrstmt = " ORDER BY patient_id";
735 } else {
736 $odrstmt = " ORDER BY ".ltrim($odrstmt, ",");
739 if ($type == 'Medical History') {
740 $sqlstmt="select * from (".$sqlstmt." ".$whr_stmt." ".$odrstmt.",history_data_date desc) a group by patient_id";
741 } else {
742 $sqlstmt=$sqlstmt." ".$whr_stmt." ".$odrstmt;
745 $result = sqlStatement($sqlstmt, $sqlBindArray);
747 $row_id = 1.1;//given to each row to identify and toggle
748 $img_id = 1.2;
749 $k=1.3;
751 if (sqlNumRows($result) > 0) {
752 //Added on 6-jun-2k14(regarding displaying smoking code descriptions)
753 $smoke_codes_arr = getSmokeCodes();
755 <br>
756 <div id = "report_results">
758 <?php $pidarr = array();
759 while ($row = sqlFetchArray($result)) { ?>
760 <table width=90% align="center" cellpadding="5" cellspacing="0" style="font-family:tahoma;color:black;" border="0">
761 <tr bgcolor = "#CCCCCC" style="font-size:15px;">
762 <td><b><?php echo htmlspecialchars(xl('Summary of'), ENT_NOQUOTES);
763 echo " "; ?> <?php echo htmlspecialchars($row['patient_name'], ENT_NOQUOTES); ?></b></td>
764 <td>&nbsp;</td>
765 <td>&nbsp;</td>
766 <td align="center">
767 <span onclick="javascript:Toggle_trGrpHeader2(<?php echo $row_id; ?>,<?php echo $img_id; ?>);"><img src="../pic/blue-down-arrow.gif" id="<?php echo $img_id;
768 $img_id++; ?>" title="<?php echo htmlspecialchars(xl('Click here to view patient details'), ENT_QUOTES); ?>" /></span>
769 </td></tr>
770 <table width="100%" align="center" id = "<?php echo $row_id;
771 $row_id++;?>" class="border1" style="display:none; font-size:13px;" cellpadding=5>
772 <tr bgcolor="#C3FDB8" align="left">
773 <td width="15%"><b><?php echo htmlspecialchars(xl('Patient Name'), ENT_NOQUOTES); ?></b></td>
774 <td width="5%"><b><?php echo htmlspecialchars(xl('PID'), ENT_NOQUOTES);?></b></td>
775 <td width="5%"><b><?php echo htmlspecialchars(xl('Age'), ENT_NOQUOTES);?></b></td>
776 <td width="10%"><b><?php echo htmlspecialchars(xl('Gender'), ENT_NOQUOTES); ?></b></td>
777 <td width="15%"><b><?php echo htmlspecialchars(xl('Race'), ENT_NOQUOTES);?></b></td>
778 <td width="15%"><b><?php echo htmlspecialchars(xl('Ethnicity'), ENT_NOQUOTES);?></b></td>
779 <td width="15%" <?php
780 if (strlen($communication) == 0 || $_POST['communication_check'] == true) {
781 ?> colspan=5 <?php
782 } ?>><b><?php echo htmlspecialchars(xl('Provider'), ENT_NOQUOTES);?></b></td>
783 <?php if (strlen($communication) > 0 || ($_POST['communication_check'] == true)) { ?>
784 <td colspan=4><b><?php echo xlt('Communication');?></b></td>
785 <?php } ?>
786 </tr>
787 <tr bgcolor="#FFFFFF">
788 <td><?php echo htmlspecialchars($row['patient_name'], ENT_NOQUOTES); ?>&nbsp;</td>
789 <td> <?php echo htmlspecialchars($row['patient_id'], ENT_NOQUOTES); ?>&nbsp;</td>
790 <td> <?php echo htmlspecialchars($row['patient_age'], ENT_NOQUOTES); ?>&nbsp;</td>
791 <td> <?php echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'sex'), $row['patient_sex']), ENT_NOQUOTES); ?>&nbsp;</td>
792 <td> <?php echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'race'), $row['patient_race']), ENT_NOQUOTES); ?>&nbsp;</td>
793 <td> <?php echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'ethnicity'), $row['patient_ethinic']), ENT_NOQUOTES); ?>&nbsp;</td>
794 <td <?php
795 if (strlen($communication) == 0 || ($_POST['communication_check'] == true)) {
796 ?> colspan=5 <?php
797 } ?>> <?php echo htmlspecialchars($row['users_provider'], ENT_NOQUOTES); ?>&nbsp;</td>
799 <?php if (strlen($communication) > 0 || $_POST['communication_check'] == true) { ?>
800 <td colspan=4><?php echo text($row['communications']); ?></td>
801 <?php } ?>
802 </tr>
803 <!-- Diagnosis Report Start-->
804 <?php
805 if (strlen($form_diagnosis) > 0 || $_POST['form_diagnosis_allergy'] == true || $_POST['form_diagnosis_medprb'] == true) {
807 <tr bgcolor="#C3FDB8" align= "left">
808 <td colspan=12><b><?php echo "#";
809 echo htmlspecialchars(xl('Diagnosis Report'), ENT_NOQUOTES);?></b></td>
810 </tr>
811 <tr bgcolor="#C3FDB8" align= "left">
812 <td><b><?php echo htmlspecialchars(xl('Diagnosis Date'), ENT_NOQUOTES);?></b></td>
813 <td><b><?php echo htmlspecialchars(xl('Diagnosis'), ENT_NOQUOTES);?></b></td>
814 <td colspan=10><b><?php echo htmlspecialchars(xl('Diagnosis Name'), ENT_NOQUOTES);?></b></td>
815 </tr>
816 <tr bgcolor="#FFFFFF">
817 <td><?php echo htmlspecialchars($row['lists_date'], ENT_NOQUOTES); ?>&nbsp;</td>
818 <td><?php echo htmlspecialchars($row['lists_diagnosis'], ENT_NOQUOTES); ?>&nbsp;</td>
819 <td colspan=10><?php echo htmlspecialchars($row['lists_title'], ENT_NOQUOTES); ?>&nbsp;</td>
820 </tr>
821 <?php
822 } ?>
823 <!-- Diagnosis Report End-->
825 <!-- Prescription Report Start-->
826 <?php
827 if (strlen($form_drug_name) > 0 || $_POST['form_drug'] == true) {
829 <tr bgcolor="#C3FDB8" align= "left">
830 <td colspan=12><b><?php echo "#";
831 echo htmlspecialchars(xl('Prescription Report'), ENT_NOQUOTES);?><b></td></tr>
832 <tr bgcolor="#C3FDB8" align= "left">
833 <td><b><?php echo htmlspecialchars(xl('Date'), ENT_NOQUOTES); ?></b></td>
834 <td><b><?php echo htmlspecialchars(xl('Drug Name'), ENT_NOQUOTES);?></b></td>
835 <td><b><?php echo htmlspecialchars(xl('Route'), ENT_NOQUOTES);?></b></td>
836 <td><b><?php echo htmlspecialchars(xl('Dosage'), ENT_NOQUOTES);?></b></td>
837 <td><b><?php echo htmlspecialchars(xl('Form'), ENT_NOQUOTES);?></b></td>
838 <td><b><?php echo htmlspecialchars(xl('Interval'), ENT_NOQUOTES);?></b></td>
839 <td><b><?php echo htmlspecialchars(xl('Size'), ENT_NOQUOTES);?></b></td>
840 <td><b><?php echo htmlspecialchars(xl('Unit'), ENT_NOQUOTES);?></b></td>
841 <td><b><?php echo htmlspecialchars(xl('ReFill'), ENT_NOQUOTES);?></b></td>
842 <td><b><?php echo htmlspecialchars(xl('Quantity'), ENT_NOQUOTES);?></b></td>
843 <td colspan="2"><b><?php echo htmlspecialchars(xl('NDC'), ENT_NOQUOTES);?></b></td>
844 </tr>
845 <tr bgcolor="#FFFFFF" align="">
846 <?php
847 $rx_route = generate_display_field(array('data_type'=>'1','list_id'=>'drug_route'), $row['route']) ;
848 $rx_form = generate_display_field(array('data_type'=>'1','list_id'=>'drug_form'), $row['hform']) ;
849 $rx_interval = generate_display_field(array('data_type'=>'1','list_id'=>'drug_interval'), $row['hinterval']) ;
850 $rx_units = generate_display_field(array('data_type'=>'1','list_id'=>'drug_units'), $row['hunit']);
852 <td> <?php echo htmlspecialchars(oeFormatShortDate($row['prescriptions_date_modified']), ENT_NOQUOTES); ?>&nbsp;</td>
853 <td><?php echo htmlspecialchars($row['drug'], ENT_NOQUOTES); ?></td>
854 <td><?php echo htmlspecialchars($rx_route, ENT_NOQUOTES); ?></td>
855 <td><?php echo htmlspecialchars($row['dosage'], ENT_NOQUOTES); ?></td>
856 <td><?php echo htmlspecialchars($rx_form, ENT_NOQUOTES); ?></td>
857 <td><?php echo htmlspecialchars($rx_interval, ENT_NOQUOTES); ?></td>
858 <td><?php echo htmlspecialchars($row['size'], ENT_NOQUOTES); ?></td>
859 <td><?php echo htmlspecialchars($rx_units, ENT_NOQUOTES); ?></td>
860 <td><?php echo htmlspecialchars($row['refills'], ENT_NOQUOTES); ?></td>
861 <td><?php echo htmlspecialchars($row['quantity'], ENT_NOQUOTES); ?></td>
862 <td colspan="2"><?php echo htmlspecialchars($row['ndc_number'], ENT_NOQUOTES); ?></td>
863 </tr>
864 <?php
865 } ?>
866 <!-- Prescription Report End-->
868 <!-- Lab Results Report Start-->
869 <?php
870 if (strlen($form_lab_results) > 0 || $_POST['lab_results'] == true) {
872 <tr bgcolor="#C3FDB8" align= "left">
873 <td colspan=12><b><?php echo "#";
874 echo htmlspecialchars(xl('Lab Results Report'), ENT_NOQUOTES);?><b></td></tr>
875 <tr bgcolor="#C3FDB8" align= "left">
876 <td><b><?php echo htmlspecialchars(xl('Date'), ENT_NOQUOTES); ?></b></td>
877 <td><b><?php echo htmlspecialchars(xl('Facility'), ENT_NOQUOTES);?></b></td>
878 <td><b><?php echo htmlspecialchars(xl('Unit'), ENT_NOQUOTES);?></b></td>
879 <td><b><?php echo htmlspecialchars(xl('Result'), ENT_NOQUOTES);?></b></td>
880 <td><b><?php echo htmlspecialchars(xl('Range'), ENT_NOQUOTES);?></b></td>
881 <td><b><?php echo htmlspecialchars(xl('Abnormal'), ENT_NOQUOTES);?></b></td>
882 <td><b><?php echo htmlspecialchars(xl('Comments'), ENT_NOQUOTES);?></b></td>
883 <td colspan=5><b><?php echo htmlspecialchars(xl('Document ID'), ENT_NOQUOTES);?></b></td>
884 </tr>
885 <tr bgcolor="#FFFFFF">
886 <td> <?php echo htmlspecialchars(oeFormatShortDate($row['procedure_result_date']), ENT_NOQUOTES); ?>&nbsp;</td>
887 <td> <?php echo htmlspecialchars($row['procedure_result_facility'], ENT_NOQUOTES); ?>&nbsp;</td>
888 <td> <?php echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'proc_unit'), $row['procedure_result_units']), ENT_NOQUOTES); ?>&nbsp;</td>
889 <td> <?php echo htmlspecialchars($row['procedure_result_result'], ENT_NOQUOTES); ?>&nbsp;</td>
890 <td> <?php echo htmlspecialchars($row['procedure_result_range'], ENT_NOQUOTES); ?>&nbsp;</td>
891 <td> <?php echo htmlspecialchars($row['procedure_result_abnormal'], ENT_NOQUOTES); ?>&nbsp;</td>
892 <td> <?php echo htmlspecialchars($row['procedure_result_comments'], ENT_NOQUOTES); ?>&nbsp;</td>
893 <td colspan=5> <?php echo htmlspecialchars($row['procedure_result_document_id'], ENT_NOQUOTES); ?>&nbsp;</td>
894 </tr>
895 <?php
896 } ?>
897 <!-- Lab Results End-->
899 <!-- Procedures Report Start-->
900 <?php
901 if ($type == 'Procedure') {
903 <tr bgcolor="#C3FDB8" align= "left">
904 <td colspan=12><b><?php echo "#";
905 echo htmlspecialchars(xl('Procedure Report'), ENT_NOQUOTES);?><b></td></tr>
906 <tr bgcolor="#C3FDB8" align= "left">
907 <td><b><?php echo htmlspecialchars(xl('Date'), ENT_NOQUOTES); ?></b></td>
908 <td><b><?php echo htmlspecialchars(xl('Standard Name'), ENT_NOQUOTES);?></b></td>
909 <td><b><?php echo htmlspecialchars(xl('Procedure'), ENT_NOQUOTES); ?></b></td>
910 <td><b><?php echo htmlspecialchars(xl('Encounter'), ENT_NOQUOTES);?></b></td>
911 <td><b><?php echo htmlspecialchars(xl('Priority'), ENT_NOQUOTES);?></b></td>
912 <td><b><?php echo htmlspecialchars(xl('Status'), ENT_NOQUOTES);?></b></td>
913 <td><b><?php echo htmlspecialchars(xl('Instruction'), ENT_NOQUOTES);?></b></td>
914 <td><b><?php echo htmlspecialchars(xl('Activity'), ENT_NOQUOTES);?></b></td>
915 <td colspan=3><b><?php echo htmlspecialchars(xl('Control ID'), ENT_NOQUOTES);?></b></td>
916 </tr>
917 <tr bgcolor="#FFFFFF">
918 <?php
919 $procedure_type_standard_code_arr = explode(':', $row['procedure_type_standard_code']);
920 $procedure_type_standard_code = $procedure_type_standard_code_arr[1];
922 <!-- Procedure -->
923 <td> <?php echo htmlspecialchars(oeFormatShortDate($row['procedure_order_date_ordered']), ENT_NOQUOTES); ?>&nbsp;</td>
924 <td> <?php echo htmlspecialchars($procedure_type_standard_code, ENT_NOQUOTES); ?>&nbsp;</td>
925 <td> <?php echo htmlspecialchars($row['procedure_name'], ENT_NOQUOTES); ?>&nbsp;</td>
926 <td> <?php echo htmlspecialchars($row['procedure_order_encounter'], ENT_NOQUOTES); ?>&nbsp;</td>
927 <td> <?php echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'ord_priority'), $row['procedure_order_order_priority']), ENT_NOQUOTES); ?>&nbsp;</td>
928 <td> <?php echo htmlspecialchars(generate_display_field(array('data_type'=>'1','list_id'=>'ord_status'), $row['procedure_order_order_status']), ENT_NOQUOTES); ?>&nbsp;</td>
929 <td> <?php echo htmlspecialchars($row['procedure_order_patient_instructions'], ENT_NOQUOTES); ?>&nbsp;</td>
930 <td> <?php echo htmlspecialchars($row['procedure_order_activity'], ENT_NOQUOTES); ?>&nbsp;</td>
931 <td colspan=3> <?php echo htmlspecialchars($row['procedure_order_control_id'], ENT_NOQUOTES); ?>&nbsp;</td>
933 </tr>
934 <?php
935 } ?>
936 <!-- Procedure Report End-->
938 <!-- Medical History Report Start-->
939 <?php
940 if ($type == 'Medical History') {
942 <tr bgcolor="#C3FDB8" align= "left">
943 <td colspan=12><b><?php echo "#";
944 echo htmlspecialchars(xl('Medical History'), ENT_NOQUOTES);?><b></td></tr>
945 <tr bgcolor="#C3FDB8" align= "left">
946 <td><b><?php echo htmlspecialchars(xl('History Date'), ENT_NOQUOTES); ?></b></td>
947 <td><b><?php echo htmlspecialchars(xl('Tobacco'), ENT_NOQUOTES);?></b></td>
948 <td><b><?php echo htmlspecialchars(xl('Alcohol'), ENT_NOQUOTES);?></b></td>
949 <td colspan=8><b><?php echo htmlspecialchars(xl('Recreational Drugs'), ENT_NOQUOTES);?></b></td>
950 </tr>
951 <tr bgcolor="#FFFFFF">
952 <?php
953 $tmp_t = explode('|', $row['history_data_tobacco']);
954 $tmp_a = explode('|', $row['history_data_alcohol']);
955 $tmp_d = explode('|', $row['history_data_recreational_drugs']);
956 $his_tobac = generate_display_field(array('data_type'=>'1','list_id'=>'smoking_status'), $tmp_t[3]) ;
958 <td> <?php echo htmlspecialchars(oeFormatShortDate($row['history_data_date']), ENT_NOQUOTES); ?>&nbsp;</td>
959 <td> <?php
960 //Added on 6-jun-2k14(regarding displaying smoking code descriptions)
961 if (!empty($smoke_codes_arr[$tmp_t[3]])) {
962 $his_tobac.= " ( ".$smoke_codes_arr[$tmp_t[3]]." )";
965 echo htmlspecialchars($his_tobac, ENT_NOQUOTES); ?>&nbsp;</td>
966 <?php
967 if ($tmp_a[1] == "currentalcohol") {
968 $res = xl('Current Alcohol');
971 if ($tmp_a[1] == "quitalcohol") {
972 $res = xl('Quit Alcohol');
975 if ($tmp_a[1] == "neveralcohol") {
976 $res = xl('Never Alcohol');
979 if ($tmp_a[1] == "not_applicablealcohol") {
980 $res = xl('N/A');
983 <td> <?php echo htmlspecialchars($res, ENT_NOQUOTES); ?>&nbsp;</td>
984 <?php
985 if ($tmp_d[1] == "currentrecreational_drugs") {
986 $resd = xl('Current Recreational Drugs');
989 if ($tmp_d[1] == "quitrecreational_drugs") {
990 $resd = xl('Quit');
993 if ($tmp_d[1] == "neverrecreational_drugs") {
994 $resd = xl('Never');
997 if ($tmp_d[1] == "not_applicablerecreational_drugs") {
998 $resd = xl('N/A');
1001 <td colspan=8> <?php echo htmlspecialchars($resd, ENT_NOQUOTES); ?>&nbsp;</td>
1002 </tr>
1003 <?php
1004 } ?>
1005 <!-- Medical History Report End-->
1007 <!-- Service Codes Report Start-->
1008 <?php
1009 if ($type == 'Service Codes') {
1011 <tr bgcolor="#C3FDB8" align= "left">
1012 <td colspan=11><b><?php echo "#";
1013 echo htmlspecialchars(xl('Service Codes'), ENT_NOQUOTES);?><b></td></tr>
1014 <tr bgcolor="#C3FDB8" align= "left">
1015 <td><b><?php echo htmlspecialchars(xl('Date'), ENT_NOQUOTES); ?></b></td>
1016 <td><b><?php echo htmlspecialchars(xl('Code'), ENT_NOQUOTES);?></b></td>
1017 <td><b><?php echo htmlspecialchars(xl('Encounter ID'), ENT_NOQUOTES);?></b></td>
1018 <td colspan=8><b><?php echo htmlspecialchars(xl('Code Text'), ENT_NOQUOTES);?></b></td></tr>
1019 <tr bgcolor="#FFFFFF">
1020 <td><?php echo htmlspecialchars(oeFormatShortDate($row['date']), ENT_NOQUOTES); ?>&nbsp;</td>
1021 <td><?php echo htmlspecialchars($row['code'], ENT_NOQUOTES); ?>&nbsp;</td>
1022 <td><?php echo htmlspecialchars($row['encounter'], ENT_NOQUOTES); ?>&nbsp;</td>
1023 <td colspan=8><?php echo htmlspecialchars($row['code_text'], ENT_NOQUOTES); ?>&nbsp;</td>
1024 </tr>
1025 <?php
1026 } ?>
1027 <!-- Service Codes Report End-->
1029 <!-- Immunization Report Start-->
1030 <?php
1031 if (strlen($form_immunization) > 0) {?>
1032 <tr bgcolor="#C3FDB8" align= "left">
1033 <td colspan=12><b><?php echo "#";
1034 echo htmlspecialchars(xl('Immunization Report'), ENT_NOQUOTES);?></b></td>
1035 </tr>
1036 <tr bgcolor="#C3FDB8" align= "left">
1037 <td><b><?php echo htmlspecialchars(xl('Immunization Date'), ENT_NOQUOTES);?></b></td>
1038 <td><b><?php echo htmlspecialchars(xl('CVX Code'), ENT_NOQUOTES);?></b></td>
1039 <td><b><?php echo htmlspecialchars(xl('Vaccine'), ENT_NOQUOTES);?></b></td>
1040 <td><b><?php echo htmlspecialchars(xl('Amount'), ENT_NOQUOTES);?></b></td>
1041 <td><b><?php echo htmlspecialchars(xl('Administered Site'), ENT_NOQUOTES);?></b></td>
1042 <td colspan="7"><b><?php echo htmlspecialchars(xl('Notes'), ENT_NOQUOTES);?></b></td>
1043 </tr>
1044 <tr bgcolor="#FFFFFF">
1045 <td><?php echo htmlspecialchars($row['imm_date'], ENT_NOQUOTES); ?>&nbsp;</td>
1046 <td><?php echo htmlspecialchars($row['cvx_code'], ENT_NOQUOTES); ?>&nbsp;</td>
1047 <td><?php echo htmlspecialchars($row['imm_code_short'], ENT_NOQUOTES)." (".htmlspecialchars($row['imm_code']).")"; ?>&nbsp;</td>
1048 <td>
1049 <?php
1050 if ($row["amount_administered"] > 0) {
1051 echo htmlspecialchars($row["amount_administered"] . " " . generate_display_field(array('data_type'=>'1','list_id'=>'drug_units'), $row['amount_administered_unit']), ENT_NOQUOTES);
1052 } else {
1053 echo "&nbsp;";
1057 </td>
1059 <td>
1060 <?php echo generate_display_field(array('data_type'=>'1','list_id'=>'proc_body_site'), $row['administration_site']); ?>
1061 </td>
1063 <td colspan="7">
1064 <?php echo htmlspecialchars($row['notes']); ?>
1065 </td>
1066 </tr>
1067 <?php
1068 } ?>
1069 <!-- Immunization Report End-->
1070 </table>
1071 <?php
1072 } //while loop end ?>
1073 </table> <!-- Main table ends -->
1074 <?php
1075 } //End if $result
1076 } //End if form_refresh
1077 else {
1078 ?><div class='text'> <?php echo htmlspecialchars(xl('Please input search criteria above, and click Submit to view results.'), ENT_NOQUOTES); ?> </div><?php
1081 </form>
1082 </body>
1084 </html>