Vous êtes sur la page 1sur 23

Cahier de projet

GESTION DE CENTRE HOSPITALIER

Elaboré par : 7Maestria co-wokers


I. SOMMAIRE

I. INTRODUCTION GENERALE
Le génie logiciel (anglais software engineering) est une science de
génie industriel qui étudie les méthodes de travail et les bonnes pratiques
des ingénieurs qui développent des logiciels.Le Langage de Modélisation
Unifié, de l'anglais Unified Modeling Language (UML), est un langage
de modélisation graphique à base de pictogrammes conçu pour fournir
une méthode normalisée pour visualiser la conception d'un système. Il est
couramment utilisé en développement logiciel et en conception orientée
objet. il nous a été demandé de concevoir un logiciel qui permet de gérer
une cérémonie de mariage. pour concevoir notre logiciel dans le respect
des règles de l’art du génie logiciel nous allons choisir le modèle de cycle
de vie en V et nous utiliserons UML qui nous permettra de mieux
expliciter les fonctionnalités de notre logiciel.

pourquoi le modèle en V?

La représentation en V tient davantage compte de la réalité, le processus


de développement n'est pas réduit à un enchaînement de tâches
séquentielles.Elle montre que:

- c'est en phase de spécification que l'on se préoccupe des procédures


de qualification
- c'est en phase de conception globale que l'on se préoccupe des
procédures d'intégration
- c'est en phase de conception détaillée que l'on prépare les tests
unitaires

Le modèle de cycle de vie en V permet d'anticiper sur les phases


ultérieures de développement du produit. En particulier le modèle en V
permet de commencer plus tôt la

Documentation utilisateur.

- Plan de tests de qualification,

- Plan d'évaluation des performances,


I. Chapitre 1 : CAHIER DE CHARGE
A. PRESENTATION GENERALE DU PROJET

a. Problème et contexte

Le nombre de patient à gérer dans certaines formations sanitaires devient


important. Il n’est donc plus convenable de gerer la file des consultations, les
informations des patients dans des registres ou dans des logiciels non spécialisé.
b. Objectifs

Proposer une solution logicielle fiable, efficace, valide, intègre, et surtout


spécialisée dans la gestion des centres hospitaliers dans la majorité des aspects,
si ce n’est dans tous les aspects qui concernent la gestion d’un centre hospitalier.

c. Périmètre

Les centres médicaux de la ville de yaoundé sont notre priorité. Mais le


périmètre global concerne le Cameroun, l’Afrique centrale, et l’Afrique toute
entiere.

d. cible

Cliniques, Centres hospitaliers, Centres médicaux d’arrondissement


(CMA), Hôpitaux de taille petite, moyenne, grande, Laboratoire d’analyse
médicale.

B. ETUDE DE L’EXISTANT

Bien évidement, nous ne sommes pas les premiers à traiter du problème


de la gestion des centres médicaux. Nous allons donc nous pencher sur certaines
solutions déjà présentes dans le marché.

a. Santymed (Algerie)
Force :
Faiblesses :

C. NOTRE SOLUTION

Notre solution vous permettra de gérer pratiquement tout le cycle de vie


d’un patient dans votre centre médical, de son enregistrement à la réception à sa
guérison complète. Le laboratoire d’analyse médical sera également
parfaitement géré. La gestion complète des ressources humaines, financières, et
même de la pharmacie.

D. MODULES DE NOTRE LOGICIEL

a. Gestion des patients ;


b. Gestion des consultations ;
c. Gestion de l’internat ;
d. Gestion des facturations et encaissement des produits et
services ;
e. Gestion des médécins et des ressources humaines ;
f. Gestion des stocks et des approvisionnements ;
g. Gestion du laboratoire ;
h. Gestion des caisses ;
i. Gestion des vaccinations ;
j. Gestion de l’administration
E. SPECIFCATIONS DES BESOINS FONCTIONNELLES

« MaesHealth » devra permettre au client de:


