slope ratio

This commit is contained in:
Pritimay Sarkar
2023-12-26 00:08:46 +05:30
parent e3ff62295b
commit 4bf9ffd5f6

View File

@@ -137,7 +137,7 @@ exports.kitAlert = async (event, context) => {
console.log('Function triggered by change to: ' + resource);
// now log the full event object
console.log(JSON.stringify(event));
const { kitSerial, classificationResult, _id, led1Average, led3Average, deviceRatio } = event.value.fields;
const { kitSerial, classificationResult, _id, led1Average, led2Average, led3Average, deviceRatio, abs1, abs2 } = event.value.fields;
console.log('kitSerial', kitSerial);
console.log('classificationResult', classificationResult);
// if (classificationResult?.stringValue?.includes("Trait")) {
@@ -173,8 +173,6 @@ exports.kitAlert = async (event, context) => {
const led3Intercept = 0.001704;
console.log('_id', _id?.stringValue);
console.log('led1Average', led1Average?.doubleValue);
console.log('led3Average', led3Average?.doubleValue);
const LED1Average = led1Average?.doubleValue;
const LED3Average = led3Average?.doubleValue;
@@ -223,6 +221,26 @@ exports.kitAlert = async (event, context) => {
devRatioClass = "Sickle Cell Disease";
}
const slope = (led1Average?.doubleValue - led2Average?.doubleValue) / (435 - 415);
const slopeRatio = Math.abs(led3Average?.doubleValue / slope);
let slopeRatioClass = "INVALID";
if (slopeRatio > 0 && slopeRatio <= 35.0) {
slopeRatioClass = "Normal";
}
if (slopeRatio > 35.0 && slopeRatio <= 40.0) {
slopeRatioClass = "Negative Borderline";
}
if (slopeRatio > 40.0 && slopeRatio <= 70.0) {
slopeRatioClass = "Sickle Cell Trait";
}
if (slopeRatio > 70.0 && slopeRatio <= 75.0) {
slopeRatioClass = "Positive Borderline";
}
if (slopeRatio > 75.0 && slopeRatio <= 300.0) {
slopeRatioClass = "Sickle Cell Disease";
}
console.log(classification);
const docs = await admin.firestore().collection("testData").where("_id", "==", _id.stringValue).get();
@@ -234,6 +252,8 @@ exports.kitAlert = async (event, context) => {
// prdClassification: classification
// incubationTime: admin.firestore.FieldValue.delete()
deviceRatioClass: devRatioClass,
slopeRatio: slopeRatio,
slopeRatioClass: slopeRatioClass,
});
})
};