Les questionnaires en ligne

ActualitéComments are off

Les questionnaires en ligne de MedyCS

 

Les questionnaires en ligne permettent aux patientes de renseigner leur dossier médical via leur navigateur. Ce document a l’intérêt d’expliquer ce mécanisme mais aussi d’expliquer le paramétrage approfondi des incidences au chapitre 3

1.   Des vidéos pour le paramétrage des questionnaires en ligne sont accessibles sur le site Gynelog , en voici les liens

1.1.                   Présentation

1.2.                   Composition du questionnaire en ligne

 

1.3.                   Les résumés des questionnaires en ligne

1.4.                   La composition du questionnaire d’envoi du lien

1.5.                   Incidences dans la composition.

1.6.                   Résumés du questionnaire d’envoi

 

Table des matières

Les questionnaires en ligne de MedyCS. 1

  1. Des vidéos pour le paramétrage des questionnaires en ligne sont accessibles sur le site Gynelog , en voici les liens. 2

1.1.               Présentation. 2

1.2.               Composition du questionnaire en ligne. 2

1.3.               Les résumés des questionnaires en ligne. 3

1.4.               La composition du questionnaire d’envoi du lien. 3

1.5.               Incidences dans la composition. 3

1.6.               Résumés du questionnaire d’envoi 3

  1. Les questionnaires en ligne permettent à la patiente de saisir certaines informations pour leur dossier médical 3

2.1.               La patiente saisit sur son ordinateur ou son smartphone avec simplement les navigateurs internet habituels un questionnaire dont elle a reçu le lien. 3

2.2.               Le principe assure sécurité, secret et simplicité d’utilisation. 3

  1. Le paramétrage dans Doctor du questionnaire d’envoi comporte la création de 2 questions et d’un résumé échéance courriel. 5

3.1.               Les 2 questions sont de type date et choix multiple. 5

3.2.               A la création d’une interview, une question peut avoir une valeur  par défaut 6

3.3.               On peut recalculer  la réponse de la question courante après chaque saisie en détournant le rôle de l’incidence valeur/défaut par l’introduction de la variable spéciale @@_actualiser_en_sortie := -1. 7

3.4.               Pour orienter la saisie on peut masquer certains des items et faire évoluer séquentiellement les items affichés en fonction de ceux qui ont été déjà saisis. 9

3.5.               L’incidence sortie bloque la sortie de la question ou la validation de l’interview si les réponses sont incomplètes. 10

3.6.               Les résumés provoquent l’envoi du message . 10

3.6.1.                  L’incidence principale programme un enregistrement d’échéance et par des variables spéciales l’adresse et la date d’envoi du mail. 10

3.6.2.                  L’incidence complémentaire est exécutée quand arrive la date d’échéance de l’enregistrement échéance. Elle confirme l’envoi et prépare le message par des variables spéciales   11

  1. Un canal de communication courriel smtp dans Medyadmin est nécessaire pour que la messagerie adresse le lien à l’adresse fournie par la patiente. 12
  2. Le questionnaire en ligne est construit normalement dans Doctor puis référencé au chapitre « XML questionnaires patientes » de Doctor 13

5.1.               On utilise les questions « label »  pour présenter des interrogations suffisamment longues  et explicites pour les personnes non initiées au vocabulaire médical. 13

5.2.               Les questions « label » peuvent contenir des liens vers des documents internet selon deux modes. 14

5.3.               Des questions classiques suivent pour enregistrer la réponse. 14

5.4.               Pour réserver des questions aux médecins lors de la réception il faut les cacher aux patientes.  15

  1. Ce questionnaire est converti en questionnaire en ligne au chapitre XML de Doctor. Il sera pris en charge par le serveur AZUR. 15

En Conclusion. 15

Annexe. 16

Le paramétrage des questions à choix multiples et réponses multiples (QCMRM) de la question de l’examen clinique dans le questionnaire en ligne « sensibilité à la douleur pelvienne  » illustre  les possibilités de produire un score avec les questions QCMRM.. 16

 

 

2.  Les questionnaires en ligne permettent à la patiente de saisir certaines informations  pour leur dossier médical

  • La patiente saisit sur son ordinateur ou son smartphone avec simplement les navigateurs internet habituels un questionnaire dont elle a reçu le lien

Quand la patiente a validé sa saisie, ces données s’intègrent dans les interviews de questionnaires de son dossier médical MedyCS.

Comme cela ne demande aucun équipement particulier de la patiente, les questionnaires de qualité de vie ou de satisfaction convertis en questionnaires en ligne deviennent plus faciles à utiliser. La démarche supprime la lourdeur et la perte de temps qui sont dissuasives quand ont les instaure sur support papier ou qu’on doit installer un logiciel spécifique.  Cette vidéo  a pour but de vous montrer comment vous approprier cette démarche pour laquelle vous êtes, vous et vos patientes sans le savoir déjà équipés.

Le recueil de l’avis des patientes devient obligatoire dans l’accréditation, ce questionnaire en ligne est donc un outil de gestion des risques.

2.2.                   Le principe assure sécurité, secret et simplicité d’utilisation

Depuis le dossier MedyCS d’une patiente, le soignant lui adresse un courriel qui porte le lien d’un questionnaire en ligne. Depuis le dossier d’où il a été initié, le questionnaire en ligne dissimule un code identifiant anonyme qui lui permettra de revenir dans le même dossier sans avoir à véhiculer de caractère identifiant ou d’informations sensibles. Ce code exclusif sécurise le rapprochement automatique entre questionnaire et dossier.  Quand la patiente a saisi le questionnaire dans le navigateur internet de son ordinateur ou de son smartphone, et l’a validé, MédyCS le récupère dès qu’un soignant se reconnecte sur MédyCS. Le soignant qui a initié la demande de questionnaire pour cette patiente est informé de ce retour du questionnaire car le nom de la patiente est dans une file d’attente web qui lui est réservée. Le clic sur cette file lui ouvrira ce dossier pour qu’il prenne connaissance de cette interview. Selon votre choix vous pourrez partager cette file d’attente avec votre groupe. Le premier soignant qui ouvre le dossier de la patiente  même s’il n’est pas l’initiateur assiste à son intégration dans le dossier , mais n’enlève pas la patiente dans sa file d’attente WEB de l’initiateur . L’intégration est donc dans tous les cas sous son contrôle . Ce questionnaire a la structure de tous les questionnaires de MedyCS, construits directement avec Doctor. Le processus comporte trois étapes simples :

  • Le professionnel depuis le dossier MedyCS de la patiente lui envoie un lien grace à un questionnaire d’envoi : Ce questionnaire permet au soignant de décider :
    1. quel questionnaire en ligne il choisit,
    2. le type de message courriel ou SMS. A la place d’un courriel, le vecteur peut être un SMS mais cela impose de disposer d’une API SMS et cela peut avoir un petit surcoût. Nous ne le développerons pas dans l’article mais ces informations sont dans l’aide du logiciel.
    3. l’heure ou date de l’envoi : par exemple, immédiat, demain 3, 6 mois. C’est utile pour programmer l’évaluation d’un traitement. Quand le moment de l’envoi est venu, un message de MedyCS demande au soignant de confirmer ou d’annuler l’envoi ce qui permet de l’intercepter s’il n’est plus opportun après 3 ou 6mois.
  • La patiente dans son PC ou son smartphone réceptionne ce message, elle clique sur l’hyperlien pour faire apparaître le questionnaire en ligne. Ce questionnaire peut être enrichi de plusieurs composants :
    • Un hyperlien peut lui donner accès à de la documentation. Par exemple Fréderic Bancheri l’utilise pour que la patiente télécharge la charte de l’examen clinique du site du CNGOF pour un consentement en ligne.
    • Des émoticônes peuvent rendre la saisie vivante.
    • Des obligations programmées imposent que la réponse soit complète. Cela guide la patiente à aller au bout des réponses d’une question.
    • La patiente valide la réponse qui part aussitôt vers le serveur AZUR dédié. Elle peut cependant corriger cette réponse en repartant du message qui lui a fourni le lien . Elle reverra les données qu’elle a déjà saisies et pourra les modifier. L’interview sera mise à jour avec la nouvelle réponse. Passé le délai d’un mois, cette modification n’est plus possible. Le renouvellement par le soignant de la demande du même questionnaire rétablira un questionnaire vierge pour constituer une nouvelle session dans le dossier.
  • Le soignant en sortant de la liste des patients de MedyCS provoque la récupération des réponses depuis le serveur AZUR de Microsoft. Le plus souvent, c’est en se reconnectant, par exemple en cliquant sur le cadenas sur fond orange. Nous n’avons pas voulu que cette opération d’intégration soit permanente pour réduire le risque de ralentir le logiciel, ni automatique car il y aurait un risque que le soignant n’en soit jamais informé. Le médecin peut anticiper cette récupération sans avoir à fermer le logiciel grâce au bouton de récupération qui est dans le formulaire de test et de paramétrage à la troisième ligne du menu « courrier type ».

Dans ce formulaire, l’utilisateur choisit de gérer seul, ou en groupe la file d’attente WEB de ses questionnaires qui sont de retour. Il choisit s’il ne voit que le retour de ses propres questionnaires en ligne ou s’il récupère les réponses de tout son groupe[1].

  • Le paramétrage peut cacher à la patiente des questions que le médecin sera amené à saisir lorsqu’il intégrera la réponse. Par exemple après que la patiente aura saisi les signes fonctionnels pour l’évaluation de la sensibilité à la douleur pelvienne, le médecin aura une question sur l’examen clinique ce qui est nécessaire au calcul du score. Le score apparaîtra aussitôt. Le paramétrage de cette question et le calcul du score est expliqué dans l’annexe.

