ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

AllergyIntolerance — Allergies et intolérances

La ressource qui porte le drapeau rouge clinique : tout EHR doit afficher AllergyIntolerance avant chaque prescription, et l'ordonnance doit la considérer.

Objet de la ressource

AllergyIntolerance est la ressource FHIR qui enregistre, pour un patient, la propension connue à réagir défavorablement à une substance — qu'il s'agisse d'une vraie allergie (réaction immunologique de type I avec IgE), d'une intolérance non immunologique (lactose, gluten), d'une réaction pseudo-allergique (aspirine) ou d'un effet indésirable médicamenteux récurrent.

La ressource est utilisée par les CDSS (Clinical Decision Support Systems) pour détecter les contre-indications avant émission d'une MedicationRequest. Elle est également centrale en pharmacie hospitalière pour la dispensation et en anesthésie pré-opératoire. Modèle pré-coordination des codes RxNorm / SNOMED CT pour identifier précisément la substance ou la classe de substances en cause.

Champs clés

ChampTypeCardinalitéRôle
identifierIdentifier[]0..*Identifiant métier local.
clinicalStatusCodeableConcept0..1active, inactive, resolved.
verificationStatusCodeableConcept0..1unconfirmed, presumed, confirmed, refuted, entered-in-error.
typeCodeableConcept0..1allergy ou intolerance.
categorycode[]0..*food, medication, environment, biologic.
criticalitycode0..1low, high, unable-to-assess. Pas la sévérité de l'épisode, mais le risque de réaction sévère future.
codeCodeableConcept0..1Code de la substance / classe. SNOMED CT, RxNorm, classe ATC, allergène codé.
patientReference(Patient)1..1Sujet (obligatoire).
encounterReference(Encounter)0..1Visite de découverte / documentation.
onset[x]dateTime | Age | Period | Range | string0..1Date / âge de première manifestation.
recordedDatedateTime0..1Date de saisie de la donnée.
recorderReference(Practitioner | PractitionerRole | Patient | RelatedPerson)0..1Qui a documenté.
asserterReference(Patient | RelatedPerson | Practitioner | PractitionerRole)0..1Qui a affirmé l'allergie (souvent le patient).
lastOccurrencedateTime0..1Dernière manifestation connue.
reactionBackboneElement[]0..*Détail des épisodes : substance exacte, manifestation, sévérité, voie d'exposition.
noteAnnotation[]0..*Notes libres complémentaires.

Statuts cliniques et de vérification

Deux dimensions de statut s'articulent :

  • clinicalStatus — état clinique de l'allergie. active = en cours, à surveiller. inactive = pas une menace immédiate (rémission). resolved = guérie (dé-sensibilisation prouvée, par exemple).
  • verificationStatus — fiabilité de la donnée. confirmed = certifié par test ou par épisode authentifié. presumed = présumé sur la base d'éléments cliniques. unconfirmed = déclaré mais non vérifié. refuted = explicitement réfuté après investigation. entered-in-error = saisi par erreur.

Cette dualité est cruciale : un patient qui déclare une « allergie à la pénicilline » a souvent eu en réalité une réaction cutanée bénigne d'enfance. Une investigation allergologique passe le statut de unconfirmed à confirmed ou refuted.

Exemple JSON

Allergie pénicilline (SNOMED CT) confirmée, criticality haute, avec un épisode documenté de réaction urticarienne après prise orale d'aspirine :

