Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

fagrabb

XLDnaute Nouveau
Bonjour à tous !

Je travaille dans le secteur hospitalier. Je souhaiterais mettre en place, pour le service des urgences, un indicateur du "taux d'occupation ponctuel", ce que je définis par : le nombre de patient présents dans le service d'urgences dans une tranche horaire donnée (18h-19h), pour une période donnée.

L'indicateur serait à visée rétrospective : je souhaiterais pouvoir dire, à titre d'exemple, qu'il y a eu en moyenne 7 patients dans la tranche 18h-19h, en janvier 2009.

Mon objectif est de pouvoir identifier les pics d'activité récurrents afin d'apporter une aide au médecin et infirmier en chef à répartir au mieux leurs effectifs.

Pour ce faire, je dispose d'un fichier qui contient les données suivantes :

N°patient | Date Admission | Heure Admission | Date Sortie | Heure sortie

En fonction du service d'urgences et de la période, la taille peut varier de 1.000 à 60.000 lignes. Chaque ligne correspond au passage d'un patient.

Je souhaiterais obtenir un tableau dans lequel j'aurais :

- en colonnes, les tranches horaires (par pas de 1h)
- en lignes, les jours de l'année (01/01, 02/01, ... 07/08, ..., 31/12.

Avec au centre, la somme du nombre de patients qui étaient présents dans le service dans la tranche horaire et à la date correspondants.

* même si le patient est sorti à 23h03, je considèrerai tout de même qu'il était présent dans la tranche horaire 23h-24h.

Ma difficulté réside dans le fait qu'un patient puisse arriver à 23h et sortir le jour suivant à 2h30 OU qu'un patient puisse arriver le 03/03/2009 à 10h47 et sortir le 05/03/2009 à 9h12.

Etant donné la multitude de cas de figure possible, j'ai pensé qu'il faudrait créer une règle "générique", applicable à tous les cas de figure, mais si je suis assez débrouillard, j'avoue que ce problème dépasse mes compétences.

Je vous serais très reconnaissant si vous puissiez m'apporter une piste de réflexion ou un bout de code/condition qui me permettrait d'avancer.

Merci d'avance ! :)

PS : j'ai fait une recherche assez approfondie de ce qui pourrait m'aider mais je n'ai pas trouvé de cas qui traitait d'une plage horaire étendue sur plusieurs jours. Si je suis passé à coté d'un fil, veuillez m'en excusez.
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Bonjour,
Je ne sais comment sont saisies les données ni la configuration du classeur,
mais si tu connais l'effectif au départ, si tu incrémentes/décrémentes cette effectif à chaque entrée/sortie et que tu sauvegardes ce chiffre en indiquant le jour et l'heure...tu auras ton effectif en temps réél et une visu de l'effectif à une date précises pour éventuellement faire des stats
A+
kjin
 

hoerwind

XLDnaute Barbatruc
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Bonjour, salut kjin,

Sous un tableau cela doit être faisable avec la fonction SOMMEPROD, et avec une pièce jointe reprenant les données et le tableau (vierge) tel que tu l'envisages, ce sera plus facile pour te montrer comment faire.
 

fagrabb

XLDnaute Nouveau
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Bonjour!

Merci pour vos réponses.

@ kijn

Je ne dispose pas (encore) de données en temps réel.

Je crée une requête SQL qui extrait le fichier dont j'ai besoin depuis les bases de données patients.

Je souhaiterais exploiter le fichier excel résultant de ma requête.

Mais je garde ton idée sous le coude, quand je m'attaquerai à la problématique "en temps réel".

@ hoerwind

Je joins un fichier qui reprend quelques lignes "type" que j'obtiens dans mon fichier. La table "cible" est à droite du tableau.

Merci de votre aide.
 

Pièces jointes

  • TpsOccupationPonctuel.zip
    12.4 KB · Affichages: 235

hoerwind

XLDnaute Barbatruc
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Re,

Vois la proposition de formule en pièce jointe.
J'ai du modifier le format des heures (ligne 3) pour qu'elles soient reconnus par Excel.
il manquait également une plage dans ton exemple (de mémoire entre 5:00 et 6:00), j'ai supposé qu'il s'agissait d'une petite faute d'inattention.

Je n'ai pas vérifié si les résultats sont exacts, je te laisse faire.
Dis-nous quand même si c'est ce que tu attends.
 

Pièces jointes

  • Copie de TpsOccupationPonctuel V2.zip
    10.5 KB · Affichages: 305
Dernière édition:

hoerwind

XLDnaute Barbatruc
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Re,

Petite erreur de fichier, ce n'était pas la dernière version.

Modifie la formule en H4 comme suit :
Code:
=SOMMEPROD(($B$2:$B$46=$G4)*($C$2:$C$46<=I$3)*($E$2:$E$46>H$3+($D$2:$D$46-$B$2:$B$46)*24))
à copier vers le bas et vers la droite.
 

fagrabb

XLDnaute Nouveau
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Merci, hoerwind!

Je suis en train de jeter un oeil à ton fichier. Je n'avais jamais utilisé la fonction sommeprod auparavant.

Le seul aspect que la fonction ne prend pas en compte concerne le cas ou le patient est admis au jour J et sort au jour J+i.

Voir cas de figure aux lignes 2, 3 et 15, dans les données.

