4 * To be run by cron hourly, sending phone reminders
7 * @link http://www.open-emr.org
8 * @author Brady Miller <brady.g.miller@gmail.com>
9 * @author Jason 'Toolbox' Oettinger <jason@oettinger.email>
10 * @author Robert Down <robertdown@live.com>
11 * @copyright Copyright (c) 2012 Brady Miller <brady.g.miller@gmail.com>
12 * @copyright Copyright (c) 2017 Jason 'Toolbox' Oettinger <jason@oettinger.email>
13 * @copyright Copyright (c) 2017-2023 Robert Down <robertdown@live.com>
14 * @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3
17 require_once(dirname(__FILE__
) . "/../../interface/globals.php");
18 require_once($GLOBALS['srcdir'] . "/maviq_phone_api.php");
19 require_once($GLOBALS['srcdir'] . "/reminders.php");
20 require_once($GLOBALS['srcdir'] . "/report_database.inc.php");
22 use OpenEMR\Core\Header
;
24 //Remove time limit, since script can take many minutes
27 // If report_id, then just going to show the report log
28 $report_id = ($_GET['report_id']) ?
$_GET['report_id'] : "";
30 // Set the "nice" level of the process for this script when. When the "nice" level
31 // is increased, this cpu intensive script will have less affect on the performance
32 // of other server activities, albeit it may negatively impact the performance
33 // of this script (note this is only applicable for linux).
34 if (empty($report_id) && !empty($GLOBALS['pat_rem_clin_nice'])) {
35 proc_nice($GLOBALS['pat_rem_clin_nice']);
41 <?php Header
::setupHeader(); ?
>
42 <title
><?php
echo xlt('Patient Reminder Batch Job') ?
></title
>
44 <body
class="body_top container">
46 <?php
require_once("batch_navigation.php");?
>
47 <h1
class="col-md-12">
48 <a href
="batchcom.php"><?php
echo xlt('Batch Communication Tool'); ?
></a
>
49 <small
><?php
echo xlt('Patient Reminder Batch Job'); ?
></small
>
53 // Collect the sender information
59 <main
class="row mx-4">
60 <div
class="col-md-12">
61 <table
class="table table-striped table-bordered">
63 <td
class='text' align
='left' colspan
="3"><br
/>
67 // collect log from a previous run to show
68 $results_log = collectReportDatabase($report_id);
69 $data_log = json_decode($results_log['data'], true);
70 $update_rem_log = $data_log[0];
71 if ($results_log['type'] == "process_send_reminders") {
72 $send_rem_log = $data_log[1];
75 echo "<span class='text'>" . xlt("Date of Report") . ": " . text($results_log['date_report']) . "</span><br /><br />";
77 $update_rem_log = update_reminders_batch_method();
78 $send_rem_log = send_reminders();
82 <span
class="text"><?php
echo xlt('The patient reminders have been updated') . ":"?
></span
><br
/>
83 <span
class="text"><?php
echo xlt('Total active actions') . ": " . text($update_rem_log['total_active_actions']); ?
></span
><br
/>
84 <span
class="text"><?php
echo xlt('Total active reminders before update') . ": " . text($update_rem_log['total_pre_active_reminders']); ?
></span
><br
/>
85 <span
class="text"><?php
echo xlt('Total unsent reminders before update') . ": " . text($update_rem_log['total_pre_unsent_reminders']); ?
></span
><br
/>
86 <span
class="text"><?php
echo xlt('Total active reminders after update') . ": " . text($update_rem_log['total_post_active_reminders']); ?
></span
><br
/>
87 <span
class="text"><?php
echo xlt('Total unsent reminders after update') . ": " . text($update_rem_log['total_post_unsent_reminders']); ?
></span
><br
/>
88 <span
class="text"><?php
echo xlt('Total new reminders') . ": " . text($update_rem_log['number_new_reminders']); ?
></span
><br
/>
89 <span
class="text"><?php
echo xlt('Total updated reminders') . ": " . text($update_rem_log['number_updated_reminders']); ?
></span
><br
/>
90 <span
class="text"><?php
echo xlt('Total inactivated reminders') . ": " . text($update_rem_log['number_inactivated_reminders']); ?
></span
><br
/>
91 <span
class="text"><?php
echo xlt('Total unchanged reminders') . ": " . text($update_rem_log['number_unchanged_reminders']); ?
></span
><br
/>
93 <?php
if ($results_log['type'] != "process_reminders") { ?
>
94 <br
/><span
class="text"><?php
echo xlt('The patient reminders have been sent') . ":"?
></span
><br
/>
95 <span
class="text"><?php
echo xlt('Total unsent reminders before sending process') . ": " . text($send_rem_log['total_pre_unsent_reminders']); ?
></span
><br
/>
96 <span
class="text"><?php
echo xlt('Total unsent reminders after sending process') . ": " . text($send_rem_log['total_post_unsent_reminders']); ?
></span
><br
/>
97 <span
class="text"><?php
echo xlt('Total successful reminders sent via email') . ": " . text($send_rem_log['number_success_emails']); ?
></span
><br
/>
98 <span
class="text"><?php
echo xlt('Total failed reminders sent via email') . ": " . text($send_rem_log['number_failed_emails']); ?
></span
><br
/>
99 <span
class="text"><?php
echo xlt('Total successful reminders sent via phone') . ": " . text($send_rem_log['number_success_calls']); ?
></span
><br
/>
100 <span
class="text"><?php
echo xlt('Total failed reminders sent via phone') . ": " . text($send_rem_log['number_unchanged_reminders'] ??
''); ?
></span
><br
/>
102 <br
/><span
class="text"><?php
echo xlt('(Email delivery is immediate, while automated VOIP is sent to the service provider for further processing.)')?
></span
><br
/>
103 <?php
} // end of ($results_log['type'] != "process_reminders") ?>
105 <?php
if ($report_id) { ?
>
106 <br
/><input type
="button" value
="<?php echo xlt('Back'); ?>" onClick
="top.restoreSession(); window.open('../reports/report_results.php','_self',false)"><br
/><br
/><br
/>
108 <input type
="button" value
="<?php echo xlt('Close'); ?>" onClick
="window.close()">