Autre exemple, une question montrera les évolutions lors de la nouvelle saisie après 3 mois du questionnaire de qualité de vie.

3.    Le paramétrage dans Doctor du questionnaire d’envoi comporte la création de 2 questions et d’un résumé échéance courriel.

3.1.                   Les 2 questions sont de type date et choix multiple

-la date d’envoi

-une question à modalités saisies séquentiellement pour enregistrer successivement quel questionnaire en ligne est sélectionné ?, par courriel ou SMS?  quand ? (immédiat / demain / 3 mois / 6 mois par exemple) .

 

Le paramétrage des incidences valeur/défaut rend plus performantes ces  questions dont la réponse peut comporter plusieurs modalités en  tant que réponses. C’est l’occasion d’expliquer ce paramétrage en 3 points dans une vidéo  : La valeur par défaut et les modifications après saisie, la présentation séquentielle des modalités pour la saisie, le contrôle de la réponse en sortie de la saisie.

 

3.2.                   A la création d’une interview, une question peut avoir une valeur  par défaut

Pour que la question ait cette valeur par défaut il faut que le focus arrive sur elle, qu’elle soit encore vide et qu’on ait défini une valeur par défaut.

Le premier mode décrit a été de cocher dans la propriété de la question « dernière réponse par défaut ».   Si cette question a été saisie dans une interview antérieure sa valeur est reportée dans la réponse de l’interview du jour.

L’incidence valeur/défaut offre plus de possibilités pour définir la valeur par défaut. La valeur par défaut de l’incidence occulte la  » dernière réponse par défaut » des propriétés. Pour l’incidence de la valeur par défaut des questions à modalités, l’incidence doit égaler le code de l’item souhaité ou la chaîne des codes des items séparés par un point-virgule. L’item seul ou les items d’une chaîne sont précédés par @ accolée au premier code. Sans @ l’incidence attend le rang de la modalité que l’on voit aussi dans la bibliothèque . [2]

Le paramétrage des incidences est facilité par les variables multilignes qui permettent de découper les incidences en étapes. Toutes les 9 règles des variables multilignes sont expliquées dans l’aide par la touche F1 dans Doctor au chapitre variables multilignes . Elles sont mentionnées ici en note de bas de page.[3] On peut reporter les valeurs ainsi obtenues dans les étapes suivantes. On peut contrôler la valeur dans cette progression par la variable spéciale message .

C’est toujours la dernière variable multiligne qui correspond à la valeur de l’incidence :

@@_var1 :=  « 123;567;34 »

@@_  :=  « @ » & {V:_ var1}

La valeur par défaut répond ainsi à 2 conditions : être à l’arrivée du focus sur la question et la question encore sans réponse .

3.3.                   On peut recalculer  la réponse de la question courante après chaque saisie en détournant le rôle de l’incidence valeur/défaut par l’introduction de la variable spéciale @@_actualiser_en_sortie := -1

Dans notre exemple l’objectif va être de supprimer toute sélection des modalités « ——— » 534 et 537  qui servent à séparer visuellement les séquences d’items mais ne sont pas des réponses utiles. Ce n’est qu’une application d’un processus performant qui permet de modifier la réponse d’une question pour corriger les incompatibilités de saisie ou créer des scores.

Le logiciel réserve des noms pour certaines « variables  spéciales » qui déclenchent une action définie. Dans ce cas présent, @@_actualiser_en_sortie := -1  redonne la valeur de l’incidence à la question lorsque l’incidence est activée . [4]

Il faut donc donner  la valeur souhaitée comme réponse à l’incidence c’est-à-dire à la valeur de sa dernière variable. Ici c’est la réponse de la question en cours {C697@:libellé} à laquelle on supprime les modalités 534 et 537  par la fonction supprimemodalité()  alias SUP() . Mais il faut aussi que l’incidence soit activée.

En effet l’incidence n’agit que si elle est activée. Elle est toujours activée une fois à l’arrivée initiale du focus dans la question pour donner une valeur pas défaut. Une autre activation doit être provoquée. C’est pourquoi on ajoute  la variable spéciale  _exclusion_modalites qui active l’incidence après chaque saisie. C’est son action secondaire alors que son action principale est de masquer certaines modalités  pour ne pas pouvoir les saisir(cf chapitre suivant). Elle deviendra la seule action, s’il n’y a aucune modalité à masquer , et qu’on lui donne une valeur numérique qui ne correspond à aucun code de modalité,  -9  par exemple. Elle ne masquera aucune modalité mais relancera effectivement l’incidence après chaque saisie.

