République Algérienne Démocratique et
Populaire Ministère de l'Enseignement Supérieur et de la
Recherche Scientifique
Université A/Mira de Béjaïa
Faculté des Sciences exactes Département
d'Informatique
Mémoire de fin de cycle
En vue d'obtention d'une
Licence Académique en Informatique
Thème
Conception et réalisation d'une application
de suivi de patients dans un établissement
hospitalier.
Cas d'étude : Hopital d'Akbou
Présenté par: Encadré par:
AZZOUG Zoubir BELDJOUDI Nizia M' ALOUI Abdel
BENABDELMALEK Celia KHENNOUCHI Abbas
MEDDAH Lounes MOGHRANI Arezki
YADEL Omar SALHI Souhila
ZERARI Khoudir
Promotion 2008/2009
Dédicaces
Nous dédions ce travail à nos très chers
parents A nos familles et amis Et à toutes les personnes qui nous
ont aidés
Remerciements
A l'issue de ce travail,nous remercions, en premier lieu, le
bon Dieu de nous avoir donné la force et le courage de le mener
à terme.
Nous tenons, également, à exprimer notre
sincère reconnaissance et notre profonde gratitude à tous ceux
qui ont contribué de près ou de loin à la
réalisation de ce mémoire, notamment notre promoteur M. ALOUI
dont les conseils et orientations nous ont
été précieusement utiles.
Nous tenons fermement à mentionner le plaisir que nous
avons eu à faire notre stage pratique au sein de l'hôpital
d'Akbou. Nous en remercions ici le Directeur Général M.
ABBASSEN, qui par sa foi en cet établissement réussit à
mener à bout la lourde et difficile mission qui lui est
confiée. Nous pensons également à son collaborateur
direct, M. BOUAZZA et à tout le personnel du bureau des
entrées en particulier Mourad, Lhacen, Mustapha et Mouloud.
Table des matières i
Liste des figures iii
Liste des tableaux y
Introduction générale 1
1 Présentation de l'organisme d'accueil 3
1.1 Historique 3
1.2 Activité 3
1.3 Plan hospitalier 4
1.4 Effectif de l'hôpital 4
1.5 Mission de l'organisme d'accueil 4
1.6 Organigramme général 6
1.7 Présentation du champ d'étude 7
1.8 Organigramme fonctionnel du champ d'étude 7
1.9 Situation informatique 7
1.10 Problématiques et objectifs 8
2 Analyse et Conception 10
2.1 Introduction 10
2.2 Spécification des besoins 10
2.3 Présentation de l'UML 11
2.3.1 Définition 11
2.3.2 Diagramme de cas d'utilisation 11
2.3.3 Diagramme de collaboration 14
2.3.4 Diagramme de séquence 17
2.3.5 Diagramme d'activité 21
2.3.6 Diagramme de classes 26
2.3.7 Dictionnaire de données 29
2.3.8 Le modèle relationnel 33
2.4 Conclusion 34
3 Réalisation 35
3.1 Introduction 35
3.2 Outils de développement 35
3.2.1 Implémentation de la base de données 35
3.2.2 Environnement de développement 36
3.3 Description de l'application 37
3.3.1 Menu de l'application 38
3.3.2 Les interfaces de l'application 40
3.3.3 Les imprimés 47
3.4 Description des requêtes 50
3.4.1 La liste des patients admis 50
3.4.2 La liste des gardes patients 50
3.4.3 La liste des services 50
3.4.4 La liste des nouveaux-nés 50
3.4.5 La liste des patients traités 50
3.4.6 La sortie par évacuation d'un patient 51
3.4.7 La sortie normale (guérison) d'un patient 51
3.4.8 Recherche d'un patient par numéro 51
3.4.9 Compteur de taille des Bases De Données 51
3.5 Conclusion 52
Conclusion générale et perspectives 53
Bibliographie 54
LISTE DES FIGURES
1.1 Organigramme général de l'hôpital d'Akbou
6
1.2 Organigramme fonctionnel du champ d'étude 7
2.1 Diagramme de cas d'utilisation 13
2.2 Diagramme de collaboration de l'authentification 14
2.3 Diagramme de collaboration de l'ajout 15
2.4 Diagramme de collaboration de la suppression 15
2.5 Diagramme de collaboration de la modification 16
2.6 Diagramme de collaboration de la recherche 16
2.7 Diagramme de collaboration de l'impression 17
2.8 Diagramme de séquence du cas d'utilisation
"Authentification" . . . 18
2.9 Diagramme de séquence du cas d'utilisation "Ajout"
18
2.10 Diagramme de séquence du cas d'utilistaion
"Suppression" 19
2.11 Diagramme de séquence du cas d'utilistaion
"Modification" 20
2.12 Diagramme de séquence du cas d'utilistaion
"Recherche" 20
2.13 Diagramme de séquence du cas d'utilistaion
"Impression" 21
2.14 Diagramme d'activité de l'authentification 22
2.15 Diagramme d'activité d'ajout 23
2.16 Diagramme d'activité de modification 24
2.17 Diagramme d'activité de suppression 25
2.18 Diagramme d'activité de recherche 26
2.19 Diagramme de classes 32
3.1 Interface de Borland Delphi 7 37
3.2 Menu de l'application (partie 1) 38
3.3 Menu de l'application (partie 2) 39
3.4 Formulaire d'authentification 40
3.5 La fenêtre du menu principal 41
3.6 Le bouton "Nouveau > Admission> Patient" 41
3.7 Le bouton "Nouveau> Sortie" 42
3.8 Le bouton "Modifier" 42
3.9 Le bouton "Supprimer" 42
3.10 Le bouton "Affichage" 43
3.11 Le bouton "Recherche" 43
3.12 Le bouton "Statistiques" 43
3.13 Le bouton "Imprimer" 44
3.14 Le bouton "Outils" 44
Liste des figures
3.15 Le bouton "Aide" 44
3.16 Le formulaire d'admission 45
3.17 Le formulaire de sortie 46
LISTE DES TABLEAUX
1.1
|
Tableau des moyens du bureau des entrées
|
8
|
2.1
|
Méthodes et attributs des classes
|
28
|
2.2
|
Dictionnaire de données (partie 1)
|
29
|
2.3
|
Dictionnaire de données (partie 2)
|
30
|
2.4
|
Dictionnaire de données (partie 3)
|
31
|
Introduction générale
A
CTUELLEMENT, le monde connaît une avance technologique
considérable dans tous les secteurs et cela grâce à
l'informatique qui est une science qui étudie les techniques du
traitement automatique de l'information. Elle joue un rôle important dans
le développement de l'entreprise et d'autres établissements.
Avant l'invention de l'ordinateur, on enregistrait toutes les
informations manuellement sur des supports en papier ce qui engendrait beaucoup
de problèmes tel que la perte de temps considérable dans la
recherche de ces informations ou la dégradation de ces dernières.
..etc.
Ainsi, jusqu'à présent, l'ordinateur reste le
moyen le plus sûr pour le traitement et la sauvegarde de l'information.
Cette invention à permis d'informatiser les systèmes de
données des entreprises, ce qui est la partie essentielle dans leur
développement aujourd'hui.
Les hôpitaux font partie intégrante des
établissements que l'informatique pourra beaucoup aidés. En
effet, la croissance de la population hospitalière nécessite la
mise en place d'une gestion rationnelle prise et rapide, or et jusqu'à
ce jour, la manière de gérer manuellement est encore dominante
d'où la nécessité d'introduire l'informatique dans les
administrations hospitalières.
L'objectif de notre projet présenté dans ce
rapport est la conception et la réalisation d'une application monoposte
simple de gestion des entrées/sorties des patients dans un
établissement hospitalier. Pour ce faire, nous avons été
affectés au sein du bureau des entrées de l'établissement
public hospitalier AKLOUL Ali d'Akbou.
Introduction générale
Nous avons organisé ce mémoire de la façon
suivante :
Le premier chapitre présente l'établissement
d'accueil à savoir l'Établissement Public Hospitalier AKLOUL Ali
d'Akbou et notre champ d'étude.
Le deuxième chapitre présente la conception de
notre système d'information que nous allons modéliser avec le
langage UML.
La réalisation et l'implémentation de notre
application fera l'objet du troisième chapitre dans lequel nous
illustrerons les différentes parties de l'application à savoir la
base de données et les différentes requêtes qui permettent
l'accès à celle-ci.
Enfin, nous terminerons ce document par une conclusion
générale.
ChaPItre 1
PRÉsENTATioN DE L'oRGANisME
D'AccuEiL
1.1 Historique
L'hôpital d'Akbou date d'avant l'indépendance.
Son siège était au centre-ville d'Akbou. En 1959, fut
l'idée de construire un nouvel hôpital. Les travaux commencent en
1960 et ont été achevés en mars 1962. Le siège a
été transféré. Il a ouvert ses portes le 21
novembre 1968. [Com04]
L'hôpital de catégorie A, mis en service en 1970 est
baptisé au nom du martyr lieutenant AKLOUL Ali.
1.2 Activité
Sur le plan d'activité, le secteur sanitaire d'Akbou a
été revu depuis février 2008 et l'hôpital a
été reconsidéré et renommé EPH
(Établissement Public Hospitalier) AKLOUL Ali d'Akbou et a pu mettre en
oeuvre deux EPSP
(Établissement Public Sanitaire de Proximité) de
Seddouk et de Tazmalt à présent détachés du secteur
sanitaire.
1.3 Plan hospitalier
La capacité technique de l'hôpital d'Akbou est de
179 lits répartis comme suit :
· Médecine interne homme : 40 lits.
· Médecine interne femme : 28 lits.
· Chirurgie (Homme, femme, enfant) : 44 lits.
· Pédiatrie : 33 lits.
· Maternité, gynécologie, Obstétrique
: 34 lits.
L'hôpital est doté d'un :
· Pavillon des urgences.
· Service de radiologie.
· Service de transfusion sanguine.
· Bloc opératoire (4 salles d'opération).
1.4 Effectif de l'hôpital
L'hôpital d'Akbou comporte un nombre assez satisfaisant
de personnel médical et administratif, il admet 425 personnes soit
médecins spécialistes, médecins
généralistes, chirurgiens dentistes, pharmaciens,
paramédicaux, aides-soignants ou agents.
1.5 Mission de l'organisme d'accueil
L'Hôpital d'Akbou est un établissement public
à caractère administratif, doté de la personnalité
morale et de l'autonomie financière, il est placé sous la tutelle
de Monsieur le Wali de Béjaia.
L'hôpital d'Akbou est constitué de l'ensemble
des services sanitaires, de prévention, de diagnostic, de soins
d'hospitalisation et de la réadaptation médicale, couvrant la
population d'un ensemble de communes et relevant du ministère de la
santé.
Dans son domaine d'activité, l'hôpital a pour
mission de prendre en charge, de manière hiérarchique les besoins
sanitaires de la population dans ce cadre.
L'hôpital a notamment comme taches :
· Assurer l'organisation et la programmation de la
distribution des soins.
· Mettre en oeuvre les activités de
prévention, de soins, de réadaptation médicale et
d'hospitalisation.
· Assurer les activités liées à la
santé reproductive et à la planification familiale.
· Appliquer les programmes nationaux et locaux de
santé de la population.
· Contribuer à la promotion et à la
protection de l'environnement, la prévention et la lutte contre les
nuisances et les fléaux sociaux.
· Contribuer au recyclage et au perfectionnement du
personnel des services de la santé.
· Servir de terrain de formation paramédicale et de
gestion hospitalière sur la base de conventions signées avec
l'établissement de formation.
1.6 Organigramme général
FIG. 1.1 - Organigramme général de l'hôpital
d'Akbou
1.7 Présentation du champ d'étude
Le bureau des entrées est l'un des plus importants
services administratifs de l'hôpital, c'est une structure administrative
sur laquelle s'appuie toute la gestion de l'établissement hospitalier,
il pour mission :
· Suivi des patients, des naissances et des
décès.
· Orientation de la population.
· Enregistrement du mouvement de la population
hospitalière.
Son rôle ne se limite pas seulement à ces taches
citées ci-dessus (admissions, séjours et sortie des patients)
mais vise également l'évaluation et l'exploitation d'un certain
nombre d'informations et de statistiques, liées à la
comptabilité des journées d'hospitalisation.
1.8 Organigramme fonctionnel du champ d'étude
FIG. 1.2Organigramme fonctionnel du champ d'étude
1.9 Situation informatique
L'hôpital d'Akbou dispose d'un matériel
informatique assez important, il est réparti d'une manière
équitable entre les différents services.
Ce matériel est constitué d'ordinateurs ayant les
caractéristiques suivants :
· Processeur Intel Pentium 4, 3.0 GHz.
· Capacité mémoire 128 à 512 Mo de
RAM.
· Espace de stockage DDR 80 Go.
· Lecteur de disquettes 3»1/2.
· Écrans de 15» et 19».
Et des imprimantes de type:
· EPSON LQ-2070 et LQ-2090 ESC P2.
· CANON.
· HP Desk Jet 690.
Pour ce qui concerne les moyens du bureau des entrées
:
Matériel
|
Moyens logiciels
|
Moyens humains
|
- 03 Ordinateurs Intel Pentium 4, 1.33 GHz, 80 DDR, 512 Mo
RAM
|
- Microsoft Windows 98 - Microsoft Office 2007 - Logiciel
Patient 03.40
|
- Le Chef de service
- 01 agent des archives - 03 agents de saisie
- 01 agent des statistiques
|
|
Tab. 1.1Tableau des moyens du bureau des entrées
1.10 Problématiques et objectifs
Problématiques
Pour détecter les problèmes existants, nous
avons interrogé le personnel du bureau des entrées de
l'hôpital d'Akbou et il nous a cité quelques anomalies, mais pour
localiser leur source, nous nous sommes mis en pratique avec lui et
après une observation continuelle, nous avons pu recenser les
insuffisances suivantes :
· Volume important des informations traitées
manuellement, ce qui provoque parfois des erreurs dans l'établissement
des documents.
· Recherche difficile sur les registres qui engendre une
perte de temps.
· Insécurité des informations.
· Possibilité d'erreur dans le remplissage des
différents documents et registres.
· Possibilité d'erreur dans les calculs des
statistiques.
· Nombre important des archives qui engendre une
difficulté de stockage.
· Détérioration des archives à force
de leur utilisation trop fréquente.
· Mauvaise codification sur quelques objets dans la gestion
d'information.
Objectifs
Afin d'y remédier à tous ses problèmes, nos
avons assigné à notre étude les objectifs suivants :
· Rapidité dans l'établissement des
différents documents.
· Facilité de la recherche et l'accès aux
informations.
· Stockage des informations sur des supports informatiques
ce qui assurera leur sécurité.
· Gain de temps dans les calculs des statistiques.
· Automatiser les taches qui se traitent manuellement.
· Proposer une bonne codification.
ChaPItre 2
AnalYSe et COnCePtIOn
2.1 Introduction
Cette partie est consacrée aux étapes
fondamentales pour le développement de notre système de gestion
d'un patient hospitalisé. Pour la conception et la réalisation de
notre application, nous avons choisis de modéliser avec le formalisme
UML (Unified Modeling Language) qui offre une flexibilité marquante qui
s'exprime par l'utilisation des diagrammes.
2.2 Spécification des besoins
C'est une étape primordiale au début de chaque
démarche de développement. Son but est de veiller à
développer un logiciel adéquat, sa finalité est la
description générale des fonctionnalités du
système, en répondant à la question : Quelles sont les
fonctions du système?
Notre système doit répondre aux exigences
suivantes :
· Le système doit pouvoir récupérer
des informations de chaque entité à partir de son matricule pour
mettre à jour la base des données de l'application.
· L'insertion des patients et d'autres entités et
les orienter vers une salle d'un service quelconque.
· Modification des informations à propos du patient
et des autres entités.
· La suppression.
· L'impression des documents comme (bulletin d'admission,
billet de salle, certificat de séjour, déclaration de
décès ...etc.).
· Calcul de statistiques : le nombre de nouveau-nés,
le nombre de décès, le nombre d'accidentés, nombre de lits
libres, . . .etc.
2.3 Présentation de l'UML
2.3.1 Définition
UML (Unified Modeling Language), se définit comme un
langage de modélisation graphique et textuel destiné à
comprendre et à définir des besoins, spécifier et
documenter des systèmes, esquisser des architectures logicielles,
concevoir des solutions et communiquer des points de vue. Il véhicule en
particulier :
· Les concepts des approches par objets : classe, instance,
classification, etc.
· Intégrant d'autres aspects : associations,
fonctionnalités, événements, états,
séquences, etc.
UML définit neuf types de diagrammes devisés en
deux catégories:
1. Diagrammes statiques (structurels) : diagramme de classe,
d'objet, de composant, de déploiement et de diagramme de cas
d'utilisation.
2. Diagrammes dynamique (comportementaux) : diagramme
d'activité, de séquence, d'état-transition et de diagramme
de collaboration. [PAM05]
Pour la modélisation des besoins, nous utilisons les
diagrammes UML suivant : Diagramme de cas d'utilisation, diagramme de
séquence, diagramme de collaboration et diagramme d'activité.
2.3.2 Diagramme de cas d'utilisation
Un diagramme de cas d'utilisation est un graphe d'acteurs, un
ensemble de cas d'utilisation englobés par la limite du système,
des associations de communication entre les acteurs et les cas d'utilisation,
et des généralisations entre cas d'utilisation. [NK01]
Il est destiné à représenter les besoins des
utilisateurs par rapport au système. [GAB04]
Identification des acteurs
Les acteurs d'un système sont les entités
externes à ce système qui interagissent avec lui. Dans notre
application, le seul acteur qui interagit avec le système est l'agent de
saisie du bureau des entrées.
Identification des cas d'utilisations
Un cas d'utilisation est utilisé pour définir le
comportement d'un système ou la sémantique de toute autre
entité sans révéler sa structure interne. Chaque cas
d'utilisation spécifie une séquence d'action, y compris des
variantes, que l'entité réalise, en interagissant avec les
acteurs de l'entité. La responsabilité d'un cas d'utilisation est
de spécifier un ensemble d'instances, où une instance de cas
d'utilisation représente
une séquence d'actions que le système
réalise et qui fournit un résultat observable par l'acteur.
[NK01]
Voici les cas d'utilisation de notre application :
· Authentification : l'application vérifie que
l'utilisateur est bien ce qu'il prétend être et lui donne ensuite
l'autorisation d'accès .
· Ajout : pouvoir ajouter des nouveaux patients,
nouveau-nés, . . .etc.
· Modification : sert à modifier l'information dans
la base de données
· Recherche : rechercher des informations sur un patient,
un nouveau-né . . .etc. pour pouvoir se renseigner ou renseigner les
visiteurs.
· Imprimer :
Bulletins propre aux patients: (bulletin d'admission, billet de
salle, certificat de séjour, certificat de présence et
déclaration de décès).
Pour le garde-patient : (billet de salle).
Pour la naissance : (billet de salle, déclaration de
naissance).
· Calcul des statistiques : nombre de nouveau-nés,
nombre des accidentés, moyenne des décès et des naissances
par mois .. .etc.
D'où la présentation de notre diagramme de cas
d'utilisation (FIG. 2.1)
FIG. 2.1Diagramme de cas d'utilisation
2.3.3 Diagramme de collaboration
Un diagramme de collaboration montre une interaction
organisée autour d'un ensemble d'objets et de leurs liens. En revanche,
un diagramme de collaboration ne montre pas le temps dans une dimension
séparée; ainsi la séquence des messages et les fils
concurrents doivent être déterminés en utilisant les
numéros de séquence. [NK01]
C'est une autre représentation des scénarios des
cas d'utilisation qui met plus l'accent sur les objets et les messages
échangés. [GAB04]
Les figures 2.2 à 2.7 représentent les diagrammes
de collaboration du cas d'utilisation.
Diagramme de collaboration d'authentification
Ce diagramme décrit les messages
échangés entre les différents objets pour montrer le
fonctionnement de l'opération d'authentification : l'utilisateur saisit
le mot de passe puis le système vérifie sa validité,
ensuite c'est le système qui retourne la page d'accueil de l'application
à l'utilisateur.
FIG. 2.2Diagramme de collaboration de l'authentification
Diagramme de collaboration d'Ajout
Ce diagramme illustre la façon avec laquelle
l'opération d'ajout d'une information (nouveau patient, nouveau
garde-patient, naissance.. .etc.) s'effectue.
FIG. 2.3Diagramme de collaboration de l'ajout
Diagramme de collaboration de Suppression
Ce diagramme nous montre les déférents messages
entre les objets intervenant dans la suppression d'une donnée :
l'utilisateur choisit l'information à supprimer puis le confirme la
suppression et enfin la donnée sera supprimée au niveau de la
base de données.
FIG. 2.4Diagramme de collaboration de la suppression
Diagramme de collaboration de Modification
Ce diagramme montre comment modifier une donnée :
l'utilisateur demande la modification en saisissant le matricule de la
donnée et le système recherche cette dernière dans la base
de données et l'affiche à l'utilisateur qui va la modifier et
l'enregistrer, le système la stocke ensuite dans la base de
données.
FIG. 2.5Diagramme de collaboration de la modification
Diagramme de collaboration de Recherche
Pour la recherche (renseignement), il suffit que
l'utilisateur saisit l'une de ces informations : numéro du patient, nom
du patient ou date d'admission, dans le formulaire de recherche et le
système effectue une recherche au niveau de la base de données
pour lui afficher le résultat.
FIG. 2.6 - Diagramme de collaboration de la recherche
Diagramme de collaboration d'Impression
FIG. 2.7Diagramme de collaboration de l'impression
2.3.4 Diagramme de séquence
Il permet de décrire les scénarios de chaque
cas d'utilisation en mettant l'accent sur la chronologie des opérations
en interaction avec les objets. [GAB04] Un diagramme de séquence montre
une interaction présentée en séquence dans le temps. En
particulier, il montre aussi les objets qui participent à l'interaction
par leur "ligne de vie" et les messages qu'ils échangent
présentés en séquence dans le temps. [NK01]
Voici quelques notions de base du diagramme :[DUM08]
· Scénario : une liste d'actions qui
décrivent une interaction entre un acteur et le système.
· Interaction : un comportement qui comprend un ensemble
de messages échangés par un ensemble d'objets dans un certain
contexte pour accomplir une certaine tâche.
· Message : Un message représente une
communication unidirectionnelle entre objets qui transporte de l'information
avec l'intention de déclencher une réaction chez le
récepteur.
Les figures 2.8 à 2.13 représentent les
diagrammes de séquence des cas d'utilisation.
Diagramme de séquence du cas d'utilisation
"authentification"
1. l'utilisateur demande le formulaire d'authentification.
2. L'application affiche le formulaire d'authentification.
3. L'utilisateur saisit le mot de passe.
4. Le système vérifie la validité du mot de
passe.
5. L'application affiche la page d'accueil.
FIG. 2.8Diagramme de séquence du cas d'utilisation
"Authentification"
Diagramme de séquence du cas d'utilisation "Ajout"
1. L'utilisateur demande le formulaire d'ajout.
2. L'application affiche le formulaire d'ajout.
3. L'utilisateur saisit les nouvelles données.
4. L'application envoi la requête.
5. L'application stocke les données au niveau de la base
de données.
6. L'application confirme l'enregistrement.
FIG. 2.9 - Diagramme de séquence du cas d'utilisation
"Ajout"
Diagramme de séquence du cas d'utilisation
"Suppression"
1. L'utilisateur demande le formulaire de suppression.
2. L'application affiche le formulaire de suppression.
3. L'utilisateur saisit le matricule de l'information à
supprimer.
4. L'application demande la recherche à la base de
données.
5. Une procédure de recherche se fera au niveau de la
base de données.
6. Chargement de la donnée à partir de la BDD
(Base De Données) vers l'application.
7. L'application affiche la donnée.
8. L'utilisateur confirme la suppression.
9. Au niveau de la BDD la donnée sera
supprimée.
FIG. 2.10 - Diagramme de séquence du cas d'utilistaion
"Suppression"
Diagramme de séquence du cas d'utilisation
"Modification"
1. L'utilisateur demande la modification.
2. L'application affiche le formulaire de modification.
3. L'utilisateur saisit le matricule de la donnée
à modifier.
4. L'application envoi le matricule de la donnée à
la BDD.
5. Une fonction de recherche se fait au niveau de la BDD.
6. La BDD charge la donnée demandé vers
l'application.
7. L'application affiche la donnée demandée
à l'utilisateur.
8. L'utilisateur saisit les nouvelles données.
9. L'application envoi les nouvelles données à la
BDD.
10. Au niveau de la BDD se fait le stockage.
11. Confirmation de la modification.
FIG. 2.11 - Diagramme de séquence du cas d'utilistaion
"Modification"
Diagramme de séquence du cas d'utilisateur "Recherche"
1. L'utilisateur demande le formulaire de renseignement.
2. L'application affiche le formulaire.
3. L'utilisateur saisit le matricule de la donnée.
4. L'application envoi le matricule de la donnée à
la BDD.
5. Une fonction de recherche se fait au niveau de la BDD.
6. La BDD charge la donnée envers l'application.
7. L'application Affiche la donnée.
FIG. 2.12 - Diagramme de séquence du cas d'utilistaion
"Recherche"
Diagramme de séquence du cas d'utilisation "Impression"
1. L'utilisateur demande l'impression.
2. L'application affiche le formulaire d'impression.
3. L'utilisateur saisit le matricule de la donnée et
soumet la requête.
4. L'application consulte la BDD.
5. Une recherche se fera au niveau de la BDD.
6. Le formulaire se fera charger à partir de la BDD.
7. L'application affiche le formulaire à
l'utilisateur.
8. L'utilisateur confirme l'impression.
9. L'application envoi la requête à la BDD.
10. La fonction d'impression se fera à partir de la base
de données.
11. Le formulaire ou le bulletin est imprimé.
FIG. 2.13Diagramme de séquence du cas d'utilistaion
"Impression"
2.3.5 Diagramme d'activité
Il donne une vision des enchaînements des activités
propre à une opération ou à un cas d'utilisation.
[GAB04]
Le diagramme d'activité est attaché à une
catégorie de classes et décrit le déroulement des
activités de cette catégorie. Le déroulement s'appelle
"flot de contrôle". Il indique la part prise par chaque objet dans
l'exécution d'un travail. Il sera enrichi par les conditions de
séquence. [J.S03]
Les figures 2.14 à 2.18 présentent les diagrammes
d'activités du cas d'utilisation. Diagramme d'activité de
l'authentification
Le diagramme d'activité d'authentification nous permet
de voir les comportements internes du système, lors du démarrage
de l'application par l'utilisateur, le système lui affiche le formulaire
d'authentification, après que le mot de passe soit saisit le
système vérifie sa validité et affiche la page d'accueil
sinon il affiche un message d'erreur.
FIG. 2.14Diagramme d'activité de l'authentification
Diagramme d'activité d'ajout
Après une demande d'ajout d'une donnée par
l'utilisateur (patient, garde- patient, naissance), le système lui
affiche le formulaire d'ajout pour qu'il puisse saisir ces données et
confirmer leur enregistrement au niveau de la base de données.
FIG. 2.15Diagramme d'activité d'ajout
Diagramme d'activité de modification
FIG. 2.16Diagramme d'activité de modification
Diagramme d'activité de suppression
FIG. 2.17Diagramme d'activité de suppression
Diagramme d'activité de recherche
FIG. 2.18Diagramme d'activité de recherche
2.3.6 Diagramme de classes
C'est une collection d'éléments de modèle
statique, tels que des classes, des interfaces et leurs relations,
connectés entre eux comme un graphe. [NK01]
Il représente la description statique du système
en intégrant dans chaque classe la partie dédiée aux
données et celle consacrée aux traitements. C'est le diagramme
pivot de l'ensemble de la modélisation d'un système. [GAB04]
Identification des classes
Une classe est une description d'un groupe d'objets partageant
un ensemble commun de propriétés (les attributs), de
comportements (les opérations) et de relations avec d'autres objets (les
associations et les agrégations). [LAT01]
Une classe contient : [Sca05]
Des attributs (ou champs, ou variables d'instances) : Les
attributs d'une classe décrivent la structure de ses instances (les
objets).
Des méthodes (ou opérations de la classe) : Les
méthodes décrivent les opérations qui sont applicables aux
instances de la classe.
Une agrégation est une association correspondant
à une relation qui lorsqu'elle est lue dans un sens signifie "est une
partie de" et lorsqu'elle est lue dans l'autre sens elle signifie "est
composé de".
Les classes sur lesquelles se porte notre application sont les
suivantes :
Patient :c'est la classe la plus essentielle de notre
application; toute personne entrant dans l'hôpital ayant droit à
l'hospitalisation.
Mod_adm: Une instance de cette classe est la façon dont le
patient est entré à l'hôpital (entré normale,
naissance, accident).
Salle/Unité/Service : Une instance de cette classe est
l'emplacement où le patient séjournera.
Personne : Une instance de cette classe représente la
personne qui accompagnera le patient lors de son entré à
l'hôpital ou un garde malade qui pourra garder le patient tout au long de
son séjour à l'hôpital.
- Personnel _m : Cette classe représente le personnel
médical dont les médecins, les chirurgiens.. .etc.
C'est-à-dire toutes les personnes qui agissent ou suivent le patient
tout au long de son séjour à l'hôpital.
Traitement : Une instance de cette classe représente les
traitements et les remèdes que le patient peut prendre durant son
hospitalisation.
- Mod _sortie : Une instance de cette classe représente
la manière dont le patient va sortir de l'hôpital (Sortie par
guérison, par évacuation, ou bien par décès).
Naissance : Cette classe est la classe des
nouveaux-nés.
Nous définissons les méthodes et les attributs de
chaque classe comme suit :
Classe
|
Attribut
|
Méthode
|
Patient
|
N_pat, Nom_pat, Prn_pat, Sexe_pat, Dn_pat, Ln_pat, Adr_pat,
Prn_per_pat, Nom_mer_pat, Prn_mer_pat, Nat_pat,
Sit_fam_pat, Cont_pat, Tel_cont, Adr_cont, Nom_prn_acc,
Sexe_acc, Age_acc, Lien_fam_acc, Tel_acc, Nom_epou_pat
|
Ajouter(), modifier(), supprimer()
|
Mod_ adm
|
Cod_adm, Nom_ adm,
|
|
Salle
|
N_salle, N_lit
|
|
Unité
|
Cod_unite
|
|
Service
|
Cod _service, Nom_service
|
|
Garde_patient
|
Mat_gp, Nom_gp, Prn_gp, Sexe_gp, Age_gp, Lien_fam_gp,
Typ_pid, N_pid, Dat_pid, Lieu_pid
|
|
Personnel_m
|
Mat_per_m, Statut_per_m, Nom_per_m, Prn_per_m
|
Ajouter(), modifier(), supprimer()
|
Traitement
|
Cod_tr, Nom_tr
|
|
Mod_sortie
|
Cod_sortie, Nom_sortie,
|
|
Naissance
|
N_naiss, Dat_naiss, Heure_naiss, Etat _naiss, Sexe_naiss,
Poid_naiss, Prn_naiss
|
Ajouter(), modifier(), supprimer()
|
Tab. 2.1Méthodes et attributs des classes
2.3.7 Dictionnaire de données
Codification
|
Désignation
|
Type
|
Taille
|
Observation
|
N_pat
|
Numéro du patient
|
Entier
|
6
|
xxxxxx
|
Nom_pat
|
Nom du patient
|
Caractère
|
20
|
|
Prn_pat
|
Prénom du patient
|
Caractère
|
20
|
|
Sexe_pat
|
Sexe du patient
|
Caractère
|
10
|
|
Dn_pat
|
Date de naissance
|
date
|
8
|
jj/mm/aaaa
|
Ln_pat
|
Lieu de naissance
|
Caractère
|
20
|
|
Prn_père_pat
|
Prénom du père du patient
|
Caractère
|
20
|
|
Nom_mer_pat
|
Nom de la mère du patient
|
Caractère
|
20
|
|
Prn_mer_pat
|
Prénom de la mère du patient
|
Caractère
|
20
|
|
Nat_pat
|
Nationalité du patient
|
Caractère
|
10
|
|
Adr_pat
|
Adresse du patient
|
Caractère
|
50
|
|
Sit_fam_pat
|
Situation familiale
|
Caractère
|
10
|
|
Nom _epou _pat
|
Nom de l'époux
|
Caractère
|
20
|
|
|
du patient
|
|
|
|
Nom_prn_acc
|
Nom de l'accompagnateur
|
Caractère
|
20
|
|
Sexe_acc
|
Sexe de l'accompagnateur
|
Caractère
|
10
|
|
Lien_fam_acc
|
Lien familiale de l'accompagnateur avec le patient
|
Caractère
|
10
|
|
Cont_pat
|
Contact du patient
|
Caractère
|
20
|
|
Tel_cont
|
Téléphone du contact
|
entier
|
10
|
|
Adr_cont
|
Adresse du contact
|
Caractère
|
50
|
|
Mat_gp
|
Matricule de la personne
|
Alpha- numérique
|
5
|
xxxxx
|
Nom_gp
|
Nom du garde-patient
|
Caractère
|
20
|
|
Prn_gp
|
Prénom du garde-patient
|
Caractère
|
20
|
|
Sexe_gp
|
Sexe du garde-patient
|
Caractère
|
10
|
|
Age_gp
|
Age du garde-patient
|
entier
|
2
|
|
Tab. 2.2Dictionnaire de données (partie 1)
Codification
|
Désignation
|
Type
|
Taille
|
Observation
|
Lien_fam_gp
|
Lien familiale du garde- patient avec le patient
|
Caractère
|
10
|
|
Typ_pid
|
Type de pièce d'identité du garde-patient
|
Caractère
|
10
|
|
N_pid
|
Numéro de la pièce d'identité du
garde-patient
|
Entier
|
8
|
|
Dat_pid
|
Date de délivrance de la pièce d'identité
du garde-patient
|
Date
|
8
|
jj/mm/aaaa
|
Lieu_pid
|
Lieu de délivrance de la pièce d'identité du
garde-patient
|
Caractère
|
20
|
|
Cod_adm
|
Code d'admission
|
Caractère
|
10
|
|
Nom_adm
|
Mode d'admission
|
Caractère
|
10
|
|
Dat_adm
|
Date d'admission
|
Date
|
8
|
jj/mm/aaaa
|
Heure_adm
|
Heure d'admission
|
Time
|
4
|
hh :mm
|
Cod_sortie
|
Code de sortie
|
Alpha- numérique
|
3
|
xxx
|
Nom_sortie
|
Mode de sortie
|
Caractère
|
10
|
|
Dat_sortie
|
Date de sortie
|
Date
|
|
jj/mm/aaaa
|
Heure_sortie
|
Heure de sortie entier
|
Time
|
4
|
hh :mm
|
Lieu_evac
|
Nom de l'époux
|
Caractère
|
20
|
|
Nom_tr
|
Diagnostic de sortie
|
Caractère
|
20
|
|
Cod_service
|
Code du service
|
Alpha- numérique
|
2
|
xx
|
Nom_service
|
Nom du service
|
Caractère
|
20
|
|
Cod_unite
|
Code de l'unite
|
Entier
|
2
|
xx
|
Nom_unite
|
Nom de l'unite
|
Caractère
|
20
|
|
N_salle
|
Numéro de la salle
|
Entier
|
2
|
xx
|
N_lit
|
Numéro du lit
|
Entier
|
2
|
xx
|
Cod_tr
|
Code du médicament
|
Alpha- numérique
|
6
|
xxxxx
|
Tab. 2.3Dictionnaire de données (partie 2)
Codification
|
Désignation
|
Type
|
Taille
|
Observation
|
Mat_per_m
|
Matricule du personnel médical
|
Alpha- numérique
|
5
|
xxxxx
|
Statut_per_m
|
Statut du personnel médical
|
Caractère
|
10
|
|
Nom_per_m
|
Nom du personnel médical
|
Caractère
|
20
|
|
Prn_per_m
|
Prénom du personnel médical
|
Caractère
|
20
|
|
N_naiss
|
Numéro de naissance
|
Entier
|
5
|
xxxxx
|
Dat_naiss
|
Date de naissance
|
Date
|
|
jj/mm/aaaa
|
Heure_naiss
|
Heure de naissance
|
Time
|
xx :xx
|
|
Etat_naiss
|
État de naissance
|
Caractère
|
10
|
|
Sexe _naiss
|
Sexe du nouveau-né
|
Caractère
|
10
|
|
Poid_naiss
|
Poids de naissance
|
Entier
|
4
|
En grammes
|
Prn_naiss
|
Prénom du nouveau-né
|
Caractère
|
10
|
|
Tab. 2.4 - Dictionnaire de données (partie 3)
Identification des relations
· Chaque patient est admis dans un seul mode d'admission et
chaque mode d'admission contient un ou plusieurs patients.
· Un patient est affecter à une seule salle qui se
trouve dans une unité d'un service bien déterminé et une
seule salle contient un ou plusieurs patient limité.
· Chaque patient peut être accompagné par une
personne et cette personne peut être un garde patient.
· Le personnel médical suit un ou plusieurs patients
et un patient est suivi par un ou plusieurs agents du personnel
médical.
· Le personnel médical est obligatoirement
affecté dans un seul service et un service contient un ou plusieurs
agents du personnel médical.
· Un patient prend un ou plusieurs médicaments et un
médicament est pris par un ou plusieurs patients.
· Un patient doit être sorti par un mode de sortie et
un mode de sortie est pris par un ou plusieurs patients.
A partir du dictionnaire de données et les règles
de gestion, nous avons pu construire le diagramme de classes :
FIG. 2.19Diagramme de classes
2.3.8 Le modèle relationnel
Du modèle conceptuel au modèle relationnel
A partir de la description conceptuelle que nous avons
effectuée, on peut réaliser le modèle relationnel; vu que
le système d'information ne peut pas le manipulé directement; et
ça en utilisons des règles de passages de l'UML vers le
relationnel.
Quelques notions essentielles
· Domaine : c'est l'ensemble des valeurs d'un attribut.
[ETI09]
· Relation : c'est un sous ensemble du produit
cartésien d'une liste de domaines. C'est en fait un tableau à
deux dimensions dont les colonnes correspondent aux Domaines et dont les lignes
contiennent des tuples. On associe un nom à Chaque colonne. [ETI09]
· Attribut : c'est une colonne d'une relation,
caractérisé par un nom. [ETI09]
· Tuple : c'est la liste des valeurs d'une ligne d'une
relation. [ETI09]
· Cardinalité : elle permet de définir les
conditions de participation d'une entité à une relation.
Toutefois, une entité peut participer à plusieurs relations.
· L'arité : est le nombre d'attributs d'une
relation. [M.C04]
· Clé : On distingue deux types de clés:
Clé primaire : ensemble d'attributs dont les valeurs
permettent de distinguer les n-uplets les uns des autres (notion
d'identifiant).
Clé étrangère : Attribut qui est clé
primaire d'une autre entité.
NB : pour la notation, nous avons choisi de mettre en gras les
clés primaires et de mettre * à la fin de chaque clé
étrangère.
Les règles de passage
1. Transformation des classes : chaque classe du diagramme
UML devient une relation, il faut choisir un attribut de la classe pouvant
jouer le rôle de clé. [C.S02]
Transformation des associations : Nous distinguons trois
familles d'associations
2. Association 1.. : il faut ajouter un attribut de type
clé étrangère dans la relation fils de l'association.
L'attribut porte le nom de la clé primaire de la relation père de
l'association. [C.S02]
3. Association *..* et n-aire et classes-association : la
classe-association devient une relation. La clé primaire de cette
relation est la concatenation des identifiants des classes connectées
à l'association. [C.S02]
4. Association 1.. 1 : il faut ajouter un attribut de type
clé étrangère dans la relation dérivée de la
classe ayant la multiplicité minimale égale à un.
L'attribut porte le nom de la clé primaire de la relation
dérivée de la classe connectée à l'association. Si
les deux multiplicités minimales sont à un, il est
préférable de fusionner les deux classes en une seule. [C.S02]
En appliquant ces règles de transformation d'un diagramme
de classe vers un modèle relationnel, nous avons aboutit au
schéma relationnel suivant :
· Patient (N_pat, Nom_pat, Prn_pat, Sexe_pat, Dn_pat,
Ln_pat, Prn_per_pat, Nom_mer_pat, Prn_mer_pat, Nat_pat, Adr_pat, Sit_fam_pat,
Cont_pat, Tel_cont, Adr_cont, Nom_prn_acc, Sexe_acc, Age_acc, Lien_fam_acc,
Tel_acc, Nom_epou_pat, Dat_adm, Heure_adm, Dat_sortie, Heure_sortie, Cod_adm*,
N_salle*, Nom _sortie* )
· Personnel_m (Mat_per_m, Statut_per_m, Nom_per_m,
Prn_per_m, Cod_service*)
· Garde_patient (Mat_gp, Nom_gp, Prn_gp, Sexe_gp, Age_gp,
Lien_fam_gp, Typ_pid_gp, N_pid, Dat_pid, Lieu_pid, Dat_adm_gp, Heure_adm_gp,
Dat_sortie_gp, Heure_sortie_gp, N_pat*)
· Mod_adm (Cod _adm, Nom_adm)
· Mod_sartie (Cod _sortie, Nom_sortie)
· Traitement (Cod _tr, Nom_tr)
· Service (Cod_service, Nom_service)
· Unite (Cod_unite, Cod_service* )
· Salle (N_salle, N_lit, Cod_unité*)
· Naissance (N _naiss, Dat_naiss, Heure_naiss, Etat_naiss,
Sexe_naiss, Poid_naiss, Prn_naiss, N_pat*)
· Suivre (Mat _per _m,N _pat)
· Subir (Cod _tr, N_pat)
2.4 Conclusion
Dans ce chapitre, nous avons pu concevoir un système
d'information pour le suivi du (des) patient(s) dans un établissement
hospitalier en se basant sur les diagrammes du langage UML à savoir le
diagramme de cas d'utilisation, le diagramme de collaboration, le diagramme de
séquence et le diagramme de classe.
ChaPItre 3
RÉALisATioN
3.1 Introduction
Dans ce chapitre, consacré à la
réalisation et la mise en oeuvre de notre application de suivi des
patients dans un établissement hospitalier, nous allons présenter
les outils de développement adoptés; soit le système de
gestion de base de données Paradox, le langage de manipulation de bases
de données SQL ainsi que l'environnement utilisé qui est Borland
Delphi 7 et enfin nous montrer les principales interfaces et fenêtres de
l'application.
3.2 Outils de développement
3.2.1 Implémentation de la base de
données
La base de données
Une base de données est composée de
données stockées dans des mémoires de masse sous une forme
structurée, et accessibles par des applications différentes et
des utilisateurs différents. Une base de données doit pouvoir
être utilisée par plusieurs utilisateurs en même temps.
[Sca05]
Système de Gestion de Bases de Données
Un SGBD (Système de Gestion de Bases de Données)
est un ensemble de logiciels chargés d'assurer les fonctions minimales
suivantes :
· Le maintien de la cohérence des données
entre elles
· Le contrôle d'intégrité des
données accédées
· Les opérations classiques sur les données
(consultation, insertion, modification, suppression)
· Les autorisations d'accès aux données.
[Sca05]
Et pour la création des tables de notre base de
données on a utilisés Paradox 7 qui est un SGBDR (Système
de Gestion de Bases de Données Relationnelles) édités par
Corel. Il est compatible avec les requêtes SQL (Structured Query
Language) et dispose d'une interface graphique pour saisir les requêtes
(QBE - Query By Example). Il permet aussi de configurer, avec des assistants ou
librement, des formulaires de saisie incorporant des tables filles sans
nécessiter de sous-formulaires, des états imprimables, des pages
html liées aux données d'une base et d'incorporer des fiches
créées sous Delphi. [tea09]
Langage de Manipulation de Bases de Données
SQL (Structured Query Language) est un langage de manipulation
de bases de données mis au point dans les années 70, et il permet
trois types de manipulations :
· La maintenance des tables : création, suppression,
modification de la structure des tables.
· La manipulation des données : sélection,
modification, suppression d'enregistrements.
· La gestion des droits d'accès aux tables :
contrôle des données; droits d'accès, validation des
modifications. [SB07]
3.2.2 Environnement de développement
Qu'est-ce que Delphi?
Borland Delphi est un environnement de développement
de type RAD (Rapid Application Development) basé sur le langage Pascal.
Il permet de réaliser rapidement et simplement des applications
Microsoft Windows XP, Microsoft Windows 2000 et Microsoft Windows 98, avec un
minimum de programmation. [DAR]
Nous avons choisi la version 7 de Delphi car elle fournit
tous les outils nécessaires pour développer, tester et
déployer des applications, notamment une importante bibliothèque
de composants réutilisables, une suite d'outils de conception, de
modèles d'applications, de fiches et d'experts de programmation que les
versions précédentes du logiciel ne possédaient pas.
[Pub02]
Il existe d'autres systèmes de développement
rapide sous Windows mais Delphi est particulièrement très bien
placé grâce à ces propriétés : [GIN09]
Moins de lignes de code et rapidité de compilation
Possibilité d'utiliser des procédures
événementielles partagées
Notion de modèles réutilisables (fiches, menus,
objets)
- Richesse des composants fournis
Assembleur intégré, compilateur en ligne de
commande
Débogage facile au niveau du code source et du
processeur
Possibilité d'allocation dynamique de la mémoire
en utilisant les pointeurs Voici un aperçu de l'interface de travail de
Borland Delphi 7 :
FIG. 3.1Interface de Borland Delphi 7
3.3 Description de l'application
L'application que nous avons conçue permet d'effectuer
les tâches suivantes :
· Les admissions:
- de patients (normale, naissance et accidenté)
de gardes-patient
· Les sorties :
de patients (normale, évacuation et
décès)
de gardes-patient
· L'affichage:
des patients hospitalisés des patients
décédés des patients évacués des patients
guéris
des gardes-patient des naissances
des services
des patients traités
· Les statistiques :
compteur de taille des bases de données
la moyenne des naissances par mois
la moyenne des décès par mois
· Les imprimés :
bulletin d'admission
- billet de salle (patient, garde-patient et naissance)
certificat de séjour certificat de présence
déclaration de naissance déclaration de décès
3.3.1 Menu de l'application
FIG. 3.2Menu de l'application (partie 1)
FIG. 3.3Menu de l'application (partie 2)
3.3.2 Les interfaces de l'application
Le formulaire d'authentification
Au lancement de notre application, un formulaire s'affiche
à l'écran, il nous demandera d'introduire le mot de passe
d'authentification pour accéder au menu principal.
FIG. 3.4Formulaire d'authentification
Si le mot de passe introduit n'est pas valide, alors
l'application revoit message d'erreur suivant
Le menu principal
Après avoir saisi le mot de passe valide, la fenêtre
ci-après s'affiche, elle comporte le menu principal où
l'utilisateur pourra sélectionner la tâche à effectuer.
Le menu de notre application contient sept (07) boutons qui sont
: Fichier, Affichage, Recherche, Statistiques, Imprimer, Outils et Aide.
FIG. 3.5La fenêtre du menu principal
Voici les principaux boutons du menu principal:
FIG. 3.6Le bouton "Nouveau> Admission > Patient"
FIG. 3.8Le bouton "Modifier"
FIG. 3.9Le bouton "Supprimer"
FIG. 3.7Le bouton "Nouveau > Sortie"
FIG. 3.10Le bouton "Affichage"
FIG. 3.11Le bouton "Recherche"
FIG. 3.12Le bouton "Statistiques"
FIG. 3.13Le bouton "Imprimer"
FIG. 3.14Le bouton "Outils"
FIG. 3.15Le bouton "Aide"
Les formulaires de l'application
Nous prenons ici deux exemples, qui sont l'admission et la
suppression d'un patient.
Quand on clique sur le bouton patient du menu "Nouveau >
Admission", le formulaire d'admission s'affiche à l'écran pour
pouvoir saisir les informations du patient à admettre dans
l'hôpital:
FIG. 3.16Le formulaire d'admission
Après avoir saisi toutes les informations de l'admission,
il suffit de cliquer sur le bouton "Enregistrer" pour les sauvegarder dans la
base de données.
Lorsque le bouton "Sortie" du menu "Fichier> Nouveau" est
activé, le formulaire de sortie d'un patient apparaîtra:
FIG. 3.17Le formulaire de sortie
Après avoir introduit sélectionné le patient
à supprimer, il suffit de cliquer sur le bouton "Supprimer" pour pouvoir
l'effacer de la base de données.
3.3.3 Les imprimés
Notre application offre la possibilité d'imprimer des
documents propres à l'établissement hospitalier, grace aux-quels
le bureau des entrées/sorties peut contrôler le patient.
Nous présentons ici deux exemples d'imprimés : Le
bulletin d'admission
Le bulletin d'admission est une fiche imprimée par
l'agent de saisie pour tous les patients lors de leur admission à
l'hôpital, elle comporte les informations de ceux-ci à communiquer
aux médecins traitants.
Pour imprimer un bulletin d'admission à un patient
donné, il suffit d'aller dans le menu "Imprimer" et choisir le sous-menu
"Patient" ensuite cliquer sur le bouton "Bulletin d'admission, une petite
fenêtre apparaîtra demandant d'introduire le numéro du
patient comme illustré ci-dessous :
Après avoir sélectionné le patient, cliquer
sur "Imprimer" pour lancer l'impression, ou sur "Aperçu avant
impression" pour voir apparaître l'état d'impression suivant:
Le billet de salle
Le billet de salle est une fiche imprimée qui renvoi les
informations du patient ainsi que le service et la salle dont il est
installé.
L'impression d'un billet de salle s'effectue en cliquant dans
le sous-menu "Patient", du menu "Imprimer", sur le bouton "Billet de salle",
alors le petit formulaire suivant demande d'introduire le numéro du
patient :
Après sélection du patient, cliquer sur "Imprimer"
pour lancer l'impression, ou sur "Aperçu avant impression" pour voir
apparaître l'état d'impression suivant :
3.4 Description des requêtes
3.4.1 La liste des patients admis
Cette requête renvoi le liste des patients à partir
de la table Patient, sa forme en SQL est:
Select * From Patient
3.4.2 La liste des gardes patients
Cette requête permet d'afficher la liste des gardes-patient
à partir de la table Garde_patient, sa forme en SQL est :
Select *
From Garde _patient
3.4.3 La liste des services
La requête suivante affiche tous le services de
l'hôpital et sa forme en SQL est :
Select * From Service
3.4.4 La liste des nouveaux-nés
L'affichage de la liste de tous les nouveaux-nés à
partir de la table Naissance se réalise grâce à cette
requête :
Select *
From Naissance
3.4.5 La liste des patients traités
La requête suivante nous permet de faire la jointure
entre les deux tables patient et Personnel_m pour pouvoir sélectionner
le nom du médecin qui a traité le patient, et entre les deux
tables Patient et Traitement pour la sélection du nom du traitement subi
par le patient.
Select N_pat, Nom_pat, Prn_pat, Nom_per_m, Nom_tr
From patient, personnel_m, traitement, subir, suivre
Where patient.N_pat = subir.N_pat And (patient .N_pat =
suivre.N_pat) And (subir.Cod_tr=traitement.Cod_tr)
And (suivre. Mat _per_m=personnel_m. Mat_per_m)
3.4.6 La sortie par évacuation d'un patient
Cette requête permet d'enregistrer la sortie d'un patient
de l'hôpital, par évacuation et sa forme en SQL est comme suit
:
Select *
From Patient, Mod_sortie
Where (Patient .Cod _sortie=Mod _sortie. Cod_sortie) And (Cod
_sortie= '2')
Cette requête SQL permet de faire la jointure entre les
tables Patient et Mod_sortie et cela pour renvoyer le patient dont le matricule
du mode de sortie est '2' qui correspond à une sortie par
évacuation.
3.4.7 La sortie normale (guérison) d'un patient
Cette requête est utilisée pour faire sortir un
patient guéri, et elle s'écrit de la même façon que
la requête précédente, avec le matricule du mode de sortie
est '1' qui correspond à une sortie normale (guérison)
c'est-à-dire :
Select *
From Patient, Mod_sortie
Where (Patient .Cod _sortie=Mod _sortie. Cod_sortie) And (Cod
_sortie= '1')
3.4.8 Recherche d'un patient par numéro
Select *
From Patient
Where N_pat= n_pat.text
Où "n_pat.text" est le texte saisi dans le champ du
formulaire de recherche de patient par numéro.
3.4.9 Compteur de taille des Bases De Données
Le nombre de patients
Select
Count (N_pat) From patient
Le nombre de décès
Select
Count (N_pat)
From patient, mod_sortie
Where patient. Cod _sortie=mod_sortie. Cod_sortie And patient.
Cod_sortie= '3'
Le nombre de naissances
Select
Count (N_naiss) From naissance
3.5 Conclusion
Dans cette dernière partie de notre projet, nous avons
présentés les différents outils du développement de
notre application ainsi que ses interfaces essentielles.
Conclusion générale et perspectives
A
U cours de ce mémoire, nous avons
présenté les différentes étapes de la conception et
la réalisation de notre application pour le suivi des patients dans un
établissement hospitalier.
Afin de satisfaire les besoins des utilisateurs nous avons
commencé la conception en utilisant le formalisme UML et la mise en
oeuvre des bases de données avec le gestionnaire de bases de
données Paradox ensuite l'implémentation des requêtes SQL
pour la manipulation des données et enfin la concrétisation de
l'application sous l'environnement de programmation Borland Delphi 7.
Ce projet a fait l'objet d'une experience intéressante,
qui nous a permis d'améliorer nos connaissances et nos
compétences dans le domaine de la programmation.
Cependant des perspectives d'améliorations de notre
application restent envisageables telles que l'enrichissement du menu des
statistiques en introduisant des graphes ainsi que l'amélioration de la
qualité des renseignements avec une recherche multi-critères.
Bibliographie
[Com04] Cellule Communication. Trait d'Union. Hopital d'akbou
edition, 2004.
[C.S02]C.SOUTOU. De UML à SQL - La conception de base de
données. Eyrolles edition, 2002.
[DAR] Jérôme DARMONT. Programmation sous Delphi.
Faculté de Sciences
Economiques et de Gestion - Université Lumière Lyon
2.
[DUM08] Définition et caractéristique d'UML.
2008.
[ETI09] Hugo ETIEVANT. Webzine de vulgarisation des sciences et
techniques. http : //
cyberzoide.developpez.com,
2009.
[GAB04] Joseph GABAY. Merise et UML pour la modélisation
des systèmes d'information, volume 5. Dunod edition, Mars 2004.
[GIN09] Maurice GINDENSPERGER. Delphi7 - Support de formation
(1/3) - Initiation à Delphi, volume 5.1. 2009.
[J.S03] J.STEFFE. De Merise à UML. Enita de bordeaux
edition, Janvier 2003.
[LAT01] Jean-Pierre LATOUR. Les diagrammes UML; les
conséquences du passage à l'OO - Annexe. Division Consultance -
Section des Recherches, Février 2001.
[M.C04] M.CONTENSIN. bases de donnée et Internet avec PHP
et MYSQL. Dunod edition, 2004.
[NK01] Pascal PARE Camille ROSENTHAL-SABROUX Nasser KETTANI,
Dominique MIGNET. De Merise à UML. Eryolles france edition, Octobre
2001.
[PAM05] Nathalie GAERTNER Pierre-Alain MULLER.
Modélisation objet avec UML. Eyrolles edition, Avril 2005.
[Pub02] Borland Technical Publications. Prise en main de Delphi
7. 2002.
[SB07] Nazih SELMOUNE Souad BOUKHEDOUMA. Bases de
données et SGBD. Les manuels de l'étudiant. http ://
www.pagesbleues-editions.com,
pages bleues edition, 2007.
[Sca05] Robert Michel Di Scala. Les bases de l'informatique et de
la programmation. Berti d'alger edition, 2005.
[tea09] Wikipedia team. Créer des tables avec Paradox.
http : //
www.wikipedia.com, 2009.
|