Gestion des urgences d'un hopital

Signaler
Messages postés
4
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
24 mars 2006
-
Messages postés
314
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
31 août 2006
-

6 réponses

Messages postés
40
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
26 octobre 2007

Bonsoir paulcouan



Il n'y a rien dans ton post, pas même un fichier. Pas facile de t'aider.



Cordialement
Messages postés
4
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
24 mars 2006

voici l'intitulé du travail à faire

On s'intéresse à la gestion des lits dans un service d'urgence. A son arrivée au service, un patient donne son nom, son prénom, son numéro de sécurité sociale et se voit attribuer un numéro correspondant à l'ordre de son arrivée (ceci peut être l'heure de son arrivée mais pour simplifier, on considère que c'est juste un numéro).

Première version.
Dans un premier temps, on suppose que le traitement des patients se fait dans l'ordre de leur arrivée. Donc le mécanisme est une file d'attente (First In First Out).
Travail à faire :
1. définir le type patient
2. définir une file de patients pour gérer le flux des patients : définir le type File, les primitives d'ajout, de suppression, etc.
3. écrire un programme GestionUrgences pour simuler les arrivées des patients et leur traitement.

Deuxième version.
En réalité, la gestion des interventions dans le service ne respecte pas totalement l'ordre premier arrivé, premier servi. En effet, la gravité de l'urgence détermine, en partie, l'ordre de passage. On se propose dans cette partie de simuler ce comportement en mettant en oeuvre trois files de priorité : la première correspond à un niveau urgence très élevé, le seconde à des cas pouvant attendre et la troisième aux cas jugés pas du tout graves.

Réécrire votre programme GestionUrgences en prenant en compte ces nouvelles contraintes.

Troisième version.
Concevoir les différentes interfaces graphiques pour pouvoir saisir l'arrivée d'un patient et pour afficher le départ d'un patient.




voici le code que j'ai fait pour l'instant mais ca ne marche pas il m'affiche erreur d'execution 6 depassement de capacite.




Private Type patient
nom As String
prenom As String
numsecu As Integer
numari As Integer
End Type

Private Type file
contenu(100) As patient
queue As Integer
taille As Integer
tete As Integer
End Type
'creation de la file ou on va enregistrer les patients
Private Sub file_creer(f As file, t As Integer)
f.queue = 0
f.taille = t
f.tete = 0
End Sub
'fonction pour verifier si la file est vide
Private Function file_vide(f As file) As Boolean
If (f.tete = f.queue) Then
file_vide = True
Else
file_vide = False
End If

End Function

'fonction pour verifier si la file est pleine
Private Function file_pleine(f As file) As Boolean
If (f.tete = (f.queue + 1) Mod f.taille) Then
file_pleine = True
Else
file_pleine = False
End If
End Function
'procedure de saisie d'un patient
Sub saisiepatient()

Dim i As Integer
Dim j As Integer
Dim p As patient
'lecture des info du patient
nb = 1
While (Feuil1.Cells(nb + 1, 1) <> Empty)

p.nom = Feuil1.Cells(nb + 1, 1)
p.prenom = Feuil1.Cells(nb + 1, 2)
p.numsecu = Feuil1.Cells(nb + 1, 3)
p.numari = Feuil1.Cells(nb + 1, 4)

nb = nb + 1
Wend
nb = nb - 1

End Sub
'procedure d'ajout d'un patient dans la file
Private Sub ajouterpatient(f As file, e As patient)
Call saisiepatient
If (file_pleine(f) = False) Then
f.contenu(f.queue) = e
f.queue = (f.queue + 1) Mod f.taille
End If

End Sub
'procedure pour enlever un patient de la file
Private Sub enleverpatient(f As file)
If (Not file_vide(f)) Then
f.tete = (f.tete + 1) Mod f.taille
End If


End Sub
'fonction qui renvoie la tete de la file
Private Function file_tete(f As file) As patient
If (Not file_vide(f)) Then
file_tete = f.contenu(f.tete)
End If

End Function

Private Sub gestionpatient()
Dim f As file
Dim p As patient

