From c8cd91f471ce4cf55efaaff304798781a1ed5152 Mon Sep 17 00:00:00 2001 From: Rod Roark Date: Tue, 24 Jul 2012 09:28:12 -0700 Subject: [PATCH] Added option to filter by provider in Patient List report. --- interface/reports/patient_list.php | 35 ++++++++++++++++++++++++++++------- library/options.inc.php | 2 +- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/interface/reports/patient_list.php b/interface/reports/patient_list.php index b8089b670..e8afe077b 100644 --- a/interface/reports/patient_list.php +++ b/interface/reports/patient_list.php @@ -12,6 +12,7 @@ require_once("../globals.php"); require_once("$srcdir/patient.inc"); require_once("$srcdir/formatting.inc.php"); + require_once("$srcdir/options.inc.php"); // Prepare a string for CSV export. function qescape($str) { @@ -26,6 +27,8 @@ function qescape($str) { if (empty($to_date) && !empty($from_date)) $to_date = date('Y-12-31'); if (empty($from_date) && !empty($to_date)) $from_date = date('Y-01-01'); +$form_provider = empty($_POST['form_provider']) ? 0 : intval($_POST['form_provider']); + // In the case of CSV export only, a download will be forced. if ($_POST['form_csvexport']) { header("Pragma: public"); @@ -108,6 +111,15 @@ else { + + @@ -210,13 +222,25 @@ if ($_POST['form_refresh'] || $_POST['form_csvexport']) { "i1.date AS idate1, i2.date AS idate2, " . "c1.name AS cname1, c2.name AS cname2 " . "FROM patient_data AS p "; - if (!empty($from_date)) $query .= - "JOIN form_encounter AS e ON " . + if (!empty($from_date)) { + $query .= "JOIN form_encounter AS e ON " . "e.pid = p.pid AND " . "e.date >= '$from_date 00:00:00' AND " . "e.date <= '$to_date 23:59:59' "; - else $query .= - "LEFT OUTER JOIN form_encounter AS e ON e.pid = p.pid "; + if ($form_provider) { + $query .= "AND e.provider_id = '$form_provider' "; + } + } + else { + if ($form_provider) { + $query .= "JOIN form_encounter AS e ON " . + "e.pid = p.pid AND e.provider_id = '$form_provider' "; + } + else { + $query .= "LEFT OUTER JOIN form_encounter AS e ON " . + "e.pid = p.pid "; + } + } $query .= "LEFT OUTER JOIN insurance_data AS i1 ON " . "i1.pid = p.pid AND i1.type = 'primary' " . @@ -234,9 +258,6 @@ if ($_POST['form_refresh'] || $_POST['form_csvexport']) { while ($row = sqlFetchArray($res)) { if ($row['pid'] == $prevpid) continue; $prevpid = $row['pid']; - - /****/ - $age = ''; if ($row['DOB']) { $dob = $row['DOB']; diff --git a/library/options.inc.php b/library/options.inc.php index 4b6b3b870..f75ad6f89 100644 --- a/library/options.inc.php +++ b/library/options.inc.php @@ -204,7 +204,7 @@ function generate_form_field($frow, $currvalue) { "AND authorized = 1 " . "ORDER BY lname, fname"); echo "
+ : + + 10, 'field_id' => 'provider', + 'empty_title' => '-- ' . xl('All') . ' --'), $form_provider); + ?> + :