Communitygithub.com

conformité-phi-soins-de-santé

Modèles de conformité pour les informations de santé protégées (PHI) et les informations personnelles identifiables (PII) dans les applications de soins de santé. Couvre la classification des données, le contrôle d'accès, les pistes d'audit, le chiffrement et les vecteurs de fuite courants. À utiliser lorsque le code touche aux PHI ou PII dans un système de santé, ou lors de l'audit du contrôle d'accès, des pistes d'audit ou des vecteurs de fuite.

Qu'est-ce que conformité-phi-soins-de-santé ?

Ce skill fournit un guide complet de conformité pour la manipulation des données PHI et PII dans les applications de soins de santé, basé sur des réglementations telles que HIPAA (États-Unis), DISHA (Inde) et RGPD (UE). Il couvre trois couches principales : la classification des données (identification des données sensibles), le contrôle d'accès (avec des politiques de sécurité au niveau des lignes - RLS) et les pistes d'audit (journalisation de chaque accès aux PHI). Le skill détaille les vecteurs de fuite courants (messages d'erreur, console, paramètres d'URL, stockage navigateur, clés de service, logs de surveillance) et propose des exemples de code concrets (SQL pour RLS, TypeScript pour la journalisation sécurisée) ainsi qu'une checklist de déploiement. Il est conçu pour les développeurs travaillant avec des systèmes multi-établissements ou multi-locataires et prend en charge les plateformes utilisant des bases de données relationnelles avec RLS et des API authentifiées.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Patterns de Conformité PHI/PII pour les Soins de Santé

Patterns pour protéger les données des patients, des cliniciens et les données financières dans les applications de soins de santé. Applicable à HIPAA (États-Unis), DISHA (Inde), RGPD (UE) et à la protection générale des données de santé.

Quand l'utiliser

  • Construire toute fonctionnalité qui touche aux dossiers des patients
  • Mettre en œuvre le contrôle d'accès ou l'authentification pour les systèmes cliniques
  • Concevoir des schémas de base de données pour les données de santé
  • Construire des API qui renvoient des données de patients ou de cliniciens
  • Mettre en œuvre des pistes d'audit ou des journaux
  • Réviser le code pour les vulnérabilités d'exposition des données
  • Configurer la sécurité au niveau des lignes (RLS) pour les systèmes de santé multi-locataires

Comment ça fonctionne

La protection des données de santé repose sur trois couches : la classification (ce qui est sensible), le contrôle d'accès (qui peut le voir) et la piste d'audit (qui l'a vu).

Classification des données

PHI (Protected Health Information) — toute donnée pouvant identifier un patient ET liée à sa santé : nom du patient, date de naissance, adresse, téléphone, email, numéros d'identification nationaux (SSN, Aadhaar, numéro NHS), numéros de dossier médical, diagnostics, médicaments, résultats de laboratoire, imagerie, détails de la police d'assurance et des réclamations, dossiers de rendez-vous et d'admission, ou toute combinaison de ce qui précède.

PII (données non sensibles pour les patients) dans les systèmes de santé : détails personnels des cliniciens/personnel, structures de frais et montants de rémunération des médecins, salaire des employés et coordonnées bancaires, informations de paiement des fournisseurs.

Contrôle d'accès : Sécurité au niveau des lignes

ALTER TABLE patients ENABLE ROW LEVEL SECURITY;

-- Limiter l'accès par établissement
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')
  ));

-- Piste d'audit : insertion uniquement (inviolable)
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);

Piste d'audit

Chaque accès ou modification de PHI doit être journalisé :

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;
}

Vecteurs de fuite courants

Messages d'erreur : N'incluez jamais de données identifiant le patient dans les messages d'erreur renvoyés au client. Journalisez les détails côté serveur uniquement.

Sortie console : Ne journalisez jamais les objets complets des patients. Utilisez des identifiants de dossier internes opaques (UUID) — pas de numéros de dossier médical, d'identifiants nationaux ou de noms.

Paramètres d'URL : Ne mettez jamais de données identifiant le patient dans les chaînes de requête ou les segments de chemin qui pourraient apparaître dans les journaux ou l'historique du navigateur. Utilisez uniquement des UUID opaques.

Stockage navigateur : Ne stockez jamais de PHI dans localStorage ou sessionStorage. Conservez les PHI uniquement en mémoire, récupérez-les à la demande.

Clés de rôle de service : N'utilisez jamais la clé service_role dans le code côté client. Utilisez toujours la clé anonyme/publique et laissez la RLS appliquer les règles.

Journaux et surveillance : Ne journalisez jamais les dossiers complets des patients. Utilisez uniquement des identifiants de dossier opaques (pas de numéros de dossier médical). Nettoyez les traces de pile avant de les envoyer aux services de suivi des erreurs.

Marquage du schéma de base de données

Marquez les colonnes PHI/PII au niveau du schéma :

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 déploiement

Avant chaque déploiement :

  • Aucune PHI dans les messages d'erreur ou les traces de pile
  • Aucune PHI dans console.log/console.error
  • Aucune PHI dans les paramètres d'URL
  • Aucune PHI dans le stockage du navigateur
  • Aucune clé service_role dans le code client
  • RLS activée sur toutes les tables PHI/PII
  • Piste d'audit pour toutes les modifications de données
  • Temporisation de session configurée
  • Authentification API sur tous les points de terminaison PHI
  • Isolation des données inter-établissements vérifiée

Exemples

Exemple 1 : Gestion des erreurs sûre vs non sûre

// MAUVAIS — divulgue des PHI dans l'erreur
throw new Error(`Patient ${patient.name} not found in ${patient.facility}`);

// BON — erreur générique, détails journalisés côté serveur avec des identifiants opaques uniquement
logger.error('Patient lookup failed', { recordId: patient.id, facilityId });
throw new Error('Record not found');

Exemple 2 : Politique RLS pour l'isolation multi-établissements

-- Un médecin de l'établissement A ne peut pas voir les patients de l'établissement 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()
  ));

-- Test : connectez-vous en tant que médecin-établissement-a, interrogez les patients de l'établissement-b
-- Résultat attendu : 0 lignes retournées

Exemple 3 : Journalisation sûre

// MAUVAIS — journalise les données identifiables du patient
console.log('Processing patient:', patient);

// BON — journalise uniquement l'identifiant de dossier interne opaque
console.log('Processing record:', patient.id);
// Remarque : même patient.id doit être un UUID opaque, pas un numéro de dossier médical

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 associés