profile-Goal
type: StructureDefinition
node role: treeRoot
id:
  v: profile-Goal
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition profile-Goal Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Goal 0..* Goal Describes the intended objective(s) for a patient, group or organization #xD; status #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:lifecycleStatus 0..1 code R4: proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected additional codes URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.lifecycleStatus Binding: GoalStatus (required): Codes that reflect the current state of a goal and whether the goal is still being targeted. #xD; extension:achievementStatus 0..1 CodeableConcept R4: in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable additional types URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.achievementStatus Binding: R4GoalAchievementForR3 (0.1.0) (preferred): Indicates the progression, or lack thereof, towards the goal against the target. #xD; target #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:detail 0..1 string, boolean, integer, Ratio R4: detail additional types URL: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.target.detail #xD; expressedBy #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:expressedBy 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R4: expressedBy URL: http://hl7.org/fhir/StructureDefinition/alternate-reference #xD; addresses #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:addresses 0..* ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R4: addresses URL: http://hl7.org/fhir/StructureDefinition/alternate-reference #x…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
extension:
  extension:
    url:
      v: packageId
      l: packageId
    value: Id
      v: hl7.fhir.uv.xver-r4.r3
  extension:
    url:
      v: version
      l: version
    value: String
      v: 0.1.0
  url:
    v: http://hl7.org/fhir/StructureDefinition/package-source
    l: package-source
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
    l: structuredefinition-fmm
  value: Integer
    v: 0
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r4.r3
        l: hl7.fhir.uv.xver-r4.r3
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: trial-use
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r4.r3
        l: hl7.fhir.uv.xver-r4.r3
url:
  v: http://hl7.org/fhir/4.0/StructureDefinition/profile-Goal
  l: profile-Goal
version:
  v: 0.1.0
name:
  v: Profile_R4_Goal_R3
title:
  v: Cross-version Profile for R4.Goal for use in FHIR STU3
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T16:03:29.6981623-05:00
publisher:
  v: FHIR Infrastructure
contact:
  name:
    v: FHIR Infrastructure
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: This cross-version profile allows R4 Goal content to be represented via FHIR STU3 Goal resources.
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
fhir version:
  v: 3.0.2
mapping:
  identity:
    v: v2
  uri:
    v: http://hl7.org/v2
    l: v2
  name:
    v: HL7 v2 Mapping
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
mapping:
  identity:
    v: w5
  uri:
    v: http://hl7.org/fhir/w5
    l: w5
  name:
    v: W5 Mapping
kind:
  v: resource
abstract:
  v: false
type:
  v: Goal
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Goal
  l: Goal
derivation:
  v: constraint
snapshot:
  element:
    id:
      v: Goal
    path:
      v: Goal
    short:
      v: Describes the intended objective(s) for a patient, group or organization
    definition:
      v: Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.
    comment:
      v: Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Goal
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: dom-2
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain nested Resources
      expression:
        v: contained.contained.empty()
      xpath:
        v: not(parent::f:contained and f:contained)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-1
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain any narrative
      expression:
        v: contained.text.empty()
      xpath:
        v: not(parent::f:contained and f:text)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-4
      severity:
        v: error
      human:
        v: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
      expression:
        v: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
      xpath:
        v: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-3
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
      expression:
        v: contained.where(('#'+id in %resource.descendants().reference).not()).empty()

v: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))

identity:
  v: rim
map:
  v: Entity. Role, or Act

identity:
  v: v2
map:
  v: GOL.1

identity:
  v: rim
map:
  v: .outboundRelationship[typeCode<=OBJ].

identity:
  v: w5
map:
  v: clinical.careprovision

id:
  v: Goal.id
path:
  v: Goal.id
short:
  v: Logical id of this artifact
definition:
  v: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
comment:
  v: The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: id
    l: id
is summary:
  v: true

id:
  v: Goal.meta
path:
  v: Goal.meta
short:
  v: Metadata about the resource
definition:
  v: The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.meta
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Meta
    l: Meta
is summary:
  v: true

id:
  v: Goal.implicitRules
