HL7 FHIR® Implementation Guide: Electronic Case Reporting (eCR) - US Realm
2.1.2 - STU 2 United States of America flag

HL7 FHIR® Implementation Guide: Electronic Case Reporting (eCR) - US Realm, published by HL7 International / Public Health. This guide is not an authorized publication; it is the continuous build for version 2.1.2 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/case-reporting/ and changes regularly. See the Directory of published versions

Resource Profile: USPublicHealthPlanDefinition - Detailed Descriptions

Active as of 2024-10-30

Definitions for the us-ph-plandefinition resource profile.

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

0. PlanDefinition
Definition

Defines a shareable US Public Health PlanDefinition.

ShortUS Public Health PlanDefinition
2. PlanDefinition.extension:receiverAddress
Slice NamereceiverAddress
Control0..1
TypeExtension(US Public Health Receiver Address Extension) (Extension Type: Reference(Endpoint))
Must Supporttrue
4. PlanDefinition.version
Definition

Business version of the PlanDefinition

ShortBusiness version of the PlanDefinition
NoteThis is a business version Id, not a resource version Id (see discussion)
Control1..?
Must Supporttrue
6. PlanDefinition.name
Definition

Name for this PlanDefinition (computer friendly)

ShortName for this PlanDefinition (computer friendly)
Control1..?
Must Supporttrue
8. PlanDefinition.title
Definition

Title for this PlanDefinition

ShortTitle for this PlanDefinition
Control1..?
Must Supporttrue
10. PlanDefinition.type
Definition

Type of this PlanDefinition

ShortType of this PlanDefinition
Control1..?
Must Supporttrue
Pattern Value{
  "coding" : [{
    "system" : "http://terminology.hl7.org/CodeSystem/plan-definition-type",
    "code" : "workflow-definition",
    "display" : "Workflow Definition"
  }]
}
12. PlanDefinition.subject[x]
[x] NoteSeeChoice of Data Typesfor further information about how to use [x]
Must Supporttrue
14. PlanDefinition.date
Definition

Date the PlanDefinition was last changed

ShortDate the PlanDefinition was last changed
Control1..?
Must Supporttrue
16. PlanDefinition.publisher
Definition

Name of the agency that published this PlanDefinition

ShortName of the agency that published this PlanDefinition
Must Supporttrue
18. PlanDefinition.effectivePeriod
Definition

The period during which the PlanDefinition is valid

ShortWhen the PlanDefinition is valid
Must Supporttrue
20. PlanDefinition.effectivePeriod.start
Definition

The start of the time period when this PlanDefinition goes into effect

ShortThe start of the time period when this PlanDefinition goes into effect
Control1..?
22. PlanDefinition.library
Must Supporttrue
24. PlanDefinition.action
ShortAll constraints on action are intended to apply to any nested constraints.
Control0..*
Must Supporttrue
26. PlanDefinition.action.description
Control0..1
Must Supporttrue
28. PlanDefinition.action.code
Control0..1
BindingUnless not suitable, these codes SHALL be taken from US Public Health PlanDefinition Action
(extensible to http://hl7.org/fhir/us/ecr/ValueSet/us-ph-plandefinition-action)

The set of actions that can be used to create plan definition

Must Supporttrue
30. PlanDefinition.action.trigger
Control0..*
Must Supporttrue
32. PlanDefinition.action.trigger.extension:namedEventType
Slice NamenamedEventType
Control0..1
BindingUnless not suitable, these codes SHALL be taken from US Public Health TriggerDefinition NamedEvent
(extensible to http://hl7.org/fhir/us/ecr/ValueSet/us-ph-triggerdefinition-namedevent)

The set of named events that can be used for subscriptions

TypeExtension(US Public Health Named Event Type Extension) (Extension Type: CodeableConcept)
Must Supporttrue
34. PlanDefinition.action.trigger.type
Control1..1
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Fixed Valuenamed-event
36. PlanDefinition.action.condition
Control0..*
Must Supporttrue
38. PlanDefinition.action.condition.kind
Control1..1
Must Supporttrue
40. PlanDefinition.action.condition.expression
Control0..1
Must Supporttrue
42. PlanDefinition.action.input
Control0..*
Must Supporttrue
44. PlanDefinition.action.input.extension:relatedData
Slice NamerelatedData
Control0..1
TypeExtension(US Public Health Related Data Extension) (Extension Type: string)
Must Supporttrue
46. PlanDefinition.action.input.type
Control1..1
Must Supporttrue
48. PlanDefinition.action.output
Control0..*
Must Supporttrue
50. PlanDefinition.action.output.type
Control1..1
Must Supporttrue
52. PlanDefinition.action.relatedAction
Control0..*
Must Supporttrue
54. PlanDefinition.action.relatedAction.actionId
Control1..1
Must Supporttrue
56. PlanDefinition.action.relatedAction.relationship
Control1..1
Must Supporttrue
58. PlanDefinition.action.relatedAction.offsetDuration
Control0..1
Must Supporttrue
60. PlanDefinition.action.timing[x]
Control0..1
TypeDuration, dateTime, Period, Timing, Range, Age
[x] NoteSeeChoice of Data Typesfor further information about how to use [x]
Must Supporttrue

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

0. PlanDefinition
Definition

Defines a shareable US Public Health PlanDefinition.


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.

ShortUS Public Health PlanDefinitionThe definition of a plan for a series of actions, independent of any specific patient or context
Control10..1*
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.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()))
4. PlanDefinition.extension:receiverAddress
Slice NamereceiverAddress
Definition

