EpisodeOfCare
Overview
The EpisodeOfCare resource provides information about 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. (HL7 FHIR R4 EpisodeOfCare)
Use Cases
- Managing patient care across multiple encounters
- Tracking care episodes for specific conditions or treatments
- Coordinating care between different healthcare providers
- Supporting care continuity and episode-based billing
Relationships
- Patient/Group: The patient or group who is the focus of this episode of care
- Organization: The organization that assumes responsibility for care coordination
- Condition: Medical conditions being addressed during the episode
- Encounter: Individual encounters that occur within the episode
- CareTeam: Healthcare providers involved in the episode
- ServiceRequest: Originating referral requests
Resource Schema
Key Fields
| Field | Type | Description | Required |
|---|---|---|---|
| id | string | Logical id of the resource | No |
| identifier | Identifier[] | Business identifier(s) for this episode of care | No |
| status | code | planned | waitlist | active | onhold | finished | cancelled | entered-in-error | Yes |
| statusHistory | BackboneElement[] | Past list of status codes | No |
| type | CodeableConcept[] | Type/class - e.g. specialist referral, disease management | No |
| reason | BackboneElement[] | The list of medical reasons that are expected to be addressed during the episode of care | No |
| diagnosis | BackboneElement[] | The list of medical conditions that were addressed during the episode of care | No |
| subject | Reference(Patient|Group) | The patient/group who is the focus of this episode of care | Yes |
| managingOrganization | Reference(Organization) | Organization that assumes care | No |
| period | Period | Interval during responsibility is assumed | No |
| referralRequest | Reference(ServiceRequest)[] | Originating Referral Request(s) | No |
| careManager | Reference(Practitioner|PractitionerRole) | Care manager/care coordinator for the patient | No |
| careTeam | Reference(CareTeam)[] | Other practitioners facilitating this episode of care | No |
| account | Reference(Account)[] | The set of accounts that may be used for billing for this EpisodeOfCare | No |
JSON Example
{
"resourceType": "EpisodeOfCare",
"id": "example",
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n HACC Program for Peter James Chalmers at HL7 Healthcare 15 Sept 2014 - current<br/>\n\t\t\twas on leave from 22 Sept - 24 Sept while in respite care\n </div>"
},
"identifier": [{
"system": "http://example.org/sampleepisodeofcare-identifier",
"value": "123"
}],
"status": "active",
"statusHistory": [{
"status": "planned",
"period": {
"start": "2014-09-01",
"end": "2014-09-14"
}
},
{
"status": "active",
"period": {
"start": "2014-09-15",
"end": "2014-09-21"
}
},
{
"status": "onhold",
"period": {
"start": "2014-09-22",
"end": "2014-09-24"
}
},
{
"status": "active",
"period": {
"start": "2014-09-25"
}
}],
"type": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/episodeofcare-type",
"code": "hacc",
"display": "Home and Community Care"
}]
}],
"diagnosis": [{
"condition": [{
"reference": {
"reference": "Condition/stroke"
}
}],
"use": [{
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/diagnosis-role",
"code": "CC",
"display": "Chief complaint"
}]
}]
}],
"subject": {
"reference": "Patient/example"
},
"managingOrganization": {
"reference": "Organization/hl7"
},
"period": {
"start": "2014-09-01"
},
"referralRequest": [{
"display": "Referral from Example Aged Care Services"
}],
"careManager": {
"reference": "Practitioner/f204",
"display": "Carla Espinosa"
},
"careTeam": [{
"reference": "CareTeam/example",
"display": "example care team"
}],
"account": [{
"reference": "Account/example",
"display": "example account"
}]
}
Operations
The Certified API EpisodeOfCare resource supports the following standard operations. However, support varies by the targeted CareRecord or solution.
| CareRecord / Solution | Create | Read | Update | Search |
|---|---|---|---|---|
| GEHRIMED | - | Yes | - | Yes |
| myAvatar | - | Yes | - | Yes |
| myEvolv | - | Yes | - | Yes |
| myUnity | - | Yes | - | Yes |
| TheraOffice | - | Yes | - | Yes |
Read
Retrieve a specific EpisodeOfCare resource by its ID.
Syntax: GET [base]/EpisodeOfCare/[id]
Search
Search for episodes of care using various criteria.
GET Method
Use GET for simple searches with parameters in the query string.
- Production
- Preview
GET /EpisodeOfCare?parameter=value
GET /EpisodeOfCare?parameter=value
POST Method
Use POST for complex searches with form-encoded parameters.
- Production
- Preview
POST /EpisodeOfCare/_search
POST /EpisodeOfCare/_search
Not all Netsmart solutions support EpisodeOfCare search. See supported operations table above and consult your target solution's documentation for more information.
Search Parameters
Patient-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
patient | reference | Yes | The patient who is the focus of this episode of care | patient=value |
date | date | No | The provided date search value falls within the episode of care's period | date=value |
identifier | reference | No | Business Identifier(s) relevant for this EpisodeOfCare | identifier=value |
incoming-referral | reference | No | Incoming Referral Request | incoming-referral=value |
organization | reference | No | The organization that has assumed the specific responsibilities of this EpisodeOfCare | organization=value |
status | token | No | The current status of the Episode of Care as provided (does not check the status history collection) | status=value |
type | token | No | Type/class - e.g. specialist referral, disease management | type=value |
| _lastUpdated | date | No | Only return resources which were last updated as specified by the given range | _lastUpdated=value |
| _revinclude | special | No | Include Provenance resource(s) that reference the matched search results. Allowed: "Provenance:target" | _revinclude=value |
ID-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
_id | string | Yes | The ID of the resource | _id=value |
_lastUpdated | date | No | Only return resources which were last updated as specified by the given range | _lastUpdated=value |
_revinclude | special | No | Include Provenance resource(s) that reference the matched search results. Allowed: "Provenance:target" | _revinclude=value |
Examples
Read EpisodeOfCare
- Production
- Preview
curl -X GET https://fhir.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/EpisodeOfCare/123 \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
curl -X GET https://fhirtest.netsmartcloud.com/provider/patient-access/v2/{tenant-id}/EpisodeOfCare/123 \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
Search EpisodeOfCare
Search by Patient (POST)
The POST method is recommended as it keeps health information out of the URL.
- Production
- Preview
curl -X POST https://fhir .netsmartcloud.com/payer/patient-access/v2/{tenant-id}/EpisodeOfCare/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123"
curl -X POST https://fhirtest.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/EpisodeOfCare/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123"
Search by Patient and Status (POST)
- Production
- Preview
curl -X POST https://fhir.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/EpisodeOfCare/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123" \
-d "status=active"
curl -X POST https://fhirtest.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/EpisodeOfCare/_search \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/123" \
-d "status=active"
Search by Patient (GET)
- Production
- Preview
curl -X GET https://fhir.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/EpisodeOfCare?patient=Patient/123 \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
curl -X GET https://fhirtest.netsmartcloud.com/payer/patient-access/v2/{tenant-id}/EpisodeOfCare?patient=Patient/123 \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
Response Example
{
"resourceType": "Bundle",
"id": "episode-search-results",
"type": "searchset",
"total": 1,
"entry": [
{
"resource": {
"resourceType": "EpisodeOfCare",
"id": "example-episode-123",
"status": "active",
"type": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/episodeofcare-type",
"code": "hacc",
"display": "Home and Community Care"
}
]
}
],
"patient": {
"reference": "Patient/123"
},
"period": {
"start": "2022-01-15T09:00:00.000Z"
}
}
}
]
}
Integration Patterns
Common Workflows
- Retrieve all episodes of care for a patient to understand their care history
- Filter active episodes to identify current care responsibilities
- Include provenance data to track episode information sources
- Cross-reference with encounters to understand care delivery within episodes
Related Resources
- Patient - Individual receiving care during the episode
- Organization - Healthcare organization managing the episode
- Condition - Medical conditions addressed during the episode
- Encounter - Individual care encounters within the episode
- Provenance - Source and history tracking
Error Handling
For detailed error codes and handling procedures, see the Error Handling Guide.
Supported Profiles
This resource supports the following FHIR profiles as defined in the CapabilityStatement: