PHI-redacted clinical data export from HealthEx via MCP Python SDK. Writes redacted JSON/NDJSON snapshots before disk ingest. Invoke when pulling fresh source-of-truth data, not local FHIR store.
How this skill is triggered — by the user, by Claude, or both
Slash command
/healthclaw-guardrails:healthex-export-redactedThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
`scripts/export_healthex_mcp.py` is the current HealthEx pull path. It:
scripts/export_healthex_mcp.py is the current HealthEx pull path. It:
https://api.healthex.io/mcpupdate_records + check_records_status to refreshget_health_summary, get_conditions,
get_medications, get_allergies, get_immunizations, get_vitals,
get_labs, get_procedures, get_visits, search_clinical_notes)scripts/healthclaw_redact.py, which mirrors the HealthClaw guardrail
proxy's redaction rulesThe raw MCP response is never written. Only the redacted payload goes to disk.
# Set the HealthEx token (use macOS Keychain on the Mac mini)
export HEALTHEX_AUTH_TOKEN="$(security find-generic-password -s healthex -w)"
# Default — all tools, local redaction, single JSON file
python scripts/export_healthex_mcp.py \
--tenant-id my-tenant \
--output exports/healthex-$(date +%Y-%m-%d).json
# NDJSON (one line per FHIR resource — easier to diff / grep)
python scripts/export_healthex_mcp.py \
--tenant-id my-tenant \
--output exports/healthex-$(date +%Y-%m-%d).ndjson
# Only the tools you need
python scripts/export_healthex_mcp.py \
--tenant-id my-tenant \
--output exports/labs-only.json \
--tools get_labs get_conditions
# Proxy mode — redact via a running HealthClaw guardrail server instead
python scripts/export_healthex_mcp.py \
--tenant-id my-tenant \
--output exports/snap.json \
--redact-mode proxy \
--healthclaw-url https://healthclaw.io
# Synthetic-only escape hatch (keeps PHI in output — NEVER use on real data)
python scripts/export_healthex_mcp.py \
--tenant-id desktop-demo \
--output exports/demo-raw.json \
--no-redact
| Field | Rule |
|---|---|
HumanName.given / family / text | Collapsed to initials ("E. V.") |
Address.line / city / postalCode | Dropped (state + country kept) |
Identifier.value (MRN, member, subscriber) | SHA-256, optional HEALTHCLAW_REDACT_SALT |
birthDate | Truncated to YYYY |
telecom[].value (phone / email / fax / sms) | Replaced with "***" |
Patient.photo | Removed entirely |
text.div narrative | Emptied |
note[] (Condition / Observation / …) | Emptied |
| Generic flat-dict PHI keys (ssn, dob, …) | Wiped at any nesting depth |
code.coding, valueQuantity, dates | Preserved — clinical signal intact |
_meta.redaction_stats in the output counts every redaction performed.
Bots call this via the /export slash command registered in
scripts/bot_commands.py → cmd_export(). The bot resolves
HEALTHEX_AUTH_TOKEN from (1) environment, (2) macOS Keychain service
healthex. Output lands in ~/.healthclaw/exports/healthex-<date>.json.
Typical end-to-end flow over Telegram:
/export — pulls HealthEx, redacts, writes bundle/import <path printed by /export> — ingests into local HealthClaw/conditions / /labs / /summary — agent reads from local storetests/test_healthclaw_redact.py exercises both the redaction rules and the
end-to-end export flow against a mocked MCP session. Part of the CI suite:
uv run python -m pytest tests/test_healthclaw_redact.py -v
For a one-off CLI check without pytest, scripts/smoke_test.py runs the same
assertions and prints a redaction summary.
healthex-export (legacy)The older healthex-export skill and scripts/export_healthex_legacy.py
pull from the local HealthClaw FHIR store via direct REST. Keep for
tenant-to-tenant copies. Use this skill when the source of truth is
HealthEx itself and you want the MCP SDK + in-process redaction.
npx claudepluginhub aks129/healthclawguardrails --plugin healthclaw-guardrailsExports personal health records from a local HealthClaw FHIR store as a portable FHIR R4 bundle with de-identification and optional cross-tenant import.
PHI/PII compliance patterns for healthcare apps covering data classification, row-level security, audit trails, encryption, and common leak vectors.
Data classification, access control, audit trails, and leak vectors for PHI/PII in healthcare applications. Use when building patient-facing features or reviewing data exposure.