Folder case change

This commit is contained in:
2026-03-31 20:11:52 +05:30
parent d08daa9bd8
commit c527ef27fb

View File

@@ -0,0 +1,262 @@
import { Calculator, Input, Interpretation, Values } from "../types";
const parameters : Input[] = [
{
id:"age",
name:"Age",
placeholder:"Enter age",
type:"number",
min:0,
required:true,
},
{
id:"sbilirubin",
name:"Serum Bilirubin",
placeholder:"Enter the serum bilirubin value in mg/dL",
type:"number",
defaultUnit:"mg/dL",
required:true
},
{
id:"crcl",
name:"Creatinine Clearance (CrCl)",
placeholder:"Enter the CrCl value in mL/min",
type:"number",
defaultUnit:"mL/min",
required:true
},
{
id:"dialysisStatus",
name:"Dialysis Requirement",
placeholder:"Whether Dialysis was done between listing and transplantation",
type:"checkbox",
required:true
},
{
id:"gender",
name:"Gender",
placeholder:"Select Gender",
type:"select",
required:true,
inputOptions:[
{
label:"Male",
value:"male"
},
{
label:"Female",
value:"female"
}
]
},
{
id:"causeOfHF",
name:"Heart Failure Etiology",
placeholder:"Cause of Heart Failure",
type:"select",
required:true,
inputOptions:[
{
label:"Idiopathic",
value:"idiopathic"
},
{
label:"Ischemic",
value:"ischemic"
},
{
label:"Congenital",
value:"congenital"
},
{
label:"Other",
value:"other"
}
]
},
{
id:"recentInfection",
name:"Recent Infection Status",
placeholder:"Whether the patient had a recent infection",
type:"checkbox"
},
{
id:"aorticBalloonPump",
name:"Intra-Aortic Balloon Pump",
placeholder:"Whether Intra-Aortic Balloon Pump was implanted",
type:"checkbox"
},
{
id:"preTransplantMechVent",
name:"Mechanical Ventilation",
placeholder:"whether Mechanical Ventilation was done pre-transplant",
type:"checkbox"
},
{
id:"race",
name:"Race",
placeholder:"Select the Race of the patient",
type:"select",
required:true,
inputOptions:[
{
label:"Caucasian",
value:"caucasian"
},
{
label:"African American",
value:"african-american"
},
{
label:"Hispanic",
value:"hispanic"
},
{
label:"Other",
value:"other"
}
]
},
{
id:"tempCircSupp",
name:"Temporary Circulation Support",
placeholder:"Whether temporary circulation support was needed (includes ECMO and e-VADs)",
type:"checkbox"
},
{
id:"VAD",
name:"Ventricular Assist Device",
placeholder:"Select the Ventricular Assist Device used",
type:"select",
required:true,
inputOptions:[
{
label:"None used",
value:"none"
},
{
label:"Older-Generation Pulsatile",
value:"older-generation"
},
{
label:"Newer-Generation continuous",
value:"newer-generation"
},
{
label:"HeartMate II",
value:"heartmateii"
}
]
}
]
export const IMPACT:Calculator = {
id:"impact-score",
name:"IMPACT (Index for Mortality Prediction After Cardiac Transplantation)",
desc:"IMPACT score is a risk assessment tool used to predict 1-year mortality risk following a Heart Transplantation based on 12 parameters (including renal function, liver function, age)",
inputs:parameters,
calc_func:(values : Values):number => {
const age = values.age as number;
const sbilirubin = values.sbilirubin as number;
const crcl = values.crcl as number;
const dialysisStatus = values.dialysisStatus as boolean;
const gender = values.gender as "male" | "female";
const causeOfHF = values.causeOfHF as "idiopathic" | "ischemic" | "congenital" | "others";
const recentInfection = values.recentInfection as boolean;
const aorticBalloonPump = values.aorticBalloonPump as boolean;
const preTransplantMechVent = values.preTransplantMechVent as boolean;
const race = values.race as "caucasian" | "african-american" | "hispanic" | "other";
const tempCircSupp = values.tempCircSupp as boolean;
const VAD = values.VAD as "none" | "older-generation" | "newer-generation" | "heartmateii";
var score = 0;
console.log(preTransplantMechVent);
if(age > 60){
score += 3;
}
if(sbilirubin > 0 && sbilirubin < 1){
score += 0;
}else if(sbilirubin >= 1 && sbilirubin < 2){
score += 1;
}else if(sbilirubin >= 2 && sbilirubin < 4){
score += 3;
}else{
score += 4;
}
if(crcl >= 50){
score += 0;
}else if(crcl < 50 && crcl > 30){
score += 2;
}else{
score += 5;
}
if(dialysisStatus){
score += 4;
}
if(gender === "female"){
score += 3;
}
if(causeOfHF === "idiopathic"){
score += 0;
}else if(causeOfHF === "ischemic"){
score += 2;
}else if(causeOfHF === "congenital"){
score += 5;
}else{
score += 1;
}
if(recentInfection){
score += 3;
}
if(aorticBalloonPump){
score += 3;
}
if(preTransplantMechVent){
score += 5;
}
if(race === "caucasian" || race === "other" || race === "hispanic"){
score += 0;
}else{
score += 3;
}
if(tempCircSupp){
console.log("ran temp")
score += 7;
}
if(VAD === "none" || VAD === "heartmateii"){
score += 0;
}else if(VAD === "older-generation"){
score += 3;
}else{
score += 5;
}
return score;
},
interpret_func:(score : number):Interpretation => {
if(score >= 0 && score < 5){
return {
level:"none",
message:"The rate of mortality for the patient is really low"
}
}else if(score >= 5 && score < 10){
return {
level:"low",
message:"The rate of mortality for the patient is low"
}
}else if(score >= 10 && score < 15){
return {
level:"moderate",
message:"The rate of mortality for the patient is moderate"
}
}else if(score >= 15 && score < 20){
return {
level:"high",
message:"The rate of mortality for the patient is high"
}
}else{
return {
level:"severe",
message:"The rate of mortality for the patient is severe"
}
}
}
}