path:
  v: Goal.implicitRules
short:
  v: A set of rules under which this content was created
definition:
  v: A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
comment:
  v: Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.implicitRules
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is modifier:
  v: true
is summary:
  v: true

id:
  v: Goal.language
path:
  v: Goal.language
short:
  v: Language of the resource content
definition:
  v: The base language in which the resource is written.
comment:
  v: Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.language
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
      l: elementdefinition-maxValueSet
    value: Reference
      l: 3.0
      l: .2
      reference:
        v: http://hl7.org/fhir/ValueSet/all-languages|3.0.2
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Language
  strength:
    v: extensible
  description:
    v: A human language.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/languages|3.0.2

id:
  v: Goal.text
path:
  v: Goal.text
short:
  v: Text summary of the resource, for human interpretation
definition:
  v: A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
comment:
  v: Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.
alias:
  v: narrative
alias:
  v: html
alias:
  v: xhtml
alias:
  v: display
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Narrative
    l: Narrative
condition:
  v: dom-1
mapping:
  identity:
    v: rim
  map:
    v: Act.text?

id:
  v: Goal.contained
path:
  v: Goal.contained
short:
  v: Contained, inline Resources
definition:
  v: These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
comment:
  v: This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.
alias:
  v: inline resources
alias:
  v: anonymous resources
alias:
  v: contained resources
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.contained
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Resource
    l: Resource
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Goal.extension
path:
  v: Goal.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the resource. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Goal.modifierExtension
path:
  v: Goal.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the resource, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Goal.identifier
path:
  v: Goal.identifier
short:
  v: External Ids for this goal
definition:
  v: This records identifiers associated with this care plan that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).
requirements:
  v: Need to allow connection to a wider workflow.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Goal.identifier
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Identifier
    l: Identifier
mapping:
  identity:
    v: rim
  map:
    v: .id
mapping:
  identity:
    v: w5
  map:
    v: id

id:
  v: Goal.status
path:
  v: Goal.status
short:
  v: proposed | accepted | planned | in-progress | on-target | ahead-of-target | behind-target | sustaining | achieved | on-hold | cancelled | entered-in-error | rejected
definition:
  v: Indicates whether the goal has been reached and is still considered relevant.
comment:
  v: This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.
requirements:
  v: Allows measuring outcome and whether goal needs to be further tracked.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Goal.status
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is modifier:
  v: true
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GoalStatus
  strength:
    v: required
  description:
    v: Indicates whether the goal has been met and is still being targeted
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/goal-status|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: GOL-18-goal life cycle status
mapping:
  identity:
    v: rim
  map:
    v: .statusCode in-progress = active (classCode = OBJ) achieved = complete sustaining = active (classCode=OBJC) cancelled = aborted
mapping:
  identity:
    v: w5
  map:
    v: status

id:
  v: Goal.status.id
path:
  v: Goal.status.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: Goal.status.extension
path:
  v: Goal.status.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Goal.status.extension:lifecycleStatus
path:
  v: Goal.status.extension
slice name:
  v: lifecycleStatus
short:
  v: R4: proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected additional codes
definition:
  v: R4: `Goal.lifecycleStatus` additional codes
comment:
  v: Element `Goal.lifecycleStatus` is mapped to FHIR STU3 element `Goal.status` as `RelatedTo`. The mappings for `Goal.lifecycleStatus` do not allow expression of the necessary codes, per the bindings on the source and target. The target context `Goal.status` is a modifier element, so this extension does not need to be defined as a modifier. This element is labeled as a modifier because the lifecycleStatus contains codes that mark the resource as not currently valid.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.lifecycleStatus|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.lifecycleStatus
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: Goal.status.extension:achievementStatus
path:
  v: Goal.status.extension
slice name:
  v: achievementStatus
short:
  v: R4: in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable additional types
definition:
  v: R4: `Goal.achievementStatus` additional types (CodeableConcept) additional types from child elements (coding)
