Pular para o conteúdo principal

Rastreamento de saúde com IA

Ilustração sobre oceanografia IA, pesca sustentável, marinha

Faz um tempo que eu vinha sentindo uma espécie de fadiga crônica, sabe? Não era nada grave, mas aquele cansaço persistente, uma queda na energia pra fazer as coisas do dia a dia, um sono que parecia nunca ser reparador o suficiente. Fui ao médico, fiz exames, tudo "normal". Mas eu sabia que tinha algo de errado. O problema é que meus dados de saúde estavam espalhados por todo lado: o Garmin registrava meus passos e sono, eu usava um app pra registrar alimentação, outro pra humor, e as anotações do meu diário ficavam no Google Keep. Não dava pra ver o panorama completo. Era um monte de números e textos sem conexão, uma bagunça que me impedia de entender o que estava acontecendo. Foi aí que a chave virou: eu precisava de um jeito de juntar tudo aquilo, processar, e, se possível, fazer alguma inteligência tirar sentido daquela montanha de dados. E foi assim que comecei a mergulhar no rastreamento de saúde com IA, aplicando as mesmas ferramentas que uso para automatizar relatórios e processos no trabalho.

Construindo a Base: Coleta e Organização de Dados de Saúde

A Maldição dos Dados Espalhados e Como o Google Sheets Entra na Jogada

A primeira coisa que percebi é que, por mais que existam apps "tudo em um", nenhum deles era flexível o suficiente para tudo que eu queria rastrear. Cada um tinha seu nicho e raramente se integrava com o resto de um jeito que me agradasse. Então, a solução mais óbvia e flexível foi o Google Sheets. Pra mim, é a tela em branco ideal para começar qualquer projeto de dados. Criei várias abas: uma para dados de sono (duração, qualidade, % de REM/Sono Profundo), outra para atividade (passos, treinos, calorias), uma para alimentação (geralmente notas sobre o que comi e como me senti), outra para humor (escala de 1 a 10 e notas livres) e, o mais importante, uma aba para "Diário Livre", onde eu escrevia sobre o meu dia, sintomas, estresse, pensamentos. A ideia era ter um local centralizado para tudo.

No começo, era tudo manual. Exportava CSVs do Garmin Connect, copiava e colava anotações. Chato pra caramba. Eu passava um tempo considerável no fim do dia só organizando isso, e muitas vezes ficava com preguiça ou esquecia. O objetivo era automatizar ao máximo para que a entrada de dados não virasse um segundo trabalho.

Integrando Fontes: Onde Apps Script e APIs Viram Heróis (e Vilões)

Para fugir da digitação manual, comecei a explorar as APIs. A maioria dos dispositivos wearables e apps de saúde oferece alguma forma de acesso programático aos seus dados, seja via uma API pública ou um método de exportação que pode ser automatizado. O Garmin, por exemplo, tem uma API para desenvolvedores que permite puxar dados de sono, atividade e frequência cardíaca. Não é a API mais amigável do mundo, e a autenticação pode ser um saco, mas funciona.

Meu fluxo básico com o Garmin era assim:

  1. Registrar uma aplicação no portal de desenvolvedores do Garmin.
  2. Fazer a autenticação OAuth (sempre um parto, especialmente em ambientes como Apps Script).
  3. Usar Apps Script para fazer requisições HTTP para a API do Garmin, pedindo dados de sono e atividade para o dia anterior.
  4. Parsear o JSON que vinha de resposta.
  5. Escrever esses dados na aba correta do meu Google Sheet.

Eu tinha um script no Apps Script agendado para rodar toda manhã às 7h, pegando os dados do dia anterior. Parecia simples, mas levei semanas pra depurar as chamadas, entender a estrutura do JSON e lidar com as limitações de execução do Apps Script. Teve dia que o script falhava por limite de tempo, ou a API do Garmin mudava alguma coisinha na resposta e meu parser quebrava. Frustrante. Nessas horas, o Python se mostrava uma alternativa mais robusta para consumir APIs complexas, mas o desafio era integrar o Python com o Google Sheets de forma automatizada sem ter um servidor rodando 24/7. Acabei usando o Python para algumas coletas mais complexas e depois subia os dados para o Sheets via a API do Google Sheets mesmo.

