Ajuda com análise de resultados médicos e laboratoriais.
Project description
Health_Tools
Documentação relacionada ao pacote python Health Tools.
Instalação
Para instalar o pacote, basta executar o comando abaixo:
pip install health_tools
Utilização
Para utilizar o pacote, basta importar o módulo desejado:
from health_tools import ht
Módulos
def calcular_debito_cardiaco(fc, vs, saida='advanced'):
"""
Calcula o Débito Cardíaco (DC) com base na frequência cardíaca (FC) e no volume sistólico (VS).
Parameters:
fc (float): Frequência cardíaca (batimentos por minuto).
vs (float): Volume sistólico (mililitros por batimento).
saida (str, opcional): Tipo de saída desejado ('advanced' para apenas o resultado, 'simple' para resultado e classificação).
Returns:
float or tuple: Débito Cardíaco (mililitros por minuto) ou (Débito Cardíaco, Classificação) dependendo da saída escolhida.
"""
entrada: resultado_simple = verifica_pressão_arterial(130, 60, 'masculino', 40, 'advanced')
print(resultado_simple)
saida: Pressão arterial normal
entrada: resultado_simple = verifica_pressão_arterial(80, 80, 'feminino', 40, 'advanced')
print(resultado_simple)
saida: Pressão arterial de estágio 1
def calcular_debito_urinario(volume_urina_Litro, tempo_Hora,saida):
"""
Calcula o débito urinário e fornece uma classificação.
Attributes:
volume_urina (float): Volume de urina produzido em mililitros.
tempo (float): Tempo decorrido para a produção de urina em minutos.
Returns:
tuple: Uma tupla contendo o débito urinário calculado em mililitros por minuto e sua classificação.
O primeiro elemento é o débito urinário calculado.
O segundo elemento é uma string representando a classificação do débito urinário, que pode ser:
- 'muito baixo': se o débito urinário for menor que 0.5 ml/min,
- 'baixo': se o débito urinário estiver entre 0.5 e 1.0 ml/min,
- 'normal': se o débito urinário estiver entre 1.0 e 2.0 ml/min,
- 'alto': se o débito urinário estiver entre 2.0 e 3.0 ml/min,
- 'muito alto': se o débito urinário for maior que 3.0 ml/min.
"""
entrada: resultado = calcular_debito_urinario(5,2,"simple")
print(resultado_simple)
saida: (2.5, 'Produção de urina muito alta')
entrada: resultado_simple = calcular_debito_urinario(100, 60, 'advanced')
print(resultado_simple)
saida: 1.0
entrada: resultado_simple = calcular_debito_urinario(100, 60, 'simple')
print(resultado_simple)
saida: (1.0, 'Produção de urina baixa')
def calcular_fcm(idade, sexo):
"""
Analisa a Frequência Cardíaca Máxima (FCM) com base na idade e sexo.
Attributes:
idade (int): Idade da pessoa.
sexo (str): Sexo da pessoa, pode ser 'masculino' ou 'feminino'.
Returns:
tuple: Uma tupla contendo a Frequência Cardíaca Máxima (FCM) e sua categoria de intensidade.
O primeiro elemento é a Frequência Cardíaca Máxima (FCM) calculada.
O segundo elemento é uma string representando a categoria de intensidade, que pode ser:
- 'muito baixa': se a FCM estiver abaixo de 50% da FCM máxima esperada para a idade,
- 'baixa': se a FCM estiver entre 50% e 60% da FCM máxima esperada para a idade,
- 'normal': se a FCM estiver entre 60% e 70% da FCM máxima esperada para a idade,
- 'alta': se a FCM estiver entre 70% e 80% da FCM máxima esperada para a idade,
- 'muito alta': se a FCM estiver acima de 80% da FCM máxima esperada para a idade.
"""
entrada: resultado = calcular_fcm(22,"feminino")
print(resultado)
saida: Alta
entrada: resultado = calcular_fcm(16,"masculino")
print(resultado)
saida: Muito alta
entrada: resultado = calcular_fcm(22,"feminino",'advanced')
print(resultado)
saida: 198
def calcular_frequencia_respiratoria(fr, idade):
"""
Calcula a frequência respiratória e determina em qual categoria se enquadra.
Attributes:
fr (int): Frequência respiratória (número de respirações por minuto).
idade (int): Idade do indivíduo.
Returns:
str: Categoria da frequência respiratória, que pode ser:
- 'muito baixa': se a frequência respiratória estiver significativamente abaixo da média para a idade,
- 'baixa': se a frequência respiratória estiver abaixo da média para a idade,
- 'normal': se a frequência respiratória estiver dentro da faixa considerada normal para a idade,
- 'alta': se a frequência respiratória estiver acima da média para a idade,
- 'muito alta': se a frequência respiratória estiver significativamente acima da média para a idade.
"""
idade = 25
frequencia_respiratoria = 22
entrada: categoria_fr = calcular_frequencia_respiratoria(frequencia_respiratoria, idade)
print("Categoria da Frequência Respiratória:", categoria_fr)
saida: Categoria da Frequência Respiratória: muito alta
idade = 56
frequencia_respiratoria = 17
entrada: categoria_fr = calcular_frequencia_respiratoria(frequencia_respiratoria, idade)
print("Categoria da Frequência Respiratória:", categoria_fr)
saida: Categoria da Frequência Respiratória: normal
def calcular_indice_apgar(cor, frequencia_cardiaca, respiracao, tonus_muscular, reflexos,saida):
"""
Calcula o Índice de Apgar com base nos critérios fornecidos.
Attributes:
cor (int): Nota de 0 a 5 referente à cor da pele.
frequencia_cardiaca (int): Nota de 0 a 5 referente à frequência cardíaca.
respiracao (int): Nota de 0 a 5 referente à respiração.
tonus_muscular (int): Nota de 0 a 5 referente ao tônus muscular.
reflexos (int): Nota de 0 a 5 referente aos reflexos.
Returns:
int: Índice de Apgar total, representando a saúde do recém-nascido no momento do nascimento.
"""
cor = 4
frequencia_cardiaca = 5
respiracao = 3
tonus_muscular = 5
reflexos = 4
entrada: indice_apgar_total = calcular_indice_apgar(cor, frequencia_cardiaca, respiracao, tonus_muscular, reflexos,saida = "advanced")
print("Classificação do Índice de Apgar:", indice_apgar_total)
saida: Classificação do Índice de Apgar: 4.2
cor = 4
frequencia_cardiaca = 5
respiracao = 3
tonus_muscular = 5
reflexos = 4
entrada: indice_apgar_total = calcular_indice_apgar(cor, frequencia_cardiaca, respiracao, tonus_muscular, reflexos,saida = "simple")
print("Classificação do Índice de Apgar:", indice_apgar_total)
saida: Classificação do Índice de Apgar: ótimo
def calcular_tfg(creatinina_serica, idade, sexo='masculino', raca='não negra', output='ml/min/1.73m^2'):
"""
Calcula a Taxa de Filtração Glomerular (TFG) utilizando a fórmula do MDRD.
Attributes:
creatinina_serica (float): Valor da creatinina sérica em mg/dL.
idade (int): Idade do paciente em anos.
sexo (str): Sexo do paciente ('masculino' ou 'feminino'). Padrão é masculino.
raca (str): Raça do paciente ('negra' ou 'não negra'). Padrão é não negra.
output (str): Tipo de saída desejado ('ml/min/1.73m^2' ou 'ml/min'). Padrão é ml/min/1.73m^2.
Returns:
float: Valor da TFG calculada.
"""
entrada: tfg = calcular_tfg(1.2, 30, sexo='masculino', raca='negra', output='ml/min/1.73m^2')
print("TFG:", tfg)
saida: TFG: 149.0582434290478
entrada: tfg = calcular_tfg(1.2, 60, sexo='feminino', raca='nao negra', output='ml/min/1.73m^2')
print("TFG:", tfg)
saida: TFG: 79.27718037174775
def calcular_tp(tempo_protrombina, saida='advanced'):
"""
Calcula o Tempo de Protrombina (TP) e fornece uma classificação opcional.
Attributes:
tempo_protrombina (float): Tempo de Protrombina em segundos.
saida (str): Tipo de saída desejado ('advanced' para detalhes completos ou 'simple' para classificação simplificada).
Padrão é 'advanced'.
Returns:
float or tuple: Resultado do TP. Se saida='simple', retorna apenas o resultado. Se saida='advanced',
retorna o resultado e uma classificação opcional.
"""
entrada: resultado_simple = calcular_tp(12.5, saida='simple')
print(resultado_simple)
saida: Normal
entrada: resultado_advanced = calcular_tp(11.8,'advanced')
print(resultado_advanced)
saida: (11.8, 'Normal')
def calcular_ttpa(tempo_tromboplastina, saida='advanced'):
"""
Calcula o Tempo de Tromboplastina Parcial Ativada (TTPA) e fornece uma classificação opcional.
Attributes:
tempo_tromboplastina (float): Tempo de Tromboplastina Parcial Ativada em segundos.
saida (str): Tipo de saída desejado ('advanced' para detalhes completos ou 'simple' para classificação simplificada).
Padrão é 'advanced'.
Returns:
float or tuple: Resultado do TTPA. Se saida='simple', retorna apenas o resultado. Se saida='advanced',
retorna o resultado e uma classificação opcional.
"""
entrada: resultado_simple = calcular_ttpa(30.0, saida='simple')
print(resultado_simple)
saida: Normal
entrada: resultado_advanced = calcular_ttpa(32.5,saida = 'advanced')
print(resultado_advanced)
saida: 32.5
def teste_capacidade_anaerobica(tempo_em_minutos):
"""
Avalia a capacidade anaeróbica com base no tempo de realização do teste de correr 1 km.
Attributes:
tempo_em_minutos (float): Tempo em minutos que a pessoa levou para realizar o teste.
Returns:
str: Classificação do desempenho (muito baixo, baixo, normal, alto, muito alto).
"""
tempo_teste = 15
entrada: resultado = teste_capacidade_anaerobica(tempo_teste)
print("Resultado do teste de capacidade anaeróbica:", resultado)
saida: Resultado do teste de capacidade anaeróbica: Muito Lento
tempo_teste = 9
entrada: resultado = teste_capacidade_anaerobica(tempo_teste)
print("Resultado do teste de capacidade anaeróbica:", resultado)
saida: Resultado do teste de capacidade anaeróbica: Bom
def teste_capacidade_anaerobica(spo2):
"""
Classifica a saturação de oxigênio (SpO2) em categorias.
Attributes:
spo2 (float): Saturação de oxigênio em porcentagem (%).
Returns:
str: Categoria da saturação de oxigênio.
"""
entrada: resultado = classificar_spo2(92)
print(resultado)
saida:
Saturação de oxigênio normal baixa
Resultado do teste de capacidade anaeróbica: Saturação de oxigênio normal baixa
entrada:resultado = classificar_spo2(88)
print(resultado)
saida:
Baixa saturação de oxigênio
Resultado do teste de capacidade anaeróbica: Baixa saturação de oxigênio
def teste_funcao_tireoidiana(tsh, t4_total, t4_livre, t3_total, t3_livre, saida='advanced'):
"""
Avalia a função da tireoide medindo os níveis de hormônios tireoidianos no sangue.
Attributes:
tsh (float): Valor do hormônio estimulante da tireoide (TSH) em mIU/L.
t4_total (float): Valor do hormônio tiroxina total (T4 Total) em nmol/L.
t4_livre (float): Valor do hormônio tiroxina livre (T4 Livre) em ng/dL.
t3_total (float): Valor do hormônio tri-iodotironina total (T3 Total) em nmol/L.
t3_livre (float): Valor do hormônio tri-iodotironina livre (T3 Livre) em pg/mL.
saida (str): Tipo de saída desejado ('advanced' ou 'simple').
Returns:
str or tuple: Resultado do teste de função tireoidiana. Se 'saida' for 'simple', retorna apenas o resultado. Se 'saida' for 'advanced', retorna o resultado detalhado.
"""
entrada: resultado = teste_funcao_tireoidiana(tsh=2.5, t4_total=110, t4_livre=15, t3_total=2.2, t3_livre=4.5, saida='simple')
print(resultado)
saida:
TSH: 2.5 - Classificação: Baixo
T4 Total: 110 - Classificação: Baixo
T4 Livre: 15 - Classificação: Muito alto
T3 Total: 2.2 - Classificação: Normal
T3 Livre: 4.5 - Classificação: Normal
def analisar_status(valor, referencia):
"""
Analisa o status de um valor em relação a uma faixa de referência.(teste_funcao_tireoidiana())
Attributes:
valor (float): O valor a ser analisado.
referencia (list): A faixa de referência na forma [min, max].
Returns:
str: O status do valor em relação à faixa de referência.
"""
def classificar_espirometria(fe_v1, cvf, sexo, idade):
"""
Analisa os resultados de uma espirometria e fornece uma avaliação básica.
Attributes:
fe_v1 (float): Volume Expiratório Forçado no Primeiro Segundo (em litros).
cvf (float): Capacidade Vital Forçada (em litros).
sexo (str): Sexo da pessoa ('masculino' ou 'feminino').
idade (int): Idade da pessoa (em anos).
Returns:
str: Uma string indicando a avaliação básica dos resultados.
"""
entrada: resultado_analise = classificar_espirometria(3.0, 4.0, 'masculino', 35)
print(resultado_analise)
saida:Possível restrição pulmonar.
entrada: resultado_analise = classificar_espirometria(5.0, 4.0, 'feminino', 35)
print(resultado_analise)
saida: Valores normais.
def classificar_glicemia(glicemia):
"""
Classifica a concentração de glicose no sangue (glicemia) em categorias.
Attributes:
glicemia (float): Concentração de glicose no sangue em mg/dL.
Returns:
str: Categoria da glicemia.
"""
entrada: resultado = classificar_glicemia(139)
print(resultado)
saida:Diabetes (Muito alta)
entrada: resultado = classificar_glicemia(98)
print(resultado)
saida:Normal
def classificar_pvc(pvc):
"""
Classifica a Pressão Venosa Central (PVC) em categorias.
Attributes:
pvc (float): Pressão Venosa Central em mmHg.
Returns:
str: Categoria da PVC.
"""
presao_venosa_central = 5.0
entrada: categoria_pvc = classificar_pvc(presao_venosa_central)
print("Categoria da Pressão Venosa Central:", categoria_pvc)
saida:Categoria da Pressão Venosa Central: Baixa
presao_venosa_central = 5.0
entrada: categoria_pvc = classificar_pvc(presao_venosa_central)
print("Categoria da Pressão Venosa Central:", categoria_pvc)
saida:Categoria da Pressão Venosa Central: Muito baixa
def contar_hemacias(numero_hemacias, sexo,saida):
"""
Conta o número de hemácias no sangue e retorna uma métrica de 0 a 25.
Attributes:
numero_hemacias (float): Número de hemácias em milhões por microlitro (milhões/μL).
sexo (str): Sexo da pessoa ('masculino' ou 'feminino').
Returns:
float: Métrica de 0 a 25 representando o número de hemácias.
"""
entrada: resultado_hemacias = contar_hemacias(8.2, "masculino","simple")
print("Métrica de hemácias:", resultado_hemacias)
saida:
Muito Alta
Métrica de hemácias: 20.499999999999996
entrada: resultado_hemacias = contar_hemacias(8.9, "feminino","advanced")
print("Métrica de hemácias:", resultado_hemacias)
saida: Métrica de hemácias: 22.708333333333336
def contar_leucocitos(numero_leucocitos,saida):
"""
Conta o número de glóbulos brancos no sangue e retorna uma métrica de 0 a 25.
Attributes:
numero_leucocitos (float): Número de glóbulos brancos em milhares por microlitro (milhares/µL).
saida (str): Define o tipo de saída desejada ('simple' para uma classificação simplificada).
Returns:
float: Métrica de 0 a 25 representando o número de glóbulos brancos.
"""
entrada: resultado_hemacias = contar_leucocitos(7.0,"simple")
print(resultado_hemacias)
saida:
Normal
6.25
entrada: resultado_hemacias = contar_leucocitos(9.0,"simple")
print(resultado_hemacias)
saida:
Alta
9.375
def contar_plaquetas(numero_plaquetas,saida):
"""
Conta o número de plaquetas no sangue e retorna uma métrica de 0 a 25.
Attributes:
numero_plaquetas (float): Número de plaquetas por microlitro (por μL).
saida (str): Indica o tipo de saída desejada ('simple' para uma classificação simplificada).
Returns:
float: Métrica de 0 a 25 representando o número de plaquetas.
"""
entrada: resultado = contar_plaquetas(1000000,"simple")
print(resltado)
saida:
extremamente Alta
25
entrada: resultado = contar_plaquetas(900000,"simple")
print(resltado)
saida:
extremamente Alta
22.5
entrada: resultado = contar_plaquetas(300000,"simple")
print(resltado)
saida:
Baixa
9.375
entrada: resltado = contar_plaquetas(450000,"advanced")
print(resltado)
saida:12.5
def teste_capacidade_anaerobica(ast, alt, alp, bilirrubina_total, bilirrubina_direta, bilirrubina_indireta, saida='advanced'):
"""
Avalia a saúde do fígado com base nos níveis de enzimas hepáticas e bilirrubina no sangue.
Attributes:
ast (float): Nível da enzima AST (aspartato aminotransferase) no sangue em U/L.
alt (float): Nível da enzima ALT (alanina aminotransferase) no sangue em U/L.
alp (float): Nível da enzima ALP (fosfatase alcalina) no sangue em U/L.
bilirrubina_total (float): Nível total de bilirrubina no sangue em mg/dL.
bilirrubina_direta (float): Nível de bilirrubina direta no sangue em mg/dL.
bilirrubina_indireta (float): Nível de bilirrubina indireta no sangue em mg/dL.
saida (str): Tipo de saída desejado ('advanced' para detalhado ou 'simple' para resumido).
Returns:
dict or str: Se 'saida' for 'advanced', retorna um dicionário com os resultados detalhados.
Se 'saida' for 'simple', retorna uma classificação simplificada da função hepática.
"""
entrada: resultado = teste_funcao_hepatica(ast=30, alt=40, alp=100, bilirrubina_total=1.0, bilirrubina_direta=0.2, bilirrubina_indireta=0.8, saida='simple')
print(resultado)
saida:Normal
entrada: resultado = teste_funcao_hepatica(ast=30, alt=40, alp=100, bilirrubina_total=1.0, bilirrubina_direta=0.2, bilirrubina_indireta=0.8, saida='advanced')
print(resultado)
saida:{'resultado': 'Normal', 'detalhes': 'A função hepática está dentro dos limites normais.'}
def teste_funcao_renal(creatinina, ureia, saida):
"""
Avalia a saúde dos rins com base nos níveis de creatinina e ureia no sangue.
Attributes:
creatinina (float): Nível de creatinina no sangue em mg/dL.
ureia (float): Nível de ureia no sangue em mg/dL.
saida (str): Tipo de saída desejado ('advanced' para detalhado ou 'simple' para resumido).
Returns:
dict or str: Se 'saida' for 'advanced', retorna um dicionário com os resultados detalhados.
Se 'saida' for 'simple', retorna uma classificação simplificada da função renal.
"""
entrada: resultado = teste_funcao_renal(0.2,1.2,'advanced')
print(resultado)
saida:Normal
entrada: resultado = teste_funcao_renal(0.2,1.2,'simple')
print(resultado)
saida:{'resultado': 'Normal', 'detalhes': 'A função renal está dentro dos limites normais.'}
def verifica_pressão_arterial(sistólica, diastólica, sexo, idade, saida='simple'):
"""
Verifica a pressão arterial e fornece uma classificação baseada nos valores da pressão sistólica e diastólica, sexo e idade.
Attributes:
sistolica (int): Valor da pressão arterial sistólica.
diastolica (int): Valor da pressão arterial diastólica.
sexo (str): Sexo da pessoa ('masculino' ou 'feminino').
idade (int): Idade da pessoa em anos.
saida (str): Tipo de saída desejado ('simple' para apenas o valor da classificação ou 'advanced' para a descrição completa).
Returns:
str or float: Se 'saida' for 'simple', retorna a classificação da pressão arterial (muito baixa, baixa, normal, elevada, estágio 1 ou estágio 2).
Se 'saida' for 'advanced', retorna o valor da classificação de acordo com a faixa de referência.
"""
entrada: resultado = verifica_pressão_arterial(85,55,"masculino", 45,'advanced')
print(resultado)
saida:Pressão arterial baixa
entrada: resultado = verifica_pressão_arterial(100,70,"feminino", 50,'advanced')
print(resultado)
saida:Pressão arterial normal
entrada = resultado = verifica_pressão_arterial(110,80,"feminino", 44,'simple')
print(resultado)
saida: 18
def medir_pressão_arterial(sistólica, diastólica):
"""
Classifica a pressão arterial com base nos valores da pressão sistólica e diastólica.(verifica_pressão_arterial)
Attributes:
sistolica (int): Valor da pressão arterial sistólica.
diastolica (int): Valor da pressão arterial diastólica.
Returns:
str: Classificação da pressão arterial, que pode ser 'Pressão arterial normal', 'Pressão arterial elevada', 'Pressão arterial de estágio 1' ou 'Pressão arterial de estágio 2'.
"""
def verifica_imc(peso, altura, sexo, saida):
"""
Calcula o Índice de Massa Corporal (IMC).
Attributes:
peso (float): Peso da pessoa em quilogramas (kg).
altura (float): Altura da pessoa em metros (m).
sexo (str): Sexo da pessoa ('masculino' ou 'feminino').
saida (str): Tipo de saída desejado ('simple' ou outro valor para saída avançada).
Returns:
float or dict: Valor do IMC calculado. Se 'saida' for 'simple', retorna apenas o valor do IMC.
Se 'saida' for outro valor, retorna um dicionário com o IMC e uma classificação do estado de peso.
"""
entrada: resultado_simple = verifica_imc(70, 1.80, "masculino", "simple")
print(resultado_simple)
saida:normal
entrada: resultado = verifica_imc(70, 1.50, "masculino", "simple")
print(resultado)
saida:obesidade
entrada: resultado = verifica_imc(90, 1.50, "masculino", "simple")
print(resultado)
saida:obesidade morbida
Referências
Taxa de Filtração Glomerular Estimada
Zona de Frequência Cardíaca de Treino
Débito Cardíaco - Significados.)
Tempo de Tromboplastina Parcial Ativada (TTPA) - Rede D'Or São Luiz
Tempo de Tromboplastina Parcial Ativada (TTPA) - Fleury
Escala de Apgar - Saúde CE (outra fonte)
Escala de Apgar - Medicina UFMG
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file Health_Tools-0.0.6.tar.gz.
File metadata
- Download URL: Health_Tools-0.0.6.tar.gz
- Upload date:
- Size: 24.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e66d22ad5771cc82739ca8e3726f4f632f3cf6ea09730198947e25e7d90eeaa
|
|
| MD5 |
7481c037d238491eb862460bcb416bfc
|
|
| BLAKE2b-256 |
7acc461c3f2fc63e41229b88b2827c03d1f66060efbb5266390ec745faffaac1
|
File details
Details for the file Health_Tools-0.0.6-py3-none-any.whl.
File metadata
- Download URL: Health_Tools-0.0.6-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a925597ae1994423d144e63933a8151856e85e0bd0f5612f17375a7455b0d67b
|
|
| MD5 |
bdda8e3f93e473bcc6a19a32db244224
|
|
| BLAKE2b-256 |
cb26d99fad17bffc40eae33cd0b8c862a915eac5e7a058ba43ddb825055cbc33
|