comment:
  v: Element `Goal.achievementStatus` is mapped to FHIR STU3 element `Goal.status` as `SourceIsBroaderThanTarget`. The mappings for `Goal.achievementStatus` do not cover the following types: CodeableConcept. The mappings for `Goal.achievementStatus` do not cover the following types based on type expansion: coding.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.achievementStatus|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.achievementStatus
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: Goal.status.value
path:
  v: Goal.status.value
representation:
  v: xmlAttr
short:
  v: Primitive value for code
definition:
  v: Primitive value for code
min:
  v: 0
max:
  v: 1
base:
  path:
    v: string.value
  min:
    v: 0
  max:
    v: 1
type:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-regex
      l: structuredefinition-regex
    value: String
      v: [^\s]+([\s]?[^\s]+)*
  code:
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type
        l: structuredefinition-json-type
      value: String
        v: string
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type
        l: structuredefinition-xml-type
      value: String
        v: xsd:token
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-rdf-type
        l: structuredefinition-rdf-type
      value: String
        v: xsd:token

id:
  v: Goal.category
path:
  v: Goal.category
short:
  v: E.g. Treatment, dietary, behavioral, etc.
definition:
  v: Indicates a category the goal falls within.
requirements:
  v: Allows goals to be filtered and sorted.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Goal.category
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GoalCategory
  strength:
    v: example
  description:
    v: Codes for grouping and sorting goals
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/goal-category|3.0.2
mapping:
  identity:
    v: w5
  map:
    v: class

id:
  v: Goal.priority
path:
  v: Goal.priority
short:
  v: high-priority | medium-priority | low-priority
definition:
  v: Identifies the mutually agreed level of importance associated with reaching/sustaining the goal.
