OpenMed 2.0.0 · on-device clinical AI

Your data. Your model. Your hardware.

OpenMed reads clinical text and removes 55+ PHI types on the hardware you control, so patient data never leaves the device. 2,000+ Apache-2.0 models, 33 model-backed PII languages, state of the art on 10 of 12 biomedical NER benchmarks — and a new release most weeks.

pii.detect() · on-device 5/5 · masked
Pt [NAME], MRN [ID], DOB [DATE], contact [PHONE], admitted to [HOSPITAL].
Live PHI detection · 33 model-backed languages Fictional patients · no real PHI
Community Open source · community-driven

Model downloads · all-time

340M

One person on lunch breaks in July 2025; the largest open medical-AI collection by July 2026. Founded by Maziyar Panahi. Join on GitHub

30M Every month
9.4M PyPI installs
2,000+ Open models
34 Languages
A release every week 13 releases in the first six months
34 languages supported Docs · models · community-maintained
Free forever Apache-2.0 · nothing to sign
Counted, not claimed · Hugging Face + PyPI · July 2026 ★ 4.7K GitHub stars · counted live
Quickstart
openmed 2.0.0 · quickstart
uv pip install "openmed[hf]"
# local extraction + de-identification — nothing leaves the process
from openmed import deidentify, extract_pii

note = "Patient Casey Example (MRN 00123) called from 555-0100."

result = extract_pii(note)  # entities + offsets + confidence
print(deidentify(note))
# → "Patient [NAME] ([ID]) called from [PHONE]."

Four lines, no account.

No API key to provision, no procurement call, no data-processing agreement to negotiate. Install the package and the same call shape runs on a laptop CPU, Apple Silicon, or a GPU server.

  • analyze_text(...) One-call inference with structured outputs
  • extract_pii / deidentify Language-aware across 34 supported PII languages
  • BatchProcessor(...) Up to 3.3× throughput on CPU, 2.2× on MLX
  • openmed.service.app REST and gRPC, auth and no-PHI logging built in
Read the full API guide
Head to head

Every other option asks you to give something up.

Cloud medical APIs want your notes. Licensed clinical NLP wants a per-server subscription. Research toolkits stopped shipping. OpenMed is the only one of the four that runs on a phone, costs nothing, and shipped this week.

Capability and cadence comparison for OpenMed, cloud APIs, licensed clinical NLP, and research toolkits
Capability OpenMed Apache-2.0 · on-device Cloud APIs AWS Comprehend Medical · Azure Health · Google Healthcare NLP Licensed clinical NLP Enterprise NLP suites, per-server subscription Research toolkits medspaCy · MedCAT · cTAKES
Where inference runs The question every compliance review starts with Your hardware — phone to GPU server Vendor cloud region Your servers, per-server licence Your servers
Patient data leaves the network Never Sent to the vendor No No
What it costs at 10M notes $0 — Apache-2.0, weights included Per-character billing Per-server subscription $0
Languages supported PII and clinical coverage, per stack 33 model-backed · 34 supported codes Mostly English endpoints A few clinical locales, licensed English only
Runs on iPhone and Android Where clinicians actually stand OpenMedKit · ONNX Runtime Mobile
Apple Silicon acceleration MLX — 24–33× faster than CPU n/a
Runs in the browser Transformers.js · WebGPU
CPU-optimised ONNX builds Most hospital hardware has no GPU fp32, fp16 and INT8 exports, ORT Mobile ready n/a — cloud only Heavyweight JVM runtime CPU, unoptimised
Release cadence How fast a gap gets closed Weekly, in public Vendor roadmap Quarterly majors Largely dormant
Benchmarks you can rerun arXiv:2508.01630 · open weights + scripts Vendor white papers Vendor-run comparisons Academic papers

Capability and cadence rows describe publicly documented positions · July 2026 Sources: vendor docs · arXiv:2508.01630 · OpenMed release feed

Runs everywhere

The one thing no cloud API can do: run in a pocket.

Same model names, five runtimes. iPhone, iPad and Android through OpenMedKit, Apple Silicon through MLX, plain CPUs and NVIDIA GPUs through PyTorch, the browser through Transformers.js and WebGPU, and REST or gRPC services in your own VPC.

Apple Silicon · MLX

24–33× faster than CPU PyTorch

Median latency per inference step on the Privacy Filter family. Install openmed[mlx] and a MacBook becomes the inference tier.

Read the MLX backend guide

OpenMedKit · Swift + Kotlin

Ship de-identification inside the app

Scan a note on an iPhone, redact it, extract clinical signals — offline, with ONNX Runtime Mobile on Android and Kotlin parity tests on span boundaries.

Explore OpenMedKit docs

Browser · WebGPU

PHI never reaches your server either

Export ONNX token-classification artifacts into the transformersjs/ layout and redact in the tab, before submit.

Read the export guide
Healthcare data privacy

De-identification you can audit, not just trust.

All 18 HIPAA Safe Harbor identifiers inside a 55+ entity catalog: 33 model-backed PII languages, 34 supported codes, 600+ PII models, plus validator-backed ID-only locales. Policy-aware pipelines add calibrated thresholds, signed audit reports, re-identification risk scoring, and release gates that fail closed when the evidence is missing. 34 supported PII language codes: am, ar, as, bn, cs, da, de, el, en, es, fr, he, hi, id, it, ja, ko, mr, nl, no, or, pt, ro, ru, sv, sw, ta, te, th, tr, uk, xh, zh, and zu

Signed audit reports

