Pular para o conteúdo
Fynx
Business Intelligence13 min de leitura

Como reduzir o tempo médio de permanência com dados

Reduza o tempo médio de permanência hospitalar com dados: giro de leito, censo, gargalos de alta e DAX integrado ao HIS para proteger o faturamento.

F
Fynx

O leito ocupado a mais é dinheiro que sai do caixa todos os dias

Em hospital, cada dia de internação além do necessário custa caro e não gera receita proporcional. Diária de fonte pagadora costuma ser regressiva ou pacotizada, enquanto o custo variável do paciente segue rodando. Por isso o tempo médio de permanência (TMP) é, ao mesmo tempo, um indicador clínico, operacional e financeiro. Reduzir o TMP sem comprometer segurança do paciente é uma das poucas alavancas que melhoram desfecho clínico e resultado financeiro na mesma direção. E, ao contrário do que muita diretoria acredita, o gargalo raramente é falta de leito físico. É falta de visibilidade sobre onde o paciente para de andar dentro da jornada.

Vou ser direto: dá para atacar o TMP com dados, mas não com relatório mensal em PDF. Precisa de dado do sistema de gestão hospitalar (HIS) chegando quase em tempo real ao modelo, medidas bem escritas em DAX e rotina de gestão à beira do leito.

O que o TMP realmente mede e por que a média engana

TMP é a razão entre pacientes-dia e o número de saídas (altas mais óbitos e transferências externas) em um período. A fórmula é simples, o problema é interpretar. A média esconde caudas: um único paciente crônico complexo com 90 dias de internação distorce a média de uma unidade inteira. Por isso, quem trabalha TMP a sério nunca olha só a média. Olha mediana, percentil 90 e distribuição por linha de cuidado, faixa etária e fonte pagadora.

Outra armadilha é misturar naturezas diferentes. TMP de UTI, de clínica médica, de cirurgia eletiva e de obstetrícia não conversam. Um bom modelo separa por unidade, por CID principal e por grupo de procedimento. Sem essa granularidade, o número vira média de coisas incomparáveis.

O TMP se conecta a três indicadores irmãos que precisam viver no mesmo painel:

IndicadorO que medePor que importa para o TMP
Giro de leitoSaídas por leito no períodoTMP alto derruba o giro e a capacidade efetiva
Taxa de ocupaçãoPacientes-dia sobre leitos-dia disponíveisOcupação alta com TMP alto sinaliza gargalo de saída, não falta de leito
Intervalo de substituiçãoTempo entre a alta e a próxima admissão no mesmo leitoMede a eficiência da higienização e da logística de leito

Sem integração com o HIS, o painel nasce velho

A base de tudo é o dado do HIS: Tasy, MV, Soul MV, Pixeon ou o sistema que a instituição usar. O que precisa sair de lá, no mínimo, são os eventos de admissão, transferência interna, alta e óbito (o clássico ADT), a movimentação de leitos, os pedidos e resultados de exames, as prescrições e a conta do paciente. Cada evento com carimbo de data e hora, porque o TMP e seus gargalos vivem na diferença entre timestamps.

Na prática, a integração acontece de duas formas. A robusta é uma camada de engenharia de dados que lê o banco do HIS (ou uma réplica de leitura, para não pesar no transacional) e materializa tabelas limpas em um data lake ou data warehouse. A Microsoft empurra isso hoje para o Microsoft Fabric, anunciado em 2023, onde o Direct Lake lê os dados direto do OneLake sem gerar consulta ao HIS a cada refresh. Para volumes de médio porte, um modelo import bem desenhado no Power BI com refresh incremental também resolve.

Vale um alerta de governança que não é opcional em saúde: dado de paciente é dado pessoal sensível pela LGPD (Lei nº 13.709/2018). Painel operacional de leito não precisa expor nome nem CID nominal para todo mundo. Trabalhe com identificadores internos, segurança em nível de linha (RLS) por unidade e minimização de dados. Tratamos disso no texto sobre governança de dados no Power BI e LGPD. A ingestão desse tipo de fonte é o trabalho de engenharia de dados que sustenta o resto.

