Kenya National Cancer Control Programme (NCCP) FHIR Implementation Guide
0.1.0 - ci-build Kenya flag

Kenya National Cancer Control Programme (NCCP) FHIR Implementation Guide, published by Digital Health Agency (DHA), Kenya. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IntelliSOFT-Consulting/nccpFHIRIG/ and changes regularly. See the Directory of published versions

Resource Profile: NCCP Oncology Plan Definition - Detailed Descriptions

Draft as of 2026-06-04

Definitions for the nccp-oncology-plan-definition resource profile

Guidance on how to interpret the contents of this table can be foundhere

0. PlanDefinition
Definition

This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.

ShortThe definition of a plan for a series of actions, independent of any specific patient or context
Control0..*
Is Modifierfalse
Summaryfalse
Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
dom-6: A resource should have narrative for robust management (text.`div`.exists())
pdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation (name.matches('[A-Z]([A-Za-z0-9_]){0,254}'))
pdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation (name.matches('[A-Z]([A-Za-z0-9_]){0,254}'))
2. PlanDefinition.meta
Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

ShortMetadata about the resource
Control0..1
TypeMeta
Is Modifierfalse
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. PlanDefinition.meta.profile
Definition

A list of profiles (references to StructureDefinition resources) that this resource claims to conform to. The URL is a reference to StructureDefinition.url.


A list of profiles (references to StructureDefinition resources) that this resource claims to conform to. The URL is a reference to StructureDefinition.url.

ShortProfiles this resource claims to conform to
Comments

It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.

Control10..*
Typecanonical(StructureDefinition)
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
6. PlanDefinition.implicitRules
Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

ShortA set of rules under which this content was created
Comments

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. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Control0..1
Typeuri
Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
8. PlanDefinition.extension
Definition

An Extension


May be used to represent additional information that is not part of the basic definition of the resource. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortExtensionAdditional content defined by implementations
Comments

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.

