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.

Immunization — Vaccination administrée

L'enregistrement d'une dose vaccinale : produit, lot, voie, site, série vaccinale. Ressource clef pour les carnets et passeports vaccinaux.

Objet de la ressource

Immunization documente l'administration effective d'une dose vaccinale à un patient. À ne pas confondre avec ImmunizationRecommendation (recommandation par calendrier vaccinal) ni avec MedicationRequest (prescription). Immunization est un événement passé : la dose a été injectée, ou refusée (status=not-done), à un moment et un lieu précis.

Cas d'usage typiques : carnet de vaccination électronique, registre national de vaccination (REIVAC en France, IIS aux États-Unis), passeport vaccinal numérique (DCC / EU Digital Covid Certificate, SMART Health Cards), reporting épidémiologique et pharmacovigilance.

Champs clés

ChampTypeCardinalitéRôle
identifierIdentifier[]0..*Identifiant métier local.
statuscode1..1completed, entered-in-error, not-done.
statusReasonCodeableConcept0..1Raison de not-done (contre-indication, refus du patient…).
vaccineCodeCodeableConcept1..1Code de la vaccine. CVX (États-Unis), SNOMED CT, ATC, ou code national.
administeredProductCodeableReference0..1Produit pharmaceutique précis administré (référence à Medication).
manufacturerCodeableReference0..1Fabricant.
lotNumberstring0..1Numéro de lot (crucial pour la traçabilité pharmacovigilance).
expirationDatedate0..1Date de péremption du lot administré.
patientReference(Patient)1..1Sujet vacciné (obligatoire).
encounterReference(Encounter)0..1Visite associée.
occurrence[x]dateTime | string1..1Date d'administration (datetime ou texte si imprécis).
primarySourceboolean0..1true si la donnée vient de celui qui a vacciné ; false si recopiée d'un autre dossier.
locationReference(Location)0..1Lieu d'administration (cabinet, pharmacie, école).
siteCodeableConcept0..1Site anatomique (LA / RA / LT / RT = bras / cuisse droite/gauche).
routeCodeableConcept0..1Voie (IM, SC, intra-dermique, oral).
doseQuantitySimpleQuantity0..1Volume / dose administrée.
performerBackboneElement[]0..*Qui a administré (rôle + acteur).
reactionBackboneElement[]0..*Réactions immédiates (Observation référencée).
protocolAppliedBackboneElement[]0..*Série vaccinale, maladie cible, numéro de dose dans la série.

Codifications vaccin

Code systemCouvertureExemple
CVX (http://hl7.org/fhir/sid/cvx)États-Unis (CDC)208 = COVID-19 Pfizer-BioNTech mRNA 30 mcg.
SNOMED CTInternational1119349007 = SARS-CoV-2 mRNA vaccine.
ATCEurope (WHO)J07BX03 = COVID-19 vaccines.
NDCÉtats-Unis (produit fini)59267-1000-3 = code produit Pfizer.
CIPFrance (produit fini)Code CIP13 français.
EU MAH / vaccineUE (DCC)Codes EU/1/20/1528 pour le contexte passeport vaccinal.

Exemple JSON

Rappel COVID-19 (3e dose) Pfizer-BioNTech administré le 14 mai 2026 à Patient « example », bras gauche, IM, dose 0,3 mL, lot EM0477 :

json immunization-covid-booster.json
{
  "resourceType": "Immunization",
  "id": "covid-booster",
  "status": "completed",
  "vaccineCode": {
    "coding": [{
      "system": "http://hl7.org/fhir/sid/cvx",
      "code": "208",
      "display": "COVID-19, mRNA, LNP-S, PF, 30 mcg/0.3 mL dose"
    }, {
      "system": "http://snomed.info/sct",
      "code": "1119349007",
      "display": "Severe acute respiratory syndrome coronavirus 2 mRNA vaccine"
    }]
  },
  "administeredProduct": {
    "concept": {
      "coding": [{
        "system": "http://hl7.org/fhir/sid/ndc",
        "code": "59267-1000-3",
        "display": "Pfizer-BioNTech COVID-19 Vaccine"
      }]
    }
  },
  "manufacturer": {
    "reference": { "reference": "Organization/pfizer" }
  },
  "lotNumber": "EM0477",
  "expirationDate": "2026-11-30",
  "patient": { "reference": "Patient/example" },
  "encounter": { "reference": "Encounter/vaccination-visit" },
  "occurrenceDateTime": "2026-05-14T14:30:00+01:00",
  "primarySource": true,
  "location": { "reference": "Location/pharmacy-001" },
  "site": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/v3-ActSite",
      "code": "LA",
      "display": "Left arm"
    }]
  },
  "route": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/v3-RouteOfAdministration",
      "code": "IM",
      "display": "Intramuscular"
    }]
  },
  "doseQuantity": {
    "value": 0.3,
    "unit": "mL",
    "system": "http://unitsofmeasure.org",
    "code": "mL"
  },
  "performer": [{
    "function": {
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/v2-0443",
        "code": "AP",
        "display": "Administering Provider"
      }]
    },
    "actor": { "reference": "Practitioner/nurse-001" }
  }],
  "protocolApplied": [{
    "series": "COVID-19 booster",
    "targetDisease": [{
      "coding": [{
        "system": "http://snomed.info/sct",
        "code": "840539006",
        "display": "Disease caused by Severe acute respiratory syndrome coronavirus 2"
      }]
    }],
    "doseNumberPositiveInt": 3
  }]
}
  • status=completed et primarySource=true : la donnée est saisie par celui qui a vacciné, source de vérité.
  • vaccineCode double-codé CVX (USA) + SNOMED CT (international) pour interop maximum.
  • administeredProduct NDC précise la marque exacte.
  • lotNumber EM0477 + expirationDate pour pharmacovigilance (en cas de rappel de lot par Pfizer).
  • protocolApplied.doseNumberPositiveInt=3 indique qu'il s'agit de la 3e dose de la série.