comment:
  v: Extensions are available to track priorities as established by each participant (i.e. Priority from the patient's perspective, different practitioners' perspectives, family member's perspectives) The ordinal extension on Coding can be used to convey a numerically comparable ranking to priority. (Keep in mind that different coding systems may use a "low value=important".
requirements:
  v: Used for sorting and presenting goals.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.priority
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GoalPriority
  strength:
    v: preferred
  description:
    v: The level of importance associated with a goal
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/goal-priority|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: .priorityCode
mapping:
  identity:
    v: w5
  map:
    v: grade

id:
  v: Goal.description
path:
  v: Goal.description
short:
  v: Code or text describing goal
definition:
  v: Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding".
comment:
  v: If no code is available, use CodeableConcept.text.
requirements:
  v: Without a description of what's trying to be achieved, element has no purpose.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Goal.description
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GoalDescription
  strength:
    v: example
  description:
    v: 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.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/clinical-findings|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: GOL-3.2-goal ID.text
mapping:
  identity:
    v: rim
  map:
    v: .text
mapping:
  identity:
    v: w5
  map:
    v: what

id:
  v: Goal.subject
path:
  v: Goal.subject
short:
  v: Who this goal is intended for
definition:
  v: Identifies the patient, group or organization for whom the goal is being established.
requirements:
  v: Subject is optional to support annonymized reporting.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.subject
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Patient
    l: Patient
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Group
    l: Group
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Organization
    l: Organization
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: PID-3-patient ID list
mapping:
  identity:
    v: rim
  map:
    v: .participation[typeCode=PAT].role[classCode=PAT]
mapping:
  identity:
    v: w5
  map:
    v: who.focus

id:
  v: Goal.start[x]
path:
  v: Goal.start[x]
short:
  v: When goal pursuit begins
definition:
  v: The date or event after which the goal should begin being pursued.
requirements:
  v: Goals can be established prior to there being an intention to start pursuing them; e.g. Goals for post-surgical recovery established prior to surgery.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.start[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date
    l: date
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GoalStartEvent
  strength:
    v: example
  description:
    v: Codes describing events that can trigger the initiation of a goal
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/goal-start-event|3.0.2
mapping:
  identity:
    v: w5
  map:
    v: when.planned

id:
  v: Goal.target
path:
  v: Goal.target
short:
  v: Target outcome for the goal
definition:
  v: Indicates what should be done by when.
requirements:
  v: Allows the progress of the goal to be monitored against an observation or due date.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.target
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
condition:
  v: gol-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: gol-1
  severity:
    v: error
  human:
    v: Goal.target.measure is required if Goal.target.detail is populated
  expression:
    v: (detail.exists() and measure.exists()) or detail.exists().not()
  xpath:
    v: (exists(f:*[starts-with(local-name(.), 'detail')]) and exists(f:measure)) or not(exists(f:*[starts-with(local-name(.), 'detail')]))
  source:
    v: http://hl7.org/fhir/StructureDefinition/Goal
    l: Goal

id:
  v: Goal.target.id
path:
  v: Goal.target.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Goal.target.extension
path:
  v: Goal.target.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Goal.target.extension:detail
path:
  v: Goal.target.extension
slice name:
  v: detail
short:
  v: R4: detail additional types
definition:
  v: R4: `Goal.target.detail[x]` additional types (string, boolean, integer, Ratio)
comment:
  v: Element `Goal.target.detail[x]` is mapped to FHIR STU3 element `Goal.target.detail[x]` as `SourceIsBroaderThanTarget`. The mappings for `Goal.target.detail[x]` do not cover the following types: boolean, integer, Ratio, string. The target context `Goal.target.detail[x]` is a choice-type element and cannot directly hold extensions. The context is moved up to parent element `Goal.target`. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.target.detail|0.1.0
    l: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.target.detail
condition:
  v: ele-1
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    l: Extension
is modifier:
  v: false

id:
  v: Goal.target.modifierExtension
path:
  v: Goal.target.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Goal.target.measure
path:
  v: Goal.target.measure
short:
  v: The parameter whose value is being tracked
definition:
  v: The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.target.measure
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
condition:
  v: gol-1
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GoalTargetMeasure
  strength:
    v: example
  description:
    v: Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/observation-codes|3.0.2

id:
  v: Goal.target.detail[x]
path:
  v: Goal.target.detail[x]
short:
  v: The target value to be achieved
definition:
  v: The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.target.detail[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity
    l: Quantity
type:
  code:
    v: Range
    l: Range
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
condition:
  v: gol-1
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GoalTargetDetail
  strength:
    v: example
  description:
    v: Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal.

id:
  v: Goal.target.due[x]
path:
  v: Goal.target.due[x]
short:
  v: Reach goal on or before
definition:
  v: Indicates either the date or the duration after start by which the goal should be met.
requirements:
  v: Identifies when the goal should be evaluated.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.target.due[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date
    l: date
type:
  code:
    v: Duration
    l: Duration
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: when.done

id:
  v: Goal.statusDate
path:
  v: Goal.statusDate
short:
  v: When goal status took effect
definition:
  v: Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc.
comment:
  v: To see the date for past statuses, query history.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.statusDate
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date
    l: date
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: when.recorded

id:
  v: Goal.statusReason
path:
  v: Goal.statusReason
short:
  v: Reason for current status
definition:
  v: Captures the reason for the current status.
comment:
  v: This will typically be captured for statuses such as rejected, on-hold or cancelled, but could be present for others.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.statusReason
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: Goal.expressedBy
path:
  v: Goal.expressedBy
short:
  v: Who's responsible for creating Goal?
definition:
  v: Indicates whose goal this is - patient goal, practitioner goal, etc.
comment:
  v: This is the individual reponsible for establishing the goal, not necessarily who recorded it. (For that, use the Provenance resource.).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Goal.expressedBy
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Patient
    l: Patient
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Practitioner
    l: Practitioner
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/RelatedPerson
    l: RelatedPerson
is summary:
  v: true
mapping:
  identity:
    v: w5
  map:
    v: who.source

id:
  v: Goal.expressedBy.id
path:
  v: Goal.expressedBy.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Goal.expressedBy.extension
path:
  v: Goal.expressedBy.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Goal.expressedBy.extension:expressedBy
path:
  v: Goal.expressedBy.extension
slice name:
  v: expressedBy
short:
  v: R4: expressedBy
definition:
  v: R4: `Goal.expressedBy`
comment:
  v: Element `Goal.expressedBy` is mapped to FHIR STU3 element `Goal.expressedBy` as `SourceIsBroaderThanTarget`. The standard extension `alternate-reference` has been mapped as the representation of FHIR R4 element `Goal.expressedBy` with unmapped reference targets: PractitionerRole. This is the individual responsible for establishing the goal, not necessarily who recorded it. (For that, use the Provenance resource.).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Goal.expressedBy.reference
path:
  v: Goal.expressedBy.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
comment:
  v: Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Goal.expressedBy.identifier
path:
  v: Goal.expressedBy.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: Goal.expressedBy.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Goal.expressedBy.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Goal.addresses
path:
  v: Goal.addresses
short:
  v: Issues addressed by this goal
definition:
  v: The identified conditions and other health record elements that are intended to be addressed by the goal.
requirements:
  v: Allows specific goals to explicitly linked to the concerns they're dealing with - makes the goal more understandable.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Goal.addresses
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Condition
    l: Condition
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Observation
    l: Observation
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/MedicationStatement
    l: MedicationStatement
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/NutritionOrder
    l: NutritionOrder
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/ProcedureRequest
    l: ProcedureRequest
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/RiskAssessment
    l: RiskAssessment
mapping:
  identity:
    v: rim
  map:
    v: .outboundRelationship[typeCode=SUBJ].target[classCode=CONC]
mapping:
  identity:
    v: w5
  map:
    v: why

id:
  v: Goal.addresses.id
path:
  v: Goal.addresses.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Goal.addresses.extension
path:
  v: Goal.addresses.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Goal.addresses.extension:addresses
path:
  v: Goal.addresses.extension
slice name:
  v: addresses
short:
  v: R4: addresses
definition:
  v: R4: `Goal.addresses`
comment:
  v: Element `Goal.addresses` is mapped to FHIR STU3 element `Goal.addresses` as `SourceIsBroaderThanTarget`. The standard extension `alternate-reference` has been mapped as the representation of FHIR R4 element `Goal.addresses` with unmapped reference targets: ServiceRequest.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Goal.addresses.reference
path:
  v: Goal.addresses.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.
comment:
  v: Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries. Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure "/[type]/[id]" then it should be assumed that the reference is to a FHIR RESTful server.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Goal.addresses.identifier
path:
  v: Goal.addresses.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: Goal.addresses.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Goal.addresses.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: This is generally not the same as the Resource.text of the referenced resource. The purpose is to identify what's being referenced, not to fully describe it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Goal.note
path:
  v: Goal.note
short:
  v: Comments about the goal
definition:
  v: Any comments related to the goal.
comment:
  v: May be used for progress notes, concerns or other related information that doesn't actually describe the goal itself.
requirements:
  v: There's a need to capture information about the goal that doesn't actually describe the goal.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Goal.note
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Annotation
    l: Annotation
mapping:
  identity:
    v: v2
  map:
    v: GOL-16-goal evaluation + NTE?
mapping:
  identity:
    v: rim
  map:
    v: .inboundRelationship[typeCode=SUBJ].source[classCode=OBS, moodCode=EVN, code="annotation"].value

id:
  v: Goal.outcomeCode
path:
  v: Goal.outcomeCode
short:
  v: What result was achieved regarding the goal?
definition:
  v: Identifies the change (or lack of change) at the point when the status of the goal is assessed.
comment:
  v: Note that this should not duplicate the goal status.
requirements:
  v: Outcome tracking is a key aspect of care planning.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Goal.outcomeCode
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: GoalOutcome
  strength:
    v: example
  description:
    v: 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"
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/clinical-findings|3.0.2

id:
  v: Goal.outcomeReference
path:
  v: Goal.outcomeReference
short:
  v: Observation that resulted from goal
definition:
  v: Details of what's changed (or not changed).
comment:
  v: The goal outcome is independent of the outcome of the related activities. For example, if the Goal is to achieve a target body weight of 150 lb and a care plan activity is defined to diet, then the care plan’s activity outcome could be calories consumed whereas goal outcome is an observation for the actual body weight measured.
requirements:
  v: Outcome tracking is a key aspect of care planning.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Goal.outcomeReference
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Observation
    l: Observation

element:
  id:
    v: Goal
  path:
    v: Goal
element:
  id:
    v: Goal.status.extension
  path:
    v: Goal.status.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Goal.status.extension:lifecycleStatus
  path:
    v: Goal.status.extension
  slice name:
    v: lifecycleStatus
  short:
    v: R4: proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected additional codes
  definition:
    v: R4: `Goal.lifecycleStatus` additional codes
  comment:
    v: Element `Goal.lifecycleStatus` is mapped to FHIR STU3 element `Goal.status` as `RelatedTo`. The mappings for `Goal.lifecycleStatus` do not allow expression of the necessary codes, per the bindings on the source and target. The target context `Goal.status` is a modifier element, so this extension does not need to be defined as a modifier. This element is labeled as a modifier because the lifecycleStatus contains codes that mark the resource as not currently valid.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.lifecycleStatus|0.1.0
      l: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.lifecycleStatus
element:
  id:
    v: Goal.status.extension:achievementStatus
  path:
    v: Goal.status.extension
  slice name:
    v: achievementStatus
  short:
    v: R4: in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable additional types
  definition:
    v: R4: `Goal.achievementStatus` additional types (CodeableConcept) additional types from child elements (coding)
  comment:
    v: Element `Goal.achievementStatus` is mapped to FHIR STU3 element `Goal.status` as `SourceIsBroaderThanTarget`. The mappings for `Goal.achievementStatus` do not cover the following types: CodeableConcept. The mappings for `Goal.achievementStatus` do not cover the following types based on type expansion: coding.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.achievementStatus|0.1.0
      l: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.achievementStatus
element:
  id:
    v: Goal.target.extension
  path:
    v: Goal.target.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Goal.target.extension:detail
  path:
    v: Goal.target.extension
  slice name:
    v: detail
  short:
    v: R4: detail additional types
  definition:
    v: R4: `Goal.target.detail[x]` additional types (string, boolean, integer, Ratio)
  comment:
    v: Element `Goal.target.detail[x]` is mapped to FHIR STU3 element `Goal.target.detail[x]` as `SourceIsBroaderThanTarget`. The mappings for `Goal.target.detail[x]` do not cover the following types: boolean, integer, Ratio, string. The target context `Goal.target.detail[x]` is a choice-type element and cannot directly hold extensions. The context is moved up to parent element `Goal.target`. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.target.detail|0.1.0
      l: http://hl7.org/fhir/4.0/StructureDefinition/extension-Goal.target.detail
element:
  id:
    v: Goal.expressedBy.extension
  path:
    v: Goal.expressedBy.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Goal.expressedBy.extension:expressedBy
  path:
    v: Goal.expressedBy.extension
  slice name:
    v: expressedBy
  short:
    v: R4: expressedBy
  definition:
    v: R4: `Goal.expressedBy`
  comment:
    v: Element `Goal.expressedBy` is mapped to FHIR STU3 element `Goal.expressedBy` as `SourceIsBroaderThanTarget`. The standard extension `alternate-reference` has been mapped as the representation of FHIR R4 element `Goal.expressedBy` with unmapped reference targets: PractitionerRole. This is the individual responsible for establishing the goal, not necessarily who recorded it. (For that, use the Provenance resource.).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/alternate-reference
      l: alternate-reference
element:
  id:
    v: Goal.addresses.extension
  path:
    v: Goal.addresses.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open

v: 0

v: *

id:
  v: Goal.addresses.extension:addresses
path:
  v: Goal.addresses.extension
slice name:
  v: addresses
short:
  v: R4: addresses
definition:
  v: R4: `Goal.addresses`
comment:
  v: Element `Goal.addresses` is mapped to FHIR STU3 element `Goal.addresses` as `SourceIsBroaderThanTarget`. The standard extension `alternate-reference` has been mapped as the representation of FHIR R4 element `Goal.addresses` with unmapped reference targets: ServiceRequest.
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference