openmed
Local-first SDK for clinical extraction and de-identification workflows on hardware you control.
What it is and what it does
OpenMed is a local-first Python SDK for clinical text processing: it extracts medical entities (diseases, drugs, procedures) and detects personally identifiable information (names, addresses, IDs, billing data), then returns de-identified text. The core runtime runs on your hardware after required model artifacts are available; model downloads, remote adapters, and user-configured integrations may use the network. It depends on faker, jieba, pysbd, and pyyaml for text processing and data generation.
The package targets Python 3.10+ and ships as a pure wheel. It supports multiple deployment surfaces—Python, Swift/MLX on Apple Silicon, Android/ONNX Runtime Mobile, and browser/Transformers.js—though the PyPI package itself is the Python runtime. Deployment owners are responsible for validating each model's terms, privacy behavior, and clinical fitness; using the SDK does not itself establish HIPAA compliance.
Use it for:
- De-identify clinical discharge notes or EHR text before sharing with research teams or external systems
- Extract structured medical entities (diagnoses, medications, procedures) from unstructured clinical narratives
- Build a local clinical NLP pipeline that never sends patient data to a cloud API
- Integrate clinical text processing into healthcare applications on Apple Silicon or Android devices
- Validate and redact PII from synthetic or real clinical documents for compliance workflows
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extracts medical entities and personally identifiable information from clinical text, then de-identifies it—all running locally on your hardware after required model artifacts are available.
Yes, if you need local clinical text extraction and de-identification and can validate model terms for your deployment. Low install friction, active maintenance, permissive license, and no known vulnerabilities. Requires upfront work to acquire and validate model artifacts and confirm clinical fitness for your use case—this is not a plug-and-play compliance tool.
Install
openmed on PyPI
pip
pip install openmeduv
uv add openmedpoetry
poetry add openmedInstalling openmed
Before you install
Low friction: pure Python wheel with four runtime dependencies (faker, jieba, pysbd, pyyaml). Active maintenance—released 2 days ago. Requires Python 3.10+.
License in practice
Apache-2.0 permissive license on the SDK source itself. Model and dataset terms vary separately; deployment owners must validate each model's license, privacy behavior, and clinical fitness for their use case.
Quickstart
pip install openmed
from openmed import analyze_text
result = analyze_text(
"Patient started on imatinib for chronic myeloid leukemia.",
model_name="disease_detection_superclinical",
)
for entity in result.entities:
print(f"{entity.label} {entity.text} {entity.confidence}")
Requires Python 3.10+. Model artifacts must be available before analyze_text() is called; the package does not bundle them—you must download or configure them separately.
Verify before relying
- Whether model artifacts are bundled with the package or must be downloaded separately on first use
- Actual latency and throughput for typical clinical documents on standard CPU hardware
- Whether the package alone achieves HIPAA compliance or requires additional deployment configuration
- Whether all 33 supported languages are available in the base package or require separate model downloads
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — faker, jieba, pysbd, pyyaml |
| Maintenance | actively maintained — 2 days since the last release |
| First released | |
| Downloads | 3,975,274/month — #2,432 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: openmed-2.1.0-py3-none-any.whl
Keywords: LLM, NLP, biomedical, clinical, healthcare, medical, medical LLMs, medical NER, medical NLP, medical de-identification, medical extraction, medical language models, medical reasoning, natural language processing
Tags
More Artificial Intelligence packages
LiteLLM provides a unified Python interface to…
permissive · top 100 on PyPI
huggingface-hubClient library and CLI tool for downloading,…
permissive · top 100 on PyPI
langchainLangChain provides a framework for building…
permissive · top 1,000 on PyPI
hf-xethf-xet provides chunk-based deduplication and…
permissive · top 1,000 on PyPI
tokenizersTokenizers converts raw text into token…
permissive · top 1,000 on PyPI
transformersTransformers provides a unified framework for…
permissive · top 1,000 on PyPI
carelyticsCarelytics provides healthcare data cleaning,…
permissive · top 15,000 on PyPI
gliner2GLiNER2 extracts entities, classifies text,…
permissive · top 15,000 on PyPI
presidio-image-redactorDetects and redacts personally identifiable…
permissive · top 15,000 on PyPI
presidio-analyzerDetects personally identifiable information…
permissive · top 5,000 on PyPI
argus-redactDetects and redacts personally identifiable…
permissive · top 15,000 on PyPI
glinerGLiNER is a lightweight framework for named…
permissive · top 15,000 on PyPI
hl7Parses HL7 version 2.x medical messages into…
permissive · top 15,000 on PyPI
emrvalidatorEMRValidator is a data validation library…
permissive · top 15,000 on PyPI
simple-icd-10-cmProvides Python functions to validate,…
permissive · top 15,000 on PyPI
icd-mappingsMaps ICD diagnostic codes between versions…
permissive · top 15,000 on PyPI