/**
* This object will handle all the Patient List template functionalities
* @class lexisnexis.component.PatientList
* @file
*/
jQuery.namespace('lexisnexis.component');
lexisnexis.component.PatientList = lexisnexis.component.Table
.extend({
data : {
defaultStartingRow: -1,
gridSearchCount: 0,
isValidChar : false,
exclusionArray: [],
searchFieldId : '#ln_patient_grid_search',
previousVal: '',
summaryTableId : '#ln_summary_patient_list',
saveId : '#patientlistTable_save',
resetId : '#patientlistTable_reset',
firstTime: true,
summaryViewName: "Summary View",
detailsViewName: " View",
summaryContainer: "#ln_summary_patient_list_container",
patientTotalsUrl: "getPatientListTotals",
baseSummaryUrl: "getPatientListSummary",
baseUrl: "#",
classhideColumn:'ln-hide-column',
summaryGridColumnId: '#ln_patient_grid',
defaultSortColumn_summary : "Total Variance",
defaultSortColumn_summary_second : "Patient Name",
GET_EXCLUSION_COUNT_METHOD : "getPatientListExclusionCount",
SEND_EXCLUDED_PATIENTS_METHOD : "excludePatientsFromPatientList",
GET_PROVIDER_COUNT_METHOD: "getProviderCountForGroup",
sessionExclusionsCount : 0,
delay : (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
};
})()
},
/**
* @method ready
* @description on page load initializer.
*/
ready : function() {
var cs = this;
//validateSearch(cs, cs.data.searchFieldId);
cs.data.isProviderProfile = $("#ln_isProfileScreenFlag").val() ;
cs.registerSearch();
cs.registerButtonActions();
cs.getExclusionCount();
cs.getPatientProfileDetails();
cs.initializeSummaryTable();
cs.registerSummaryView();
cs.registerDetailView();
cs.displayHelpDialog();
cs.populateTotalsGrid(cs);
// cs.fixColumns();
LN.getPage().registerEvent(EVENT_TYPES.APPLY_BUTTON_CLICK,
cs, cs.populateTotalsGrid);
LN.getPage().registerEvent(EVENT_TYPES.APPLY_BUTTON_CLICK,
cs, cs.reloadGrid);
//$("#ln_patient_grid_search").placeholder();
$(cs.data.saveId).click(function(e) {
//cs.saveColumnOrdering();
});
//cs.getPatientProfileDetails();
//var patientArray[[]];
if ( cs.data.isProviderProfile === "true" ) {
LN.getPage().checkPCPProviderProfile();
$(".fa-eye").hide();
$(".ln-export-icon").hide();
}
},
/**
* @method getPatientProfileDetails
* @description Used on patient profile page to get patient details.
*/
getPatientProfileDetails : function(){
$('.patientProfileDetails').on('click', function(e){
if($(this).attr('patientName')){
var patientProfileName = $(this).attr('patientName');
var patientId = $(this).attr('patientId');
}
e.preventDefault();
var fromScreen = "PL";
if ( $("#ln_isProfileScreenFlag").val() === "true" )
{
fromScreen = "PPPL";
}
$.ajax({
url : LN.getContextPath()+'/updatePatientProfileDetails',
data : {
"patientName" : patientProfileName,
"fromScreen" : fromScreen,
"patientId" : patientId
},
type : "POST",
success : function(data) {
location.href = LN.getContextPath()+'/patientprofile';
}
});
});
},
/**
* @method createPatientArrayValue
* @description Creates a patient array value from the arguments passed in.
* @param name {string}
* @param primaryDiagnosis {string}
* @param id {integer}
* @param patientRisk {float}
* @param efficiency {float}
* @param caseMix {float}
* @param patientDisplayID {string}
* @returns key/value pairs
*/
createPatientArrayValue: function (name, primaryDiagnosis, id, patientRisk, efficiency, caseMix, patientDisplayID)
{
return {name: name, primaryDiagnosis : primaryDiagnosis, id: id, patientRisk : patientRisk, efficiency : efficiency, caseMix : caseMix, patientDisplayID : patientDisplayID};
},
/**
* @method pushPatientToArray
* @description Adds a patient the the exclusionArray.
* @param cs {object}
* @param name {string}
* @param primaryDiagnosis {string}
* @param id {integer)
* @param patientRisk {float}
* @param efficiency {float}
* @param caseMix {float}
* @param patientDisplayID {string}
*/
pushPatientToArray: function (cs, name, primaryDiagnosis, id, patientRisk, efficiency, caseMix, patientDisplayID)
{
if (!(cs.isPatientInArray(cs, name, primaryDiagnosis, id, patientRisk, efficiency, caseMix, patientDisplayID)))
{
cs.data.exclusionArray.push(cs.createPatientArrayValue(name, primaryDiagnosis, id, patientRisk, efficiency, caseMix, patientDisplayID));
}
},
/**
* @method removePatientFromArray
* @description Removes a patient from the exclusion array.
* @param cs {object}
* @param name {string}
* @param primaryDiagnosis {string}
* @param id {integer}
* @param patientRisk {float}
* @param patientRisk {float}
* @param efficiency {float}
* @param caseMix {float}
* @param patientDisplayID {string}
*/
removePatientFromArray: function (cs, name, primaryDiagnosis, id, patientRisk, efficiency, caseMix, patientDisplayID)
{
var arrayLocation = -1;
for (var i=0; i < cs.data.exclusionArray.length; i++)
{
if ( (cs.data.exclusionArray[i].name == name) &&
(cs.data.exclusionArray[i].primaryDiagnosis == primaryDiagnosis) &&
(cs.data.exclusionArray[i].id == id) &&
(cs.data.exclusionArray[i].patientRisk == patientRisk) &&
(cs.data.exclusionArray[i].efficiency == efficiency) &&
(cs.data.exclusionArray[i].caseMix == caseMix) &&
(cs.data.exclusionArray[i].patientDisplayID == patientDisplayID))
{
arrayLocation = i;
break;
}
}
if (arrayLocation >= 0)
{
cs.data.exclusionArray.splice(arrayLocation, 1);
}
},
/**
* @method isPatientInArray
* @description Checks if patient is in exclusion array
*/
isPatientInArray: function(cs, name, primaryDiagnosis, id, patientRisk, efficiency, caseMix, patientDisplayID)
{
var arrayLocation = -1;
for (var i=0; i < cs.data.exclusionArray.length; i++)
{
if ( (cs.data.exclusionArray[i].name == name) &&
(cs.data.exclusionArray[i].primaryDiagnosis == primaryDiagnosis) &&
(cs.data.exclusionArray[i].id == id) &&
(cs.data.exclusionArray[i].patientRisk == patientRisk) &&
(cs.data.exclusionArray[i].efficiency == efficiency) &&
(cs.data.exclusionArray[i].caseMix == caseMix) &&
(cs.data.exclusionArray[i].patientDisplayID == patientDisplayID))
{
arrayLocation = i;
break;
}
}
if (arrayLocation >= 0)
{
return true;
}
return false;
},
/**
* @method checkedPatient
* @description Check if patient checkbox is selected or unselected and add or remove them from exclusion array
*/
checkedPatient: function(cs, cbID, cbChecked, tableID)
{
var rowID = cbID.replace('checkBox_', '');
var rowNode = $(tableID).find('tbody tr:eq(' + rowID +')').get(0);
var checkBoxName = '#' + cbID;
var filter_val = $(checkBoxName).attr('filter_val_1');
var filter_array = filter_val.split('|');
var patientName = "";
var patientID = "";
var patientPrimaryDiagnosis = "";
var patientRisk = "";
var patientEfficiency = "";
var patientCaseMix = "";
var patientMemberKey = "";
patientName = filter_array[0];
patientID = filter_array[1];
patientPrimaryDiagnosis = filter_array[2];
patientRisk = filter_array[3];
patientEfficiency = filter_array[4];
patientCaseMix = filter_array[5];
patientMemberKey = filter_array[6];
// patientName = $(rowNode).find(".td_1").html();
// patientID = $(rowNode).find(".td_2").html();
// patientPrimaryDiagnosis = $(rowNode).find(".td_5").html();
// patientRisk = $(rowNode).find(".td_9").text();
// patientEfficiency = $(rowNode).find(".td_10").text();
// patientCaseMix = $(rowNode).find(".td_11").text();
// patientMemberKey = $(rowNode).find(".td_memberKey").text();
if (cbChecked)
{
//LN.debug("Adding Excluded Data - " + patientName + " : " + patientID + " : " + patientPrimaryDiagnosis + " : " + patientRisk + " : " + patientEfficiency + " : " + patientCaseMix + " : " + patientMemberKey);
cs.pushPatientToArray(cs, patientName, patientPrimaryDiagnosis, patientMemberKey, patientRisk, patientEfficiency, patientCaseMix, patientID);
}
else
{
//LN.debug("Removing Excluded Data - " + patientName + " : " + patientID + " : " + patientPrimaryDiagnosis + " : " + patientRisk + " : " + patientEfficiency + " : " + patientCaseMix);
cs.removePatientFromArray(cs, patientName, patientPrimaryDiagnosis, patientMemberKey, patientRisk, patientEfficiency, patientCaseMix, patientID);
}
if (cs.data.exclusionArray.length <= 0)
{
$('#ln_patient_clear_sel').attr('disabled','disabled');
$('#ln_patient_exclude_sel').attr('disabled','disabled');
}
else
{
$('#ln_patient_clear_sel').removeAttr('disabled');
$('#ln_patient_exclude_sel').removeAttr('disabled');
}
},
/**
* @method setCheckBoxes
*
*
*/
setCheckBoxes: function(cs, tableID)
{
var table = $(tableID).DataTable();
var patientName = "";
var patientID = "";
var patientPrimaryDiagnosis = "";
var patientRisk = "";
var patientEfficiency = "";
var patientCaseMix = "";
var patientMemberKey = "";
var numRows = table.rows(function (idx, data, node)
{
var rowIndex = idx;
var rowNode = $(tableID).find('tbody tr:eq(' + rowIndex +')').get(0);
patientName = $(rowNode).find(".td_1").text();
patientID = $(rowNode).find(".td_2").text();
patientPrimaryDiagnosis = $(rowNode).find(".td_5").text();
patientRisk = $(rowNode).find(".td_9").text();
patientEfficiency = $(rowNode).find(".td_10").text();
patientCaseMix = $(rowNode).find(".td_11").text();
patientMemberKey = $(rowNode).find(".td_memberKey").text();
//LN.debug(cs.isPatientInArray(cs, patientName, patientPrimaryDiagnosis, patientID, patientRisk, patientEfficiency, patientCaseMix));
if (cs.isPatientInArray(cs, patientName, patientPrimaryDiagnosis, patientMemberKey, patientRisk, patientEfficiency, patientCaseMix, patientID))
{
var checkboxName = '#checkBox_' + idx;
//LN.debug('ID Found: Setting Checkbox for: ' + checkboxName);
$(tableID).find('tbody tr:eq(' + rowIndex +')').find('input[type="checkbox"]').prop('checked',true);
$(checkboxName).prop('checked',true);
}
});
},
fixColumns: function() {
var cs=this;
var fc=new $.fn.dataTable.FixedColumns( cs.data.table, {
leftColumns: 2
} );
fc.fnUpdate();
},
reloadGrid: function(cs){
LN.debug('ReloadGrid called');
var currentView=$('#ln_patient_viewBydesc').text();
cs.data.tableSummary.fnReloadAjax(cs.data.baseSummaryUrl);
},
displayHelpDialog:function(){
$(document).on("click", "#ln_patient_totals_help", function () {
var msg = 'Help Text needs to be added..';
var title = "Patient List Summary (Totals)"; // pass in your title
var placement = "left"; // options: left, right, top, bottom
contextHelp.popOver("#ln_patient_totals_help",title,msg,placement);
});
$(document).on("click", "#ln_patient_summary_help", function () {
var msg = 'Help Text needs to be added..';
var title = "Patient List"; // pass in your title
var placement = "left"; // options: left, right, top, bottom
contextHelp.popOver("#ln_patient_summary_help",title,msg,placement);
});
},
displayErrorDialog:function(cs){
var msg = 'You have exceeded the maximum number of patients to be excluded. <br><br> Already excluded: ' + cs.data.sessionExclusionsCount + '<br> Currently selected: ' + cs.data.exclusionArray.length;
var titleText = "Exceeded Exclude Limit (max 250)"; // pass in your title
$.growl({title : "",message : msg});
},
displaySuccessDialog:function(cs, numberExcluded){
var msg = '';
msg = numberExcluded + ' patient(s) have been excluded.';
var titleText = "Patients Excluded"; // pass in your title
$.growl({title : "",message : msg});
},
populateTotalsGrid: function(cs){
$.ajax({
beforeSend: function(){
LN.showAjaxIndicator("#ln_patient_summary_table .table");
},
url: cs.data.patientTotalsUrl,
data: {'dataSetId':$('#ln_topmenu_dataset').attr("datasetkey"),
'selDataSetRangeRiskColumnName': $('#ln_topmenu_dataset_range_id').attr("riskColumnName"),
'selDataSetRangeBegin': $('#ln_topmenu_dataset_range_id').attr("beginDateKey"),
'selDataSetRangeEnd': $('#ln_topmenu_dataset_range_id').attr("endDateKey"),
'selBenchMark' : $('#ln_benchid').attr("data-key")},
method: 'POST',
dataType: 'json',
success: function(data){
cs.colorCodeTotalsTable(cs,data);
data.savings=formatUtil.formatNumber(parseInt(data.savings));
data.totalCost=formatUtil.formatNumber(parseInt(data.totalCost));
data.providerCount = numeral(data.providerCount).format('0,0');
data.specialtyCount = numeral(data.specialtyCount).format('0,0');
data.memberCount = numeral(data.memberCount).format('0,0');
data.episodeCount = numeral(data.episodeCount).format('0,0');
var template = $('#ln_patient_summary_table_template').html();
var html = Mustache.to_html(template, data);
$("#ln_patient_summary_table").html(html);
$('#ln_patient_totals_totalCost').html(data.totalCost);
$('#ln_patient_totals_savings').html(data.savings);
},
complete: function(data){
LN.hideAjaxIndicator("#ln_patient_summary_table .table");
}
});
},
reloadTableDetails: function(cs, viewName){
cs.data.tableSummary.fnReloadAjax(cs.data.baseSummaryUrl);
},
registerSummaryView: function(){
var cs=this;
$("#ln_patient_summary_view").on("click",function(){
//JON - Hide/show columns
$("#ln_summary_patient_list_container").show();
$("#ln_patient_viewBydesc").text("Summary View");
$('#ln_patient_grid_col_8').css("display","none");
$('#ln_patient_grid_col_9').css("display","none");
$('#ln_patient_grid_col_10').css("display","none");
$('#ln_patient_grid_col_12').css("display","");
$('#ln_patient_grid_col_13').css("display","");
$('#ln_patient_grid_col_14').css("display","");
$('.td_detail_view_only').css("display","none");
$('.td_summary_view_only').css("display","");
cs.data.tableSummary.fnAdjustColumnSizing(false);
//cs.reloadTableDetails(cs, cs.data.summaryViewName);
});
},
registerDetailView: function(){
var cs=this;
$("#ln_patient_detail_view").on("click",function(){
//JON - Hide/show columns
$("#ln_patient_viewBydesc").text("Detail View");
$('#ln_patient_grid_col_8').css("display","");
$('#ln_patient_grid_col_9').css("display","");
$('#ln_patient_grid_col_10').css("display","");
$('#ln_patient_grid_col_12').css("display","none");
$('#ln_patient_grid_col_13').css("display","none");
$('#ln_patient_grid_col_14').css("display","none");
$('.td_detail_view_only').css("display","");
$('.td_summary_view_only').css("display","none");
cs.data.tableSummary.fnAdjustColumnSizing(false);
//cs.reloadTableDetails(cs, cs.data.summaryViewName);
});
},
registerButtonActions: function() {
var cs = this;
$('#ln_patient_exclude_sel').on('click',function(e){
if ((cs.data.exclusionArray.length + cs.data.sessionExclusionsCount) <= 250)
{
cs.sendExcludedPatients();
}
else
{
cs.displayErrorDialog(cs);
}
});
$('#ln_patient_clear_sel').on('click',function(e){
$("input.activeChkBox:checkbox").attr('checked',false);
$('#ln_patient_clear_sel').attr('disabled','disabled');
$('#ln_patient_exclude_sel').attr('disabled','disabled');
cs.data.exclusionArray.length = 0;
});
$( "#ln_rightNav_viewBy_menu .dropdown-toggle, #ln_patient_viewBydesc" ).click(function(e){
e.preventDefault();
var viewByGridHidden=$("#ln_patient_viewBydesc").text();
if (viewByGridHidden.indexOf('Summary') >= 0)
{
$("#ln_patient_summary_view a").addClass('viewActive');
$("#ln_patient_detail_view a").removeClass('viewActive');
}
else
{
$("#ln_patient_detail_view a").addClass('viewActive');
$("#ln_patient_summary_view a").removeClass('viewActive');
}
});
},
registerSearch: function() {
var cs = this;
$(cs.data.searchFieldId).on('keyup', function (e) {
var isValidSearch=true;
if (!isValidateSearch(e,cs.data.searchFieldId, false)) {
isValidSearch= false;
cs.data.previousVal = $(cs.data.searchFieldId).val();
}
cs.data.patientName=this.value.toUpperCase();
LN.debug("Inside Search Keyup Function isValidSearch -->" + isValidSearch);
cs.data.delay(function(){
if(isValidSearch && cs.data.gridSearchCount==0){
if(isValidTextLength(cs,$(cs.data.searchFieldId).val(),2)){
cs.data.gridSearchCount++;
$(cs.data.summaryTableId).DataTable().ajax.reload(function(data){
cs.noDataCleanup(data.iTotalDisplayRecords);
});
}
}
}, 1000 );
});
},
colorCodeTableDetails: function(cs,data){
var efficiencyLow=parseFloat(cs.data.overallEfficiencyLow);
var efficiencyHigh=parseFloat(cs.data.overallEfficiencyHigh);
var dataVal=parseFloat(data);
if(isNaN(dataVal)){
dataVal=parseFloat("0");
}
if(dataVal<efficiencyLow){
return '<div class="ln-underutilization_color ln-insetShadowYellow ln-shadowEfficiency ln-goto-patientList ln-grid-color-code" ><span class="fa fa-level-down ln-faRight"></span>'
+data+'</div>';
}else if(dataVal>efficiencyHigh){
return '<div class="ln-overutilized_color ln-insetShadowRed ln-shadowEfficiency ln-goto-patientList ln-grid-color-code" ><span class="fa fa-level-up ln-faRight td_patientRisk"></span>'
+data+'</div>';
}else if(dataVal<=efficiencyHigh && dataVal>=efficiencyLow){
return '<div class="ln-expected_color ln-insetShadowGreen ln-shadowEfficiency ln-goto-patientList ln-grid-color-code" ><span class="fa fa-check ln-faRight td_patientRisk"></span>'
+data+'</div>';
}
},
colorCodeTableDetailsNoLink: function(cs,data){
var efficiencyLow=parseFloat(cs.data.overallEfficiencyLow);
var efficiencyHigh=parseFloat(cs.data.overallEfficiencyHigh);
var dataVal=parseFloat(data);
if(isNaN(dataVal)){
dataVal=parseFloat("0");
}
if(dataVal<efficiencyLow){
return '<div class="ln-underutilization_color ln-insetShadowYellow ln-shadowEfficiency ln-grid-color-code" ><span class="fa fa-level-down ln-faRight"></span>'
+data+'</div>';
}else if(dataVal>efficiencyHigh){
return '<div class="ln-overutilized_color ln-insetShadowRed ln-shadowEfficiency ln-grid-color-code" ><span class="fa fa-level-up ln-faRight td_patientRisk"></span>'
+data+'</div>';
}else if(dataVal<=efficiencyHigh && dataVal>=efficiencyLow){
return '<div class="ln-expected_color ln-insetShadowGreen ln-shadowEfficiency ln-grid-color-code" ><span class="fa fa-check ln-faRight td_patientRisk"></span>'
+data+'</div>';
}
},
getExclusionCount : function() {
var cs = this;
$
.ajax({
cache : false,
'url' : LN.getContextPath() + "/" + cs.data.GET_EXCLUSION_COUNT_METHOD,
'dataType' : 'json',
'method' : 'post',
'data' : {},
'success' : function(data, textStatus, jqXHR) {
try {
//LN.debug('Returned Exclusion Count=' + data);
cs.data.sessionExclusionsCount = data;
} catch (err) {
// growl the error
LN.debug("Error in getting patient exclusion count: "
+ err);
}
},
'beforeSend' : function(xhr) {
xhr.setRequestHeader('X-TransactionID', LN
.getPage().getTransactionID());
cs.data.isInAjaxCall = true;
},
'complete' : function() {
LN.hideOpaqueAjaxIndicator($('.ln-viewpane'));
},
'error' : function(jqXHR, textStatus, errorThrown) {
cs.data.isInAjaxCall = false;
}
});
// End Dynamic update
},
sendExcludedPatients : function() {
var cs = this;
var jsonString = JSON.stringify(cs.data.exclusionArray);
//LN.debug("Json String:" + jsonString);
$
.ajax({
cache : false,
'url' : LN.getContextPath() + "/" + cs.data.SEND_EXCLUDED_PATIENTS_METHOD,
'dataType' : 'json',
'method' : 'post',
'data' : {"jsonData": jsonString},
'success' : function(data, textStatus, jqXHR) {
try {
//LN.debug("Success on exluded patient");
cs.getExclusionCount();
} catch (err) {
// growl the error
LN.debug("Error in sending exlcuded patients: "
+ err);
}
},
'beforeSend' : function(xhr) {
xhr.setRequestHeader('X-TransactionID', LN
.getPage().getTransactionID());
cs.data.isInAjaxCall = true;
},
'complete' : function() {
//LN.debug('Complete Called');
LN.hideOpaqueAjaxIndicator($('.ln-viewpane'));
var numberExcluded = cs.data.exclusionArray.length;
//LN.debug('Length=' +numberExcluded);
cs.displaySuccessDialog(cs, numberExcluded);
//createTemplateJs.updatePatientCountAjax(cs.data.GET_PROVIDER_COUNT_METHOD);
cs.data.exclusionArray.length = 0;
LN.getPage().updateProviderCounts(true);
//cs.populateTotalsGrid(cs);
//cs.reloadGrid(cs);
},
'error' : function(jqXHR, textStatus, errorThrown) {
//LN.debug('Error Called');
cs.data.isInAjaxCall = false;
}
});
// End Dynamic update
},
/**
* @description I initialize the summary dataTable
* @method initializeSummaryTable
*/
initializeSummaryTable : function() {
var cs = this;
LN.debug("initializeSummaryTable called ");
var prevColumnNamesArray=cs.getCurrentSummaryColumnNamesArray(cs.data.summaryTableId);
$(cs.data.summaryContainer).show();
$(cs.data.summaryTableId).dataTable().fnDestroy();
cs.data.tableSummary = $(cs.data.summaryTableId)
.dataTable(
{
"dom": 'R<"top"f>rt<"bottom"ilp><"clear">',
scrollY: "300px",
scrollX: "true",
scrollCollapse: true,
"bFilter" : false,
"iTotalRecords" : "dataTableModel.iTotalRecords",
"iDisplayLength" : 100,
"processing" : false,
"serverSide" : true,
"searching": true,
"bLengthChange" : true,
"bResponsive" :false,
"ordering" : true,
"paging": true,
"pagingType": "simple_numbers",
"colReorder": {
//Exclude first two columns from colreorder
"iFixedColumns": 2,
realtime: true
},
"bDeferRender" : true,
"ajax" : {
"cache": false,
"url" : cs.data.baseSummaryUrl,
"type" : "POST",
"dataType" : "json",
"data" : function ( d ) {
LN.debug("data called");
var columnNamesArray=cs.getCurrentSummaryColumnNamesArray(cs.data.summaryTableId);
return $.extend( {}, d, {
"columnNames":columnNamesArray.length>0?columnNamesArray:prevColumnNamesArray,
"dataSetId":$('#ln_topmenu_dataset').attr('datasetkey'),
'selDataSetRangeRiskColumnName': $('#ln_topmenu_dataset_range_id').attr("riskColumnName"),
'selDataSetRangeBegin': $('#ln_topmenu_dataset_range_id').attr("beginDateKey"),
'selDataSetRangeEnd': $('#ln_topmenu_dataset_range_id').attr("endDateKey"),
'selBenchMark' : $('#ln_benchid').attr("data-key"),
'searchPatientName':cs.data.patientName
} ); },
'beforeSend': function(xhr) {
LN.debug("beforeSend");
cs.data.prevPatientName = cs.data.patientName;
cs.data.defaultStartingRow = -1;
//LN.debug("id="+ cs.data.defaultStartingRow);
$('.DTFC_LeftHeadWrapper').css('display','none');
$('.DTFC_LeftBodyWrapper').css('display','none');
xhr.setRequestHeader('X-TransactionID', LN.TRANSACTION_ID);
cs.handleBeforeAjaxLoad(cs.data.summaryTableId);
},
'complete' : function() {
LN.debug("complete");
if(cs.data.gridSearchCount>0){
cs.data.gridSearchCount--;
LN.debug("complete cs.data.gridSearchCount--->"+cs.data.gridSearchCount);
}
cs.handleAfterAjaxLoad(cs.data.summaryTableId);
$('.DTFC_LeftHeadWrapper').css('display','block');
$('.DTFC_LeftBodyWrapper').css('display','block');
cs.removeDblScrollbar();
var patientGridDesc=$('#ln_patient_viewBydesc').text();
if (patientGridDesc.indexOf("Detail") >= 0)
{
$('#ln_patient_grid_col_8').css("display","");
$('.td_detail_view_only').css("display","");
$('#ln_patient_grid_col_9').css("display","");
$('#ln_patient_grid_col_10').css("display","");
$('.td_summary_view_only').css("display","none");
$('#ln_patient_grid_col_12').css("display","none");
$('#ln_patient_grid_col_13').css("display","none");
$('#ln_patient_grid_col_14').css("display","none");
}
else
{
$('#ln_patient_grid_col_8').css("display","none");
$('.td_detail_view_only').css("display","none");
$('#ln_patient_grid_col_9').css("display","none");
$('#ln_patient_grid_col_10').css("display","none");
$('.td_summary_view_only').css("display","");
$('#ln_patient_grid_col_12').css("display","");
$('#ln_patient_grid_col_13').css("display","");
$('#ln_patient_grid_col_14').css("display","");
}
cs.data.tableSummary.fnAdjustColumnSizing(false);
if (cs.data.exclusionArray.length > 0)
{
$('#ln_patient_clear_sel').removeAttr('disabled');
$('#ln_patient_exclude_sel').removeAttr('disabled');
}
else
{
$('#ln_patient_clear_sel').attr('disabled','disabled');
$('#ln_patient_exclude_sel').attr('disabled','disabled');
}
$("input.activeChkBox:checkbox").click(function()
{
if (!$("input.activeChkBox:checkbox").is(":checked"))
{
$('#ln_patient_clear_sel').attr('disabled','disabled');
$('#ln_patient_exclude_sel').attr('disabled','disabled');
}
else
{
$('#ln_patient_clear_sel').removeAttr('disabled');
$('#ln_patient_exclude_sel').removeAttr('disabled');
}
cs.checkedPatient(cs, this.id, this.checked, cs.data.summaryTableId);
});
cs.data.defaultStartingRow = -1;
LN.debug("beforeSend prevPatientName---->" + cs.data.prevPatientName);
LN.debug("beforeSend PatientName---->" + cs.data.patientName);
if(cs.data.gridSearchCount==0 && cs.data.prevPatientName!=cs.data.patientName){
LN.debug("calling keyup function");
$(cs.data.searchFieldId).trigger('keyup');
}
},
"dataFilter" : function(json,type){
var obj = jQuery.parseJSON(json);
cs.enableExport(obj);
return json;
}
},
"order" : [
[ cs.getPreferencesIndex(cs.data.defaultTablePreferences ,cs.data.defaultSortColumn_summary),"desc" ],
[ cs.getPreferencesIndex(cs.data.defaultTablePreferences ,cs.data.defaultSortColumn_summary_second),"asc" ]
],
"columnDefs": [
{
"width":"1%",
"targets":[0],
"render" : function(data,type,row) {
cs.data.defaultStartingRow++;
var newRowInfo = row[1] + "|"
+ row[26] + "|"
+ row[25] + "|"
+ row[2] + "|"
+ row[3] + "|"
+ row[4] + "|"
+ row[27];
return '<input type="checkbox" class="activeChkBox"' + 'id=checkBox_' + cs.data.defaultStartingRow +' value=' + data + ' filter_val_1="' + newRowInfo + '">';
},
"sortable":false
},
{
"sClass":"ln-text-align-left td_1",
"render" : function(data,type,row) {
return '<a href="javascript:void(0);" class="patientProfileDetails" patientName="'+ row[1] +'" patientId="'+ row[26] +'-'+ row[28] +'" >'+ data + '</a>';
},
"width": "1%",
"targets": [1],
"sortable":true
},
{
"sClass":"td_9",
"render" : function(data, type, row) {
return cs.colorCodeTableDetailsNoLink(cs,data);
},
"width": "1%",
"targets" : [ 2 ]
},
{
"sClass":"td_10",
"render" : function(data, type, row) {
return cs.colorCodeTableDetailsNoLink(cs,data);
},
"width": "1%",
"targets" : [ 3 ]
},
{
"render" : function(data, type, row) {
return cs.colorCodeTableDetailsNoLink(cs,data);
},
"sClass":"ln-etg-caseMix td_11",
"width": "1%",
"targets" : [ 4 ]
},
{
"width": "1%",
"targets" : [ 5,6,7 ]
},
{
"sClass":"td_detail_view_only",
"width": "1%",
"targets" : [ 8,9,10 ]
},
{
"render" : function(data, type, row) {
return formatUtil.formatNumber(parseInt(data));
},
"width": "1%",
"targets" : [ 11 ]
},
{
"render" : function(data, type, row) {
return formatUtil.formatNumber(parseInt(data));
},
"sClass":"td_summary_view_only",
"width": "1%",
"targets" : [ 12,13 ]
},
{
"render" : function(data) {
return formatUtil.formatDecimal(parseFloat(data));
},
"sClass":"td_summary_view_only",
"width": "1%",
"targets" : 14
},
{
"render" : function(data, type, row) {
return formatUtil.formatNumber(parseInt(data));
},
"width": "1%",
"targets" : [ 15 ]
},
{
"render" : function(data) {
return cs.colorCodeTableDetailsNoLink(cs,data);
},
"sClass":"td_detail_view_only",
"width": "1%",
"targets" : [ 16, 17, 18, 19, 20 ]
},
{
"sClass":"ln-text-align-left",
"width": "1%",
"targets": [21],
"sortable":true,
"render" : function(data,type,row) {
if ( cs.data.isProviderProfile === "true")
{
return data;
}
else
{
return '<a class="ln-PL_PP_PR drilldown" href="javascript:void(0);" filter_val="' + row[29] + '">' + data + '</a>';
}
// var fromScreen = "PL";
// return '<a href="javascript:void(0);" class="providerProfileDetails" fromScreen="'
// + fromScreen
// + '" subClientId="'
// + row[28]
// + '" providerName="' + data
// + '" providerId="'
// + row[22] + '" >' + data
// + '</a>';
}
},
{
"sClass":"ln-text-align-left",
"width": "1%",
"targets": [22],
"sortable":true
},
{
"width": "1%",
"targets": [23, 24]
},
{
"sClass":"td_5 ln-text-align-left td_primaryDiag",
"width": "1%",
"targets": [25]
},
{
"sClass":"ln-text-align-left td_2",
"width": "1%",
"targets": [26],
"sortable":true
},
{
"sClass": "ln-hide-column td_memberKey",
"width": "1%",
"targets": 27
},
{
"sClass": "ln-hide-column td_subClientID ln-display-none",
"width": "1%",
"targets": [28]
},
{
"sClass": "ln-hide-column td_subClientID ln-display-none",
"width": "1%",
"targets": [29]
}
],
"fnDrawCallback" : function(oSettings) {
cs.addGotoPageComponentPPM("ln_summary_patient_list","patientTable_gotobtn","patientTable_gototxt","patientTable_gotoerror");
var tableId = cs.data.summaryTableId;
if (oSettings.aaSorting.length == 1) {
tableId = 'table.DTFC_Cloned';
}
cs.removeSecondarySortingHeaderColor(oSettings,tableId,1);
cs.setCheckBoxes(cs, cs.data.summaryTableId);
cs.removeDblScrollbar();
cs.getPatientProfileDetails();
},
"fnInitComplete": function(oSettings, json) {
cs.noDataCleanup(json.iTotalDisplayRecords);
setTimeout(function(){
$('.ln-tableheadertextextended a').on('click',function(e){
e.preventDefault();
return false;
});
},0);
}
}
);
new $.fn.dataTable.FixedColumns( cs.data.tableSummary ,{
leftColumns:2
} );
}
});