Skip to content

Decapix/doctogreed-hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DoctoGreed Hackathon – Infrastructure IA pour la cardiologie

Bienvenue dans ce projet de chatbot IA dédié à la cardiologie, conçu pour aider à la pré-évaluation des patients, la génération de rapports médicaux structurés et le suivi post-consultation. L’architecture globale est orchestrée via Docker Compose, et comprend :

  • Un backend en FastAPI (Python) utilisant Tortoise ORM pour la base de données PostgreSQL.
  • Un frontend en Streamlit permettant l’interaction avec le patient (questionnaire, post-consultation) et avec le médecin (interface de suivi, génération de PDF, etc.).
  • Une base de données PostgreSQL pour stocker les informations relatives aux patients, diagnostics et médecins.

Table des matières

  1. Contexte : use case IA en cardiologie
  2. Fonctionnalités principales
  3. Structure du projet
  4. Prérequis
  5. Comment lancer le projet ?
  6. Contribution & Licence

Contexte : use case IA en cardiologie

Ce projet répond à un besoin concret dans le domaine médical :

  • Pénurie de cardiologues et répartition inégale de l’expertise.

  • Triage non optimisé des patients, sans évaluation médicale préalable.

  • Perte de temps en consultation (questions de base).

  • Manque de suivi structuré post-consultation.

    Objectif : Un assistant IA qui prépare et optimise les consultations :

    • Pré-évalue le patient avant la prise de rendez-vous.
    • Génère un rapport structuré des symptômes / historique médical.
    • Aide le cardiologue à prioriser les cas les plus urgents.
    • Assure un suivi post-consultation intelligent (rappels, alertes, etc.).

Fonctionnalités principales

  1. Triage des patients : Analyse des réponses et priorisation des cas urgents.
  2. Consultation préliminaire : Rassemble les informations importantes (symptômes, historique, traitements en cours).
  3. Suivi post-consultation : Rappels de prise de médicament, vérification de l’évolution, alertes si aggravation.
  4. Génération de rapports : Export PDF, affichage côté médecin, éventuellement notifications pour le patient.

Structure du projet

decapix-doctogreed-hackathon/  
├── README.md                <-- Vous êtes ici (présentation globale)  
├── docker-compose.yaml      <-- Configuration Docker Compose  
├── .dockerignore            <-- Fichiers ignorés par Docker  
├── backend/  
│   ├── backend.md           <-- Documentation spécifique au backend  
│   ├── Dockerfile           <-- Dockerfile du backend  
│   ├── requirements.txt     <-- Dépendances Python du backend  
│   └── app/  
│       ├── __init__.py  
│       ├── db_models.py  
│       ├── ds.py  
│       ├── enter_model.py  
│       ├── main.py  
│       └── routes.py  
└── frontend/  
    ├── frontend.md          <-- Documentation spécifique au frontend  
    ├── Dockerfile           <-- Dockerfile du frontend  
    ├── requirements.txt     <-- Dépendances Python du frontend  
    └── pages/  
    ├── doctor.py  
    └── patient.py  

Prérequis

  • Docker (version 20+ recommandée)
  • Docker Compose (version 3.8+)
  • (Optionnel) Connaissances basiques de FastAPI, Streamlit et PostgreSQL pour personnaliser l’application.

Comment lancer le projet ?

  1. Cloner le dépôt :
    bash git clone https://github.com/votre-compte/doctogreed-hackathon.git cd doctogreed-hackathon

  2. (Facultatif) Mettre à jour les variables d’environnement dans docker-compose.yaml si nécessaire (ex. DATABASE_URL, POSTGRES_USER, POSTGRES_PASSWORD, etc.).

  3. Créer un fichier .env et mettre la bonne clé API ainsi que la bonne URL. Exemple : https://api.scaleway.ai/c98de2b2-feb7-4780-a578-4c5276194bf4/v1 .

  4. Lancer Docker Compose :
    docker-compose up --build

Pour utiliser notre logique :

  1. Créer un utilisateur :

curl -X POST http://127.0.0.1:8000/create/patient/ -H "Content-Type:application/json" -d '{"nom":"votre_nom"}'

  1. Simuler sa prise de rendez vous dans la partie chatbot patient
  2. Se mettre à la place du docteur pour comparer les patients docteur

Cela va lancer :

  • Le service backend sur le port 8000
  • Le service frontend sur le port 8501
  • Le service db (PostgreSQL) sur le port 5432
  1. Accéder aux applications :

  2. Vérifier la base de données :

    • Par défaut, le container PostgreSQL est accessible sur le port 5432.
    • Les identifiants (ex: user / password) sont définis dans docker-compose.yaml.
  3. Arrêter l’environnement :
    docker-compose down


Contribution & Licence

  • Contributions : Les PR, issues et suggestions sont les bienvenues.
  • Licence : Ce projet est sous licence libre (à spécifier selon votre besoin : MIT, Apache 2.0, etc.).

Pour plus de détails, référez-vous aux README spécifiques :

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •