<!DOCTYPE html>
<html>
<head>
<title>Records Management System</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/@zxing/library@latest"></script>
<script src="https://kit.fontawesome.com/de23248495.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script src='barcodeReader.js'></script>
<script src='gui.js'></script>
<script src='googleSheetsPortal.js'></script>
</head>
<body onload= 'javascript:searchForEmployee()'>
<div id='status'></div>
<div id='uIBarcodeReader'>
</div>
</body>
<script>
var googleSheetsPortalScript='https://script.google.com/macros/s/AKfycbzb8hgt89mbgNpDRxZ6Cp3W-10AnAP1mnIJu_WS0wRjoJjJa9c/exec';
var employeeName='';
var scannerMode= 'employee';
function searchForEmployee(){
displayUiBarcodeReader('Identification Number');
getHeader('<h4 ><u>Administrator Login</u></h4>');
startScanning();
getFooter('');
}
function searchForPatient(){
displayUiBarcodeReader('Identification Number');
getHeader('<h4 ><u>Patient Search</u></h4>');
startScanning();
getFooter('');
}
function onClickCheckbox(){
var testResult='';
var testName='';
if(getValue('positive')==true&&getDataFromGoogleSheetsAsArray()[13]=='NEGATIVE'){
setValue('positive',true);
setValue('negative',false);
}
if(getValue('negative')==true&&getDataFromGoogleSheetsAsArray()[13]=='POSITIVE'){
setValue('negative',true);
setValue('positive',false);
}
if(getValue('positive')==true){
testResult='POSITIVE';}
if(getValue('negative')==true){
testResult='NEGATIVE';}
if(getValue('pcr')==true&&getDataFromGoogleSheetsAsArray()[12]=='Antigen'){
setValue('pcr',true);
setValue('antigen',false);
}
if(getValue('antigen')==true&&getDataFromGoogleSheetsAsArray()[12]=='PCR'){
setValue('antigen',true);
setValue('pcr',false);
}
if(getValue('pcr')==true){
testName='PCR';}
if(getValue('antigen')==true){
testName='Antigen';}
setEnabled('positive',false);
setEnabled('negative',false);
setEnabled('pcr',false);
setEnabled('antigen',false);
setEnabled('emailResults',false);
setEnabled('sampleCollectionButton',false);
setEnabled('labTestButton',false);
sendDataToGoogleSheets(['setTestResult',getDataFromGoogleSheetsAsArray()[1],testName,testResult,employeeName],googleSheetsPortalScript);
}
function emailResultsFunction(){
setEnabled('positive',false);
setEnabled('negative',false);
setEnabled('pcr',false);
setEnabled('antigen',false);
setEnabled('emailResults',false);
setEnabled('sampleCollectionButton',false);
setEnabled('labTestButton',false);
if(getValue('positive')==true||getValue('negative')==true){
sendDataToGoogleSheets(['emailResults',getScannedText(),employeeName],googleSheetsPortalScript);
}
}
function send(){
if(scannerMode=='employee'){
sendDataToGoogleSheets(['employeeSearch',getScannedText()],googleSheetsPortalScript);}
if(scannerMode=='patient'){
sendDataToGoogleSheets(['patientSearch',getScannedText(),employeeName],googleSheetsPortalScript);}
}
function barCodeScanned(){
send();
}
function receiveDataFromGoogleSheets(){
waitForGoogleThenExecute();
if(scannerMode=='patient'){
if(getDataFromGoogleSheetsAsArray()[0]=='patientFound'){
getFooter('Barcode: '+getDataFromGoogleSheetsAsArray()[1]+'<br>ID: '+getDataFromGoogleSheetsAsArray()[2]+'<br>Patient: '+getDataFromGoogleSheetsAsArray()[3]+ ' '+ getDataFromGoogleSheetsAsArray()[4]+ '<br> DOB: '+ getDataFromGoogleSheetsAsArray()[5]+ '<br> Age: '+ getDataFromGoogleSheetsAsArray()[6]+ '<br>Sex: '+ getDataFromGoogleSheetsAsArray()[7]+ '<br>Phone: '+ getDataFromGoogleSheetsAsArray()[8]+"<br><hr><br><div style='width: 270px;' id='formContainer'><div style='display: grid;grid-template-columns: auto 30%;'><div style='text-align:left;'><h4><u>Sample taken time</u></h4></div><button class='btn btn-default' onclick='javascript:updateSampleCollectionTime()' id='sampleCollectionButton'>Now</button></div></div>"+createSpan('sampleCollectionTime')+'<br><br><h4><u>Test name</u></h4>'+createChoice('pcr','PCR')+ '<br>' +createChoice('antigen','Antigen')+ "<br><hr><br><div style='width: 270px;' id='formContainer'><div style='display: grid;grid-template-columns: auto 30%;'><div style='text-align:left;'><h4><u>Lab test time</u></h4></div><button class='btn btn-default' onclick='javascript:updateLabTestTime()' id='labTestButton'>Now</button></div></div>"+createSpan('labTestTime')+'<br><br><h4><u>Test results</u></h4>'+createChoice('positive','Positive')+ '<br>' +createChoice('negative','Negative')+ '<br><br>' +createButton('emailResults','Email Results','emailResultsFunction()'));
setEnabled('emailResults',false);
if(getDataFromGoogleSheetsAsArray()[13]=='POSITIVE'){
setValue('positive',true);
setValue('negative',false);
setEnabled('emailResults',true);
}
if(getDataFromGoogleSheetsAsArray()[13]=='NEGATIVE'){
setValue('negative',true);
setValue('positive',false);
setEnabled('emailResults',true);
}
if(getDataFromGoogleSheetsAsArray()[12]=='PCR'){
setValue('pcr',true);
setValue('antigen',false);
setEnabled('emailResults',true);
}
if(getDataFromGoogleSheetsAsArray()[12]=='Antigen'){
setValue('antigen',true);
setValue('pcr',false);
setEnabled('emailResults',true);
}
if(getDataFromGoogleSheetsAsArray()[14]=='Sent'){
setEnabled('positive',false);
setEnabled('negative',false);
setEnabled('pcr',false);
setEnabled('antigen',false);
setEnabled('emailResults',false);
setEnabled('sampleCollectionButton',false);
setEnabled('labTestButton',false);
document.getElementById('emailResults').innerHTML='Email Sent';
}
displayUi('sampleCollectionTime',getDataFromGoogleSheetsAsArray()[10]);
displayUi('labTestTime',getDataFromGoogleSheetsAsArray()[11]);
}else{
getFooter('Patient Not Found');
}
}
if(scannerMode=='employee'){
if(getDataFromGoogleSheetsAsArray()[0]=='employeeFound'){
employeeName= getDataFromGoogleSheetsAsArray()[1];
scannerMode='patient';
searchForPatient();
}else{
getFooter('Employee Not Found');
}
}
}
function waitForGoogleThenExecute(){
try{
setEnabled('positive',true);
setEnabled('negative',true);
setEnabled('pcr',true);
setEnabled('antigen',true);
setEnabled('emailResults',true);
setEnabled('sampleCollectionButton',true);
setEnabled('labTestButton',true);
}catch(err){
}
}
function updateLabTestTime(){
setEnabled('positive',false);
setEnabled('negative',false);
setEnabled('pcr',false);
setEnabled('antigen',false);
setEnabled('emailResults',false);
setEnabled('sampleCollectionButton',false);
setEnabled('labTestButton',false);
sendDataToGoogleSheets(['updateLabTestTime',getScannedText(),employeeName],googleSheetsPortalScript);
}
function updateSampleCollectionTime(){
setEnabled('positive',false);
setEnabled('negative',false);
setEnabled('pcr',false);
setEnabled('antigen',false);
setEnabled('emailResults',false);
setEnabled('sampleCollectionButton',false);
setEnabled('labTestButton',false);
sendDataToGoogleSheets(['updateSampleCollectionTime',getScannedText(),employeeName],googleSheetsPortalScript);
}
</script>
</html>