eHealth Infrastructure (v2020.2)

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 Tue Mar 31 08:26:16 UTC 2020 as a draft by ehealth.sundhed.dk.

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

This structure is derived from EpisodeOfCare

NameFlagsCard.TypeDescription & Constraintsdoco
.. EpisodeOfCare 0..*EpisodeOfCareAn association between a patient and an organization / healthcare provider(s) during which time encounters may occur.
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... ehealth-episodeofcare-caremanagerOrganization 1..1Reference()Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-episodeofcare-caremanagerOrganization
... ehealth-teamHistory 0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-teamHistory
... diagnosis 1..*BackboneElement
.... condition 1..1Reference(eHealth Condition) {r}
... patient 1..1Reference(eHealth Patient) {r}
... managingOrganization 1..1Reference(eHealth Organization) {r}
... period 1..1Period
... referralRequest 0..*Reference(ReferralRequest) {r}
... careManager 0..0
... team 0..*Reference(eHealth CareTeam) {r}
... account 0..0

doco Documentation for this format

This structure is derived from EpisodeOfCare

NameFlagsCard.TypeDescription & Constraintsdoco
.. EpisodeOfCare I0..*EpisodeOfCareAn association between a patient and an organization / healthcare provider(s) during which time encounters may occur.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-episodeofcare-caremanagerOrganization I1..1Reference()Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-episodeofcare-caremanagerOrganization
... ehealth-teamHistory I0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-teamHistory
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierBusiness Identifier(s) relevant for this EpisodeOfCare
... status ?!Σ1..1codeplanned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required)
... statusHistory I0..*BackboneElementPast list of status codes (the current status may be included to cover the start date of the status)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... status 1..1codeplanned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required)
.... period 1..1PeriodDuration the EpisodeOfCare was in the specified status
... type Σ0..*CodeableConceptType/class - e.g. specialist referral, disease management
Binding: EpisodeOfCareType (example)
... diagnosis ΣI1..*BackboneElementThe list of diagnosis relevant to this episode of care
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... condition Σ1..1Reference(eHealth Condition) {r}Conditions/problems/diagnoses this episode of care is for
.... role Σ0..1CodeableConceptRole that this diagnosis has within the episode of care (e.g. admission, billing, discharge …)
Binding: DiagnosisRole (preferred)
.... rank Σ0..1positiveIntRanking of the diagnosis (for each role type)
... patient Σ1..1Reference(eHealth Patient) {r}The patient who is the focus of this episode of care
... managingOrganization Σ1..1Reference(eHealth Organization) {r}Organization that assumes care
... period Σ1..1PeriodInterval during responsibility is assumed
... referralRequest 0..*Reference(ReferralRequest) {r}Originating Referral Request(s)
... team 0..*Reference(eHealth CareTeam) {r}Other practitioners facilitating this episode of care

doco Documentation for this format

Differential View

This structure is derived from EpisodeOfCare

NameFlagsCard.TypeDescription & Constraintsdoco
.. EpisodeOfCare 0..*EpisodeOfCareAn association between a patient and an organization / healthcare provider(s) during which time encounters may occur.
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... ehealth-episodeofcare-caremanagerOrganization 1..1Reference()Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-episodeofcare-caremanagerOrganization
... ehealth-teamHistory 0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-teamHistory
... diagnosis 1..*BackboneElement
.... condition 1..1Reference(eHealth Condition) {r}
... patient 1..1Reference(eHealth Patient) {r}
... managingOrganization 1..1Reference(eHealth Organization) {r}
... period 1..1Period
... referralRequest 0..*Reference(ReferralRequest) {r}
... careManager 0..0
... team 0..*Reference(eHealth CareTeam) {r}
... account 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. EpisodeOfCare I0..*EpisodeOfCareAn association between a patient and an organization / healthcare provider(s) during which time encounters may occur.
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
Max Binding: All Languages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ehealth-episodeofcare-caremanagerOrganization I1..1Reference()Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-episodeofcare-caremanagerOrganization
... ehealth-teamHistory I0..*(Complex)Extension
URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-teamHistory
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierBusiness Identifier(s) relevant for this EpisodeOfCare
... status ?!Σ1..1codeplanned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required)
... statusHistory I0..*BackboneElementPast list of status codes (the current status may be included to cover the start date of the status)
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... status 1..1codeplanned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required)
.... period 1..1PeriodDuration the EpisodeOfCare was in the specified status
... type Σ0..*CodeableConceptType/class - e.g. specialist referral, disease management
Binding: EpisodeOfCareType (example)
... diagnosis ΣI1..*BackboneElementThe list of diagnosis relevant to this episode of care
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... condition Σ1..1Reference(eHealth Condition) {r}Conditions/problems/diagnoses this episode of care is for
.... role Σ0..1CodeableConceptRole that this diagnosis has within the episode of care (e.g. admission, billing, discharge …)
Binding: DiagnosisRole (preferred)
.... rank Σ0..1positiveIntRanking of the diagnosis (for each role type)
... patient Σ1..1Reference(eHealth Patient) {r}The patient who is the focus of this episode of care
... managingOrganization Σ1..1Reference(eHealth Organization) {r}Organization that assumes care
... period Σ1..1PeriodInterval during responsibility is assumed
... referralRequest 0..*Reference(ReferralRequest) {r}Originating Referral Request(s)
... team 0..*Reference(eHealth CareTeam) {r}Other practitioners facilitating this episode of care

doco Documentation for this format

 

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.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())
.