Para o registro de humor e alimentação, que eram mais qualitativos, criei um Google Form bem simples. Duas perguntas: "Como você está se sentindo hoje (escala 1-10)?" e "Notas sobre alimentação/humor/sintomas". As respostas do form iam direto para uma aba do Sheets, e eu tinha um Apps Script que formatava essa entrada e a copiava para as abas de "Alimentação" e "Diário Livre". Isso resolveu o problema da entrada manual de texto livre.

Dando Sentido aos Números: Processamento e Análise de Dados com Python e Apps Script

Limpeza e Padronização: A Luta Real Antes da Magia Acontecer

Receber os dados brutos era só o começo. Os dados do Garmin vinham em segundos para duração de sono, mas eu queria em horas e minutos. As escalas de humor podiam variar. Tinha dias que eu esquecia de registrar alguma coisa, então tinha buracos. Essa etapa de limpeza e padronização é essencial e consome um tempo absurdo, mas sem ela, qualquer análise vai ser falha.

No Google Sheets, usei muitas fórmulas de array e funções como TEXT(), ARRAYFORMULA() e IFERROR() para padronizar formatos. Por exemplo, converter segundos em HH:MM. Para os dados faltantes, decidi por uma abordagem simples: preencher com a média dos últimos 3 dias ou deixar em branco e lidar com isso na análise.

Quando a coisa apertava e eu precisava de transformações mais complexas ou queria cruzar dados de forma mais robusta, eu jogava tudo pra um script Python. Pandas era meu melhor amigo. Em Python, era bem mais fácil:

  • Converter colunas para tipos de dados corretos (data, numérico).
  • Lidar com valores nulos (preencher, interpolar, remover).
  • Calcular novas métricas (média móvel de 7 dias para sono, por exemplo).
  • Unir diferentes datasets (sono + humor por data).

Depois de processados, esses dados podiam voltar para o Sheets (se eu quisesse visualizar lá) ou serem usados diretamente por modelos de IA que eu estava começando a construir.

Identificando Padrões: Da Estatística Simples à Busca por Correlações

Com os dados limpos e organizados, comecei a buscar padrões. No começo, eram coisas bem básicas no próprio Google Sheets: gráficos de linha para ver tendências do sono, passos vs. humor. Usei a função CORREL() para ver se havia alguma relação entre a qualidade do sono e meu nível de energia no dia seguinte, ou entre a ingestão de cafeína e o tempo para pegar no sono. Algumas correlações eram óbvias, outras surpreendentes.

Em Python, a análise ia um pouco além. Eu usava bibliotecas como NumPy e SciPy para cálculos estatísticos mais avançados. Fazer um mapa de calor de correlações entre diversas métricas (sono, passos, humor, horas de tela, estresse percebido) me ajudou a visualizar rapidamente quais variáveis se moviam juntas. Por exemplo, notei uma correlação negativa consistente entre o tempo de uso de tela à noite e a porcentagem de sono REM. Não era exatamente uma "IA", mas era a base de dados sólida para a IA atuar.

IA na Prática: Insights Inteligentes para seu Rastreamento de Saúde

Aqui é onde a coisa ficou interessante. Ver números e gráficos é bom, mas o que realmente me intrigava era extrair insights mais profundos, especialmente daquele monte de texto que eu jogava no meu "Diário Livre".

Análise de Diários e Notas Livres com LLMs: O Poder da Linguagem Natural

A maior sacada foi usar um LLM (Large Language Model) para analisar meus diários. Eu usava a API do GPT-3.5 (depois migrei para o 4, que é bem melhor) para processar as entradas de texto livre do meu Google Sheet. O fluxo era assim:

  1. Apps Script lê as novas entradas de diário que ainda não foram processadas.
  2. Para cada entrada, ele envia uma requisição para a API da OpenAI.
  3. O prompt era algo como: "Analise o seguinte texto do diário e extraia: a) O sentimento geral (positivo, neutro, negativo, misto). b) Palavras-chave ou tópicos principais (e.g., estresse no trabalho, dor de cabeça, exercício). c) Quaisquer sintomas físicos mencionados. d) Possíveis gatilhos ou eventos importantes. Formate a saída como um JSON."

