medcat

Par mkurman · zorai

Boîte à outils d'annotation de concepts médicaux. NLP entraînable pour l'extraction de concepts cliniques à partir de texte non structuré. Prise en charge d'ICD-10, SNOMED CT, RxNorm, UMLS. Apprentissage actif pour les ontologies médicales personnalisées.

npx skills add https://github.com/mkurman/zorai --skill medcat

Aperçu

MedCAT entraîne des modèles NLP pour extraire des concepts cliniques à partir de texte non structuré. Supporte ICD-10, SNOMED CT, RxNorm, UMLS et des ontologies personnalisées avec apprentissage actif.

Installation

uv pip install medcat

Modèle pré-entraîné

from medcat.cat import CAT

cat = CAT.load_model_pack("medcat_model_pack.dat")
text = "Patient with type 2 diabetes and hypertension, prescribed metformin 500mg BID."
doc = cat(text)

for entity in doc.entities:
    print(f"{entity.name:<25} {entity.cui:<10} confidence={entity.confidence:.2f}")
# type 2 diabetes           D003920    confidence=0.97
# hypertension              D006973    confidence=0.99

Apprentissage actif

cat.add_cui_to_category("D003920", "Diabetes Mellitus")
cat.train(text="Patient has diabetes", cui="D003920", value="Diabetes Mellitus")
unmatched = cat.get_unmatched_concepts()  # concepts needing review

Flux de travail

  1. Charger un model pack pré-entraîné
  2. Annoter du texte clinique → extraire les CUIs UMLS
  3. Mapper les concepts vers ICD-10/SNOMED/RxNorm
  4. Entraîner avec apprentissage actif : corriger les erreurs, ajouter des concepts
  5. Exporter et déployer le modèle entraîné

Skills similaires