deidentifying-clinical-text
Remove, mask, or replace PHI/PII in clinical free text on-device with OpenMed's deidentify(). Use when the user needs to de-identify medical notes, strip patient identifiers, redact PHI before sharing or analysis, anonymize discharge summaries, or pick a de-id method (mask vs remove vs replace vs hash vs shift_dates). Covers confidence_threshold for safety, consistent+seed for stable surrogates, keep_mapping for reversible de-id, policy= profiles, and the DeidentificationResult fields. Pairs with OpenMed extract_pii (detect spans), reidentify (restore), configuring-privacy-policies, and auditi
npx skills add maziyarpanahi/openmed --skill deidentifying-clinical-text --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# De-identifying clinical text `openmed.deidentify` detects PHI/PII and rewrites the text so it can be shared, stored, or analyzed without exposing patients. It runs **fully on-device** after a one-time model download — no network calls, no telemetry, no raw PHI leaving the process. This is the single most important OpenMed entry point for privacy work; everything else (policies, audit, multilingual, date-shifting) layers on top of it. ## When to use this skill Reach for `deidentify` when you need to transform text — replace, mask, remove, hash, or date-shift the identifiers. If you only need to **locate** PHI spans without changing the text, use `extract_pii` (see `extracting-pii-entities`). To **restore** masked text later, use `reidentify` (see `reidentifying-text`). ## Quick start ```python import openmed note = ( "Patient John Doe (MRN 1234567) was seen on 2024-03-02 by Dr. Alice Reed. " "Contact: john.doe@example.com, 617-555-0142." ) result = openmed.deidentify( note, method="mask", # mask | remove | replace | hash | shift_dates confidence_threshold=0.7, # safety default; raise to reduce false negatives' impact policy="hipaa_safe_harbor", # optional bundled profile (see belo
- When to use this skill
- Quick start
- The five methods
- Workflow
- Consistent surrogates and reversibility
- Hand-off to / from OpenMed
- Edge cases & gotchas
- Standards & references
What does the deidentifying-clinical-text skill do?
Remove, mask, or replace PHI/PII in clinical free text on-device with OpenMed's deidentify(). Use when the user needs to de-identify medical notes, strip patient identifiers, redact PHI before sharing or analysis, anonymize discharge summaries, or pick a de-id method (mask vs remove vs replace vs hash vs shift_dates). Covers confidence_threshold for safety, consistent+seed for stable surrogates, keep_mapping for reversible de-id, policy= profiles, and the DeidentificationResult fields. Pairs with OpenMed extract_pii (detect spans), reidentify (restore), configuring-privacy-policies, and auditi
How do I install it?
Run `npx skills add maziyarpanahi/openmed --skill deidentifying-clinical-text --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From maziyarpanahi/openmed, a repository with 4,851 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