O modelo de dados que sustenta o TMP

Antes do DAX, o modelo. Um esquema estrela simples resolve a maioria dos casos. Uma tabela fato de internações com uma linha por passagem do paciente (chave da internação, datas de admissão e alta, unidade, leito, CID, fonte pagadora, desfecho) e uma tabela fato de censo com granularidade diária, uma linha por paciente por dia de permanência. Em volta, dimensões de calendário, unidade, leito, médico, convênio e CID.

Aqui entra uma decisão técnica que muita gente ignora e depois paga caro: cardinalidade das colunas. O motor VertiPaq, que roda por trás do Power BI e do Fabric, comprime cada coluna e comprime melhor as de baixa cardinalidade. Guardar timestamp completo com segundos numa coluna de milhões de linhas incha o modelo. Separe data e hora em colunas distintas quando precisar do horário, e evite trazer texto livre da prescrição para o modelo analítico.

As medidas em DAX que colocam o TMP de pé

Com o modelo pronto, as medidas. Vou mostrar as centrais. A ideia não é copiar e colar, é entender a lógica e adaptar aos nomes das suas tabelas.

Pacientes-dia é a contagem de linhas do censo diário:

Pacientes-Dia = COUNTROWS( fCenso )

Saídas são as internações encerradas no período, contadas pela data de alta:

Saídas = CALCULATE( COUNTROWS( fInternacoes ), NOT ISBLANK( fInternacoes[DataAlta] ) )

O TMP nasce da razão entre os dois, com proteção contra divisão por zero:

TMP = DIVIDE( [Pacientes-Dia], [Saídas] )

Para não cair na armadilha da média, calcule a permanência individual e leve para a mediana e o percentil 90:

Permanência Dias = DATEDIFF( fInternacoes[DataAdmissao], fInternacoes[DataAlta], DAY )

TMP Mediana = MEDIANX( fInternacoes, [Permanência Dias] )

Permanência P90 = PERCENTILEX.INC( fInternacoes, [Permanência Dias], 0.9 )

O giro de leito relaciona saídas com leitos operacionais no período:

Giro de Leito = DIVIDE( [Saídas], [Leitos Operacionais] )

E a taxa de ocupação compara pacientes-dia com leitos-dia disponíveis:

Taxa Ocupação % = DIVIDE( [Pacientes-Dia], [Leitos-Dia Disponíveis] )

O pulo do gato para atacar gargalos é medir os tempos internos da jornada. Quanto tempo entre o pedido de alta médica e a saída física do paciente, por exemplo:

Horas Alta-Saída = AVERAGEX( fInternacoes, DATEDIFF( fInternacoes[HoraAltaMedica], fInternacoes[HoraSaidaFisica], HOUR ) )

Essa última medida costuma ser a mais reveladora. É comum o médico liberar a alta às nove da manhã e o paciente sair às seis da tarde, segurando um leito por quase um turno inteiro sem necessidade clínica. Multiplique isso por dezenas de altas por dia e você achou capacidade sem construir leito nenhum. Se a sua equipe ainda não tem essas medidas maduras, é exatamente o tipo de trabalho que a nossa área de Power BI entrega.

Onde o paciente para de andar: os gargalos de exame e de alta

TMP alto quase sempre é sintoma de fila interna. Os dois gargalos mais frequentes são exames e o processo de alta. No lado dos exames, o dado a perseguir é o intervalo entre pedido, coleta ou realização, e resultado disponível. Um paciente que espera 30 horas por um resultado de imagem para decidir conduta é um paciente que fica mais um dia internado. Ao cruzar o timestamp do pedido com o do laudo, o painel mostra em que exames e em que turnos a fila se forma.

