Files
aivanov_CIM/scripts/update_test_data_reasoning.py
2026-03-05 01:20:14 +01:00

60 lines
2.2 KiB
Python

#!/usr/bin/env python3
"""
Script pour améliorer le reasoning des codes de test.
"""
from pipeline_mco_pmsi.database.base import get_engine, get_session_factory
from pipeline_mco_pmsi.database.models import StayDB, CodeDB
def update_reasoning():
"""Mettre à jour le reasoning des codes de test."""
engine = get_engine()
session_factory = get_session_factory(engine)
db = session_factory()
try:
# Récupérer le séjour TEST001
stay = db.query(StayDB).filter(StayDB.stay_id == "TEST001").first()
if not stay:
print("Séjour TEST001 non trouvé")
return
# Récupérer les codes
codes = db.query(CodeDB).filter(CodeDB.stay_id == stay.id).all()
for code in codes:
if code.type == "dp" and code.code == "K35.8":
code.reasoning = """Le diagnostic principal K35.8 (Appendicite aiguë, autres et sans précision) est justifié par :
- Présence de douleurs abdominales aiguës dans la fosse iliaque droite
- Signes cliniques d'appendicite confirmés à l'examen
- Intervention chirurgicale réalisée (appendicectomie)
- Confirmation anatomopathologique de l'appendicite aiguë
- Absence de complications (pas de péritonite, pas d'abcès)
Ce code correspond au motif principal d'hospitalisation et à la pathologie ayant mobilisé l'essentiel des ressources."""
elif code.type == "ccam":
code.reasoning = """L'acte CCAM est justifié par :
- Réalisation effective de l'intervention chirurgicale
- Technique chirurgicale : appendicectomie par laparoscopie
- Durée opératoire : environ 45 minutes
- Anesthésie générale
- Absence de complications per-opératoires
- Geste technique principal du séjour
Cet acte correspond à la prise en charge chirurgicale du diagnostic principal."""
db.commit()
print("✅ Reasoning mis à jour avec succès")
# Afficher les résultats
for code in codes:
print(f"\n{code.type.upper()} {code.code}:")
print(f" Reasoning: {code.reasoning[:100]}...")
finally:
db.close()
if __name__ == "__main__":
update_reasoning()