Initial commit
This commit is contained in:
59
scripts/update_test_data_reasoning.py
Normal file
59
scripts/update_test_data_reasoning.py
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/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()
|
||||
Reference in New Issue
Block a user