No lado da alta, o gargalo raramente é clínico. É logístico e administrativo. A tabela abaixo mostra os pontos onde o tempo evapora e o dado que o revela.

GargaloSintoma no dadoAção orientada por dado
Alta tardiaDiferença grande entre hora da alta médica e saída físicaAntecipar transporte, receita e orientação na véspera
Espera de exameIntervalo alto entre pedido e resultadoPriorizar exames de pacientes internados na fila
Autorização de convênioPausa entre indicação e liberação de procedimentoMonitorar SLA da operadora por convênio
Falta de retaguardaPaciente estável sem destino pós-altaAcionar desospitalização e home care cedo
Higienização do leitoIntervalo de substituição altoIntegrar chamado de limpeza ao evento de alta

O ganho aqui não vem do relatório, vem do ritmo. Um painel à beira do leito, atualizado ao longo do dia, com a lista dos pacientes com previsão de alta e seus pendentes, muda o comportamento da equipe.

Alta responsável e desospitalização precisam de dado, não de boa vontade

Reduzir TMP sem cuidado vira reinternação, e reinternação em 30 dias é o placar que denuncia alta apressada. Por isso a alta responsável tem que andar junto. O painel precisa carregar a taxa de reinternação não planejada como contrapeso do TMP. Se o TMP cai e a reinternação sobe, você não ganhou eficiência, empurrou o problema para frente.

Desospitalização é a saída estruturada para o paciente que não precisa mais de hospital mas ainda precisa de cuidado: home care, hospital dia, ambulatório de alta complexidade. O dado antecipa essa necessidade. Um paciente estável, com previsão de alta em 48 horas e sem retaguarda definida, deveria acender um alerta no painel dias antes, não na hora da alta. Modelar esses critérios e disparar o fluxo é onde o Power Platform entra bem, com um aplicativo simples de gestão de altas e automações que notificam a equipe de continuidade do cuidado.

O impacto no faturamento é o argumento que convence a diretoria

TMP é indicador clínico, mas quem aprova investimento olha o resultado. A conta é concreta. Reduzir o TMP libera leitos-dia, e leito-dia liberado é capacidade para novas internações sem CAPEX. Em um hospital com ocupação alta e fila de eletivas, cada leito que gira mais rápido é receita adicional real. Em um hospital com contrato por pacote ou diária regressiva, permanência menor melhora a margem por caso, porque o custo variável para de correr antes.

Vale ser honesto sobre um ponto: reduzir TMP nem sempre aumenta faturamento bruto, às vezes reduz. Se a diária é o que fatura, menos dias significa menos diária faturada naquele paciente. O ganho real aparece na margem e na capacidade: o leito livre recebe um novo caso, e o custo por caso cai. Por isso o painel de TMP tem que conversar com o painel financeiro, cruzando permanência, custo por paciente-dia e receita por internação por fonte pagadora. Sem esse cruzamento, a discussão de TMP fica no clínico e nunca chega ao orçamento.

Como implantar sem virar mais um painel abandonado

A causa número um de painel de saúde morto na gaveta é começar grande. O caminho que funciona é o contrário. Escolha uma unidade, clínica médica costuma ser a melhor por volume e previsibilidade, e uma pergunta: onde perdemos tempo entre a alta médica e a saída física. Modele só o necessário para responder, coloque na rotina da passagem de plantão e ajuste. Com o primeiro ciclo mostrando resultado, o resto do hospital pede para entrar.

A sequência que recomendamos:

  • Mapear os eventos disponíveis no HIS e a qualidade dos timestamps, porque dado de hora mal preenchido inviabiliza medida de gargalo.
  • Materializar as fatos de internação e censo em camada tratada, com refresh compatível com a rotina de gestão.
  • Escrever as medidas centrais de TMP, giro, ocupação e tempos internos em DAX.
  • Publicar um painel operacional à beira do leito e um painel gerencial com a visão financeira.
  • Rodar o ciclo de gestão, medir reinternação como contrapeso e expandir por unidade.