Indicates the address where the report has to be sent.

ShortIndicates the address where the report has to be sent.
Control0..1
This element is affected by the following invariants: ele-1
TypeExtension(US Public Health Receiver Address Extension) (Extension Type: Reference(Endpoint))
Is Modifierfalse
Must Supporttrue
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())
6. 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.


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


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
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()))
10. 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)
Control0..*
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()))
12. PlanDefinition.version
Definition

Business version of the PlanDefinition


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 PlanDefinitionBusiness 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)
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()))
14. PlanDefinition.name
Definition

Name for this PlanDefinition (computer friendly)


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 PlanDefinition (computer friendly)Name 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.

Control10..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
Must Supporttrue
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()))
16. PlanDefinition.title
Definition

Title for this PlanDefinition


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

ShortTitle for this PlanDefinitionName 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()))
18. PlanDefinition.type
Definition

Type of this PlanDefinition


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

ShortType of this PlanDefinitionorder-set | clinical-protocol | eca-rule | workflow-definition
Control10..1
BindingUnless not suitable, these codes SHALL be taken from PlanDefinitionTypehttp://hl7.org/fhir/ValueSet/plan-definition-type
(extensible to http://hl7.org/fhir/ValueSet/plan-definition-type)

The type of PlanDefinition.

TypeCodeableConcept
Is Modifierfalse
Must Supporttrue
Summarytrue
Pattern Value{
  "coding" : [{
    "system" : "http://terminology.hl7.org/CodeSystem/plan-definition-type",
    "code" : "workflow-definition",
    "display" : "Workflow Definition"
  }]
}
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
20. 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|4.0.1)

The lifecycle status of an artifact.

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
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
22. 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.

Control10..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()))
24. 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 SubjectTypehttp://hl7.org/fhir/ValueSet/subject-type
(extensible to http://hl7.org/fhir/ValueSet/subject-type)

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
Must Supporttrue
Must Support TypesNo must-support rules about the choice of types/profiles
Summaryfalse
Meaning if MissingPatient
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
26. PlanDefinition.date
Definition

Date the PlanDefinition was last changed


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 the PlanDefinition was last changedDate 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.

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

Name of the agency that published this PlanDefinition


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

ShortName of the agency that published this PlanDefinitionName 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.

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

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

Alternate Namessteward
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
30. 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
Must Supporttrue
Summarytrue
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
32. 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).

Control10..1
Typemarkdown
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Summarytrue
Alternate Namesscope
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
34. 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
Must Supporttrue
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()))
36. 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 ValueSethttp://hl7.org/fhir/ValueSet/jurisdiction
(extensible to http://hl7.org/fhir/ValueSet/jurisdiction)

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

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

The period during which the PlanDefinition is valid


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

ShortWhen the PlanDefinition is validWhen 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
Must Supporttrue
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()))
40. PlanDefinition.effectivePeriod.start
Definition

The start of the time period when this PlanDefinition goes into effect


The start of the period. The boundary is inclusive.

ShortThe start of the time period when this PlanDefinition goes into effectStarting time with inclusive boundary
Comments

