EpisodeOfCare — Le suivi longitudinal
Une maternité, un parcours oncologique, un suivi de greffe, une dialyse : EpisodeOfCare regroupe les Encounters d'un long parcours de soin lié à une condition ou un programme.
Objet de la ressource
EpisodeOfCare répond à la question : « quels Encounters appartiennent à un même parcours ? ». Là où Encounter modélise un séjour ou une consultation ponctuelle, EpisodeOfCare regroupe l'ensemble des Encounters relatifs à une condition ou un programme : tous les rendez-vous d'une maternité, toutes les hospitalisations d'un parcours oncologique, toutes les séances d'un programme de réhabilitation.
Dans le DPI, c'est l'équivalent du dossier de spécialité ou du dossier transversal.
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
identifier | Identifier[] | 0..* | Identifiants externes. |
status | code | 1..1 | Obligatoire. planned | waitlist | active | onhold | finished | cancelled | entered-in-error. |
statusHistory | BackboneElement[] | 0..* | Historique des statuts. |
type | CodeableConcept[] | 0..* | Type d'épisode. |
reason | BackboneElement[] | 0..* | Raisons médicales (R5). |
diagnosis | BackboneElement[] | 0..* | Diagnostics primaires/secondaires. |
subject | Reference(Patient | Group) | 1..1 | Obligatoire. Sujet du parcours. |
managingOrganization | Reference(Organization) | 0..1 | Organisation pilote. |
period | Period | 0..1 | Durée du parcours. |
referralRequest | Reference(ServiceRequest)[] | 0..* | Demandes de prise en charge initiale. |
careManager | Reference(Practitioner | PractitionerRole) | 0..1 | Pilote du parcours (case manager). |
team | Reference(CareTeam)[] | 0..* | Équipes impliquées (R5). |
account | Reference(Account)[] | 0..* | Compte(s) financier(s) liés. |
Exemple JSON
Parcours de soins domiciliaire (HACC, Home and Community Care) pour un patient diabétique, débuté en janvier 2026, équipe de soin associée et compte de facturation :
{
"resourceType": "EpisodeOfCare",
"id": "example",
"identifier": [{
"system": "http://example.org/sampleepisodeofcare-identifier",
"value": "123"
}],
"status": "active",
"statusHistory": [
{ "status": "planned", "period": { "start": "2026-01-01", "end": "2026-01-15" } },
{ "status": "active", "period": { "start": "2026-01-15" } }
],
"type": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/episodeofcare-type",
"code": "hacc",
"display": "Home and Community Care"
}]
}],
"reason": [{
"use": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/reason-use",
"code": "primary-diagnosis"
}]
},
"value": [{
"concept": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "73211009",
"display": "Diabetes mellitus (disorder)"
}]
}
}]
}],
"diagnosis": [{
"condition": [{
"concept": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "44054006"
}]
}
}],
"use": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
"code": "CC",
"display": "Chief complaint"
}]
}
}],
"subject": { "reference": "Patient/example" },
"managingOrganization": { "reference": "Organization/hospital-1" },
"period": { "start": "2026-01-15" },
"careManager": { "reference": "Practitioner/dr-jones" },
"team": [{ "reference": "CareTeam/example" }],
"account": [{ "reference": "Account/example" }]
} Pièges courants
- Confusion Encounter / EpisodeOfCare — un Encounter est ponctuel (séjour, consultation), un EpisodeOfCare est longitudinal et regroupe plusieurs Encounters via
Encounter.episodeOfCare. - Plusieurs EoC actifs concurrents — un patient peut avoir N EoC actifs en parallèle (oncologie + maternité + suivi diabète) : c'est attendu, ne pas chercher à n'en avoir qu'un.
- EoC sans
careManager— pour les parcours complexes, un care manager est généralement attendu ; sans lui, la gouvernance clinique est floue. - Statut
finishedsansperiod.end— incohérence : un parcours terminé DOIT avoir une fin. - Account multiples non séquencés — quand plusieurs Accounts couvrent l'EoC, expliciter la priorité ou la séquence métier.