On peut rétablir la possibilité pour l’incidence de donner une valeur par défaut à la question c’est-à-dire lorsque le focus atteint la question et que la question est non-réponse malgré ce nouveau rôle qui consiste à recalculer la valeur de la question courante  après chaque saisie.  On crée une variable égale à la valeur par défaut souhaitée et on mentionne son nom après un V entre parenthèses juste avant les 2 points de la réponse de question courante {C687(V_defaut)@:libellé} . Cette codification donne  » par défaut » la valeur de cette variable à la question courante si elle sans réponse. Ce sera à l’arrivée du focus comme on le souhaite pour donner une valeur par défaut mais cette valeur par défaut reviendra aussi ultérieurement quand on enlèvera toute modalité  à la question. On interrompra cet  effet indésirable en bloquant « l’actualisation en sortie », quand la question est non-réponse .  On est obligé d’écrire l’affirmation de la présence d’une réponse par une double négation parce qu’on ne dispose que de la fonction estnonreponse() alias ISNR() qui retourne vrai ou faux(-1/0). On doit écrire :  la question est non-réponse = faux  .  Le code précis:   @@_actualiser en sortie := (isnr({C697@:libellé})=0)

Cela donne ce script souvent utile

@@_actualiser en sortie := isnr({C697@:libellé})=0

@@_exclusion_modalites :=  « -9 »

@@_defaut :=  { Q697…….

@@_C :=  { C697 (V_defaut)@:libellé}

@@_C :=  sup({V:_C} ; « 534;537 »)

@@_  :=  « @ » & {V:_C}

 

3.4.                   Pour orienter la saisie on peut masquer certains des items et faire évoluer séquentiellement les items affichés en fonction de ceux qui ont été déjà saisis.[5]

L’objectif dans notre cas est de faire apparaître les items à saisir en 2 ou 3 séquences ce qui demande de masquer les autres items.

Masquer en permanence des items pour empêcher leur saisie est possible en cochant en rouge certaines modalités  dans les propriétés de la question QCRM, mais cela concerne toujours les mêmes modalités. Dans l’incidence c’est possible de masquer à la saisie des items supplémentaires en les listant dans la variable spéciale.  @@_exclusion_ modalites := . Cette variable détermine un effacement dynamique, puisque l’incidence est calculée à l’entrée dans la question puis recalculée après chaque modification de la saisie.  Cela permet de modifier la liste des items que l’on peut saisir en fonction des saisies précédentes.

Il est plus facile d’imaginer les items à proposer à la saisie que ceux à occulter. L’astuce est de prévoir les items que l’on veut afficher puis de donner à la variable exclusion de modalité, la liste de l’ensemble des items de la question regroupés dans la variable _T moins la liste dynamique de ceux qu’on veut afficher regroupés dans la variable _affi. C’est-à-dire on enlève aux modalités de la variable T, la variable affi par la fonction SUPPRIMEMODALITE() avec son alias court SUP()

@@_T :=  « Md1;Mod2 ……. »  toutes les modalités de la question

@@_affi  := ….

@@_exclusion_ modalites :=  sup({V:_T} ;{ V:_affi})

La variable _affi sera égale séquentiellement aux 2 ou 3 groupes d’items à afficher en étapes, grace à l’imbrication de fonctions si(). SI ( condition ; réponse pour vrai ; réponse pour faux) et de la fonction sélection() alias sel() pour la condition : SELECTION (réponse ; chaîne d’ items ; »liste »). Si un des items de la chaîne est dans la réponse, selection() retourne -1 sinon 0. A l’inverse (Selection(reponse;items;liste)= 0 )  retourne -1 si aucun des items n’est dans la réponse  .

1ère étape Si aucun des items de la première séquence n’est sélectionné, on affiche ces items pour la saisie. Si un est sélectionné on passe à la séquence suivante.

2ème étape Si aucun des items de la deuxième séquence n’est sélectionné, on affiche ces items pour la saisie. Si un est sélectionné on passe à la séquence suivante.

3ème étape Si aucun des items de la deuxième séquence n’est sélectionné, on affiche ces items pour la saisie. Si un est sélectionné on n’affiche plus rien .

 

Cela donne en passant de 3 à 2 séquences parce qu’on envoie toujours des courriels :

@@_actualiser_en_sortie := isnr({C897@:Vecteur _ quand})=0

@@_C := {C897(« 538 »)@:Vecteur _ quand}

@@_T := « `531 ; `532 ; `533 ; `571 ; `576 ; `572 ; `573 ; `534 ; `535 ; `536 ; `537 ; `538 ; `539 ; `574 ; `575″

@@_affi := si((sel({V:_C}; »`531 ; `532 ; `533 ; `571 ; `576 ; `572 ; `573″; »liste »)=0); »`531 ; `532 ; `533 ; `571 ; `576 ; `572 ; `573″;

SI((sel({V:_C}; »`538 ; `539 ; `574 ; `575″; »liste »)=0); »`537 ; `538 ; `539 ; `574 ; `575″; » »))

@@_exclusion_modalites := sup({V:_T};{V:_affi})

@@_C := sup({V:_C} ; »534;537″)

@@_ := « @ »&{V:_C}

3.5.                   L’incidence sortie bloque la sortie de la question ou la validation de l’interview si les réponses sont incomplètes.

