- Un des tout premiers questionnaires, après le calcul de l’IMC, est le calcul des dates de grossesse pour alimenter un Calendrier Gestationnel.
- MedyCS possèdent de nombreuses fonctions de manipulation des dates,
Aujourdhui :
- La plus simple est Aujourdhui() qui retourne la date du jour
- Son équivalent est MAINTENANT
- Son alias est NOW (équivalent court)
- Dans un champ date nous pouvons écrire la date du jour en plaçant AUJOURDHUI() dans la “Valeur par défaut”
DATEADD :
- DATEADD permet d’ajouter ou de soustraire du temps à une date
- Il comporte 3 arguments séparés par des ;
- L’unité de temps à ajouter (jour, semaine, mois ou année)
- Le nombre d’unités à ajouter ou à soustraire (nombre de jours etc …)
- La Date de référence
- Il retourne la nouvelle date.
- Exemple 1 :
-
Calcul de la date de conception à partir de la date des dernières règles
- ALGORITHME : Date de conception = Date des dernières règles + 2 semaines
- SYNTAXE : DATEADD ( ww; 2 ;{DDR} )
- Exemple 2 :
-
Calcul des la Date de Règles Théoriques d’après la Conception
- ALGORITHME : Date des dernières règles Théoriques = Date de conception – 2 semaines
- SYNTAXE : DATEADD ( ww; -2 ;{DDG} )
- Exemple 3 :
-
Calcul de la date de l’accouchement :
- ALGORITHME : Date de début de grossesse + 9 mois
- SYNTAXE: DATEADD ( m; 9 ;{DDG} )
La construction de dates dans les questionnaires MedyCS se fait avec l’assistant du module “Doctor.exe”
- Exemple 4 :
-
Calcul du début du 6° mois
- Algorithme : Date de conception + 5 mois
- Syntaxe : DATEADD(m; 5; {DDG} )
- Exemple 6 :
-
Calcul de la fin du 6° mois
- La c’est un peu plus subtil car tous les mois n’ont pas la même longueur, et il n’existe pas de fonction “DernierJourduMois()”
- Algorithme : Le dernier jour du mois est strictement équivalent à la veille du Premier jour du mois suivant.
- Syntaxe : DATEADD(d; -1; DATEADD(m; 6; {DDG}) )
- Il est également possible de simplifier la formule grâce aux variables intermédiaires
- @@_PN7_1 := DATEADD(m; 6; {DDG})
- @@_ := DATEADD(d; -1; {V:_PN7_1} )
- Mais le plus est de créer une question {PN7_DEBUT}, et de calculer ensuite le jour précédent
- FIN_PN6 =>
- DATEADD(d; -1; {PN7_DEBUT} )
- FIN_PN6 =>
- La c’est un peu plus subtil car tous les mois n’ont pas la même longueur, et il n’existe pas de fonction “DernierJourduMois()”
- Exemple 7 :
-
Calcul de la date à 12 SA :
- Algorithme : DDR + 12 Semaines
- Syntaxe : DATEADD(ww; 12; {DDR} )
- Équivalent : DATEADD(ww; 10; {DDG} )
- Exemple 8 :
-
Calcule du début du congé prénatal
- Algorithme : Date de l’accouchent – 6 semaines
- Syntaxe : DATEADD(ww; -6, {DPA})
DATEDIFF :
- DateDiff permet de calculer la différence entre 2 dates, c’est à dire la durée du temps écoulé.
- Comme DateAdd il admet 3 arguments :
- L’unité de temps
- La Date Antérieure (ou date de début du compteur)
- La Date Postérieure (ou date de fin du décompte)
- Il retourne un nombre entier ou un nombre réel (selon l’unité)
- Exemple 1 :
-
Calcul des Semaines d’Aménorrhée
- Algorithme : Temps écoulée entre la Date des Règles et Aujourdh’ui en semaines
- Syntaxe : DATEDIFF(wwd; {DDR}; AUJOURDHUI() )
- L’Unité wwd retourne les semaines et les jours d’aménorrhée
-
Calcul des SA à partir de la fenêtre «Aménorrhée»
- L’avantage de ce calcul est qu’il ne nécessite pas de mise en œuvre de questionnaire, Il suffit d’argumenter la fenêtre « aménorrhée » de la signalétique
- SIGNAL(“SA”)
- Retourne une chaîne Du type « 7 semaines et 3 jours » (À placer dans une question texte)
- DATEDIFF(wwd;SIGNAL(“ddr”);AUJOURDHUI())
- Retourne un nombre réel du type « 7,3 » (à placer dans une question numérique)
- Exemple 2 :
-
Calcul des Jours de Grossesse
- Algorithme : Nombre de jours écoulés depuis la conception
- Syntaxe : DATEDIFF(d; {DDG}; NOW )
- Exemple 3 :
-
Calcul de l’age gestationnel en mois
- Algorithme :
- Nombre de mois entiers écoulés depuis la conception,
- Auquel on rajoute le nombre de jours restants, une fois qu’on a soustrait au nombre de jours de grossesses, le nombre de jours contenus dans le nombre de mois précédemment calculés
- Formule Simplifiée : (On donne au mois la valeur moyenne de 30 jours)
- @@_MOIS := DATEDIFF(m;{DDG};AUJOURDHUI())
- @@_JOURS := (DATEDIFF(d;{DDG};AUJOURDHUI())) – ({V:_MOIS} * 30)
- /* Valeur de retour */
- @@_ := {V:_MOIS} & ” mois et ” & {V:_JOURS} & ” jours”
- Algorithme :
- Exemple 4 :
-
Calcul du Quantième mois de grossesse :
- Algorithme : Nombre de Mois depuis la conception + 1
- Syntaxe : DATEDIFF(m; {DDG}; AUJOURDHUI() ) + 1 & “° mois”