healthcare-phi-compliance
Garante a conformidade com leis de proteção de dados de saúde (PHI/PII) em aplicações médicas.
O que ela faz
Esta ferramenta ajuda a proteger informações sensíveis de pacientes e médicos em aplicativos de saúde. Ela garante que apenas pessoas autorizadas vejam esses dados e que tudo seja registrado para segurança.
Quando usar
- ✓Ao criar funções que lidam com dados de pacientes.
- ✓Ao configurar quem pode ver ou alterar informações médicas.
- ✓Ao verificar se dados de saúde não estão sendo expostos indevidamente.
Exemplo do que pedir para a IA
“Como posso garantir que apenas médicos autorizados vejam os dados de um paciente específico?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ela funciona classificando o que é informação sensível, controlando quem pode acessar esses dados (como em um prédio com crachás) e registrando quem acessou o quê (como um livro de ocorrências).
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add affaan-m/ECC --skill healthcare-phi-complianceOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/healthcare-phi-compliance/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Padrões de Conformidade de PHI/PII em Saúde
Padrões para proteger dados de pacientes, dados de médicos e dados financeiros em aplicações de saúde. Aplicável a HIPAA (EUA), DISHA (Índia), GDPR (UE) e proteção geral de dados em saúde.
Quando Usar
- Construir qualquer funcionalidade que toque em registros de pacientes
- Implementar controle de acesso ou autenticação para sistemas clínicos
- Projetar esquemas de banco de dados para dados de saúde
- Construir APIs que retornam dados de pacientes ou médicos
- Implementar trilhas de auditoria ou logs
- Revisar código em busca de vulnerabilidades de exposição de dados
- Configurar Segurança em Nível de Linha (RLS) para sistemas de saúde multi-inquilino
Como Funciona
A proteção de dados em saúde opera em três camadas: classificação (o que é sensível), controle de acesso (quem pode ver) e auditoria (quem viu).
Classificação de Dados
PHI (Informações de Saúde Protegidas) — quaisquer dados que possam identificar um paciente E se relacionem à sua saúde: nome do paciente, data de nascimento, endereço, telefone, e-mail, números de identificação nacional (SSN, Aadhaar, número NHS), números de registro médico, diagnósticos, medicamentos, resultados de exames, imagens, detalhes de apólices de seguro e sinistros, registros de consultas e internações, ou qualquer combinação dos itens acima.
PII (Dados não sensíveis ao paciente) em sistemas de saúde: detalhes pessoais de médicos/funcionários, estruturas de honorários médicos e valores de pagamento, salário de funcionários e detalhes bancários, informações de pagamento de fornecedores.
Controle de Acesso: Segurança em Nível de Linha
ALTER TABLE patients ENABLE ROW LEVEL SECURITY;
-- Scope access by facility
CREATE POLICY "staff_read_own_facility"
ON patients FOR SELECT TO authenticated
USING (facility_id IN (
SELECT facility_id FROM staff_assignments
WHERE user_id = auth.uid() AND role IN ('doctor','nurse','lab_tech','admin')
));
-- Audit log: insert-only (tamper-proof)
CREATE POLICY "audit_insert_only" ON audit_log FOR INSERT
TO authenticated WITH CHECK (user_id = auth.uid());
CREATE POLICY "audit_no_modify" ON audit_log FOR UPDATE USING (false);
CREATE POLICY "audit_no_delete" ON audit_log FOR DELETE USING (false);
Trilha de Auditoria
Todo acesso ou modificação de PHI deve ser registrado:
interface AuditEntry {
timestamp: string;
user_id: string;
patient_id: string;
action: 'create' | 'read' | 'update' | 'delete' | 'print' | 'export';
resource_type: string;
resource_id: string;
changes?: { before: object; after: object };
ip_address: string;
session_id: string;
}
Vetores Comuns de Vazamento
Mensagens de erro: Nunca inclua dados de identificação de pacientes em mensagens de erro exibidas ao cliente. Registre os detalhes apenas no lado do servidor.
Saída do console: Nunca registre objetos completos de pacientes. Use IDs de registro internos opacos (UUIDs) — não números de registro médico, IDs nacionais ou nomes.
Parâmetros de URL: Nunca coloque dados de identificação de pacientes em strings de consulta ou segmentos de caminho que possam aparecer em logs ou histórico do navegador. Use apenas UUIDs opacos.
Armazenamento do navegador: Nunca armazene PHI em localStorage ou sessionStorage. Mantenha o PHI apenas na memória, busque sob demanda.
Chaves de função de serviço: Nunca use a chave service_role em código do lado do cliente. Sempre use a chave anon/publishable e deixe o RLS impor o acesso.
Logs e monitoramento: Nunca registre registros completos de pacientes. Use apenas IDs de registro opacos (não números de registro médico). Limpe os rastros de pilha antes de enviar para serviços de rastreamento de erros.
Marcação de Esquema de Banco de Dados
Marque colunas PHI/PII no nível do esquema:
COMMENT ON COLUMN patients.name IS 'PHI: patient_name';
COMMENT ON COLUMN patients.dob IS 'PHI: date_of_birth';
COMMENT ON COLUMN patients.aadhaar IS 'PHI: national_id';
COMMENT ON COLUMN doctor_payouts.amount IS 'PII: financial';
Checklist de Implantação
Antes de cada implantação:
- Sem PHI em mensagens de erro ou rastros de pilha
- Sem PHI em console.log/console.error
- Sem PHI em parâmetros de URL
- Sem PHI em armazenamento do navegador
- Sem chave
service_roleem código do cliente - RLS habilitado em todas as tabelas PHI/PII
- Trilha de auditoria para todas as modificações de dados
- Tempo limite de sessão configurado
- Autenticação de API em todos os endpoints de PHI
- Isolamento de dados entre instalações verificado
Exemplos
Exemplo 1: Tratamento de Erro Seguro vs. Inseguro
// BAD — leaks PHI in error
throw new Error(`Patient ${patient.name} not found in ${patient.facility}`);
// GOOD — generic error, details logged server-side with opaque IDs only
logger.error('Patient lookup failed', { recordId: patient.id, facilityId });
throw new Error('Record not found');
…
Perguntas frequentes
O que são PHI e PII?
PHI (Informação Protegida de Saúde) são dados que identificam um paciente e se relacionam à sua saúde (nome, diagnóstico). PII (Informação Pessoal Identificável) são dados sensíveis de funcionários ou financeiros do sistema de saúde (salário, pagamentos).
O que é controle de acesso em nível de linha (RLS)?
É como um porteiro que verifica o crachá de cada pessoa e só deixa entrar na sala (linha de dados) se o crachá for válido para aquela sala específica, garantindo que cada um veja apenas o que lhe compete.
Por que não devo colocar dados de pacientes em logs ou URLs?
Porque logs e URLs podem ser vistos por mais pessoas do que o pretendido, expondo informações sensíveis de saúde que deveriam ser mantidas em segredo.
Detalhes
Descrição original do autor
Protected Health Information (PHI) and PII compliance patterns for healthcare applications: data classification, row-level access control, tamper-proof audit trails, schema tagging, and common leak vectors such as logs, URLs, and browser storage. Use when code touches patient or clinician data, when implementing HIPAA or GDPR access controls, or when auditing a healthcare system for data exposure.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #203
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
template-skill
Este é um modelo genérico para novas habilidades. Ele precisa de uma descrição específica para ser útil.
anthropics/skills
shipping-and-launch
Prepara seu código para ser lançado em produção com segurança. Ajuda a garantir que tudo esteja pronto, monitorado e com um plano de volta.
addyosmani/agent-skills
using-agent-skills
Faz seu agente descobrir e usar outras habilidades. É útil para decidir qual ferramenta ou fluxo de trabalho usar para uma tarefa específica.
addyosmani/agent-skills