Communitygithub.com

Cumplimiento PHI/PII en Salud

Patrones de cumplimiento para Información de Salud Protegida (PHI) e Información de Identificación Personal (PII) en aplicaciones sanitarias. Cubre clasificación de datos, control de acceso, pistas de auditoría, cifrado y vectores de fuga comunes.

¿Qué es PII en Salud?

Este skill proporciona un conjunto completo de patrones diseñados para proteger datos de pacientes, datos clínicos y datos financieros en aplicaciones de salud. Es aplicable a regulaciones como HIPAA (EE. UU.), DISHA (India), GDPR (UE) y otras normativas generales de protección de datos sanitarios. La funcionalidad se basa en tres capas fundamentales: clasificación (identificar qué datos son sensibles), control de acceso (determinar quién puede verlos) y auditoría (registrar quién los ha visto). Para desarrolladores que trabajan con bases de datos PostgreSQL, el skill incluye ejemplos concretos de políticas de Seguridad a Nivel de Fila (RLS) para aislar datos entre instalaciones, esquemas de pistas de auditoría a prueba de manipulaciones y etiquetado de columnas PHI/PII a nivel de esquema. Además, cubre vectores de fuga comunes como mensajes de error, parámetros URL, almacenamiento en navegador y claves de servicio, proporcionando listas de verificación prácticas para cada despliegue. Este skill es esencial para cualquier equipo que desarrolle o audite sistemas que manejen información sensible de pacientes, asegurando que el código cumpla con las normativas de privacidad y seguridad.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Patrones de Cumplimiento PHI/PII en Salud

Patrones para proteger datos de pacientes, datos clínicos y datos financieros en aplicaciones de salud. Aplicables a HIPAA (EE. UU.), DISHA (India), GDPR (UE) y protección general de datos sanitarios.

Cuándo Usar

  • Al construir cualquier característica que toque registros de pacientes
  • Al implementar control de acceso o autenticación para sistemas clínicos
  • Al diseñar esquemas de bases de datos para datos sanitarios
  • Al construir APIs que devuelvan datos de pacientes o clínicos
  • Al implementar pistas de auditoría o registro de actividades
  • Al revisar código en busca de vulnerabilidades de exposición de datos
  • Al configurar Seguridad a Nivel de Fila (RLS) para sistemas sanitarios multi-instalación

Cómo Funciona

La protección de datos sanitarios opera en tres capas: clasificación (qué es sensible), control de acceso (quién puede verlo) y auditoría (quién lo vio).

Clasificación de Datos

PHI (Información de Salud Protegida) — cualquier dato que pueda identificar a un paciente Y se relacione con su salud: nombre del paciente, fecha de nacimiento, dirección, teléfono, correo electrónico, números de identificación nacional (SSN, Aadhaar, número NHS), números de historial médico, diagnósticos, medicamentos, resultados de laboratorio, imágenes, detalles de pólizas y reclamaciones de seguros, registros de citas y admisiones, o cualquier combinación de lo anterior.

PII (Datos no sensibles de pacientes) en sistemas sanitarios: datos personales de clínicos/personal, estructuras de honorarios de médicos y montos de pago, salarios de empleados y datos bancarios, información de pago a proveedores.

Control de Acceso: Seguridad a Nivel de Fila

ALTER TABLE patients ENABLE ROW LEVEL SECURITY;

-- Limitar acceso por instalación
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')
  ));

-- Registro de auditoría: solo inserción (a prueba de manipulaciones)
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);

Pista de Auditoría

Cada acceso o modificación de PHI debe 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;
}

Vectores de Fuga Comunes

Mensajes de error: Nunca incluir datos que identifiquen al paciente en mensajes de error enviados al cliente. Registrar detalles solo en el servidor.

Salida de consola: Nunca registrar objetos completos de pacientes. Usar identificadores internos opacos (UUIDs) — no números de historial médico, identificaciones nacionales o nombres.

Parámetros URL: Nunca poner datos que identifiquen al paciente en cadenas de consulta o segmentos de ruta que puedan aparecer en registros o en el historial del navegador. Usar solo UUIDs opacos.

Almacenamiento del navegador: Nunca almacenar PHI en localStorage o sessionStorage. Mantener PHI solo en memoria, obtener bajo demanda.

Claves de rol de servicio: Nunca usar la clave service_role en código del lado del cliente. Usar siempre la clave anónima/pública y dejar que RLS aplique el control de acceso.

Registros y monitoreo: Nunca registrar registros completos de pacientes. Usar solo identificadores de registro opacos (no números de historial médico). Sanitizar trazas de pila antes de enviarlas a servicios de seguimiento de errores.

Etiquetado de Esquema de Base de Datos

Marcar columnas PHI/PII a nivel de 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 Verificación de Despliegue

Antes de cada despliegue:

  • Sin PHI en mensajes de error o trazas de pila
  • Sin PHI en console.log/console.error
  • Sin PHI en parámetros URL
  • Sin PHI en almacenamiento del navegador
  • Sin clave service_role en código del cliente
  • RLS habilitado en todas las tablas PHI/PII
  • Pista de auditoría para todas las modificaciones de datos
  • Tiempo de espera de sesión configurado
  • Autenticación API en todos los endpoints PHI
  • Aislamiento de datos entre instalaciones verificado

Ejemplos

Ejemplo 1: Manejo de Errores Seguro vs. Inseguro

// MALO — filtra PHI en el error
throw new Error(`Paciente ${patient.name} no encontrado en ${patient.facility}`);

// BUENO — error genérico, detalles registrados en el servidor con identificadores opacos
logger.error('Falló búsqueda de paciente', { recordId: patient.id, facilityId });
throw new Error('Registro no encontrado');

Ejemplo 2: Política RLS para Aislamiento Multi-Instalación

-- El médico de la Instalación A no puede ver pacientes de la Instalación B
CREATE POLICY "facility_isolation"
  ON patients FOR SELECT TO authenticated
  USING (facility_id IN (
    SELECT facility_id FROM staff_assignments WHERE user_id = auth.uid()
  ));

-- Prueba: iniciar sesión como medico-instalacion-a, consultar pacientes de instalacion-b
-- Resultado esperado: 0 filas devueltas

Ejemplo 3: Registro Seguro

// MALO — registra datos identificables del paciente
console.log('Procesando paciente:', patient);

// BUENO — registra solo el identificador interno opaco
console.log('Procesando registro:', patient.id);
// Nota: incluso patient.id debe ser un UUID opaco, no un número de historial médico

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.

Skills relacionados