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/system-access/v2/{tenant-id}/EpisodeOfCare/123 \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
curl -X GET https://fhirtest.netsmartcloud.com/provider/system-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/provider/system-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/provider/system-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/provider/system-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/provider/system-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/provider/system-access/v2/{tenant-id}/EpisodeOfCare?patient=Patient/123 \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"
curl -X GET https://fhirtest.netsmartcloud.com/provider/system-access/v2/{tenant-id}/EpisodeOfCare?patient=Patient/123 \
-H "Authorization: {Bearer Token}" \
-H "Accept: application/fhir+json"