Skip to content
APIsRéférence APIAnalyseAlertes de posologie

Alertes de posologie

Introduction

La requête getDosageAlertpermet de récupérer la liste des alertes de posologies qui sont déclenchées par la liste de médicaments et les instructions de posologies entrés en paramètres en l’appel à l’API.

Fonctionnement de l’API

L’utilisateur de l’API doit d’abord spécifier les types d’alertes désirés en utilisant le champ type ainsi que les requêtes de médication via MedicationRequest, où chaque requête correspond à un médicament spécifique. Les codes des médicaments sont à indiquer dans les champs clinicalDrug, brandedDrug ou packagedDrug. Le modèle de données est détaillé plus bas.

Pour chaque médicament, l’utilisateur doit fournir des instructions de dosage via le paramètre dosageInstructions. Il est possible de définir plusieurs instructions pour refléter différentes phases de traitement. Par exemple, une instruction peut indiquer de prendre 100 mL pendant une semaine, suivie d’une instruction pour prendre 200 mL pendant deux semaines. Chaque instruction doit être associée à un numéro de séquence pour clarifier l’ordre des phases.

Si plusieurs instructions de dosage sont fournies sans numéro de séquence, ou si plusieurs instructions partagent le même numéro de séquence, elles seront interprétées comme devant être administrées simultanément. Cette configuration est particulièrement utile pour les traitements nécessitant des prises à différents moments de la journée, comme prendre deux comprimés le matin et un le soir. Pour ces cas, la durée totale du traitement doit être la même pour toutes les instructions partageant un numéro de séquence identique.

Comment spécifier le médicament ?

Lors de la formulation d’une requête, il est nécessaire de spécifier un médicament et d’y associer des instructions de dosage.

Pour définir le médicament concerné, on utilise l’objet DrugInput qui comprend les champs clinicalDrug, brandedDrug et packagedDrug. Chacun de ces champs représente un type de codage différent.

Il est crucial de remplir uniquement un des champs par DrugInput, car un DrugInput ne peut pas être simultanément un clinicalDrug et un packagedDrug. Il est également essentiel de compléter le champ terminology et de fournir soit label, soit code. Si les champs label et code sont tous deux renseignés, seul le code sera utilisé pour le traitement des données.

Voici des exemples de paramètres d’entrée pour la partie médicament:

drug-input-valable-1

{
  "drug": {
    "clinicalDrug": { "code": "MV00003894", "terminology": "posos" }
  }
}

drug-input-valable-2

{
  "drug": { "brandedDrug": { "code": "63934499", "terminology": "cis" } }
}

Les terminologies qui sont utilisées pour requêter les différents types de médicaments font parties de listes pré-définies:

Type de médicamentTerminologie acceptéeRemarques
clinicalDrugpososTerminologie propre à Posos
clinicalDrugmedicabasemedicabase.fr
brandedDrugcisLien vers sante.gouv
brandedDrugUCD7Lien vers ameli.fr
brandedDrugUCD13Lien vers ameli.fr
packagedDrugCIP7Lien vers ameli.fr
packagedDrugCIP13Lien vers ameli.fr

Comment spécifier une instruction de prise ?

L’objet DosageInstruction est un objet complexe qui permet de modéliser une prise de médicament de la façon la plus complète possible. Le modèle complet est présenté ci-dessous.

Voici quelques exemples de modèlisation de prises:

Prendre 3 comprimés par jour

{
  "dosageInstructions": [
    {
      "doseAndRate": {
        "doseQuantity": {
          "code": "428673006",
          "unit": "comprimé(s)",
          "system": "https://snomed.org",
          "value": 3
        }
      },
      "timing": {
        "repeat": {
          "frequency": 1,
          "period": 1,
          "periodUnit": "d"
        }
      }
    }
  ]
}

Prendre 1 comprimé 3 fois par jour

{
  "dosageInstructions": [
    {
      "doseAndRate": {
        "doseQuantity": {
          "code": "428673006",
          "unit": "comprimé(s)",
          "system": "https://snomed.org",
          "value": 1
        }
      },
      "timing": {
        "repeat": {
          "frequency": 3,
          "period": 1,
          "periodUnit": "d"
        }
      }
    }
  ]
}

Prendre 2 comprimés au réveil, au déjeuner et au dîner

