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.

EncounterHistory — Historique des états d'un Encounter

Nouvelle ressource introduite en FHIR R5. Capture chaque transition significative d'un séjour (changement de service, transfert d'unité, modification de classe administrative) sans modifier la ressource Encounter principale.

Objet de la ressource

Avant R5, un changement de statut d'un Encounter — admission, transfert d'unité, sortie temporaire pour scanner, sortie définitive — était soit représenté par mise à jour de l'Encounter (perte d'historique), soit par création de plusieurs Encounters distincts (perte du lien sémantique). EncounterHistory tranche le débat : un Encounter principal stable + N EncounterHistory pour chaque changement.

Cas typiques : patient admis aux urgences, transféré en réanimation, puis remonté en service de pneumologie, puis sorti. Quatre EncounterHistory pour un seul Encounter pivot.

Champs clés

ChampTypeCardinalitéRôle
identifierIdentifier[]0..*Identifiants externes.
encounterReference(Encounter)0..1Encounter pivot.
statuscode1..1État de l'Encounter à ce moment (in-progress, finished…).
classCodeableConcept1..1Classe de l'Encounter à ce moment (IMP, AMB, EMER, FLD…).
typeCodeableConcept[]0..*Type spécifique de la transition.
serviceTypeCodeableReference0..*Service prenant en charge.
subjectReference(Patient | Group)0..1Patient concerné.
subjectStatusCodeableConcept0..1État du patient (conscious, sedated…).
actualPeriodPeriod0..1Période réelle de cette tranche d'historique.
plannedStartDate / plannedEndDatedateTime0..1Période planifiée.
lengthDuration0..1Durée totale.
locationBackboneElement[]0..*Lieux occupés pendant la tranche (lit, chambre, service).

Exemple JSON

Tranche d'historique correspondant au transfert d'un patient en réanimation entre 8h15 et 18h30 :

json encounterhistory-example.json
{
  "resourceType": "EncounterHistory",
  "id": "transfer-to-icu",
  "identifier": [{ "system": "http://hospital.example/encounters/history", "value": "EH-2026-0042" }],
  "encounter": { "reference": "Encounter/example-stay" },
  "status": "in-progress",
  "class": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
      "code": "IMP",
      "display": "Inpatient encounter"
    }]
  },
  "type": [{
    "coding": [{
      "system": "http://snomed.info/sct",
      "code": "11486-8",
      "display": "Critical care transfer"
    }]
  }],
  "subject": { "reference": "Patient/example" },
  "actualPeriod": {
    "start": "2026-05-16T08:15:00+02:00",
    "end": "2026-05-16T18:30:00+02:00"
  },
  "location": [{
    "location": { "reference": "Location/icu-room-101" },
    "form": {
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/location-physical-type",
        "code": "ro",
        "display": "Room"
      }]
    },
    "period": {
      "start": "2026-05-16T08:15:00+02:00",
      "end": "2026-05-16T18:30:00+02:00"
    }
  }]
}

Usages typiques

  • Transferts d'unité : ADT^A02 traduit en EncounterHistory pour chaque transfert.
  • Sortie temporaire : scanner, IRM, consultation externe pendant un séjour.
  • Conversion outpatient → inpatient : ADT^A06.
  • Tracé de bed management : occupation horaire d'un lit, optimisation des lits.
  • Audit identitovigilance : chaque changement de classe est tracé.

Pièges courants

  • EncounterHistory sans encounter : l'historique flottant n'est pas exploitable. Toujours lier à l'Encounter pivot.
  • Mise à jour de l'Encounter ET création d'EncounterHistory : garder l'Encounter immutable et créer un EncounterHistory par transition ; sinon double traçabilité.
  • Period qui se chevauche : les actualPeriod de deux EncounterHistory consécutives doivent être consistantes (fin de A = début de B).
  • Confusion status (resource) / status (Encounter actuel) : EncounterHistory.status représente l'état de l'Encounter à ce moment historique, pas l'état courant.
  • Pas de location : si la tranche correspond à un changement de lieu, omettre location rend la tranche inutile.

Ressources liées

  • Encounter — la ressource pivot.
  • Location — chaque lieu occupé.
  • Patient — sujet.
  • EpisodeOfCare — épisode multi-Encounter.
  • Account — facturation par tranche.

Voir aussi : Encounter — la ressource pivot et ADT^A02 — transfert v2 historique.