Control20..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on PlanDefinition.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 10. PlanDefinition.extension:treatmentIntent
    Slice NametreatmentIntent
    Definition

    The intended treatment goal (curative, palliative, etc.)

    ShortTreatment Intent Extension
    Control0..1
    This element is affected by the following invariants: ele-1
    TypeExtension(Treatment Intent Extension) (Extension Type: code)
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    12. PlanDefinition.extension:plannedCycles
    Slice NameplannedCycles
    Definition

    Number of planned treatment cycles

    ShortPlanned Cycles Extension
    Control1..1
    This element is affected by the following invariants: ele-1
    TypeExtension(Planned Cycles Extension) (Extension Type: integer)
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    14. PlanDefinition.extension:cycleLengthDays
    Slice NamecycleLengthDays
    Definition

    Length of each treatment cycle in days

    ShortCycle Length Days Extension
    Control1..1
    This element is affected by the following invariants: ele-1
    TypeExtension(Cycle Length Days Extension) (Extension Type: integer)
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    16. PlanDefinition.modifierExtension
    Definition

    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 and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
    Summaryfalse
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    18. PlanDefinition.url
    Definition

    An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.

    ShortCanonical identifier for this plan definition, represented as a URI (globally unique)
    Comments

    Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version.

    The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in Technical and Business Versions.

    In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the meta.source element to indicate where the current master source of the resource can be found.

    Control10..1
    Typeuri
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Requirements

    Allows the plan definition to be referenced by a single globally unique identifier.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    20. PlanDefinition.identifier
    Definition

    A formal identifier that is used to identify this plan definition when it is represented in other formats, or referenced in a specification, model, design or an instance.

    ShortAdditional identifier for the plan definition
    Comments

    Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this plan definition outside of FHIR, where it is not possible to use the logical URI.

    NoteThis is a business identifier, not a resource identifier (see discussion)
    Control10..*
    TypeIdentifier
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Requirements

    Allows externally provided and/or usable business identifiers to be easily associated with the module.

    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    22. PlanDefinition.version
    Definition

    The identifier that is used to identify this version of the plan definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the plan definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.

    ShortBusiness version of the plan definition
    Comments

    There may be different plan definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the plan definition with the format [url]|[version].

    NoteThis is a business version Id, not a resource version Id (see discussion)
    Control0..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    24. PlanDefinition.title
    Definition

    A short, descriptive, user-friendly title for the plan definition.

    ShortName for this plan definition (human friendly)
    Comments

    This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

    Control10..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    26. PlanDefinition.type
    Definition

    A high-level category for the plan definition that distinguishes the kinds of systems that would be interested in the plan definition.

    Shortorder-set | clinical-protocol | eca-rule | workflow-definition
    Control10..1
    BindingThe codes SHALL be taken from Unless not suitable, these codes SHALL be taken from Kenya Plan Definition Type Value Sethttp://hl7.org/fhir/ValueSet/plan-definition-type|4.0.1
    (required to https://nshr-uat.sha.go.ke/fhir/ValueSet/nccp-plan-definition-type-vs)
    TypeCodeableConcept
    Is Modifierfalse
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    28. PlanDefinition.status
    Definition

    The status of this plan definition. Enables tracking the life-cycle of the content.

    Shortdraft | active | retired | unknown
    Comments

    Allows filtering of plan definitions that are appropriate for use versus not.

    Control1..1
    BindingThe codes SHALL be taken from PublicationStatushttp://hl7.org/fhir/ValueSet/publication-status|4.0.1
    (required to http://hl7.org/fhir/ValueSet/publication-status)
    Typecode
    Is Modifiertrue because This is labeled as "Is Modifier" because applications should not use a retired {{title}} without due consideration
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summarytrue
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    30. PlanDefinition.action
    Definition

    An action or group of actions to be taken as part of the plan.

    ShortAction defined by the plan
    Comments

    Note that there is overlap between many of the elements defined here and the ActivityDefinition resource. When an ActivityDefinition is referenced (using the definition element), the overlapping elements in the plan override the content of the referenced ActivityDefinition unless otherwise documented in the specific elements. See the PlanDefinition resource for more detailed information.

    Control10..*
    TypeBackboneElement
    Is Modifierfalse
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    32. PlanDefinition.action.modifierExtension
    Definition

    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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    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.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    34. PlanDefinition.action.title
    Definition

    The title of the action displayed to a user.

    ShortUser-visible title
    Control0..1
    Typestring
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Must Supporttrue
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    36. PlanDefinition.action.timing[x]
    Definition

    An optional value describing when the action should be performed.

    ShortWhen the action should take place
    Control0..1
    TypeChoice of: dateTime, Age, Period, Duration, Range, Timing
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    Is Modifierfalse
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    Summaryfalse
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    SlicingThis element introduces a set of slices on PlanDefinition.action.timing[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • type @ $this
    • 38. PlanDefinition.action.timing[x]:timingTiming
      Slice NametimingTiming
      Definition

      An optional value describing when the action should be performed.

      ShortWhen the action should take place
      Control0..1
      TypeTiming, dateTime, Period, Duration, Range, Age
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Is Modifierfalse
      Must Supporttrue
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      40. PlanDefinition.action.action
      Definition

      Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition.

      ShortA sub-action
      Control0..*
      TypeBackboneElement
      Is Modifierfalse
      Must Supporttrue
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      42. PlanDefinition.action.action.modifierExtension
      Definition

      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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored even if unrecognized
      Comments

      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.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content, modifiers
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      44. PlanDefinition.action.action.definition[x]
      Definition

      A reference to an ActivityDefinition that describes the action to be taken in detail, or a PlanDefinition that describes a series of actions to be taken.

      ShortDescription of the activity to be performed
      Comments

      Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically.

      Control0..1
      TypeChoice of: canonical(ActivityDefinition, PlanDefinition, Questionnaire), uri
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summaryfalse
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      SlicingThis element introduces a set of slices on PlanDefinition.action.action.definition[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • type @ $this
      • 46. PlanDefinition.action.action.definition[x]:definitionCanonical
        Slice NamedefinitionCanonical
        Definition

        A reference to an ActivityDefinition that describes the action to be taken in detail, or a PlanDefinition that describes a series of actions to be taken.

        ShortDescription of the activity to be performed
        Comments

        Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically.

        Control0..1
        Typecanonical(ActivityDefinition, PlanDefinition, Questionnaire, ActivityDefinition, PlanDefinition, Questionnaire), uri
        [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Must Supporttrue
        Must Support TypesNo must-support rules about the choice of types/profiles
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

        Guidance on how to interpret the contents of this table can be foundhere

        0. PlanDefinition
        2. PlanDefinition.meta
        4. PlanDefinition.meta.profile
        Control1..?
        Must Supporttrue
        6. PlanDefinition.extension
        Control2..?
        SlicingThis element introduces a set of slices on PlanDefinition.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 8. PlanDefinition.extension:treatmentIntent
          Slice NametreatmentIntent
          Control0..1
          TypeExtension(Treatment Intent Extension) (Extension Type: code)
          Must Supporttrue
          10. PlanDefinition.extension:plannedCycles
          Slice NameplannedCycles
          Control1..1
          TypeExtension(Planned Cycles Extension) (Extension Type: integer)
          Must Supporttrue
          12. PlanDefinition.extension:cycleLengthDays
          Slice NamecycleLengthDays
          Control1..1
          TypeExtension(Cycle Length Days Extension) (Extension Type: integer)
          Must Supporttrue
          14. PlanDefinition.url
          Control1..?
          Must Supporttrue
          16. PlanDefinition.identifier
          NoteThis is a business identifier, not a resource identifier (see discussion)
          Control1..?
          Must Supporttrue
          18. PlanDefinition.version
          NoteThis is a business version Id, not a resource version Id (see discussion)
          Must Supporttrue
          20. PlanDefinition.title
          Control1..?
          Must Supporttrue
          22. PlanDefinition.type
          Control1..?
          BindingThe codes SHALL be taken from Kenya Plan Definition Type Value Set
          (required to https://nshr-uat.sha.go.ke/fhir/ValueSet/nccp-plan-definition-type-vs)
          Must Supporttrue
          24. PlanDefinition.status
          BindingThe codes SHALL be taken from PublicationStatus
          (required to http://hl7.org/fhir/ValueSet/publication-status)
          Must Supporttrue
          26. PlanDefinition.action
          Control1..?
          Must Supporttrue
          28. PlanDefinition.action.title
          Must Supporttrue
          30. PlanDefinition.action.timing[x]
          [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
          SlicingThis element introduces a set of slices on PlanDefinition.action.timing[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • type @ $this
          • 32. PlanDefinition.action.timing[x]:timingTiming
            Slice NametimingTiming
            Control0..1
            TypeTiming
            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
            Must Supporttrue
            34. PlanDefinition.action.action
            TypeBackboneElement
            Must Supporttrue
            36. PlanDefinition.action.action.definition[x]
            [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
            SlicingThis element introduces a set of slices on PlanDefinition.action.action.definition[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • type @ $this
            • 38. PlanDefinition.action.action.definition[x]:definitionCanonical
              Slice NamedefinitionCanonical
              Control0..1
              Typecanonical(ActivityDefinition, PlanDefinition, Questionnaire)
              [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
              Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
              Must Supporttrue
              Must Support TypesNo must-support rules about the choice of types/profiles

              Guidance on how to interpret the contents of this table can be foundhere

              0. PlanDefinition
              Definition

              This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.

              ShortThe definition of a plan for a series of actions, independent of any specific patient or context
              Control0..*
              Is Modifierfalse
              Summaryfalse
              Invariantsdom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty())
              dom-3: 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: 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: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty())
              dom-6: A resource should have narrative for robust management (text.`div`.exists())
              pdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation (name.matches('[A-Z]([A-Za-z0-9_]){0,254}'))
              2. PlanDefinition.id
              Definition

              The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

              ShortLogical id of this artifact
              Comments

              The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

              Control0..1
              Typeid
              Is Modifierfalse
              Summarytrue
              4. PlanDefinition.meta
              Definition

              The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

              ShortMetadata about the resource
              Control0..1
              TypeMeta
              Is Modifierfalse
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              6. PlanDefinition.meta.id
              Definition

              Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

              ShortUnique id for inter-element referencing
              Control0..1
              Typestring
              Is Modifierfalse
              XML FormatIn the XML format, this property is represented as an attribute.
              Summaryfalse
              8. PlanDefinition.meta.extension
              Definition

              May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

              ShortAdditional content defined by implementations
              Comments

              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.

              Control0..*
              TypeExtension
              Is Modifierfalse
              Summaryfalse
              Alternate Namesextensions, user content
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
              SlicingThis element introduces a set of slices on PlanDefinition.meta.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 10. PlanDefinition.meta.versionId
                Definition

                The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.

                ShortVersion specific identifier
                Comments

                The server assigns this value, and ignores what the client specifies, except in the case that the server is imposing version integrity on updates/deletes.

                Control0..1
                Typeid
                Is Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                12. PlanDefinition.meta.lastUpdated
                Definition

                When the resource last changed - e.g. when the version changed.

                ShortWhen the resource version last changed
                Comments

                This value is always populated except when the resource is first being created. The server / resource manager sets this value; what a client provides is irrelevant. This is equivalent to the HTTP Last-Modified and SHOULD have the same value on a read interaction.

                Control0..1
                Typeinstant
                Is Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                14. PlanDefinition.meta.source
                Definition

                A uri that identifies the source system of the resource. This provides a minimal amount of Provenance information that can be used to track or differentiate the source of information in the resource. The source may identify another FHIR server, document, message, database, etc.

                ShortIdentifies where the resource comes from
                Comments

                In the provenance resource, this corresponds to Provenance.entity.what[x]. The exact use of the source (and the implied Provenance.entity.role) is left to implementer discretion. Only one nominated source is allowed; for additional provenance details, a full Provenance resource should be used.

                This element can be used to indicate where the current master source of a resource that has a canonical URL if the resource is no longer hosted at the canonical URL.

                Control0..1
                Typeuri
                Is Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                16. PlanDefinition.meta.profile
                Definition

                A list of profiles (references to StructureDefinition resources) that this resource claims to conform to. The URL is a reference to StructureDefinition.url.

                ShortProfiles this resource claims to conform to
                Comments

                It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.

                Control1..*
                Typecanonical(StructureDefinition)
                Is Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Must Supporttrue
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                18. PlanDefinition.meta.security
                Definition

                Security labels applied to this resource. These tags connect specific resources to the overall security policy and infrastructure.

                ShortSecurity Labels applied to this resource
                Comments

                The security labels can be updated without changing the stated version of the resource. The list of security labels is a set. Uniqueness is based the system/code, and version and display are ignored.

                Control0..*
                BindingUnless not suitable, these codes SHALL be taken from All Security Labels
                (extensible to http://hl7.org/fhir/ValueSet/security-labels|4.0.1)

                Security Labels from the Healthcare Privacy and Security Classification System.

                TypeCoding
                Is Modifierfalse
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                20. PlanDefinition.meta.tag
                Definition

                Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.

                ShortTags applied to this resource
                Comments

                The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.

                Control0..*
                BindingFor example codes, see CommonTags
                (example to http://hl7.org/fhir/ValueSet/common-tags|4.0.1)

                Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".

                TypeCoding
                Is Modifierfalse
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                22. PlanDefinition.implicitRules
                Definition

                A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

                ShortA set of rules under which this content was created
                Comments

                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. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

                Control0..1
                Typeuri
                Is Modifiertrue because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                24. PlanDefinition.language
                Definition

                The base language in which the resource is written.

                ShortLanguage of the resource content
                Comments

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

                Control0..1
                BindingThe codes SHOULD be taken from CommonLanguages
                (preferred to http://hl7.org/fhir/ValueSet/languages|4.0.1)

                A human language.

                Additional BindingsPurpose
                AllLanguagesMax Binding
                Typecode
                Is Modifierfalse
                Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                Summaryfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                26. PlanDefinition.text
                Definition

                A human-readable narrative that contains a summary of the resource and can 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.

                ShortText summary of the resource, for human interpretation
                Comments

                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 information is added later.

                Control0..1
                TypeNarrative
                Is Modifierfalse
                Summaryfalse
                Alternate Namesnarrative, html, xhtml, display
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                28. PlanDefinition.contained
                Definition

                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.

                ShortContained, inline Resources
                Comments

                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. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

                Control0..*
                TypeResource
                Is Modifierfalse
                Summaryfalse
                Alternate Namesinline resources, anonymous resources, contained resources
                30. PlanDefinition.extension
                Definition

                An Extension

                ShortExtension
                Control2..*
                TypeExtension
                Is Modifierfalse
                Summaryfalse
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                SlicingThis element introduces a set of slices on PlanDefinition.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 32. PlanDefinition.extension:treatmentIntent
                  Slice NametreatmentIntent
                  Definition

                  The intended treatment goal (curative, palliative, etc.)

                  ShortTreatment Intent Extension
                  Control0..1
                  This element is affected by the following invariants: ele-1
                  TypeExtension(Treatment Intent Extension) (Extension Type: code)
                  Is Modifierfalse
                  Must Supporttrue
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  34. PlanDefinition.extension:plannedCycles
                  Slice NameplannedCycles
                  Definition

                  Number of planned treatment cycles

                  ShortPlanned Cycles Extension
                  Control1..1
                  This element is affected by the following invariants: ele-1
                  TypeExtension(Planned Cycles Extension) (Extension Type: integer)
                  Is Modifierfalse
                  Must Supporttrue
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  36. PlanDefinition.extension:cycleLengthDays
                  Slice NamecycleLengthDays
                  Definition

                  Length of each treatment cycle in days

                  ShortCycle Length Days Extension
                  Control1..1
                  This element is affected by the following invariants: ele-1
                  TypeExtension(Cycle Length Days Extension) (Extension Type: integer)
                  Is Modifierfalse
                  Must Supporttrue
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  38. PlanDefinition.modifierExtension
                  Definition

                  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 and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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.

                  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                  ShortExtensions that cannot be ignored
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
                  Summaryfalse
                  Requirements

                  Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  40. PlanDefinition.url
                  Definition

                  An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.

                  ShortCanonical identifier for this plan definition, represented as a URI (globally unique)
                  Comments

                  Can be a urn:uuid: or a urn:oid: but real http: addresses are preferred. Multiple instances may share the same URL if they have a distinct version.

                  The determination of when to create a new version of a resource (same url, new version) vs. defining a new artifact is up to the author. Considerations for making this decision are found in Technical and Business Versions.

                  In some cases, the resource can no longer be found at the stated url, but the url itself cannot change. Implementations can use the meta.source element to indicate where the current master source of the resource can be found.

                  Control1..1
                  Typeuri
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Must Supporttrue
                  Summarytrue
                  Requirements

                  Allows the plan definition to be referenced by a single globally unique identifier.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  42. PlanDefinition.identifier
                  Definition

                  A formal identifier that is used to identify this plan definition when it is represented in other formats, or referenced in a specification, model, design or an instance.

                  ShortAdditional identifier for the plan definition
                  Comments

                  Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, and can then identify this plan definition outside of FHIR, where it is not possible to use the logical URI.

                  NoteThis is a business identifier, not a resource identifier (see discussion)
                  Control1..*
                  TypeIdentifier
                  Is Modifierfalse
                  Must Supporttrue
                  Summarytrue
                  Requirements

                  Allows externally provided and/or usable business identifiers to be easily associated with the module.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  44. PlanDefinition.version
                  Definition

                  The identifier that is used to identify this version of the plan definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the plan definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.

                  ShortBusiness version of the plan definition
                  Comments

                  There may be different plan definition instances that have the same identifier but different versions. The version can be appended to the url in a reference to allow a reference to a particular business version of the plan definition with the format [url]|[version].

                  NoteThis is a business version Id, not a resource version Id (see discussion)
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Must Supporttrue
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  46. PlanDefinition.name
                  Definition

                  A natural language name identifying the plan definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.

                  ShortName for this plan definition (computer friendly)
                  Comments

                  The name is not expected to be globally unique. The name should be a simple alphanumeric type name to ensure that it is machine-processing friendly.

                  Control0..1
                  This element is affected by the following invariants: inv-0
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Requirements

                  Support human navigation and code generation.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  48. PlanDefinition.title
                  Definition

                  A short, descriptive, user-friendly title for the plan definition.

                  ShortName for this plan definition (human friendly)
                  Comments

                  This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.

                  Control1..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Must Supporttrue
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  50. PlanDefinition.subtitle
                  Definition

                  An explanatory or alternate title for the plan definition giving additional information about its content.

                  ShortSubordinate title of the plan definition
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  52. PlanDefinition.type
                  Definition

                  A high-level category for the plan definition that distinguishes the kinds of systems that would be interested in the plan definition.

                  Shortorder-set | clinical-protocol | eca-rule | workflow-definition
                  Control1..1
                  BindingThe codes SHALL be taken from Kenya Plan Definition Type Value Set
                  (required to https://nshr-uat.sha.go.ke/fhir/ValueSet/nccp-plan-definition-type-vs)
                  TypeCodeableConcept
                  Is Modifierfalse
                  Must Supporttrue
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  54. PlanDefinition.status
                  Definition

                  The status of this plan definition. Enables tracking the life-cycle of the content.

                  Shortdraft | active | retired | unknown
                  Comments

                  Allows filtering of plan definitions that are appropriate for use versus not.

                  Control1..1
                  BindingThe codes SHALL be taken from PublicationStatus
                  (required to http://hl7.org/fhir/ValueSet/publication-status)
                  Typecode
                  Is Modifiertrue because This is labeled as "Is Modifier" because applications should not use a retired {{title}} without due consideration
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Must Supporttrue
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  56. PlanDefinition.experimental
                  Definition

                  A Boolean value to indicate that this plan definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.

                  ShortFor testing purposes, not real usage
                  Comments

                  Allows filtering of plan definitions that are appropriate for use versus not.

                  Control0..1
                  Typeboolean
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Requirements

                  Enables experimental content to be developed following the same lifecycle that would be used for a production-level plan definition.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  58. PlanDefinition.subject[x]
                  Definition

                  A code or group definition that describes the intended subject of the plan definition.

                  ShortType of individual the plan definition is focused on
                  Control0..1
                  BindingUnless not suitable, these codes SHALL be taken from SubjectType
                  (extensible to http://hl7.org/fhir/ValueSet/subject-type|4.0.1)

                  The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

                  TypeChoice of: CodeableConcept, Reference(Group)
                  [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                  Is Modifierfalse
                  Summaryfalse
                  Meaning if MissingPatient
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  60. PlanDefinition.date
                  Definition

                  The date (and optionally time) when the plan definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the plan definition changes.

                  ShortDate last changed
                  Comments

                  Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the plan definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.

                  Control0..1
                  TypedateTime
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Alternate NamesRevision Date
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  62. PlanDefinition.publisher
                  Definition

                  The name of the organization or individual that published the plan definition.

                  ShortName of the publisher (organization or individual)
                  Comments

                  Usually an organization but may be an individual. The publisher (or steward) of the plan definition is the organization or individual primarily responsible for the maintenance and upkeep of the plan definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the plan definition. This item SHOULD be populated unless the information is available from context.

                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Requirements

                  Helps establish the "authority/credibility" of the plan definition. May also allow for contact.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  64. PlanDefinition.contact
                  Definition

                  Contact details to assist a user in finding and communicating with the publisher.

                  ShortContact details for the publisher
                  Comments

                  May be a web site, an email address, a telephone number, etc.

                  Control0..*
                  TypeContactDetail
                  Is Modifierfalse
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  66. PlanDefinition.description
                  Definition

                  A free text natural language description of the plan definition from a consumer's perspective.

                  ShortNatural language description of the plan definition
                  Comments

                  This description can be used to capture details such as why the plan definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the plan definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the plan definition is presumed to be the predominant language in the place the plan definition was created).

                  Control0..1
                  Typemarkdown
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  68. PlanDefinition.useContext
                  Definition

                  The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate plan definition instances.

                  ShortThe context that the content is intended to support
                  Comments

                  When multiple useContexts are specified, there is no expectation that all or any of the contexts apply.

                  Control0..*
                  TypeUsageContext
                  Is Modifierfalse
                  Summarytrue
                  Requirements

                  Assist in searching for appropriate content.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  70. PlanDefinition.jurisdiction
                  Definition

                  A legal or geographic region in which the plan definition is intended to be used.

                  ShortIntended jurisdiction for plan definition (if applicable)
                  Comments

                  It may be possible for the plan definition to be used in jurisdictions other than those for which it was originally designed or intended.

                  Control0..*
                  BindingUnless not suitable, these codes SHALL be taken from Jurisdiction ValueSet
                  (extensible to http://hl7.org/fhir/ValueSet/jurisdiction|4.0.1)

                  Countries and regions within which this artifact is targeted for use.

                  TypeCodeableConcept
                  Is Modifierfalse
                  Summarytrue
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  72. PlanDefinition.purpose
                  Definition

                  Explanation of why this plan definition is needed and why it has been designed as it has.

                  ShortWhy this plan definition is defined
                  Comments

                  This element does not describe the usage of the plan definition. Instead, it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is. This may be used to point to source materials or specifications that drove the structure of this plan definition.

                  Control0..1
                  Typemarkdown
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  74. PlanDefinition.usage
                  Definition

                  A detailed description of how the plan definition is used from a clinical perspective.

                  ShortDescribes the clinical usage of the plan
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  76. PlanDefinition.copyright
                  Definition

                  A copyright statement relating to the plan definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the plan definition.

                  ShortUse and/or publishing restrictions
                  Control0..1
                  Typemarkdown
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Requirements

                  Consumers must be able to determine any legal restrictions on the use of the plan definition and/or its content.

                  Alternate NamesLicense, Restrictions
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  78. PlanDefinition.approvalDate
                  Definition

                  The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.

                  ShortWhen the plan definition was approved by publisher
                  Comments

                  The 'date' element may be more recent than the approval date because of minor changes or editorial corrections.

                  Control0..1
                  Typedate
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  80. PlanDefinition.lastReviewDate
                  Definition

                  The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.

                  ShortWhen the plan definition was last reviewed
                  Comments

                  If specified, this date follows the original approval date.

                  Control0..1
                  Typedate
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Requirements

                  Gives a sense of how "current" the content is. Resources that have not been reviewed in a long time may have a risk of being less appropriate/relevant.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  82. PlanDefinition.effectivePeriod
                  Definition

                  The period during which the plan definition content was or is planned to be in active use.

                  ShortWhen the plan definition is expected to be used
                  Comments

                  The effective period for a plan definition determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.

                  Control0..1
                  TypePeriod
                  Is Modifierfalse
                  Summarytrue
                  Requirements

                  Allows establishing a transition before a resource comes into effect and also allows for a sunsetting process when new versions of the plan definition are or are expected to be used instead.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  84. PlanDefinition.topic
                  Definition

                  Descriptive topics related to the content of the plan definition. Topics provide a high-level categorization of the definition that can be useful for filtering and searching.

                  ShortE.g. Education, Treatment, Assessment
                  Control0..*
                  BindingFor example codes, see DefinitionTopic
                  (example to http://hl7.org/fhir/ValueSet/definition-topic|4.0.1)

                  High-level categorization of the definition, used for searching, sorting, and filtering.

                  TypeCodeableConcept
                  Is Modifierfalse
                  Summaryfalse
                  Requirements

                  Repositories must be able to determine how to categorize the plan definition so that it can be found by topical searches.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  86. PlanDefinition.author
                  Definition

                  An individiual or organization primarily involved in the creation and maintenance of the content.

                  ShortWho authored the content
                  Control0..*
                  TypeContactDetail
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  88. PlanDefinition.editor
                  Definition

                  An individual or organization primarily responsible for internal coherence of the content.

                  ShortWho edited the content
                  Control0..*
                  TypeContactDetail
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  90. PlanDefinition.reviewer
                  Definition

                  An individual or organization primarily responsible for review of some aspect of the content.

                  ShortWho reviewed the content
                  Control0..*
                  TypeContactDetail
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  92. PlanDefinition.endorser
                  Definition

                  An individual or organization responsible for officially endorsing the content for use in some setting.

                  ShortWho endorsed the content
                  Control0..*
                  TypeContactDetail
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  94. PlanDefinition.relatedArtifact
                  Definition

                  Related artifacts such as additional documentation, justification, or bibliographic references.

                  ShortAdditional documentation, citations
                  Comments

                  Each related artifact is either an attachment, or a reference to another resource, but not both.

                  Control0..*
                  TypeRelatedArtifact
                  Is Modifierfalse
                  Summaryfalse
                  Requirements

                  Plan definitions must be able to provide enough information for consumers of the content (and/or interventions or results produced by the content) to be able to determine and understand the justification for and evidence in support of the content.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  96. PlanDefinition.library
                  Definition

                  A reference to a Library resource containing any formal logic used by the plan definition.

                  ShortLogic used by the plan definition
                  Control0..*
                  Typecanonical(Library)
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  98. PlanDefinition.goal
                  Definition

                  Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.

                  ShortWhat the plan is trying to accomplish
                  Control0..*
                  TypeBackboneElement
                  Is Modifierfalse
                  Summaryfalse
                  Requirements

                  Goal information needs to be captured for order sets, protocols, and care plan definitions to better describe the objectives of the protocol activities and to guide the creation of specific goals within the derived care plans and orders.

                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  100. PlanDefinition.goal.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  102. PlanDefinition.goal.extension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                  ShortAdditional content defined by implementations
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  104. PlanDefinition.goal.modifierExtension
                  Definition

                  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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                  ShortExtensions that cannot be ignored even if unrecognized
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                  Summarytrue
                  Requirements

                  Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                  Alternate Namesextensions, user content, modifiers
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  106. PlanDefinition.goal.category
                  Definition

                  Indicates a category the goal falls within.

                  ShortE.g. Treatment, dietary, behavioral
                  Control0..1
                  BindingFor example codes, see GoalCategory
                  (example to http://hl7.org/fhir/ValueSet/goal-category|4.0.1)

                  Example codes for grouping goals for filtering or presentation.

                  TypeCodeableConcept
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  108. PlanDefinition.goal.description
                  Definition

                  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".

                  ShortCode or text describing the goal
                  Comments

                  If no code is available, use CodeableConcept.text.

                  Control1..1
                  BindingFor example codes, see SNOMEDCTClinicalFindings
                  (example to http://hl7.org/fhir/ValueSet/clinical-findings|4.0.1)

                  Describes goals that can be achieved.

                  TypeCodeableConcept
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  110. PlanDefinition.goal.priority
                  Definition

                  Identifies the expected level of importance associated with reaching/sustaining the defined goal.

                  Shorthigh-priority | medium-priority | low-priority
                  Control0..1
                  BindingThe codes SHOULD be taken from GoalPriority
                  (preferred to http://hl7.org/fhir/ValueSet/goal-priority|4.0.1)

                  Indicates the level of importance associated with reaching or sustaining a goal.

                  TypeCodeableConcept
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  112. PlanDefinition.goal.start
                  Definition

                  The event after which the goal should begin being pursued.

                  ShortWhen goal pursuit begins
                  Control0..1
                  BindingFor example codes, see GoalStartEvent
                  (example to http://hl7.org/fhir/ValueSet/goal-start-event|4.0.1)

                  Identifies the types of events that might trigger the start of a goal.

                  TypeCodeableConcept
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  114. PlanDefinition.goal.addresses
                  Definition

                  Identifies problems, conditions, issues, or concerns the goal is intended to address.

                  ShortWhat does the goal address
                  Control0..*
                  BindingFor example codes, see Condition/Problem/DiagnosisCodes
                  (example to http://hl7.org/fhir/ValueSet/condition-code|4.0.1)

                  Identifies problems, conditions, issues, or concerns that goals may address.

                  TypeCodeableConcept
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  116. PlanDefinition.goal.documentation
                  Definition

                  Didactic or other informational resources associated with the goal that provide further supporting information about the goal. Information resources can include inline text commentary and links to web resources.

                  ShortSupporting documentation for the goal
                  Control0..*
                  TypeRelatedArtifact
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  118. PlanDefinition.goal.target
                  Definition

                  Indicates what should be done and within what timeframe.

                  ShortTarget outcome for the goal
                  Control0..*
                  TypeBackboneElement
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  120. PlanDefinition.goal.target.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  122. PlanDefinition.goal.target.extension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                  ShortAdditional content defined by implementations
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  124. PlanDefinition.goal.target.modifierExtension
                  Definition

                  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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                  ShortExtensions that cannot be ignored even if unrecognized
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                  Summarytrue
                  Requirements

                  Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                  Alternate Namesextensions, user content, modifiers
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  126. PlanDefinition.goal.target.measure
                  Definition

                  The parameter whose value is to be tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.

                  ShortThe parameter whose value is to be tracked
                  Control0..1
                  BindingFor example codes, see LOINCCodes
                  (example to http://hl7.org/fhir/ValueSet/observation-codes|4.0.1)

                  Identifies types of parameters that can be tracked to determine goal achievement.

                  TypeCodeableConcept
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  128. PlanDefinition.goal.target.detail[x]
                  Definition

                  The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 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 value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low value.

                  ShortThe target value to be achieved
                  Control0..1
                  TypeChoice of: Quantity, Range, CodeableConcept
                  [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  130. PlanDefinition.goal.target.due
                  Definition

                  Indicates the timeframe after the start of the goal in which the goal should be met.

                  ShortReach goal within
                  Control0..1
                  TypeDuration
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  132. PlanDefinition.action
                  Definition

                  An action or group of actions to be taken as part of the plan.

                  ShortAction defined by the plan
                  Comments

                  Note that there is overlap between many of the elements defined here and the ActivityDefinition resource. When an ActivityDefinition is referenced (using the definition element), the overlapping elements in the plan override the content of the referenced ActivityDefinition unless otherwise documented in the specific elements. See the PlanDefinition resource for more detailed information.

                  Control1..*
                  TypeBackboneElement
                  Is Modifierfalse
                  Must Supporttrue
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  134. PlanDefinition.action.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  136. PlanDefinition.action.extension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                  ShortAdditional content defined by implementations
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  138. PlanDefinition.action.modifierExtension
                  Definition

                  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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                  ShortExtensions that cannot be ignored even if unrecognized
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                  Summarytrue
                  Requirements

                  Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                  Alternate Namesextensions, user content, modifiers
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  140. PlanDefinition.action.prefix
                  Definition

                  A user-visible prefix for the action.

                  ShortUser-visible prefix for the action (e.g. 1. or A.)
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  142. PlanDefinition.action.title
                  Definition

                  The title of the action displayed to a user.

                  ShortUser-visible title
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Must Supporttrue
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  144. PlanDefinition.action.description
                  Definition

                  A brief description of the action used to provide a summary to display to the user.

                  ShortBrief description of the action
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  146. PlanDefinition.action.textEquivalent
                  Definition

                  A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.

                  ShortStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  148. PlanDefinition.action.priority
                  Definition

                  Indicates how quickly the action should be addressed with respect to other actions.

                  Shortroutine | urgent | asap | stat
                  Control0..1
                  BindingThe codes SHALL be taken from RequestPriority
                  (required to http://hl7.org/fhir/ValueSet/request-priority|4.0.1)

                  Identifies the level of importance to be assigned to actioning the request.

                  Typecode
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  150. PlanDefinition.action.code
                  Definition

                  A code that provides meaning for the action or action group. For example, a section may have a LOINC code for the section of a documentation template.

                  ShortCode representing the meaning of the action or sub-actions
                  Control0..*
                  TypeCodeableConcept
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  152. PlanDefinition.action.reason
                  Definition

                  A description of why this action is necessary or appropriate.

                  ShortWhy the action should be performed
                  Comments

                  This is different than the clinical evidence documentation, it's an actual business description of the reason for performing the action.

                  Control0..*
                  TypeCodeableConcept
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  154. PlanDefinition.action.documentation
                  Definition

                  Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.

                  ShortSupporting documentation for the intended performer of the action
                  Control0..*
                  TypeRelatedArtifact
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  156. PlanDefinition.action.goalId
                  Definition

                  Identifies goals that this action supports. The reference must be to a goal element defined within this plan definition.

                  ShortWhat goals this action supports
                  Control0..*
                  Typeid
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  158. PlanDefinition.action.subject[x]
                  Definition

                  A code or group definition that describes the intended subject of the action and its children, if any.

                  ShortType of individual the action is focused on
                  Comments

                  The subject of an action overrides the subject at a parent action or on the root of the PlanDefinition if specified.

                  In addition, because the subject needs to be resolved during realization, use of subjects in actions (or in the ActivityDefinition referenced by the action) resolves based on the set of subjects supplied in context and by type (i.e. the patient subject would resolve to a resource of type Patient).

                  Control0..1
                  BindingUnless not suitable, these codes SHALL be taken from SubjectType
                  (extensible to http://hl7.org/fhir/ValueSet/subject-type|4.0.1)

                  The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

                  TypeChoice of: CodeableConcept, Reference(Group)
                  [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                  Is Modifierfalse
                  Summaryfalse
                  Requirements

                  Multiple steps in a protocol often have different groups of steps that are focused on testing different things. The subject of an action specifies the focus of the action and any child actions.

                  Meaning if MissingPatient
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  160. PlanDefinition.action.trigger
                  Definition

                  A description of when the action should be triggered.

                  ShortWhen the action should be triggered
                  Control0..*
                  TypeTriggerDefinition
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  162. PlanDefinition.action.condition
                  Definition

                  An expression that describes applicability criteria or start/stop conditions for the action.

                  ShortWhether or not the action is applicable
                  Comments

                  When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all the conditions are true.

                  Control0..*
                  TypeBackboneElement
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  164. PlanDefinition.action.condition.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  166. PlanDefinition.action.condition.extension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                  ShortAdditional content defined by implementations
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  168. PlanDefinition.action.condition.modifierExtension
                  Definition

                  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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                  ShortExtensions that cannot be ignored even if unrecognized
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                  Summarytrue
                  Requirements

                  Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                  Alternate Namesextensions, user content, modifiers
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  170. PlanDefinition.action.condition.kind
                  Definition

                  The kind of condition.

                  Shortapplicability | start | stop
                  Comments

                  Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe enter/exit criteria for an action.

                  Control1..1
                  BindingThe codes SHALL be taken from ActionConditionKind
                  (required to http://hl7.org/fhir/ValueSet/action-condition-kind|4.0.1)

                  Defines the kinds of conditions that can appear on actions.

                  Typecode
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  172. PlanDefinition.action.condition.expression
                  Definition

                  An expression that returns true or false, indicating whether the condition is satisfied.

                  ShortBoolean-valued expression
                  Comments

                  The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element.

                  Control0..1
                  TypeExpression
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  174. PlanDefinition.action.input
                  Definition

                  Defines input data requirements for the action.

                  ShortInput data requirements
                  Control0..*
                  TypeDataRequirement
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  176. PlanDefinition.action.output
                  Definition

                  Defines the outputs of the action, if any.

                  ShortOutput data definition
                  Control0..*
                  TypeDataRequirement
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  178. PlanDefinition.action.relatedAction
                  Definition

                  A relationship to another action such as "before" or "30-60 minutes after start of".

                  ShortRelationship to another action
                  Comments

                  When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency.

                  Control0..*
                  TypeBackboneElement
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  180. PlanDefinition.action.relatedAction.id
                  Definition

                  Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                  ShortUnique id for inter-element referencing
                  Control0..1
                  Typestring
                  Is Modifierfalse
                  XML FormatIn the XML format, this property is represented as an attribute.
                  Summaryfalse
                  182. PlanDefinition.action.relatedAction.extension
                  Definition

                  May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                  ShortAdditional content defined by implementations
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifierfalse
                  Summaryfalse
                  Alternate Namesextensions, user content
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  184. PlanDefinition.action.relatedAction.modifierExtension
                  Definition

                  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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                  Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                  ShortExtensions that cannot be ignored even if unrecognized
                  Comments

                  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.

                  Control0..*
                  TypeExtension
                  Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                  Summarytrue
                  Requirements

                  Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                  Alternate Namesextensions, user content, modifiers
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                  186. PlanDefinition.action.relatedAction.actionId
                  Definition

                  The element id of the related action.

                  ShortWhat action is this related to
                  Control1..1
                  Typeid
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  188. PlanDefinition.action.relatedAction.relationship
                  Definition

                  The relationship of this action to the related action.

                  Shortbefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
                  Control1..1
                  BindingThe codes SHALL be taken from ActionRelationshipType
                  (required to http://hl7.org/fhir/ValueSet/action-relationship-type|4.0.1)

                  Defines the types of relationships between actions.

                  Typecode
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  190. PlanDefinition.action.relatedAction.offset[x]
                  Definition

                  A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.

                  ShortTime offset for the relationship
                  Control0..1
                  TypeChoice of: Duration, Range
                  [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                  Is Modifierfalse
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  192. PlanDefinition.action.timing[x]
                  Definition

                  An optional value describing when the action should be performed.

                  ShortWhen the action should take place
                  Control0..1
                  TypeChoice of: dateTime, Age, Period, Duration, Range, Timing
                  [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                  Is Modifierfalse
                  Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  SlicingThis element introduces a set of slices on PlanDefinition.action.timing[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • type @ $this
                  • 194. PlanDefinition.action.timing[x]:timingTiming
                    Slice NametimingTiming
                    Definition

                    An optional value describing when the action should be performed.

                    ShortWhen the action should take place
                    Control0..1
                    TypeTiming
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Must Supporttrue
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    196. PlanDefinition.action.participant
                    Definition

                    Indicates who should participate in performing the action described.

                    ShortWho should participate in the action
                    Control0..*
                    TypeBackboneElement
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    198. PlanDefinition.action.participant.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    200. PlanDefinition.action.participant.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    202. PlanDefinition.action.participant.modifierExtension
                    Definition

                    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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    204. PlanDefinition.action.participant.type
                    Definition

                    The type of participant in the action.

                    Shortpatient | practitioner | related-person | device
                    Control1..1
                    BindingThe codes SHALL be taken from ActionParticipantType
                    (required to http://hl7.org/fhir/ValueSet/action-participant-type|4.0.1)

                    The type of participant for the action.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    206. PlanDefinition.action.participant.role
                    Definition

                    The role the participant should play in performing the described action.

                    ShortE.g. Nurse, Surgeon, Parent
                    Control0..1
                    BindingFor example codes, see ActionParticipantRole
                    (example to http://hl7.org/fhir/ValueSet/action-participant-role|4.0.1)

                    Defines roles played by participants for the action.

                    TypeCodeableConcept
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    208. PlanDefinition.action.type
                    Definition

                    The type of action to perform (create, update, remove).

                    Shortcreate | update | remove | fire-event
                    Control0..1
                    BindingUnless not suitable, these codes SHALL be taken from ActionType
                    (extensible to http://hl7.org/fhir/ValueSet/action-type|4.0.1)

                    The type of action to be performed.

                    TypeCodeableConcept
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    210. PlanDefinition.action.groupingBehavior
                    Definition

                    Defines the grouping behavior for the action and its children.

                    Shortvisual-group | logical-group | sentence-group
                    Control0..1
                    BindingThe codes SHALL be taken from ActionGroupingBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-grouping-behavior|4.0.1)

                    Defines organization behavior of a group.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    212. PlanDefinition.action.selectionBehavior
                    Definition

                    Defines the selection behavior for the action and its children.

                    Shortany | all | all-or-none | exactly-one | at-most-one | one-or-more
                    Control0..1
                    BindingThe codes SHALL be taken from ActionSelectionBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-selection-behavior|4.0.1)

                    Defines selection behavior of a group.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    214. PlanDefinition.action.requiredBehavior
                    Definition

                    Defines the required behavior for the action.

                    Shortmust | could | must-unless-documented
                    Control0..1
                    BindingThe codes SHALL be taken from ActionRequiredBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-required-behavior|4.0.1)

                    Defines expectations around whether an action or action group is required.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    216. PlanDefinition.action.precheckBehavior
                    Definition

                    Defines whether the action should usually be preselected.

                    Shortyes | no
                    Control0..1
                    BindingThe codes SHALL be taken from ActionPrecheckBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-precheck-behavior|4.0.1)

                    Defines selection frequency behavior for an action or group.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    218. PlanDefinition.action.cardinalityBehavior
                    Definition

                    Defines whether the action can be selected multiple times.

                    Shortsingle | multiple
                    Control0..1
                    BindingThe codes SHALL be taken from ActionCardinalityBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-cardinality-behavior|4.0.1)

                    Defines behavior for an action or a group for how many times that item may be repeated.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    220. PlanDefinition.action.definition[x]
                    Definition

                    A reference to an ActivityDefinition that describes the action to be taken in detail, or a PlanDefinition that describes a series of actions to be taken.

                    ShortDescription of the activity to be performed
                    Comments

                    Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically.

                    Control0..1
                    TypeChoice of: canonical(ActivityDefinition, PlanDefinition, Questionnaire), uri
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    222. PlanDefinition.action.transform
                    Definition

                    A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.

                    ShortTransform to apply the template
                    Comments

                    Note that when a referenced ActivityDefinition also defines a transform, the transform specified here generally takes precedence. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform.

                    Control0..1
                    Typecanonical(StructureMap)
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    224. PlanDefinition.action.dynamicValue
                    Definition

                    Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.

                    ShortDynamic aspects of the definition
                    Comments

                    Dynamic values are applied in the order in which they are defined in the PlanDefinition resource. Note that when dynamic values are also specified by a referenced ActivityDefinition, the dynamicValues from the ActivityDefinition are applied first, followed by the dynamicValues specified here. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform.

                    Control0..*
                    TypeBackboneElement
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    226. PlanDefinition.action.dynamicValue.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    228. PlanDefinition.action.dynamicValue.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    230. PlanDefinition.action.dynamicValue.modifierExtension
                    Definition

                    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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    232. PlanDefinition.action.dynamicValue.path
                    Definition

                    The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the Simple FHIRPath Profile for full details).

                    ShortThe path to the element to be set dynamically
                    Comments

                    To specify the path to the current action being realized, the %action environment variable is available in this path. For example, to specify the description element of the target action, the path would be %action.description. The path attribute contains a Simple FHIRPath Subset that allows path traversal, but not calculation.

                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    234. PlanDefinition.action.dynamicValue.expression
                    Definition

                    An expression specifying the value of the customized element.

                    ShortAn expression that provides the dynamic value for the customization
                    Comments

                    The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element.

                    Control0..1
                    TypeExpression
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    236. PlanDefinition.action.action
                    Definition

                    Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition.

                    ShortA sub-action
                    Control0..*
                    TypeBackboneElement
                    Is Modifierfalse
                    Must Supporttrue
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    238. PlanDefinition.action.action.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    240. PlanDefinition.action.action.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    242. PlanDefinition.action.action.modifierExtension
                    Definition

                    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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    244. PlanDefinition.action.action.prefix
                    Definition

                    A user-visible prefix for the action.

                    ShortUser-visible prefix for the action (e.g. 1. or A.)
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    246. PlanDefinition.action.action.title
                    Definition

                    The title of the action displayed to a user.

                    ShortUser-visible title
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    248. PlanDefinition.action.action.description
                    Definition

                    A brief description of the action used to provide a summary to display to the user.

                    ShortBrief description of the action
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    250. PlanDefinition.action.action.textEquivalent
                    Definition

                    A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.

                    ShortStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    252. PlanDefinition.action.action.priority
                    Definition

                    Indicates how quickly the action should be addressed with respect to other actions.

                    Shortroutine | urgent | asap | stat
                    Control0..1
                    BindingThe codes SHALL be taken from RequestPriority
                    (required to http://hl7.org/fhir/ValueSet/request-priority|4.0.1)

                    Identifies the level of importance to be assigned to actioning the request.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    254. PlanDefinition.action.action.code
                    Definition

                    A code that provides meaning for the action or action group. For example, a section may have a LOINC code for the section of a documentation template.

                    ShortCode representing the meaning of the action or sub-actions
                    Control0..*
                    TypeCodeableConcept
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    256. PlanDefinition.action.action.reason
                    Definition

                    A description of why this action is necessary or appropriate.

                    ShortWhy the action should be performed
                    Comments

                    This is different than the clinical evidence documentation, it's an actual business description of the reason for performing the action.

                    Control0..*
                    TypeCodeableConcept
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    258. PlanDefinition.action.action.documentation
                    Definition

                    Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.

                    ShortSupporting documentation for the intended performer of the action
                    Control0..*
                    TypeRelatedArtifact
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    260. PlanDefinition.action.action.goalId
                    Definition

                    Identifies goals that this action supports. The reference must be to a goal element defined within this plan definition.

                    ShortWhat goals this action supports
                    Control0..*
                    Typeid
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    262. PlanDefinition.action.action.subject[x]
                    Definition

                    A code or group definition that describes the intended subject of the action and its children, if any.

                    ShortType of individual the action is focused on
                    Comments

                    The subject of an action overrides the subject at a parent action or on the root of the PlanDefinition if specified.

                    In addition, because the subject needs to be resolved during realization, use of subjects in actions (or in the ActivityDefinition referenced by the action) resolves based on the set of subjects supplied in context and by type (i.e. the patient subject would resolve to a resource of type Patient).

                    Control0..1
                    BindingUnless not suitable, these codes SHALL be taken from SubjectType
                    (extensible to http://hl7.org/fhir/ValueSet/subject-type|4.0.1)

                    The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

                    TypeChoice of: CodeableConcept, Reference(Group)
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Summaryfalse
                    Requirements

                    Multiple steps in a protocol often have different groups of steps that are focused on testing different things. The subject of an action specifies the focus of the action and any child actions.

                    Meaning if MissingPatient
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    264. PlanDefinition.action.action.trigger
                    Definition

                    A description of when the action should be triggered.

                    ShortWhen the action should be triggered
                    Control0..*
                    TypeTriggerDefinition
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    266. PlanDefinition.action.action.condition
                    Definition

                    An expression that describes applicability criteria or start/stop conditions for the action.

                    ShortWhether or not the action is applicable
                    Comments

                    When multiple conditions of the same kind are present, the effects are combined using AND semantics, so the overall condition is true only if all the conditions are true.

                    Control0..*
                    TypeBackboneElement
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    268. PlanDefinition.action.action.condition.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    270. PlanDefinition.action.action.condition.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    272. PlanDefinition.action.action.condition.modifierExtension
                    Definition

                    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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    274. PlanDefinition.action.action.condition.kind
                    Definition

                    The kind of condition.

                    Shortapplicability | start | stop
                    Comments

                    Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe enter/exit criteria for an action.

                    Control1..1
                    BindingThe codes SHALL be taken from ActionConditionKind
                    (required to http://hl7.org/fhir/ValueSet/action-condition-kind|4.0.1)

                    Defines the kinds of conditions that can appear on actions.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    276. PlanDefinition.action.action.condition.expression
                    Definition

                    An expression that returns true or false, indicating whether the condition is satisfied.

                    ShortBoolean-valued expression
                    Comments

                    The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element.

                    Control0..1
                    TypeExpression
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    278. PlanDefinition.action.action.input
                    Definition

                    Defines input data requirements for the action.

                    ShortInput data requirements
                    Control0..*
                    TypeDataRequirement
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    280. PlanDefinition.action.action.output
                    Definition

                    Defines the outputs of the action, if any.

                    ShortOutput data definition
                    Control0..*
                    TypeDataRequirement
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    282. PlanDefinition.action.action.relatedAction
                    Definition

                    A relationship to another action such as "before" or "30-60 minutes after start of".

                    ShortRelationship to another action
                    Comments

                    When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency.

                    Control0..*
                    TypeBackboneElement
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    284. PlanDefinition.action.action.relatedAction.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    286. PlanDefinition.action.action.relatedAction.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    288. PlanDefinition.action.action.relatedAction.modifierExtension
                    Definition

                    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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    290. PlanDefinition.action.action.relatedAction.actionId
                    Definition

                    The element id of the related action.

                    ShortWhat action is this related to
                    Control1..1
                    Typeid
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    292. PlanDefinition.action.action.relatedAction.relationship
                    Definition

                    The relationship of this action to the related action.

                    Shortbefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
                    Control1..1
                    BindingThe codes SHALL be taken from ActionRelationshipType
                    (required to http://hl7.org/fhir/ValueSet/action-relationship-type|4.0.1)

                    Defines the types of relationships between actions.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    294. PlanDefinition.action.action.relatedAction.offset[x]
                    Definition

                    A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.

                    ShortTime offset for the relationship
                    Control0..1
                    TypeChoice of: Duration, Range
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    296. PlanDefinition.action.action.timing[x]
                    Definition

                    An optional value describing when the action should be performed.

                    ShortWhen the action should take place
                    Control0..1
                    TypeChoice of: dateTime, Age, Period, Duration, Range, Timing
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    298. PlanDefinition.action.action.participant
                    Definition

                    Indicates who should participate in performing the action described.

                    ShortWho should participate in the action
                    Control0..*
                    TypeBackboneElement
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    300. PlanDefinition.action.action.participant.id
                    Definition

                    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                    ShortUnique id for inter-element referencing
                    Control0..1
                    Typestring
                    Is Modifierfalse
                    XML FormatIn the XML format, this property is represented as an attribute.
                    Summaryfalse
                    302. PlanDefinition.action.action.participant.extension
                    Definition

                    May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                    ShortAdditional content defined by implementations
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifierfalse
                    Summaryfalse
                    Alternate Namesextensions, user content
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    304. PlanDefinition.action.action.participant.modifierExtension
                    Definition

                    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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                    ShortExtensions that cannot be ignored even if unrecognized
                    Comments

                    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.

                    Control0..*
                    TypeExtension
                    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                    Summarytrue
                    Requirements

                    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                    Alternate Namesextensions, user content, modifiers
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                    306. PlanDefinition.action.action.participant.type
                    Definition

                    The type of participant in the action.

                    Shortpatient | practitioner | related-person | device
                    Control1..1
                    BindingThe codes SHALL be taken from ActionParticipantType
                    (required to http://hl7.org/fhir/ValueSet/action-participant-type|4.0.1)

                    The type of participant for the action.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    308. PlanDefinition.action.action.participant.role
                    Definition

                    The role the participant should play in performing the described action.

                    ShortE.g. Nurse, Surgeon, Parent
                    Control0..1
                    BindingFor example codes, see ActionParticipantRole
                    (example to http://hl7.org/fhir/ValueSet/action-participant-role|4.0.1)

                    Defines roles played by participants for the action.

                    TypeCodeableConcept
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    310. PlanDefinition.action.action.type
                    Definition

                    The type of action to perform (create, update, remove).

                    Shortcreate | update | remove | fire-event
                    Control0..1
                    BindingUnless not suitable, these codes SHALL be taken from ActionType
                    (extensible to http://hl7.org/fhir/ValueSet/action-type|4.0.1)

                    The type of action to be performed.

                    TypeCodeableConcept
                    Is Modifierfalse
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    312. PlanDefinition.action.action.groupingBehavior
                    Definition

                    Defines the grouping behavior for the action and its children.

                    Shortvisual-group | logical-group | sentence-group
                    Control0..1
                    BindingThe codes SHALL be taken from ActionGroupingBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-grouping-behavior|4.0.1)

                    Defines organization behavior of a group.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    314. PlanDefinition.action.action.selectionBehavior
                    Definition

                    Defines the selection behavior for the action and its children.

                    Shortany | all | all-or-none | exactly-one | at-most-one | one-or-more
                    Control0..1
                    BindingThe codes SHALL be taken from ActionSelectionBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-selection-behavior|4.0.1)

                    Defines selection behavior of a group.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    316. PlanDefinition.action.action.requiredBehavior
                    Definition

                    Defines the required behavior for the action.

                    Shortmust | could | must-unless-documented
                    Control0..1
                    BindingThe codes SHALL be taken from ActionRequiredBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-required-behavior|4.0.1)

                    Defines expectations around whether an action or action group is required.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    318. PlanDefinition.action.action.precheckBehavior
                    Definition

                    Defines whether the action should usually be preselected.

                    Shortyes | no
                    Control0..1
                    BindingThe codes SHALL be taken from ActionPrecheckBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-precheck-behavior|4.0.1)

                    Defines selection frequency behavior for an action or group.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    320. PlanDefinition.action.action.cardinalityBehavior
                    Definition

                    Defines whether the action can be selected multiple times.

                    Shortsingle | multiple
                    Control0..1
                    BindingThe codes SHALL be taken from ActionCardinalityBehavior
                    (required to http://hl7.org/fhir/ValueSet/action-cardinality-behavior|4.0.1)

                    Defines behavior for an action or a group for how many times that item may be repeated.

                    Typecode
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    322. PlanDefinition.action.action.definition[x]
                    Definition

                    A reference to an ActivityDefinition that describes the action to be taken in detail, or a PlanDefinition that describes a series of actions to be taken.

                    ShortDescription of the activity to be performed
                    Comments

                    Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically.

                    Control0..1
                    TypeChoice of: canonical(ActivityDefinition, PlanDefinition, Questionnaire), uri
                    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                    Is Modifierfalse
                    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                    Summaryfalse
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    SlicingThis element introduces a set of slices on PlanDefinition.action.action.definition[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • type @ $this
                    • 324. PlanDefinition.action.action.definition[x]:definitionCanonical
                      Slice NamedefinitionCanonical
                      Definition

                      A reference to an ActivityDefinition that describes the action to be taken in detail, or a PlanDefinition that describes a series of actions to be taken.

                      ShortDescription of the activity to be performed
                      Comments

                      Note that the definition is optional, and if no definition is specified, a dynamicValue with a root ($this) path can be used to define the entire resource dynamically.

                      Control0..1
                      Typecanonical(ActivityDefinition, PlanDefinition, Questionnaire)
                      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Must Supporttrue
                      Must Support TypesNo must-support rules about the choice of types/profiles
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      326. PlanDefinition.action.action.transform
                      Definition

                      A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.

                      ShortTransform to apply the template
                      Comments

                      Note that when a referenced ActivityDefinition also defines a transform, the transform specified here generally takes precedence. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform.

                      Control0..1
                      Typecanonical(StructureMap)
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      328. PlanDefinition.action.action.dynamicValue
                      Definition

                      Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.

                      ShortDynamic aspects of the definition
                      Comments

                      Dynamic values are applied in the order in which they are defined in the PlanDefinition resource. Note that when dynamic values are also specified by a referenced ActivityDefinition, the dynamicValues from the ActivityDefinition are applied first, followed by the dynamicValues specified here. In addition, if both a transform and dynamic values are specific, the dynamic values are applied to the result of the transform.

                      Control0..*
                      TypeBackboneElement
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      330. PlanDefinition.action.action.dynamicValue.id
                      Definition

                      Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

                      ShortUnique id for inter-element referencing
                      Control0..1
                      Typestring
                      Is Modifierfalse
                      XML FormatIn the XML format, this property is represented as an attribute.
                      Summaryfalse
                      332. PlanDefinition.action.action.dynamicValue.extension
                      Definition

                      May be used to represent additional information that is not part of the basic definition of the element. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

                      ShortAdditional content defined by implementations
                      Comments

                      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.

                      Control0..*
                      TypeExtension
                      Is Modifierfalse
                      Summaryfalse
                      Alternate Namesextensions, user content
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      334. PlanDefinition.action.action.dynamicValue.modifierExtension
                      Definition

                      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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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.

                      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

                      ShortExtensions that cannot be ignored even if unrecognized
                      Comments

                      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.

                      Control0..*
                      TypeExtension
                      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
                      Summarytrue
                      Requirements

                      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

                      Alternate Namesextensions, user content, modifiers
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
                      336. PlanDefinition.action.action.dynamicValue.path
                      Definition

                      The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the Simple FHIRPath Profile for full details).

                      ShortThe path to the element to be set dynamically
                      Comments

                      To specify the path to the current action being realized, the %action environment variable is available in this path. For example, to specify the description element of the target action, the path would be %action.description. The path attribute contains a Simple FHIRPath Subset that allows path traversal, but not calculation.

                      Control0..1
                      Typestring
                      Is Modifierfalse
                      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      338. PlanDefinition.action.action.dynamicValue.expression
                      Definition

                      An expression specifying the value of the customized element.

                      ShortAn expression that provides the dynamic value for the customization
                      Comments

                      The expression may be inlined or may be a reference to a named expression within a logic library referenced by the library element.

                      Control0..1
                      TypeExpression
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      340. PlanDefinition.action.action.action
                      Definition

                      Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definition.

                      ShortA sub-action
                      Control0..*
                      TypeSeettp://hl7.org/fhir/StructureDefinition/PlanDefinition#PlanDefinition.action
                      Is Modifierfalse
                      Summaryfalse
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))