Every run produces canonical span records and a signed report: what was found, what policy applied, what was released. Release gates fail closed.

audit-trailrisk-scoring

Context-aware PHI detection

Presidio-inspired scoring boosts confidence when keywords like SSN:, DOB: or NPI: appear near a detected entity — the framework's idea, trained on clinical language.

keyword-boosting100-char-window

Checksum & format validation

Built-in validators cut false positives: French NIR, German Steuer-ID, Italian Codice Fiscale, Spanish DNI/NIE, Dutch BSN, CPF/CNPJ, Luhn.

NIRCodice-FiscaleCPF/CNPJ

Smart entity merging

Subword tokenizers split 123-45-6789 into fragments; semantic patterns reassemble complete SSNs, phone numbers and multi-word entities before redaction.

BIO-tagsspan-parity

Five redaction methods

Mask with [NAME] labels, redact, hash, shift dates by a fixed offset, or replace with Faker-backed surrogates that keep local ID formats valid.

maskreplaceshift_dates

Zero data movement

No API calls, no licence check-in, no telemetry. Point a model name at a local directory and OpenMed never contacts the Hub — air-gapped by configuration, not by promise.

air-gappedno-telemetry
The model library

Pick the entity type, not the platform.

Specialised models across 13 biomedical domains — chemicals, diseases, genes, proteins, species, anatomy, oncology — sized from 33M to 568M so the small ones fit on a phone.

Browse the catalog

Showing all six model examples.

ChemicalDetect

featured

ElectraMed · 33M

chemical-entity-recognitiondrug-discovery

DiseaseDetect

featured

BioMed · 335M

disease-entity-recognitionpathology

GenomicDetect

PubMed · 109M

gene-recognitiongenomics

OncologyDetect

MultiMed · 568M

cancer-geneticsgene-regulation

PharmaDetect

BigMed · 278M

drug-recognitionpharmacovigilance

DNADetect

SuperClinical · 184M

protein-recognitionmolecular-biology

Built with OpenMed

Open at the core. Real products on top.

The library is free and stands alone. Welna and OpenMed Agent are separate products built on it — one for patients, one for clinical teams.

wel·na App Store · iOS 17+

Private patient intelligence for iPhone

Reads Apple Health with your permission, redacts identifiers on device, and turns ninety days of signals into plain-language reads, plus the questions worth bringing to a clinician.

vitality 100 · six signals · 90 days [NAME] · [DOB] redacted on device prepare for your next visit

Runs the OpenMed PII model on device (~40 MB), redacting identifiers before anything leaves the phone.

Download on the App Store
openagent preview

Terminal-native AI for clinical workflows

One inspectable agent for prior auth, appeals, coding, claims, care coordination and FHIR work, with visible plans and auditable artifacts before any action.

openmed · prior-authplan · 5 steps Review CPT 27447 against LCD criteria Read clinical record · 6 summaries De-identified on service · OpenMed PII Drafting appeal, review before send

Built on OpenMed extraction, de-ID & terminology.

Open agent.openmed.life

Paper · arXiv:2508.01630

Benchmarks you can rerun on your own notes.

Domain-adaptive pre-training with parameter-efficient LoRA on 350k biomedical passages set state of the art on 10 of 12 public NER benchmarks. Weights, recipes and eval scripts are all published, and a full fine-tune finishes in under 12 hours on a single GPU.

25+Curated datasetsMIMIC-III, PubMed, BC5CDR, BC2GM…
600+PII models33 model-backed languages
55+PII entity typesAll 18 Safe Harbor identifiers, locale-aware
650+MLX variantsApple Silicon ready, BERT-family

Questions from ML, clinical and procurement.

If yours isn't here, open an issue — you'll get an answer from the people who train the models.

Cloud APIs bill per character and require sending clinical text to a vendor region — every new use case becomes a privacy review. OpenMed downloads once and runs in your process: laptop, VPC, or air-gapped box, with no telemetry and no licence check-in. It is also the only option here that runs inside an iPhone or a browser tab.

Those are mature platforms with strong published accuracy and support contracts — if you need a vendor SLA, that is a real answer. OpenMed competes on ownership: no per-server subscription, Apache-2.0 weights and recipes, mobile and browser runtimes, and a release most weeks instead of quarterly. Our benchmarks you can rerun; theirs you take on trust.

Yes. Every model ships with its full training recipe: domain-adaptive pre-training plus LoRA, updating under 1.5% of parameters. A full run finishes in under 12 hours on a single GPU (under 1.2 kg CO2e), and starter notebooks live in the openmed-starter repo.

Releases are versioned, signed and documented, with pinned model artifacts, calibrated thresholds and release gates that fail closed. Pin a version and upgrade on your schedule — the cadence just means a gap you report closes in days, not in the next procurement cycle.

Language packs, national-ID validators, translations and mobile runtimes have all come from people outside the original author. Issues and PRs are public, security disclosure is documented, and PHI-leak reports get a private channel. If your locale is missing, requesting it is a realistic path to it existing.

No. They are compact encoder transformers fine-tuned for token classification — they label spans of text rather than generating it, so there is nothing to hallucinate. Small enough to run on a phone; the Privacy Filter family adds the de-identification policy layer on top.

Open source, open invitation

Next release is already in progress.

Every model, validator and language pack came from someone who needed it and shipped it in public. Star the repo, request a language, file a redaction bypass, send a pull request — clinical AI gets better when more people can see how it works.

Contribute on GitHub Request a language python · mlx · swift · kotlin · react-native · browser