{
  "dosageInstructions": [
    {
      "doseAndRate": {
        "doseQuantity": {
          "code": "428673006",
          "unit": "comprimé(s)",
          "system": "https://snomed.org",
          "value": 2
        }
      },
      "timing": {
        "repeat": {
          "frequency": 3,
          "period": 1,
          "periodUnit": "d",
          "when": ["WAKE", "CD", "CV"]
        }
      }
    }
  ]
}

Prendre 1 à 2 comprimés par jour pendant 2 semaines

{
  "dosageInstructions": [
    {
      "doseAndRate": {
        "doseRange": {
          "low": {
            "code": "428673006",
            "unit": "comprimé(s)",
            "system": "https://snomed.org",
            "value": 1
          },
          "high": {
            "low": {
              "code": "428673006",
              "unit": "comprimé(s)",
              "system": "https://snomed.org",
              "value": 2
            }
          }
        }
      },
      "timing": {
        "repeat": {
          "period": 1,
          "periodUnit": "d",
          "boundsDuration": {
            "value": 2,
            "code": "wk",
            "system": "ucum"
          }
        }
      }
    }
  ]
}

Quantité maximale par dose

Pour activer les alertes concernant la quantité maximale par dose, il est nécessaire d’ajouter le paramètre max_quantity_per_dose dans le champ types.

Afin de déterminer si cette alerte doit être déclenchée, l’utilisateur doit fournir les valeurs de doseAndRate.doseRange et doseAndRate.doseQuantity.value dans les requêtes de médication.

Lorsque plusieurs instructions de dosage sont fournies séquentiellement, l’API évalue les alertes pour chaque séquence de manière indépendante. Les résultats indiquent les séquences spécifiques pour lesquelles une alerte a été déclenchée.

Lorsque plusieurs instructions de dosage sont fournies sans numéro de séquence unique ou partagent le même numéro de séquence, elles sont considérées comme devant être administrées simultanément. Ainsi, les quantités indiquées dans chaque instruction appartenant à la même séquence sont cumulées. Cette somme est ensuite comparée à la limite maximale autorisée par dose, conformément aux spécifications de l’alerte.

Voici un exemple de requête de Quantité maximale par dose valide:

Exemple max_quantity_per_dose

query GetDosageAlert($medicationRequests: [MedicationRequestInput!]!,$types: [DosageAlertType!]) {
  getDosageAlert(medicationRequests: $medicationRequests, types: $types){
    drug {
      clinicalDrug {
        label
        code
        terminology
      }
    }
    doseAlert {
      text
      type
      value
      unit
      code
      system
    }
    alertDetected
  }
}

Réponse

[
  {
    "drug": {
      "clinicalDrug": {
        "label": "OVITRELLE 250 microgrammes, solution injectable en stylo prérempli",
        "code": "NV68822746",
        "terminology": "posos"
      }
    },
    "doseAlert": {
      "text": "Quantité maximale par prise",
      "type": "MAX_QUANTITY_PER_DOSE",
      "value": 250,
      "unit": "microgram",
      "code": "ug",
      "system": "ucum"
    },
    "alertDetected": true
  }
]

Quantité maximale par 24 heures

Pour activer les alertes concernant la quantité maximale par 24 heures, il est nécessaire d’ajouter le paramètre max_quantity_per_24_hours dans le champ types.

Pour déclencher cette alerte, l’utilisateur peut fournir plusieurs informations:

  • Soit remplir le champ maxDosePerPeriod dans les dosageInstructions.
  • Soit remplir les champs timing.repeat.frequency, timing.repeat.period ou timing.repeat.periodMax, timing.repeat.periodUnit ainsi que doseAndRate.quantityou doseAndRate.doseRange. Il faut une mesure de la quantité de traitement à administrer (via doseAndRate) et une mesure de fréquence par unité de temps (via timing.repeat).

Le fonctionnement de l’analyse est le même que pour la quantité maximale par dose. Le déclenchement ou non de l’alerte est calculé pour chaque dosageInstructions avec un numéro de séquence différent.

Voici un exemple de requête de Quantité maximale par 24 heures, avec les paramètres ci dessous. Ici, l’utilisateur utilise les champs frequency, period et doseQuantity pour permettre de calculer la dose maximale en 24 heures.

Exemple n°1 max_quantity_per_24_hours

