4.4.3 Implémentation sous ACESS
L'implémentation de ce système ayant
pour but de respecter les attentes des utilisateurs s'est faite en quatre
étapes : création des tables, écritures des requêtes
SQL, création des formulaires, configuration et chargement de la
BD.
> Les tables et le modèle physique de
données
Les tables
Le modèle E/A ci-dessus défini se traduit
par le modèle relationnel suivant où 13 tables sont
créées:
CDT (IdCDT, Nom, IdStatut,
IdType,
IdPyramide)
STATUTCDT (IdStatut)
TYPESTRUCTURE (IdType, Nom)
PYRAMIDE (IdPyramide, Nom, IdParent,
IdNiveau )
NIVEAU (IdNiveau)
ANNEE (IdAnnee)
TRIMESTRE (IdTrimestre, Nom,
IdAnnee)
RAPPORT (IdRapport, Nom,
IdTrimestre, IdCDT,
dateReception)
ValeurIndicateur (IdRapport,
IdIndicateur, Valeur) : Relation N:N entre Rapport et Indicateur
INDICATEUR (IdIndicateur, Nom, IdTypeIndicateur,
IdGroupe)
TYPEINDICATEUR (IdTypeIndicateur, Nom)
GROUPE (IdGroupe, Nom,
IdTableau)
TABLEAU (IdTableau, Nom)
Les clés primaires des relations sont
indiquées en gras. Les clés étrangères en
italique.
Deux autres tables sont créées
(UTILISATEUR, PROFIL). Leur rôle est de sauvegarder les codes
d'accès à la base de données.
UTILISATEUR (IdUtilisateur, Nom, Prénom, Login,
Password, IdProfil)
PROFIL (IdProfil, Nom)
Tableau 6 : Description du rôle des
tables présentes dans la B.D
Tables
|
Rôle
|
Rôle commun
|
CDT
|
Contient les données d'identification
d'un CDT
|
sauvegarder les données relatives aux SI du
PNLT
|
STATUTCDT
|
Contient la liste des statuts (Public,
Privé Confessionnel, Privé laïc, para public) d'une
formation sanitaire
|
TYPESTRUCTURE
|
Contient les éléments qui permettent
de définir la typologie d'une formation sanitaire (Hôpital
Général, Hôpital Central, Hôpital Régional,
Hôpital de District, Centre médical d'Arrondissement, Centre
de Santé
|
Tables
|
Rôle
|
Rôle commun
|
|
Intégré)
|
|
PYRAMIDE
|
Contient la liste des districts de santé
et des régions
|
NIVEAU
|
Contient la liste des différents niveaux du
système de santé
|
ANNEE
|
Contient la liste des années
|
TRIMESTRE
|
Contient la liste des trimestres définis
par année
|
RAPPORT
|
Contient la liste des rapports
mensuels d'activités à produire
|
VALEURINDICATEUR
|
Contient pour chaque rapport produit par le CDT, les
valeurs des différents indicateurs
|
INDICATEUR
|
Contient la liste de tous les
indicateurs définis et à renseigner par le
programme
|
TYPEINDICATEUR
|
Contient les types d'indicateurs à renseigner
(Dépistage ou Cohorte)
|
GROUPE
|
Contient la liste des grandes familles auxquelles
sont rattachés les indicateurs
|
TABLEAU
|
Contient la liste des tableaux qui englobe ces
groupes.
|
UTILISATEUR
|
Contient la liste des utilisateurs ayant le droit
d'administrer ou de modifier la BD
|
Sauvegarder les codes d'accès à la
base de données
|
PROFIL
|
Contient la liste des profils du
système (Administrateurs et Utilisateurs)
|
Le Modèle Physique de données
(MPD)
Il se déduit du modèle conceptuel de
données par l'application de certaines règles. Il sera
utilisé par l'application pour assurer sa cohérence.
Figure 6 : Schéma du MPD correspondant au SI
La figure suivante présente le schéma du
MPD pour la sécurisation de la BD
Figure 7 : Schéma du MPD pour la sécurisation
du SI
> Les requêtes
L'un des éléments les plus puissants
d'une base de données est la capacité de faire une recherche sur
une masse de données entreposée dans la base de données.
Il est ensuite possible de faire des analyses et d'en sortir des
tendances.
Nous avons eu à faire trois types de
requêtes : les requêtes croisées, les requêtes
courantes et les requêtes graphiques. Il s'agissait de présenter
la répartition par tranches d'âge, par sexe et par CDT des
nouveaux cas de tuberculeux ; la répartition par âge, par sexe et
par région des nouveaux cas de tuberculeux ; la répartition des
cas de tuberculose (TPM+, TPM-, TB extra pulmonaire) CDT, par région,
par trimestre, par an ; les états sur la coïnfection TB/VIH par
CDT, par région, par trimestre, par an ; les états trimestriel
sur le résultat de traitements des nouveaux cas de TB par CDT, par
région, par an ; les évolutions annuelles des cas de tuberculose
dépistés au niveau national. Les requêtes de mise à
jour ont également été créées pour assurer
la cohérence temporelle de notre base.
> Les formulaires
Les formulaires servent à mieux
présenter l'information qui se retrouve dans les différentes
tables. Il est aussi plus conviviale ou pratique d'entrer l'information dans un
formulaire que directement dans une table ou une requête.
Il s'agit des éléments qui assurent
l'interface avec l'utilisateur dans l'environnement Microsoft ACCESS, ce sont
des fenêtres graphiques. Nous n'en citerons ici que quelques
unes:
Tableau 7 : Récapitulatif de rôle des
principaux formulaires du SI
Nom du formulaire
|
Rôle
|
Connecte (entrer code
sécurité)
|
Permet la connexion (Login, Password, Connexion,
Quit application)
|
Démarrage
|
Sert de menu pour accéder à tous
les composants du système
|
Actualisation des données du dépistage /
RTA3
|
Permet de faire la saisie, mise à jour
des données du dépistage
|
Actualisation des données de cohorte /
RTA
|
Permet de faire la saisie, mise à jour
des données de cohorte
|
Requêtes/Graphiques
|
Permet de visualiser les données de
dépistage et de cohorte du PNLT. Il Contient des liens
vers plusieurs autres requêtes ou formulaires qui informent sur la
situation épidémiologiques suivant le CDT, la
région
|
Administrateur
|
Permet à l'administrateur de pouvoir
accéder aux tables de la BD
|
Codes des commandes des différents
formulaires
Nous présenterons les codes de certains boutons de
commande clés que l'on retrouve dans nos différents
formulaires.
Formulaire : ENTRER CODE SECURITE
Bouton de commande : Connexion
Private Sub cmd_Connexion_Click()
3 R.T.A signifie Rapport
Trimestriel d'Activités
Me.Requery
Dim sql As String
Dim rs As DAO.Recordset
Static i As Byte
sql = "SELECT * FROM UTILISATEUR WHERE Login ='" &
Me.txt_login & "' AND Password ='" & Me.txt_Password &
"'"
Set rs = CurrentDb.OpenRecordset(sql)
If Not rs.EOF Then
gProfil = rs!IdProfil
DoCmd.OpenForm "DEMARRAGE", acNormal, , , ,
acWindowNormal DoCmd.Close acForm, "ENTRER CODE SECURITE"
Else
MsgBox "(Identifiant, Mot de Passe) incorrect ",
vbInformation, "Connexion"
i = i + 1
End If
If i = 3 Then
MsgBox "Vous avez dépassé le nombre de
tentatives autorisés", vbCritical DoCmd.Quit
End If
End Sub
Bouton de commande : Quit
application
Private Sub Commande11_Click()
On Error GoTo Err_Commande11_Click If Me.Dirty Then
Me.Dirty = False DoCmd.Quit
Exit_Commande11_Click:
Exit Sub
Err_Commande11_Click:
MsgBox Err.Description
|