diff --git a/src/data.js b/src/data.js index edfbe2e576a81e26bf759fa0ad89cdbd72922092..2510f8145180cbe27fab25414173036bb20fc6ae 100644 --- a/src/data.js +++ b/src/data.js @@ -1,5 +1,6 @@ const { type } = require("jquery"); var sql = require("mssql"); +var Chart = require("chart.js/auto"); const config = { server: 'uwe-sdgp.database.windows.net', @@ -43,18 +44,34 @@ function displayDataTable(data){ }, responsive: { details: { - type: 'column', - target: 'tr', + // type: 'column', + // target: 'tr', display: $.fn.dataTable.Responsive.display.modal( { header: function ( row ) { var data = row.data(); return 'Details for patient '+data.patient_id; }, - fadeDelay: 0 + fadeDelay: 0, }), renderer: $.fn.dataTable.Responsive.renderer.tableAll( { tableClass: 'table' }) + // renderer: function ( api, rowIdx, columns ) { + // var data = $.map( columns, function ( col, i ) { + // // patientDataGraph(col); + // return col ? + // '<tr data-dt-row="'+col.rowIndex+'" data-dt-column="'+col.columnIndex+'">'+ + // '<td>'+col.title+':'+'</td> '+ + // '<td>'+col.data+'</td>'+ + // '</tr>' : + // ''; + // } ).join(''); + // //patientDataGraph(); + + // return data ? + // $('<table/>').append( data ) : + // false; + // } } }, "columns": [ @@ -130,4 +147,50 @@ function checkReferral(data){ sql.close(); }); }); +} + +function patientDataGraph() { + // console.log(data); + + const graphData = { + // labels: [ + // // "patient_id", + // // "tidal_co2", + // // "feed_vol", + // // "feed_vol_adm", + // // "fio2", + // // "fio2_ratio", + // // "insp_time", + // // "o2_flow_rate", + // // "peep", + // // "pip", + // // "resp_rate", + // // "sip", + // // "tidal_vol", + // // "tidal_vol_actual", + // // "tidal_vol_kg", + // // "tidal_vol_spon", + // // "bmi", + // ], + datasets: [ + { + data: [65, 59, 80, 81, 56, 55, 40], + } + ] + }; + + new Chart( + document.getElementById('patient_graph'), + { + type: 'bar', + data: graphData, + options: { + responsive: true, + scales: { + y: { + beginAtZero: true + } + } + } + }); } \ No newline at end of file diff --git a/src/index.html b/src/index.html index bca52b144d9904e4eba30e64bd41e1160bb0a340..37bcd5c24676602b3fe4d28af49abc96190b950e 100644 --- a/src/index.html +++ b/src/index.html @@ -16,6 +16,12 @@ <link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css"> <link rel="stylesheet" href="../node_modules/bootstrap-icons/font/bootstrap-icons.css"> + + <!-- <link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/dataTables.bootstrap.min.css"> + <link rel="stylesheet" href="https://cdn.datatables.net/responsive/2.4.1/css/responsive.bootstrap.min.css"> --> + + + </head> <body> <div class="container-fluid overflow-hidden"> @@ -148,31 +154,32 @@ </body> <script> // Alter number of rows shown in DataTable dependent on screen height - $(window).resize(function () { - if ($(this).height() >= 1080){ + function setTableHeight() { + if ($(window).height() >= 1080){ $('#dashboardTable').DataTable().page.len(20).draw(); - } else if ($(this).height() >= 1040) { + } else if ($(window).height() >= 1040) { $('#dashboardTable').DataTable().page.len(19).draw(); - } else if ($(this).height() >= 1000) { + } else if ($(window).height() >= 1000) { $('#dashboardTable').DataTable().page.len(18).draw(); - } else if ($(this).height() >= 960) { + } else if ($(window).height() >= 960) { $('#dashboardTable').DataTable().page.len(17).draw(); - } else if ($(this).height() >= 940) { + } else if ($(window).height() >= 940) { $('#dashboardTable').DataTable().page.len(16).draw(); - } else if ($(this).height() >= 900) { + } else if ($(window).height() >= 900) { $('#dashboardTable').DataTable().page.len(15).draw(); - } else if ($(this).height() >= 860) { + } else if ($(window).height() >= 860) { $('#dashboardTable').DataTable().page.len(14).draw(); - } else if ($(this).height() >= 820) { + } else if ($(window).height() >= 820) { $('#dashboardTable').DataTable().page.len(13).draw(); - } else if ($(this).height() >= 780) { + } else if ($(window).height() >= 780) { $('#dashboardTable').DataTable().page.len(12).draw(); - } else if ($(this).height() >= 720) { + } else if ($(window).height() >= 720) { $('#dashboardTable').DataTable().page.len(11).draw(); } else { // default pageLength $('#dashboardTable').DataTable().page.len(10).draw(); } - }); + }; + window.resize = window.onresize = setTableHeight; </script> </html> \ No newline at end of file diff --git a/src/reports.html b/src/reports.html index af21a505334017bdf5bcccc03e0a3ee4736ba82a..2b734a4c6ec79fc9afe7e2cfec7546680f9f46d4 100644 --- a/src/reports.html +++ b/src/reports.html @@ -68,7 +68,7 @@ <div class="block block-rounded d-flex flex-column h-100 mb-0"> <div class="content flex-grow-1 d-flex justify-content-between align-items-center" style="padding: 1.25rem;"> <dl class="mb-0"> - <dt class="fs-3 fw-bold">64</dt> + <dt class="fs-3 fw-bold" id="num_patients_admitted"></dt> <dd class="fs-sm fw-medium text-muted mb-0">Patients admitted</dd> </dl> <div class="report_item rounded bg-dark"> @@ -81,7 +81,7 @@ <div class="block block-rounded d-flex flex-column h-100 mb-0"> <div class="content flex-grow-1 d-flex justify-content-between align-items-center" style="padding: 1.25rem;"> <dl class="mb-0"> - <dt class="fs-3 fw-bold">32</dt> + <dt class="fs-3 fw-bold" id="num_referrals_recommended"></dt> <dd class="fs-sm fw-medium text-muted mb-0">Referrals recommended</dd> </dl> <div class="report_item rounded bg-dark"> @@ -94,7 +94,7 @@ <div class="block block-rounded d-flex flex-column h-100 mb-0"> <div class="content flex-grow-1 d-flex justify-content-between align-items-center" style="padding: 1.25rem;"> <dl class="mb-0"> - <dt class="fs-3 fw-bold">8</dt> + <dt class="fs-3 fw-bold" id="num_patients_referred"></dt> <dd class="fs-sm fw-medium text-muted mb-0">Patients referred</dd> </dl> <div class="report_item rounded bg-dark"> @@ -107,7 +107,7 @@ <div class="block block-rounded d-flex flex-column h-100 mb-0"> <div class="content flex-grow-1 d-flex justify-content-between align-items-center" style="padding: 1.25rem;"> <dl class="mb-0"> - <dt class="fs-3 fw-bold">12.5%</dt> + <dt class="fs-3 fw-bold" id="num_percent_patients">%</dt> <dd class="fs-sm fw-medium text-muted mb-0">Of patients referred</dd> </dl> <div class="report_item rounded bg-dark"> @@ -155,6 +155,6 @@ </div> </div> </div> - <script type="module" src="./patientreferral.js"></script> + <script type="module" src="./reports.js"></script> </body> </html> \ No newline at end of file diff --git a/src/patientreferral.js b/src/reports.js similarity index 58% rename from src/patientreferral.js rename to src/reports.js index 1d0f95a8fdfcfa7f5ab916fa2afeb45f4a4c96a2..dcb76ff26f3b1a985956d930f03999b4475cca96 100644 --- a/src/patientreferral.js +++ b/src/reports.js @@ -4,6 +4,9 @@ var Chart = require("chart.js/auto"); var sql = require("mssql"); (async function() { + var total_num_patients; + var total_patients_referred; + const config = { server: 'uwe-sdgp.database.windows.net', database: 'feeding_inc', @@ -24,6 +27,22 @@ var sql = require("mssql"); if (err) console.log(err); displayGraph(result.recordset[0]); + }) + request.query('SELECT COUNT(patient_id) FROM fid_patients', (err, result) => { + if (err) console.log(err); + $('#num_patients_admitted').html(result.recordset[0][""]); + total_num_patients = result.recordset[0][""]; + }) + // request.query('SELECT COUNT(patient_id) FROM fid_patients WHERE referral_recommended = 1', (err, result) => { + // if (err) console.log(err); + // $('#num_referrals_recommended').html(result.recordset[0][""]); + // }) // TO DISPLAY NUMBER OF REFERRALS RECOMMENDED BY ML ALGORITHM WHEN IMPLEMENTED + request.query('SELECT COUNT(patient_id) FROM fid_patients WHERE patient_referral = 1', (err, result) => { + if (err) console.log(err); + $('#num_patients_referred').html(result.recordset[0][""]); + + total_patients_referred = result.recordset[0][""]; + $('#num_percent_patients').html(((total_patients_referred/total_num_patients)*100).toFixed(2)+'%'); sql.close(); }) @@ -38,7 +57,7 @@ var sql = require("mssql"); ], datasets: [ { - data: [data.notReferred, data.referred], + data: [data.referred, data.notReferred], } ] };