{
  "types": ["MAX_QUANTITY_PER_24_HOURS"],
  "medicationRequests": [
    {
      "drug": {
        "clinicalDrug": { "code": "MV00005090", "terminology": "posos" }
      },
      "dosageInstructions": [
        {
          "sequence": 0,
          "timing": {
            "repeat": {
              "boundsDuration": {
                "system": "http://hl7.org/fhir/ValueSet/duration-units",
                "value": 7,
                "code": "d"
              },
              "frequency": 4,
              "period": 1,
              "periodUnit": "d",
              "when": ["MORN", "NOON", "EVE", "HS"]
            }
          },
          "doseAndRate": {
            "doseQuantity": {
              "value": 1,
              "system": "http://snomed.info/sct",
              "code": "426148002"
            }
          }
        },
        {
          "sequence": 1,
          "timing": {
            "repeat": {
              "boundsDuration": {
                "system": "http://hl7.org/fhir/ValueSet/duration-units",
                "value": 7,
                "code": "d"
              },
              "frequency": 3,
              "period": 1,
              "periodUnit": "d",
              "when": ["MORN", "NOON", "EVE"]
            }
          },
          "doseAndRate": {
            "doseQuantity": {
              "value": 1,
              "system": "http://snomed.info/sct",
              "code": "426148002"
            }
          }
        }
      ]
    }
  ]
}

Voici un autre exemple où l’utilisateur utilise le champ maxDosePerPeriod:

Exemple n°2 max_quantity_per_24_hours

{
  "types": ["MAX_QUANTITY_PER_24_HOURS"],
  "medicationRequests": [
    {
      "drug": {
        "clinicalDrug": {
          "code": "MV00002665",
          "terminology": "posos"
        }
      },
      "dosageInstructions": [
        {
          "maxDosePerPeriod": {
            "numerator": {
              "value": 11,
              "system": "http://snomed.info/sct",
              "code": "428673006"
            },
            "denominator": {
              "value": 1,
              "system": "http://hl7.org/fhir/ValueSet/duration-units",
              "code": "d"                                                  
            }
          }
        }
      ]
    }
  ]
}

Quantité minimale par 24 heures

La récupération des alertes de quantité minimale par 24 heures fonctionne de manière similaire à celle des alertes de quantité maximale. Lorsqu’une requête est envoyée au système, celui-ci évalue la quantité totale de médicament consommée par le patient sur une période de 24 heures. Si cette quantité est inférieure à la quantité minimale définie pour le médicament concerné, une alerte est générée pour informer le professionnel de santé. Cette alerte indique que la quantité de médicament prise est insuffisante pour atteindre l’efficacité thérapeutique attendue, ce qui peut nécessiter une réévaluation du plan de traitement du patient.

Pour permettre l’analyse des données d’entrées, il faut que certains champs soit remplis dans les instructions de prises:

  • Les champs timing.repeat.frequency, timing.repeat.period ou timing.repeat.periodMax, timing.repeat.periodUnit ainsi que doseAndRate.quantityou doseAndRate.doseRange. Il faut une mesure de la quantité de traitement à administrer (via doseAndRate) et une mesure de fréquence par unité de temps (via timing.repeat). Si les champs timing.repeat.period et timing.repeat.periodMax sont remplis simultanément, on utilisera le champs timing.repeat.periodMax pour réaliser le calcul de la dose minimale prescrite en 24 heures.

Voici un exemple de données d’entrée:

Exemple min_quantity_per_24_hours

{
  "types": ["MIN_QUANTITY_PER_24_HOURS"],
  "medicationRequests": [
    {
      "drug": {
        "clinicalDrug": { "code": "MV00003302", "terminology": "posos" }
      },
      "dosageInstructions": [
        {
          "timing": {
            "repeat": {
              "frequency": 1,
              "period": 1,
              "periodUnit": "d",
              "when": ["MORN"]
            }
          },
          "doseAndRate": {
            "doseQuantity": {
              "value": 2.5,
              "system": "https://ucum.org",
              "code": "mg"
            }
          }
        }
      ]
    }
  ]
}

Durée de traitement maximale

Le système d’alerte fonctionne en comparant la durée prescrite du traitement avec une durée maximale définie dans les paramètres de l’alerte. Si la durée prescrite dépasse la durée maximale autorisée, une alerte est générée pour informer le professionnel de santé. Cela permet d’intervenir et d’ajuster le traitement si nécessaire pour garantir la sécurité du patient.