Exemplo de prompt (simplificado para HTML):

Por favor, analise a seguinte entrada de diário e extraia as seguintes informações como um objeto JSON: sentimentos (positivo, negativo, neutro, misto), palavras_chave (lista de 3-5 palavras), sintomas_fisicos (lista, se houver), gatilhos_eventos (lista, se houver). Entrada: 'Hoje foi um dia bem puxado no trabalho. Senti uma pressão enorme para entregar o projeto. Cheguei em casa com dor de cabeça e muita irritação. O sono deve ser péssimo.'

A resposta JSON era então parseada pelo Apps Script e as informações (sentimento, palavras-chave, sintomas) eram gravadas em colunas separadas na aba do diário. Isso me permitiu, pela primeira vez, quantificar e analisar o conteúdo do meu diário. Eu podia filtrar por "dor de cabeça" e ver em quais dias isso acontecia, e cruzar com os dados de sono ou estresse do Garmin. Foi revelador! Percebi que meus dias com mais "irritação" e "pressão" estavam diretamente ligados a noites de sono mais fragmentado e menor tempo de sono profundo.

Claro, teve seus desafios. A engenharia de prompt é uma arte. No começo, o LLM misturava tudo, inventava coisas ou não extraía o formato que eu queria. Fui ajustando, adicionando exemplos (few-shot prompting) e sendo mais específico nas instruções. Outro ponto foi o custo e os limites de tokens. Textos muito longos podiam estourar o limite da API ou ficar caros. Tive que pensar em formas de resumir entradas antes de enviar, ou processar em lotes menores.

Detectando Anomalias e Tendências Inesperadas

Além da análise de texto, comecei a usar a IA de forma mais direta para detectar coisas fora do comum. Em Python, podia calcular a média móvel de 7 dias para minha frequência cardíaca em repouso. Se o valor do dia estivesse, por exemplo, dois desvios padrão acima dessa média, um alerta era gerado. Isso não é um modelo de IA super complexo, mas já é uma "inteligência" que automatiza a detecção de anomalias que eu levaria horas para notar manualmente.

Combinei isso com os insights do LLM. Se o LLM detectasse "estresse" no diário por três dias seguidos, e minha frequência cardíaca em repouso estivesse acima da média, o sistema me avisava: "Parece que você está sob estresse. Sua FC de repouso está elevada. Considere uma pausa ou técnicas de relaxamento." Essa integração de diferentes fontes de dados e tipos de análise (numérico + textual) era a chave para ter insights mais ricos.

Automatizando Recomendações e Feedback Personalizado

O próximo passo foi usar esses insights para gerar feedback e recomendações personalizadas. Se o meu padrão de sono estivesse consistentemente ruim (detectado por regras no Apps Script e corroborado por análise de sentimento no diário), eu pedia ao LLM para gerar uma sugestão simples.

Exemplo de prompt:

Seu sono tem sido de baixa qualidade ultimamente, e seu diário mostra níveis de estresse. Crie uma sugestão simples e curta para melhorar o sono, focada em relaxamento antes de dormir.

A resposta (e.g., "Que tal tentar 15 minutos de meditação guiada ou um chá relaxante 1 hora antes de deitar?") era então enviada para mim via um e-mail simples (Apps Script tem integração nativa com Gmail) ou aparecia como um lembrete no próprio Sheet. Não é uma recomendação médica, claro, mas um prompt para reflexão ou para testar alguma coisa simples. A ideia era criar um ciclo de feedback onde os dados geravam insights, que geravam ações.

