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
- Charger un model pack pré-entraîné
- Annoter du texte clinique → extraire les CUIs UMLS
- Mapper les concepts vers ICD-10/SNOMED/RxNorm
- Entraîner avec apprentissage actif : corriger les erreurs, ajouter des concepts
- Exporter et déployer le modèle entraîné