import os import streamlit as st from streamlit_extras.add_vertical_space import add_vertical_space from streamlit_option_menu import option_menu st.title("Utilidades") # Menu aninhado usando streamlit-option-menu na horizontal nested_menu = option_menu( menu_title=None, options=[ "Incidências radiológicas", "TFG", "Coelho e Savassi", "Escore de Risco Global", "Noripurun", ], icons=['lungs', 'nephrology', 'clinical_notes', 'heart', 'syrenge'], menu_icon="cast", default_index=0, orientation="horizontal", ) # Conteúdo das subpáginas if nested_menu == "Incidências radiológicas": st.header("Apoio clínico na solicitação de radiografias!") c1, c2, c3, c4 = st.columns([1, 3, 3, 1]) with c1: st.markdown("") with c2: st.header(":blue[Incidências Radiográficas] ☢️") with c3: st.image("icon/rx2.svg", width=400) with c4: st.markdown("") add_vertical_space() # # Descrição com estilo e emojis st.markdown(""" ##### ✅ **Vamos melhorar a visualização das incidências médicas!** """) @st.fragment def exibir_incidencias(regiao, incidencias): st.markdown(f"## {regiao}") for incidencia in incidencias: st.markdown(f"- {incidencia}") add_vertical_space(3) st.markdown("### 🧍‍♂️ Selecione a Região do Corpo:") incidencias_radiograficas = { "👨‍⚕️ Tórax e Vias Aéreas": [ "👨‍⚕️ Tórax - PA e Lateral", "🦴 Esterno – OAD e Lateral", "🦴 Art. Esterno-Clavicular – PA, OAD e OAE", "🦴 Costelas Posteriores – AP, OPD e OPE", "🦴 Costelas Anteriores – PA, OAD e OPE", "👃 Vias aéreas superiores - AP e Lateral", ], "💢 Abdome e Pelve": [ "💢 Abdome - AP em Decúbito Dorsal", "💢 RAA - Tórax PA, Abdome em Decúbito Dorsal e Abdome em AP Ortostrica", "🦵 Pelves (Bacia) - AP e AP perna de Rã, para traumatismo apenas AP", "🦵 Quadril - AP e Axial Lateral", "🦴 Art. Sacro-Ilíaca – Axial AP e Oblíquas", ], "✋ Membros Superiores": [ "✋ Dedos da mão do 2º ao 5º - PA, Lateral e Oblíqua", "👍 Polegar - AP, Lateral e Oblíqua", "🖐️ Mão - PA, Lateral e Oblíqua", "✊ Mão e Punho para Idade Óssea - PA Comparativa", "✊ Punho - PA, Lateral e Oblíqua", "🦴 Antebraço - AP e Lateral", "🦴 Cotovelo - AP e Lateral", "🦴 Úmero - AP e Lateral", "💪 Ombro - AP com rotação externa e interna", "💪 Ombro em traumatismo - AP com rotação neutra, Lateral escapular ou Transtorácica", "🦴 Clavícula - AP e AP Axial", "🦴 Art. Acromioclavicular - AP Bilateral com e sem estresse", "🦴 Escápula - AP e Lateral", ], "🦵 Membros Inferiores": [ "🦶 Dedos dos pés - AP, Lateral e Oblíqua", "🦶 Pé - AP, Lateral e Oblíqua", "🦶 Calcâneo - Axial e Lateral", "🦵 Tornozelo - AP, AP do encaixe, Lateral e Oblíqua", "🦿 Joelho - AP, Lateral e Oblíqua", "🦿 Patela - PA, Lateral e Tangencial", "🦿 Perna - AP e Lateral", "🦿 Fêmur – AP e Lateral", ], "🦴 Coluna Vertebral": [ "🦴 Coluna Cervical - Axial AP, Transoral, Lateral e Oblíqua", "🦴 Coluna Dorsal ou Torácica - AP e Lateral", "🦴 Coluna Lombar - AP, Lateral e Oblíqua", "🦴 Sacro e Cóccix - Axial AP e Lateral", "🦴 Rotina para Escoliose – AP e Lateral", "🦴 Rotina para Fusão Vertebral – AP com inclinação Esquerda e Direita Lateral com Hiperextensão e Hiperflexão", ], "🦷 Cabeça e Face": [ "👤 Crânio - AP Axial, PA e Lateral", "👃 Ossos da Face - Caldwell, Waters e Lateral", "👂 Ossos Nasais - Waters e Lateral", "👄 Mandíbula - Axial Lateral, PA e Axial AP", "🧠 Seios da Face - Caldwell, Waters e Lateral", "👂 Arcos Zigomáticos – Axial AP Submentovertice e Tangencial", "👂 Pirâmide – Rhêse, Caldwell e Waters", "🦴 ATM's – Axial Lateral e Oblíqua Axial Lateral", "🦴 Mastoides – Oblíqua Axial Lateral, Oblíqua Axial Anterior e Axial AP", "🦴 Sela Turcica – Axial AP e Lateral", ] } cx1, cx2 = st.columns([1, 1]) with cx1: st.markdown("") regioes = list(incidencias_radiograficas.keys()) regiao_escolhida = st.radio("", regioes) with cx2: if regiao_escolhida: exibir_incidencias( regiao_escolhida, incidencias_radiograficas[regiao_escolhida]) st.markdown(""" --- Desenvolvedor ☕ **Dr. Guilherme** """) elif nested_menu == "TFG": import pathlib import streamlit as st import streamlit.components.v1 as components from streamlit_extras.add_vertical_space import add_vertical_space st.header("Calculadora TFG") static_dir = pathlib.Path('static').absolute() html_with_js= '' @st.fragment def estilo(): css_file_path = static_dir / 'styles.css' if css_file_path.exists(): with open(css_file_path, "r", encoding="utf-8") as f: st_css = st.html(f"") return st_css else: st.error(f"CSS file not found: {css_file_path}") return None @st.fragment def linha_vertical(altura=300, cor='black', espessura=2): """ Cria uma linha vertical """ css = f""" """ html = f"{css}
" linha=st.markdown(html, unsafe_allow_html=True) return linha @st.fragment def calc(html_with_js): html_with_js = ''' Calculadora CKD-EPI