Dicas Práticas Testadas no Campo de Batalha

  • Comece simples e adicione complexidade aos poucos: Não tente automatizar tudo de uma vez. Comece centralizando os dados em uma planilha. Depois, automatize uma API. Só então adicione a IA. Eu comecei com o Sheets e só depois fui para o Apps Script e Python.
  • Domine a engenharia de prompts: Se você for usar LLMs para análise de texto, passe um tempo experimentando com seus prompts. Seja claro, forneça exemplos, especifique o formato de saída (JSON é seu amigo) e itere. É um processo contínuo de ajuste.
  • Priorize a qualidade dos dados: Dados ruins resultam em insights ruins. Invista tempo na limpeza e padronização. Se a fonte de dados for inconsistente, talvez valha a pena gastar um tempo arrumando-a primeiro, ou até repensar se ela é a melhor opção.
  • Monitore seus scripts de automação: APIs mudam, limites de execução são atingidos. Tenha algum tipo de log ou notificação (um e-mail simples com erro, por exemplo) para saber quando seus scripts de Apps Script ou Python falharam. Nada mais frustrante do que descobrir dias depois que sua coleta de dados parou.
  • Pense na privacidade dos seus dados: Dados de saúde são extremamente sensíveis. Se você está usando APIs de terceiros (como OpenAI), entenda como seus dados são tratados. Não envie informações identificáveis sem ter certeza da segurança. Para mim, todos os dados são pessoais e rodam em ambientes que controlo (minha planilha, meus scripts).

Erros que já cometi ou vi cometerem

Olha, nessa jornada de construir meu sistema, cometi uns erros bem tolos que me custaram tempo:

1. Subestimar a complexidade das APIs de wearables: Achei que seria "plug and play" com a API do Garmin. Longe disso. A autenticação OAuth 1.0 é um pesadelo no Apps Script. Passei dias configurando callbacks, chaves e tokens, só para descobrir que o token expirava e eu tinha que refazer tudo manualmente. Aprendi que, para dados menos críticos, é mais fácil exportar manualmente um CSV uma vez por semana e importar, do que lutar por uma integração perfeita com APIs que não foram feitas para usuários comuns.

2. Superestimar a necessidade de um modelo de IA "completo": No começo, eu estava obcecado em construir um modelo de aprendizado de máquina para prever meu nível de energia do dia seguinte. Coletei dados por meses, tentei treinar uns modelos em Python. Resultado? As previsões eram apenas um pouco melhores que a média simples, e o esforço de manter o modelo atualizado e coletar todas as features era imenso. Percebi que muitas vezes, uma combinação de regras simples (se sono abaixo de X E estresse alto, então energia baixa) com a análise de texto do LLM trazia 80% do valor com 20% do esforço. Nem sempre você precisa de um transformer para resolver um problema de rastreamento pessoal.

3. Ignorar a importância da visualização: Eu me empolgava tanto com a coleta e o processamento que esquecia de criar visualizações úteis. Tinha dados limpos, insights da IA, mas tudo ficava em tabelas ou logs. Sem gráficos claros e painéis fáceis de ler no Sheets, a maioria das pessoas (inclusive eu em dias mais corridos) não ia absorver as informações. Comecei a investir em dashboards simples no Sheets, com formatação condicional e gráficos dinâmicos, para que os insights da IA e as tendências ficassem na cara.

FAQ

P: Consigo fazer tudo isso usando apenas Google Sheets e Apps Script, sem Python?

R: Para a maior parte da coleta, organização e até mesmo a integração com APIs de LLMs (como OpenAI), sim, é totalmente possível com Apps Script e Google Sheets. O Apps Script é robusto o suficiente para fazer requisições HTTP, parsear JSON e manipular dados na planilha. Onde o Python brilha é em tarefas de processamento de dados mais intensivas (análise estatística complexa, manipulação de grandes volumes de dados, construção e treinamento de modelos de ML específicos) e em interações com APIs que exigem bibliotecas Python mais específicas e complexas. Se você está começando, o ecossistema Google é um excelente ponto de partida e te leva longe.

P: Como lido com a privacidade dos meus dados de saúde ao usar APIs de IA?