Modules Fonctionnalités Acteurs A/M
Enregistrer nouveau patient Hôtesse M
Accueil
Rechercher un patient HA M
Modifier patient HA M
(7) Supprimer un patient HA M
Gestion du patient Générer le dossier médical Système A
du patient.
Afficher historique Médecin M
consultations
Définir l’état d’un patient Système A
Gestion de la file d’attente HA M
Créer une nouvelle Médecin M
consultation
Demander examen Labo Médecin M
(9) Afficher un bulletin de Médecin M
Gestion des consultation
consultations Archivage de bulletins de Système A
consultation
Prescrire médicaments Médecin M
Générer ordonnance Système A
Afficher l’ordonnance Médecin M
Imprimer ordonnance Médecin
Définir prochain RDV
Créer une nouvelle chambre Accueil Manuel
Créer un nouveau lit Ac.
(6)
Modifier statut lit Ac.
Gestion
Afficher liste des lits Ac.
d’hospitalisation
In opérabilité d’un lit
Rattacher lit à un patient Ac.
Générer modèle courrier HA
Créer un modèle de courrier
(5)
Envoyer courrier
Gestion de courrier
Imprimer courrier
Supprimer un courrier
Affichage des factures
soldées
Affichage des ordonnances
en cours
(19) Créer un nouveau
médicament
Gestion de la Supprimer médicament
pharmacie Modifier médicament
Créer un dépôt de stockage
Afficher liste des
médicaments
Création des Dcis
Mise à jour de stock de
médicaments
Création des laboratoires
fabricants.
Création des fournisseurs
Cumul des stocks de
médicaments (Stockage et
déstockage)
Calcul du CM
UP
Calcul de la marge
bénéficiaire
Créer un document d’achat
Afficher liste des documents
d’achat
Générer les mouvements de
stocks
Afficher les mouvements de
stocks
Gestion des sessions de
connexion
(9) Créer une nouvelle facture
Gestion de la Imprimer une facture
facturation Modifier facture avant
archivage
Supprimer facture
Archivage des factures
Afficher la liste des factures
Encaisser une facture
Appliquer des réductions par
article.
Créer les catégories de test
Créer un test de laboratoire
Créer les UMS
Créer des automates
Créer les réactifs
Création de bilan rapide
Impression des bulletins
d’examen traites
Afficher la liste des bulletins
d’examen encaisses
(11)
Gestion de Compléter le bulletin
laboratoire d’examen
Observer la liste des
examens (statistique)
Gestion des stocks des
réactifs
Créer nouveau rendez-vous. Système
Notifier à chaque médecin
les RDV qui leurs
(4) concernent sous forme
Gestion agenda d’alerte.
Mise à jour du statut d’un
évènement.
Archiver l’évènement
Créer un nouvel utilisateur
Définir les droits utilisateur
(7) Créer les profils utilisateur
Gestion des Créer un rôle utilisateur
comptes Modifier un rôle utilisateur
utilisateurs Supprimer un rôle utilisateur
Modifier les droits
d’utilisateur

F. EXIGENCES NON FONCTIONNELLES

a. Robustesse

 Gestion des erreurs de saisie ;


 Gestion des types de donnees ;

b. portabilité:

 sous windows, sous linux

c. Validité

 Les résultats renvoyés doivent être vrais.

d. Extensibilité

 Facilité d’ajout de nouveaux modules

e. Réutilisabilité

 Le code du logiciel doit etre reutilisable partiellement ou totalement


dans un autre logiciel ;

f. Performance

 La rapidité dans le renvoie des resultats


 Consommation minimal de ressource (Processeur)

g. Facilité d’emploi

 Bonne ergonomie ;
 Fouille rapide et facile des données ;
 Logiciel avec des guides d’utilisation ;

G. RESSOURCES

a. Ressources matérielles:
➢ Ordinateurs
➢ Internet
b. Ressources humaines:

 Designer
 Développeurs java
 Un intégrateur java

c. Ressources logicielle

 SGBD : MySQL ou SQLite


 IDE NetBeans ou eclipse
 JDK (au moins la version 10)
 Logiciel de conversion
 FxSceneBuilder
 Looping (Modelisation UML) ou ArgoUML

H. CONTRAINTES ET FAISABILITÉ
a. Contraintes :
Premier module en 2 semaines
b. Faisabilités :

I. ORGANISATION DU TRAVAIL
Période TAF Rendu
23 – 24 mars Diagramme de cas
d’utilisation
24- 26 Mars Diagramme de
Classe
27 - 29 Mars Diagramme d’état-
transition
29 – 31 Mars Diagramme
d’activité

02 - 04 Avr MCD
05 - 07 Avr MLD
09 - 11 Avr Normalisation du
MLD
13 – 15 Avr MPD

Definir les tables


Definir les relations
entre les tables
Definir les methodes
II. Chapitre 2 : CAHIER DE CONCEPTION

a. Acteurs et entités du système :

L’acteur principal du système est l’hôtesse (Accueil).

Les entités (acteurs) principales (aux) de notre système sont :


 Patient : Défini par :
o son code, nom, son prénom, son âge, son sexe, profession,
paramètre de santé, adresse , Date et lieu de naissance,
date et lieu de naissance, numéro CNI(ou passeport),
Ville, Quartier, Précision sur lieu de résidence,
Téléphone, email, Nom du père, nom de la mère, situation
matrimoniale, état-assurance, son état-système ;

o paramètres médicaux évolutifs (poids, taille, température,


tension artérielle).

b. Description textuelle du système :

L’administrateur du système (Hôtesse Accueil) doit pouvoir :


➢ Créer patient
○ Saisir nom
○ Saisir prénom
○ Saisir sa date et son lieu de naissance
■ Générer son âge (Système)
○ Saisir numéro CNI ou passeport
○ Choisir son sexe
○ Choisir son statut matrimonial
○ Choisir son état-assurance
■ Choisir son assureur dans la liste des assureurs (En supposant
que l’hôpital en question a une liste d’assureur associée)
○ Saisir numéro téléphone
○ Saisir son email
○ Saisir la Profession
○ Saisir le nom de sa mère et le nom de son père ;
○ Saisir les paramètres médicaux évolutifs
■ Saisir le poids
■ Saisir la taille
■ Saisir La température
■ Saisir la tension artérielle
➢ Supprimer patient
○ Sélectionner patient
➢ Modifier patient
➢ Rechercher patient
○ Saisir le nom d’un patient ou le code su patient
➢ Afficher la liste des patients
➢ Afficher infos détaillées d’un patient en particulier
➢ Appliquer les filtres
○ Filtrer par sexe
○ Filtrer par âge
○ Filtrer par lieu de naissance

A. DIAGRAMMES DE CAS D’UTILISATION

a. Gestion du patient
B. DIAGRAMME DE CLASSE
a. Gestion des utilisateurs

b. Gestion du patient

Inventaire des différentes classes :


Patient, Assurance, Médécin, Chambre-hospi, lit-hospi.
C. DIAGRAMME D’ETAT-TRANSITION
a. Gestion du patient
III. CHAPITRE 3 : MODELISATION DE LA BASE DE DONNEE

A. Modèle conceptuel des donnees

1. Gestion des patients

B. MODELE LOGIQUE DES DONNEES