Calculadora CKD-EPI

Masculino Feminino
''' calculadora = components.html(html_with_js, width=400,height=900) return calculadora @st.fragment def icon_close(): st.markdown(""" """, unsafe_allow_html=True) with st.container(): st.markdown('
', unsafe_allow_html=True) st.image('icon/rim.svg', use_container_width=False, width=140) icon_top= st.markdown('
', unsafe_allow_html=True) return icon_top estilo() cx1,cx2,cx3=st.columns([3,1,6]) with cx1: icon_close() with cx2: st.write('') cx3.title(''' :blue[Calculadora TFG] :blue[| CKD-EPI] 📝 ''' ) c1, c2, c3, c4 = st.columns([2,0.5,3,3]) with c1: calc(html_with_js) with c2: add_vertical_space() # linha_vertical(altura=800, cor='#73A6E2', espessura=2) with c3: expander = st.expander("Estágios da DRC", expanded=False, icon='📝') expander.write(''' # Estagios da IRC: - **Estágio 1:** - TFG ≥ 90 mL/min/1.73m² - (Função renal normal ou aumentada) - **Estágio 2:** - TFG 60-89 mL/min/1.73m² - (Diminuição leve da função renal) - **Estágio 3a:** - TFG 45-59 mL/min/1.73m² - (Diminuição leve a moderada da função renal) - **Estágio 3b:** - TFG 30-44 mL/min/1.73m² - :blue[(Diminuição moderada a severa da função renal)] - **Estágio 4:** - TFG 15-29 mL/min/1.73m² - :orange[(Diminuição severa da função renal)] - **Estágio 5:** - TFG < 15 mL/min/1.73m² - :red[(Falência renal)] ''') with c4: recomendacoes= (''' ## Recomendações gerais para pacientes com DRC :green[As diretrizes KDIGO 2024 incorporou a TFG e a albuminúria como fatores críticos.] :blue[**1. Estágios 1 e 2 (TFG ≥ 60 mL/min/1,73m²):**] ###### Monitoramento Regular: Avaliação periódica da função renal e da albuminúria é recomendada para detectar progressão da doença. ###### Controle de Fatores de Risco: Controle rigoroso da pressão arterial e glicemia, especialmente em pacientes com diabetes, é essencial. ###### Modificações no Estilo de Vida: Incentivar dieta saudável, cessação do tabagismo e atividade física regular. :blue[**2. Estágio 3a e 3b (TFG 30-59 mL/min/1,73m²):**] ###### Ajuste de Medicamentos: Revisão e ajuste de dosagens de medicamentos que são excretados pelos rins. ###### Avaliação de Risco Cardiovascular: A albuminúria e a TFG devem ser usadas para avaliar o risco cardiovascular e ajustar o tratamento. ###### Referência a Nefrologista: Considerar encaminhamento para um nefrologista para manejo especializado. :blue[**3. Estágio 4 (TFG 15-29 mL/min/1,73m²):**] ###### Preparação para Terapia de Substituição Renal: Discussão sobre opções de diálise e transplante renal deve ser iniciada. ###### Monitoramento Intensivo: Acompanhamento mais frequente para monitorar a progressão da doença e complicações associadas. :blue[**4. Estágio 5 (TFG < 15 mL/min/1,73m²):**] ###### Terapia de Substituição Renal: Início de diálise ou avaliação para transplante renal. ###### Cuidados Paliativos: Considerar cuidados paliativos para pacientes que não são candidatos a diálise ou transplante. _Além disso, a quantificação da albuminúria é crucial em todos os estágios para guiar decisões terapêuticas, como a escolha de medicamentos anti- hipertensivos. A avaliação individualizada, considerando a situação clínica do paciente, é fundamental para o manejo eficaz da DRC._ ''') with st.expander(label='Recomendações', expanded=False, icon="🔥"): st.markdown(recomendacoes, unsafe_allow_html=True) st.markdown(""" --- Desenvolvedor ☕ **Dr. Guilherme** """) elif nested_menu == "Coelho e Savassi": import pandas as pd import streamlit as st st.header("Escala de Risco de Coelho e Savassi") STYLE = "static/style.css" with open(STYLE, "r", encoding="utf-8") as f: st.markdown(f"", unsafe_allow_html=True) STYLE = "static/styles.html" with open(STYLE, "r", encoding="utf-8") as f: st.markdown(f"", unsafe_allow_html=True) # CSS personalizado st.markdown(""" """, unsafe_allow_html=True) # Título st.title("📊 Calculadora da Escala de Risco de Coelho e Savassi") # Criando colunas para organizar o layout col1, col2, col3, col4 = st.columns([2,2,3,2]) # Fatores de risco fatores = [{ "id": "acamado", "label": "🛏️ Acamado", "peso": 3 }, { "id": "deficienciaFisica", "label": "♿ Deficiência física", "peso": 3 }, { "id": "deficienciaMental", "label": "🧠 Deficiência mental", "peso": 3 }, { "id": "baixoSaneamento", "label": "🚽 Baixas condições de saneamento", "peso": 3 }, { "id": "desnutricaoGrave", "label": "⚖️ Desnutrição grave", "peso": 3 }, { "id": "drogadicao", "label": "💊 Drogadição", "peso": 2 }, { "id": "desemprego", "label": "💼 Desemprego", "peso": 2 }, { "id": "analfabetismo", "label": "📚 Analfabetismo", "peso": 1 }, { "id": "menorSeisMeses", "label": "👶 Menor de 6 meses", "peso": 1 }, { "id": "maiorSetentaAnos", "label": "👴 Maior de 70 anos", "peso": 1 }, { "id": "hipertensao", "label": "❤️ Hipertensão arterial sistêmica", "peso": 1 }, { "id": "diabetes", "label": "💉 Diabetes mellitus", "peso": 1 }] # Criando checkboxes para os fatores de risco with col1: st.subheader("Fatores de Risco") checkboxes = {} for fator in fatores: checkboxes[fator["id"]] = st.checkbox(fator["label"]) with col2: st.subheader("Informações Adicionais") num_comodos = st.number_input("🏠 Número de cômodos", min_value=1, value=1) num_moradores = st.number_input("👥 Número de moradores", min_value=1, value=1) # Botão para calcular o risco if st.button("Calcular Risco", use_container_width=True, icon="🧮️" ): pontuacao_total = sum(fator["peso"] for fator in fatores if checkboxes[fator["id"]]) # Cálculo do escore de cômodos por pessoa escore_comodo_pessoa = num_comodos / num_moradores if escore_comodo_pessoa < 1: pontuacao_total += 3 # Determinação da classificação de risco if pontuacao_total <= 4: classificacao = "Risco Menor" classe_css = "risk-menor" icone = "✅" elif pontuacao_total <= 6: classificacao = "Risco Médio" classe_css = "risk-medio" icone = "⚠️" elif pontuacao_total <= 8: classificacao = "Risco Maior" classe_css = "risk-maior" icone = "🚨" else: classificacao = "Risco Máximo" classe_css = "risk-maximo" icone = "☠️" # Exibição do resultado st.markdown(f"""
{icone} Classificação: {classificacao}
📊 Pontuação: {pontuacao_total}
🏠 Cômodos por pessoa: {escore_comodo_pessoa:.2f}
""", unsafe_allow_html=True) st.subheader("Detalhes da Pontuação") detalhes = [] for fator in fatores: if checkboxes[fator["id"]]: detalhes.append({"Fator": fator["label"], "Peso": fator["peso"]}) if escore_comodo_pessoa < 1: detalhes.append({"Fator": "🏠 Menos de 1 cômodo por pessoa", "Peso": 3}) df_detalhes = pd.DataFrame(detalhes) st.table(df_detalhes) with col3, st.expander("Sobre a Escala de Risco de Coelho e Savassi", icon='❤️', expanded=False): st.markdown(""" --- ### Sobre a Escala de Risco de Coelho e Savassi A Escala de Risco de Coelho e Savassi é uma ferramenta utilizada na Atenção Primária à Saúde no Brasil para avaliar o risco familiar em territórios de saúde. Ela foi desenvolvida pelos médicos brasileiros Marcos Alencar Abaide Balbinotti Coelho e Maria Inês Ribeiro de Miranda Savassi. #### Como interpretar os resultados: - **Risco Menor (≤ 4 pontos)**: Acompanhamento de rotina - **Risco Médio (5-6 pontos)**: Acompanhamento programado - **Risco Maior (7-8 pontos)**: Acompanhamento prioritário - **Risco Máximo (≥ 9 pontos)**: Acompanhamento intensivo Esta calculadora é uma ferramenta de apoio e não substitui a avaliação profissional. """) with col4: st.write('') elif nested_menu == "Escore de Risco Global": import numpy as np import pandas as pd import streamlit as st cxc1, cxc2, cxc3 = st.columns([2, 1.5, 1.5]) # Título with cxc1: st.header("Escore de Risco Global") st.markdown("Recomendado pela Sociedade Brasileira de Cardiologia ❤️") with cxc2: st.image("icon/cardio.svg", width=100) # CSS melhorado st.markdown(""" """, unsafe_allow_html=True) def get_recomendacao_estatina(risco, pontos, idade, diabetes): """ Determina a recomendação de estatinas baseada no risco cardiovascular e características do paciente """ if risco == "Muito Alto": return """ ### 🔴 Recomendação: Estatina de Alta Intensidade - Atorvastatina 40-80 mg ou - Rosuvastatina 20-40 mg **Objetivo:** Redução ≥50% do LDL-C, com meta de LDL-C <70 mg/dL """ elif risco == "Alto": return """ ### 🔴 Recomendação: Estatina de Alta Intensidade - Atorvastatina 40-80 mg ou - Rosuvastatina 20-40 mg **Alternativa se não tolerada:** ### 🔵 Estatina de Intensidade Moderada - Atorvastatina 10-20 mg ou - Rosuvastatina 5-10 mg ou - Sinvastatina 20-40 mg """ elif risco == "Intermediário": base_rec = """ ### 🔵 Recomendação: Estatina de Intensidade Moderada - Atorvastatina 10-20 mg ou - Rosuvastatina 5-10 mg ou - Sinvastatina 20-40 mg """ if diabetes and 40 <= idade <= 75: base_rec += "\n\n**Nota:** Devido à presença de diabetes, considerar intensificar para estatina de alta intensidade se houver outros fatores de risco." return base_rec else: # Baixo risco if diabetes and 40 <= idade <= 75: return """ ### 🔵 Recomendação: Estatina de Intensidade Moderada - Atorvastatina 10-20 mg ou - Rosuvastatina 5-10 mg ou - Sinvastatina 20-40 mg **Nota:** Recomendação baseada na presença de diabetes. """ else: return """ ### 🟢 Considerar Estatina de Baixa Intensidade - Sinvastatina 10 mg ou - Pravastatina 10-20 mg **Nota:** A necessidade de estatina deve ser avaliada individualmente pelo médico considerando outros fatores de risco. """ # Criando colunas para organizar o layout col1, col2, col3, col4, col5 = st.columns([1,0.5,1,0.2,2.5]) with col1: st.subheader("Dados Pessoais") sexo = st.radio("Sexo", ["Masculino", "Feminino"]) idade = st.number_input("Idade", min_value=30, max_value=74, value=30, key='idade') tabagismo = st.checkbox("Tabagismo") diabetes = st.checkbox("Diabetes") with col2: st.write('') with col3: st.subheader("Dados Clínicos") colesterol_total = st.number_input("Colesterol Total (mg/dL)", min_value=0, max_value=600, help="Valor normal: < 200 mg/dL") hdl = st.number_input("HDL Colesterol (mg/dL)", min_value=0, max_value=100, value=50, help="Valor ideal: > 40 mg/dL") pas = st.number_input("Pressão Arterial Sistólica (mmHg)", min_value=0, max_value=300, help="Valor normal: < 130 mmHg") with col4: st.write('') with col5: st.subheader("Calcular resultado") def calcular_erg(sexo, idade, tabagismo, diabetes, colesterol_total, hdl, pas): pontos = 0 # Idade if sexo == "Masculino": if idade < 35: pontos -= 1 elif 35 <= idade <= 39: pontos += 0 elif 40 <= idade <= 44: pontos += 1 elif 45 <= idade <= 49: pontos += 2 elif 50 <= idade <= 54: pontos += 3 elif 55 <= idade <= 59: pontos += 4 elif 60 <= idade <= 64: pontos += 5 elif 65 <= idade <= 69: pontos += 6 else: pontos += 7 else: # Feminino if idade < 35: pontos -= 9 elif 35 <= idade <= 39: pontos -= 4 elif 40 <= idade <= 44: pontos += 0 elif 45 <= idade <= 49: pontos += 3 elif 50 <= idade <= 54: pontos += 6 elif 55 <= idade <= 59: pontos += 7 elif 60 <= idade <= 69: pontos += 8 else: pontos += 8 # Colesterol Total if sexo == "Masculino": if colesterol_total < 160: pontos -= 3 elif 160 <= colesterol_total <= 199: pontos += 0 elif 200 <= colesterol_total <= 239: pontos += 1 elif 240 <= colesterol_total <= 279: pontos += 2 else: pontos += 3 else: # Feminino if colesterol_total < 160: pontos -= 2 elif 160 <= colesterol_total <= 199: pontos += 0 elif 200 <= colesterol_total <= 239: pontos += 1 elif 240 <= colesterol_total <= 279: pontos += 2 else: pontos += 3 # HDL (mesmo para ambos os sexos) if hdl < 40: pontos += 2 elif 40 <= hdl <= 49: pontos += 1 elif 50 <= hdl <= 59: pontos += 0 else: pontos -= 2 # Pressão Arterial Sistólica if pas < 120: pontos += 0 elif 120 <= pas <= 129: pontos += 1 elif 130 <= pas <= 139: pontos += 2 elif 140 <= pas <= 159: pontos += 3 else: pontos += 4 # Diabetes if diabetes: if sexo == "Masculino": pontos += 4 else: pontos += 6 # Tabagismo if tabagismo: if sexo == "Masculino": pontos += 4 else: pontos += 3 return pontos if st.button("Calcular", icon='📝', key='risco'): # Validações if colesterol_total == 0: st.error("Por favor, insira um valor válido para o Colesterol Total") elif pas == 0: st.error("Por favor, insira um valor válido para a Pressão Arterial") else: pontos = calcular_erg(sexo, idade, tabagismo, diabetes, colesterol_total, hdl, pas) if pontos < 5: risco = "Baixo" classe_css = "risk-baixo" probabilidade = "< 5%" elif 5 <= pontos <= 10: risco = "Intermediário" classe_css = "risk-intermediario" probabilidade = "5 a 10%" elif 11 <= pontos <= 20: risco = "Alto" classe_css = "risk-alto" probabilidade = "10 a 20%" else: risco = "Muito Alto" classe_css = "risk-muito-alto" probabilidade = "> 20%" # Exibição do resultado st.markdown(f"""
Risco Cardiovascular: {risco}
Pontuação: {pontos}
Probabilidade de evento cardiovascular em 10 anos: {probabilidade}
""", unsafe_allow_html=True) # Após exibir o resultado do risco, adicionar: st.markdown("---") st.subheader("💊 Recomendação de Estatinas") if idade > 75: st.warning(""" **Atenção:** Para pacientes acima de 75 anos, a terapia com estatinas deve ser individualizada, considerando benefícios e riscos potenciais. Recomenda-se geralmente estatinas de intensidade moderada. """) recomendacao = get_recomendacao_estatina(risco, pontos, idade, diabetes) st.markdown(recomendacao) st.info(""" **Observações importantes:** 1. Recomendações baseadas em diretrizes, mas a decisão final deve ser individualizada pelo médico. 2. Monitorar níveis de transaminases antes de iniciar as estatinas. 3. Reavaliar níveis lipídicos 1-3 meses após início da terapia. 4. Em caso de intolerância, considerar alternativas como ácido bempedoico ou inibidores de PCSK9. 5. Estatinas são contraindicadas na gestação. """) # Se diabetes presente, adicionar informação específica if diabetes: st.markdown(""" **Nota sobre Diabetes:** - Para pacientes com diabetes entre 40-75 anos, é recomendada pelo menos estatina de intensidade moderada. - Se houver múltiplos fatores de risco, considerar estatina de alta intensidade com meta de redução ≥50% do LDL-C. """) # Informações adicionais st.info(""" **Interpretação das Faixas de Risco:** - **Baixo:** < 5% de chance de evento cardiovascular em 10 anos - **Intermediário:** 5-10% de chance de evento cardiovascular em 10 anos - **Alto:** 10-20% de chance de evento cardiovascular em 10 anos - **Muito Alto:** > 20% de chance de evento cardiovascular em 10 anos """) @st.fragment def tab_final(idade, sexo, colesterol_total, hdl, pas, diabetes, tabagismo): # Tabela de detalhes st.subheader("Detalhes da Avaliação") detalhes = [{ "Fator de Risco": "Idade", "Valor": f"{idade} anos" }, { "Fator de Risco": "Sexo", "Valor": sexo }, { "Fator de Risco": "Colesterol Total", "Valor": f"{colesterol_total} mg/dL" }, { "Fator de Risco": "HDL Colesterol", "Valor": f"{hdl} mg/dL" }, { "Fator de Risco": "Pressão Arterial Sistólica", "Valor": f"{pas} mmHg" }, { "Fator de Risco": "Diabetes", "Valor": "Sim" if diabetes else "Não" }, { "Fator de Risco": "Tabagismo", "Valor": "Sim" if tabagismo else "Não" }] df_detalhes = pd.DataFrame(detalhes) df_paciente = st.dataframe(df_detalhes, hide_index=True) return df_paciente tab_final(idade, sexo, colesterol_total, hdl, pas, diabetes, tabagismo) @st.fragment def estat(): with st.expander("Intensidade das Estatinas", icon='💊', expanded=False): st.markdown(""" | Intensidade | Estatinas e Doses | |-------------|-------------------| | **Alta** | - Atorvastatina 40-80 mg | | | - Rosuvastatina 20-40 mg | | **Moderada** | - Atorvastatina 10-20 mg | | | - Rosuvastatina 5-10 mg | | | - Sinvastatina 20-40 mg | | | - Pravastatina 40-80 mg | | | - Lovastatina 40 mg | | | - Fluvastatina XL 80 mg | | | - Pitavastatina 1-4 mg | | **Baixa** | - Sinvastatina 10 mg | | | - Pravastatina 10-20 mg | | | - Lovastatina 20 mg | | | - Fluvastatina 20-40 mg | **As estatinas de alta intensidade reduzem o LDL-C em ≥50%, as de intensidade moderada em 30-49%, e as de baixa intensidade em <30%.** """, unsafe_allow_html=True) @st.fragment def estatinas(): with st.expander("Intensidade das Estatinas", icon='💊', expanded=False): st.markdown(""" # Estatinas
- Diretrizes 2024: American College of Cardiology (ACC), American Heart Association (AHA) e American Diabetes Association (ADA). - Evidências de ensaios clínicos randomizados e meta-análises: Eficácia das estatinas na redução de eventos cardiovasculares ateroscleróticos (ASCVD). ## Início da Terapia com Estatinas ***1. Prevenção Primária:*** - **:red[Pacientes com DM:]** - :blue[DM entre 40-75a], sem ASCVD → Estatina de intensidade moderada + mudanças no estilo de vida. - :blue[DM entre 20-39a], com fatores de risco adicionais para ASCVD → Pode ser razoável iniciar estatina. - :blue[DM entre 40-75a], com ↑↑↑ risco cardiovascular → Estatinas de alta intensidade → ↓↓LDL-C em ≥50% do valor basal. Objetivo → LDL-C <70 mg/dL.[1] - **:green[Pacientes sem DM:]** - ACC/AHA → Estatinas de intensidade moderada a alta em pacientes com risco de ASCVD a 10 anos ≥7,5% - NICE e USPSTF → Iniciar estatinas se o risco for ≥10%.[2] ***2. Prevenção Secundária:*** - Pacientes com ASCVD: - Todos com ASCVD → Iniciar ou continuar estatinas de alta intensidade, a menos que haja contraindicações.[3-4] - Se estatina de alta intensidade for contraindicada ou não tolerada, → Estatina de intensidade moderada.[4] ***3. Intensidade da Terapia com Estatinas:*** - 🔴 :red[Alta Intensidade] ↓↓LDL-C em ≥50%.[5-6] - 🔵 :blue[Moderada]: ↓↓LDL-C em 30-49%.[5-6] - 🟢 :green[Baixa Intensidade]: ↓↓LDL-C em <30%.[6] ***4. Monitoramento e Ajustes:*** - Inicial: - Níveis de transaminases, antes de iniciar estatinas. - Níveis de lipídios → Devem ser reavaliados 1-3 meses após o início da terapia.[2] - Ajustes: - Se resposta inadequada, → Considerar adição de ezetimiba ou inibidores de PCSK9, especialmente em pacientes de alto risco.[1][7] ***5. Considerações Especiais:*** - Idosos (>75 anos): - Terapia com estatinas de intensidade moderada, considerar benefícios e riscos potenciais.[1][5] - Intolerância às Estatinas: - Alternativas → Ácido bempedoico ou inibidores de PCSK9.[1] ***6. Contraindicações:*** - :red[Gravidez:] - Estatinas são contraindicadas na gestação.[1] ##### Referências: 1. Cardiovascular Disease and Risk Management: Standards of Care in Diabetes-2024. Diabetes Care. 2024;47(Suppl 1):S179-S218. doi:10.2337/dc24-S010.