Pour activer les alertes relatives à la durée maximale de traitement, il est impératif d’inclure le paramètre max_treatment_duration dans le champ types.

Afin de permettre l’analyse des données fournies, l’utilisateur doit renseigner l’un des champs suivants :

  • timing.repeat.boundsRange.high pour spécifier la limite supérieure de la plage de temps.
  • timing.repeat.boundsDuration pour définir une durée spécifique.
  • timing.repeat.boundsPeriod, qui nécessite une date de début et une date de fin.

Lorsque plusieurs instructions de dosage sont présentes, chacune identifiée par un numéro de séquence distinct, la durée totale du traitement est calculée en additionnant les durées spécifiées pour chaque séquence. Ainsi, chaque séquence est traitée comme une extension successive de la précédente.

Voici un exemple dde donnée d’entrée, avec le champs boundsDuration:

Exemple max_treatment_duration

{
  "types": ["MAX_TREATMENT_DURATION"],
  "medicationRequests": [
    {
      "drug": {
        "clinicalDrug": {
          "code": "MV00001769",
          "terminology": "posos"
        }
      },
      "dosageInstructions": [
        {
          "timing": {
            "repeat": {
              "boundsPeriod": {
                "start": "2024-04-20"
              },
              "boundsDuration": {
                "value": 2,
                "system": "ucum",
                "code": "wk"
              },
            }
          }
        }
      ]
    }
  ]
}

Voici un exemple de paramètres avec boundsRange:

Exemple MAX_QUANTITY_PER_24_HOURS avec boundsRange

{
  "types": ["MAX_QUANTITY_PER_24_HOURS"],
  "medicationRequests": [
    {
      "drug": {
        "clinicalDrug": {
          "code": "MV00004522",
          "terminology": "posos"
        }
      },
      "dosageInstructions": [
        {
          "timing": {
            "repeat": {
              "boundsDuration": {
                "system": "http://hl7.org/fhir/ValueSet/duration-units",
                "value": 2,
                "code": "wk"
              },
              "frequency": 1,
              "period": 1,
              "periodUnit": "d",
              "when": [
                "MORN"
              ]
            }
          },
          "doseAndRate": {
            "doseRange": {
              "low": {
                "value": 5,
                "system": "http://snomed.info/sct",
                "code": "428673006"
              },
              "high": {
                "value": 15,
                "system": "http://snomed.info/sct",
                "code": "428673006"
              }
            }
          }
        }
      ]
    }
  ]
}

Et enfin voici un exemple avec une boundsPeriod:

Exemple max_treatment_duration avec boundsPeriod

{
  "types": ["MAX_TREATMENT_DURATION"],
  "medicationRequests": [
    {
      "drug": {
        "brandedDrug": {
          "code": "68650684",
          "terminology": "cis"
        }
      },
      "dosageInstructions": [
        {
          "timing": {
            "repeat": {
              "boundsPeriod": {
                "start": "2024-04-20",
                "end": "2024-05-10"
              }
            }
          }
        }
      ]
    }
  ]
}

Durée de traitement minimale

Le système d’alerte pour la durée de traitement minimale compare la durée prescrite du traitement avec une durée minimale définie dans les paramètres de l’alerte. Cette alerte informe le professionnel de santé que la durée du traitement prescrite est insuffisante pour atteindre l’efficacité thérapeutique attendue, ce qui peut nécessiter une réévaluation du plan de traitement.

Pour activer les alertes relatives à la durée maximale de traitement, il est impératif d’inclure le paramètre min_treatment_duration dans le champ types.

Afin de permettre l’analyse des données fournies, l’utilisateur doit renseigner l’un des champs suivants :

  • timing.repeat.boundsRange.low pour spécifier la limite supérieure de la plage de temps.
  • timing.repeat.boundsDuration pour définir une durée spécifique.
  • timing.repeat.boundsPeriod, qui nécessite une date de début et une date de fin.

Lorsque plusieurs instructions de dosage sont présentes, chacune identifiée par un numéro de séquence distinct, la durée totale du traitement est calculée en additionnant les durées spécifiées pour chaque séquence. Ainsi, chaque séquence est traitée comme une extension successive de la précédente.

Voici un exemple dde donnée d’entrée, avec le champs boundsDuration:

Exemple min_treatment_duration

