Indicadores de qualidade assistencial no Power BI
Como construir indicadores de qualidade assistencial no Power BI: reinternação, infecção e eventos adversos com DAX, tabelas de referência e FAQ.
O painel bonito não sobrevive à primeira auditoria
A maioria dos projetos de qualidade assistencial no Power BI morre no mesmo lugar: alguém monta um dashboard com números que parecem certos, o corpo clínico olha, aponta uma taxa de reinternação que não bate com o cálculo da CCIH e o painel perde credibilidade em uma reunião. A partir daí ninguém mais confia. Indicadores de qualidade assistencial não falham por falta de gráfico, falham por definição frouxa: numerador ambíguo, denominador errado, janela de tempo inventada e ausência de rastreabilidade até o prontuário.
Este artigo é sobre construir esses indicadores de um jeito que aguenta auditoria interna, visita de acreditação e questionamento médico. Vou tratar de três famílias que aparecem em praticamente todo hospital: reinternação, infecção relacionada à assistência à saúde e eventos adversos. E vou ser direto sobre o que o Power BI resolve bem e onde ele não deveria estar sozinho.
Qualidade assistencial começa na definição, não no DAX
Antes de abrir o Power BI, você precisa fechar a definição de cada indicador com quem responde por ele clinicamente. Isso não é formalidade. A taxa de reinternação em 30 dias tem pelo menos cinco variações válidas dependendo de quem pergunta:
- Reinternação por qualquer causa ou pela mesma causa (mesmo CID ou linha de cuidado).
- Reinternação na mesma instituição ou considerando a rede.
- Janela contada da alta ou da internação índice.
- Inclusão ou exclusão de reinternações programadas (quimioterapia, hemodiálise, cirurgia em etapas).
- Exclusão de óbitos, transferências e altas administrativas do denominador.
Cada escolha muda o número. Se você não documentar isso, o indicador vira opinião. A regra prática que uso: todo indicador de qualidade assistencial precisa de uma ficha técnica com numerador, denominador, critérios de inclusão e exclusão, janela temporal e fonte oficial. No Power BI isso se materializa em uma medida DAX comentada e, idealmente, em uma tabela de metadados no próprio modelo.
O erro clássico é embutir a regra de negócio dentro de um visual ou de um filtro de página. Faça o contrário. A regra vive na medida, a medida vive na camada de modelo, e o visual só apresenta. Se você ainda não tem essa disciplina de modelagem, vale ler nosso guia de boas práticas de modelagem DAX antes de seguir.
Os três indicadores e suas definições reais
A tabela abaixo consolida as definições que costumam sobreviver a uma auditoria. Ajuste os critérios à sua instituição, mas mantenha o rigor.
| Indicador | Numerador | Denominador | Janela | Exclusões comuns |
|---|---|---|---|---|
| Taxa de reinternação em 30 dias | Internações não programadas que ocorrem até 30 dias após a alta índice | Total de altas elegíveis no período | 30 dias corridos após a alta | Óbitos na internação índice, transferências, reinternações programadas |
| Densidade de infecção associada a dispositivo | Número de infecções (por exemplo, ITU associada a cateter) | Total de dias de dispositivo (cateter-dia, ventilador-dia) x 1000 | Mês de competência | Infecções presentes na admissão, colonização sem critério clínico |
| Taxa de eventos adversos | Eventos adversos notificados com dano ao paciente | Total de pacientes-dia ou saídas hospitalares | Mês de competência | Incidentes sem dano, near miss, eventos não relacionados à assistência |
Repare que infecção usa densidade por 1000 dispositivo-dia, não percentual simples. Essa é a métrica que a vigilância epidemiológica e a ANVISA reconhecem para IRAS. Se o seu painel mostra "taxa de infecção" como porcentagem sobre internações, você está medindo outra coisa e vai divergir de todo benchmark oficial.
O modelo de dados sustenta o número, o visual só mostra
Power BI é uma ferramenta de modelagem antes de ser de visualização. O motor VertiPaq comprime colunas por cardinalidade e trabalha melhor com um esquema estrela: tabelas fato (internações, eventos, dias de dispositivo) cercadas por dimensões (paciente, unidade, profissional, tempo, CID). Evite a tentação de trazer uma tabela única e gigante do prontuário eletrônico direto para o relatório. Colunas de alta cardinalidade, como identificadores de atendimento e texto livre, incham o modelo e derrubam a performance.
Para qualidade assistencial, três pontos de modelagem importam mais que os outros:
- Tabela calendário dedicada marcada como tabela de datas, para que as janelas de 30 dias e as competências mensais funcionem com funções de time intelligence.
- Granularidade correta da fato: a fato de infecção precisa da granularidade de dispositivo-dia para o denominador fazer sentido; a fato de reinternação trabalha no nível de episódio de internação.
- Chave de paciente estável para conseguir ligar a alta índice à reinternação subsequente. Sem uma chave confiável, a reinternação vira chute.
O trabalho pesado de juntar prontuário, laboratório, notificação de eventos e censo de dispositivos raramente cabe no Power Query de forma sustentável. Quando o volume cresce, isso pertence a uma camada de dados a montante. É aqui que entra engenharia de dados para preparar tabelas limpas e versionadas, e o Power BI consome o resultado já tratado. Fazer transformação clínica complexa dentro do relatório é dívida técnica que aparece na primeira mudança de regra.
Exemplos de medidas em DAX
As fórmulas abaixo são esqueletos. A lógica real depende do seu modelo, mas o formato ajuda a fixar o raciocínio. Reinternação em 30 dias, de forma simplificada, conta altas que têm uma nova internação não programada dentro da janela:
Taxa Reinternação 30d = DIVIDE([Reinternações 30d], [Altas Elegíveis])
A densidade de infecção por dispositivo segue o padrão de multiplicar por mil:
Densidade ITU-Cateter = DIVIDE([Infecções ITU], [Cateter-dia]) * 1000
O ponto não é a sintaxe. É que cada componente, como Reinternações 30d e Altas Elegíveis, é uma medida própria com sua regra de exclusão explícita. Quando a auditoria perguntar "por que este paciente entrou no numerador", você abre a medida e mostra o critério, não abre uma consulta improvisada.
Governança e LGPD não são opcionais em dado de saúde
Dado assistencial é dado pessoal sensível pela Lei nº 13.709/2018, a LGPD. Isso muda a forma como você distribui o painel. Nome, prontuário, CID e desfecho clínico juntos formam informação altamente sensível, e acesso amplo não se justifica só porque "é mais prático".
Na prática, três controles resolvem a maior parte do risco no Power BI:
- Segurança em nível de linha (RLS) para que cada unidade ou gestor veja apenas sua população, sem expor o hospital inteiro.
- Separação entre camada analítica agregada e camada de investigação nominal. O indicador gerencial não precisa de nome de paciente. A lista nominal, quando necessária para a CCIH ou o núcleo de segurança, fica em relatório restrito e auditado.
- Rastreabilidade de acesso, sabendo quem viu o quê. Em ambiente com Microsoft Fabric e Purview isso fica mais integrado, mas o princípio vale para qualquer implantação.
Governança aqui não é burocracia, é o que permite usar o dado sem criar passivo. Tratamos isso em profundidade no texto sobre governança de dados, Power BI e LGPD, e é um tema que costuma exigir apoio de governança de dados desde o desenho, não depois do incidente.
Onde o Fabric e a capacidade entram nessa conta
Muitos hospitais rodam Power BI em licença Pro ou PPU (Premium por Usuário), que são licenças por usuário. Isso funciona bem para volumes moderados e distribuição controlada. Quando o dado assistencial cresce, exige atualização frequente e precisa servir muitos usuários, a conversa migra para capacidade dedicada.
O Microsoft Fabric, anunciado pela Microsoft em 2023, unificou a plataforma de dados e mede consumo em Capacity Units. As SKUs vão de F2 até F2048, e o histórico do Power BI Premium trazia SKUs P1 até P5. O modo Direct Lake, do Fabric, lê os dados diretamente do OneLake sem importar nem consultar em tempo real a fonte, o que ajuda em modelos grandes de saúde sem penalizar a experiência do usuário.
A tabela abaixo resume o critério de escolha de forma honesta.
| Cenário | Licenciamento provável | Observação |
|---|---|---|
| Poucos gestores, dados agregados, atualização diária | Power BI Pro | Simples e barato para começar |
| Distribuição ampla no hospital, sem capacidade dedicada | PPU ou capacidade | PPU cobra por usuário; avalie o ponto de virada |
| Grande volume, muitas áreas, Direct Lake, governança integrada | Capacidade Fabric (F SKUs) | Consumo em Capacity Units; dimensione a SKU |
Não trate SKU como decisão de TI isolada. A escolha errada custa caro dos dois lados: capacidade ociosa desperdiça orçamento, capacidade subdimensionada gera lentidão e throttling nos horários de pico. Se quiser entender o quadro completo da plataforma, o nosso artigo sobre Microsoft Fabric ajuda a decidir se vale para o seu momento. Preços de capacidade variam por região e mudam com frequência, então confirme sempre na fonte oficial da Microsoft antes de fechar orçamento.
O que separa um painel confiável de um relatório decorativo
Depois de anos entregando BI, a diferença entre um painel que vira ferramenta de gestão e um que vira enfeite quase sempre está em cinco pontos:
- Numerador e denominador auditáveis, com drill-through até a lista de casos que compõem cada número.
- Data de competência clara, separando o que é fechamento mensal do que ainda está em revisão.
- Consistência com a fonte oficial, batendo com o que a CCIH e a vigilância reportam, não um número paralelo.
- Sinalização de meta e faixa, mostrando não só o valor mas se ele está dentro do aceitável para a instituição.
- Atualização e responsabilidade definidas, sabendo quem é dono do indicador e com que frequência ele atualiza.
Nenhum desses pontos é sobre design. São sobre confiança. Um painel de qualidade assistencial existe para sustentar decisão clínica e regulatória, e a barra de confiança é alta. Vale investir em sustentação de BI para garantir que o número continue certo depois que o consultor sai, porque indicador de qualidade que ninguém mantém apodrece rápido.
Perguntas frequentes
Qual a diferença entre incidente, evento adverso e near miss no painel?
Incidente é qualquer ocorrência que poderia ter causado dano ao paciente. Evento adverso é o incidente que efetivamente causou dano. Near miss é o quase-erro que foi barreado antes de atingir o paciente. Misturar os três no mesmo número é um erro comum e destrói a comparabilidade. No modelo de dados, mantenha um campo de classificação e construa medidas separadas para cada categoria, filtrando pelo grau de dano.
Posso calcular a taxa de reinternação inteiramente no Power Query?
Tecnicamente sim, mas raramente é boa ideia quando o volume é real. A lógica de ligar alta índice à reinternação subsequente, com todas as exclusões, fica pesada e frágil no Power Query. O recomendável é preparar essa marcação em uma camada de dados a montante e trazer para o Power BI uma fato já enriquecida, deixando ao modelo apenas a agregação. Isso melhora performance e facilita auditoria.
Como garantir que o painel bata com o número da CCIH?
Fechando a definição junto com a CCIH antes de programar qualquer medida. Numerador, denominador, critérios de inclusão e exclusão e janela precisam ser idênticos. Depois, faça uma conciliação de um período fechado comparando linha a linha até os números coincidirem. Divergência quase sempre é diferença de definição, não erro de fórmula. Sem essa conciliação, o painel vive sob suspeita.
Dado de paciente no Power BI é seguro do ponto de vista da LGPD?
Pode ser, desde que você aplique os controles certos. Use segurança em nível de linha, separe a camada agregada da nominal, restrinja o relatório com dado sensível a quem tem necessidade legítima e mantenha rastreabilidade de acesso. Dado assistencial é dado sensível pela LGPD, então acesso amplo e irrestrito é justamente o que você deve evitar. Governança bem desenhada resolve isso sem travar o uso legítimo.
Preciso do Microsoft Fabric para indicadores de qualidade assistencial?
Não necessariamente. Muitos hospitais entregam indicadores sólidos em Power BI Pro com um bom modelo estrela e uma camada de dados bem feita. O Fabric passa a fazer sentido quando o volume cresce, a atualização precisa ser frequente, muitos usuários consomem e você quer governança integrada com Direct Lake e OneLake. É decisão de escala e maturidade, não pré-requisito.
Com que frequência esses indicadores devem atualizar?
Depende do indicador e da decisão que ele sustenta. Densidade de infecção e eventos adversos costumam trabalhar em competência mensal, com fechamento e revisão. Reinternação também é acompanhada mensalmente, mas painéis operacionais podem atualizar diariamente para sinalizar casos em aberto dentro da janela de 30 dias. O importante é deixar explícito no painel o que é número fechado e o que ainda está em movimento.
Conclusão
Indicador de qualidade assistencial no Power BI não é problema de gráfico, é problema de definição, modelagem e governança. Fecha a ficha técnica com o corpo clínico, modela em esquema estrela, coloca a regra na medida DAX, protege o dado sensível conforme a LGPD e dimensiona a capacidade com honestidade. O painel bonito é consequência, nunca o ponto de partida.
Se você quer construir esses indicadores de um jeito que aguenta auditoria e continua certo com o tempo, fale com a gente. A Fynx entrega Power BI com o rigor que dado de saúde exige.
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