Cálculos para acompanhamento de pacientes que estão sob respiração mecânica

Filed Under (Códigos) by admin on 14-06-2010

Pessoal, estou fazendo um sistema para um amigo, profissional em terapia respiratória. É um sistema p/celular em Java que terá uma parte desktop .NET. E segue abaixo a parte mais complicada que são as fórmulas.

O uso delas  fica por sua conta e risco, pois elas foram feitas com base em vários depoimentos médicos e literatura especializada. E como em toda área  existem divergências, e na medicina não é diferente. O uso delas deve ser OBRIGATORIAMENTE acompanhado por um ou mais profissionais de medicina. Mas serve como base de estudos e pra matar a curiosidade também, já que é uma área de pequena participação do mundo Java.

OBS:  nao consegui identar de forma alguma no tema que escolhi no worpress

/**
*
* todo: Todos os parametros que tiverem sufixo “atual” são da gasometria
*
*
*
*
*/
package com.arnaldo nascimento.formulas;

/**
*
* @author root
*/
public class FormulasCalculos {

public static double getAnionGapCorrigido(double naGasometria, double kGasometria, double albumina, double clGasometria, double hco3, double lactato) {
double res = 0.0;
res = (((naGasometria + kGasometria) - (clGasometria + hco3)) + ((40 - albumina) * 0.25) - lactato);
return res;
}

public static double IMC(double peso, double altura) {
double res = 0.0;
res = peso * (altura * altura);
return res;
}

/**
*
* @param altura
* @param peso
* @param sexo
* @return
*/
public static double getPesoIdeal(double altura, double peso, String sexo) {
double res = 0.0;
if (sexo.equals(”M”)) { //Masculino
res = 22 * (altura * altura);
}
else { //Feminino
res = 20.8 * (altura * altura);
}
return res;
}

/* Outros
Vt = Sara 4 a 6 ml/kg
DPOC*/

public static double getVT( Double sara,
Double outros, Double dpoc,
double altura,
double peso, String sexo) {
double val = 0.0;

//SARA
if (sara != null) {
val = sara.doubleValue();
}

//OUTROS
if (outros != null) {
val = sara.doubleValue();
}

//DPOC
if (dpoc != null) {
val = sara.doubleValue();
}

val = val * FormulasCalculos.getPesoIdeal(altura, peso, sexo);
return val;
}

/**
* FResp ideal = (paCo2atual * FR atual) / PaCOs ideal
* @param paco2Atual
* @param frAtual
* @param idade
* @return
*/
public static double getFrespIdeal(double paco2Atual, double frAtual, double idade) {
double res = 0.0;
res = (paco2Atual * frAtual) / FormulasCalculos.getPaCO2Ideal(null);
return res;
}

/**
* FiO2 ideal = (PaO2 atual x FiO2 atual) / (109 – (0,43 x idade))
* @param pao2Atual
* @param fio2Atual
* @return
*/
public static double getfiO2Ideal(double pao2Atual, double fio2Atual, double idade) {
double res = 0.0;
res = ((pao2Atual * fio2Atual) / FormulasCalculos.getPaO2IdealArterial(idade));
return res;
}

/**
* Cdin = 500/ PPICO - PEEP
* @param pPico
* @param peep
* @return
*/
public static double getCdin(double pPico, double peep) {
double res = 0.0;
res = (500 / (pPico - peep));
return res;
}

/**
* Cest = 500/ PPLATÔ - PEEP
* @param pPlato
* @param peep
* @return
*/
public static double getCest(double pPlato, double peep) {
double res = 0.0;
res = (500 / (pPlato - peep));
return res;
}

/**
* Rsr = ((PPICO - PPLATO) / 30);
* @param pPlato
* @param pPico
* @return
*/
public static double gerRsr(double pPlato, double pPico) {
double res = 0.0;
res = ((pPico - pPlato) / 30);
return res;
}

/**
* PaO2 ideal = 109 – (0,43 x idade)
* @param idade
* @return
*/
public static double getPaO2IdealArterial(double idade) {
return (109 - (0.43 * idade));
}

/**
* TODO: deixa default 40, e liberado pra preenchimento de outros valores
* @return
*/
public static double getPaCO2Ideal(Double val) {
double res = 40;
if (val != null) {
res = val.doubleValue();
}
return res;
}

/**
* FRideal = (FRatual x PaCO2atual) / PaCO2ideal
* @param frAtual
* @param paco2Atual
* @return
*/
public static double getFrIdeal(double frAtual, double paco2Atual) {
double res = (frAtual * paco2Atual) / FormulasCalculos.getPaCO2Ideal(null);
return res;
}

public static double getPAO2Auvelar(double pb, double fiO2Atual, double paCo2Atual) {
double res = 0.0;
res = fiO2Atual * ((pb - 47) - paCo2Atual);
res = res / 0.8;
return res;
}

/**
* @param fiO2Atual
* @param paO2Atual
* @return
*/
public static double getFiO2Ideal(double fiO2Atual, double paO2Atual, double idade, Double pao2Gasometria) {
double res = 0.0;
if (pao2Gasometria != null) {
res = (pao2Gasometria.doubleValue() * fiO2Atual);
} else {
res = (FormulasCalculos.getPaO2IdealArterial(idade) * fiO2Atual);
}

res = res / paO2Atual;
return res;
}

//********** Valores para LIMITES COMPENSATÓRIOS DOS PULMÕES **********//
/**
/* AcidoseMetabolica
* PaCO2 esperada = 1,5 x [HCO3] + 8 (± 2);
*
* @param hco3
* @return
*/
public static double[] getAcidoseMetabolica(double hco3) {
double[] res = new double[]{0.0, 0.0};
double part = (1.5 * hco3) + 8; //(± 2)
res[0] = part + 2;
res[1] = part - 2;
return res;
}

/**
* Alcalose metabólica
* PaCO2 esperada = 0,7 x [HCO3] + 20 (± 5);
* @param hco3
* @return
*/
public static double[] getAlcaloseMetabolica(double hco3) {
double res[] = new double[]{0.0, 0.0};
double part = (0.7 * hco3) + 20; // (± 5);
res[0] = part + 5;
res[0] = part - 5;
return res;
}

/**
* Acidose respiratória  aguda
* [HCO3] esperado = 24 + [( PaCO2 atual – 40 ) / 10]
* @param paco2Atual
* @return
*/
public static double getAcidoseRespiratoriaAguda(double paco2Atual) {
double res = 0.0;
res = 24 + ((paco2Atual - 40) / 10);
return res;
}

/**
* Acidose respiratória crônica
* [HCO3] esperado = 24 + 4 x [( PaCO2 atual – 40 ) / 10]
* @param paco2Atual
* @return
*/
public static double getAcidoseRespiratoriaCronica(double paco2Atual) {
double res = 0.0;
res = 24 + (4 * ((paco2Atual - 40) / 10));
return res;
}

/**
* Alcalose respiratória aguda
* [HCO3] esperado = 24 - 2 x [( 40 - PaCO2 atual ) / 10 ]
* @param paco2Atual
* @return
*/
public static double getAlcaloseRespiratoriaAguda(double paco2Atual) {
double res = 0.0;
res = 24 - (2 * ((40 - paco2Atual) / 10));
return res;
}

/**
* Alcalose respiratória  aguda
* [HCO3] esperado = 24 - 5 x [( 40 - PaCO2 atual ) / 10]
* @param paoc2Atual
* @return
*/
//TODO: renomear funcao
public static double getAlcaloseRespiratoriaAgudaCronica(double paoc2Atual) {
double res = 0.0;
res = 24 - (5 * ((40 - paoc2Atual) / 10));
return res;
}
}

Comments:

Leave a Reply