#!/usr/bin/perl
=begin -------------------------------------------------------------------------
list of new, relapsed or all cases from variety of age ranges & diagnoses:
=cut ---------------------------------------------------------------------------
use Getopt::Std;
getopts('d:tq'); # days, testing, query output
our($opt_d,$opt_t,$opt_q); # warn $opt_t; exit;
use strict;
use warnings;
use lib '/home/raj/perl5/lib/perl5';
use FindBin qw($Bin); # warn $Bin;
use Data::Printer;
use lib "$Bin/../../../lib";
use LIMS::Local::ScriptHelpers;
############ recipients from contacts.lib ######################################
my @recipients = map $_ . '.secure', qw(
heather.hall
rod.johnson
amy.humphries
cathy.burton
raj
); # p @recipients;
################################################################################
my $JUST_TESTING = $opt_t || 0; # email to ra.jones only
my $delta_days = $opt_d || 1;
my $tools = LIMS::Local::ScriptHelpers->new();
$tools->test_only($JUST_TESTING);
# get tools from LIMS::Local::ScriptHelpers:
my $sql_lib = $tools->sql_lib();
my $config = $tools->config();
my $dbix = $tools->dbix();
# get date yesterday - handles BST:
my $yesterday = $tools->date_subtract(days => $delta_days)->dmy('/'); # warn $yesterday; exit;
# get sql statment:
my $sql = $sql_lib->retr('yhhn_potential_trial_cases'); # p $sql;
# email subject line:
my $subject = "Potential clinical trial cases [$yesterday]";
# template:
my $tt_file = 'cron/potential_trial_cases.tt';
my @data = $dbix->query($sql, $delta_days)->hashes; # p @data;
exit 0 unless @data;
my @cols = qw(hmds_ref last_name first_name dob age nhs_number location
diagnosis status);
my $message = do{
my %args = ( data => \@data, cols => \@cols, date => $yesterday );
$tools->process_template('cron/potential_trial_cases.tt', \%args);
};
my %mail = (
content => 'html',
config => $config,
message => $message,
subject => $subject,
); # warn Dumper \%mail; exit;
$tools->send_mail(\%mail, \@recipients) unless $opt_q;