Communitygithub.com

Conformidade PHI/PII para Saúde

Padrões de conformidade para Informações Protegidas de Saúde (PHI) e Informações Pessoalmente Identificáveis (PII) em aplicações de saúde. Abrange classificação de dados, controle de acesso, trilhas de auditoria, criptografia e vetores comuns de vazamento.

O que é PII para Saúde?

Este skill fornece um conjunto de padrões de segurança e conformidade para proteger dados de pacientes, clínicos e financeiros em aplicações de saúde. Baseia-se em frameworks regulatórios como HIPAA (EUA), DISHA (Índia) e GDPR (UE), sendo útil para qualquer desenvolvedor ou auditor que trabalhe com dados sensíveis no setor. O skill orienta sobre três camadas essenciais: classificação de dados (o que é sensível), controle de acesso (quem pode ver) e auditoria (quem viu). Também aborda vetores comuns de vazamento, como mensagens de erro, logs, parâmetros de URL e armazenamento no navegador. Além disso, inclui exemplos práticos de implementação de segurança em nível de linha (RLS) com SQL, definição de trilhas de auditoria, uso seguro de logs e comentários de esquema de banco de dados, garantindo que o código seja seguro e esteja em conformidade com as regulamentações de proteção de dados.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/everything-claude-code/tree/main/skills/healthcare-phi-compliance

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Padrões de Conformidade PHI/PII para Saúde

Padrões para proteger dados de pacientes, clínicos e financeiros em aplicações de saúde. Aplicáveis a HIPAA (EUA), DISHA (Índia), GDPR (UE) e proteção geral de dados de saúde.

Quando Usar

  • Construir qualquer recurso que toque em prontuários 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 clínicos
  • Implementar trilhas de auditoria ou registro de 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-instituição

Como Funciona

A proteção de dados de 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 Protegidas de Saúde) — qualquer dado que possa identificar um paciente E esteja relacionado à sua saúde: nome do paciente, data de nascimento, endereço, telefone, e-mail, números de identificação nacionais (SSN, Aadhaar, número NHS), números de prontuário, diagnósticos, medicamentos, resultados de exames, imagens, detalhes de apólices e sinistros, registros de consultas e internações, ou qualquer combinação dos itens acima.

PII (Informações Pessoalmente Identificáveis não sensíveis a pacientes) em sistemas de saúde: dados pessoais de clínicos/funcionários, tabelas de honorários médicos e valores de pagamento, salários e dados bancários de funcionários, informações de pagamento a fornecedores.

Controle de Acesso: Segurança em Nível de Linha

ALTER TABLE patients ENABLE ROW LEVEL SECURITY;

-- Escopo de acesso por instituição
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')
  ));

-- Log de auditoria: apenas inserção (à prova de adulteração)
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 que identifiquem pacientes em mensagens de erro enviadas ao cliente. Registre os detalhes apenas no servidor.

Saída de console: Nunca registre objetos completos de pacientes. Use identificadores internos opacos (UUIDs) — não números de prontuário, IDs nacionais ou nomes.

Parâmetros de URL: Nunca coloque dados que identifiquem pacientes em strings de consulta ou segmentos de caminho que possam aparecer em logs ou no histórico do navegador. Use apenas UUIDs opacos.

Armazenamento do navegador: Nunca armazene PHI em localStorage ou sessionStorage. Mantenha PHI apenas em memória, buscando sob demanda.

Chaves de função de serviço: Nunca use a chave service_role no código do lado do cliente. Sempre use a chave anônima/pública e deixe o RLS aplicar o controle de acesso.

Logs e monitoramento: Nunca registre prontuários completos de pacientes. Use apenas IDs de registro opacos (não números de prontuário). Sanitize stack traces 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';

Lista de Verificação para Implantação

Antes de cada implantação:

  • Sem PHI em mensagens de erro ou stack traces
  • Sem PHI em console.log/console.error
  • Sem PHI em parâmetros de URL
  • Sem PHI em armazenamento do navegador
  • Sem chave service_role no código do cliente
  • RLS habilitado em todas as tabelas com 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 instituições verificado

Exemplos

Exemplo 1: Tratamento de Erros Seguro vs Inseguro

// RUIM — vaza PHI no erro
throw new Error(`Paciente ${patient.name} não encontrado em ${patient.facility}`);

// BOM — erro genérico, detalhes registrados no servidor com IDs opacos apenas
logger.error('Falha na busca do paciente', { recordId: patient.id, facilityId });
throw new Error('Registro não encontrado');

Exemplo 2: Política RLS para Isolamento Multi-Instituição

-- Médico da Instituição A não consegue ver pacientes da Instituição B
CREATE POLICY "isolamento_instituicao"
  ON patients FOR SELECT TO authenticated
  USING (facility_id IN (
    SELECT facility_id FROM staff_assignments WHERE user_id = auth.uid()
  ));

-- Teste: login como medico-instituicao-a, consultar pacientes da instituicao-b
-- Esperado: 0 linhas retornadas

Exemplo 3: Registro Seguro de Logs

// RUIM — registra dados identificáveis do paciente
console.log('Processando paciente:', patient);

// BOM — registra apenas o ID de registro interno opaco
console.log('Processando registro:', patient.id);
// Nota: mesmo patient.id deve ser um UUID opaco, não um número de prontuário

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/claude-api

Anthropic Claude API patterns for Python and TypeScript. Covers Messages API, streaming, tool use, vision, extended thinking, batches, prompt caching, and Claude Agent SDK. Use when building applications with the Claude API or Anthropic SDKs.

affaan-m/everything-claude-code

End-to-end marketing campaign planning and execution. Covers audience research, positioning, campaign angle definition, landing page copy, email sequences, social posts, ad copy, short-form video scripts, and content calendars. Use as the orchestration layer for multi-channel product launches. Use when planning or executing a multi-channel product launch, or producing landing page, email, social, or ad copy.

affaan-m/everything-claude-code

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/everything-claude-code-conventions

Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.

affaan-m/frontend-design

Create distinctive, production-grade frontend interfaces with high design quality. Use when the user asks to build web components, pages, or applications and the visual direction matters as much as the code quality.

affaan-m/gget

gget CLI and Python workflow for quick genomic database queries, sequence lookup, BLAST-style searches, enrichment checks, and reproducible bioinformatics evidence logs.

affaan-m/literature-review

Systematic literature-review workflow for academic, biomedical, technical, and scientific topics, including search planning, source screening, synthesis, citation checks, and evidence logging.

affaan-m/motion-ui

Production-ready UI motion system for React/Next.js. Use when implementing animations, transitions, or motion patterns.

affaan-m/project-guidelines-example

Example project-specific skill template based on a real production application.

affaan-m/pubmed-database

Direct PubMed and NCBI E-utilities search workflows for biomedical literature, MeSH queries, PMID lookup, citation retrieval, and API-backed literature monitoring.

affaan-m/scholar-evaluation

Structured scholarly-work evaluation for papers, proposals, literature reviews, methods sections, evidence quality, citation support, and research-writing feedback.

affaan-m/uspto-database

USPTO patent and trademark data workflow for official record lookup, PatentSearch queries, TSDR checks, assignment data, and reproducible IP research logs.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

Habilidades Relacionadas