Les questions ont depuis l’origine un contrôle de sortie dans leurs propriétés. L’absence de réponse bloque la sortie de la fenêtre de saisie, sauf si on coche l’autorisation de non-réponse dans les propriétés de la question.

L’incidence de sortie complète cette propriété dans la bibliothèque et bloque la sortie si elle est égale à 0 ou faux.  Dans cette question ce sera le cas si dans une des 3 séquences aucune modalité n’a été saisit . Un message par la variable spéciale  @@_SHOW_  :=  peut l’expliciter.

Cela donne dans l’incidence sortie

@@_SHOW_message_1 := SI((SEL( {C897@:Vecteur _ quand} ; « `531;`532;`533;`571;`576;`572;`573 » ; « liste »)=0);

« le questionnaire doit être choisi pour sortir de la question »;

si((SEL( {C897@:Vecteur _ quand} ; « `538;`539;`574;`575 » ; « liste »)=0);

« Le moment de l’envoi doit être choisi pour sortir de la question »; » »))

@@_ := SI((SEL( {C897@:Vecteur _ quand} ; « `531;`532;`533;`571;`576;`572;`573 » ; « liste »)

&& SEL( {C897@:Vecteur _ quand} ; « `538;`539;`574;`575 » ; « liste »)) ;-1 ; 0)

 

 

3.6.          Les résumés provoquent l’envoi du message .

Les résumés provoquent des actions à partir des réponses du questionnaire, ici nous nous utiliserons le résumé échéance courriel qui envoie des messages courriels immédiatement ou à échéance.  La documentation de ces résumés  que fait apparaître la touche F1 dans Doctor guide pour ce paramétrage . Vous y trouverez les envois par SMS qui demande l’abonnement à un fournisseur d’accès SMS.

Le résumé comporte une incidence principale et une incidence complémentaire.

3.6.1. L’incidence principale programme un enregistrement d’échéance et par des variables spéciales l’adresse et la date d’envoi du mail.

Le résultat de l’incidence principale , c’est à dire la dernière variable provoque la création d’un enregistrement d’échéance dans la table des filtres ou  l’annule.

Deux variables spéciales fournissent à cet enregistrement des informations indispensables:

-l’adresse de la destinataire par la variable spéciale _echeance_texte

-la date de l’envoi par la variable _echeance_date

L’adresse mail est récupéré parmi les 4 N° de téléphone de la signalétique. L’aide par la touche F1 permet de copier le script, et de comprendre le mécanisme.

La date d’envoi est fournie par la question 3ème séquence de la question 897.

Cela donne

@@_Tel1_4 := ccat(« + »; »; »;signal(« telephone 1 »);signal(« telephone 2 »);signal(« telephone 3 »);signal(« telephone 4″))

@@_mail := choisir(pos({V:_Tel1_4}; »@ »;-1);{V:_Tel1_4})

@@_SHOW_1 := si(isnr({V:_mail}); »ajoutez une adresse mail à la signalétique et revalidez le mail »; » »)

@@_echeance_texte := {V:_mail}