R: A privacidade é crucial. Ao usar APIs de LLMs, é vital entender a política de uso de dados do provedor. A OpenAI, por exemplo, tem uma política onde os dados enviados via API (a menos que explicitamente optado por um fine-tuning) não são usados para treinar seus modelos. No entanto, ainda assim, você está enviando dados sensíveis para um serviço de terceiros. Para minimizar riscos, evite enviar informações de identificação direta (nome completo, CPF) nos prompts. Use um pseudônimo ou remova esses detalhes antes de enviar. Você também pode considerar técnicas como a sumarização ou extração de informações-chave localmente (se possível) antes de enviar para a API, reduzindo a quantidade de dados brutos sensíveis que saem do seu ambiente.

No fim das contas, construir esse sistema de rastreamento foi um projeto e tanto. Não foi uma bala de prata para todos os meus problemas de saúde, mas me deu uma clareza que eu não tinha antes. Conseguir conectar os pontos entre meu sono, meu humor, meu estresse e até o que eu comia, tudo isso de forma automatizada e com a ajuda de uma IA, fez uma diferença enorme. É um sistema vivo, que eu continuo ajustando, mas a base está lá e me serve muito bem para entender melhor o meu próprio corpo.

Comentários

Postagens mais visitadas deste blog

Claude Code gastando muito? Como otimizar o consumo de tokens na prática e não falir usando a API

A primeira vez que vi a fatura do Claude, confesso que me deu um frio na espinha. Era para ser uma automação "simples": pegar dados de umas 500 linhas de uma Google Sheet, fazer um resumo rápido de cada uma e categorizar. Algo que, se eu fosse fazer na mão, levaria uns dois dias chatos e repetitivos. Pensei: "Vou jogar no Claude, ele resolve em minutos e a conta vai ser irrisória". Que nada. Quando vi o consumo de tokens, a tal 'irrisória' virou um valor que me fez questionar se valia a pena continuar. A automação funcionou, sim, mas o preço foi maior do que o esperado. Foi aí que percebi que não bastava saber mandar um prompt; eu precisava aprender a economizar. E economizar de verdade, na prática, sem cair em papo furado de "otimização estratégica". A real é que a API do Claude, com seus modelos potentes como Opus, Sonnet e até o Haiku, é uma mão na roda para muita coisa – desde gerar textos complexos até extrair insights de montanhas de dados....

Modelos de IA open source para desenvolvimento

Se tem uma coisa que me tira do sério é ficar fazendo trabalho manual repetitivo. Sabe aquela planilha que chega toda semana com um monte de texto solto, tipo feedback de cliente, descrições de produto ou anotações de reunião? E aí você tem que ler tudo, categorizar, resumir, ou extrair umas informações específicas? É um inferno. Eu já gastei horas da minha vida nisso, e a frustração só aumenta quando a empresa começa a falar de "IA para produtividade", mas no fundo a solução que te dão custa o olho da cara ou não se encaixa direito na tua stack. Foi exatamente por causa de uma dessas tarefas chatas – categorizar milhares de comentários de clientes de um e-commerce em Google Sheets – que eu mergulhei de cabeça nos modelos de IA open source para desenvolvimento. Precisava de algo que rodasse, que eu pudesse controlar, e que não me cobrasse por token. E, claro, que se integrasse com o que eu já usava: Python para o backend pesado, Apps Script para a ponte com as Sheets, e API...

Melhores ferramentas de IA gratuitas para pequenas empresas

Melhores Ferramentas de IA Gratuitas para Pequenas Empresas A inteligência artificial (IA) deixou de ser um luxo para grandes corporações e tornou-se uma ferramenta acessível que pode transformar a maneira como pequenas empresas operam. Desde a criação de conteúdo até o atendimento ao cliente, a IA pode otimizar processos, economizar tempo e impulsionar o crescimento. O melhor de tudo é que você não precisa gastar uma fortuna para começar. Existem diversas ferramentas de IA gratuitas que podem fazer uma diferença significativa. Este artigo explora as melhores opções para pequenas empresas que desejam aproveitar o poder da IA sem custos iniciais. IA para Criação de Conteúdo e Marketing Gerar conteúdo relevante e atraente é crucial para qualquer pequena empresa. As ferramentas de IA podem ajudar a criar textos, ideias e até mesmo aprimorar a comunicação com seus clientes e público, tudo de forma eficiente e sem custo. ChatGPT / Google Gemini (Free Tiers): ...