Ce projet est une application de gestion hospitaliere basee sur une base de donnees relationnelle MySQL et une interface Python en ligne de commande. Il a ete realise pour modeliser le fonctionnement d'un centre medical ou d'un hopital, en gerant les patients, les visites, le personnel, les chambres et les departements.
L'objectif principal est de concevoir une base de donnees hospitaliere complete et de montrer comment elle peut etre exploitee a travers une application Python simple. Le systeme permet d'enregistrer des patients, de suivre leurs visites, de distinguer les consultations des hospitalisations et d'affecter automatiquement les ressources medicales disponibles.
- ajout d'un nouveau patient
- enregistrement d'une visite medicale
- distinction entre consultation et hospitalisation
- affectation automatique d'un medecin disponible
- affectation automatique d'une infirmiere pour une hospitalisation
- creation automatique d'une consultation ou d'une hospitalisation selon le motif
- generation automatique d'une analyse medicale apres une consultation
- affichage de l'historique des visites d'un patient
- affichage du contenu des tables principales
- suivi de l'occupation des chambres
MySQLpour la base de donnees relationnelleSQLpour la creation des tables, contraintes, vues et triggersPythonpour l'application consolemysql.connectorpour la connexion Python-MySQLDockerpour conteneuriser l'applicationDocker Composepour orchestrer la base de donnees et l'applicationLuna Modelerou un outil similaire pour la modelisation via le fichier.lun
BD_Grooupe20.sql: script SQL principal de creation et d'initialisation de la baseGroupe20.py: application Python de gestion hospitalieredocker-compose.yml: configuration des services DockerDockerfile: image de l'application PythonHOSTPITAL_DATABASE.lun: fichier de modelisation de la baseRapport du Projet groupe 20.pdf: rapport du projet
La base de donnees hospital_database contient plusieurs tables principales :
PATIENTPERSONNELMEDECININFIRMIEREDEPARTEMENTCHAMBREVISITECONSULTATIONHOSPITALISATIONEFFECTUEPARTICIPEANALYSE_MEDICAL
Le projet inclut aussi plusieurs vues pour simplifier la consultation des donnees, ainsi que des triggers pour automatiser certaines operations importantes.
Les triggers SQL permettent notamment de :
- choisir un medecin disponible apres l'ajout d'une visite
- creer automatiquement une consultation ou une hospitalisation
- generer une analyse medicale apres une consultation
- affecter une infirmiere disponible apres une hospitalisation
- Se placer dans le dossier du projet.
- Lancer :
docker compose up --build- Installer Python 3 et MySQL.
- Creer la base de donnees en executant le script SQL.
- Installer la dependance Python necessaire :
pip install mysql-connector-python- Lancer l'application :
python Groupe20.py- Le fichier
docker-compose.ymlfait reference aBD_Groupe20.sqlalors que le fichier present dans le projet est nommeBD_Grooupe20.sql. Il faut harmoniser ce nom si l'initialisation Docker doit fonctionner correctement. - Le
Dockerfilecopie unrequirements.txt, mais ce fichier n'est pas present actuellement dans le depot.
Projet realise par le groupe 20 dans le cadre d'un projet de base de donnees.