json allergyintolerance-penicillin.json
{
  "resourceType": "AllergyIntolerance",
  "id": "penicillin",
  "clinicalStatus": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical",
      "code": "active",
      "display": "Active"
    }]
  },
  "verificationStatus": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-verification",
      "code": "confirmed",
      "display": "Confirmed"
    }]
  },
  "type": {
    "coding": [{
      "system": "http://hl7.org/fhir/allergy-intolerance-type",
      "code": "allergy"
    }]
  },
  "category": ["medication"],
  "criticality": "high",
  "code": {
    "coding": [{
      "system": "http://snomed.info/sct",
      "code": "373270004",
      "display": "Substance with penicillin structure and antibacterial mechanism of action"
    }]
  },
  "patient": { "reference": "Patient/example" },
  "onsetDateTime": "2018-04-22",
  "recordedDate": "2019-01-15T11:00:00+01:00",
  "recorder": { "reference": "Practitioner/dr-jones" },
  "reaction": [{
    "substance": {
      "coding": [{
        "system": "http://www.nlm.nih.gov/research/umls/rxnorm",
        "code": "1191",
        "display": "Aspirin"
      }]
    },
    "manifestation": [{
      "concept": {
        "coding": [{
          "system": "http://snomed.info/sct",
          "code": "247472004",
          "display": "Hives"
        }]
      }
    }],
    "severity": "moderate",
    "exposureRoute": {
      "coding": [{
        "system": "http://snomed.info/sct",
        "code": "26643006",
        "display": "Oral route"
      }]
    }
  }]
}
  • clinicalStatus=active + verificationStatus=confirmed — drapeau rouge actif et certifié.
  • criticality=high — risque de réaction sévère lors d'une exposition future.
  • category=["medication"] — la classe de la substance déclenchante.
  • code SNOMED CT 373270004 = substances de structure pénicilline. C'est la classe, pas un médicament précis.
  • reaction[0] décrit un épisode avec aspirine (RxNorm 1191) qui a déclenché de l'urticaire (SNOMED CT 247472004).

API REST

  • GET /AllergyIntolerance?patient=Patient/example — toutes les allergies d'un patient.
  • GET /AllergyIntolerance?patient=Patient/example&clinical-status=active&verification-status=confirmed — uniquement les actives confirmées.
  • GET /AllergyIntolerance?patient=Patient/example&category=medication&criticality=high — médicaments à risque élevé.
  • POST /AllergyIntolerance — créer après documentation par praticien.
  • PUT /AllergyIntolerance/penicillin — mettre à jour le statut.
  • GET /Patient/example/$everything?_type=AllergyIntolerance,MedicationRequest — opération composite pour récupérer allergies + prescriptions pour CDSS.

Profils nationaux

ProfilRégulateurRestrictions
US Core AllergyIntoleranceHL7 US Realm — ONC EHRDoit porter clinicalStatus, verificationStatus, code (RxNorm, SNOMED CT, ou UNII), patient.
IPS AllergyIntoleranceHL7 + CEN/TC 251Pour résumé patient international (Patient Summary).
FR Core AllergyIntoleranceANSSlicing sur code, contraint à CIM-10 ou SNOMED CT FR.
UK Core AllergyIntoleranceNHS DigitalAligné sur le Care Connect.
AU Core AllergyIntoleranceHL7 AustraliaPour My Health Record et eMedicines.

Pièges courants

  • Criticality vs reaction.severitycriticality est un risque futur (haut / bas), reaction.severity est la sévérité historique d'un épisode passé. Ne pas les confondre.
  • Allergie à un médicament précis vs classe — pour la pénicilline, préférer le code SNOMED CT de la classe (« Substances de structure pénicilline ») plutôt qu'un RxNorm d'une marque, pour que le CDSS bloque toute la classe.
  • Oubli du verificationStatus — un EHR qui affiche toutes les AllergyIntolerance sans distinguer unconfirmed et confirmed sur-alerte le prescripteur et provoque la fatigue d'alerte.
  • Pas de onset[x] — l'âge de la première manifestation est essentiel pour l'évaluation (allergie d'enfance vs allergie adulte récente).
  • « NKA » — l'absence d'allergie connue ne se code pas par l'absence d'AllergyIntolerance. Utiliser une AllergyIntolerance avec code = "No known allergies" (SNOMED CT 716186003) pour le rendre explicite, sinon le récepteur ne peut pas distinguer « pas documenté » de « documenté comme absent ».
  • Reaction sans manifestation — un épisode reaction sans au moins une manifestation est inexploitable cliniquement.

Ressources liées

  • MedicationRequest — toute prescription doit vérifier AllergyIntolerance avant émission.
  • Condition — pour les diagnostics qui ne sont pas des allergies (asthme, eczéma).
  • Observation — pour les résultats de tests allergologiques (IgE spécifiques, prick-test).
  • AdverseEvent — événement indésirable réel (effet secondaire constaté), distinct de l'allergie présumée.
  • Patient — sujet via patient.
  • HL7 v2 AL1 / IAM — équivalents legacy.