{
  "types": ["MIN_TREATMENT_DURATION"],
  "medicationRequests": [
    {
      "drug": {
        "clinicalDrug": {
          "code": "MV00004546",
          "terminology": "posos"
        }
      },
      "dosageInstructions": [
        {
          "timing": {
            "repeat": {
              "boundsPeriod": {
                "start": "2024-04-20"
              },
              "boundsDuration": {
                "value": 4,
                "system": "ucum",
                "code": "d"
              }
            }
          }
        }
      ]
    }
  ]
}

Durée minimale entre les prises

Cette fonctionnalité analyse les données de dosage fournies pour chaque médicament et vérifie si l’intervalle entre les prises respecte la durée minimale prescrite. Si l’intervalle entre les doses est inférieur à la durée minimale spécifiée, une alerte est générée pour informer le professionnel de santé. Cela permet d’éviter les surdosages accidentels et de s’assurer que le médicament est administré de manière optimale selon les directives cliniques.

Ce type d’alerte est évalué en fonction des champs frequency et period renseignés dans timing.repeat. Une estimation plus précise de l’intervalle entre les doses est possible si les champs timeOfDay ou when sont également spécifiés. Par exemple, une fréquence de trois prises par jour suggère un intervalle de 8 heures entre chaque dose. Toutefois, si les moments spécifiques de la journée sont indiqués dans le champ when avec les valeurs [When.MORN, When.NOON, When.EVE], l’intervalle estimé entre les prises peut être réduit à 4 heures.

Voici un exemple où les moments de prise sont précisés, ce qui permet de déclencher l’alerte:

Exemple min_duration_between_doses

{
  "types": ["MIN_DURATION_BETWEEN_DOSES"],
  "medicationRequests": [
    {
      "drug": {
        "clinicalDrug": {
          "code": "MV00000756",
          "terminology": "posos"
        }
      },
      "dosageInstructions": [
        {
          "timing": {
            "repeat": {
            "frequency": 7,
            "period": 1,
            "periodUnit": "d"
            }
	  }
        }
      ]
    }
  ]
}

Et voici un exemple avec une frequencyMaxprécisée:

Exemple min_duration_between_doses avec frequencyMax

{
  "types": ["MIN_DURATION_BETWEEN_DOSES"],
  "medicationRequests": [
    {
      "drug": {
        "clinicalDrug": {
          "code": "MV00003567",
          "terminology": "posos"
        }
      },
      "dosageInstructions": [
        {
          "timing": {
	    "repeat": {
	      "frequency": 2,
	      "frequencyMax": 5,
	      "period": 1,
	      "periodUnit": "d"
	    }
	  }
        }
      ]
    }
  ]
}

Variables

VariableTypeDescription
medicationRequestsMedicationRequest[]Liste d’objets contenant le médicament prescrit ainsi que les instructions de prise
typesDosageAlertType[]Liste des types d’alerte de posologie que l’on souhaite requêter. Si cette liste est laissée vide, tous les types d’alerte seront retournés en réponse de l’API.

MedicationRequest

VariablesTypeDescription
drugDrugInputMédicament qui a été prescrit
dosageInstructionsDosageInstruction[]Liste d’instructions de prise de ce médicament

DrugInput

VariablesTypeDescription
clinicalDrugCodingCode représentant une clinical drug
brandedDrugCodingCode représentant une branded drug
packagedDrugCodingCode représentant une packaged drug

DosageInstruction

VariablesTypeDescription
doseAndRateDoseAndRateQuantité de médicament prescrite
timingTimingQuand le médicament doit être administré
sequencenumberL’ordre d’administration des instructions, si plusieurs sont spécifiées

DoseAndRate

VariablesTypeDescription
doseQuantityQuantityQuantité de médicament qui peut être administré
doseRangeRangeLa fourchette de quantité de médicament qui peut être administré

Quantity

VariablesTypeDescription
valueFloatLa valeur numérique représentant la quantité
unitStringLe label de l’unité
codeStringLa valeur codée de l’unité
systemStringLe system qui permet de définir l’unité codée

Range

VariablesTypeDescription
lowQuantityBorne basse de la fourchette de valeurs
highQuantityBorne haute de la fourchette de valeurs

Timing

VariablesTypeDescription
repeatRepeatObjet contenant les informations sur la temporalité de la prise

Repeat

