Agent skill · Data & Analytics

extracting-clinical-entities

Run clinical and biomedical named-entity recognition on medical text with OpenMed's analyze_text. Use when the user wants to extract diseases, drugs, anatomy, genes, or other biomedical entities from notes; needs NER output as dict/json/html/csv; wants to filter by confidence, group entities, toggle sentence detection, or save spans to JSONL; or wants the openmed analyze CLI. Pairs with loading-openmed-models and choosing-openmed-models, and runs after deidentifying-clinical-text in a privacy-first pipeline.

maziyarpanahigithub.com/maziyarpanahiGitHub ↗
claude-codeApache-2.0
Install
npx skills add maziyarpanahi/openmed --skill extracting-clinical-entities --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 8 KB
Bundled scripts: none
Version: 1.0
Path: skills/extracting-clinical-entities/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 4,851
Language: Python
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Extracting Clinical Entities `openmed.analyze_text` runs a token-classification model over medical text and returns structured entities with character offsets and confidence scores. It runs **on-device** after a one-time model download. ## When to use - Pull diseases, medications, anatomy, genes, proteins, etc. out of clinical text. - You need exact **character spans** (start/end) plus **confidence** per entity. - You want output as objects, JSON, an HTML highlight view, or CSV. - You are building the "extract entities" stage of a clinical NLP pipeline. To choose a model, see `choosing-openmed-models`. To load it once and reuse it, see `loading-openmed-models`. **In a PHI workflow, de-identify first** (see `deidentifying-clinical-text`), then run NER on the redacted text. ## Install ```bash pip install "openmed[hf]" ``` ## Quick start ```python import openmed note = ( "Patient prescribed 500 mg metformin for type 2 diabetes mellitus. " "Reports intermittent chest pain; ruled out myocardial infarction." ) result = openmed.analyze_text( note, model_name="disease_detection_superclinical", # registry key, HF id, or local path output_format="dict", # dict | json | html | csv confidenc

What's inside
Steps it walks through
  1. When to use
  2. Install
  3. Quick start
  4. Output formats
  5. Key parameters
  6. Save results to JSONL
  7. CLI
  8. Hand-off to / from OpenMed
  9. Edge cases & gotchas
  10. Standards & references
Commands it runs
pip install "openmed[hf]"
openmed analyze --text "Type 2 diabetes managed with metformin." \
Or analyze a file:
openmed analyze --input-file note.txt --model disease_detection_superclinical -o csv
More from openmed
All skills →
About this skill
What does the extracting-clinical-entities skill do?

Run clinical and biomedical named-entity recognition on medical text with OpenMed's analyze_text. Use when the user wants to extract diseases, drugs, anatomy, genes, or other biomedical entities from notes; needs NER output as dict/json/html/csv; wants to filter by confidence, group entities, toggle sentence detection, or save spans to JSONL; or wants the openmed analyze CLI. Pairs with loading-openmed-models and choosing-openmed-models, and runs after deidentifying-clinical-text in a privacy-first pipeline.

How do I install it?

Run `npx skills add maziyarpanahi/openmed --skill extracting-clinical-entities --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.

Keep going