Communitygithub.com

Healthcare PHI/PII Compliance

Muster für den Schutz von geschützten Gesundheitsinformationen (PHI) und personenbezogenen Daten (PII) in Gesundheitsanwendungen. Behandelt Datenklassifikation, Zugriffskontrolle, Audit-Trails, Verschlüsselung und häufige Leckvektoren. Verwenden Sie dies, wenn Code PHI oder PII in einem Gesundheitssystem berührt, oder wenn Sie Zugriffskontrolle, Audit-Trails oder Leckvektoren prüfen.

Was ist PII Compliance?

Dieses Skill definiert Muster und Praktiken zum Schutz von Patientendaten, klinischen Daten und Finanzdaten in Gesundheitsanwendungen gemäß HIPAA (USA), DISHA (Indien), DSGVO (EU) und allgemeinen Datenschutzbestimmungen. Es behandelt die drei Hauptschichten des Datenschutzes: Datenklassifikation (Identifikation von PHI und PII), Zugriffskontrolle (Row-Level Security) und Audit-Trails. Das Skill enthält detaillierte Anleitungen zur Kennzeichnung sensibler Spalten in Datenbankschemata, zur Vermeidung häufiger Leckvektoren wie Fehlermeldungen, Konsolenausgaben, URL-Parametern und Browser-Speicher sowie zur Implementierung von RLS-Richtlinien für Multi-Facility-Isolation. Es unterstützt Entwickler bei der Sicherstellung, dass vor jeder Bereitstellung keine PHI in Fehlermeldungen, Logs oder URLs auftauchen und dass alle Datenänderungen protokolliert werden.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Healthcare PHI/PII Compliance Patterns

Patterns zum Schutz von Patientendaten, klinischen Daten und Finanzdaten in Gesundheitsanwendungen. Anwendbar auf HIPAA (USA), DISHA (Indien), DSGVO (EU) und allgemeinen Datenschutz im Gesundheitswesen.

Wann verwenden

  • Beim Erstellen einer Funktion, die Patientenakten berührt
  • Bei der Implementierung von Zugriffskontrolle oder Authentifizierung für klinische Systeme
  • Beim Entwerfen von Datenbankschemata für Gesundheitsdaten
  • Beim Erstellen von APIs, die Patienten- oder klinische Daten zurückgeben
  • Bei der Implementierung von Audit-Trails oder Protokollierung
  • Beim Überprüfen von Code auf Datenexpositionsschwachstellen
  • Beim Einrichten von Row-Level Security (RLS) für Multi-Tenant-Gesundheitssysteme

Wie es funktioniert

Der Datenschutz im Gesundheitswesen arbeitet auf drei Ebenen: Klassifikation (was ist sensibel), Zugriffskontrolle (wer kann es sehen) und Audit (wer hat es gesehen).

Datenklassifikation

PHI (Protected Health Information) — alle Daten, die einen Patienten identifizieren können UND sich auf seine Gesundheit beziehen: Patientenname, Geburtsdatum, Adresse, Telefon, E-Mail, nationale ID-Nummern (SSN, Aadhaar, NHS-Nummer), Krankenaktennummern, Diagnosen, Medikamente, Laborergebnisse, Bildgebung, Versicherungspolicen- und Schadensdetails, Termin- und Aufnahmerekorde oder jede Kombination der genannten.

PII (Nicht-patientenbezogene sensible Daten) in Gesundheitssystemen: persönliche Details von Klinikern/Personal, Arzt-Honorarstrukturen und Auszahlungsbeträge, Mitarbeitergehälter und Bankdaten, Zahlungsinformationen von Lieferanten.

Zugriffskontrolle: Row-Level Security

ALTER TABLE patients ENABLE ROW LEVEL SECURITY;

-- Zugriff auf Einrichtung beschränken
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: Nur-Einfügen (manipulationssicher)
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);

Audit-Trail

Jeder PHI-Zugriff oder jede PHI-Änderung muss protokolliert werden:

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

Häufige Leckvektoren

Fehlermeldungen: Niemals patientenidentifizierende Daten in Fehlermeldungen einbeziehen, die an den Client gesendet werden. Details nur serverseitig protokollieren.

Konsolenausgabe: Niemals vollständige Patientenobjekte protokollieren. Undurchsichtige interne Datensatz-IDs (UUIDs) verwenden – keine medizinischen Aktennummern, nationalen IDs oder Namen.

URL-Parameter: Niemals patientenidentifizierende Daten in Query-Strings oder Pfadsegmenten platzieren, die in Logs oder dem Browserverlauf auftauchen könnten. Nur undurchsichtige UUIDs verwenden.

Browser-Speicher: Niemals PHI in localStorage oder sessionStorage speichern. PHI nur im Arbeitsspeicher halten, bei Bedarf abrufen.

Service-Rollen-Schlüssel: Niemals den service_role-Schlüssel im clientseitigen Code verwenden. Immer den anon/publishable Schlüssel verwenden und RLS den Zugriff erzwingen lassen.

Logs und Überwachung: Niemals vollständige Patientenakten protokollieren. Nur undurchsichtige Datensatz-IDs verwenden (keine medizinischen Aktennummern). Stack-Traces bereinigen, bevor sie an Fehlerverfolgungsdienste gesendet werden.

Datenbank-Schema-Kennzeichnung

PHI/PII-Spalten auf Schemaebene markieren:

COMMENT ON COLUMN patients.name IS 'PHI: patienten_name';
COMMENT ON COLUMN patients.dob IS 'PHI: geburtsdatum';
COMMENT ON COLUMN patients.aadhaar IS 'PHI: national_id';
COMMENT ON COLUMN doctor_payouts.amount IS 'PII: finanziell';

Bereitstellungs-Checkliste

Vor jeder Bereitstellung:

  • Kein PHI in Fehlermeldungen oder Stack-Traces
  • Kein PHI in console.log/console.error
  • Kein PHI in URL-Parametern
  • Kein PHI im Browser-Speicher
  • Kein service_role-Schlüssel im Client-Code
  • RLS auf allen PHI/PII-Tabellen aktiviert
  • Audit-Trail für alle Datenänderungen
  • Sitzungstimeout konfiguriert
  • API-Authentifizierung an allen PHI-Endpunkten
  • Datenisolation zwischen Einrichtungen verifiziert

Beispiele

Beispiel 1: Sichere vs. unsichere Fehlerbehandlung

// SCHLECHT – gibt PHI im Fehler preis
throw new Error(`Patient ${patient.name} nicht in ${patient.facility} gefunden`);

// GUT – generischer Fehler, Details serverseitig mit undurchsichtigen IDs protokolliert
logger.error('Patientensuche fehlgeschlagen', { recordId: patient.id, facilityId });
throw new Error('Datensatz nicht gefunden');

Beispiel 2: RLS-Richtlinie für Multi-Facility-Isolation

-- Arzt in Einrichtung A kann keine Patienten von Einrichtung B sehen
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: als arzt-einrichtung-a anmelden, Patienten von Einrichtung b abfragen
-- Erwartet: 0 Zeilen zurückgegeben

Beispiel 3: Sicheres Logging

// SCHLECHT – protokolliert identifizierbare Patientendaten
console.log('Verarbeite Patient:', patient);

// GUT – protokolliert nur undurchsichtige interne Datensatz-ID
console.log('Verarbeite Datensatz:', patient.id);
// Hinweis: selbst patient.id sollte eine undurchsichtige UUID sein, keine medizinische Aktennummer

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.

Verwandte Skills