eHealth Infrastructure (v2020.6.1)

StructureDefinition: ehealth-episodeofcare

Introduction

An EpisodeOfCare is an association between a patient and an organization / healthcare provider(s) during which time encounters may occur.

Scope and Usage

In scope of the eHealth infrastructure, creation of an EpisodeOfCare resource is triggered by a number of actions taking place out-of-band, that is, outside the scope of the eHealth infrastructure. Firstly, a patient is diagnosed with one or more conditions; then assessed as fulfilling criteria for enrollment in a telemedical care program leading to a referral being made to an organization providing such program. At this point a Practitioner within the providing organization creates an EpisodeOfCare referring to the Patient and the corresponding Conditions, all in the eHealth infrastructure. Created with status planned, the Practitioner updates the status to active once:

  • a Consent to enroll in the program has been given by the Patient
  • Adjustments have possibly been made to assigned CareTeam(s) in team.

The EpisodeOfCare functions as a representation of a program while the activities comprising it are defined in one or more CarePlan resources.

careManagerOrganization and managingOrganization

An EpisodeOfCare is required to have exactly one reference to the Organization responsible for the treatment through the element ehealth-episodeofcare-caremanagerOrganization.

The element managingOrganization references the Organization which is data controller for the EpisodeOfCare and all other resources directly or indirectly referencing it.

CareTeam and history of CareTeam

The CareTeam(s) currently responsible for the EpisodeOfCare are referenced in element team. Changes in CareTeam references are automatically maintained in the element ehealth-teamHistory.

Formal Views of Profile Content

The official URL for this profile is:

http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-episodeofcare

This profile builds on EpisodeOfCare.

This profile was published on Fri Jul 01 12:30:20 UTC 2022 as a draft by ehealth.sundhed.dk.

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

 

Terminology Bindings

PathConformanceValueSet
EpisodeOfCare.languageextensibleCommon Languages
Max Binding: All Languages
EpisodeOfCare.statusrequiredEpisodeOfCareStatus
EpisodeOfCare.statusHistory.statusrequiredEpisodeOfCareStatus
EpisodeOfCare.typeexampleEpisodeOfCareType
EpisodeOfCare.diagnosis.rolepreferredDiagnosisRole

Constraints

IdPathDetailsRequirements
dom-2EpisodeOfCareIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1EpisodeOfCareIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4EpisodeOfCareIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-3EpisodeOfCareIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
ele-1EpisodeOfCare.extension:caremanagerOrganizationAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1EpisodeOfCare.extension:caremanagerOrganizationMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1EpisodeOfCare.extension:teamHistoryAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1EpisodeOfCare.extension:teamHistoryMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1EpisodeOfCare.extension:statusScheduleAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1EpisodeOfCare.extension:statusScheduleMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1EpisodeOfCare.extension:teamScheduleAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ext-1EpisodeOfCare.extension:teamScheduleMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1EpisodeOfCare.statusHistoryAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1EpisodeOfCare.diagnosisAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
.