@@_nbr_j := REFEXT({C897(-99)@:Vecteur _ quand}; »; »;

`538 /* immédiat */ ; « 0 » ;

`539 /* demain */ ; « 1 » ;

`574 /* 3mois */ ; « 92 » ;

`575 /* 6mois */ ; « 183 » ;

`-99 /* Valeur par défaut */ ; «  » )

@@_nbr_j := CNUM({V:_nbr_j})

@@_echeance_date := DATEADD(« D »;{V:_nbr_j};{C757:date_h programmation})

@@_echeance_utilisateur := operateur(code)

@@_ := isnr({V:_echeance_texte})=0

3.6.2.                      L’incidence complémentaire est exécutée quand arrive la date d’échéance de l’enregistrement échéance. Elle confirme l’envoi et prépare le message par des variables spéciales

Toujours dernière variable de l’incidence , le résultat   peut prendre 3 valeurs : -1 confirme l’envoi, 1 supprime l’échéance, 2 reporte la décision . Lorsque cette incidence complémentaire est activée à échéance, le soignant peut opter pour un des trois par une fonction saisir ().

Les 2 variables spéciales configurent le message internet qui emprunte la messagerie sécurisée, et y laisseront leur trace.

@@_sujet :=  « l’objet du mail »

@@_message :=  » le corps du texte » qui doit contenir le lien vers le questionnaire en ligne. La fonction lien_quest_web (N° de questionnaire) fournit le lien brut vers le questionnaire en ligne qui sera soumis à la patiente. Mieux le code XML suivant permet de donner un libellé compréhensible au lien :

« <a href=' » & lien_quest_web({V:_qaire}) & « ‘> » & {V:_Lien} & »</a> »

Vous le retrouverez dans l’aide F1[6] et les explications suivantes y sont développées

Les 2 variables qu’il comporte doivent être définies plus haut. Mais l’incidence complémentaire ne dispose pas directement des réponses de son interview  « envoi du questionnaire en ligne ». En effet elle ne dépend que de l’enregistrement échéance . Les données doivent être récupérées à partir du code de l’ interview « envoi questionnaire » qui est le deuxième item d’une variable {V:WrkfiltreValeur}  de cet enregistrement échéance.

Cela donne

@@_Q_on := IVAL(choisir(2;{V:WrkFiltreValeur});897; » »;-1)

@@_sujet := « Questionnaire pour votre médecin »

@@_qaire := REFEXT({V:_Q_on} ; »; »;

`531 /* consentement */ ; « 415 » ;

`532 /* Qualité de vie */ ; « 102 » ;

`533 /* QEVA */ ; « 412 » ;

`571 /* produits addictifs */ ; « 73 » ;

`576 /* Avant PMA */ ; « 101 » ;

`572 /* perturbateurs endocriniens */ ; « 72 » ;

`573 /* sensibilisation à la douleur */ ; « 74 » ;

`-99 /* Valeur par défaut */ ; «  » )

@@_qaire := CNUM({V:_qaire})

@@_lien := REFEXT({V:_Q_on} ; »; »;

`531 /* consentement */ ; « consentement à l’examen gynécologique » ;

`532 /* Qualité de vie */ ; « Qualité de vie avec l’endomètriose » ;

`533 /* QEVA */ ; « Vécu de l’accouchement » ;

`571 /* produits addictifs */ ; « exposition aux produits toxiques » ;

`576 /* Avant PMA */ ; « Risque d’endomètriose avant PMA » ;

`572 /* perturbateurs endocriniens */ ; « Exposition aux perturbateurs endocriniens » ;

`573 /* sensibilisation à la douleur */ ; « Sensibilité à la douleur » ;

`-99 /* Valeur par défaut */ ; «  » )

@@_message := « Comme convenu ensemble voici le petit questionnaire que vous pouvez remplir » & NL()& « <a href=' » & lien_quest_web({V:_qaire}) & « ‘> » & {V:_Lien} & »</a> » & NL() & « Merci par avance »

@@_ := SAISIR(SI(-1; »M »; »X »); »Faut-il envoyer le questionnaire? »;{V:_lien}& NL() & »à Mme  » & signal(« nom »); »envoi;-1;supprimer;1″; »1″)

 

 

  1. Un canal de communication courriel smtp dans Medyadmin est nécessaire pour que la messagerie adresse le lien à l’adresse fournie par la patiente

Le médecin doit disposer d’une adresse normale (indépendamment d’une adresse sécurisée) dont le fournisseur d’accès accepte les envois SMTP comme orange.fr ou laposte.net : C’est l’objet du paramétrage du canal de communication courriel dans MedyAdmin. Ce canal de communication sera utilisé par la messagerie sécurisé de MedyCS quand elle envoie le lien du questionnaire en ligne. Les pare feux des établissements doivent autoriser le fonctionnement de cette messagerie sécurisée.

5.  Le questionnaire en ligne est construit normalement dans Doctor puis référencé au chapitre « XML questionnaires patientes » de Doctor

 

5.1.                   On utilise les questions « label »  pour présenter des interrogations suffisamment longues  et explicites pour les personnes non initiées au vocabulaire médical.

Le libellé d’une question ne peut dépasser 60 caractères, c’est trop court pour l’expression du questionnement destiné aux patientes. Les questions label en revanche permettent d’afficher des libellés de questions sans limite de longueur. Leur texte est saisi dans l’incidence valeur / défaut et il masque le nom de la question label dans le questionnaire . La question label n’enregistre aucune réponse. Il faut alterner ces questions « label » pour le libellé avec des questions classiques pour garder les réponses. Une même question « label » parce qu’elle est sans réponse peut être répétée dans le questionnaire sans inconvénient, seule l’incidence de la valeur par défaut change le libellé qui s’affiche[7]. Autre truc : J’aime bien comme question « label » celle à laquelle je donne le nom ‘ (simple cote) pour sa discrétion en cas d’affichage inopportun du nom de la question.

5.2.                   Les questions « label » peuvent contenir des liens vers des documents internet selon deux modes

Dans le premier mode le lien occupe toute la question label . Il est fourni par une variable spéciale _URL.  Le libellé apparent du lien est le résultat de l’incidence c’est-à-dire de la dernière variable.

@@_URL := « https://cngof……

@@_ := « le libellé choisi pour ce lien »

Dans le second mode , le lien peut être contenu dans le texte.

On utilise le même script HTML contenant une variable pour l’hyperlien(_LURL) et une pour son libellé(_lien) : « <a href=' » &{V:_LURL} & « ‘> » & {V:_Lien} & »</a> ».  On place ce script au sein du texte de l’incidence de la question label :

Cela donne :

@@_LURL := « https://r.search.yahoo.com/_ylt=Awr.oNDfTJBoTqEX5guPAwx… »

@@_lien := « La charte »

@@_ := « Au cours de la consultation, le médecin sera probablement amené à vous faire une examen » & NL() & « <a href=' » &{V:_LURL} & « ‘> » & {V:_Lien} & »</a> »

 

  • Des questions classiques suivent pour enregistrer la réponse

Elles sont de type date, numérique, texte et surtout modalités multiples qui ont la possibilité de réagir à la saisie, d’avoir de la couleur et des émoticônes qui apparaîtront quand la modalité sera saisie.  On paramètre les émoticônes dans le libellé long de la modalité de la question (_S1 : cool ; à _S5 : grave). ;

5.4.                   Pour réserver des questions aux médecins lors de la réception il faut les cacher aux patientes.

Pour masquer la question dans le questionnaire en ligne et la réserver au soignant quand il intégrera le questionnaire, on place une variable spéciale dans l’onglet de l’incidence active/inactive:

@@_masquer_navigateur := -1

@@_ := -1

La dernière variable est obligatoire et donne le résultat de l’incidence.  Pour activer la question à l’intégration dans le dossier au retour de l’interview, l’incidence active doit valoir -1 .

6.  Ce questionnaire est converti en questionnaire en ligne au chapitre XML de Doctor. Il sera pris en charge par le serveur AZUR.

Le chapitre « questionnaire patiente » permet de convertir un des questionnaires en questionnaire en ligne. On doit le choisir dans la combo  » Questionnaire ».

Après toute modification de la composition du questionnaire dans Doctor , il faut le recharger que le changement s’applique à l’édition en ligne.

On prévisualise le questionnaire en ligne en suivant. On peut l’enlever de la liste des questionnaires en liste par  le bouton supprimer

En Conclusion

La simplification technique par MedyCS laisse entier le choix des questionnaires que l’on veut faire saisir par les patientes. Il faut privilégier des questionnaires dont les références sont solides en particulier ceux créés par les sociétés savantes. L’équipe de Bezannes dans son travail d’accréditation a ainsi sélectionné plusieurs questionnaires en vérifiant les sources pour le suivi de l’endométriose (consentement à l’examen clinique, qualité de vie, risque d’endométriose lors d’entrée en PMA, recherche d’une hypersensibilité à la douleur pelvienne), pour la préparation et le suivi de la grossesse (exposition aux perturbateurs endocriniens, consommation de produits addictifs, évaluation de l’accouchement).

La connaissance technique de construction que nous expliquons n’est pas indispensable pour utiliser ces questionnaires en ligne, il est possible de récupérer ceux utilisés par une autre équipe.  Avec leur autorisation nous disposons des moyens pour vous transférer tout ou partie des questionnaires en ligne des confrères de Bezannes et de vous aider en créer d’autres à partir de bonnes références.

 

Annexe

Le paramétrage des questions à choix multiples et réponses multiples (QCMRM) de la question de l’examen clinique dans le questionnaire en ligne « sensibilité à la douleur pelvienne  » illustre  les possibilités de produire un score avec les questions QCMRM

Le paramétrage va successivement

exclure l’affichage pour la saisie des « 3 dernières modalités qui sont les réponses calculées du test

exclure les modalités incompatibles

Compiler toutes les réponses en une variable M qui sera analysée pour faire le calcul du score

dire quand les réponses sont incomplètes pour ne pas valider  un sore sur des données insuffisantes

À partir du score qui vient d’être calculé sélectionner une des 3 modalités de résultat . On peut se repérer sur les couleurs pour ces 4 actions :

@@_C := {C8708@:gachette}  On crée une variable pour la réponse courante dont la valeur intègre la saisie.

@@_supc := si(SEL( {V:_C};`10254); »`10242 ; `10243 ; `10244 ; `19783 ; 10245″;

si(SEL( {V:_C};`10245); »`10242;`10243;`10244;`19783;`10254″; »-9″))

@@_exclusion_modalites := CCAT(« ` »; »; »;{V:_supc};` »`19784 ; `19785 ; `19786″)

Comme incompatiblité: l’absence d’examen (item10254) exclut la saisie d’une donnée d’examen, puis la sensibilité normale exclut la saisie d’un signe d’examen

@@_actualiser_en_sortie := -1

Après chaque saisie la réponse est recalculée

@@_M := CCAT(« ` »; »; »;{C8702@:La};{C8703@:La};{C8704@:La};{C8705@:La};{C8706@:La};{C8707@:La};{C8708@:La})

Tous les items des réponses sont concaténés

@@_score :SI(sel({V:_M}; »`10223;`10224″; »liste »);1;0)+  si(sel({V:_M}; »`10768;`10769;`10228″; »liste »);1;0) +si(sel({V:_M};`10230);1;0) +

si(sel({V:_M}; »`10774;`10234″; »liste »);1;0)+

si(sel({V:_M};`10225);1;0) +  si(sel({V:_M};`10771);1;0) +

si(sel({V:_M};`10232);1;0) +  si(sel({V:_M}; »`10777;`10778;`10779″; »liste »);1;0)+ si(sel({V:_M}; »`10237;`10238;`10240;`10241;« 10772″; »liste »);1;0)+

