HL7 Norge
FHIR Implementation Guide for the Norwegian Municipal Sector
Shared starting point for understanding and consistent use of FHIR in municipal health and care services.
Norwegian

FHIR Implementation Guide for the Norwegian Municipal Sector
0.3.0 - Norway flag

FHIR Implementation Guide for the Norwegian Municipal Sector - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: no-kommune-CarePlan

Official URL: https://kommune.conteir.no/StructureDefinition/kommune-careplan Version: 0.3.0
Draft as of 2026-10-02 Computable Name: KommuneCarePlan

Municipal plan profile for follow-up, goals, interventions and planned activity in health and care services. The profile is used when a system needs to share a plan that shows what the municipality follows up, which goals or interventions are relevant, and which activities are planned or completed. The plan can point to requests, planned appointments, completed contacts, observations, supporting documents, goals and responsible team.

Activity, supporting information and follow-up

An activity may be described directly in activity.detail or reference a separate request through activity.reference. These are not used together in the same activity. The service is described in activity.detail.code or ServiceRequest.code, respectively. KPR service type (9151) may be used when the service concept matches.

supportingInfo may reference documentation and assessments underlying the plan. In the example, assessments are separate Observation resources. goal references Kari's goal, and activity.outcomeReference identifies the visit and reassessment.

category describes the plan type, while addresses references health problems addressed by the plan. See Norwegian Context and the example journey for code systems and assessment history.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots, and their representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CarePlan 0..* CarePlan Healthcare plan for patient or group
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Optional business identifier for the plan
... intent ?!Σ 1..1 code proposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
Fixed Value: plan
... category Σ 0..* CodeableConcept Plan type - optional classification
Binding: CarePlanCategory (example): Illustrative categories for distinguishing between different types of plans.
... subject Σ 1..1 Reference(Patient) Patient - SHOULD reference no-basis-Patient
... encounter Σ 0..1 Reference(no-kommune-Encounter) Encounter where the plan was created or updated
... period Σ 1..1 Period Time period plan covers
.... start ΣC 1..1 dateTime Starting time with inclusive boundary
... author Σ 1..1 Reference(Practitioner | PractitionerRole | Organization) Plan author or responsible party - SHOULD reference no-basis-Practitioner, no-basis-PractitionerRole or no-basis-Organization
... addresses Σ 0..* Reference(Condition) Health issues this plan addresses
... supportingInfo 0..* Reference(DocumentReference | Condition | Observation | QuestionnaireResponse | Goal) Information considered as part of plan

Example KPR functional assessment as supporting information: {"reference":"Observation/example-kpr-function"}

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CarePlan.status Base required RequestStatus 📍4.0.1 FHIR Std.
CarePlan.intent Base required Care Plan Intent 📍4.0.1 FHIR Std.
CarePlan.category Base example Care Plan Category 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error CarePlan If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CarePlan If 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-4 error CarePlan If 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-5 error CarePlan If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CarePlan A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CarePlan 0..* CarePlan Healthcare plan for patient or group
... identifier 0..* Identifier Optional business identifier for the plan
... intent 1..1 code proposal | plan | order | option
Fixed Value: plan
... category 0..* CodeableConcept Plan type - optional classification
Binding: CarePlanCategory (example): Illustrative categories for distinguishing between different types of plans.
... encounter 0..1 Reference(no-kommune-Encounter) Encounter where the plan was created or updated
... period 1..1 Period Time period plan covers
.... start 1..1 dateTime Starting time with inclusive boundary
... author 1..1 Reference(Practitioner | PractitionerRole | Organization) Plan author or responsible party - SHOULD reference no-basis-Practitioner, no-basis-PractitionerRole or no-basis-Organization
... addresses 0..* Reference(Condition) Health issues this plan addresses
... supportingInfo 0..* Reference(DocumentReference | Condition | Observation | QuestionnaireResponse | Goal) Information considered as part of plan
Example KPR functional assessment as supporting information: {"reference":"Observation/example-kpr-function"}
... activity
.... outcomeReference 0..* Reference(no-kommune-Encounter | Observation | Procedure | DocumentReference) Outcome of planned activity - SHOULD use no-basis-DocumentReference or no-basis-Procedure where relevant
Example KPR functional reassessment after follow-up: {"reference":"Observation/example-kpr-followup"}
.... reference 0..1 Reference(no-kommune-ServiceRequest | Task | Appointment) Activity details defined in specific resource
.... detail
..... code 0..1 CodeableConcept Detail type of activity
Binding: Municipal service types – illustrative examples (example): Illustrative examples from code system 9151. Use ServiceRequest.code for a separate request.
Example Example: activity within home health services: {"coding":[{"system":"urn:oid:2.16.578.1.12.4.1.1.9151","code":"15","display":"Helsetjenester i hjemmet"}]}

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
CarePlan.category Base example Care Plan Category 📦4.0.1 FHIR Std.
CarePlan.activity.detail.​code Base example Municipal service types – illustrative examples 📦0.3.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CarePlan 0..* CarePlan Healthcare plan for patient or group
... 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Optional business identifier for the plan
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan) Fulfills CarePlan
... replaces Σ 0..* Reference(CarePlan) CarePlan replaced by this CarePlan
... partOf Σ 0..* Reference(CarePlan) Part of referenced CarePlan
... status ?!Σ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
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 proposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
Fixed Value: plan
... category Σ 0..* CodeableConcept Plan type - optional classification
Binding: CarePlanCategory (example): Illustrative categories for distinguishing between different types of plans.
... title Σ 0..1 string Human-friendly name for the care plan
... description Σ 0..1 string Summary of nature of plan
... subject Σ 1..1 Reference(Patient) Patient - SHOULD reference no-basis-Patient
... encounter Σ 0..1 Reference(no-kommune-Encounter) Encounter where the plan was created or updated
... 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 Starting time with inclusive boundary
.... end ΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
... created Σ 0..1 dateTime Date record was first recorded
... author Σ 1..1 Reference(Practitioner | PractitionerRole | Organization) Plan author or responsible party - SHOULD reference no-basis-Practitioner, no-basis-PractitionerRole or no-basis-Organization
... contributor 0..* Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) Who provided the content of the care plan
... careTeam 0..* Reference(CareTeam) Who's involved in plan?
... addresses Σ 0..* Reference(Condition) Health issues this plan addresses
... supportingInfo 0..* Reference(DocumentReference | Condition | Observation | QuestionnaireResponse | Goal) Information considered as part of plan

Example KPR functional assessment as supporting information: {"reference":"Observation/example-kpr-function"}
... goal 0..* Reference(Goal) Desired outcome of plan
... activity C 0..* BackboneElement Action to occur as part of plan
Constraints: cpl-3
.... 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
.... outcomeCodeableConcept 0..* CodeableConcept Results of the activity
Binding: CarePlanActivityOutcome (example): Identifies the results of the activity.
.... outcomeReference 0..* Reference(no-kommune-Encounter | Observation | Procedure | DocumentReference) Outcome of planned activity - SHOULD use no-basis-DocumentReference or no-basis-Procedure where relevant

Example KPR functional reassessment after follow-up: {"reference":"Observation/example-kpr-followup"}
.... progress 0..* Annotation Comments about the activity status/progress
.... reference C 0..1 Reference(no-kommune-ServiceRequest | Task | Appointment) Activity details defined in specific resource
.... detail C 0..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
..... kind 0..1 code Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
Binding: CarePlanActivityKind (required): Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity.
..... instantiatesCanonical 0..* canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) Instantiates FHIR protocol or definition
..... instantiatesUri 0..* uri Instantiates external protocol or definition
..... code 0..1 CodeableConcept Detail type of activity
Binding: Municipal service types – illustrative examples (example): Illustrative examples from code system 9151. Use ServiceRequest.code for a separate request.
Example Example: activity within home health services: {"coding":[{"system":"urn:oid:2.16.578.1.12.4.1.1.9151","code":"15","display":"Helsetjenester i hjemmet"}]}
..... reasonCode 0..* CodeableConcept Why activity should be done or why activity was prohibited
Binding: SNOMEDCTClinicalFindings (example): Identifies why a care plan activity is needed. Can include any health condition codes as well as such concepts as "general wellness", prophylaxis, surgical preparation, etc.
..... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why activity is needed
..... goal 0..* Reference(Goal) Goals this activity relates to
..... status ?! 1..1 code not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
Binding: CarePlanActivityStatus (required): Codes that reflect the current state of a care plan activity within its overall life cycle.
..... statusReason 0..1 CodeableConcept Reason for current status
..... doNotPerform ?! 0..1 boolean If true, activity is prohibiting action
..... scheduled[x] 0..1 When activity is to occur
...... scheduledTiming Timing
...... scheduledPeriod Period
...... scheduledString string
..... location 0..1 Reference(Location) Where it should happen
..... performer 0..* Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) Who will be responsible?
..... product[x] 0..1 What is to be administered/supplied
Binding: SNOMEDCTMedicationCodes (example): A product supplied or administered as part of a care plan activity.
...... productCodeableConcept CodeableConcept
...... productReference Reference(Medication | Substance)
..... dailyAmount 0..1 SimpleQuantity(4.0.1) How to consume/day?
..... quantity 0..1 SimpleQuantity(4.0.1) How much to administer/supply/consume
..... description 0..1 string Extra info describing activity to perform
... note 0..* Annotation Comments about the plan

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CarePlan.language Base preferred Common Languages 📍4.0.1 FHIR Std.
CarePlan.status Base required RequestStatus 📍4.0.1 FHIR Std.
CarePlan.intent Base required Care Plan Intent 📍4.0.1 FHIR Std.
CarePlan.category Base example Care Plan Category 📦4.0.1 FHIR Std.
CarePlan.activity.outcomeCodeableConcept Base example Care Plan Activity Outcome 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​kind Base required Care Plan Activity Kind 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​code Base example Municipal service types – illustrative examples 📦0.3.0 This IG
CarePlan.activity.detail.​reasonCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​status Base required CarePlanActivityStatus 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​product[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cpl-3 error CarePlan.activity Provide a reference or detail, not both detail.empty() or reference.empty()
dom-2 error CarePlan If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CarePlan If 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-4 error CarePlan If 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-5 error CarePlan If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CarePlan A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CarePlan 0..* CarePlan Healthcare plan for patient or group
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Optional business identifier for the plan
... intent ?!Σ 1..1 code proposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
Fixed Value: plan
... category Σ 0..* CodeableConcept Plan type - optional classification
Binding: CarePlanCategory (example): Illustrative categories for distinguishing between different types of plans.
... subject Σ 1..1 Reference(Patient) Patient - SHOULD reference no-basis-Patient
... encounter Σ 0..1 Reference(no-kommune-Encounter) Encounter where the plan was created or updated
... period Σ 1..1 Period Time period plan covers
.... start ΣC 1..1 dateTime Starting time with inclusive boundary
... author Σ 1..1 Reference(Practitioner | PractitionerRole | Organization) Plan author or responsible party - SHOULD reference no-basis-Practitioner, no-basis-PractitionerRole or no-basis-Organization
... addresses Σ 0..* Reference(Condition) Health issues this plan addresses
... supportingInfo 0..* Reference(DocumentReference | Condition | Observation | QuestionnaireResponse | Goal) Information considered as part of plan

Example KPR functional assessment as supporting information: {"reference":"Observation/example-kpr-function"}

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CarePlan.status Base required RequestStatus 📍4.0.1 FHIR Std.
CarePlan.intent Base required Care Plan Intent 📍4.0.1 FHIR Std.
CarePlan.category Base example Care Plan Category 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error CarePlan If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CarePlan If 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-4 error CarePlan If 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-5 error CarePlan If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CarePlan A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CarePlan 0..* CarePlan Healthcare plan for patient or group
... identifier 0..* Identifier Optional business identifier for the plan
... intent 1..1 code proposal | plan | order | option
Fixed Value: plan
... category 0..* CodeableConcept Plan type - optional classification
Binding: CarePlanCategory (example): Illustrative categories for distinguishing between different types of plans.
... encounter 0..1 Reference(no-kommune-Encounter) Encounter where the plan was created or updated
... period 1..1 Period Time period plan covers
.... start 1..1 dateTime Starting time with inclusive boundary
... author 1..1 Reference(Practitioner | PractitionerRole | Organization) Plan author or responsible party - SHOULD reference no-basis-Practitioner, no-basis-PractitionerRole or no-basis-Organization
... addresses 0..* Reference(Condition) Health issues this plan addresses
... supportingInfo 0..* Reference(DocumentReference | Condition | Observation | QuestionnaireResponse | Goal) Information considered as part of plan
Example KPR functional assessment as supporting information: {"reference":"Observation/example-kpr-function"}
... activity
.... outcomeReference 0..* Reference(no-kommune-Encounter | Observation | Procedure | DocumentReference) Outcome of planned activity - SHOULD use no-basis-DocumentReference or no-basis-Procedure where relevant
Example KPR functional reassessment after follow-up: {"reference":"Observation/example-kpr-followup"}
.... reference 0..1 Reference(no-kommune-ServiceRequest | Task | Appointment) Activity details defined in specific resource
.... detail
..... code 0..1 CodeableConcept Detail type of activity
Binding: Municipal service types – illustrative examples (example): Illustrative examples from code system 9151. Use ServiceRequest.code for a separate request.
Example Example: activity within home health services: {"coding":[{"system":"urn:oid:2.16.578.1.12.4.1.1.9151","code":"15","display":"Helsetjenester i hjemmet"}]}

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
CarePlan.category Base example Care Plan Category 📦4.0.1 FHIR Std.
CarePlan.activity.detail.​code Base example Municipal service types – illustrative examples 📦0.3.0 This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CarePlan 0..* CarePlan Healthcare plan for patient or group
... 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Optional business identifier for the plan
... instantiatesCanonical Σ 0..* canonical(PlanDefinition | Questionnaire | Measure | ActivityDefinition | OperationDefinition) Instantiates FHIR protocol or definition
... instantiatesUri Σ 0..* uri Instantiates external protocol or definition
... basedOn Σ 0..* Reference(CarePlan) Fulfills CarePlan
... replaces Σ 0..* Reference(CarePlan) CarePlan replaced by this CarePlan
... partOf Σ 0..* Reference(CarePlan) Part of referenced CarePlan
... status ?!Σ 1..1 code draft | active | on-hold | revoked | completed | entered-in-error | unknown
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 proposal | plan | order | option
Binding: CarePlanIntent (required): Codes indicating the degree of authority/intentionality associated with a care plan.
Fixed Value: plan
... category Σ 0..* CodeableConcept Plan type - optional classification
Binding: CarePlanCategory (example): Illustrative categories for distinguishing between different types of plans.
... title Σ 0..1 string Human-friendly name for the care plan
... description Σ 0..1 string Summary of nature of plan
... subject Σ 1..1 Reference(Patient) Patient - SHOULD reference no-basis-Patient
... encounter Σ 0..1 Reference(no-kommune-Encounter) Encounter where the plan was created or updated
... 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 Starting time with inclusive boundary
.... end ΣC 0..1 dateTime End time with inclusive boundary, if not ongoing
... created Σ 0..1 dateTime Date record was first recorded
... author Σ 1..1 Reference(Practitioner | PractitionerRole | Organization) Plan author or responsible party - SHOULD reference no-basis-Practitioner, no-basis-PractitionerRole or no-basis-Organization
... contributor 0..* Reference(Patient | Practitioner | PractitionerRole | Device | RelatedPerson | Organization | CareTeam) Who provided the content of the care plan
... careTeam 0..* Reference(CareTeam) Who's involved in plan?
... addresses Σ 0..* Reference(Condition) Health issues this plan addresses
... supportingInfo 0..* Reference(DocumentReference | Condition | Observation | QuestionnaireResponse | Goal) Information considered as part of plan

Example KPR functional assessment as supporting information: {"reference":"Observation/example-kpr-function"}
... goal 0..* Reference(Goal) Desired outcome of plan
... activity C 0..* BackboneElement Action to occur as part of plan
Constraints: cpl-3
.... 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
.... outcomeCodeableConcept 0..* CodeableConcept Results of the activity
Binding: CarePlanActivityOutcome (example): Identifies the results of the activity.
.... outcomeReference 0..* Reference(no-kommune-Encounter | Observation | Procedure | DocumentReference) Outcome of planned activity - SHOULD use no-basis-DocumentReference or no-basis-Procedure where relevant

Example KPR functional reassessment after follow-up: {"reference":"Observation/example-kpr-followup"}
.... progress 0..* Annotation Comments about the activity status/progress
.... reference C 0..1 Reference(no-kommune-ServiceRequest | Task | Appointment) Activity details defined in specific resource
.... detail C 0..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
..... kind 0..1 code Appointment | CommunicationRequest | DeviceRequest | MedicationRequest | NutritionOrder | Task | ServiceRequest | VisionPrescription
Binding: CarePlanActivityKind (required): Resource types defined as part of FHIR that can be represented as in-line definitions of a care plan activity.
..... instantiatesCanonical 0..* canonical(PlanDefinition | ActivityDefinition | Questionnaire | Measure | OperationDefinition) Instantiates FHIR protocol or definition
..... instantiatesUri 0..* uri Instantiates external protocol or definition
..... code 0..1 CodeableConcept Detail type of activity
Binding: Municipal service types – illustrative examples (example): Illustrative examples from code system 9151. Use ServiceRequest.code for a separate request.
Example Example: activity within home health services: {"coding":[{"system":"urn:oid:2.16.578.1.12.4.1.1.9151","code":"15","display":"Helsetjenester i hjemmet"}]}
..... reasonCode 0..* CodeableConcept Why activity should be done or why activity was prohibited
Binding: SNOMEDCTClinicalFindings (example): Identifies why a care plan activity is needed. Can include any health condition codes as well as such concepts as "general wellness", prophylaxis, surgical preparation, etc.
..... reasonReference 0..* Reference(Condition | Observation | DiagnosticReport | DocumentReference) Why activity is needed
..... goal 0..* Reference(Goal) Goals this activity relates to
..... status ?! 1..1 code not-started | scheduled | in-progress | on-hold | completed | cancelled | stopped | unknown | entered-in-error
Binding: CarePlanActivityStatus (required): Codes that reflect the current state of a care plan activity within its overall life cycle.
..... statusReason 0..1 CodeableConcept Reason for current status
..... doNotPerform ?! 0..1 boolean If true, activity is prohibiting action
..... scheduled[x] 0..1 When activity is to occur
...... scheduledTiming Timing
...... scheduledPeriod Period
...... scheduledString string
..... location 0..1 Reference(Location) Where it should happen
..... performer 0..* Reference(Practitioner | PractitionerRole | Organization | RelatedPerson | Patient | CareTeam | HealthcareService | Device) Who will be responsible?
..... product[x] 0..1 What is to be administered/supplied
Binding: SNOMEDCTMedicationCodes (example): A product supplied or administered as part of a care plan activity.
...... productCodeableConcept CodeableConcept
...... productReference Reference(Medication | Substance)
..... dailyAmount 0..1 SimpleQuantity(4.0.1) How to consume/day?
..... quantity 0..1 SimpleQuantity(4.0.1) How much to administer/supply/consume
..... description 0..1 string Extra info describing activity to perform
... note 0..* Annotation Comments about the plan

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CarePlan.language Base preferred Common Languages 📍4.0.1 FHIR Std.
CarePlan.status Base required RequestStatus 📍4.0.1 FHIR Std.
CarePlan.intent Base required Care Plan Intent 📍4.0.1 FHIR Std.
CarePlan.category Base example Care Plan Category 📦4.0.1 FHIR Std.
CarePlan.activity.outcomeCodeableConcept Base example Care Plan Activity Outcome 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​kind Base required Care Plan Activity Kind 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​code Base example Municipal service types – illustrative examples 📦0.3.0 This IG
CarePlan.activity.detail.​reasonCode Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​status Base required CarePlanActivityStatus 📍4.0.1 FHIR Std.
CarePlan.activity.detail.​product[x] Base example SNOMED CT Medication Codes 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cpl-3 error CarePlan.activity Provide a reference or detail, not both detail.empty() or reference.empty()
dom-2 error CarePlan If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error CarePlan If 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-4 error CarePlan If 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-5 error CarePlan If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice CarePlan A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron