aiber-martin/platforms/ios/www/assets/maindotpagedotts-full.txt
Martin Donnelly a4b8625d0f init
2020-12-17 16:23:12 +00:00

2070 lines
62 KiB
Plaintext

import { Component, OnInit, NgZone } from '@angular/core';
import {
NavController,
NavParams,
LoadingController,
ToastController,
Platform
} from "@ionic/angular";
import { NumPadComponent } from "../components/num-pad/num-pad.component"
/*import { CasualtyDetailsPage } from "../casualty-details/casualty-details";
import { HistoryPage } from "../history/history";*/
import { ViewChild } from "@angular/core";
import { IonSlides } from "@ionic/angular";
import { DatabaseService } from "../services/database/database.service";
import { AlertController } from "@ionic/angular";
import { AppVersion } from "@ionic-native/app-version/ngx";
import { GetlocationService } from "../services/getlocation/getlocation.service";
import { JwtService } from "../services/jwt/jwt.service";
import { File } from "@ionic-native/file/ngx";
import {
FileTransfer,
FileUploadOptions,
FileTransferObject
} from "@ionic-native/file-transfer/ngx";
@Component({
selector: 'app-main',
templateUrl: './main.page.html',
styleUrls: ['./main.page.scss'],
})
export class MainPage implements OnInit {
@ViewChild("fasSlider")
fasSlides: IonSlides;
stuff: any;
idToken: any;
thePath: string = "";
numTaps: number = 0;
modalVis: string = "hideModal";
avpuControlsVis: string = "showModal";
sandsVis: string = "showModal";
treatmentVis: string = "hideModal";
reportWindowVis: string = "hideModal";
ionSpinner: string = "hideModal";
systemTime: String = new Date()
.toISOString()
.substring(11)
.replace("Z", "");
cpr1: string = "cprButton";
cpr2: string = "cprButton";
cpr3: string = "cprButton";
cpr4: string = "cprButton";
cpr5: string = "cprButton";
cpr6: string = "cprButton";
end1: string = "endButton";
end2: string = "endButton";
end2a: string = "endButton";
end2b: string = "endButton";
end3: string = "endButton";
end4: string = "endButton";
end5: string = "endButton";
end5a: string = "endButton";
end5b: string = "endButton";
end6: string = "endButton";
footerZ: string = "footerZFront";
unresponsiveFlag: boolean = true;
cdFlag: boolean = false;
burnFlag: boolean = false;
adultChokingFlag: boolean = false;
//ATMIST variables
atmistAge: number;
atmistAgeString: string;
atmistTOI: string = "";
atmistNLGTOI: string = "";
atmistInitialAVPU: string = "";
atmistInitialAirway: string = "";
atmistInitialBreathing: string = "";
atmistInitialCirculation: string = "";
atmistInitialConsciousness: string = "";
atmistMechanism: string = "";
atmistInjuries: string = "";
atmistInjuriesData = [];
atmistSignsAndSymptoms = [];
atmistObservations = [];
atmistTreatment = [];
atmistFullName: string = "";
atmistFirstName: string = "";
atmistLastName: string = "";
atmistGender: string = "";
atmistHomeAddress: string = "";
atmistDOB: string = "";
atmistAlcohol: string = "";
atmistAllergyAnswer: string = "";
atmistAllergyDetails: string = "";
atmistMedicine: string = "";
atmistMedicalHistory: string = "";
atmistFlight: string = "";
atmistSeat: string = "";
atmistAirport: string = "";
atmistLastMeal: string = "";
atmistComplaint: string = "";
atmistPP: string = "";
atmistPPP: string = "";
atmistPPLC: string = "";
atmistPPPLC: string = "";
atmistAVPUPrefix: string = "";
casualtyDetails = [];
atmistNormalObs: string = "";
atmistNormalSigns: string = "";
atmistNormalTreatment: string = "";
//MODAL pop-up windows visibility flags
avpuVis: string = "hideModal";
consciousnessVis: string = "hideModal";
aedVis: string = "hideModal";
cprVis: string = "hideModal";
endVis: string = "hideModal";
subVis: string = "hideModal";
ecgVis: string = "hideModal";
consciousnessConfirmState: string = "SELECT";
consciousnessStateColour: string = "";
consciousnessSelectYes: string = "consciousnessEmpty";
consciousnessSelectNo: string = "consciousnessEmpty";
consciousnessSpacing: string = "";
consciousnessMinutes: string = "";
showInputBox: string = "disableDiv";
minutesUnconscious: number = 0;
greyMeOut: string = "";
historyOfIncident: string = "";
endWitnessed: string = "hideModal";
endDoc: string = "hideModal";
witnessed: string = "";
witnessedBy: string = "";
assistanceRequired: string = "";
docRequested: string = "";
docRequestResponse: string = "";
padVisible: boolean = false;
vitalRequested: string = "";
vitalValue: string = "";
hrImage: string = "hrOK";
hrValue: string = "--";
hrTextClass: string = "OK";
hrBT: string = "hideModal";
brImage: string = "brOK";
brValue: string = "--";
brTextClass: string = "OK";
satsImage: string = "satsOK";
satsValue: string = "--";
satsTextClass: string = "OK";
bpImage: string = "bpOK";
bpSysValue: string = "--";
bpDiaValue: string = "--";
bpSysTextClass: string = "OK";
bpDiaTextClass: string = "OK";
bpUnitTextClass: string = "OK";
tempImage: string = "tempOK";
tempValue: string = "--";
tempTextClass: string = "OK";
avpuClass: string = "";
avpuState: string = "";
airwayClass: string = "";
airwayState: string = "";
breathingClass: string = "";
breathingState: string = "";
circulationClass: string = "";
circulationState: string = "";
consciousnessClass: string = "";
consciousnessState: string = "";
//Vital Signs Highlight class variables
hrActive: string = "col";
brActive: string = "col";
satsActive: string = "col";
bpActive: string = "col";
tempActive: string = "col";
// SIGNS AND SYMPTOMS BUTTON CLASSES AND TEXT VARIABLES
sAndSClammy: string = "sasOK";
sandsClammy: string = "CLAMMY<br>NO";
sAndSBleeding: string = "sasOK";
sandsBleeding: string = "BLEEDING<br>NO";
sAndSPain: string = "sasOK";
sandsPain: string = "PAIN<br>NO";
sAndSChoking: string = "sasOK";
sandsChoking: string = "CHOKING<br>NO";
sAndSNauseated: string = "sasOK";
sandsNauseated: string = "NAUSEATED<br>NO";
sAndSSweating: string = "sasOK";
sandsSweating: string = "SWEATING<br>NO";
sAndSHeadache: string = "sasOK";
sandsHeadache: string = "HEADACHE<br>NO";
sAndSIncontinent: string = "sasOK";
sandsIncontinent: string = "INCONTINENT<br>NO";
sAndSVomited: string = "sasOK";
sandsVomited: string = "VOMITED<br>NO";
sAndSFitting: string = "sasOK";
sandsFitting: string = "FITTING<br>NO";
sAndSTalkedSince: string = "sasOK";
sandsTalkedSince: string = "TALKED SINCE<br>YES";
sAndSUnconscious: string = "sasOK";
//sandsUnconscious: string = "UNCONSCIOUS<br>NO";
// TREATMENT GIVEN BUTTON CLASSES
treatmentAED: string = "tgUnselected";
treatmentOxygen: string = "tgUnselected";
treatmentBagValveMask: string = "tgUnselected";
treatmentClearAirway: string = "tgUnselected";
treatmentControlBleeding: string = "tgUnselected";
treatmentCPR: string = "tgUnselected";
treatmentHeadTiltChinLift: string = "tgUnselected";
treatmentJawThrust: string = "tgUnselected";
treatmentMedicineGiven: string = "tgUnselected";
treatmentMovePatient: string = "tgUnselected";
treatmentOroAirway: string = "tgUnselected";
treatmentSuction: string = "tgUnselected";
currVal: string = "";
nlgATMIST: string = "";
gpsLat: string = "";
gpsLong: string = "";
sJSON: string = "";
oldHR: string = "";
// MBS Variables
scanList = [];
scanType = "SCAN";
serviceID = "";
calls = 0;
watchID = "";
deviceList: any;
supportedDevices: any;
deviceBattery: any;
btCounter: number = 1;
lastHR: string = "empty";
lastBR: string = "empty";
lastSATS: string = "empty";
lastSYSBP: string = "empty";
lastDIABP: string = "empty";
lastTEMP: string = "empty";
lastECG: string = "empty";
historyVis: string = "showModal";
chatVis: string = "hideModal";
chatStartVis: string = "showModal";
chatDemoVis: string = "hideModal";
chatText: string = "";
chatAnimation: string = "";
ecgBefore: string = "showModal";
ecgAfter: string = "hideModal";
ecgInProgress: boolean = false;
ecgShortHolder: string = "";
finishWindow: string = "hideModal";
endQuestions: string = "endModal3";
constructor( public navCtrl: NavController, public navParams: NavParams, public numPad: NumPadComponent, private database: DatabaseService, public alertCtrl: AlertController, //private spinnerDialog: SpinnerDialog, private appVersion: AppVersion, public getLocation: GetlocationService, public jwt: JwtService, public file: File, private transfer: FileTransfer, public loadingCtrl: LoadingController, public zone: NgZone, public platform: Platform
) {
this.platform.ready().then(() => {
//this.callMBSMimeBridge();
console.warn("Called MBSMimeBridge()");
this.platform.resume.subscribe(result => {
//App returned to Foreground
if (this.ecgInProgress) {
//Log that an ECG trace has been performed
console.log("App returned to foreground (ECG)");
this.ecgBefore = "hideModal";
this.ecgAfter = "showModal";
this.ecgShortHolder = "ecgShortModal";
}
});
this.platform.pause.subscribe(result => {
//App into Background
if (this.ecgInProgress) {
console.log("App placed in background (ECG)");
}
});
});
}
ngOnInit() {
console.log("Main page loaded and running");
this.avpuState = this.navParams.get("avpuState");
this.airwayState = this.navParams.get("airwayState");
this.breathingState = this.navParams.get("breathingState");
this.circulationState = this.navParams.get("circulationState");
this.consciousnessState = this.navParams.get("consciousnessState");
//Set initial states
//AVPU
if (this.avpuState === "") {
this.avpuState = "ALERT";
}
if (this.avpuState === "ALERT") {
this.avpuClass = "sasOK oneLine";
} else {
this.avpuClass = "sasNotOK";
if (this.avpuState === "UNRESPONSIVE") {
this.avpuClass += " oneLine";
}
}
//Airway
if (this.airwayState === "clear") {
this.airwayClass = "sasOK";
this.airwayState = "AIRWAY<br>CLEAR";
} else {
this.airwayClass = "sasNotOK";
this.airwayState = "AIRWAY<br>BLOCKED";
}
//Breathing
if (this.breathingState === "regular") {
this.breathingClass = "sasOK";
this.breathingState = "BREATHING<br>REGULAR";
} else {
this.breathingClass = "sasNotOK";
this.breathingState = "BREATHING<br>IRREGULAR";
}
//Circulation
if (this.circulationState === "pale") {
this.circulationClass = "sasOK";
this.circulationState = "CIRCULATION<br>PALE";
} else {
this.circulationClass = "sasNotOK";
this.circulationState = "CIRCULATION<br>FLUSHED";
}
//Consciousness
if (this.consciousnessState === "no") {
this.consciousnessClass = "sasOK";
this.consciousnessState = "UNCONSCIOUS<br>NO";
} else {
this.consciousnessClass = "sasNotOK";
this.consciousnessState =
"UNCONSCIOUS<br>" +
this.consciousnessState
.replace(" secs", "s")
.replace(" mins", "m")
.replace("hr", " hour");
//if (this.consciousnessState.indexOf("over") === -1) {
// this.consciousnessSpacing = "";
//} else {
this.consciousnessSpacing = "narrowerText";
//}
}
}
ionViewDidEnter() {
if (this.avpuControlsVis === "hideModal") {
//Report window must be visible; re-run
this.showReport();
}
}
ProcessBluetoothHR(hr: string) {
if (hr !== "" && hr !== "0") {
this.hrBT = "";
let vitalColour = "";
//this.vitalRequested = "BPM";
this.vitalValue = hr;
this.hrValue = this.vitalValue;
this.hrCapture(hr);
}
}
hrCapture(hrInput: string) {
//this.padVisible = false;
let vitalColour = "";
//this.vitalValue = hrInput;
this.hrValue = hrInput;
//Check HR and set colours
vitalColour = this.checkVitals("hr", this.hrValue);
this.hrImage = "hr" + vitalColour;
this.hrTextClass = vitalColour;
this.btCounter--;
if (this.btCounter === 0) {
if (this.oldHR !== this.hrValue) {
this.database.saveVital("Heart Rate", this.hrValue + " BPM");
this.oldHR = this.hrValue;
this.lastHR = this.hrValue + "/" + this.hrImage;
}
this.btCounter = 5;
}
//this.clearVitals();
if (this.avpuControlsVis === "hideModal") {
//Report window must be visible; re-run
//this.showReport();
}
}
updateTaps() {
this.numTaps++;
if (this.numTaps > 5) {
this.appVersion.getVersionNumber().then(version => {
alert("MIME Pro Version: " + version);
});
this.numTaps = 0;
}
}
reloadAVPU(avpu) {
this.avpuState = avpu;
if (this.avpuState === "ALERT") {
this.avpuClass = "sasOK oneLine";
} else {
this.avpuClass = "sasNotOK";
if (this.avpuState === "UNRESPONSIVE") {
this.avpuClass += " oneLine";
}
}
this.database.saveAVPU(this.avpuState);
this.avpuVis = "hideModal";
}
toggleChatWindow() {
if (this.chatVis === "hideModal") {
this.chatVis = "showModal";
this.historyVis = "hideModal";
} else {
this.chatVis = "hideModal";
this.historyVis = "showModal";
}
}
startChat() {
//This is a timed demo; nothing more...
this.chatDemoVis = "showModal";
this.chatStartVis = "hideModal";
}
openCasualtyDetails() {
//this.navCtrl.push(CasualtyDetailsPage);
}
myCallbackFunction = _params => {
return new Promise((resolve, reject) => {
this.historyOfIncident = _params;
console.log("Returned: " + _params);
this.database.saveHistory(_params);
resolve();
});
};
openHistory() {
/*this.navCtrl.push(HistoryPage, {
incoming: this.historyOfIncident,
callback: this.myCallbackFunction
});*/
}
checkVitals(vitalSign: string, vitalValue: string) {
//let numVitalValue = parseFloat(vitalValue);
switch (vitalSign) {
case "hr":
let myHR = parseFloat(vitalValue);
if (myHR <= 39 || myHR >= 130) {
//make colour red
return "NotOK";
} else if ((myHR >= 40 && myHR <= 49) || (myHR >= 110 && myHR <= 129)) {
//make colour amber
return "Warn";
} else if (myHR >= 50 && myHR <= 109) {
//make colour green
return "OK";
}
break;
case "br":
let myBR = parseFloat(vitalValue);
if ((myBR >= 0 && myBR <= 8) || (myBR >= 25 && myBR <= 99)) {
//make colour red
return "NotOK";
} else if (myBR >= 21 && myBR <= 24) {
//make colour amber
return "Warn";
} else if (myBR >= 9 && myBR <= 20) {
//make colour green
return "OK";
}
break;
//Updated with Tim's SATS values from email 13/04/2019
case "sats":
let mySATS = parseFloat(vitalValue);
if (mySATS >= 50 && mySATS <= 91) {
//make colour red
return "NotOK";
} else if (mySATS >= 92 && mySATS <= 95) {
//make colour amber
return "Warn";
} else if (mySATS >= 96 && mySATS <= 100) {
//make colour green
return "OK";
}
break;
case "bpSys":
let mySys = parseFloat(vitalValue);
if ((mySys >= 40 && mySys <= 89) || (mySys >= 221 && mySys <= 300)) {
//make colour red
return "NotOK";
} else if (mySys >= 90 && mySys <= 99) {
//make colour amber
return "Warn";
} else if (mySys >= 100 && mySys <= 220) {
//make colour green
return "OK";
}
break;
case "bpDia":
let myDia = parseFloat(vitalValue);
//Diastolic
if (myDia >= 100 && myDia <= 200) {
//make colour red
return "NotOK";
} else if (myDia >= 81 && myDia <= 99) {
//make colour amber
return "Warn";
} else if (myDia >= 20 && myDia <= 80) {
//make colour green
return "OK";
}
break;
//Updated with Tim's TEMP values from email 13/04/2019
case "temp":
let myTEMP = parseFloat(vitalValue);
if ((myTEMP >= 18 && myTEMP <= 35) || myTEMP >= 39.1) {
//make colour red
return "NotOK";
} else if (
(myTEMP >= 35.1 && myTEMP <= 36) ||
(myTEMP >= 38.1 && myTEMP <= 39)
) {
//make colour amber
return "Warn";
} else if (myTEMP >= 36.1 && myTEMP <= 38) {
//make colour green
return "OK";
}
break;
}
}
getSystemTime() {
var d = new Date();
var hours = this.addZero(d.getHours());
var mins = this.addZero(d.getMinutes());
var secs = this.addZero(d.getSeconds());
var theTime = hours + ":" + mins + ":" + secs;
this.systemTime = theTime;
return this.systemTime;
}
addZero(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
vitalCapture(event) {
let vitalColour = "";
if (event !== "closePad") {
this.vitalValue = event;
switch (this.vitalRequested) {
case "BPM":
this.hrValue = this.vitalValue;
//Check HR and set colours
vitalColour = this.checkVitals("hr", this.hrValue);
this.hrImage = "hr" + vitalColour;
this.hrTextClass = vitalColour;
this.lastHR =
this.hrValue + "/" + this.hrImage + "/" + this.getSystemTime();
this.database.saveVital("Heart Rate", this.hrValue + " BPM");
break;
case "BrPM":
this.padVisible = false;
this.brValue = this.vitalValue;
vitalColour = this.checkVitals("br", this.brValue);
this.brImage = "br" + vitalColour;
this.brTextClass = vitalColour;
this.lastBR =
this.brValue + "/" + this.brImage + "/" + this.getSystemTime();
this.database.saveVital("Respiratory Rate", this.brValue + " BrPM");
break;
case "%":
this.padVisible = false;
this.satsValue = this.vitalValue;
vitalColour = this.checkVitals("sats", this.satsValue);
this.satsImage = "sats" + vitalColour;
this.satsTextClass = vitalColour;
this.lastSATS =
this.satsValue + "/" + this.satsImage + "/" + this.getSystemTime();
this.database.saveVital("Oxygen Saturation", this.satsValue + " %");
break;
case "mmHg":
//BP comes in as 120/79, so need to split the values by the /
this.padVisible = false;
let bp = this.vitalValue.split("/");
this.bpSysValue = bp[0];
this.bpDiaValue = bp[1];
this.bpSysTextClass = this.checkVitals("bpSys", this.bpSysValue);
this.bpDiaTextClass = this.checkVitals("bpDia", this.bpDiaValue);
this.lastSYSBP =
this.bpSysValue +
"/" +
this.bpSysTextClass +
"/" +
this.getSystemTime();
this.lastDIABP = this.bpDiaValue + "/" + this.bpDiaTextClass;
if (this.bpSysTextClass !== "OK" || this.bpDiaTextClass !== "OK") {
//one of the BP values is not OK, colour text and image
//to follow suit
let theMix = this.bpSysTextClass + this.bpDiaTextClass;
if (theMix.indexOf("NotOK") !== -1) {
this.bpUnitTextClass = "NotOK";
this.bpImage = "bpNotOK";
} else if (theMix.indexOf("Warn") !== -1) {
this.bpUnitTextClass = "Warn";
this.bpImage = "bpWarn";
}
} else {
this.bpImage = "bpOK";
this.bpUnitTextClass = "OK";
}
this.database.saveVital(
"Blood Pressure",
this.bpSysValue +
"/" +
this.bpDiaValue +
" mmHg" +
"/" +
this.getSystemTime()
);
break;
case "<sup>o</sup>C":
this.padVisible = false;
this.tempValue = this.vitalValue;
vitalColour = this.checkVitals("temp", this.tempValue);
this.tempImage = "temp" + vitalColour;
this.tempTextClass = vitalColour;
this.lastTEMP =
this.tempValue + "/" + this.tempImage + "/" + this.getSystemTime();
this.database.saveVital("Temperature", this.tempValue + " C");
break;
}
}
this.clearVitals();
if (this.avpuControlsVis === "hideModal") {
//Report window must be visible; re-run
this.showReport();
}
}
changeHR() {
this.clearVitals();
this.vitalRequested = "BPM";
this.padVisible = true;
this.hrActive = "col vitalToFront";
}
changeBR() {
this.clearVitals();
this.vitalRequested = "BrPM";
this.padVisible = true;
this.brActive = "col vitalToFront";
}
changeSats() {
this.clearVitals();
this.vitalRequested = "%";
this.padVisible = true;
this.satsActive = "col vitalToFront";
}
changeBP() {
this.clearVitals();
this.vitalRequested = "mmHg";
this.padVisible = true;
this.bpActive = "col vitalToFront";
}
changeTemp() {
this.clearVitals();
this.vitalRequested = "<sup>o</sup>C";
this.padVisible = true;
this.tempActive = "col vitalToFront";
}
clearVitals() {
this.padVisible = false;
this.hrActive = "col";
this.brActive = "col";
this.satsActive = "col";
this.bpActive = "col";
this.tempActive = "col";
}
airwayToggle() {
if (this.airwayState === "AIRWAY<br>BLOCKED") {
this.airwayClass = "sasOK";
this.airwayState = "AIRWAY<br>CLEAR";
} else {
this.airwayClass = "sasNotOK";
this.airwayState = "AIRWAY<br>BLOCKED";
}
this.database.saveABC("Airway", this.airwayState);
}
breathingToggle() {
if (this.breathingState === "BREATHING<br>IRREGULAR") {
this.breathingClass = "sasOK";
this.breathingState = "BREATHING<br>REGULAR";
} else {
this.breathingClass = "sasNotOK";
this.breathingState = "BREATHING<br>IRREGULAR";
}
this.database.saveABC("Breathing", this.breathingState);
}
circulationToggle() {
if (this.circulationState === "CIRCULATION<br>FLUSHED") {
this.circulationClass = "sasOK";
this.circulationState = "CIRCULATION<br>PALE";
} else {
this.circulationClass = "sasNotOK";
this.circulationState = "CIRCULATION<br>FLUSHED";
}
this.database.saveABC("Circulation", this.circulationState);
}
toggleTreatment(x) {
switch (x) {
case "aed":
if (this.treatmentAED === "tgUnselected") {
this.treatmentAED = "tgSelected";
//Only show shocks dialog if treatment is being added
this.aedVis = "showModal";
} else {
this.treatmentAED = "tgUnselected";
}
this.database.saveTreatment("AED", this.treatmentAED);
break;
case "oxygen":
if (this.treatmentOxygen === "tgUnselected") {
this.treatmentOxygen = "tgSelected";
} else {
this.treatmentOxygen = "tgUnselected";
}
this.database.saveTreatment("OXYGEN", this.treatmentOxygen);
break;
case "bagvalvemask":
if (this.treatmentBagValveMask === "tgUnselected") {
this.treatmentBagValveMask = "tgSelected";
} else {
this.treatmentBagValveMask = "tgUnselected";
}
this.database.saveTreatment(
"BAG VALVE MASK",
this.treatmentBagValveMask
);
break;
case "clearairway":
if (this.treatmentClearAirway === "tgUnselected") {
this.treatmentClearAirway = "tgSelected";
} else {
this.treatmentClearAirway = "tgUnselected";
}
this.database.saveTreatment("CLEAR AIRWAY", this.treatmentClearAirway);
break;
case "controlofbleeding":
if (this.treatmentControlBleeding === "tgUnselected") {
this.treatmentControlBleeding = "tgSelected";
} else {
this.treatmentControlBleeding = "tgUnselected";
}
this.database.saveTreatment(
"CONTROL OF BLEEDING",
this.treatmentControlBleeding
);
break;
case "cpr":
if (this.treatmentCPR === "tgUnselected") {
this.treatmentCPR = "tgSelected";
//Show CPR dialog if CPR being selected
this.cprVis = "showModal";
} else {
this.treatmentCPR = "tgUnselected";
this.cpr1 = "cprButton";
this.cpr2 = "cprButton";
this.cpr3 = "cprButton";
this.cpr4 = "cprButton";
this.cpr5 = "cprButton";
this.cpr6 = "cprButton";
}
this.database.saveTreatment("CPR", this.treatmentCPR);
break;
case "headtiltchinlift":
if (this.treatmentHeadTiltChinLift === "tgUnselected") {
this.treatmentHeadTiltChinLift = "tgSelected";
} else {
this.treatmentHeadTiltChinLift = "tgUnselected";
}
this.database.saveTreatment(
"HEAD TILT/CHIN LIFT",
this.treatmentHeadTiltChinLift
);
break;
case "jawthrust":
if (this.treatmentJawThrust === "tgUnselected") {
this.treatmentJawThrust = "tgSelected";
} else {
this.treatmentJawThrust = "tgUnselected";
}
this.database.saveTreatment("JAW THRUST", this.treatmentJawThrust);
break;
case "medicinegiven":
if (this.treatmentMedicineGiven === "tgUnselected") {
this.treatmentMedicineGiven = "tgSelected";
} else {
this.treatmentMedicineGiven = "tgUnselected";
}
this.database.saveTreatment(
"MEDICINE GIVEN",
this.treatmentMedicineGiven
);
break;
case "movepatient":
if (this.treatmentMovePatient === "tgUnselected") {
this.treatmentMovePatient = "tgSelected";
} else {
this.treatmentMovePatient = "tgUnselected";
}
this.database.saveTreatment("MOVE PATIENT", this.treatmentMovePatient);
break;
case "opa":
if (this.treatmentOroAirway === "tgUnselected") {
this.treatmentOroAirway = "tgSelected";
} else {
this.treatmentOroAirway = "tgUnselected";
}
this.database.saveTreatment(
"OROPHARYNGEAL AIRWAY",
this.treatmentOroAirway
);
break;
case "suction":
if (this.treatmentSuction === "tgUnselected") {
this.treatmentSuction = "tgSelected";
} else {
this.treatmentSuction = "tgUnselected";
}
this.database.saveTreatment("SUCTION", this.treatmentSuction);
break;
}
}
sAndSToggle(x) {
//console.log(this.clammy.nativeElement.innerText);
switch (x) {
case "clammy":
if (this.sandsClammy === "CLAMMY<br>NO") {
this.sandsClammy = "CLAMMY<br>YES";
this.sAndSClammy = "bgNotOK";
} else {
this.sandsClammy = "CLAMMY<br>NO";
this.sAndSClammy = "bgOK";
}
this.database.saveSandS("CLAMMY", this.sandsClammy);
break;
case "bleeding":
if (this.sandsBleeding === "BLEEDING<br>NO") {
this.sandsBleeding = "BLEEDING<br>YES";
this.sAndSBleeding = "bgNotOK";
} else {
this.sandsBleeding = "BLEEDING<br>NO";
this.sAndSBleeding = "bgOK";
}
this.database.saveSandS("BLEEDING", this.sandsBleeding);
break;
case "pain":
if (this.sandsPain === "PAIN<br>NO") {
this.sandsPain = "PAIN<br>YES";
this.sAndSPain = "bgNotOK";
} else {
this.sandsPain = "PAIN<br>NO";
this.sAndSPain = "bgOK";
}
this.database.saveSandS("PAIN", this.sandsPain);
break;
case "choking":
if (this.sandsChoking === "CHOKING<br>NO") {
this.sandsChoking = "CHOKING<br>YES";
this.sAndSChoking = "bgNotOK";
} else {
this.sandsChoking = "CHOKING<br>NO";
this.sAndSChoking = "bgOK";
}
this.database.saveSandS("CHOKING", this.sandsChoking);
break;
case "nauseated":
if (this.sandsNauseated === "NAUSEATED<br>NO") {
this.sandsNauseated = "NAUSEATED<br>YES";
this.sAndSNauseated = "bgNotOK";
} else {
this.sandsNauseated = "NAUSEATED<br>NO";
this.sAndSNauseated = "bgOK";
}
this.database.saveSandS("NAUSEATED", this.sandsNauseated);
break;
case "sweating":
if (this.sandsSweating === "SWEATING<br>NO") {
this.sandsSweating = "SWEATING<br>YES";
this.sAndSSweating = "bgNotOK";
} else {
this.sandsSweating = "SWEATING<br>NO";
this.sAndSSweating = "bgOK";
}
this.database.saveSandS("SWEATING", this.sandsSweating);
break;
case "headache":
if (this.sandsHeadache === "HEADACHE<br>NO") {
this.sandsHeadache = "HEADACHE<br>YES";
this.sAndSHeadache = "bgNotOK";
} else {
this.sandsHeadache = "HEADACHE<br>NO";
this.sAndSHeadache = "bgOK";
}
this.database.saveSandS("HEADACHE", this.sandsHeadache);
break;
case "incontinent":
if (this.sandsIncontinent === "INCONTINENT<br>NO") {
this.sandsIncontinent = "INCONTINENT<br>YES";
this.sAndSIncontinent = "bgNotOK";
} else {
this.sandsIncontinent = "INCONTINENT<br>NO";
this.sAndSIncontinent = "bgOK";
}
this.database.saveSandS("INCONTINENT", this.sandsIncontinent);
break;
case "vomited":
if (this.sandsVomited === "VOMITED<br>NO") {
this.sandsVomited = "VOMITED<br>YES";
this.sAndSVomited = "bgNotOK";
} else {
this.sandsVomited = "VOMITED<br>NO";
this.sAndSVomited = "bgOK";
}
this.database.saveSandS("VOMITED", this.sandsVomited);
break;
case "fitting":
if (this.sandsFitting === "FITTING<br>NO") {
this.sandsFitting = "FITTING<br>YES";
this.sAndSFitting = "bgNotOK";
} else {
this.sandsFitting = "FITTING<br>NO";
this.sAndSFitting = "bgOK";
}
this.database.saveSandS("FITTING", this.sandsFitting);
break;
case "talkedsince":
if (this.sandsTalkedSince === "TALKED SINCE<br>NO") {
this.sandsTalkedSince = "TALKED SINCE<br>YES";
this.sAndSTalkedSince = "bgOK";
} else {
this.sandsTalkedSince = "TALKED SINCE<br>NO";
this.sAndSTalkedSince = "bgNotOK";
}
this.database.saveSandS("TALKED SINCE", this.sandsTalkedSince);
break;
/*case "consciousness":
console.log("Heard consciousness tap", this.consciousnessState);
if (this.consciousnessState.indexOf("YES") === -1) {
console.log("Getting to 302");
this.consciousnessState = "UNCONSCIOUS<br>YES";
this.consciousnessClass = "bgNotOK";
} else {
console.log("Getting to 308");
this.consciousnessState = "UNCONSCIOUS<br>NO";
this.consciousnessClass = "bgOK";
}
break;*/
}
}
selectConsciousness() {
//This is responsible for displaying the consciousness modal
if (this.consciousnessClass === "bgNotOK") {
//Enable numbers
this.showInputBox = "";
this.greyMeOut = "";
} else {
//Disable numbers
this.showInputBox = "disableDiv";
this.greyMeOut = "greyedOut";
}
this.consciousnessVis = "showModal";
}
setConsciousness(consciousnessState) {
//This is responsible for showing the "how many minutes?" box if "Yes" selected
switch (consciousnessState) {
case "yes":
this.showInputBox = "";
this.greyMeOut = "";
//this.consciousnessState = consciousnessState;
this.consciousnessClass = "bgNotOK";
this.consciousnessSelectYes = "bgNotOK";
this.consciousnessSelectNo = "consciousnessEmpty";
break;
case "no":
this.consciousnessState = "UNCONSCIOUS<br>NO";
this.showInputBox = "disableDiv";
this.greyMeOut = "greyedOut";
this.consciousnessConfirmState = "NO";
this.consciousnessClass = "bgOK";
this.consciousnessSelectYes = "consciousnessEmpty";
this.consciousnessSelectNo = "bgOK";
this.toggleConsciousness();
this.consciousnessStateColour = "consciousnessOK";
this.database.saveSandS("UNCONSCIOUS", "NO");
this.consciousnessMinutes = "";
break;
}
}
setWitnessed(witnessedState) {
switch (witnessedState) {
case "yes":
this.endWitnessed = "showModal";
this.endQuestions = "endModal4";
//this.database.saveWitnessed("YES");
this.end1 = "endSelected";
this.end2 = "endButton";
break;
case "no":
//this.endVis = "hideModal";
this.endWitnessed = "hideModal";
this.endQuestions = "endModal3";
//this.database.saveWitnessed("NO");
this.end1 = "endButton";
this.end2 = "endSelected";
break;
}
}
setWitnessedBy(witnessedByState) {
switch (witnessedByState) {
case "crew":
//this.database.saveWitnessed("YES");
this.end2a = "endSelected";
this.end2b = "endButton";
break;
case "pax":
//this.database.saveWitnessed("NO");
this.end2a = "endButton";
this.end2b = "endSelected";
break;
}
}
setAssistanceOnLanding(aolState) {
switch (aolState) {
case "yes":
//this.database.saveWitnessed("YES");
this.end3 = "endSelected";
this.end4 = "endButton";
break;
case "no":
//this.database.saveWitnessed("NO");
this.end3 = "endButton";
this.end4 = "endSelected";
break;
}
}
setDocCalledOnAircraft(docCalledState) {
switch (docCalledState) {
case "yes":
this.endQuestions = "endModal5";
this.endDoc = "showModal";
//this.database.saveWitnessed("YES");
this.end5 = "endSelected";
this.end6 = "endButton";
break;
case "no":
if (this.endQuestions !== "endModal3") {
this.endQuestions = "endModal4";
} else {
this.endQuestions = "endModal3";
}
this.endDoc = "hideModal";
//this.database.saveWitnessed("NO");
this.end5 = "endButton";
this.end6 = "endSelected";
//If this button is pushed, this should save all and initiate send to
//cloud dashboard
//hide the finish window
//this.finishSessionReal();
this.showReport(1);
break;
}
}
setDocResponse(docResponseState) {
switch (docResponseState) {
case "yes":
//this.database.saveWitnessed("YES");
this.end5a = "endSelected";
this.end5b = "endButton";
//this.finishSessionReal();
this.showReport(1);
break;
case "no":
//this.database.saveWitnessed("NO");
this.end5a = "endButton";
this.end5b = "endSelected";
//this.finishSessionReal();
//this.generateReport();
this.showReport(1);
break;
}
}
finishSessionReal() {
this.endVis = "hideModal";
this.subVis = "showModal";
}
generateReport() {
this.jwt.login().subscribe(
res => {
this.stuff = res;
console.log(res.token);
console.log("line 1306: " + JSON.stringify(this.stuff));
console.log("line 1307: " + this.stuff);
this.createFile(res.token);
},
err => {
console.log("Error: " + err);
}
);
//temporarily remove the popup
//this.subVis = "hideModal";
//this.navCtrl.pop();
}
createFile(theToken: string) {
//write the file
this.file
.writeFile(
this.file.dataDirectory,
this.database.theSessionID.toString() + ".json",
this.sJSON,
{
append: false,
replace: true
}
)
.then(result => {
console.log(this.sJSON);
console.log("File created OK");
console.log(JSON.stringify(result));
this.thePath = result.nativeURL;
//let thePath = "/" + this.database.theSessionID.toString() + ".json";
//Upload file
this.uploadFile(theToken, this.thePath);
})
.catch(error => {
console.log("File creation error");
console.log(error);
});
}
uploadFile(theToken: string, thePath: string) {
console.log("The Token: Bearer " + theToken);
console.log("The Path: " + thePath);
/*let loader = this.loadingCtrl.create({
content: "Generating Report - please wait"
});
loader.present();*/
const fileTransfer: FileTransferObject = this.transfer.create();
let options: FileUploadOptions = {
fileKey: "files",
fileName: this.database.theSessionID + ".json",
chunkedMode: false,
mimeType: "application/json",
headers: { Authorization: "Bearer " + theToken }
};
fileTransfer
.upload(
thePath,
"https://mimeapi.azurewebsites.net/v1/api/incidents/UploadFiles",
options
)
.then(
data => {
console.log("File uploaded successfully");
console.log(JSON.stringify(data));
//loader.dismiss();
//this.submitReport();
//Remove all records from the database after submission
this.database.clearDatabase();
this.endVis = "hideModal";
this.subVis = "showModal";
},
err => {
console.log("File upload error");
console.log(JSON.stringify(err));
//loader.dismiss();
this.endVis = "hideModal";
this.subVis = "showModal";
}
);
//After 3 seconds, confirm successful upload and ask them to tap OK
//loader.dismiss();
//this.finishWindow = "showModal";
//this.endVis = "hideModal";
//this.subVis = "showModal";
}
submitReport() {
//Hide the modal
this.subVis = "hideModal";
//clear events and start again!
this.database.clearSession();
this.navCtrl.pop();
}
setAED(aedState) {
switch (aedState) {
case "yes":
this.database.saveAEDShocks("yes");
break;
case "no":
this.database.saveAEDShocks("no");
break;
}
this.aedVis = "hideModal";
}
setPulse(pulseState) {
switch (pulseState) {
case "yes":
this.cpr1 = "cprSelected cprOK";
this.cpr2 = "cprButton";
this.database.savePulseRestored("yes");
break;
case "no":
this.cpr1 = "cprButton";
this.cpr2 = "cprSelected cprNotOK";
this.database.savePulseRestored("no");
break;
}
}
setRespiration(respState) {
switch (respState) {
case "yes":
this.cpr3 = "cprSelected cprOK";
this.cpr4 = "cprButton";
this.database.saveRespirationRestored("yes");
break;
case "no":
this.cpr3 = "cprButton";
this.cpr4 = "cprSelected cprNotOK";
this.database.saveRespirationRestored("no");
break;
}
}
setConsciousnessRegained(concState) {
switch (concState) {
case "yes":
this.cpr5 = "cprSelected cprOK";
this.cpr6 = "cprButton";
this.database.saveConsciousnessRegained("yes");
break;
case "no":
this.cpr5 = "cprButton";
this.cpr6 = "cprSelected cprNotOK";
this.database.saveConsciousnessRegained("no");
break;
}
this.cprVis = "hideModal";
}
saveMinutes(minutesUnconscious) {
/*if (minutesUnconscious === 0) {
alert("Must be more than zero minutes, otherwise select 'No'");
} else {*/
let uncUnit = "";
//alert(minutesUnconscious.indexOf("m"));
if (minutesUnconscious.indexOf("m") !== -1) {
//This is minutes
uncUnit = "m";
minutesUnconscious = minutesUnconscious.slice(0, -1);
} else {
//This is seconds
uncUnit = "s";
minutesUnconscious = minutesUnconscious.slice(0, -1);
}
this.showInputBox = "hideModal";
if (minutesUnconscious.indexOf("+") === -1) {
this.consciousnessSpacing = "narrowerText";
this.consciousnessConfirmState =
"UNCONSCIOUS<br>YES (under " + minutesUnconscious + uncUnit + ")";
} else {
this.consciousnessSpacing = "narrowerText";
var finalMinutes: string = "";
switch (minutesUnconscious) {
case "+30":
finalMinutes = "over 30m";
break;
case "+60":
finalMinutes = "over 1 hour";
break;
}
this.consciousnessConfirmState =
"UNCONSCIOUS<br>YES (" + finalMinutes + ")";
}
this.consciousnessMinutes = minutesUnconscious;
this.consciousnessState = this.consciousnessConfirmState;
this.consciousnessStateColour = "consciousnessNotOK";
this.consciousnessClass = "bgNotOK";
this.toggleConsciousness();
this.database.saveSandS("UNCONSCIOUS", this.consciousnessState);
//}
}
showTreatment() {
this.avpuControlsVis = "showModal";
this.treatmentVis = "showModal";
this.sandsVis = "hideModal";
this.reportWindowVis = "hideModal";
}
showSigns() {
this.avpuControlsVis = "showModal";
this.sandsVis = "showModal";
this.treatmentVis = "hideModal";
this.reportWindowVis = "hideModal";
}
showReport(final?) {
console.log("SessionID: " + this.database.theSessionID);
this.sandsVis = "showModal";
this.treatmentVis = "hideModal";
this.avpuControlsVis = "hideModal";
this.reportWindowVis = "showModal";
//clear window and show spinner
this.atmistAge = null;
this.nlgATMIST = "";
this.atmistTOI = "";
this.atmistMechanism =
"Mechanism of Injury/Medical Complaint not yet specified";
this.atmistInjuries =
"No injuries/information relating to complaint reported at this point";
this.atmistSignsAndSymptoms = [];
this.atmistTreatment = [];
this.atmistPP = "They";
this.atmistPPLC = "they";
this.atmistPPP = "Their";
this.atmistPPPLC = "their";
//Get report details from database
//Age
this.database.getCasualtyAge().then(getAtmistAge => {
for (var atmist of getAtmistAge) {
console.log("ATMIST AGE: " + atmist.casAge);
this.atmistAge = parseInt(atmist.casAge);
this.atmistFirstName = atmist.casFirstName;
this.atmistLastName = atmist.casLastName;
this.atmistFullName = atmist.casFullName;
this.atmistGender = atmist.casGender;
console.log("Gender: " + this.atmistGender);
switch (this.atmistGender) {
case "male":
this.atmistPP = "He";
this.atmistPPLC = "he";
this.atmistPPP = "His";
this.atmistPPPLC = "his";
break;
case "female":
this.atmistPP = "She";
this.atmistPPLC = "she";
this.atmistPPP = "Her";
this.atmistPPPLC = "her";
break;
case "other":
this.atmistPP = "They";
this.atmistPPLC = "they";
this.atmistPPP = "Their";
this.atmistPPPLC = "their";
break;
default:
this.atmistPP = "They";
this.atmistPPLC = "they";
this.atmistPPP = "Their";
this.atmistPPPLC = "their";
break;
}
}
//Initial AVPU
this.database.getATMISTAVPU().then(atmistAVPUData => {
for (var atmistData of atmistAVPUData) {
this.atmistInitialAVPU = atmistData.atmistAVPU;
switch (this.atmistInitialAVPU) {
case "ALERT":
this.atmistAVPUPrefix = "was";
break;
case "RESPONDS TO VOICE":
this.atmistAVPUPrefix = "";
break;
case "RESPONDS TO PAIN":
this.atmistAVPUPrefix = "";
break;
case "UNRESPONSIVE":
this.atmistAVPUPrefix = "was";
break;
}
this.atmistInitialAirway = atmistData.atmistA;
this.atmistInitialBreathing = atmistData.atmistB;
this.atmistInitialCirculation = atmistData.atmistC;
this.atmistInitialConsciousness = atmistData.atmistCons;
if (this.atmistInitialConsciousness === "NO") {
this.atmistInitialConsciousness = "HAD NOT BEEN UNCONSCIOUS";
} else {
var testbed = this.atmistInitialConsciousness;
testbed = testbed.replace("YES (", "");
testbed = testbed.replace(")", "");
testbed = testbed.replace(" MINS)", "");
if (this.atmistInitialConsciousness.indexOf("OVER") === -1) {
this.atmistInitialConsciousness =
"HAD BEEN UNCONSCIOUS FOR " +
testbed.replace("MINS", " MINUTES").replace("SECS", " SECONDS");
} else {
this.atmistInitialConsciousness =
"HAD BEEN UNCONSCIOUS FOR " +
testbed.replace("HR", "HOUR").replace("MINS", " MINUTES");
}
}
}
//Get GPS
let gpsCoords = this.getLocation.myCoords;
//this.gpsLat = "57.69778";
//this.gpsLong = "-3.987871";
this.gpsLat = gpsCoords.theLAT;
this.gpsLong = gpsCoords.theLONG;
console.log("Coords - Lat: " + this.gpsLat + ", Long: " + this.gpsLong);
//alert("Coords - Lat: " + this.gpsLat + ", Long: " + this.gpsLong);
//Time of Incident (TOI)
this.database.getATMISTTOI().then(atmistTOI => {
for (var atmist of atmistTOI) {
this.atmistTOI = atmist.atmistTOI;
this.atmistNLGTOI = atmist.atmistNLGTOI;
this.atmistMechanism = atmist.atmistComplaint;
if (this.atmistMechanism && this.atmistMechanism !== "") {
this.atmistMechanism = this.atmistMechanism.toUpperCase();
} else {
this.atmistMechanism =
"Mechanism of Injury/Medical Complaint not yet specified";
}
this.atmistInjuries = atmist.atmistInjuries;
if (!this.atmistInjuries || this.atmistInjuries === "") {
this.atmistInjuries =
"No injuries/information relating to complaint reported at this point";
}
}
//Injuries
this.database.getATMISTInjuries().then(atmistInjuriesData => {
this.atmistInjuriesData = atmistInjuriesData;
//Obs
this.database.getATMISTObs().then(atmistObsData => {
this.atmistObservations = atmistObsData;
//Signs
this.database.getATMISTSigns().then(atmistSignsData => {
this.atmistSignsAndSymptoms = atmistSignsData;
//Treatment
this.database.getATMISTTreatment().then(atmistTreatmentData => {
this.atmistTreatment = atmistTreatmentData;
//Casualty Details
this.database
.getCasualtyDetails()
.then(atmistCasualtyDetails => {
this.casualtyDetails = atmistCasualtyDetails;
for (var cas of this.casualtyDetails) {
this.atmistHomeAddress = cas.casHomeAddress;
this.atmistDOB = cas.casDOB;
this.atmistAge = cas.casAge;
this.atmistAlcohol = cas.casAlcohol;
this.atmistAllergyAnswer = cas.casAllergyAnswer;
this.atmistAllergyDetails = cas.casAllergyDetails;
this.atmistMedicine = cas.casMedicine;
this.atmistMedicalHistory = cas.casMedicalHistory;
this.atmistFlight = cas.casFlight;
this.atmistSeat = cas.casSeat;
this.atmistAirport = cas.casAirport;
this.atmistLastMeal = cas.casLastMeal;
this.atmistComplaint = cas.casComplaint;
}
//set NLG ATMIST String
//No name, but has an age
if (
this.atmistFullName.trim() === "" &&
this.atmistAge !== null &&
!isNaN(this.atmistAge)
) {
this.nlgATMIST =
"This casualty is " +
this.atmistAge +
" years of age.<br><br>";
}
//No name, no age
if (
this.atmistFullName.trim() === "" &&
(this.atmistAge === null || isNaN(this.atmistAge))
) {
this.nlgATMIST =
"This is a casualty with no specified age.<br><br>";
}
if (
this.atmistFullName.trim() !== "" &&
this.atmistAge !== null &&
!isNaN(this.atmistAge)
) {
this.nlgATMIST =
"This is " +
this.atmistFullName +
". " +
this.atmistPP +
" is " +
this.atmistAge +
" years of age.<br><br>";
}
//TOI
this.nlgATMIST +=
"The time of incident was " + this.atmistNLGTOI + ". ";
//Mechanism of injury
if (
this.atmistMechanism.indexOf("Mechanism of Injury/") !==
-1
) {
//no mechanism
if (this.atmistFirstName === "") {
//no name
this.nlgATMIST +=
this.atmistPP +
" first presented with an unspecified injury/medical complaint ";
} else {
//Got name
this.nlgATMIST +=
this.atmistFirstName +
" first presented with an unspecified injury/medical complaint ";
}
} else {
//Got mechanism
if (this.atmistFirstName === "") {
//no name
this.nlgATMIST +=
this.atmistPP +
" first presented with " +
this.atmistMechanism +
" ";
} else {
//Got name
this.nlgATMIST +=
this.atmistFirstName +
" first presented with " +
this.atmistMechanism +
" ";
}
}
//AVPU
//Check possessive pronoun before changing AVPU prefix
if (
this.atmistPPPLC === "their" &&
this.atmistAVPUPrefix === "was"
) {
//Prefix should be 'were'
this.atmistAVPUPrefix = "were";
}
this.nlgATMIST +=
"and " +
this.atmistAVPUPrefix +
" " +
this.atmistInitialAVPU +
". ";
//Airway
this.nlgATMIST +=
this.atmistPPP +
" airway was " +
this.atmistInitialAirway +
", " +
this.atmistPPPLC +
" breathing was " +
this.atmistInitialBreathing +
", " +
this.atmistPPPLC +
" circulation was " +
this.atmistInitialCirculation +
" and " +
this.atmistPPLC +
" " +
this.atmistInitialConsciousness +
".<br><br>";
//Finally set age appropriately
if (this.atmistAge === null || isNaN(this.atmistAge)) {
this.atmistAgeString = "No age specified";
} else {
this.atmistAgeString = this.atmistAge.toString();
}
if (final === 1) {
//This is the end of the session. Generate JSON and submit to dashboard
this.sJSON = "";
this.sJSON =
'{"file":{"id": "' +
this.database.theSessionID +
'", "generated": "' +
this.atmistTOI +
'", "casualty":{"firstname": "' +
this.atmistFirstName +
'", "lastname": "' +
this.atmistLastName +
'", "postal": "' +
this.atmistHomeAddress +
'", "gender": "' +
this.atmistGender +
'", "flight": "' +
this.atmistFlight +
'", "seatno": "' +
this.atmistSeat +
'", "destairport": "' +
this.atmistAirport +
'", "lastmealfluidintake": "' +
this.atmistLastMeal +
'", "alcohol": "' +
this.atmistAlcohol +
'", "allergies": "' +
this.atmistAllergyAnswer +
'", "allergydetails": "' +
this.atmistAllergyDetails +
'", "medicinetaken": "' +
this.atmistMedicine +
'", "pastmedicalhistory": "' +
this.atmistMedicalHistory +
'"}, "agedob":{"age": "' +
this.atmistAge +
'", "dob": "' +
this.atmistDOB +
'"}, "timeofincident": "' +
this.atmistTOI +
'", "mechanismofinjury": "' +
this.atmistMechanism +
'", "injuries": [';
//Add variable to detect no injuries
var injuryCount = 0;
for (var atsands of this.atmistInjuriesData) {
this.sJSON +=
'{"logtime":"' +
atsands.atmistEntryLogged +
'", "detail":"' +
atsands.atmistSign +
": " +
atsands.atmistValue +
'"},';
this.atmistNormalSigns +=
atsands.atmistEntryLogged +
" " +
atsands.atmistSign +
": " +
atsands.atmistValue +
"<br>";
injuryCount++;
}
if (injuryCount !== 0) {
this.sJSON = this.sJSON.substr(
0,
this.sJSON.length - 1
);
}
this.sJSON += '], "observations": [';
//Add variable to detect no observations
var sandsCount = 0;
for (atsands of this.atmistObservations) {
this.sJSON +=
'{"logtime":"' +
atsands.atmistEntryLogged +
'", "detail":"' +
atsands.atmistSign +
": " +
atsands.atmistValue +
'"},';
this.atmistNormalObs +=
atsands.atmistEntryLogged +
" " +
atsands.atmistSign +
": " +
atsands.atmistValue +
"<br>";
sandsCount++;
}
if (sandsCount !== 0) {
this.sJSON = this.sJSON.substr(
0,
this.sJSON.length - 1
);
}
this.sJSON += '], "signsandsymptoms": [';
//Add variable to detect no signsandsymptoms
var sandsCount = 0;
for (atsands of this.atmistSignsAndSymptoms) {
this.sJSON +=
'{"logtime":"' +
atsands.atmistEntryLogged +
'", "detail":"' +
atsands.atmistSign +
": " +
atsands.atmistValue +
'"},';
this.atmistNormalSigns +=
atsands.atmistEntryLogged +
" " +
atsands.atmistSign +
": " +
atsands.atmistValue +
"<br>";
sandsCount++;
}
if (sandsCount !== 0) {
this.sJSON = this.sJSON.substr(
0,
this.sJSON.length - 1
);
}
this.sJSON += '], "treatmentgiven": [';
//Add variable to detect no treatmentgiven
var treatCount = 0;
for (atsands of this.atmistTreatment) {
this.sJSON +=
'{"logtime":"' +
atsands.atmistEntryLogged +
'", "detail":"' +
atsands.atmistTreatment +
": " +
atsands.atmistValue +
'"},';
this.atmistNormalTreatment +=
atsands.atmistEntryLogged +
" " +
atsands.atmistTreatment +
": " +
atsands.atmistValue +
"<br>";
treatCount++;
}
if (treatCount !== 0) {
this.sJSON = this.sJSON.substr(
0,
this.sJSON.length - 1
);
}
//Add NLG ATMIST
this.sJSON +=
'], "nlgatmist": "' + this.nlgATMIST + '",';
//Add Ordinary ATMIST
this.sJSON +=
'"atmist": "Age<br>' + this.atmistAge + "<br><br>";
this.sJSON +=
"Time of Incident<br>" + this.atmistTOI + "<br><br>";
this.sJSON +=
"Mechanism of Injry/Medical Complaint<br>" +
this.atmistMechanism +
"<br><br>";
this.sJSON +=
"Injuries/Information relating to complaint<br>" +
this.atmistInjuries +
"<br><br>";
this.sJSON +=
"Observations<br>" +
this.atmistNormalObs +
"<br><br>";
this.sJSON +=
"Signs<br>" + this.atmistNormalSigns + "<br><br>";
this.sJSON +=
"Treatement Given<br>" +
this.atmistNormalTreatment +
'"';
this.sJSON += "},";
this.sJSON += '"gpslat":"' + this.gpsLat + '",';
this.sJSON += '"gpslong":"' + this.gpsLong + '",';
this.sJSON += '"lastHR":"' + this.lastHR + '",';
this.sJSON += '"lastBR":"' + this.lastBR + '",';
this.sJSON += '"lastSATS":"' + this.lastSATS + '",';
this.sJSON += '"lastSYSBP":"' + this.lastSYSBP + '",';
this.sJSON += '"lastDIABP":"' + this.lastDIABP + '",';
this.sJSON += '"lastTEMP":"' + this.lastTEMP + '",';
this.sJSON += '"lastECG":"' + this.lastECG + '",';
this.sJSON += '"battery":"' + this.deviceBattery + '"}';
console.log("sJSON: " + this.sJSON);
this.generateReport();
}
});
});
});
});
});
});
});
}); //End of getCasualtyAge()
}
toggleFAS() {
if (this.modalVis === "showModal") {
this.modalVis = "hideModal";
} else {
if (this.consciousnessVis === "hideModal") {
this.modalVis = "showModal";
}
}
this.fasSlides.update();
this.fasSlides.slideTo(0);
this.fasSlides.lockSwipes(true);
this.fasSlides.update();
}
openECGRecord() {
if (this.ecgVis === "showModal") {
this.ecgVis = "hideModal";
this.ecgInProgress = false;
this.ecgBefore = "showModal";
this.ecgAfter = "hideModal";
this.ecgShortHolder = "";
} else {
if (this.consciousnessVis === "hideModal") {
this.ecgInProgress = true;
this.ecgVis = "showModal";
//launcher.packageLaunch("com.qtmedical");
}
}
}
saveECGRecord() {
if (this.ecgVis === "showModal") {
this.database.logECG();
this.lastECG = " /ecgOK/" + this.getSystemTime();
this.ecgVis = "hideModal";
this.ecgInProgress = false;
this.ecgBefore = "showModal";
this.ecgAfter = "hideModal";
this.ecgShortHolder = "";
} else {
if (this.consciousnessVis === "hideModal") {
this.ecgInProgress = true;
this.ecgVis = "showModal";
//launcher.packageLaunch("com.qtmedical");
}
}
}
showUnresponsive() {
this.cdFlag = false;
this.burnFlag = false;
this.adultChokingFlag = false;
this.unresponsiveFlag = true;
this.fasSlides.lockSwipes(false);
this.fasSlides.slideNext();
}
showCDHolder() {
this.cdFlag = true;
this.adultChokingFlag = false;
this.burnFlag = false;
this.unresponsiveFlag = false;
this.fasSlides.lockSwipes(false);
this.fasSlides.slideNext();
this.fasSlides.lockSwipeToNext(true);
}
showBurns() {
this.cdFlag = false;
this.adultChokingFlag = false;
this.burnFlag = true;
this.unresponsiveFlag = false;
this.fasSlides.lockSwipes(false);
this.fasSlides.slideNext();
this.fasSlides.lockSwipeToNext(false);
}
showAdultChoking() {
this.cdFlag = false;
this.adultChokingFlag = true;
this.burnFlag = false;
this.unresponsiveFlag = false;
this.fasSlides.lockSwipes(false);
this.fasSlides.slideNext();
this.fasSlides.lockSwipeToNext(false);
}
openUANB() {
this.cdFlag = false;
this.adultChokingFlag = false;
this.burnFlag = false;
this.unresponsiveFlag = true;
this.fasSlides.slideTo(2);
}
fasLockSwipes() {
if (this.fasSlides.isBeginning())
setTimeout(() => {
this.fasSlides.lockSwipes(true);
}, 500);
}
toggleConsciousness() {
if (this.consciousnessVis === "showModal") {
this.consciousnessVis = "hideModal";
} else {
this.consciousnessVis = "showModal";
}
}
toggleFinish() {
if (this.endVis === "showModal") {
this.endVis = "hideModal";
} else {
this.endVis = "showModal";
}
}
avpuChange() {
if (this.avpuVis === "showModal") {
this.avpuVis = "hideModal";
} else {
this.avpuVis = "showModal";
}
}
goBack() {
this.navCtrl.pop();
}
finishSession() {
console.log("Tapped finish");
console.log("endVis: " + this.endVis);
//open "End" screen
//this.endVis = "showModal";
if (this.endVis === "showModal") {
this.endVis = "hideModal";
this.footerZ = "footerZFront";
} else {
this.endVis = "showModal";
this.footerZ = "footerZBehind";
}
}
}