maziyarpanahi/openmed

Local-first healthcare AI: clinical NER and HIPAA PII de-identification on hardware you control. 2,200+ medical models, 35 model-backed PII languages, and Python, MLX, Android and browser runtimes. Apache-2.0 SDK.

OpenMed – オンデバイス臨床テキスト AI

概要 – OpenMed は、医療テキスト抽出と保護対象保健情報(PHI/PII)の匿名化を、自分で管理するハードウェア上でローカルに実行できるオープンソース SDK です。必要なモデルファイルをダウンロードした後(Hugging Face または OpenMed モデルカタログから取得)、ランタイムは完全にオフラインで動作し、構造化エンティティ、マスク済みテキスト、または FHIR 対応の出力を返します。

主な機能

  • 臨床 NER – 疾患、薬剤、解剖、遺伝子など(例: disease_detection_superclinical)。
  • PII 検出と匿名化 – 18 の Safe-Harbor カテゴリに対応し、複数のマスキング戦略(マスク、置換、ハッシュ、日付シフト)を備えます。
  • 多言語サポート – 35 のモデル対応言語、42 の言語コード。
  • 複数のランタイム – CPU、CUDA、Apple-Silicon MLX、Android ONNX Runtime Mobile、ブラウザ Transformers.js、および REST サービス。
  • エージェント対応スキルカタログ – Claude Code、OpenAI Codex などで即使える「Agent Skills」。
  • バッチおよびストリーミングパイプライン – 多数のドキュメントを効率的に処理し、スマートなエンティティマージで日付や ID などを保持します。

使用方法

from openmed import analyze_text
result = analyze_text(
    "Patient started on imatinib for chronic myeloid leukemia.",
    model_name="disease_detection_superclinical",
)
for e in result.entities:
    print(e.label, e.text, f"{e.confidence:.2f}")

CLI を呼び出したり、FastAPI スタイルのサービス(python -m openmed.service.logging)を実行したり、モバイルデバイスで Kotlin/Swift ライブラリを呼び出すこともできます。

対応プラットフォーム

  • Python(pip install openmed[hf]、Apple Silicon 高速化にはオプションで [mlx])。
  • Swift / iOS – Swift Package Manager 経由の OpenMedKit。高速なトークン分類に MLX を使用。
  • Kotlin / Android – JitPack アーティファクトとしてパッケージ化された ONNX Runtime Mobile モデル。
  • Web – Transformers.js による ONNX エクスポート。WebGPU 対応ブラウザで実行可能。
  • コンテナ / サービス – Docker イメージと組み込み REST サーバー。

モデルカタログ – このリポジトリには、専門的な NER モデル(疾患、製薬、解剖、遺伝子、PII)の厳選リストが含まれており、パラメータ数は約 1 億から約 4 億 3,400 万に及びます。モデルは Hugging Face の OpenMed/ 名前空間でホストされており、SDK はエアギャップ展開向けにローカルディレクトリから読み込むこともできます。

プライバシーに関する立場 – OpenMed は規制遵守を保証するものではありません。Safe-Harbor 準拠の PII カテゴリと設定可能なしきい値を提供しますが、導入組織は独自に検証と HIPAA/GDPR レビューを実施する必要があります。

ライセンス – SDK ソースコードは Apache-2.0。モデルおよびデータセットのライセンスは異なり、モデルカタログに表示されます。


クイックスタートチェックリスト

  1. pip install "openmed[hf]"(Apple Silicon の場合は openmed[mlx])。
  2. モデルをダウンロード(例: openmed download disease_detection_superclinical)。
  3. Python から analyze_text / extract_pii / deidentify を呼び出すか、モバイル SDK を使用。
  4. 本番環境では、提供された REST サービスで SDK をラップするか、iOS/Android アプリに組み込みます。

結論 – OpenMed は、オンデバイス臨床テキスト処理のための真にオープンソースのプラットフォームであり、幅広いハードウェアと言語にわたってエンティティ抽出とプライバシー保護匿名化の両方を提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch