2.1.1 - Release

KLGatewayRehab, published by Kommunernes Landsforening. This guide is not an authorized publication; it is the continuous build for version 2.1.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7dk/kl-gateway-rehab/ and changes regularly. See the Directory of published versions

Resource Profile: KLGateway140care-plan

Official URL: http://fhir.kl.dk/rehab/StructureDefinition/klgateway-140-care-plan Version: 2.1.1
Active as of 2024-10-29 Computable Name: KLGateway140CarePlan

Care plans for §140 rehabilitation in Danish Municipalities.

Scope and usage

The CarePlan for §140 is used whenever a rehabilitation care pathway is planned for a citizen in Danish municipalities. Care pathway or plan is a way to describe when a number of planned interventions are delivered together with a common schedule.

The two types of plan in §140 are 'Opfølgningsforløb efter §140' and 'Interventionsforløb efter §140' and one of these two codes should be documented in CarePlan.category.

It is important to distiguish correctly between the dates and times stated in the model. CarePlan.period.start is when the CarePlan was authorized (bevillingstid). The planned end-date is CarePlan.period.end, unless the date has already occured and the status is 'completed', then it is the actual end-date. Notice that end-date is not mandatory to report. All dates may be repported with or without time of day.

CarePlan.status and CarePlan.intent are mandatory in the FHIR CarePlan resource. CarePlan.intent is always 'plan' in this implementation guide. CarePlan status should at least distiguish between 'unknown' and 'entered-in-error', but the actual status of the care plan may also be reported. Note that the meaning of 'active' is "ready to be acted upon", so it does not signify that the first activity has occured.

CarePlan.activity.detail.status is also mandatory, and all the statuses in the FHIR ValueSet may be used. It is recommended not to use 'entered-in-error' - if the CarePlan is entered-in-error use CarePlan.status. To get the needed data-quality, the detail-status should at least distinguish between 'unknown' and 'cancelled'. Although it is better to use the appropriate FHIR-statuses, 'unknown' is permitted from the time where the care plan occurs in the record until its completion. 'Cancelled' (or 'stopped') are mandatory, if an care plan is cancelled. It is mandatory to report cancelled care plans, so that the reason for the cancellation can inform the dataset. This is done using CarePlan.activity.detail.statusReason, and a set of codes that represents different reasons for the cancellation. The codes are as follows:

  • 'Hændelse medfører ophør'
  • 'Ikke yderligere behov (borger-vurderet)'
  • 'Ikke yderligere behov (fagperson-vurderet)'
  • 'Borger har ikke henvendt sig eller er udeblevet'
  • 'Aktivt fravalg'
    • 'Aktivt fravalg pga. anden sygdom'
    • 'Aktivt fravalg pga. økonomi ifm. transport'
    • 'Aktivt fravalg pga. logisik ifm. transport'
    • 'Aktivt fravalg pga. anden træning'

It is premitted to use the code 'Aktivt fravalg' for reporting, but the more detailed codes, though not mandatory, provides for a more nuanced dataset.

CarePlan.subject references the citizen. CarePlan.activity.detail.performer is the organisation that carries out the care plan (leverandør).

The CarePlan.extension[basedOnServiceRequest] points to the ServiceRequest (GGOP) which was the starting point for the care plan. It may happen that an care plan has two ServiceRequests as a starting point. Imagine that a citizen has gotten a hip replacement, has been dicharges from the hospital and has started rehabilitation. Then the citizen falls and gets re-admitted to the hospital. At discharge, a new ServiceRequest is send, but because the damage was small, the municipality care plan preceeds as planned. In this case, change CarePlan.extension[basedOnServiceRequest] from the later, to the newer ServiceRequest. If the patient is admitted for a longer time, so that the care plan changes i.e. the citizen starts over in group based training, cancel the ealier care plan, and start a new one pertaining to the new ServiceRequest. If two different ServiceRequests results in two different care plans (e.g. hip replacement rehabilitation and shoulder rehabilitation), all serviceRequests and care plans exists in parallel, but should reference each other correctly (e.g shoulder GGOP to shoulder training and hip GGOP to mobility training).

Different reasons for changing a CarePlan may exist, and here we provide guidance for how it should be reported:

  • Errors should be corrected by reporting the same CarePlan again with the entered-in-error status. And reporting the correct one with a new Id.
  • If cancelled, set the CarePlan.activity.detail.status and CarePlan.activity.detail.statusreason and report the Careplan again with the same Id as used earlier.
  • If the timing is changing, it is most likely because a status has shown a new or an extra need of the citizen. Report this in a new CarePlan with a new start-date, rather than correcting the timing in the existing plan. This goes for PlannedInterventions that references the CarePlan as well.

Conversions between Danish information model and FHIR-profile

Nedenstående tabel oversætter mellem de attributter der er defineret i den fælleskommunale informationsmodel (FKI), definerer kort den enkelte attribut på dansk og specificere hvilke af FHIR-profilens atributter der skal bruges til specifikation af indholdet

FKI-attribut Definition FHIR
indsatsforløbKategori Udtrykker hvilken kategori indsatsforløbet har. CarePlan.category
indsatsforløbBevillingstid Tidspunktet for hvornår indsatsforløbet er bevilget CarePlan.period.start
indsatforløbAfslutningstid Tidspunktet for hvornår indsatsforløbet er afsluttet, eller planlægges afsluttet CarePlan.period.end
indsatsforløbsstatus Indikerer om indsatsforløbet er klar til at blive handlet på, om dokumentationen repræsentere en fremtidig intention eller er historisk. CarePlan.status
indsatsforløbhensigt Indikerer niveauet af autorisation og hvor langt i planlægningen indsatsen er CarePlan.intent
indsatsforløbsAktivitetsstatus Indikerer om indsatsforløbet er igangsat, eller om den ikke er startet, er aflyst, eller er færdiggjort CarePlan.activity.detail.status
indsatsforløbForklaringAfStatus Forklaring af hvorfor et indsatsforløb er aflyst, fx fordi der ikke længere er behov CarePlan.activity.detail.statusReason
indsatsforløbleverandør Organisation, der har ansvaret for at udføre indsatsforløbet CarePlan.activity.detail.performer
indsatsforløbsubjekt Den borger som den indsatsforløbet retter sig mod CarePlan.subject
indsatsforløbAnledning Den anledning/GGOP som er grunden til at indsatsforløbet igangsættes extension:basedOnServiceRequest

Usage:

Formal Views of Profile Content

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

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan C 0..* CarePlan Healthcare plan for patient or group
klgateway-140-care-plan-1: status reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnServiceRequest 0..1 (Complex) [DK] indsatsforløbAnledning
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension
..... value[x] 1..1 Reference(KLGateway140ServiceRequest) {b} Value of extension
... identifier 0..0
... instantiatesCanonical 0..0
... basedOn 0..0
... replaces 0..0
... partOf 0..0
... status 1..1 code [DK] indsatsforløbsstatus
... intent 1..1 code [DK] indsatshensigt
Required Pattern: plan
... category 1..1 CodeableConcept [DK] indsatsforløbKategori
Binding: CarePlanCategories (required)
... title 0..0
... description 0..0
... subject 1..1 Reference(KLGateway140Citizen) {b} [DK] indsatssubjekt
... encounter 0..0
... period 1..1 Period Time period plan covers
.... start 1..1 dateTime [DK] indsatsforløbBevillingstid
.... end 0..1 dateTime [DK] indsatforløbAfslutningstid
... created 0..0
... author 0..0
... contributor 0..0
... careTeam 0..0
... addresses 0..0
... supportingInfo 0..0
... goal 0..0
... activity 1..1 BackboneElement Action to occur as part of plan
.... outcomeCodeableConcept 0..0
.... outcomeReference 0..0
.... progress 0..0
.... reference 0..0
.... detail 1..1 BackboneElement In-line definition of activity
..... kind 0..0
..... instantiatesCanonical 0..0
..... instantiatesUri 0..0
..... code 0..0
..... reasonCode 0..0
..... reasonReference 0..0
..... goal 0..0
..... status 1..1 code [DK] indsatsforløbsAktivitetsstatus
..... statusReason 0..1 CodeableConcept [DK] indsatsforløbForklaringAfStatus
Binding: CancellationTypes (required)
..... doNotPerform 0..0
..... scheduled[x] 0..0
..... location 0..0
..... performer 1..1 Reference(KLGateway140Organization) {b} [DK] indsatsleverandør
..... product[x] 0..0
..... dailyAmount 0..0
..... quantity 0..0
..... description 0..0
... note 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
CarePlan.categoryrequiredCarePlanCategories140
http://fhir.kl.dk/rehab/ValueSet/CarePlanCategories140
from this IG
CarePlan.activity.detail.statusReasonrequiredCancellationTypes
http://fhir.kl.dk/rehab/ValueSet/CancellationTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
klgateway-140-care-plan-1errorCarePlanstatus reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
: activity.detail.all(statusReason.exists() = (status = 'cancelled' or status = 'stopped'))
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan C 0..* CarePlan Healthcare plan for patient or group
klgateway-140-care-plan-1: status reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnServiceRequest 0..1 (Complex) [DK] indsatsforløbAnledning
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension
..... extension 0..0
..... url 1..1 uri "http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension"
..... value[x] 1..1 Reference(KLGateway140ServiceRequest) {b} Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... intent ?!Σ 1..1 code [DK] indsatshensigt
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.


Required Pattern: plan
... category Σ 1..1 CodeableConcept [DK] indsatsforløbKategori
Binding: CarePlanCategories (required)
... subject Σ 1..1 Reference(KLGateway140Citizen) {b} [DK] indsatssubjekt
... period Σ 1..1 Period Time period plan covers
.... start ΣC 1..1 dateTime [DK] indsatsforløbBevillingstid
.... end ΣC 0..1 dateTime [DK] indsatforløbAfslutningstid
... activity C 1..1 BackboneElement Action to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... detail C 1..1 BackboneElement In-line definition of activity
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... status ?! 1..1 code [DK] indsatsforløbsAktivitetsstatus
Binding: CarePlanActivityStatus (required): Codes that reflect the current state of a care plan activity within its overall life cycle.

..... statusReason 0..1 CodeableConcept [DK] indsatsforløbForklaringAfStatus
Binding: CancellationTypes (required)
..... performer 1..1 Reference(KLGateway140Organization) {b} [DK] indsatsleverandør

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
CarePlan.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
CarePlan.intentrequiredPattern: plan
http://hl7.org/fhir/ValueSet/care-plan-intent|4.0.1
from the FHIR Standard
CarePlan.categoryrequiredCarePlanCategories140
http://fhir.kl.dk/rehab/ValueSet/CarePlanCategories140
from this IG
CarePlan.activity.detail.statusrequiredCarePlanActivityStatus
http://hl7.org/fhir/ValueSet/care-plan-activity-status|4.0.1
from the FHIR Standard
CarePlan.activity.detail.statusReasonrequiredCancellationTypes
http://fhir.kl.dk/rehab/ValueSet/CancellationTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
cpl-3errorCarePlan.activityProvide a reference or detail, not both
: detail.empty() or reference.empty()
dom-2errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCarePlanIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCarePlanIf 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-5errorCarePlanIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCarePlanA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
klgateway-140-care-plan-1errorCarePlanstatus reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
: activity.detail.all(statusReason.exists() = (status = 'cancelled' or status = 'stopped'))
NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan C 0..* CarePlan Healthcare plan for patient or group
klgateway-140-care-plan-1: status reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnServiceRequest 0..1 (Complex) [DK] indsatsforløbAnledning
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension"
..... value[x] 1..1 Reference(KLGateway140ServiceRequest) {b} Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code [DK] indsatsforløbsstatus
Binding: RequestStatus (required): Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.

... intent ?!Σ 1..1 code [DK] indsatshensigt
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.


Required Pattern: plan
... category Σ 1..1 CodeableConcept [DK] indsatsforløbKategori
Binding: CarePlanCategories (required)
... subject Σ 1..1 Reference(KLGateway140Citizen) {b} [DK] indsatssubjekt
... period Σ 1..1 Period Time period plan covers
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... start ΣC 1..1 dateTime [DK] indsatsforløbBevillingstid
.... end ΣC 0..1 dateTime [DK] indsatforløbAfslutningstid
... activity C 1..1 BackboneElement Action to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... detail C 1..1 BackboneElement In-line definition of activity
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... status ?! 1..1 code [DK] indsatsforløbsAktivitetsstatus
Binding: CarePlanActivityStatus (required): Codes that reflect the current state of a care plan activity within its overall life cycle.

..... statusReason 0..1 CodeableConcept [DK] indsatsforløbForklaringAfStatus
Binding: CancellationTypes (required)
..... performer 1..1 Reference(KLGateway140Organization) {b} [DK] indsatsleverandør

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
CarePlan.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
CarePlan.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
CarePlan.intentrequiredPattern: plan
http://hl7.org/fhir/ValueSet/care-plan-intent|4.0.1
from the FHIR Standard
CarePlan.categoryrequiredCarePlanCategories140
http://fhir.kl.dk/rehab/ValueSet/CarePlanCategories140
from this IG
CarePlan.activity.detail.statusrequiredCarePlanActivityStatus
http://hl7.org/fhir/ValueSet/care-plan-activity-status|4.0.1
from the FHIR Standard
CarePlan.activity.detail.statusReasonrequiredCancellationTypes
http://fhir.kl.dk/rehab/ValueSet/CancellationTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
cpl-3errorCarePlan.activityProvide a reference or detail, not both
: detail.empty() or reference.empty()
dom-2errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCarePlanIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCarePlanIf 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-5errorCarePlanIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCarePlanA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
klgateway-140-care-plan-1errorCarePlanstatus reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
: activity.detail.all(statusReason.exists() = (status = 'cancelled' or status = 'stopped'))

Differential View

This structure is derived from CarePlan

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan C 0..* CarePlan Healthcare plan for patient or group
klgateway-140-care-plan-1: status reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnServiceRequest 0..1 (Complex) [DK] indsatsforløbAnledning
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension
..... value[x] 1..1 Reference(KLGateway140ServiceRequest) {b} Value of extension
... identifier 0..0
... instantiatesCanonical 0..0
... basedOn 0..0
... replaces 0..0
... partOf 0..0
... status 1..1 code [DK] indsatsforløbsstatus
... intent 1..1 code [DK] indsatshensigt
Required Pattern: plan
... category 1..1 CodeableConcept [DK] indsatsforløbKategori
Binding: CarePlanCategories (required)
... title 0..0
... description 0..0
... subject 1..1 Reference(KLGateway140Citizen) {b} [DK] indsatssubjekt
... encounter 0..0
... period 1..1 Period Time period plan covers
.... start 1..1 dateTime [DK] indsatsforløbBevillingstid
.... end 0..1 dateTime [DK] indsatforløbAfslutningstid
... created 0..0
... author 0..0
... contributor 0..0
... careTeam 0..0
... addresses 0..0
... supportingInfo 0..0
... goal 0..0
... activity 1..1 BackboneElement Action to occur as part of plan
.... outcomeCodeableConcept 0..0
.... outcomeReference 0..0
.... progress 0..0
.... reference 0..0
.... detail 1..1 BackboneElement In-line definition of activity
..... kind 0..0
..... instantiatesCanonical 0..0
..... instantiatesUri 0..0
..... code 0..0
..... reasonCode 0..0
..... reasonReference 0..0
..... goal 0..0
..... status 1..1 code [DK] indsatsforløbsAktivitetsstatus
..... statusReason 0..1 CodeableConcept [DK] indsatsforløbForklaringAfStatus
Binding: CancellationTypes (required)
..... doNotPerform 0..0
..... scheduled[x] 0..0
..... location 0..0
..... performer 1..1 Reference(KLGateway140Organization) {b} [DK] indsatsleverandør
..... product[x] 0..0
..... dailyAmount 0..0
..... quantity 0..0
..... description 0..0
... note 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
CarePlan.categoryrequiredCarePlanCategories140
http://fhir.kl.dk/rehab/ValueSet/CarePlanCategories140
from this IG
CarePlan.activity.detail.statusReasonrequiredCancellationTypes
http://fhir.kl.dk/rehab/ValueSet/CancellationTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
klgateway-140-care-plan-1errorCarePlanstatus reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
: activity.detail.all(statusReason.exists() = (status = 'cancelled' or status = 'stopped'))

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan C 0..* CarePlan Healthcare plan for patient or group
klgateway-140-care-plan-1: status reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnServiceRequest 0..1 (Complex) [DK] indsatsforløbAnledning
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension
..... extension 0..0
..... url 1..1 uri "http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension"
..... value[x] 1..1 Reference(KLGateway140ServiceRequest) {b} Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... intent ?!Σ 1..1 code [DK] indsatshensigt
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.


Required Pattern: plan
... category Σ 1..1 CodeableConcept [DK] indsatsforløbKategori
Binding: CarePlanCategories (required)
... subject Σ 1..1 Reference(KLGateway140Citizen) {b} [DK] indsatssubjekt
... period Σ 1..1 Period Time period plan covers
.... start ΣC 1..1 dateTime [DK] indsatsforløbBevillingstid
.... end ΣC 0..1 dateTime [DK] indsatforløbAfslutningstid
... activity C 1..1 BackboneElement Action to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... detail C 1..1 BackboneElement In-line definition of activity
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... status ?! 1..1 code [DK] indsatsforløbsAktivitetsstatus
Binding: CarePlanActivityStatus (required): Codes that reflect the current state of a care plan activity within its overall life cycle.

..... statusReason 0..1 CodeableConcept [DK] indsatsforløbForklaringAfStatus
Binding: CancellationTypes (required)
..... performer 1..1 Reference(KLGateway140Organization) {b} [DK] indsatsleverandør

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
CarePlan.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
CarePlan.intentrequiredPattern: plan
http://hl7.org/fhir/ValueSet/care-plan-intent|4.0.1
from the FHIR Standard
CarePlan.categoryrequiredCarePlanCategories140
http://fhir.kl.dk/rehab/ValueSet/CarePlanCategories140
from this IG
CarePlan.activity.detail.statusrequiredCarePlanActivityStatus
http://hl7.org/fhir/ValueSet/care-plan-activity-status|4.0.1
from the FHIR Standard
CarePlan.activity.detail.statusReasonrequiredCancellationTypes
http://fhir.kl.dk/rehab/ValueSet/CancellationTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
cpl-3errorCarePlan.activityProvide a reference or detail, not both
: detail.empty() or reference.empty()
dom-2errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCarePlanIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCarePlanIf 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-5errorCarePlanIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCarePlanA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
klgateway-140-care-plan-1errorCarePlanstatus reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
: activity.detail.all(statusReason.exists() = (status = 'cancelled' or status = 'stopped'))

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CarePlan C 0..* CarePlan Healthcare plan for patient or group
klgateway-140-care-plan-1: status reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... basedOnServiceRequest 0..1 (Complex) [DK] indsatsforløbAnledning
URL: http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..0
..... url 1..1 uri "http://fhir.kl.dk/rehab/StructureDefinition/BasedOnServiceRequestExtension"
..... value[x] 1..1 Reference(KLGateway140ServiceRequest) {b} Value of extension
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code [DK] indsatsforløbsstatus
Binding: RequestStatus (required): Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.

... intent ?!Σ 1..1 code [DK] indsatshensigt
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.


Required Pattern: plan
... category Σ 1..1 CodeableConcept [DK] indsatsforløbKategori
Binding: CarePlanCategories (required)
... subject Σ 1..1 Reference(KLGateway140Citizen) {b} [DK] indsatssubjekt
... period Σ 1..1 Period Time period plan covers
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... start ΣC 1..1 dateTime [DK] indsatsforløbBevillingstid
.... end ΣC 0..1 dateTime [DK] indsatforløbAfslutningstid
... activity C 1..1 BackboneElement Action to occur as part of plan
cpl-3: Provide a reference or detail, not both
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... detail C 1..1 BackboneElement In-line definition of activity
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... status ?! 1..1 code [DK] indsatsforløbsAktivitetsstatus
Binding: CarePlanActivityStatus (required): Codes that reflect the current state of a care plan activity within its overall life cycle.

..... statusReason 0..1 CodeableConcept [DK] indsatsforløbForklaringAfStatus
Binding: CancellationTypes (required)
..... performer 1..1 Reference(KLGateway140Organization) {b} [DK] indsatsleverandør

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
CarePlan.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
CarePlan.statusrequiredRequestStatus
http://hl7.org/fhir/ValueSet/request-status|4.0.1
from the FHIR Standard
CarePlan.intentrequiredPattern: plan
http://hl7.org/fhir/ValueSet/care-plan-intent|4.0.1
from the FHIR Standard
CarePlan.categoryrequiredCarePlanCategories140
http://fhir.kl.dk/rehab/ValueSet/CarePlanCategories140
from this IG
CarePlan.activity.detail.statusrequiredCarePlanActivityStatus
http://hl7.org/fhir/ValueSet/care-plan-activity-status|4.0.1
from the FHIR Standard
CarePlan.activity.detail.statusReasonrequiredCancellationTypes
http://fhir.kl.dk/rehab/ValueSet/CancellationTypes
from this IG

Constraints

IdGradePath(s)DetailsRequirements
cpl-3errorCarePlan.activityProvide a reference or detail, not both
: detail.empty() or reference.empty()
dom-2errorCarePlanIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorCarePlanIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorCarePlanIf 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-5errorCarePlanIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceCarePlanA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
klgateway-140-care-plan-1errorCarePlanstatus reason is mandatory if status is cancelled or stopped. Otherwise it is prohibited
: activity.detail.all(statusReason.exists() = (status = 'cancelled' or status = 'stopped'))

 

Other representations of profile: CSV, Excel, Schematron