ESH/bu_rule_report.php
2024-10-23 18:28:06 +05:30

1054 lines
56 KiB
PHP

<?php include('techsyn_header.php'); ?>
<!-- Main Content Container for side bar and body-->
<style>
:root {
--dis: none;
}
.close-choice::after {
content: "\f00d";
display: var(--dis);
color: #888;
font-family: FontAwesome;
font-size: 13px;
position: absolute;
right: 30px;
top: 3px;
cursor: pointer;
}
.page-content {
height: 100%;
/* background-image: url('images/cool-background.png'); */
background-repeat: no-repeat;
background-size: cover;
}
.panel-title.center,
.page-heading,
.breadcrumb,
h1 {
font-family: 'Roboto Serif', serif !important;
}
.card {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
transition: 0.3s;
height: 40px;
width: 100%;
border-radius: 5px;
/* margin-top: 10px; */
border-radius: 5px 5px 5px 5px !important;
font-family: 'Roboto Serif', serif;
}
.card:hover {
box-shadow: 0 8px 16px 0 rgba(120, 20, 12, 0.2);
}
.cardcontainer {
padding: 0px 0px;
}
#mybtn {
width: 60px;
/* height: 60px; */
background-color: skyblue;
color: black;
cursor: pointer;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
}
#mybtn:hover {
width: 60px;
/* height: 60px; */
background-color: steelblue;
cursor: pointer;
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}
#spinner_div {
width: 50px;
height: 50px;
border-radius: 50%;
background: conic-gradient(#0000 10%, #25b09b);
-webkit-mask: radial-gradient(farthest-side, #0000 calc(100% - 8px), #000 0);
animation: s3 1s infinite linear;
}
@keyframes s3 {
to {
transform: rotate(1turn)
}
}
#year,
#month {
width: 80px !important;
}
.input-group-addon {
height: 25px;
width: 30px;
padding: 0px 0px;
}
</style>
<div class="main-container ace-save-state" id="main-container">
<script type="text/javascript">
try {
ace.settings.loadState('main-container')
} catch (e) {}
</script>
<script src="./js/analytics.js"></script>
<script src="./js/Chart.min.js"></script>
<script src="./js/utils.js"></script>
<?php include('techsyn_sidebar.php'); ?>
<!--breadcrumb-->
<div class="main-content">
<div class="main-content-inner">
<div class="breadcrumbs ace-save-state" id="breadcrumbs">
<ul class="breadcrumb">
<li class="active">Reports</li>
<li class="active">Analysis Of Health Records</li>
</ul>
<!-- End of breadcrumb -->
</div>
<div class="page-content" style="background-color:white;">
<div id="flexigridDiv">
<div class="container-fluid">
<form id="business_unit_report_form" name="business_unit_report_form">
<div class="row">
<div class="col-sm-3">
<div class="panel panel-info card">
<div class="panel-heading">
<h3 class="panel-title center">Abnormality And chart Type</h3>
</div>
<div class="panel-body">
<div class="col-sm-6">
<h3 class="center" style="font-size: 10px;">Abnormality</h3>
<select class="chosen-select form-control" id="abnormality_type" name="abnormality_type" onchange="cleanOptions('abnormality_type');" data-placeholder="Choose Abnormality">
<option value=""></option>
<?= generateOption('abnormality', 'abnormality_name', 'abnormality_id', '', '') ?>
</select><abbr class="close-choice"></abbr>
</div>
<div class="col-sm-6">
<h3 class="center" style="font-size: 10px;">Chart Type</h3>
<select class="chosen-select form-control" name="choose_chart" id="choose_chart" data-placeholder="Choose Chart">
<option value=""></option>
<option value="bar">Bar Chart</option>
<option value="line">Line Chart</option>
<option value="doughnut">Doughnut Chart</option>
<option value="pie">Pie Chart</option>
<option value="radar">Radar Chart</option>
<!-- <option value="polarArea">PolarArea Chart</option> -->
</select>
</div>
</div>
</div>
</div>
<div class="col-sm-9">
<div class="panel panel-info card">
<div class="panel-heading">
<h3 class="panel-title center">Filters</h3>
</div>
<div class="panel-body">
<div class="col-sm-2">
<h3 class="center" style="font-size: 10px;">Ohc</h3>
<select class="form-control chosen-select" name="ohc" id="ohc" onchange="cleanOptions('ohc')">
<option value=""></option>
<?php
$generate_query = "select * from tbl_users where user_id='" . $_SESSION['user_id'] . "' ";
$result_ohc = mysqli_query($conn, $generate_query);
$row_ohc = mysqli_fetch_assoc($result_ohc);
error_log("qury" . $generate_query);
$ohc_type = getCommaSeperatedValuesForInClause("select ohc_type_id from ohc_type", 'ohc_type_id', $row_ohc['ohc_type']);
error_log("access ohc:" . $ohc_type);
echo generate_options("select ohc_type_id,ohc_type_name from ohc_type where ohc_type_id in ( $ohc_type)", '', 'ohc_type_id', 'ohc_type_name', '', ''); ?>
</select>
</div>
<!-- <div class="col-sm-2">
<h3 class="center" style="font-size: 10px;"> Category</h3>
<select class="chosen-select form-control" name="patient_category" id="patient_category" onchange="cleanOptions('patient_category')">
<option value=""> </option>
<option value="0" <?php if ($patient_cat_id == "0") { ?> selected <?php } ?>>Non-Employee</option>
<option value="1" <?php if ($patient_cat_id == "1") { ?> selected <?php } ?>>Employee</option>
</select>
</div>
<div class="col-sm-2">
<h3 class="center" style="font-size: 10px;">Department</h3>
<select class="chosen-select form-control" id="dept" name="dept" data-placeholder="Choose Department" onchange="cleanOptions('dept')">
<option value=""></option>
<?php echo generateOption('department', 'dept_name', 'dept_id', $dept_id, ''); ?>
</select>
</div>
<div class="col-sm-2">
<h3 class="center" style="font-size: 10px;">Division</h3>
<select class="chosen-select form-control" id="division" name="division" data-placeholder="Choose Division" onchange="cleanOptions('division')">
<option value=""></option>
<?php echo generateOption('bussiness_unit', 'bu_name', 'bu_id', '', ''); ?>
</select>
</div>
<div class="col-sm-2">
<h3 class="center" style="font-size: 10px;">Gender</h3>
<select class="chosen-select form-control" id="gender" name="gender" data-placeholder="Choose Gender" onchange="cleanOptions('gender')">
<option value=""></option>
<option value="M">Male</option>
<option value="F">Female</option>
</select>
</div> -->
<div class="col-sm-2">
<h3 class="center" style="font-size: 10px;">Start Date</h3>
<div class="input-group">
<input style="width:70px; height: 25px;" class="form-control date-picker" id="startDate" name="startDate" type="text" data-date-format="dd-mm-yyyy" onchange="cleanOptions('startDate')"> <span class="input-group-addon"> <i style="width:20px;" class="fa fa-calendar bigger-90"></i>
</span>
</div>
</div>
<div class="col-sm-2">
<h3 class="center" style="font-size: 10px;">End Date</h3>
<div class="input-group">
<input style="width:70px; height: 25px;" class="form-control date-picker" id="endDate" name="endDate" type="text" data-date-format="dd-mm-yyyy" onchange="('endDate')"> <span class="input-group-addon"> <i style="width:20px;" class="fa fa-calendar bigger-90"></i>
</span>
</div>
</div>
<div class="col-sm-2">
<h3 class="center" style="font-size: 10px;">Month</h3>
<select class="chosen-select form-control" id="month" name="month[]" multiple="multiple" data-placeholder="Choose month" onchange="cleanOptions('month')">
<option value="1">JANUARY</option>
<option value="2">FEBRUARY</option>
<option value="3">MARCH</option>
<option value="4">APRIL</option>
<option value="5">MAY</option>
<option value="6">JUNE</option>
<option value="7">JULY</option>
<option value="8">AUGUST</option>
<option value="9">SEPTEMBER</option>
<option value="10">OCTOBER</option>
<option value="11">NOVEMBER</option>
<option value="12">DECEMBER</option>
</select>
</div>
<div class="col-sm-2">
<h3 class="center" style="font-size: 10px;">Year</h3>
<select class="chosen-select form-control" id="year" name="year" data-placeholder="Choose Year" onchange="cleanOptions('year')">
<? $a = date('Y', strtotime('-5 year')); ?>
<? $b = date('Y', strtotime('-4 year')); ?>
<? $c = date('Y', strtotime('-3 year')); ?>
<? $d = date('Y', strtotime('-2 year')); ?>
<? $e = date('Y', strtotime('-1 year')); ?>
<? $f = date("Y"); ?>
<option value="">Select</option>
<option value="<?= $a ?>"><?= $a ?></option>
<option value="<?= $b ?>"><?= $b ?></option>
<option value="<?= $c ?>"><?= $c ?></option>
<option value="<?= $d ?>"><?= $d ?></option>
<option value="<?= $e ?>"><?= $e ?></option>
<option value="<?= $f ?>"><?= $f ?></option>
</select>
</div>
<div class="col-sm-2">
<h3 class="center" style="font-size: 10px;">Show Analysis</h3>
<center><button type="button" class="card" id="mybtn" onclick="chartValidate();">Show Analysis</button></center>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- <center><button type="button" class="card" id="mybtn" onclick="chartValidate();">Show Analysis</button></center><br /> -->
</form>
</div>
</div>
</div>
<div class="panel panel-default" id="report_div" style="display: none; border-top: 3px solid #22CECE; border-top-color:black;background-color:white; margin-top: 5px;">
<div class="loader" id="spinner_div" style="display: none;">
</div>
<div class="panel-heading" id="pannel_heading"></div>
<div class="panel-body" id="pannel_content">
</div>
<div class="container">
<div class="row">
<div class="col-sm-6">
<table style="width: 100%;height: 250px;" id="age_wise_emp_dist_table_1" class="center card table table-striped">
</table>
</div>
<div class="col-sm-6">
<div class="card" id="chart_div_1" style="height: 250px;">
</div>
</div>
</div>
<br>
<hr>
<div class="row">
<div class="col-sm-6">
<table style="width: 100%;height: 250px;" id="age_wise_emp_dist_table_2" class="center card table table-striped">
</table>
</div>
<div class="col-sm-6">
<div class="card" id="chart_div_2" style="height: 250px;">
</div>
</div>
</div>
<br>
<hr>
<div class="row">
<div class="col-sm-6">
<table style="height:250px" id="age_wise_emp_dist_table_3" class="center card table table-striped">
</table>
</div>
<div class="col-sm-6">
<div class="card" id="chart_div_3" style="height:300px">
</div>
</div>
</div>
<br>
<hr>
<div class="row">
<div class="col-sm-6">
<table style="height:250px" id="age_wise_emp_dist_table_4" class="center card table table-striped">
</table>
</div>
<div class="col-sm-6">
<div class="card" id="chart_div_4" style="height:250px">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<table style="height:250px" id="age_wise_emp_dist_table_5" class="center card table table-striped">
</table>
</div>
<div class="col-sm-6">
<div class="card" id="chart_div_5" style="height:250px">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<table style="height:250px" id="age_wise_emp_dist_table_6" class="center card table table-striped">
</table>
</div>
<div class="col-sm-6">
<div class="card" id="chart_div_6" style="height:250px">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<table style="height:250px" id="age_wise_emp_dist_table_7" class="center card table table-striped">
</table>
</div>
<div class="col-sm-6">
<div class="card" id="chart_div_7" style="height:250px">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6"></div>
<div class="col-sm-6">
<div class="card" id="chart_div_8" style="height:250px">
</div>
</div>
</div>
</div>
</div>
</div>
<form id="chart_pdf" action="" target="_blank" method="POST">
<input type="hidden" name="htmlText" id="htmlText" />
</form>
</div>
</div>
<!-- /.main-content -->
<script src="spinner.js"></script>
<script src="excel_handler_script.js"></script>
<script src="chart_js_new.js"></script>
<?php include('techsyn_footer.php'); ?>
<script src="jspdf.min.js"></script>
<script src="html2canvas.min.js"></script>
<script type="text/javascript">
function cleanOptions(selected_tag) {
if (selected_tag == 'ohc') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
$("#patient_category").val("");
$('#patient_category').trigger('chosen:updated');
$("#dept").val("");
$('#dept').trigger('chosen:updated');
$("#division").val("");
$('#division').trigger('chosen:updated');
$("#gender").val("");
$('#gender').trigger('chosen:updated');
} else if (selected_tag == 'patient_category') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
$("#dept").val("");
$('#dept').trigger('chosen:updated');
$("#division").val("");
$('#division').trigger('chosen:updated');
$("#gender").val("");
$('#gender').trigger('chosen:updated');
} else if (selected_tag == 'dept') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
$("#division").val("");
$('#division').trigger('chosen:updated');
$("#gender").val("");
$('#gender').trigger('chosen:updated');
} else if (selected_tag == 'division') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
$("#dept").val("");
$('#dept').trigger('chosen:updated');
$("#gender").val("");
$('#gender').trigger('chosen:updated');
} else if (selected_tag == 'gender') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
} else if (selected_tag == 'startDate') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
} else if (selected_tag == 'endDate') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
} else if (selected_tag == 'month') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
} else if (selected_tag == 'year') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
} else if (selected_tag == 'abnormality_type') {
$("#report_div_1").css('display', 'none');
$("#report_div_2").css('display', 'none');
$("#ohc").val("");
$('#ohc').trigger('chosen:updated');
$("#patient_category").val("");
$('#patient_category').trigger('chosen:updated');
$("#dept").val("");
$('#dept').trigger('chosen:updated');
$("#division").val("");
$('#division').trigger('chosen:updated');
$("#gender").val("");
$('#gender').trigger('chosen:updated');
$("#year").val("");
$('#year').trigger('chosen:updated');
$("#month").val("");
$('#month').trigger('chosen:updated');
$("#startDate").val("");
$("#endDate").val("");
}
}
</script>
<script type="text/javascript">
function chartValidate() {
var id = $("#abnormality_type").val();
if (id == '' || id == null) {
BootstrapDialog.alert("Please select the Abnormality");
return;
}
var chart = $("#choose_chart").val();
if (chart == '' || chart == null) {
BootstrapDialog.alert("Please select chart type");
return;
}
var month = $("#month").val();
var startDate = $("#startDate").val();
var endDate = $("#endDate").val();
var year = $("#year").val();
if ((month != null) && (startDate != '' || endDate != '')) {
BootstrapDialog.alert("Choose any one between date filters and Month Filter");
$("#month").val("");
$("#startDate").val("");
$("#endDate").val("");
$('#month').trigger('chosen:updated');
return;
}
if (startDate != '' && endDate == '') {
BootstrapDialog.alert("Use start Date filter with End date!!!");
return;
}
if (startDate == '' && endDate != '') {
BootstrapDialog.alert("Use start Date filter with End date!!!");
return;
}
if (year == '' && startDate == '' && endDate == '') {
BootstrapDialog.alert("Enter Year Or Use Date Filter!!!");
return;
}
if (year != '' && startDate != '' && endDate != '') {
BootstrapDialog.alert("Enter Year Or Use Date Filter!!! Any One");
return;
}
$("#age_wise_emp_dist_table_1 tr").remove();
$("#age_wise_emp_dist_table_2 tr").remove();
$("#age_wise_emp_dist_table_3 tr").remove();
$("#age_wise_emp_dist_table_4 tr").remove();
$("#age_wise_emp_dist_table_5 tr").remove();
$("#age_wise_emp_dist_table_6 tr").remove();
$("#age_wise_emp_dist_table_7 tr").remove();
// getting all category data
get_category_data();
// getting all abnormality data
get_abnormality_data();
// getting categorywise abnormality data
get_categorywise_abnormality_data();
//getting bmi wise data
get_bmi_wise_abnormality_distribution();
}
function get_category_data() {
$.ajax({
type: 'post',
async: false,
url: 'get_categorywise_detailed_data.php',
data: $("#business_unit_report_form").serialize(),
dataType: 'json',
success: function(data) {
const gender_male = [];
const gender_female = [];
const pat_cat_1 = [];
const pat_cat_2 = [];
const pat_cat_3 = [];
const collar_wc = [];
const collar_bc = [];
const age = [];
const labels = [];
const gender_male_avg = [];
const gender_female_avg = [];
const pat_cat_avg_1 = [];
const pat_cat_avg_2 = [];
const pat_cat_avg_3 = [];
const collar_wc_avg = [];
const collar_bc_avg = [];
const total_avg = [];
const labels_avg = [];
var chartType = $("#choose_chart").val();
var header = "<h5 style=\"font-size: 15px;font-family:Source Sans Pro,Helvetica Neue, Helvetica, Arial, sans-serif;color:#669fc7;margin: 0;\"><i class=\"ace-icon fa fa-user\"> </i>&nbsp;&nbsp;Age & CategoryWise Distribution<button style=\"float:right\" class=\"btn btn-minier btn-info\"><i class=\"ace-icon fa fa-print align-top bigger-125 icon-on-right\" onclick=\"open_pdf()\"></i></button><button style=\"float: right; margin-right: 10px;\" class=\"btn btn-minier btn-primary\"><i class=\"ace-icon fa fa-file-excel-o align-top bigger-125 icon-on-right\" onclick=\"report_Deparmentwise_health_index()\"></i></button></h5>";
$("#pannel_heading").html(header);
let i = 0;
let whole_total = 0;
let j = 0;
let pat_cat_names = [];
<?php
$sql_cat = "select * from patient_category";
$result_cat = mysqli_query($conn, $sql_cat);
while ($row_cat = mysqli_fetch_assoc($result_cat)) {
?>
pat_cat_names[j++] = '<?= $row_cat['patient_cat_name'] ?>';
<?php
}
?>
<?php
$query_age = "select * from rule_age_range";
$result_age = mysqli_query($conn, $query_age);
while ($row_age = mysqli_fetch_assoc($result_age)) {
$start_age = $row_age['rule_age_start'];
?>
age[i] = <?= $start_age ?>;
gender_male[i] = data['gender']['male'][<?= $start_age ?>] == null ? 0 : data['gender']['male'][<?= $start_age ?>];
gender_female[i] = data['gender']['female'][<?= $start_age ?>] == null ? 0 : data['gender']['female'][<?= $start_age ?>];
pat_cat_1[i] = data['patient_category'][1][<?= $start_age ?>] == null ? 0 : data['patient_category'][1][<?= $start_age ?>];
pat_cat_2[i] = data['patient_category'][2][<?= $start_age ?>] == null ? 0 : data['patient_category'][2][<?= $start_age ?>];
pat_cat_3[i] = data['patient_category'][3][<?= $start_age ?>] == null ? 0 : data['patient_category'][3][<?= $start_age ?>];
collar_wc[i] = data['collar']['WC'][<?= $start_age ?>] == null ? 0 : data['collar']['WC'][<?= $start_age ?>];
collar_bc[i] = data['collar']['BC'][<?= $start_age ?>] == null ? 0 : data['collar']['BC'][<?= $start_age ?>];
whole_total += pat_cat_1[i] + pat_cat_2[i] + pat_cat_3[i];
i++;
<?php
}
?>
var part_content = "";
for (let i = 0; i < pat_cat_names.length; i++) {
part_content += "<td style = 'background-color:#4de5eb;color:black' > " + pat_cat_names[i] + "</td>";
}
var content = "";
var content2 = "";
content += "<thead><tr>" + "<td style='background-color:#00d0ff'><strong>AGE GROUP</strong></td>" + part_content + "<td style='background-color:#4de5eb;color:black'>Total</td><td style='background-color:#4de5eb;color:black'>Age-Distribution</td><td style='background-color:#119debe0;color:black'>WC</td><td style='background-color:#119debe0;color:black'>BC</td><td style='background-color:#119debe0;color:black'>Male</td><td style='background-color:#119debe0;color:black'>Female</td></tr></thead>";
content2 += "<thead><tr>" + "<td style='background-color:#00d0ff'><strong>AGE GROUP</strong></td>" + part_content + "<td style='background-color:#4de5eb;color:black'>Total</td><td style='background-color:#119debe0;color:black'>WC</td><td style='background-color:#119debe0;color:black'>BC</td><td style='background-color:#119debe0;color:black'>Male</td><td style='background-color:#119debe0;color:black'>Female</td></tr></thead>";
let total = 0;
let regular_total = 0;
let contractor_total = 0;
let non_employee_total = 0;
let collar_wc_total = 0;
let collar_bc_total = 0;
let gender_female_total = 0;
let gender_male_total = 0;
let age_distribution = [];
for (let i = 0; i < age.length; i++) {
let end_age = age[i + 1];
if (end_age == undefined) {
end_age = '+';
}
regular_total += pat_cat_1[i];
contractor_total += pat_cat_2[i];
non_employee_total += pat_cat_3[i];
collar_bc_total += collar_bc[i];
collar_wc_total += collar_wc[i];
gender_male_total += gender_male[i];
gender_female_total += gender_female[i];
labels[i] = age[i] + "-" + end_age;
total = pat_cat_1[i] + pat_cat_2[i] + pat_cat_3[i];
total_avg[i] = ((100 * total) / whole_total).toFixed(2);
age_distribution[i] = ((100 * total) / whole_total).toFixed(2);
content += "<tr><td>" + age[i] + "-" + end_age + "</td><td >" + pat_cat_1[i] + "</td><td >" + pat_cat_2[i] + "</td><td >" + pat_cat_3[i] + "</td><td >" + total + "</td><td >" + age_distribution[i] + "%</td><td>" + collar_wc[i] + "</td><td >" + collar_bc[i] + "</td><td>" + gender_male[i] + "</td><td>" + gender_female[i] + "</td></tr>";
}
for (let i = 0; i < age.length; i++) {
let end_age = age[i + 1];
if (end_age == undefined) {
end_age = '+';
}
pat_cat_avg_1[i] = ((100 * pat_cat_1[i]) / regular_total).toFixed(2);
if (isNaN(pat_cat_avg_1[i])) pat_cat_avg_1[i] = 0;
pat_cat_avg_2[i] = ((100 * pat_cat_2[i]) / contractor_total).toFixed(2);
if (isNaN(pat_cat_avg_2[i])) pat_cat_avg_2[i] = 0;
pat_cat_avg_3[i] = ((100 * pat_cat_3[i]) / non_employee_total).toFixed(2);
if (isNaN(pat_cat_avg_3[i])) pat_cat_avg_3[i] = 0;
collar_bc_avg[i] = ((100 * collar_bc[i]) / collar_bc_total).toFixed(2);
if (isNaN(collar_bc_avg[i])) collar_bc_avg[i] = 0;
collar_wc_avg[i] = ((100 * collar_wc[i]) / collar_wc_total).toFixed(2);
if (isNaN(collar_wc_avg[i])) collar_wc_avg[i] = 0;
gender_female_avg[i] = ((100 * gender_female[i]) / gender_female_total).toFixed(2);
if (isNaN(gender_female_avg[i])) gender_female_avg[i] = 0;
gender_male_avg[i] = ((100 * gender_male[i]) / gender_male_total).toFixed(2);
if (isNaN(gender_male_avg[i])) gender_male_avg[i] = 0;
labels_avg[i] = age[i] + "-" + end_age;
content2 += "<tr><td>" + age[i] + "-" + end_age + "</td><td >" + pat_cat_avg_1[i] + "%</td><td >" + pat_cat_avg_2[i] + "%</td><td >" + pat_cat_avg_3[i] + "%</td><td >" + total_avg[i] + "%</td><td>" + collar_wc_avg[i] + "%</td><td >" + collar_bc_avg[i] + "%</td><td>" + gender_male_avg[i] + "%</td><td>" + gender_female_avg[i] + "%</td></tr>";
}
$("#age_wise_emp_dist_table_1").append(content);
$("#age_wise_emp_dist_table_2").append(content2);
document.getElementById("report_div").style.display = "block";
var content1 = "<canvas id=\"chart3\" style=\"display: block; width: 500px; height: 250px;\" class=\"chartjs-render-monitor\"></canvas>";
$("#chart_div_1").html(content1);
var content3 = "<canvas id=\"chart4\" style=\"display: block; width: 500px; height: 250px;\" class=\"chartjs-render-monitor\"></canvas>";
$("#chart_div_2").html(content3);
var header = "Age & Categorywise Distribution";
var header2 = "Avg Age & Categorywise Distribution";
prepareChart(chartType, age_distribution, labels, header);
prepareChart6(chartType, pat_cat_avg_1, pat_cat_avg_2, pat_cat_avg_3, total_avg, collar_wc_avg, collar_bc_avg, gender_male_avg, gender_female_avg, labels_avg, header2);
},
error: function(data) {
$('#spinner_div').hide();
console.log(data);
BootstrapDialog.alert("Unable to fetch data !!");
}
})
}
function get_abnormality_data() {
$.ajax({
type: 'post',
async: false,
url: 'get_abnormality_detailed_data.php',
data: $("#business_unit_report_form").serialize(),
dataType: 'json',
success: function(data) {
var chartType = $("#choose_chart").val();
var header = "<h5 style=\"font-size: 15px;font-family:Source Sans Pro,Helvetica Neue, Helvetica, Arial, sans-serif;color:#669fc7;margin: 0;\"><i class=\"ace-icon fa fa-user\"> </i>&nbsp;&nbsp;Abnormality Distribution<button style=\"float:right\" class=\"btn btn-minier btn-info\"><i class=\"ace-icon fa fa-print align-top bigger-125 icon-on-right\" onclick=\"open_pdf()\"></i></button><button style=\"float: right; margin-right: 10px;\" class=\"btn btn-minier btn-primary\"><i class=\"ace-icon fa fa-file-excel-o align-top bigger-125 icon-on-right\" onclick=\"report_Deparmentwise_health_index()\"></i></button></h5>";
$("#pannel_heading").html(header);
const abnormality_avg = [];
const abnormality_name = [];
const labels = [];
var content = "";
content += "<thead><tr>" + "<td style='background-color:#00d0ff'><strong>Abnormality</strong></td><td style='background-color:#4de5eb;color:black'>NO OF EMP</td><td style='background-color:#4de5eb;color:black'>%Distribution</td><td style='background-color:#4de5eb;color:black'>wellness Programs</td></tr></thead>";
let i = 0;
let total_emp_count = data['total'];
<?php
$query_abnormality = "select * from abnormality";
$result_abnormality = mysqli_query($conn, $query_abnormality);
while ($row_abnormality = mysqli_fetch_assoc($result_abnormality)) {
$abnormality_id = $row_abnormality['abnormality_id'];
$abnormality_name = $row_abnormality['abnormality_name'];
$wellness_programs = array();
$wellness_program_name = '';
if ($row_abnormality['wellness_program'] != null && $row_abnormality['wellness_program'] != "") {
$wellness_programs = explode(",", $row_abnormality['wellness_program']);
for ($i = 0; $i < count($wellness_programs); $i++) {
if ($i == count($wellness_programs) - 1) {
$wellness_program_name .= getTableFieldValue('training_master', 'training_name', 'training_master_id', $wellness_programs[$i]);
} else {
$wellness_program_name .= getTableFieldValue('training_master', 'training_name', 'training_master_id', $wellness_programs[$i]) . ",";
}
}
}
?>
abnormality_id = '<?= $abnormality_id ?>';
abnormality_count = data[abnormality_id];
abnormality_name[i] = "<?= $abnormality_name ?>";
labels[i] = abnormality_name[i];
// alert(total_emp_count);
abnormality_avg[i] = ((100 * abnormality_count) / total_emp_count).toFixed(2);
// alert(abnormality_avg[i]);
if (isNaN(abnormality_avg[i])) {
abnormality_avg[i] = 0;
}
content += "<tr><td>" + abnormality_name[i] + "</td><td >" + data[abnormality_id] + "</td><td >" + abnormality_avg[i] + "%</td><td >" + "<?php echo $wellness_program_name ?>" + "</td></tr>"
i++;
<?
}
?>
$("#age_wise_emp_dist_table_3").append(content);
document.getElementById("report_div").style.display = "block";
var content1 = "<canvas id=\"chart5\" style=\"display: block; width: 500px; height: 290px;\" class=\"chartjs-render-monitor\"></canvas>";
$("#chart_div_3").html(content1);
var header = "Abnormality Distribution";
prepareChart_dynamic_id(chartType, abnormality_avg, labels, header, 'chart5');
},
error: function(data) {
$('#spinner_div').hide();
console.log(data);
BootstrapDialog.alert("Unable to fetch data !!");
}
})
}
function get_categorywise_abnormality_data() {
$.ajax({
type: 'post',
async: false,
url: 'get_categorywise_abnormality_detailed_data.php',
data: $("#business_unit_report_form").serialize(),
dataType: 'json',
success: function(data) {
const age_abnormality = [];
const gender_abnormality = [];
const pat_cat_abnormality = [];
const age_abnormality_avg = [];
const gender_abnormality_avg = [];
const pat_cat_abnormality_avg = [];
const abnormality_ids = [];
const abnormality_names = [];
const pat_cat_total = [];
const agewise_total = [];
const gender_total = [];
var chartType = $("#choose_chart").val();
var header = "<h5 style=\"font-size: 15px;font-family:Source Sans Pro,Helvetica Neue, Helvetica, Arial, sans-serif;color:#669fc7;margin: 0;\"><i class=\"ace-icon fa fa-user\"> </i>&nbsp;&nbsp;Abnormality Distribution<button style=\"float:right\" class=\"btn btn-minier btn-info\"><i class=\"ace-icon fa fa-print align-top bigger-125 icon-on-right\" onclick=\"open_pdf()\"></i></button><button style=\"float: right; margin-right: 10px;\" class=\"btn btn-minier btn-primary\"><i class=\"ace-icon fa fa-file-excel-o align-top bigger-125 icon-on-right\" onclick=\"report_Deparmentwise_health_index()\"></i></button></h5>";
$("#pannel_heading").html(header);
const default_age = [];
let k = 0;
<?php
$sql = "select * from rule_age_range";
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($result)) {
?>
default_age[k] = <?= $row['rule_age_start'] ?>;
k++;
<?php
}
?>
let i = 0;
let default_age_index = 0;
let labels = []
var content = "";
var content2 = "";
var content4 = "";
content += "<thead><tr><td colspan='3' style='background-color:#00d0ff'><strong>Abnormality</strong></td></tr><tr>" +
"<td colspan='3' style='background-color:#4de5eb;color:black'><strong>" + data['abnormality'][0] + "</strong></td>" +
"<tr><td>Age Group</td><td>No oF Emp</td><td>%Distribution</td></tr>" +
"</tr>" +
"</thead>"
content2 += "<thead><tr><td colspan='3' style='background-color:#00d0ff'><strong>Abnormality</strong></td></tr><tr>" +
"<td colspan='3' style='background-color:#4de5eb;color:black'><strong>" + data['abnormality'][0] + "</strong></td>" +
"<tr><td>Gender</td><td>No oF Emp</td><td>%Distribution</td></tr>" +
"</tr>" +
"</thead>"
content4 += "<thead><tr><td colspan='3' style='background-color:#00d0ff'><strong>Abnormality</strong></td></tr><tr>" +
"<td colspan='3' style='background-color:#4de5eb;color:black'><strong>" + data['abnormality'][0] + "</strong></td>" +
"<tr><td>Category</td><td>No oF Emp</td><td>%Distribution</td></tr>" +
"</tr>" +
"</thead>"
let abnormality_id = data['abnormality'][1];
for (let i = 0; i < default_age.length; i++) {
let end_age = default_age[i + 1];
if (end_age == undefined) {
end_age = '+';
}
labels[i] = default_age[i] + "-" + end_age;
age_abnormality[i] = data['age'][abnormality_id][default_age[i]];
age_abnormality_avg[i] = ((age_abnormality[i] * 100) / data['agewise_total'][default_age[i]]).toFixed(2);
if (isNaN(age_abnormality_avg[i])) age_abnormality_avg[i] = 0;
content += "<tr><td>" + default_age[i] + "-" + end_age + "</td><td >" + age_abnormality[i] + "</td><td>" + age_abnormality_avg[i] + "%</td></tr>";
}
let label_gender = [];
label_gender[0] = 'Male';
label_gender[1] = 'Female';
gender_abnormality[0] = data['gender'][abnormality_id]['male'];
gender_abnormality[1] = data['gender'][abnormality_id]['female'];
gender_abnormality_avg[0] = ((100 * gender_abnormality[0]) / data['gender_total']['male']).toFixed(2);
if (isNaN(gender_abnormality_avg[0])) gender_abnormality_avg[0] = 0;
gender_abnormality_avg[1] = ((100 * gender_abnormality[1]) / data['gender_total']['female']).toFixed(2);
if (isNaN(gender_abnormality_avg[1])) gender_abnormality_avg[1] = 0;
content2 += "<tr><td>Male</td><td >" + gender_abnormality[0] + "</td><td>" + gender_abnormality_avg[0] + "%</td></tr><tr><td>Female</td><td>" + gender_abnormality[1] + "</td><td>" + gender_abnormality_avg[1] + "%</td></tr>";
let m = 0;
let label_cat = [];
<?php
$sql_cat = "select * from patient_category";
$result_cat = mysqli_query($conn, $sql_cat);
while ($row_cat = mysqli_fetch_assoc($result_cat)) {
?>
label_cat[m] = '<?= $row_cat['patient_cat_name'] ?>';
pat_cat_abnormality[m] = data['patient_category'][abnormality_id][<?= $row_cat['patient_cat_id'] ?>]
pat_cat_abnormality_avg[m] = ((100 * pat_cat_abnormality[m]) / data['pat_cat_total'][<?= $row_cat['patient_cat_id'] ?>]).toFixed(2);
if (isNaN(pat_cat_abnormality_avg[m])) pat_cat_abnormality_avg[m] = 0;
m++;
<?php
}
?>
for (var j = 0; j < pat_cat_abnormality.length; j++) {
content4 += "<tr><td>" + label_cat[j] + "</td><td >" + pat_cat_abnormality[j] + "</td><td>" + pat_cat_abnormality_avg[j] + "%</td></tr>";
}
$("#age_wise_emp_dist_table_4").append(content);
$("#age_wise_emp_dist_table_5").append(content2);
$("#age_wise_emp_dist_table_6").append(content4);
document.getElementById("report_div").style.display = "block";
var content1 = "<canvas id=\"chart6\" style=\"display: block; width: 500px; height: 250px;\" class=\"chartjs-render-monitor\"></canvas>";
$("#chart_div_4").html(content1);
var content3 = "<canvas id=\"chart7\" style=\"display: block; width: 500px; height: 250px;\" class=\"chartjs-render-monitor\"></canvas>";
$("#chart_div_5").html(content3);
var content5 = "<canvas id=\"chart8\" style=\"display: block; width: 500px; height: 250px;\" class=\"chartjs-render-monitor\"></canvas>";
$("#chart_div_6").html(content5);
var header = "Abnormality Age Wise Distribution";
var header2 = "Abnormality Gender Wise Distribution";
var header3 = "Abnormality Emp Category Wise Distribution";
prepareChart_dynamic_id(chartType, age_abnormality_avg, labels, header, 'chart6');
prepareChart_dynamic_id(chartType, gender_abnormality_avg, label_gender, header2, 'chart7');
prepareChart_dynamic_id(chartType, pat_cat_abnormality_avg, label_cat, header3, 'chart8');
},
error: function(data) {
$('#spinner_div').hide();
console.log(data);
BootstrapDialog.alert("Unable to fetch data !!");
}
})
}
function get_bmi_wise_abnormality_distribution() {
$.ajax({
type: 'post',
async: false,
url: 'get_bmiwise_abnormality_detailed_data.php',
data: $("#business_unit_report_form").serialize(),
dataType: 'json',
success: function(data) {
const age_abnormality_bmi_less_25 = [];
const age_abnormality_bmi_more_25 = [];
const gender_abnormality_less_25 = [];
const gender_abnormality_more_25 = [];
const female_abnormality_less_25 = [];
const female_abnormality_more_25 = [];
const age_abnormality_avg_less_25 = [];
const age_abnormality_avg_more_25 = [];
const gender_abnormality_avg_less_25 = [];
const gender_abnormality_avg_more_25 = [];
const female_abnormality_avg_less_25 = [];
const female_abnormality_avg_more_25 = [];
const abnormality_ids = [];
const abnormality_names = [];
const agewise_total_less_25 = [];
const agewise_total_more_25 = [];
const gender_total_less_25 = [];
const gender_total_more_25 = [];
const female_total_less_25 = [];
const female_total_more_25 = [];
var chartType = $("#choose_chart").val();
var header = "<h5 style=\"font-size: 15px;font-family:Source Sans Pro,Helvetica Neue, Helvetica, Arial, sans-serif;color:#669fc7;margin: 0;\"><i class=\"ace-icon fa fa-user\"> </i>&nbsp;&nbsp;Abnormality Distribution<button style=\"float:right\" class=\"btn btn-minier btn-info\"><i class=\"ace-icon fa fa-print align-top bigger-125 icon-on-right\" onclick=\"open_pdf()\"></i></button><button style=\"float: right; margin-right: 10px;\" class=\"btn btn-minier btn-primary\"><i class=\"ace-icon fa fa-file-excel-o align-top bigger-125 icon-on-right\" onclick=\"report_health_index()\"></i></button></h5>";
$("#pannel_heading").html(header);
const default_age = [];
let k = 0;
<?php
$sql = "select * from rule_age_range";
$result = mysqli_query($conn, $sql);
while ($row = mysqli_fetch_assoc($result)) {
?>
default_age[k] = <?= $row['rule_age_start'] ?>;
k++;
<?php
}
?>
let i = 0;
let labels = []
var content = "";
var age_part_content = "";
var gender_part_content = "";
content += "<thead><tr><td colspan='5' style='background-color:#00d0ff'><strong>Abnormality</strong></td></tr><tr>" +
"<td colspan='5' style='background-color:#4de5eb;color:black'><strong>" + data['abnormality'][1] + "</strong></td>" +
"<tr><td>Age Group</td><td>No oF Emp(bmi<25)</td><td>No oF Emp(bmi>=25)</td><td>(bmi<25)%</td><td>(bmi>=25)%</td></tr>" +
"</tr>" +
"</thead>"
let abnormality_id = data['abnormality'][0];
for (let i = 0; i < default_age.length; i++) {
let end_age = default_age[i + 1];
if (end_age == undefined) {
end_age = '+';
}
labels[i] = default_age[i] + "-" + end_age;
age_abnormality_bmi_less_25[i] = data['age']['bmi<25'][abnormality_id][default_age[i]];
age_abnormality_bmi_more_25[i] = data['age']['bmi>=25'][abnormality_id][default_age[i]];
age_abnormality_avg_less_25[i] = ((age_abnormality_bmi_less_25[i] * 100) / data['agewise_total'][abnormality_id][default_age[i]]).toFixed(2);
if (isNaN(age_abnormality_avg_less_25[i])) age_abnormality_avg_less_25[i] = 0;
age_abnormality_avg_more_25[i] = ((age_abnormality_bmi_more_25[i] * 100) / data['agewise_total'][abnormality_id][default_age[i]]).toFixed(2);
if (isNaN(age_abnormality_avg_more_25[i])) age_abnormality_avg_more_25[i] = 0;
age_part_content += "<tr><td>" + default_age[i] + "-" + end_age + "</td><td>" + age_abnormality_bmi_less_25[i] + "</td><td>" + age_abnormality_bmi_more_25[i] + "</td><td>" + age_abnormality_avg_less_25[i] + "%</td><td>" + age_abnormality_avg_more_25[i] + "%</td></tr>";
}
gender_abnormality_less_25[0] = data['gender']['bmi<25'][abnormality_id]['male'];
gender_abnormality_more_25[0] = data['gender']['bmi>=25'][abnormality_id]['male'];
gender_abnormality_less_25[1] = data['gender']['bmi<25'][abnormality_id]['female'];
gender_abnormality_more_25[1] = data['gender']['bmi>=25'][abnormality_id]['female'];
gender_abnormality_avg_less_25[0] = ((100 * gender_abnormality_less_25[0]) / data['gender_total'][abnormality_id]['male']).toFixed(2);
if (isNaN(gender_abnormality_avg_less_25[0])) gender_abnormality_avg_less_25[0] = 0;
gender_abnormality_avg_less_25[1] = ((100 * gender_abnormality_less_25[1]) / data['gender_total'][abnormality_id]['female']).toFixed(2);
if (isNaN(gender_abnormality_avg_less_25[1])) gender_abnormality_avg_less_25[1] = 0;
gender_abnormality_avg_more_25[0] = ((100 * gender_abnormality_more_25[0]) / data['gender_total'][abnormality_id]['male']).toFixed(2);
if (isNaN(gender_abnormality_avg_more_25[0])) gender_abnormality_avg_more_25[0] = 0;
gender_abnormality_avg_more_25[1] = ((100 * gender_abnormality_more_25[1]) / data['gender_total'][abnormality_id]['female']).toFixed(2);
if (isNaN(gender_abnormality_avg_more_25[1])) gender_abnormality_avg_more_25[1] = 0;
let gender_lables = ['MALE(BMI<25)', 'MALE(BMI>=25)', 'FEMALE(BMI<25)', 'FEMALE(BMI>=25)']
let gender_abnormality_avg = [];
gender_abnormality_avg[0] = gender_abnormality_avg_less_25[0];
gender_abnormality_avg[1] = gender_abnormality_avg_more_25[0];
gender_abnormality_avg[2] = gender_abnormality_avg_less_25[1];
gender_abnormality_avg[3] = gender_abnormality_avg_more_25[1];
gender_part_content += "<tr><td>Male</td><td >" + gender_abnormality_less_25[0] + "</td><td>" + gender_abnormality_more_25[0] + "</td><td >" + gender_abnormality_avg_less_25[0] + "%</td><td>" + gender_abnormality_avg_more_25[0] + "%</td></tr><tr><td>Female</td><td>" + gender_abnormality_less_25[1] + "</td><td>" + gender_abnormality_more_25[1] + "</td><td>" + gender_abnormality_avg_less_25[1] + "%</td><td>" + gender_abnormality_avg_more_25[1] + "%</td></tr>";
content += age_part_content + gender_part_content;
$("#age_wise_emp_dist_table_7").append(content);
document.getElementById("report_div").style.display = "block";
var content1 = "<canvas id=\"chart9\" style=\"display: block; width: 500px; height: 250px;\" class=\"chartjs-render-monitor\"></canvas>";
$("#chart_div_7").html(content1);
var content1 = "<canvas id=\"chart10\" style=\"display: block; width: 500px; height: 250px;\" class=\"chartjs-render-monitor\"></canvas>";
$("#chart_div_8").html(content1);
let chart_header = "Condition in relation with BMI in different age groups";
let chart_header1 = "Condition in relation with BMI in different genders";
prepareChart_for_two_datasets_with_dynamic_id(chartType, age_abnormality_avg_less_25, age_abnormality_avg_more_25, labels, chart_header, 'chart9');
prepareChart_dynamic_id(chartType, gender_abnormality_avg, gender_lables, chart_header1, 'chart10');
},
error: function(data) {
$('#spinner_div').hide();
console.log(data);
BootstrapDialog.alert("Unable to fetch data !!");
}
})
}
function report_health_index() {
document.forms[0].method = 'Post';
document.forms[0].action = 'excel_abnormality.php';
document.forms[0].target = '_blank';
document.forms[0].submit();
}
</script>