Call file_creer(f, 10)
i = 1
While (i < 100)
Call ajouterpatient(f, p)
i = i + 1
Wend


While (file_vide(f) = False)
MsgBox (file_tete(f).nom)
MsgBox (file_tete(f).prenom)
MsgBox (file_tete(f).numsecu)
MsgBox (file_tete(f).numari)
Call enleverpatient(f)
Wend

End Sub
Messages postés
314
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
31 août 2006
1
Houai! Pas très clair tous ça! tu développe avec quoi? ta base de données est sous quel format? (Access, SQL, Sybase, Oracle,....)
Ton message d'erreur arrive dans quel circonstances? ( à l'ouverture d'un formulaire, sur l'exécution d'un événement, d'une macro, d'une fonction,....)
Bref balancé une résumé du travail qu'il t'est demandé avec un copier/coller d'une partie de ton code en espérant que l'on va trouver l'erreur comme ça, ça me fait rire
Je sais bien que les développeurs présents sur le site sont des bons, mais quand même, un minimum d'explication ne serait pas superflu
Messages postés
4
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
24 mars 2006

salut et merci de t'interesser à mon probleme.

pour commencer je suis debutant je ne suis pas du tout programmeur de formation j'essaie d'apprendre. ensuite je n'utilise pas de base de donnees. pour ma part et si j'ai compris le sujet il suffit juste de creer une file patient et de la gerer a partir d'une interface graphique de telle sorte à pouvoir ajouter un patient ou en supprimer(un patient ayant un nom, prenom,numero de secu et mumero d'arrivé dans le service d'urgence) pas besoin donc de bases de données dans la mesure ou justement les informations sont stockes dans la pile, en tout c
Messages postés
4
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
24 mars 2006

salut et merci de t'interesser à mon probleme.

pour commencer je suis debutant je ne suis pas du tout programmeur de formation j'essaie d'apprendre. ensuite je n'utilise pas de base de donnees. pour ma part et si j'ai compris le sujet il suffit juste de creer une file patient et de la gerer a partir d'une interface graphique de telle sorte à pouvoir ajouter un patient ou en supprimer(un patient ayant un nom, prenom,numero de secu et mumero d'arrivé dans le service d'urgence) pas besoin donc de bases de données dans la mesure ou justement les informations sont stockes dans la pile, en tout cas je vois les choses comme ca.
ensuite il faut creer une autre file qui contient le degré d'urgence du poatient qui arrive et selon ce degré d'urgence, gerer maintenant les patients de tel sorte que ce ne soit plus premier arrivé premier traité mais plus tot cas le plus urgent=premier cas traité.
je devellope avec VBA sous excel et je pense que c'est faisable aussi avec VB. voila j'espere t'avoir suffisament eclairé.

la partie du code que voici

While (Feuil1.Cells(nb + 1, 1) <> Empty)

p.nom = Feuil1.Cells(nb + 1, 1)
p.prenom = Feuil1.Cells(nb + 1, 2)
p.numsecu = Feuil1.Cells(nb + 1, 3)
p.numari = Feuil1.Cells(nb + 1, 4)

nb = nb + 1
Wend
nb = nb - 1

End Sub


me permet de verifier sous excel si j'ai des elements(des patients), mon algorithme est peut etre faux. bien sur sous VB cela n'a plus sa raison d'etre dans la mesure ou on n'a plus de feuile excel.

voila n'hesitez pas a me contacter pour plus d'info.
Messages postés
314
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
31 août 2006
1
rien à voir! que tu sois sous excel ou vb la programation est sensiblement la même. Seul l'accès au données est différente.
Par ailleurs je te confirme qu'il doit être possible de faire ce que tu souhaite directement sur excel avec un ou deux formulaires en plus. Cependant pour y assurer l'intégrité des données si tu as plusieurs milliers de lignes ça risque de ne pas être évident et surtout très très long lors du traitement de ces données.
Pour ma part je te conseillerais quand même de faire une petite base de données sur Access par exemple. Ce serait plus sûr pour tes données, plus rapide pour leur traitement, programable au moins autant qu'excel sinon plus et pour les formulaires beaucoup plus simple. Excel est avant tout un tableur