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
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
identifier | Identifier[] | 0..* | Identifiants externes. |
encounter | Reference(Encounter) | 0..1 | Encounter pivot. |
status | code | 1..1 | État de l'Encounter à ce moment (in-progress, finished…). |
class | CodeableConcept | 1..1 | Classe de l'Encounter à ce moment (IMP, AMB, EMER, FLD…). |
type | CodeableConcept[] | 0..* | Type spécifique de la transition. |
serviceType | CodeableReference | 0..* | Service prenant en charge. |
subject | Reference(Patient | Group) | 0..1 | Patient concerné. |
subjectStatus | CodeableConcept | 0..1 | État du patient (conscious, sedated…). |
actualPeriod | Period | 0..1 | Période réelle de cette tranche d'historique. |
plannedStartDate / plannedEndDate | dateTime | 0..1 | Période planifiée. |
length | Duration | 0..1 | Durée totale. |
location | BackboneElement[] | 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 :
{
"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
actualPeriodde deux EncounterHistory consécutives doivent être consistantes (fin de A = début de B). - Confusion status (resource) / status (Encounter actuel) :
EncounterHistory.statusrepré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
locationrend 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.