Canadian Core
0.1.0 - CI Build

Canadian Core, published by Canadian FHIR Implementor Working Group. This is not an authorized publication; it is the continuous build for version 0.1.0). This version is based on the current content of https://github.com/scratch-fhir-profiles/CA-Core/ and changes regularly. See the Directory of published versions

Resource Profile: Goal Profile

Defining URL:http://hl7.org/fhir/ca/core/StructureDefinition/profile-goal
Version:0.1.0
Name:GoalProfile
Status:Draft as of 2019-12-06T18:18:20.332539+00:00
Definition:

Proposed constraints and extensions on the Goal Resource to support collection of diagnostic report information. Generated as a first step toward creating a set of Canadian Core FHIR profiles.

Publisher:Canadian FHIR Implementor Working Group
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/ca/core/StructureDefinition/profile-goal

Formal Views of Profile Content

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

This structure is derived from Goal

Summary

Must-Support: 5 elements

Structures

This structure refers to these other structures:

This structure is derived from Goal

NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*GoalGoal Profile
... lifecycleStatus S1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... description S1..1CodeableConceptCode or text describing goal
... subject S1..1Reference(Patient Profile)Who this goal is intended for
.... due[x]:dueDate S0..1dateReach goal on or before

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*GoalGoal Profile
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierExternal Ids for this goal
... lifecycleStatus ?!SΣ1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... achievementStatus Σ0..1CodeableConceptin-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable
Binding: GoalAchievementStatus (preferred): Indicates the progression, or lack thereof, towards the goal against the target.

... category Σ0..*CodeableConceptE.g. Treatment, dietary, behavioral, etc.
Binding: GoalCategory (example): Codes for grouping and sorting goals.


... priority Σ0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): The level of importance associated with a goal.

... description SΣ1..1CodeableConceptCode or text describing goal
Binding: SNOMEDCTClinicalFindings (example): Codes providing the details of a particular goal. This will generally be system or implementation guide-specific. In many systems, only the text element will be used.

... subject SΣ1..1Reference(Patient Profile)Who this goal is intended for
... start[x] Σ0..1When goal pursuit begins
Binding: GoalStartEvent (example): Codes describing events that can trigger the initiation of a goal.

.... startDatedate
.... startCodeableConceptCodeableConcept
... target SI0..*BackboneElementTarget outcome for the goal
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... measure ΣI0..1CodeableConceptThe parameter whose value is being tracked
Binding: LOINCCodes (example): Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.

.... detail[x] ΣI0..1The target value to be achieved
Binding: (unbound) (example): Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal.

..... detailQuantityQuantity
..... detailRangeRange
..... detailCodeableConceptCodeableConcept
..... detailStringstring
..... detailBooleanboolean
..... detailIntegerinteger
..... detailRatioRatio
.... due[x]:dueDate SΣ0..1dateReach goal on or before
... statusDate Σ0..1dateWhen goal status took effect
... statusReason 0..1stringReason for current status
... expressedBy Σ0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who's responsible for creating Goal?
... addresses 0..*Reference(Condition | Observation | MedicationStatement | NutritionOrder | ServiceRequest | RiskAssessment)Issues addressed by this goal
... note 0..*AnnotationComments about the goal
... outcomeCode 0..*CodeableConceptWhat result was achieved regarding the goal?
Binding: SNOMEDCTClinicalFindings (example): The result of the goal; e.g. "25% increase in shoulder mobility", "Anxiety reduced to moderate levels". "15 kg weight loss sustained over 6 months".


... outcomeReference 0..*Reference(Observation)Observation that resulted from goal

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*GoalGoal Profile
... lifecycleStatus ?!Σ1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... description Σ1..1CodeableConceptCode or text describing goal
Binding: SNOMEDCTClinicalFindings (example): Codes providing the details of a particular goal. This will generally be system or implementation guide-specific. In many systems, only the text element will be used.

... subject Σ1..1Reference(Patient Profile)Who this goal is intended for
.... due[x]:dueDate Σ0..1dateReach goal on or before

doco Documentation for this format

This structure is derived from Goal

Summary

Must-Support: 5 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from Goal

NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*GoalGoal Profile
... lifecycleStatus S1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... description S1..1CodeableConceptCode or text describing goal
... subject S1..1Reference(Patient Profile)Who this goal is intended for
.... due[x]:dueDate S0..1dateReach goal on or before

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*GoalGoal Profile
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierExternal Ids for this goal
... lifecycleStatus ?!SΣ1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... achievementStatus Σ0..1CodeableConceptin-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable
Binding: GoalAchievementStatus (preferred): Indicates the progression, or lack thereof, towards the goal against the target.

... category Σ0..*CodeableConceptE.g. Treatment, dietary, behavioral, etc.
Binding: GoalCategory (example): Codes for grouping and sorting goals.


... priority Σ0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): The level of importance associated with a goal.

... description SΣ1..1CodeableConceptCode or text describing goal
Binding: SNOMEDCTClinicalFindings (example): Codes providing the details of a particular goal. This will generally be system or implementation guide-specific. In many systems, only the text element will be used.

... subject SΣ1..1Reference(Patient Profile)Who this goal is intended for
... start[x] Σ0..1When goal pursuit begins
Binding: GoalStartEvent (example): Codes describing events that can trigger the initiation of a goal.

.... startDatedate
.... startCodeableConceptCodeableConcept
... target SI0..*BackboneElementTarget outcome for the goal
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... measure ΣI0..1CodeableConceptThe parameter whose value is being tracked
Binding: LOINCCodes (example): Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.

.... detail[x] ΣI0..1The target value to be achieved
Binding: (unbound) (example): Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal.

..... detailQuantityQuantity
..... detailRangeRange
..... detailCodeableConceptCodeableConcept
..... detailStringstring
..... detailBooleanboolean
..... detailIntegerinteger
..... detailRatioRatio
.... due[x]:dueDate SΣ0..1dateReach goal on or before
... statusDate Σ0..1dateWhen goal status took effect
... statusReason 0..1stringReason for current status
... expressedBy Σ0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)Who's responsible for creating Goal?
... addresses 0..*Reference(Condition | Observation | MedicationStatement | NutritionOrder | ServiceRequest | RiskAssessment)Issues addressed by this goal
... note 0..*AnnotationComments about the goal
... outcomeCode 0..*CodeableConceptWhat result was achieved regarding the goal?
Binding: SNOMEDCTClinicalFindings (example): The result of the goal; e.g. "25% increase in shoulder mobility", "Anxiety reduced to moderate levels". "15 kg weight loss sustained over 6 months".


... outcomeReference 0..*Reference(Observation)Observation that resulted from goal

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet
Goal.languagepreferredCommonLanguages
Max Binding: AllLanguages
Goal.lifecycleStatusrequiredGoalLifecycleStatus
Goal.achievementStatuspreferredGoalAchievementStatus
Goal.categoryexampleGoalCategory
Goal.prioritypreferredGoalPriority
Goal.descriptionexampleSNOMEDCTClinicalFindings
Goal.start[x]exampleGoalStartEvent
Goal.target.measureexampleLOINCCodes
Goal.target.detail[x]example
Goal.outcomeCodeexampleSNOMEDCTClinicalFindings

Constraints

IdPathDetailsRequirements
dom-2GoalIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3GoalIf 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-4GoalIf 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-5GoalIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6GoalA resource should have narrative for robust management
: text.`div`.exists()
ele-1Goal.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Goal.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Goal.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Goal.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Goal.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.lifecycleStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.achievementStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.priorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.start[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.targetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
gol-1Goal.targetGoal.target.measure is required if Goal.target.detail is populated
: (detail.exists() and measure.exists()) or detail.exists().not()
ele-1Goal.target.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Goal.target.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Goal.target.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Goal.target.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Goal.target.measureAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.target.detail[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.target.due[x]:dueDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.statusDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.expressedByAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.addressesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.outcomeCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.outcomeReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())