Service de recommandations vaccinales

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

Description

  • POST /decision_support/recommendations.json renvoie les recommandations vaccinales en fonction de l'âge, du sexe et éventuellement des conditions de santé envoyées en requête

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 :

{
    "birth_date": "2000-01-01",
    "gender": "female",
    "condition_ids": [52, 145, 146],
    "user_type": "patient"
}
Champ Format Présence
birth_date Date au format ISO 8601 Obligatoire
gender Valeurs possibles : "male" ou "female" Obligatoire
condition_ids Tableau des identifiants numériques des conditions de santé cochées par le patient lors de la phase de personnalisation de la recommandation. 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

Date de naissance

La date de naissance inclue dans les données d’entrée est soumise à un contrôle quant à l’âge implicité. Une réponse 400 (Bad request) est renvoyée si la date se trouve :

  • plus de 150 ans dans le passé;
  • dans le futur (car l’âge ainsi calculé serait négatif).

Exemple de données de réponse

{
    "flash_messages": [
        {
            "type": "alert",
            "content": "Please check the year of birth",
            "field": "birth_date"
        }
    ]
}

Format des données de réponse

Les données de réponse sont formattées sous la forme d’un objet JSON contenant les champs suivants :

Champ Valeur
patient_caption Chaîne de caractères décrivant l'âge et le sexe de la personne
checked_conditions Tableau des conditions cochées pour le patient (voir plus bas pour le format précis des conditions)
recommendations Tableau d'objets de recommandations
Chaque objet de recommandation porte sur une maladie
(voir plus bas pour le format précis)
warnings
contraindications

Exemple de données de réponse

{
    "patient_caption": "Jeune homme de 26 ans",
    "checked_conditions": [
        {
            "id": 85,
            "label": "Travaille dans un établissement ou service d’hébergement pour adultes handicapés",
            "icd10_codes": [],
            "help": null,
            "choice": "inclusive",
            "group_id": 61,
        },
        {
            "id": 202,
            "label": "Allergie à l'oeuf",
            "icd10_codes": [],
            "help": "<p><strong>Allergie à l'oeuf.[...]",
            "choice": "inclusive",
            "group_id": 111,
        }
    ],
    "recommendations": [
        {
            "alerts": [],
            "comments": [],
            "conditions": [],
            "disease": {
                "id": 1,
                "name": "Dipht\u00e9rie"
            },
            "justifications": [
                "<p>Proposer des rappels \u00e0 \u00e2ge fixe plut\u00f4t qu'\u00e0 intervalles fixes est plus facile...</p>"
            ],
            "level": "Recommand\u00e9",
            "messages": [
                "<p>Recommandation g\u00e9n\u00e9rale : rappels \u00e0 \u00e2ges fixes \u00e0 25, 45 et 65 ans, puis \u00e0 75, 85 ans...</p>",
                "<p>Nouveau calendrier vaccinal depuis 2013.</p>"
            ],
            "refund": "Rembours\u00e9 par la s\u00e9curit\u00e9 sociale \u00e0 65 %"
        },
        "..."
    ],
    "warnings": [ "..." ],
    "contraindications": [ "..." ]
}

Format des objets de recommandation

Chaque objet de recommandation porte sur une maladie donnée.

Dans chacun des trois tableaux de recommandation (respectivement indexés par les clés recommendations, warnings et contraindications), les objets de recommandation sont triés dans le même ordre de présentation que celui de la page de recommandations sur notre site grand public.

Nom du champ Format Description
disease Objet JSON contentant les champs id (numérique) et name (chaîne de caractères) Maladie à laquelle s'applique la recommandation
messages Tableau de chaînes de caractères Messages primaires concernant la recommandation
alerts Tableau de chaînes de caractères Message importants à mettre en évidence
comments Tableau de chaînes de caractères Messages d'importance secondaire
justifications Tableau de chaînes de caractères Messages d'importance secondaire expliquant le pourquoi de la vaccination
level Chaîne de caractères Niveau de recommandation
refund Chaîne de caractères Niveau de remboursement
conditions Tableau d'objets de conditions (chacun possède le champ numérique id et le champ de type chaîne de caractères label) Éléments du profil santé qui conditionnent la recommandation