J'ai essayé d'adapter la formule mais sans résultat...
 

pierrejean

XLDnaute Barbatruc
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

bonjour Fagrabb

Un essai

A tester avec soin
PS:Si l'hopital est competent en gériatrie me reserver une place S.T.P

Edit: Salut a mes predecesseurs
 

Pièces jointes

  • fagrabb.zip
    19.4 KB · Affichages: 162
  • fagrabb.zip
    19.4 KB · Affichages: 165
  • fagrabb.zip
    19.4 KB · Affichages: 173
Dernière édition:

hoerwind

XLDnaute Barbatruc
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Re, salut pierrejean,

Je viens aussi de le remarquer !

Nouvel essai en pièce jointe, il me semble qu'on est dans le bon, à vérifier aussi !

Edition :
Pierrejean, je n'avais pas ouvert ton fichier avant d'envoyer le mien.
Dommage que tu n'aies pas mis ta macro sur le fichier exemple, on aurait pu comparer les résultats.
 

Pièces jointes

  • Copie de TpsOccupationPonctuel V3.zip
    12.5 KB · Affichages: 221
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Re

J'ai repris une erreur dans mon fichier. Le voici donc a nouveau (mais toujours a tester)
J'ai repris les valeurs du dernier fichier de Hoerwind et comparé nos resultats : peu de differences et j'enquete . Ceci se trouve dans le fichier fagrabb_v2

Edit : derniere mouture avec controle manuel dans la tranche 11h00 12h00
@ hoerwind : j'ai enregistré a 10 a 11 pour une sortie a 11h00 (<=)
Je suppose que notre difference est ici
 

Pièces jointes

  • fagrabb_v2.zip
    23.8 KB · Affichages: 182
  • fagrabb.zip
    21.3 KB · Affichages: 100
  • fagrabb.zip
    21.3 KB · Affichages: 101
  • fagrabb.zip
    21.3 KB · Affichages: 117
Dernière édition:

fagrabb

XLDnaute Nouveau
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Bonjour pierrejean et hoerwind,

je ne vous ai pas oubliés et rassurez vous, je ne suis pas parti sans demander mon reste.

J'ai eu (hier) une fin de journée animée et (today) une journée chargée de réunions.

Merci pour vos contributions !

Malheureusement, hoerwind, je pense que la formule n'est pas applicable à mon fichier complet...de 43000 lignes.

Sommeprod déclare forfait quand je sélectionne une plage de données > à 10.000 lignes...

pierrejean, merci pour ton développement VBA ! J'ai regardé le programme et c'est vraiment complexe. Je n'y serais pas arrivé.

Par contre, quand je lance la macro avec mes milliers de lignes, elle bug à ce niveau :

For Each cel In Sheets("Feuil2").Range("A2:A337")
If cel - jfin = 0 Then
lignesort = cel.Row
Exit For
End If
Next cel

J'ignore pourquoi...

En tout cas, je tenais déjà à vous remercier du temps que vous m'avez consacré, c'est plus qu'espéré ! Et je suis certain que l'outil final me sera d'une aide certaine...

... et permettra de rendre le passage aux urgences de près de 45.000 patients par an plus agréable...
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Re

Une raison possible est un defaut d'ecriture dans la date de sortie

Une solution pourrait etre un controle de validité mais ce serait au detriment du temps d'execution qui doit deja etre consequent
Je suggere dans un 1er temps ceci:
dans vba Editor lors du bug promener le curseur sur n ce qui devrait donner le numero de la ligne incriminée et aller voir en Feuil1 si la date de sortie est correcte
Cette valeur ainsi que jfin (proceder de la même manière) sera de tout façon instructive
Si tu n'y arrives pas on passera au plan B (controle de validité et eventuellement controle d'erreur)
 

hoerwind

XLDnaute Barbatruc
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Bonjour,

Heureux d'avoir pu te rendre un petit service !

Pour contourner le problème de la taille (une moyenne de 120 patients par jour !), ce qui n'avait pas été précisé au départ (dommage), on pourrait songer à créer un fichier par mois, ce qui représente quand même encore quelques 3600 données par fichier, ou même par semaine.
Puis créer un fichier récapitulatif qui ne récupère que les résultats de chaque fichier.

A toi de voir !
 

fagrabb

XLDnaute Nouveau
Re : Calcul de taux d'occupation ponctuel en fonction de l'admission et de la sortie

Je pense, après vérification, qu'il y a une erreur dans la date de sortie. En fait, il s'agit d'un patient encodé 3 fois à l'admission et dont le séjour n'a toujours pas été fermé.

Dans mon fichier, le format est le suivant : aaaammjjhhmm. Je transforme celà en format lisible via deux betes fonctions date et temps avec les stxt de rigueur.

Donc, pour ces enregistrements, comme la sortie indique 999999999999, ma transformation résulte en un "#NOMBRE", ce qui, évidemment, fait foirer le programme.

Je réessaye tout de suite avec des données correctes.

EDIT : bon, c'est parti pour un essai sur plus de 40.000 lignes...
 
Dernière édition:

Discussions similaires

Réponses
15
Affichages
949

Statistiques des forums

Discussions
311 730
Messages
2 081 978
Membres
101 854
dernier inscrit
micmag26