If the low element is missing, the meaning is that the low boundary is not known.

Control10..1
This element is affected by the following invariants: per-1
TypedateTime
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()))
42. 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
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
44. PlanDefinition.action
Definition

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

ShortAll constraints on action are intended to apply to any nested constraints.Action 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.

Control0..*
TypeBackboneElement
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
46. 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.


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())
48. 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
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
50. 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..1*
BindingUnless not suitable, these codes SHALL be taken from For codes, see US Public Health PlanDefinition Action
(extensible to http://hl7.org/fhir/us/ecr/ValueSet/us-ph-plandefinition-action)

The set of actions that can be used to create plan definition

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

A description of when the action should be triggered.

ShortWhen the action should be triggered
Control0..*
TypeTriggerDefinition
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
54. PlanDefinition.action.trigger.extension:namedEventType
Slice NamenamedEventType
Definition

Indicates the types of named events to subscribe to from the EHR.

ShortUS Public Health Named Event Type Extension
Control0..1
TypeExtension(US Public Health Named Event Type Extension) (Extension Type: CodeableConcept)
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())
56. PlanDefinition.action.trigger.type
Definition

The type of triggering event.

Shortnamed-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
Control1..1
BindingThe codes SHALL be taken from TriggerTypehttp://hl7.org/fhir/ValueSet/trigger-type|4.0.1
(required to http://hl7.org/fhir/ValueSet/trigger-type|4.0.1)

The type of trigger.

Typecode
Is Modifierfalse
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Must Supporttrue
Summarytrue
Fixed Valuenamed-event
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
58. 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
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
60. 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.


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())
62. 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 ActionConditionKindhttp://hl7.org/fhir/ValueSet/action-condition-kind|4.0.1
(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
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
64. 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
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
66. PlanDefinition.action.input
Definition

Defines input data requirements for the action.

ShortInput data requirements
Control0..*
TypeDataRequirement
Is Modifierfalse
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
68. PlanDefinition.action.input.extension:relatedData
Slice NamerelatedData
Definition

Points to an existing input or output element that provides data to this input or results as output for the action.

ShortUS Public Health Related Data Extension
Control0..1
TypeExtension(US Public Health Related Data Extension) (Extension Type: string)
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())
70. PlanDefinition.action.input.type
Definition

The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.

ShortThe type of the required data
Control1..1
BindingThe codes SHALL be taken from FHIRAllTypeshttp://hl7.org/fhir/ValueSet/all-types|4.0.1
(required to http://hl7.org/fhir/ValueSet/all-types|4.0.1)

A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

Typecode
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()))
72. PlanDefinition.action.output
Definition

Defines the outputs of the action, if any.

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

The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.

ShortThe type of the required data
Control1..1
BindingThe codes SHALL be taken from FHIRAllTypeshttp://hl7.org/fhir/ValueSet/all-types|4.0.1
(required to http://hl7.org/fhir/ValueSet/all-types|4.0.1)

A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

Typecode
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()))
76. 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
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
78. 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.


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())
80. 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
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
82. 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 ActionRelationshipTypehttp://hl7.org/fhir/ValueSet/action-relationship-type|4.0.1
(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
Must Supporttrue
Summaryfalse
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
84. 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()))
SlicingThis element introduces a set of slices on PlanDefinition.action.relatedAction.offset[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • type @ $this
  • 86. PlanDefinition.action.relatedAction.offset[x]:offsetDuration
    Slice NameoffsetDuration
    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
    TypeDuration, Range
    [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()))
    88. PlanDefinition.action.timing[x]
    Definition

    An optional value describing when the action should be performed.

    ShortWhen the action should take place
    Control0..1
    TypeDuration, dateTime, Period, Timing, 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()))

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

    0. PlanDefinition
    Definition

    Defines a shareable US Public Health PlanDefinition.

    ShortUS Public Health PlanDefinition
    Control1..1
    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.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.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)

    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()))
    10. 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()))
    12. 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
    14. PlanDefinition.extension
    Definition

    An Extension

    ShortExtension
    Control0..*
    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
    • 16. PlanDefinition.extension:receiverAddress
      Slice NamereceiverAddress
      Definition

      Indicates the address where the report has to be sent.

      ShortIndicates the address where the report has to be sent.
      Control0..1
      This element is affected by the following invariants: ele-1
      TypeExtension(US Public Health Receiver Address Extension) (Extension Type: Reference(Endpoint))
      Is Modifierfalse
      Must Supporttrue
      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.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())
      20. 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
      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()))
      22. 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)
      Control0..*
      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()))
      24. PlanDefinition.version
      Definition

      Business version of the PlanDefinition

      ShortBusiness version of the PlanDefinition
      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)
      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()))
      26. PlanDefinition.name
      Definition

      Name for this PlanDefinition (computer friendly)

      ShortName for this PlanDefinition (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.

      Control1..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
      Must Supporttrue
      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()))
      28. PlanDefinition.title
      Definition

      Title for this PlanDefinition

      ShortTitle for this PlanDefinition
      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()))
      30. 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()))
      32. PlanDefinition.type
      Definition

      Type of this PlanDefinition

      ShortType of this PlanDefinition
      Control1..1
      BindingUnless not suitable, these codes SHALL be taken from PlanDefinitionType
      (extensible to http://hl7.org/fhir/ValueSet/plan-definition-type)

      The type of PlanDefinition.

      TypeCodeableConcept
      Is Modifierfalse
      Must Supporttrue
      Summarytrue
      Pattern Value{
        "coding" : [{
          "system" : "http://terminology.hl7.org/CodeSystem/plan-definition-type",
          "code" : "workflow-definition",
          "display" : "Workflow Definition"
        }]
      }
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      34. 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|4.0.1)

      The lifecycle status of an artifact.

      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
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      36. 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.

      Control1..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()))
      38. 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)

      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
      Must Supporttrue
      Must Support TypesNo must-support rules about the choice of types/profiles
      Summaryfalse
      Meaning if MissingPatient
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      40. PlanDefinition.date
      Definition

      Date the PlanDefinition was last changed

      ShortDate the PlanDefinition was 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.

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

      Name of the agency that published this PlanDefinition

      ShortName of the agency that published this PlanDefinition
      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.

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

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

      Alternate Namessteward
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      44. 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
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      46. 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).

      Control1..1
      Typemarkdown
      Is Modifierfalse
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      Summarytrue
      Alternate Namesscope
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      48. 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
      Must Supporttrue
      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()))
      50. 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)

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

      TypeCodeableConcept
      Is Modifierfalse
      Must Supporttrue
      Summarytrue
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      52. 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()))
      54. 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()))
      56. 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()))
      58. 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()))
      60. 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()))
      62. PlanDefinition.effectivePeriod
      Definition

      The period during which the PlanDefinition is valid

      ShortWhen the PlanDefinition is valid
      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
      Must Supporttrue
      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()))
      64. PlanDefinition.effectivePeriod.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
      66. PlanDefinition.effectivePeriod.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.effectivePeriod.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
      • value @ url
      • 68. PlanDefinition.effectivePeriod.start
        Definition

        The start of the time period when this PlanDefinition goes into effect

        ShortThe start of the time period when this PlanDefinition goes into effect
        Comments

        If the low element is missing, the meaning is that the low boundary is not known.

        Control1..1
        This element is affected by the following invariants: per-1
        TypedateTime
        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()))
        70. PlanDefinition.effectivePeriod.end
        Definition

        The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

        ShortEnd time with inclusive boundary, if not ongoing
        Comments

        The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.

        Control0..1
        This element is affected by the following invariants: per-1
        TypedateTime
        Is Modifierfalse
        Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
        Summarytrue
        Meaning if MissingIf the end of the period is missing, it means that the period is ongoing
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        72. 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)

        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()))
        74. 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()))
        76. 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()))
        78. 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()))
        80. 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()))
        82. 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()))
        84. 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
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        86. 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()))
        88. 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
        90. 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())
        92. 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())
        94. 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)

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

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

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

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

        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()))
        104. 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()))
        106. 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()))
        108. 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
        110. 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())
        112. 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())
        114. 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)

        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()))
        116. 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()))
        118. 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()))
        120. PlanDefinition.action
        Definition

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

        ShortAll constraints on action are intended to apply to any nested constraints.
        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.

        Control0..*
        TypeBackboneElement
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        122. 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
        124. 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())
        126. 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())
        128. 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()))
        130. 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
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        132. 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
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        134. 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()))
        136. 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()))
        138. 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..1
        BindingUnless not suitable, these codes SHALL be taken from US Public Health PlanDefinition Action
        (extensible to http://hl7.org/fhir/us/ecr/ValueSet/us-ph-plandefinition-action)

        The set of actions that can be used to create plan definition

        TypeCodeableConcept
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        140. 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()))
        142. 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()))
        144. 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()))
        146. 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)

        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()))
        148. PlanDefinition.action.trigger
        Definition

        A description of when the action should be triggered.

        ShortWhen the action should be triggered
        Control0..*
        TypeTriggerDefinition
        Is Modifierfalse
        Must Supporttrue
        Summaryfalse
        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
        150. PlanDefinition.action.trigger.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
        152. PlanDefinition.action.trigger.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.action.trigger.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
        • value @ url
        • 154. PlanDefinition.action.trigger.extension:namedEventType
          Slice NamenamedEventType
          Definition

          Indicates the types of named events to subscribe to from the EHR.

          ShortUS Public Health Named Event Type Extension
          Control0..1
          TypeExtension(US Public Health Named Event Type Extension) (Extension Type: CodeableConcept)
          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())
          156. PlanDefinition.action.trigger.type
          Definition

          The type of triggering event.

          Shortnamed-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
          Control1..1
          BindingThe codes SHALL be taken from TriggerType
          (required to http://hl7.org/fhir/ValueSet/trigger-type|4.0.1)

          The type of trigger.

          Typecode
          Is Modifierfalse
          Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
          Must Supporttrue
          Summarytrue
          Fixed Valuenamed-event
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          158. PlanDefinition.action.trigger.name
          Definition

          A formal name for the event. This may be an absolute URI that identifies the event formally (e.g. from a trigger registry), or a simple relative URI that identifies the event in a local context.

          ShortName or URI that identifies the event
          Comments

          An event name can be provided for all event types, but is required for named events. If a name is provided for a type other than named events, it is considered to be a shorthand for the semantics described by the formal description of the event.

          Control0..1
          Typestring
          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()))
          160. PlanDefinition.action.trigger.timing[x]
          Definition

          The timing of the event (if this is a periodic trigger).

          ShortTiming of the event
          Control0..1
          TypeChoice of: Timing, Reference(Schedule), date, dateTime
          [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
          Summarytrue
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          162. PlanDefinition.action.trigger.data
          Definition

          The triggering data of the event (if this is a data trigger). If more than one data is requirement is specified, then all the data requirements must be true.

          ShortTriggering data of the event (multiple = 'and')
          Comments

          This element shall be present for any data type trigger.

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

          A boolean-valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires.

          ShortWhether the event triggers (boolean expression)
          Comments

          This element can be only be specified for data type triggers and provides additional semantics for the trigger. The context available within the condition is based on the type of data event. For all events, the current resource will be available as context. In addition, for modification events, the previous resource will also be available. The expression may be inlined, or may be a simple absolute URI, which is a reference to a named expression within a logic library referenced by a library element or extension within the containing resource. If the expression is a FHIR Path expression, it evaluates in the context of a resource of one of the type identified in the data requirement, and may also refer to the variable %previous for delta comparisons on events of type data-changed, data-modified, and data-deleted which will always have the same type.

          Control0..1
          TypeExpression
          Is Modifierfalse
          Summarytrue
          Requirements

          Need to be able to formally describe the triggering criteria.

          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          166. 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
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          168. 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
          170. 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())
          172. 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())
          174. 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
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          176. 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
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          178. PlanDefinition.action.input
          Definition

          Defines input data requirements for the action.

          ShortInput data requirements
          Control0..*
          TypeDataRequirement
          Is Modifierfalse
          Must Supporttrue
          Summaryfalse
          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
          180. PlanDefinition.action.input.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.input.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.action.input.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
          • value @ url
          • 184. PlanDefinition.action.input.extension:relatedData
            Slice NamerelatedData
            Definition

            Points to an existing input or output element that provides data to this input or results as output for the action.

            ShortUS Public Health Related Data Extension
            Control0..1
            TypeExtension(US Public Health Related Data Extension) (Extension Type: string)
            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())
            186. PlanDefinition.action.input.type
            Definition

            The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.

            ShortThe type of the required data
            Control1..1
            BindingThe codes SHALL be taken from FHIRAllTypes
            (required to http://hl7.org/fhir/ValueSet/all-types|4.0.1)

            A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

            Typecode
            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()))
            188. PlanDefinition.action.input.profile
            Definition

            The profile of the required data, specified as the uri of the profile definition.

            ShortThe profile of the required data
            Control0..*
            Typecanonical(StructureDefinition)
            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()))
            190. PlanDefinition.action.input.subject[x]
            Definition

            The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed.

            ShortE.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
            Comments

            The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration.

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

            The possible types of subjects for a data requirement (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
            Summarytrue
            Meaning if MissingPatient
            Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            192. PlanDefinition.action.input.mustSupport
            Definition

            Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.

            The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the Simple FHIRPath Profile for full details).

            ShortIndicates specific structure elements that are referenced by the knowledge module
            Control0..*
            Typestring
            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()))
            194. PlanDefinition.action.input.codeFilter
            Definition

            Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed.

            ShortWhat codes are expected
            Control0..*
            TypeElement
            Is Modifierfalse
            Summarytrue
            Invariantsdrq-1: Either a path or a searchParam must be provided, but not both (path.exists() xor searchParam.exists())
            ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
            196. PlanDefinition.action.input.codeFilter.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
            198. PlanDefinition.action.input.codeFilter.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.action.input.codeFilter.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
            • value @ url
            • 200. PlanDefinition.action.input.codeFilter.path
              Definition

              The code-valued attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). 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). Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept.

              ShortA code-valued attribute to filter on
              Comments

              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
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              202. PlanDefinition.action.input.codeFilter.searchParam
              Definition

              A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept.

              ShortA coded (token) parameter to search on
              Control0..1
              Typestring
              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()))
              204. PlanDefinition.action.input.codeFilter.valueSet
              Definition

              The valueset for the code filter. The valueSet and code elements are additive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset.

              ShortValueset for the filter
              Control0..1
              Typecanonical(ValueSet)
              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()))
              206. PlanDefinition.action.input.codeFilter.code
              Definition

              The codes for the code filter. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes.

              ShortWhat code is expected
              Control0..*
              TypeCoding
              Is Modifierfalse
              Summarytrue
              Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              208. PlanDefinition.action.input.dateFilter
              Definition

              Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.

              ShortWhat dates/date ranges are expected
              Control0..*
              TypeElement
              Is Modifierfalse
              Summarytrue
              Invariantsdrq-2: Either a path or a searchParam must be provided, but not both (path.exists() xor searchParam.exists())
              ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
              210. PlanDefinition.action.input.dateFilter.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
              212. PlanDefinition.action.input.dateFilter.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.action.input.dateFilter.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
              • value @ url
              • 214. PlanDefinition.action.input.dateFilter.path
                Definition

                The date-valued attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). 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). Note that the index must be an integer constant. The path must resolve to an element of type date, dateTime, Period, Schedule, or Timing.

                ShortA date-valued attribute to filter on
                Comments

                The path attribute contains a Simple FHIR 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
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                216. PlanDefinition.action.input.dateFilter.searchParam
                Definition

                A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing.

                ShortA date valued parameter to search on
                Control0..1
                Typestring
                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()))
                218. PlanDefinition.action.input.dateFilter.value[x]
                Definition

                The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now.

                ShortThe value of the filter, as a Period, DateTime, or Duration value
                Control0..1
                TypeChoice of: dateTime, Period, Duration
                [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
                Summarytrue
                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                220. PlanDefinition.action.input.limit
                Definition

                Specifies a maximum number of results that are required (uses the _count search parameter).

                ShortNumber of results
                Comments

                This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5".

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

                Enables the requirement "most recent 5 results" to be expressed.

                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                222. PlanDefinition.action.input.sort
                Definition

                Specifies the order of the results to be returned.

                ShortOrder of the results
                Comments

                This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource.

                Control0..*
                TypeElement
                Is Modifierfalse
                Summarytrue
                Requirements

                Enables the requirement "most recent 5 results" to be expressed.

                Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                224. PlanDefinition.action.input.sort.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
                226. PlanDefinition.action.input.sort.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.action.input.sort.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                • value @ url
                • 228. PlanDefinition.action.input.sort.path
                  Definition

                  The attribute of the sort. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant.

                  ShortThe name of the attribute to perform the sort
                  Control1..1
                  Typestring
                  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()))
                  230. PlanDefinition.action.input.sort.direction
                  Definition

                  The direction of the sort, ascending or descending.

                  Shortascending | descending
                  Control1..1
                  BindingThe codes SHALL be taken from SortDirection
                  (required to http://hl7.org/fhir/ValueSet/sort-direction|4.0.1)

                  The possible sort directions, ascending or descending.

                  Typecode
                  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()))
                  232. PlanDefinition.action.output
                  Definition

                  Defines the outputs of the action, if any.

                  ShortOutput data definition
                  Control0..*
                  TypeDataRequirement
                  Is Modifierfalse
                  Must Supporttrue
                  Summaryfalse
                  Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                  234. PlanDefinition.action.output.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
                  236. PlanDefinition.action.output.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.action.output.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                  • value @ url
                  • 238. PlanDefinition.action.output.type
                    Definition

                    The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.

                    ShortThe type of the required data
                    Control1..1
                    BindingThe codes SHALL be taken from FHIRAllTypes
                    (required to http://hl7.org/fhir/ValueSet/all-types|4.0.1)

                    A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.

                    Typecode
                    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()))
                    240. PlanDefinition.action.output.profile
                    Definition

                    The profile of the required data, specified as the uri of the profile definition.

                    ShortThe profile of the required data
                    Control0..*
                    Typecanonical(StructureDefinition)
                    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()))
                    242. PlanDefinition.action.output.subject[x]
                    Definition

                    The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed.

                    ShortE.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
                    Comments

                    The subject of a data requirement is critical, as the data being specified is determined with respect to a particular subject. This corresponds roughly to the notion of a Compartment in that it limits what data is available based on its relationship to the subject. In CQL, this corresponds to the context declaration.

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

                    The possible types of subjects for a data requirement (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
                    Summarytrue
                    Meaning if MissingPatient
                    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    244. PlanDefinition.action.output.mustSupport
                    Definition

                    Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available.

                    The value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the Simple FHIRPath Profile for full details).

                    ShortIndicates specific structure elements that are referenced by the knowledge module
                    Control0..*
                    Typestring
                    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()))
                    246. PlanDefinition.action.output.codeFilter
                    Definition

                    Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed.

                    ShortWhat codes are expected
                    Control0..*
                    TypeElement
                    Is Modifierfalse
                    Summarytrue
                    Invariantsdrq-1: Either a path or a searchParam must be provided, but not both (path.exists() xor searchParam.exists())
                    ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                    248. PlanDefinition.action.output.codeFilter.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
                    250. PlanDefinition.action.output.codeFilter.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.action.output.codeFilter.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                    • value @ url
                    • 252. PlanDefinition.action.output.codeFilter.path
                      Definition

                      The code-valued attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). 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). Note that the index must be an integer constant. The path must resolve to an element of type code, Coding, or CodeableConcept.

                      ShortA code-valued attribute to filter on
                      Comments

                      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
                      Summarytrue
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      254. PlanDefinition.action.output.codeFilter.searchParam
                      Definition

                      A token parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type code, Coding, or CodeableConcept.

                      ShortA coded (token) parameter to search on
                      Control0..1
                      Typestring
                      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()))
                      256. PlanDefinition.action.output.codeFilter.valueSet
                      Definition

                      The valueset for the code filter. The valueSet and code elements are additive. If valueSet is specified, the filter will return only those data items for which the value of the code-valued element specified in the path is a member of the specified valueset.

                      ShortValueset for the filter
                      Control0..1
                      Typecanonical(ValueSet)
                      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()))
                      258. PlanDefinition.action.output.codeFilter.code
                      Definition

                      The codes for the code filter. If values are given, the filter will return only those data items for which the code-valued attribute specified by the path has a value that is one of the specified codes. If codes are specified in addition to a value set, the filter returns items matching a code in the value set or one of the specified codes.

                      ShortWhat code is expected
                      Control0..*
                      TypeCoding
                      Is Modifierfalse
                      Summarytrue
                      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      260. PlanDefinition.action.output.dateFilter
                      Definition

                      Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.

                      ShortWhat dates/date ranges are expected
                      Control0..*
                      TypeElement
                      Is Modifierfalse
                      Summarytrue
                      Invariantsdrq-2: Either a path or a searchParam must be provided, but not both (path.exists() xor searchParam.exists())
                      ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                      262. PlanDefinition.action.output.dateFilter.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
                      264. PlanDefinition.action.output.dateFilter.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.action.output.dateFilter.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                      • value @ url
                      • 266. PlanDefinition.action.output.dateFilter.path
                        Definition

                        The date-valued attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). 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). Note that the index must be an integer constant. The path must resolve to an element of type date, dateTime, Period, Schedule, or Timing.

                        ShortA date-valued attribute to filter on
                        Comments

                        The path attribute contains a Simple FHIR 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
                        Summarytrue
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        268. PlanDefinition.action.output.dateFilter.searchParam
                        Definition

                        A date parameter that refers to a search parameter defined on the specified type of the DataRequirement, and which searches on elements of type date, dateTime, Period, Schedule, or Timing.

                        ShortA date valued parameter to search on
                        Control0..1
                        Typestring
                        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()))
                        270. PlanDefinition.action.output.dateFilter.value[x]
                        Definition

                        The value of the filter. If period is specified, the filter will return only those data items that fall within the bounds determined by the Period, inclusive of the period boundaries. If dateTime is specified, the filter will return only those data items that are equal to the specified dateTime. If a Duration is specified, the filter will return only those data items that fall within Duration before now.

                        ShortThe value of the filter, as a Period, DateTime, or Duration value
                        Control0..1
                        TypeChoice of: dateTime, Period, Duration
                        [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
                        Summarytrue
                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        272. PlanDefinition.action.output.limit
                        Definition

                        Specifies a maximum number of results that are required (uses the _count search parameter).

                        ShortNumber of results
                        Comments

                        This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5".

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

                        Enables the requirement "most recent 5 results" to be expressed.

                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        274. PlanDefinition.action.output.sort
                        Definition

                        Specifies the order of the results to be returned.

                        ShortOrder of the results
                        Comments

                        This element can be used in combination with the sort element to specify quota requirements such as "the most recent 5" or "the highest 5". When multiple sorts are specified, they are applied in the order they appear in the resource.

                        Control0..*
                        TypeElement
                        Is Modifierfalse
                        Summarytrue
                        Requirements

                        Enables the requirement "most recent 5 results" to be expressed.

                        Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                        276. PlanDefinition.action.output.sort.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
                        278. PlanDefinition.action.output.sort.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.action.output.sort.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                        • value @ url
                        • 280. PlanDefinition.action.output.sort.path
                          Definition

                          The attribute of the sort. The specified path must be resolvable from the type of the required data. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements. Note that the index must be an integer constant.

                          ShortThe name of the attribute to perform the sort
                          Control1..1
                          Typestring
                          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()))
                          282. PlanDefinition.action.output.sort.direction
                          Definition

                          The direction of the sort, ascending or descending.

                          Shortascending | descending
                          Control1..1
                          BindingThe codes SHALL be taken from SortDirection
                          (required to http://hl7.org/fhir/ValueSet/sort-direction|4.0.1)

                          The possible sort directions, ascending or descending.

                          Typecode
                          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()))
                          284. 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
                          Must Supporttrue
                          Summaryfalse
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          286. 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
                          288. 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())
                          290. 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())
                          292. 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
                          Must Supporttrue
                          Summaryfalse
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          294. 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
                          Must Supporttrue
                          Summaryfalse
                          Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
                          296. 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()))
                          SlicingThis element introduces a set of slices on PlanDefinition.action.relatedAction.offset[x]. The slices areUnordered and Open, and can be differentiated using the following discriminators:
                          • type @ $this
                          • 298. PlanDefinition.action.relatedAction.offset[x]:offsetDuration
                            Slice NameoffsetDuration
                            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
                            TypeDuration
                            [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()))
                            300. PlanDefinition.action.timing[x]
                            Definition

                            An optional value describing when the action should be performed.

                            ShortWhen the action should take place
                            Control0..1
                            TypeDuration
                            [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()))
                            302. 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()))
                            304. 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
                            306. 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())
                            308. 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())
                            310. 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()))
                            312. 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)

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

                            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()))
                            316. 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()))
                            318. 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()))
                            320. 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()))
                            322. 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()))
                            324. 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()))
                            326. 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()))
                            328. 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()))
                            330. 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()))
                            332. 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
                            334. 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())
                            336. 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())
                            338. 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()))
                            340. 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()))
                            342. 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..*
                            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()))