VariablesTypeDescription
boundsDurationQuantityDurée pendant laquelle le patient doit prendre son traitement
boundsPeriodBoundsPeriodObjet définissant la date de début et de fin de la prise de traitement
boundsRangeRangeLa fourchette de durée de prise de traitement
durationFloatValeur numérique de la durée d’administration du traitement. Si durationMax est aussi spécifié, alors cette valeur représente la valeur minimale
durationMaxFloatValeur numérique de la durée maximale d’administration du traitement
durationUnitStringUnité de la durée d’administration du traitement
countFloatNombre de répétitions. Si countMax est spécifié, alors cette valeur représente le nombre de répétitions minimal.
countMaxFloatNombre de répétitions maximal
frequencyFloatValeur représentant le nombre de répétitions par unité de temps (period). Si frequencyMax est aussi spécifié, alors cette valeur représente le nombre de répétition minimal
periodFloatValeur représentant l’unité de temps de la fréquence définie plus haut (frequency / frequencyMax)
periodMaxFloatValeur représentant la borne haute de l’unité de temps de la fréquence définie plus hat (frequency / frequencyMax)
periodUnitStringUnité permettant de l’unité de temps (period / periodMax)
dayOfWeekDayOfWeek[]Les jours de la semaine où le traitement doit être pris
whenWhen[]Moment de la journée où le traitement doit être pris, voir la liste
timeOfDayString[]Moment précis où le traitement doit être pris. Cette chaine de caractères doit être de la forme “HH:MM:SS”

Coding

AttributsTypeDescription
codestringCode de cette entité dans la terminologie
labelstringLabel de cette entité dans la terminologie
terminologystringIdentifiant de la terminologie, valable à travers la base

Résultat

L’API renvoie un objet de type DosageAlertResult.

VariablesTypeDescription
drugDrugContient le ou les médicaments concernés par l’alerte
doseAlertDoseAlertObjet contenant la valeur de l’alerte
drugDetectedBooleanBooléen représentant si l’alerte a été detectée
sourceSourceSource de l’alerte
sequenceInt[]Les numéros de séquence des instructions qui ont déclénchées l’alerte

Drug

VariablesTypeDescription
clinicalDrugsCoding[]Liste des clinicalDrugs concernées par l’alerte
brandedDrugsCoding[]Liste des brandedDrugsconcernées par l’alerte
packagedDrugsCoding[]Liste des packagedDrugsconcernées par l’alerte

DoseAlert

VariablesTypeDescription
typeDosageAlertTypeType de l’alerte
textStringLabel de l’alarme
valueFloatValeur numérique de l’alerte
unitStringUnité de l’alerte
codeStringUnité codé de l’alerte
systemStringSystem représentant l’unité codé

L’API renvoie toutes les alertes correspondant au type requêté en entrée. Si une alerte est déclenchée, elle est renvoyée avec la valeur alertDetected égale à true. Si une alerte n’est pas déclenchée, la valeur de alertDetected est false. Dans le cas où les informations fournies en entrée sont insuffisantes pour effectuer une analyse complète, la valeur de alertDetected sera null.

Erreurs

L’API getDosageAlert peut fournir des données partielles en cas d’erreur, lorsque cela est réalisable. Par exemple, même si les instructions de dosage sont incorrectes, l’API peut tout de même retourner les alertes liées au médicament demandé, mais avec alertDetected = null. Les données partielles sont disponibles dans le champ data et les erreurs éventuelles sont listées dans le champ errors.

Voici les différentes erreurs que l’utilisateur peut obtenir, qui sont liées à la donnée d’entrée.

Message d’erreurSignification
Dosage instructions are missingDans une medicationRequest, l’utilisateur n’a pas fournit d’instructions de dosage. L’API va renvoyer les alertes associées au médicament requêté, mais ne pourra pas faire l’anayse pour detecter si oui ou non l’alerte est déclenchée.
Timing is missingPour réaliser l’analyse de certain types d’alerte, le champ timing est nécessaire. Les alertes concernées sont Durée maximale de traitement, Durée minimale de traitement, Interval minimal entre les prises, Quantité minimale par 24 heures.
Timing or maxDosePerPeriod is missingPour le type d’alerte Quantité maximale par 24 heures, le champ timing est requis uniquement si le champs doseMaxPerPeriod est aussi manquant.
DoseAndRate is missingPour l’analyse des alertes de type Quantité maximale par dose, Quantité minimale par 24 heures, le champ doseAndRate est nécessaire.
DoseAndRate or maxDosePerPeriod is missingPour le type d’alerte Quantité maximale par 24 heures, le champ doseAndRate est requis uniquement si le champs doseMaxPerPeriod est aussi manquant.
The dosage instruction does not seem to be properly structured. No end date could be computed. Analysis is impossiblePour les alertes de type Durée de traitement maximale et Durée de traitement minimale, il faut que la donnée spécifiée en entrée permette de calculer la date de fin de traitement. La structure de la donnée requise pour cette analyse est donnée dans les exemples plus haut.
_ is not a valid time stringLes valeurs spécifiées dans le champ timeOfDaydoivent être de la forme HH:MM:SS.
The quantity is missing the field systemLe champ system est manquant dans l’objet quantité.
The system _ is not authorized for quantity (The authorized ones are: ucum and snomed)La terminologie utilisée pour la quantité que l’utilisateur a spécifiée n’est pas accepté par l’API.
The quantity is missing the field code.Le champ code est manquant dans l’objet quantité.
Code _ is not recognizedLe code spécifié n’est pas accepté par l’API.
The quantity is missing the field valueLe champ value est manquant dans l’objet quantité.
Decimal values are not allowed for durationsDans le champ value des durées, veuillez rentrer une valeur entière
The medication request objet should include either a clinical drug, a branded drug, a packaged drug or an ingredientDans l’objet DrugInput, il faut préciser au moins un des champs clinicalDrug, brandedDrug, packagedDrugor ingredient.
The drug objet should receive only one type of drug: either a clinical drug, a branded drug, or a packaged drugL’objet DrugInput ne doit contenir qu’un seul des champs.
The drug _ is missing the field terminologyL’objet Coding doit obligatoirement contenir le champ terminology.
The terminology is not authorizedLa terminologie précisée en entrée n’est pas accepté. Le message d’erreur contient la liste des terminologies acceptées pour le type de médicament requêté.
In a drug request, code and label should not be simultaneously emptyIl faut préciser au moins le code ou le label quand on requête un médicament.

Enums

DosageAlertType

Dosage Alert TypeCode
Minimum treatment durationmin_treatment_duration
Maximum treatment durationmax_treatment_duration
Minimum duration between dosesmin_duration_between_doses
Maximum quantity per dosemax_quantity_per_dose
Minimum quantity per 24 hoursmin_quantity_per_24_hours
Maximum quantity per 24 hoursmax_quantity_per_24_hours

When

VariableDescription
MORNÉvénement se produit pendant la matinée.
MORN_EARLYÉvénement se produit tôt le matin.
MORN_LATEÉvénement se produit en fin de matinée.
NOONÉvénement se produit vers 12h00.
AFTÉvénement se produit pendant l’après-midi.
AFT_EARLYÉvénement se produit en début d’après-midi.
AFT_LATEÉvénement se produit en fin d’après-midi.
EVEÉvénement se produit pendant la soirée.
EVE_EARLYÉvénement se produit en début de soirée.
EVE_LATEÉvénement se produit en fin de soirée.
NIGHTÉvénement se produit pendant la nuit.
PHSÉvénement se produit après que le sujet se soit endormi.
HSAvant de commencer une période régulière de sommeil prolongé (cela exclut les siestes).
WAKEAu réveil d’une période régulière de sommeil, pour commencer les activités régulières.
CRepas (du latin ante cibus).
CMPetit déjeuner (du latin cibus matutinus).
CDDéjeuner (du latin cibus diurnus).
CVDîner (du latin cibus vespertinus).
ACAvant le repas (du latin ante cibus).
ACMAvant le petit déjeuner (du latin ante cibus matutinus).
ACDAvant le déjeuner (du latin ante cibus diurnus).
ACVAvant le dîner (du latin ante cibus vespertinus).
PCAprès le repas (du latin post cibus).
PCMAprès le petit déjeuner (du latin post cibus matutinus).
PCDAprès le déjeuner (du latin post cibus diurnus).
PCVAprès le dîner (du latin post cibus vespertinus).

DayOfWeek

VariableDescription
MONLundi
TUEMardi
WEDMercredi
THUJeudi
FRIVendredi
SATSamedi
SUNDimanche