This page is part of the FHIR Specification (v5.0.0-ballot: FHIR R5 Ballot Preview). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Patient Administration Work Group | Maturity Level: 2 | Trial Use | Security Category: Patient | Compartments: Patient, Practitioner |
An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.
The EpisodeOfCare Resource contains information about an association of a Patient with a Healthcare Provider for a period of time under which related healthcare activities may occur.
In many cases, this represents a period of time where the Healthcare Provider has some level of responsibility for the care of the patient regarding a specific condition or problem, even if not currently participating in an encounter.
These resources are typically known in existing systems as:
Many organizations can be involved in an EpisodeOfCare; however each organization will have its own EpisodeOfCare resource instance that tracks its responsibility with the patient.
When an Organization completes their involvement with the patient and transfers care to another Organization.
This is often in the form of a referral to another Organization (or Organizations).
When an incoming referral is received a new EpisodeOfCare may be created for this organization.
The initial step(s) in the intake workflow for the referral often involve some form of assessment(s),
eligibility, capacity, care levels, which could take some time.
Once the intake process is completed and the patient is accepted, a CarePlan is often created.
The primary difference between the EpisodeOfCare and the Encounter is that the Encounter records the details of an
activity directly relating to the patient, while the EpisodeOfCare is the container that can link a series of Encounters
together for problems/issues.
The Example scenarios below give some good examples as to when you might want to be using an EpisodeOfCare.
This difference is a similar difference between the EpisodeOfCare and a CarePlan.
The EpisodeOfCare is a tracking resource, rather than a planning resource.
The EpisodeOfCare usually exists before the CarePlan.
You don't need a CarePlan to use an EpisodeOfCare.
Systems collect a coherent group of activities (such as encounters) related to a patient's health condition or problem often referred to as a Care Episode.
Information about an episode is often shared across systems, and in some cases organizational and disciplinary boundaries.
An EpisodeOfCare contains details about the purpose of the care and can exist without any activities.
The minimal information that would be required in an episode of care would be a patient, organization and a reason for the ongoing association.
Other reasons for creating an EpisodeOfCare could be for tracking the details required for government reporting or billing.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
EpisodeOfCare | TU | DomainResource | An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | Business Identifier(s) relevant for this EpisodeOfCare | |
status | ?!Σ | 1..1 | code | planned | waitlist | active | onhold | finished | cancelled | entered-in-error EpisodeOfCareStatus (Required) |
statusHistory | 0..* | BackboneElement | Past list of status codes (the current status may be included to cover the start date of the status) | |
status | 1..1 | code | planned | waitlist | active | onhold | finished | cancelled | entered-in-error EpisodeOfCareStatus (Required) | |
period | 1..1 | Period | Duration the EpisodeOfCare was in the specified status | |
type | Σ | 0..* | CodeableConcept | Type/class - e.g. specialist referral, disease management EpisodeOfCareType (Example) |
diagnosis | Σ | 0..* | BackboneElement | The list of diagnosis relevant to this episode of care |
condition | Σ | 1..1 | CodeableReference(Condition) | Conditions/problems/diagnoses this episode of care is for Condition/Problem/Diagnosis Codes (Example) |
role | Σ | 0..1 | CodeableConcept | Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …) DiagnosisRole (Preferred) |
rank | Σ | 0..1 | positiveInt | Ranking of the diagnosis (for each role type) |
patient | Σ | 1..1 | Reference(Patient) | The patient who is the focus of this episode of care |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization that assumes responsibility for care coordination |
period | Σ | 0..1 | Period | Interval during responsibility is assumed |
referralRequest | 0..* | Reference(ServiceRequest) | Originating Referral Request(s) | |
careManager | 0..1 | Reference(Practitioner | PractitionerRole) | Care manager/care coordinator for the patient | |
careTeam | 0..* | Reference(CareTeam) | Other practitioners facilitating this episode of care | |
account | 0..* | Reference(Account) | The set of accounts that may be used for billing for this EpisodeOfCare | |
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<EpisodeOfCare xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifier(s) relevant for this EpisodeOfCare --></identifier> <status value="[code]"/><!-- 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error --> <statusHistory> <!-- 0..* Past list of status codes (the current status may be included to cover the start date of the status) --> <status value="[code]"/><!-- 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error --> <period><!-- 1..1 Period Duration the EpisodeOfCare was in the specified status --></period> </statusHistory> <type><!-- 0..* CodeableConcept Type/class - e.g. specialist referral, disease management --></type> <diagnosis> <!-- 0..* The list of diagnosis relevant to this episode of care --> <condition><!-- 1..1 CodeableReference(Condition) Conditions/problems/diagnoses this episode of care is for --></condition> <role><!-- 0..1 CodeableConcept Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …) --></role> <rank value="[positiveInt]"/><!-- 0..1 Ranking of the diagnosis (for each role type) --> </diagnosis> <patient><!-- 1..1 Reference(Patient) The patient who is the focus of this episode of care --></patient> <managingOrganization><!-- 0..1 Reference(Organization) Organization that assumes responsibility for care coordination --></managingOrganization> <period><!-- 0..1 Period Interval during responsibility is assumed --></period> <referralRequest><!-- 0..* Reference(ServiceRequest) Originating Referral Request(s) --></referralRequest> <careManager><!-- 0..1 Reference(Practitioner|PractitionerRole) Care manager/care coordinator for the patient --></careManager> <careTeam><!-- 0..* Reference(CareTeam) Other practitioners facilitating this episode of care --></careTeam> <account><!-- 0..* Reference(Account) The set of accounts that may be used for billing for this EpisodeOfCare --></account> </EpisodeOfCare>
JSON Template
{ "resourceType" : "EpisodeOfCare", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifier(s) relevant for this EpisodeOfCare "status" : "<code>", // R! planned | waitlist | active | onhold | finished | cancelled | entered-in-error "statusHistory" : [{ // Past list of status codes (the current status may be included to cover the start date of the status) "status" : "<code>", // R! planned | waitlist | active | onhold | finished | cancelled | entered-in-error "period" : { Period } // R! Duration the EpisodeOfCare was in the specified status }], "type" : [{ CodeableConcept }], // Type/class - e.g. specialist referral, disease management "diagnosis" : [{ // The list of diagnosis relevant to this episode of care "condition" : { CodeableReference(Condition) }, // R! Conditions/problems/diagnoses this episode of care is for "role" : { CodeableConcept }, // Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …) "rank" : "<positiveInt>" // Ranking of the diagnosis (for each role type) }], "patient" : { Reference(Patient) }, // R! The patient who is the focus of this episode of care "managingOrganization" : { Reference(Organization) }, // Organization that assumes responsibility for care coordination "period" : { Period }, // Interval during responsibility is assumed "referralRequest" : [{ Reference(ServiceRequest) }], // Originating Referral Request(s) "careManager" : { Reference(Practitioner|PractitionerRole) }, // Care manager/care coordinator for the patient "careTeam" : [{ Reference(CareTeam) }], // Other practitioners facilitating this episode of care "account" : [{ Reference(Account) }] // The set of accounts that may be used for billing for this EpisodeOfCare }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:EpisodeOfCare; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:EpisodeOfCare.identifier [ Identifier ], ... ; # 0..* Business Identifier(s) relevant for this EpisodeOfCare fhir:EpisodeOfCare.status [ code ]; # 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error fhir:EpisodeOfCare.statusHistory [ # 0..* Past list of status codes (the current status may be included to cover the start date of the status) fhir:EpisodeOfCare.statusHistory.status [ code ]; # 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error fhir:EpisodeOfCare.statusHistory.period [ Period ]; # 1..1 Duration the EpisodeOfCare was in the specified status ], ...; fhir:EpisodeOfCare.type [ CodeableConcept ], ... ; # 0..* Type/class - e.g. specialist referral, disease management fhir:EpisodeOfCare.diagnosis [ # 0..* The list of diagnosis relevant to this episode of care fhir:EpisodeOfCare.diagnosis.condition [ CodeableReference(Condition) ]; # 1..1 Conditions/problems/diagnoses this episode of care is for fhir:EpisodeOfCare.diagnosis.role [ CodeableConcept ]; # 0..1 Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …) fhir:EpisodeOfCare.diagnosis.rank [ positiveInt ]; # 0..1 Ranking of the diagnosis (for each role type) ], ...; fhir:EpisodeOfCare.patient [ Reference(Patient) ]; # 1..1 The patient who is the focus of this episode of care fhir:EpisodeOfCare.managingOrganization [ Reference(Organization) ]; # 0..1 Organization that assumes responsibility for care coordination fhir:EpisodeOfCare.period [ Period ]; # 0..1 Interval during responsibility is assumed fhir:EpisodeOfCare.referralRequest [ Reference(ServiceRequest) ], ... ; # 0..* Originating Referral Request(s) fhir:EpisodeOfCare.careManager [ Reference(Practitioner|PractitionerRole) ]; # 0..1 Care manager/care coordinator for the patient fhir:EpisodeOfCare.careTeam [ Reference(CareTeam) ], ... ; # 0..* Other practitioners facilitating this episode of care fhir:EpisodeOfCare.account [ Reference(Account) ], ... ; # 0..* The set of accounts that may be used for billing for this EpisodeOfCare ]
Changes since R4
EpisodeOfCare | |
EpisodeOfCare.diagnosis.condition |
|
EpisodeOfCare.careTeam |
|
EpisodeOfCare.team |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
EpisodeOfCare | TU | DomainResource | An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | Business Identifier(s) relevant for this EpisodeOfCare | |
status | ?!Σ | 1..1 | code | planned | waitlist | active | onhold | finished | cancelled | entered-in-error EpisodeOfCareStatus (Required) |
statusHistory | 0..* | BackboneElement | Past list of status codes (the current status may be included to cover the start date of the status) | |
status | 1..1 | code | planned | waitlist | active | onhold | finished | cancelled | entered-in-error EpisodeOfCareStatus (Required) | |
period | 1..1 | Period | Duration the EpisodeOfCare was in the specified status | |
type | Σ | 0..* | CodeableConcept | Type/class - e.g. specialist referral, disease management EpisodeOfCareType (Example) |
diagnosis | Σ | 0..* | BackboneElement | The list of diagnosis relevant to this episode of care |
condition | Σ | 1..1 | CodeableReference(Condition) | Conditions/problems/diagnoses this episode of care is for Condition/Problem/Diagnosis Codes (Example) |
role | Σ | 0..1 | CodeableConcept | Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …) DiagnosisRole (Preferred) |
rank | Σ | 0..1 | positiveInt | Ranking of the diagnosis (for each role type) |
patient | Σ | 1..1 | Reference(Patient) | The patient who is the focus of this episode of care |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization that assumes responsibility for care coordination |
period | Σ | 0..1 | Period | Interval during responsibility is assumed |
referralRequest | 0..* | Reference(ServiceRequest) | Originating Referral Request(s) | |
careManager | 0..1 | Reference(Practitioner | PractitionerRole) | Care manager/care coordinator for the patient | |
careTeam | 0..* | Reference(CareTeam) | Other practitioners facilitating this episode of care | |
account | 0..* | Reference(Account) | The set of accounts that may be used for billing for this EpisodeOfCare | |
Documentation for this format |
See the Extensions for this resource
XML Template
<EpisodeOfCare xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business Identifier(s) relevant for this EpisodeOfCare --></identifier> <status value="[code]"/><!-- 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error --> <statusHistory> <!-- 0..* Past list of status codes (the current status may be included to cover the start date of the status) --> <status value="[code]"/><!-- 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error --> <period><!-- 1..1 Period Duration the EpisodeOfCare was in the specified status --></period> </statusHistory> <type><!-- 0..* CodeableConcept Type/class - e.g. specialist referral, disease management --></type> <diagnosis> <!-- 0..* The list of diagnosis relevant to this episode of care --> <condition><!-- 1..1 CodeableReference(Condition) Conditions/problems/diagnoses this episode of care is for --></condition> <role><!-- 0..1 CodeableConcept Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …) --></role> <rank value="[positiveInt]"/><!-- 0..1 Ranking of the diagnosis (for each role type) --> </diagnosis> <patient><!-- 1..1 Reference(Patient) The patient who is the focus of this episode of care --></patient> <managingOrganization><!-- 0..1 Reference(Organization) Organization that assumes responsibility for care coordination --></managingOrganization> <period><!-- 0..1 Period Interval during responsibility is assumed --></period> <referralRequest><!-- 0..* Reference(ServiceRequest) Originating Referral Request(s) --></referralRequest> <careManager><!-- 0..1 Reference(Practitioner|PractitionerRole) Care manager/care coordinator for the patient --></careManager> <careTeam><!-- 0..* Reference(CareTeam) Other practitioners facilitating this episode of care --></careTeam> <account><!-- 0..* Reference(Account) The set of accounts that may be used for billing for this EpisodeOfCare --></account> </EpisodeOfCare>
JSON Template
{ "resourceType" : "EpisodeOfCare", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business Identifier(s) relevant for this EpisodeOfCare "status" : "<code>", // R! planned | waitlist | active | onhold | finished | cancelled | entered-in-error "statusHistory" : [{ // Past list of status codes (the current status may be included to cover the start date of the status) "status" : "<code>", // R! planned | waitlist | active | onhold | finished | cancelled | entered-in-error "period" : { Period } // R! Duration the EpisodeOfCare was in the specified status }], "type" : [{ CodeableConcept }], // Type/class - e.g. specialist referral, disease management "diagnosis" : [{ // The list of diagnosis relevant to this episode of care "condition" : { CodeableReference(Condition) }, // R! Conditions/problems/diagnoses this episode of care is for "role" : { CodeableConcept }, // Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …) "rank" : "<positiveInt>" // Ranking of the diagnosis (for each role type) }], "patient" : { Reference(Patient) }, // R! The patient who is the focus of this episode of care "managingOrganization" : { Reference(Organization) }, // Organization that assumes responsibility for care coordination "period" : { Period }, // Interval during responsibility is assumed "referralRequest" : [{ Reference(ServiceRequest) }], // Originating Referral Request(s) "careManager" : { Reference(Practitioner|PractitionerRole) }, // Care manager/care coordinator for the patient "careTeam" : [{ Reference(CareTeam) }], // Other practitioners facilitating this episode of care "account" : [{ Reference(Account) }] // The set of accounts that may be used for billing for this EpisodeOfCare }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:EpisodeOfCare; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:EpisodeOfCare.identifier [ Identifier ], ... ; # 0..* Business Identifier(s) relevant for this EpisodeOfCare fhir:EpisodeOfCare.status [ code ]; # 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error fhir:EpisodeOfCare.statusHistory [ # 0..* Past list of status codes (the current status may be included to cover the start date of the status) fhir:EpisodeOfCare.statusHistory.status [ code ]; # 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error fhir:EpisodeOfCare.statusHistory.period [ Period ]; # 1..1 Duration the EpisodeOfCare was in the specified status ], ...; fhir:EpisodeOfCare.type [ CodeableConcept ], ... ; # 0..* Type/class - e.g. specialist referral, disease management fhir:EpisodeOfCare.diagnosis [ # 0..* The list of diagnosis relevant to this episode of care fhir:EpisodeOfCare.diagnosis.condition [ CodeableReference(Condition) ]; # 1..1 Conditions/problems/diagnoses this episode of care is for fhir:EpisodeOfCare.diagnosis.role [ CodeableConcept ]; # 0..1 Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …) fhir:EpisodeOfCare.diagnosis.rank [ positiveInt ]; # 0..1 Ranking of the diagnosis (for each role type) ], ...; fhir:EpisodeOfCare.patient [ Reference(Patient) ]; # 1..1 The patient who is the focus of this episode of care fhir:EpisodeOfCare.managingOrganization [ Reference(Organization) ]; # 0..1 Organization that assumes responsibility for care coordination fhir:EpisodeOfCare.period [ Period ]; # 0..1 Interval during responsibility is assumed fhir:EpisodeOfCare.referralRequest [ Reference(ServiceRequest) ], ... ; # 0..* Originating Referral Request(s) fhir:EpisodeOfCare.careManager [ Reference(Practitioner|PractitionerRole) ]; # 0..1 Care manager/care coordinator for the patient fhir:EpisodeOfCare.careTeam [ Reference(CareTeam) ], ... ; # 0..* Other practitioners facilitating this episode of care fhir:EpisodeOfCare.account [ Reference(Account) ], ... ; # 0..* The set of accounts that may be used for billing for this EpisodeOfCare ]
Changes since Release 4
EpisodeOfCare | |
EpisodeOfCare.diagnosis.condition |
|
EpisodeOfCare.careTeam |
|
EpisodeOfCare.team |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
EpisodeOfCare.status | The status of the episode of care. | Required | EpisodeOfCareStatus |
EpisodeOfCare.statusHistory.status | The status of the episode of care. | Required | EpisodeOfCareStatus |
EpisodeOfCare.type | This example value set defines a set of codes that can be used to express the usage type of an EpisodeOfCare record. | Example | EpisodeOfCareType |
EpisodeOfCare.diagnosis.condition | Example value set for Condition/Problem/Diagnosis codes. | Example | Condition/Problem/DiagnosisCodes |
EpisodeOfCare.diagnosis.role | This value set defines a set of codes that can be used to express the role of a diagnosis on the Encounter or EpisodeOfCare record. | Preferred | DiagnosisRole |
When an organization assumes responsibility for a patient, then the EpisodeOfCare is created and a start date
entered to show when it has begun.
As the organization's responsibility changes, so does the status of the EpisodeOfCare.
This is described via an example below for an intake workflow.
With long term care there is often a concept of the provision of care being suspended for various reasons.
Many systems have extensive Leave Management/Tracking solutions which consider the complexities of this space,
however this EpisodeOfCare resource is NOT intended to provide this level of tracking.
Extension(s) may be used on the status/status history to track the on-hold reason, which can facilitate the processing.
A more complete Leave Management solution may have to deal with:
This example sequence demonstrates some status transitions and how other resources interact.
The context could be in a Community/Aged Care/Disability/Mental Health setting.
In some jurisdictions an Organization may be funded by a government body for the days that a patient is under
their care. These are known as "active days". This does not mean that they are actively receiving a service (an encounter),
but that the organization is responsible for managing their care.
This monthly reporting value can be easily extracted from the status history as described above.
The actual provision of services may also be funded separately, and this would be via the Encounters.
An Organization may perform analytics on their EpisodeOfCare resources to have an understanding of how their business is performing.
Observing that there was a 60/40 split of episodes being finished/cancelled is not very informative. The organization would
prefer to know the reason why the episodes are completing so that they can plan their business effectively.
They would be more interested in knowing whether it was due to services hitting their mandatory end date, client passing away,
client transitioning to a higher level of services provided by them or to another provider etc.
Currently there are no attributes on this resource to provide this information. This would be very specific to each implementation and usage, so it would be recommended to use extensions to achieve this functionality.
A General Practitioner wants to review how well his patient is managing his diabetes over time from information within his clinic and also the regional community care organization's system(s).
The EpisodeOfCare enables the practitioner to easily separate the diabetes activities from the mental health problem's activities.
A Community Care organization wants to track all activities that occur with a patient relating to their disability to simplify the reporting to the government to receive funding to care for the patient
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
care-manager | reference | Care manager/care coordinator for the patient | EpisodeOfCare.careManager.where(resolve() is Practitioner) (Practitioner) | |
condition | reference | Conditions/problems/diagnoses this episode of care is for (legacy) | EpisodeOfCare.diagnosis.condition.reference | |
condition-concept | token | Conditions/problems/diagnoses this episode of care is for (coded) | EpisodeOfCare.diagnosis.condition.concept | |
condition-reference | reference | Conditions/problems/diagnoses this episode of care is for (resource reference) | EpisodeOfCare.diagnosis.condition.reference | |
date | date | The provided date search value falls within the episode of care's period | EpisodeOfCare.period | |
identifier | token | Business Identifier(s) relevant for this EpisodeOfCare | EpisodeOfCare.identifier | |
incoming-referral | reference | Incoming Referral Request | EpisodeOfCare.referralRequest (ServiceRequest) | |
organization | reference | The organization that has assumed the specific responsibilities of this EpisodeOfCare | EpisodeOfCare.managingOrganization (Organization) | |
patient | reference | The patient who is the focus of this episode of care | EpisodeOfCare.patient (Patient) | |
status N | token | The current status of the Episode of Care as provided (does not check the status history collection) | EpisodeOfCare.status | |
type | token | Type/class - e.g. specialist referral, disease management | EpisodeOfCare.type |