1. Gestion des patients
Medecin = (id_med INTEGER, code_med VARCHAR(50), nom_med VARCHAR(50), prenom_med
VARCHAR(50), specialite_med VARCHAR(50), sexe VARCHAR(50), date_naiss_med DATE, age INTEGER,
supply_med BOOLEAN);
Patient = (Id_pat INTEGER, code_pat VARCHAR(50), nom_pat VARCHAR(50), prenom_pat VARCHAR(50),
cni_pat VARCHAR(50), cni_date DATE, passeport_pat VARCHAR(50), passeport_date DATE, phone_pat
VARCHAR(50), email VARCHAR(50), system_status VARCHAR(50), #id_med_soigneur);

Parametres_stables = (id_stable INTEGER, groupe_sanguin VARCHAR(50), rhesus VARCHAR(50),


electrophorese VARCHAR(50), #Id_pat);
parametre_evolutif = (id_param_evolutif INTEGER, taille DOUBLE PRECISION, poids DOUBLE PRECISION,
temperature DOUBLE PRECISION, tension_arterielle DOUBLE PRECISION, #Id_pat);
param_civilite = (id_civilite INTEGER, date_naissance DATE, lieu_naissance VARCHAR(50), age
INTEGER, quartier VARCHAR(50), ville VARCHAR(50), profession VARCHAR(50), satut_matrimonial VARCHAR(50),
assurer BOOLEAN, assureur VARCHAR(50), nom_pere VARCHAR(50), nom_mere VARCHAR(50), nationalite
VARCHAR(50), #Id_pat);

IV. CHAPITRE 4 : CAHIER D'IMPLÉMENTATION

Le but de cette partie est de décrire et d’expliquer les différents les méthodes
(Fonctions) utilisées dans notre programme. Nous avons répartis toutes ces
méthodes par module.

Il est important de noter d'entrée de jeu que les familles des


methodes getXXX() et des methodes setXXX() seront presentes dans
pratiquement toutes les classes :

● Les méthodes getXXX() permettrons de récupérer la valeur d’un attribut


précis d’une instance de la classe dans laquelle est sera invoquée : cette
méthode ne prend aucun paramètre et retourne le type de l’attribut dont
la valeur est cherchée.
● Les méthodes setXXX() quant-a elles permettrons d’attribuer des valeurs
a des attributs des instances des classes dans lesquelles elles sont
invoquées : elle prend en paramètre la valeur à affecter à l'attribut et
ne retourne pas de valeur…

★ Une classe utile: la classe MaesPatient


La classe MaesPatient rassemble toutes méthodes permettant de gérer les
interactions avec la base de données. Ces différentes méthodes seront
généralement évoquées tout au long de ce cahier d'implémentation. Il s’agit
entre autre de :

InsertIntoDB() : qui permet d'enregistrer des données dans notre base de


donnée.

SelectIntoDB() : qui permet récupérer des données dans notre BD.


DeleteIntoDB() : Pour supprimer des données dans la BD
:Ajouter la méthode de connexion a la base de donnée.
Il est également important de noter que chaque classe possède une
méthode “constructeur” qui est remarquable par le fait qu’elle porte le même
nom que la classe. Ces méthodes ne seront pas mentionnées ici.

1. Gestion des patients

a. Requête SQL de création des tables :

Table Requête SQL


CREATE TABLE Patient(
Patient Id_pat INTEGER,
code_pat VARCHAR(50) NOT NULL,
nom_pat VARCHAR(50) NOT NULL,
prenom_pat VARCHAR(50) NOT NULL,
cni_pat VARCHAR(50),
cni_date DATE NOT NULL,
passeport_pat VARCHAR(50),
passeport_date DATE,
phone_pat VARCHAR(50) NOT NULL,
email VARCHAR(50),
system_status VARCHAR(50) NOT NULL,
id_med_soigneur INTEGER NOT NULL,
PRIMARY KEY(Id_pat),
FOREIGN KEY(id_med_soigneur) REFERENCES
Medecin(id_med)
);
CREATE TABLE Medecin(
Medecin id_med INTEGER,
code_med VARCHAR(50) NOT NULL,
nom_med VARCHAR(50) NOT NULL,
prenom_med VARCHAR(50) NOT NULL,
specialite_med VARCHAR(50) NOT NULL,
sexe VARCHAR(50) NOT NULL,
date_naiss_med DATE NOT NULL,
age INTEGER,
supply_med BOOLEAN NOT NULL,
PRIMARY KEY(id_med)
);

CREATE TABLE param_civilite(


Param_civilite id_civilite INTEGER,
date_naissance DATE,
lieu_naissance VARCHAR(50),
age INTEGER,
quartier VARCHAR(50),
ville VARCHAR(50),
profession VARCHAR(50),
satut_matrimonial VARCHAR(50),
assurer BOOLEAN,
assureur VARCHAR(50),
nom_pere VARCHAR(50),
nom_mere VARCHAR(50),
nationalite VARCHAR(50),
Id_pat INTEGER NOT NULL,
PRIMARY KEY(id_civilite),
FOREIGN KEY(Id_pat) REFERENCES Patient(Id_pat)
);
CREATE TABLE parametre_evolutif(
parametre_evolutif id_param_evolutif INTEGER,
taille DOUBLE PRECISION,
poids DOUBLE PRECISION,
temperature DOUBLE PRECISION,
tension_arterielle DOUBLE PRECISION,
Id_pat INTEGER NOT NULL,
PRIMARY KEY(id_param_evolutif),
FOREIGN KEY(Id_pat) REFERENCES Patient(Id_pat)
);
CREATE TABLE Parametres_stables(
Parametres_stable id_stable INTEGER,
groupe_sanguin VARCHAR(50),
s rhesus VARCHAR(50),
electrophorese VARCHAR(50),
Id_pat INTEGER NOT NULL,
PRIMARY KEY(id_stable),
FOREIGN KEY(Id_pat) REFERENCES Patient(Id_pat)
);

b. Description des méthodes importantes


Paramètre
Description
Méthodes Entrée Retour

indexPatient() /// Afficher la liste des


Vue ‘index’
patients enregistrés

createPatient() /// Retourne de la vue de


Vue ‘creation’
création d’un patient

Sauvegarde un patient
storePatient() Request request Vue ‘index’
dans la base de données

showPatient() Affiche les informations


Vue
Int id_pat ‘index .patient’ propres à un patient

Retourne la vue
editPatient() Int id_pat d’édition ou
Vue ‘patient.edit’
modification d’un
patient précis

Request request, Fais la mise à jour


updatePatient()
int id_pat Vue ‘index’ d’informations d’un
patient
killPatient() Int id_pat Envoi un patient dans la
Vue ‘index corbeille et retourne la
vue patient

trashPatient() /// Affiche la liste des


Vue patients qui sont dans la
‘patient.trashed’
corbeille

restorePatient() Int id_pat Restore un patient et


Vue ‘index’ retourne la liste des
patients

Supprime
DeletePatient() Int id_pat définitivement un
Vue
patient de la base de
‘patient.trashed’
données

V. MANUEL D’UTILISATION
VI. CONCLUSION GENERALE

Vous aimerez peut-être aussi