2. Hyperlipidemia: Drugs for Cardiovascular Risk Reduction in Adults. Last AR, Ference JD, Menzel ER. American Family Physician. 2017;95(2):78-87.

3. 2013 ACCF/­AHA Guideline for the Management of ST-elevation Myocardial Infarction: A Report of the American College of Cardiology Foundation/­American Heart Association Task Force on Practice Guidelines. O 'Gara PT, Kushner FG, Ascheim DD, et al.

4. 2018 AHA/­ACC/­AACVPR/­AAPA/­ABC/­ACPM/­ADA/­AGS/­APhA/­ASPC/­NLA/­PCNA Guideline on the Management of Blood Cholesterol: A Report of the American College of Cardiology/­American Heart Association Task Force on Clinical Practice Guidelines. Grundy SM, Stone NJ, Bailey AL, et al. Journal of the American College of Cardiology. 2019;73(24):e285-e350. doi:10.1016/j.jacc.2018.11.003.
""", unsafe_allow_html=True ) cft1, cft2, cft3 = st.columns([1, 2, 1]) with cft1: estat() with cft2: estatinas() with cft3: st.write('') elif nested_menu == "Noripurun": import pathlib import streamlit as st import streamlit.components.v1 as components from streamlit_extras.add_vertical_space import add_vertical_space st.header("Noripurun") static_dir = pathlib.Path('static').absolute() html_with_js= '' @st.fragment def estil(): css_file_path = static_dir / 'styles.css' if css_file_path.exists(): with open(css_file_path, "r", encoding="utf-8") as f: st_css = st.html(f"") return st_css else: st.error(f"CSS file not found: {css_file_path}") return None @st.fragment def noripurun(html_with_js): html_with_js = '''

Calculadora de Dose - Noripurum

Parâmetros Importantes:

Limites de Dose:

  • Dose máxima por aplicação: 200mg
  • Dose máxima semanal: 500mg
  • Intervalo mínimo entre doses: 24h

Diluição e Administração:

  • Diluição mínima: 100mL SF 0,9% por ampola
  • Tempo mínimo de infusão: 15 min/ampola
  • Administrar exclusivamente em SF 0,9%

Reserva de Ferro:

  • Pacientes < 35kg: 15mg/kg
  • Pacientes ≥ 35kg: 500mg fixo
Padrão: 12 g/dL (mulheres) / 13 g/dL (homens)
Detalhes do Cálculo:
Déficit Total de Ferro:
Esquema de Administração Recomendado:
''' noripurun = components.html(html_with_js, width=1600,height=1600) return noripurun noripurun(html_with_js) #estil()