This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). 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: 1 | 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 their own EpisodeOfCare which tracks their 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 Episode Of Care 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.
This resource is referenced by CarePlan, ClinicalImpression, Communication, Condition, DeviceUseRequest, DiagnosticRequest, Encounter, GuidanceResponse, ImagingStudy, QuestionnaireResponse, ReferralRequest, RiskAssessment and Task
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
EpisodeOfCare | 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 | ||
identifier | 0..* | Identifier | Identifier(s) for the EpisodeOfCare | |
status | ?!Σ | 1..1 | code | planned | waitlist | active | onhold | finished | cancelled | entered-in-error EpisodeOfCareStatus (Required) |
statusHistory | 0..* | BackboneElement | Past list of status codes | |
status | 1..1 | code | planned | waitlist | active | onhold | finished | cancelled | entered-in-error EpisodeOfCareStatus (Required) | |
period | 1..1 | Period | Period for the status | |
type | Σ | 0..* | CodeableConcept | Type/class - e.g. specialist referral, disease management |
condition | 0..* | Reference(Condition) | Conditions/problems/diagnoses this episode of care is for | |
patient | Σ | 1..1 | Reference(Patient) | Patient for this episode of care |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization that assumes care |
period | Σ | 0..1 | Period | Interval during responsibility is assumed |
referralRequest | 0..* | Reference(ReferralRequest) | Originating Referral Request(s) | |
careManager | 0..1 | Reference(Practitioner) | Care manager/care co-ordinator for the patient | |
team | 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 |
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 Identifier(s) for the EpisodeOfCare --></identifier> <status value="[code]"/><!-- 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error --> <statusHistory> <!-- 0..* Past list of status codes --> <status value="[code]"/><!-- 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error --> <period><!-- 1..1 Period Period for the status --></period> </statusHistory> <type><!-- 0..* CodeableConcept Type/class - e.g. specialist referral, disease management --></type> <condition><!-- 0..* Reference(Condition) Conditions/problems/diagnoses this episode of care is for --></condition> <patient><!-- 1..1 Reference(Patient) Patient for this episode of care --></patient> <managingOrganization><!-- 0..1 Reference(Organization) Organization that assumes care --></managingOrganization> <period><!-- 0..1 Period Interval during responsibility is assumed --></period> <referralRequest><!-- 0..* Reference(ReferralRequest) Originating Referral Request(s) --></referralRequest> <careManager><!-- 0..1 Reference(Practitioner) Care manager/care co-ordinator for the patient --></careManager> <team><!-- 0..* Reference(CareTeam) Other practitioners facilitating this episode of care --></team> <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 }], // Identifier(s) for the EpisodeOfCare "status" : "<code>", // R! planned | waitlist | active | onhold | finished | cancelled | entered-in-error "statusHistory" : [{ // Past list of status codes "status" : "<code>", // R! planned | waitlist | active | onhold | finished | cancelled | entered-in-error "period" : { Period } // R! Period for the status }], "type" : [{ CodeableConcept }], // Type/class - e.g. specialist referral, disease management "condition" : [{ Reference(Condition) }], // Conditions/problems/diagnoses this episode of care is for "patient" : { Reference(Patient) }, // R! Patient for this episode of care "managingOrganization" : { Reference(Organization) }, // Organization that assumes care "period" : { Period }, // Interval during responsibility is assumed "referralRequest" : [{ Reference(ReferralRequest) }], // Originating Referral Request(s) "careManager" : { Reference(Practitioner) }, // Care manager/care co-ordinator for the patient "team" : [{ 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..* Identifier(s) for the 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 fhir:EpisodeOfCare.statusHistory.status [ code ]; # 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error fhir:EpisodeOfCare.statusHistory.period [ Period ]; # 1..1 Period for the status ], ...; fhir:EpisodeOfCare.type [ CodeableConcept ], ... ; # 0..* Type/class - e.g. specialist referral, disease management fhir:EpisodeOfCare.condition [ Reference(Condition) ], ... ; # 0..* Conditions/problems/diagnoses this episode of care is for fhir:EpisodeOfCare.patient [ Reference(Patient) ]; # 1..1 Patient for this episode of care fhir:EpisodeOfCare.managingOrganization [ Reference(Organization) ]; # 0..1 Organization that assumes care fhir:EpisodeOfCare.period [ Period ]; # 0..1 Interval during responsibility is assumed fhir:EpisodeOfCare.referralRequest [ Reference(ReferralRequest) ], ... ; # 0..* Originating Referral Request(s) fhir:EpisodeOfCare.careManager [ Reference(Practitioner) ]; # 0..1 Care manager/care co-ordinator for the patient fhir:EpisodeOfCare.team [ 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 DSTU2
EpisodeOfCare | |
EpisodeOfCare.team |
Renamed from careTeam to team Type changed from BackboneElement to Reference(CareTeam) |
EpisodeOfCare.account | added |
EpisodeOfCare.careTeam.role | deleted |
EpisodeOfCare.careTeam.period | deleted |
EpisodeOfCare.careTeam.member | deleted |
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
EpisodeOfCare | 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 | ||
identifier | 0..* | Identifier | Identifier(s) for the EpisodeOfCare | |
status | ?!Σ | 1..1 | code | planned | waitlist | active | onhold | finished | cancelled | entered-in-error EpisodeOfCareStatus (Required) |
statusHistory | 0..* | BackboneElement | Past list of status codes | |
status | 1..1 | code | planned | waitlist | active | onhold | finished | cancelled | entered-in-error EpisodeOfCareStatus (Required) | |
period | 1..1 | Period | Period for the status | |
type | Σ | 0..* | CodeableConcept | Type/class - e.g. specialist referral, disease management |
condition | 0..* | Reference(Condition) | Conditions/problems/diagnoses this episode of care is for | |
patient | Σ | 1..1 | Reference(Patient) | Patient for this episode of care |
managingOrganization | Σ | 0..1 | Reference(Organization) | Organization that assumes care |
period | Σ | 0..1 | Period | Interval during responsibility is assumed |
referralRequest | 0..* | Reference(ReferralRequest) | Originating Referral Request(s) | |
careManager | 0..1 | Reference(Practitioner) | Care manager/care co-ordinator for the patient | |
team | 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 |
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 Identifier(s) for the EpisodeOfCare --></identifier> <status value="[code]"/><!-- 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error --> <statusHistory> <!-- 0..* Past list of status codes --> <status value="[code]"/><!-- 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error --> <period><!-- 1..1 Period Period for the status --></period> </statusHistory> <type><!-- 0..* CodeableConcept Type/class - e.g. specialist referral, disease management --></type> <condition><!-- 0..* Reference(Condition) Conditions/problems/diagnoses this episode of care is for --></condition> <patient><!-- 1..1 Reference(Patient) Patient for this episode of care --></patient> <managingOrganization><!-- 0..1 Reference(Organization) Organization that assumes care --></managingOrganization> <period><!-- 0..1 Period Interval during responsibility is assumed --></period> <referralRequest><!-- 0..* Reference(ReferralRequest) Originating Referral Request(s) --></referralRequest> <careManager><!-- 0..1 Reference(Practitioner) Care manager/care co-ordinator for the patient --></careManager> <team><!-- 0..* Reference(CareTeam) Other practitioners facilitating this episode of care --></team> <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 }], // Identifier(s) for the EpisodeOfCare "status" : "<code>", // R! planned | waitlist | active | onhold | finished | cancelled | entered-in-error "statusHistory" : [{ // Past list of status codes "status" : "<code>", // R! planned | waitlist | active | onhold | finished | cancelled | entered-in-error "period" : { Period } // R! Period for the status }], "type" : [{ CodeableConcept }], // Type/class - e.g. specialist referral, disease management "condition" : [{ Reference(Condition) }], // Conditions/problems/diagnoses this episode of care is for "patient" : { Reference(Patient) }, // R! Patient for this episode of care "managingOrganization" : { Reference(Organization) }, // Organization that assumes care "period" : { Period }, // Interval during responsibility is assumed "referralRequest" : [{ Reference(ReferralRequest) }], // Originating Referral Request(s) "careManager" : { Reference(Practitioner) }, // Care manager/care co-ordinator for the patient "team" : [{ 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..* Identifier(s) for the 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 fhir:EpisodeOfCare.statusHistory.status [ code ]; # 1..1 planned | waitlist | active | onhold | finished | cancelled | entered-in-error fhir:EpisodeOfCare.statusHistory.period [ Period ]; # 1..1 Period for the status ], ...; fhir:EpisodeOfCare.type [ CodeableConcept ], ... ; # 0..* Type/class - e.g. specialist referral, disease management fhir:EpisodeOfCare.condition [ Reference(Condition) ], ... ; # 0..* Conditions/problems/diagnoses this episode of care is for fhir:EpisodeOfCare.patient [ Reference(Patient) ]; # 1..1 Patient for this episode of care fhir:EpisodeOfCare.managingOrganization [ Reference(Organization) ]; # 0..1 Organization that assumes care fhir:EpisodeOfCare.period [ Period ]; # 0..1 Interval during responsibility is assumed fhir:EpisodeOfCare.referralRequest [ Reference(ReferralRequest) ], ... ; # 0..* Originating Referral Request(s) fhir:EpisodeOfCare.careManager [ Reference(Practitioner) ]; # 0..1 Care manager/care co-ordinator for the patient fhir:EpisodeOfCare.team [ 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 DSTU2
EpisodeOfCare | |
EpisodeOfCare.team |
Renamed from careTeam to team Type changed from BackboneElement to Reference(CareTeam) |
EpisodeOfCare.account | added |
EpisodeOfCare.careTeam.role | deleted |
EpisodeOfCare.careTeam.period | deleted |
EpisodeOfCare.careTeam.member | deleted |
See the Full Difference for further information
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)
Path | Definition | Type | Reference |
---|---|---|---|
EpisodeOfCare.status EpisodeOfCare.statusHistory.status | The status of the episode of care. | Required | EpisodeOfCareStatus |
EpisodeOfCare.type | The type of the episode of care | Unknown | No details provided yet |
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 Episodes Of Care 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’d 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 | Paths |
care-manager | reference | Care manager/care co-ordinator for the patient | EpisodeOfCare.careManager (Practitioner) |
condition | reference | Conditions/problems/diagnoses this episode of care is for | EpisodeOfCare.condition (Condition) |
date | date | The provided date search value falls within the episode of care's period | EpisodeOfCare.period |
identifier | token | Identifier(s) for the EpisodeOfCare | EpisodeOfCare.identifier |
incomingreferral | reference | Incoming Referral Request | EpisodeOfCare.referralRequest (ReferralRequest) |
organization | reference | The organization that has assumed the specific responsibilities of this EpisodeOfCare | EpisodeOfCare.managingOrganization (Organization) |
patient | reference | Patient for this episode of care | EpisodeOfCare.patient (Patient) |
status | 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 |