Service de formulaire de personnalisation

Pré-requis : Voir Généralités et authentification

Description

  • POST /decision_support/health_profile_form.json retourne les données du questionnaire de personnalisation de la recommandation vacccinale

Le questionnaire de personnalisation se présente sous la forme d’un arbre de conditions représentées par des cases à cocher.

Exemple de formulaire de personnalisation

Ces conditions se répartissent dans différents groupes de conditions se rapportant à des caractéristiques aussi diverses que les allergies, les antécédents médicaux, l’environnement familial, la profession et le lieu de vie.

Le contenu du questionnaire de profil santé est dynamique ; il dépend de l’âge et du sexe du patient.

Format des données de requête

Les données d’entrée doivent être formattées dans un objet JSON dont voici un exemple :

{
    "birthdate": "2000-01-01",
    "gender": "female",
    "condition_ids": [52, 145, 146],
    "user_type": "patient"
}
Champ Format Présence
birthdate Date au format ISO 8601 Obligatoire
gender Valeurs possibles : "male" ou "female" Obligatoire
condition_ids Tableau des identifiants numériques des conditions de santé précédemment cochées par le patient Facultatif
user_type Type de l'utilisateur. Valeurs possibles : "patient" ou "professional".
En l'absence du paramètre, il est fixé par défaut à "patient".
Facultatif

Format des données de réponse

Le questionnaire est une structure de données arborescente. Chaque noeud de cet arbre vise un groupe de conditions particulier et comporte les champs suivants :

group Groupe de conditions cliniques
condition Tableau de conditions
children Tableau des sous-noeuds
open Vrai lorsque le noeud est pré-déployé dans l'interface utilisateur

Les conditions du formulaire précédemment cochées ont un attribut checked à true (ici “Femme enceinte dans l’entourage” et “étudiant ou en formation dans le domaine de la santé”).

[
  {
    "open": true,
    "group": {
      "id": 16,
      "label": "Autour de moi il y a...",
      "help": null,
      "message": null
    },
    "conditions": [
      {
        "id": 47,
        "label": "Une personne immunodéprimée",
        "icd10_codes": [],
        "help": null,
        "choice": "inclusive",
        "group_id": 16,
        "checked": false
      },
      {
        "id": 53,
        "label": "Une femme enceinte",
        "icd10_codes": [],
        "help": "<p>Les personnes devant cocher cette case sont notamment...",
        "choice": "inclusive",
        "group_id": 16,
        "checked": true
      },
      {
        "id": 122,
        "label": "Une personne infectée par le virus de l'hépatite B",
        "icd10_codes": [],
        "help": "<p>Il s'agit des personnes infectées par le virus de l'hépatite B...",
        "choice": "inclusive",
        "group_id": 16,
        "checked": false
      },
      {
        "id": 271,
        "label": "Un enfant de moins de 6 mois à risque de grippe grave",
        "icd10_codes": [],
        "help": "<p>C'est-à-dire s'il s'agit d'un nourrisson de moins de 6 mois...",
        "choice": "inclusive",
        "group_id": 16,
        "checked": false
      },
      {
        "id": 298,
        "label": "Un enfant de moins de 6 mois dont j'assure la garde",
        "icd10_codes": [],
        "help": "<p>Dans un cadre non professionnel (membre de la famille qui assure la garde du nourrisson par exemple). Ces adultes incluent aussi les grands-parents qui gardent occasionnellement leurs petits enfants.</p>",
        "choice": "inclusive",
        "group_id": 16,
        "checked": false
      }
    ],
    "children": [

    ]
  },
  {
      "open": true,
      "group": {
        "id": 3,
        "label": "Ma profession ou activité",
        "help": "Certaines activités professionnelles peuvent exposer à des risques infectieux particuliers.",
        "message": null
      },
      "conditions": [
        {
          "id": 575,
          "label": "Aucune de ces professions",
          "icd10_codes": [],
          "help": null,
          "choice": "inclusive",
          "group_id": 3,
          "checked": false
        }
      ],
      "children": [
        {
          "open": true,
          "group": {
            "id": 25,
            "label": "Santé",
            "open": false,
            "help": null,
            "message": null
          },
          "conditions": [

          ],
          "children": [
            {
              "open": true,
              "group": {
                "id": 75,
                "label": "Etudiant ou en cours de formation",
                "open": false,
                "help": "Certaines études ou formations peuvent exposer à des risques infectieux particuliers.",
                "message": "<span style=color:red>Remplir <strong>soigneusement</strong> toutes les rubriques ci-dessous</span>"
              },
              "conditions": [
                {
                  "id": 66,
                  "label": "Je confirme que je suis étudiant ou en formation dans le domaine de la santé",
                  "icd10_codes": [],
                  "help": null,
                  "choice": "inclusive",
                  "group_id": 75,
                  "checked": true
                }
              ],
              "children": []
            }
          ]
        }
      ]
    }
]