EpisodeOfCare — Longitudinal follow-up
A maternity journey, an oncology pathway, a transplant follow-up, a dialysis program: EpisodeOfCare groups the Encounters of a long care pathway tied to a condition or program.
Purpose
EpisodeOfCare answers: "which Encounters belong to the same care pathway?". Where Encounter models a one-off stay or visit, EpisodeOfCare groups every Encounter related to a condition or program: all maternity visits, all oncology hospitalisations, all sessions of a rehab program.
In the EHR, it's the equivalent of the specialty file or the cross-cutting record.
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
identifier | Identifier[] | 0..* | External identifiers. |
status | code | 1..1 | Mandatory. planned | waitlist | active | onhold | finished | cancelled | entered-in-error. |
statusHistory | BackboneElement[] | 0..* | Status history. |
type | CodeableConcept[] | 0..* | Episode type. |
reason | BackboneElement[] | 0..* | Medical reasons (R5). |
diagnosis | BackboneElement[] | 0..* | Primary/secondary diagnoses. |
subject | Reference(Patient | Group) | 1..1 | Mandatory. Pathway subject. |
managingOrganization | Reference(Organization) | 0..1 | Lead Organization. |
period | Period | 0..1 | Pathway duration. |
referralRequest | Reference(ServiceRequest)[] | 0..* | Initial referral requests. |
careManager | Reference(Practitioner | PractitionerRole) | 0..1 | Pathway lead (case manager). |
team | Reference(CareTeam)[] | 0..* | Involved teams (R5). |
account | Reference(Account)[] | 0..* | Linked financial account(s). |
JSON example
Home-and-community-care (HACC) pathway for a diabetic patient, started January 2026, associated care team and billing account:
{
"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" }]
} Common pitfalls
- Confusing Encounter / EpisodeOfCare — an Encounter is one-off (stay, visit), an EpisodeOfCare is longitudinal and groups several Encounters via
Encounter.episodeOfCare. - Several concurrent active EoCs — a patient may have N concurrent active EoCs (oncology + maternity + diabetes follow-up): that's expected, don't try to flatten.
- EoC without
careManager— for complex pathways, a care manager is generally expected; without one, clinical governance is unclear. - Status
finishedwithoutperiod.end— inconsistent: a finished pathway MUST have an end. - Multiple accounts without sequencing — when several Accounts cover the EoC, make priority or business sequence explicit.