si(sel({V:_M}; »`10242 ; `10243 ; `10244 ; `19783 « ; »liste »);1;0)

Le score est la somme du point affecté pour chaque question positive

@@_manque := isnr({C8702@:La  })||isnr({C8703@:La  })||isnr({C8704@:La  })||isnr({C8705@:La  })||isnr({C8706@:La  })||isnr({C8707@:La  })

||(sel({V:_M}; »`10242 ; `10243 ; `10244 ; `19783 ; `10254″; »liste »)=0)

La variable _manque vaut vrai ou -1 si la saisie d’une des questions n’a pas été faite

@@_sens := si({V:_score}> 5 ; « `19784 « ; »`19785 »)

@@_sens := si({V:_manque}; »19786″;{V:_sens})

@@_C := CCAT(« ` »; »; »;{V:_C};{V:_sens})

La valeur courante _C associe les items saisis _C et les items calculés pour le score _sens

@@_ := inc(« @ »;{V:_C}; » »)

[1] C’est l’occasion de reconstituer la structure des groupes en les restreignant. Cela demande une modification rapide des utilisateurs dans MedyAdmin. Le groupe de médecins et leurs secrétaires communes constituent un groupe bien plus fonctionnel que le regroupement de tous les gynécos d’une part et de toutes les secrétaires de l’autre.

 

[2] L’usage du rang était la méthode historique pour définir la valeur de la modalité et celle par défaut en particulier. Mais elle a été abandonnée au profit des codes car elle ne permettait pas de changer l’ordre des modalités ni d’en insérer de nouvelles sans rendre fausses toutes les saisies précédentes. Ces impossibilités sont levées par le caractère unique de chaque code des modalités dans la base.

[3] Les règles des variables multilignes présentes dans l’aide de MedyCS

  1. La structure est rigoureuse et en 4 parties *) elle débute par 2 caractères @@  *) comporte un libellé fait de lettres sans accent, de chiffres et de _ dont un _ au début  *) puis 3 caractères à savoir  un espace :=   *). Cette syntaxe suffit à générer une variable. L’éditeur de variable expliqué au chapitre suivant facilité la création des variables.
  2. L’incidence a la valeur de la dernière variable et cette dernière variable peut ne pas avoir de libellé autre que le _ @@_ := «  »
  3. une incidence qui contient des variables multilignes en a au moins 2. S’il n’y a qu’un @@ , le logiciel signalera une syntaxe multiligne incorrecte.
  4. Le résultat d’une variable précédente peut être dans la composition d’une des variables suivantes , le clic droit de la souris fournit les variables résultats {V:_VAR1}
  5. Une variable peut est prise comme valeur par défaut de la réponse à une question sous la forme {C123(V_VAR1)@:PDE} . Elle donne sa valeur à la réponse si la réponse est nulle.
  6. Deux variables peuvent avoir le même libellé , autrement dit une variable peut être calculée dans 2 ligne successives . La dernière donne la valeur à la variable pour son utilisation ultérieures . La valeur de la première sera la valeur de la variable si elle est dans le calcul de la seconde sa valeur.
  7. La variable ne garde sa valeur que dans une des activation de l’incidence où elle se situe . Elle sera donc annulée si une incidence est activée plusieurs fois sauf si c’est une variable globale .
  8. la variable est globale si son libellé commence par les 4 caractères _VG_  exemple  @@_VG_VAR1 := 123 . La variable globale garde sa valeur  {V:_VG_VAR1}dans l’ensemble de l’interview, résumés compris , à l’exception des incidences complémentaires des échéances . Il faut appuyer sur le bouton VG pour que toutes les variables globales du questionnaire soient éditables par le bouton droit de la souris .
  9. Les variables spéciales se caractérisent par des libellés prédéfinis par le logiciel. Elles entraînent des actions propres qui sont expliquées dans le 2ème chapitre qui suit dans l’aide. Certaines sont utilisables partout, d’autres n’ont d’action que dans certaines incidences.

 

[4]  @@_actualiser_en_sortie := -1  mime la touche F9, qui a la même action de donner la valeur de l’incidence comme réponse à la question en cours.

 

[5] Cette exclusion de modalité se distingue catégoriquement de la suppression des items déjà sélectionnés dans la réponse que l’on a vue au chapitre précédent. Cette exclusion de modalités ne modifie pas les items sélectionnés .

[6] -Dans les envois SMS, le code brut du lien ne peut être masqué par le script XML car il n’est pas interprété par un navigateur

[7][7] Il faut bien se souvenir qu’il ne faut jamais répéter une question classique avec réponse enregistrée dans un même questionnaire. En effet l’interview aurait potentiellement 2 réponses différentes pour la même question avec les conséquences problématiques qu’on imagine .