API REST

  • GET /Immunization?patient=Patient/example — historique vaccinal complet.
  • GET /Immunization?patient=Patient/example&status=completed&_sort=-date — dernières doses administrées triées par date.
  • GET /Immunization?vaccine-code=208&date=ge2026-01-01 — toutes les doses COVID Pfizer depuis le 1er janvier 2026 (registre régional).
  • POST /Immunization — créer après vaccination.
  • GET /Immunization?lot-number=EM0477 — recherche par lot (pharmacovigilance).
  • GET /Patient/example/$everything?_type=Immunization,AllergyIntolerance — composite pour visite de vaccination.

Profils nationaux

ProfilRégulateurParticularité
US Core ImmunizationHL7 US Realm — ONC EHRDoit porter vaccineCode CVX, patient, status, occurrence[x], primarySource.
IPS ImmunizationHL7 + CEN/TC 251Pour résumé patient international.
FR Core ImmunizationANSPour Mon Espace Santé. vaccineCode en SNOMED CT FR.
EU Digital Covid Certificate (DCC)Commission européenneProfile-light pour passeport vaccinal numérique signé.
SMART Health CardsVCI (États-Unis)FHIR Bundle signé pour preuve vaccinale.
AU Core ImmunizationHL7 AustraliaPour AIR (Australian Immunisation Register).

Pièges courants

  • Confusion CVX / NDC — CVX code la vaccine (l'antigène et son contexte général), NDC code le produit pharmaceutique précis (marque + dosage + conditionnement). Toujours porter les deux pour la traçabilité pleine.
  • Oubli du lotNumber — sans numéro de lot, impossible de répondre à un signal de pharmacovigilance ou un rappel de lot.
  • primarySource mal renseigné — si la dose a été reportée d'un carnet papier, mettre false. Sinon, les analyses de qualité de donnée du registre national la classent comme source primaire à tort.
  • protocolApplied manquant — pour les vaccins à doses multiples (COVID, HPV, hépatite B), oublier doseNumberPositiveInt rend impossible le calcul du schéma complet.
  • Refus codé comme absence — un refus de vaccination doit être codé avec status=not-done + statusReason, pas par l'absence de ressource Immunization. Sinon, on ne distingue pas « jamais proposé » de « refusé explicitement ».
  • occurrence en texte libre — éviter occurrenceString sauf en cas de date totalement inconnue (rapatriement de carnet papier ancien).

Ressources liées

  • ImmunizationRecommendation — recommandations selon calendrier vaccinal.
  • ImmunizationEvaluation — évaluation d'une dose par rapport au schéma vaccinal.
  • Medication — produit pharmaceutique référencé.
  • AllergyIntolerance — contre-indication à vérifier avant.
  • Observation — réactions post-vaccinales documentées.
  • Patient — sujet vacciné.