Um bom ponto de partida para entender o ecossistema é o guia completo de Power BI para empresas no Brasil.

Perguntas frequentes

Qual a diferença entre tempo médio de permanência e giro de leito?

TMP mede quantos dias, em média, cada paciente fica internado. Giro de leito mede quantas saídas cada leito produz no período. Eles se movem em direções opostas: quando o TMP cai, o giro sobe, porque o mesmo leito atende mais pacientes no mesmo intervalo. Olhar os dois juntos evita a leitura ingênua de que ocupação alta significa falta de leito, quando muitas vezes significa saída travada.

Preciso do Microsoft Fabric para fazer isso ou o Power BI resolve?

Para a maioria dos hospitais de pequeno e médio porte, um modelo import no Power BI com refresh incremental resolve bem. O Fabric faz diferença quando o volume de eventos é muito grande, quando você quer o dado quase em tempo real com Direct Lake lendo do OneLake, ou quando já existe uma estratégia corporativa de lakehouse. A escolha depende de volume, janela de atualização e do SKU contratado, e deve ser dimensionada caso a caso.

Como integrar o Power BI com o HIS sem sobrecarregar o sistema?

A prática segura é não consultar o banco transacional do HIS diretamente a cada refresh. Trabalhe sobre uma réplica de leitura ou materialize os dados em uma camada tratada em data lake ou warehouse, e conecte o Power BI a essa camada. Isso protege a performance do sistema assistencial e ainda permite limpar e padronizar os eventos de ADT, que costumam vir com timestamps inconsistentes.

Reduzir o TMP não aumenta o risco de reinternação?

Aumenta se a redução for feita no grito, sem critério clínico. Por isso a alta responsável e a desospitalização andam junto, e a taxa de reinternação não planejada em 30 dias entra no painel como contrapeso. Se o TMP cai e a reinternação sobe, o ganho é falso. O objetivo é remover a espera administrativa e logística, não antecipar alta clinicamente indevida.

Como lidar com a LGPD em painéis com dados de pacientes?

Dado de saúde é dado pessoal sensível pela Lei nº 13.709/2018, o que exige base legal, minimização e controle de acesso. Na prática, use identificadores internos em vez de nomes sempre que possível, aplique segurança em nível de linha por unidade e restrinja quem vê informação clínica nominal. Painel operacional de fluxo de leito quase nunca precisa expor identidade completa do paciente.

Quanto custa montar um projeto de BI hospitalar desses?

O custo varia demais com a maturidade do HIS, o volume de dados e o escopo. Como ordem de grandeza, os custos principais são licenças (Power BI Pro e PPU são licenças por usuário, e o Fabric é cobrado por Capacity Units em SKUs como F2 a F2048), a camada de dados e as horas de implantação. Valores devem ser confirmados na fonte oficial da Microsoft, porque mudam e dependem de contrato. O maior custo real, porém, costuma ser o do leito ocupado sem necessidade, que é justamente o que o projeto ataca.

Menos dia de internação, mais leito girando

O TMP é um dos raros indicadores em que eficiência operacional, resultado financeiro e cuidado ao paciente apontam para o mesmo lado, desde que você tenha o dado do HIS no lugar certo, medidas honestas em DAX e uma rotina de gestão que use tudo isso na hora que importa. Não é projeto de painel bonito, é projeto de mudar comportamento com informação. Se a sua instituição quer atacar o tempo de permanência com método, fale com a gente.

Quer aplicar isso na sua empresa?

A Fynx implementa BI, Power BI e Power Platform de ponta a ponta. Conte seu cenário e devolvemos um diagnóstico direto ao ponto.

Falar com um especialista

Vamos transformar seus dados em decisão?

Conte seu cenário. Devolvemos um diagnóstico e uma proposta com faixa de investimento em poucos dias úteis, sem folheto, direto ao ponto.