This page is part of the FHIR Specification v6.0.0-ballot3: Release 6 Ballot (3rd Draft) (see Ballot Notes). The current version is 5.0.0.  For a full list of available versions, see the Directory of published versions 
| Clinical Decision Support  Work Group | Maturity Level: 3 | Trial Use | Use Context: Any | 
The canonical URL for this profile is:
http://hl7.org/fhir/StructureDefinition/cdshooksserviceplandefinition
Defines a PlanDefinition that implements the behavior for a CDS Hooks service
This profile was published on Thu, Jan 1, 1970 00:00+1000 as a draft by HL7.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from PlanDefinition.
Summary
Mandatory: 1 element
 Must-Support: 10 elements
Extensions
This structure refers to these extensions:
This indicates the differences between this profile and the base PlanDefinition structure.
| Name  | Flags  | Card.  | Type  | Description & Constraints   | 
|---|---|---|---|---|
|   PlanDefinition | 1..1 | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context | |
|    Slices for extension | Content/Rules for all slices | |||
|     extension:cdsHooksEndpoint | 1..1 | uri | Service endpoint URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint | |
|    action | 0..* | BackboneElement | Action defined by the plan | |
|     title | S | 0..1 | string | User-visible title | 
|     description | S | 0..1 | markdown | Brief description of the action | 
|     priority | S | 0..1 | code | routine | urgent | asap | stat | 
|     trigger | S | 0..* | TriggerDefinition | When the action should be triggered | 
|     condition | S | 0..* | BackboneElement | Whether or not the action is applicable | 
|     timing[x] | S | 0..1 | Age, Duration, Range, Timing | When the action should take place | 
|     participant | S | 0..* | BackboneElement | Who should participate in the action | 
|     type | S | 0..1 | CodeableConcept | create | update | remove | fire-event | 
|     selectionBehavior | S | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more | 
|     definition[x] | S | 0..1 | canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition), uri | Description of the activity to be performed | 
|  | ||||
This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base PlanDefinition structure.
| Name  | Flags  | Card.  | Type  | Description & Constraints   | ||||
|---|---|---|---|---|---|---|---|---|
|   PlanDefinition | C  | 1..1 | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation pld-3: goalid should reference the id of a goal definition pld-4: targetId should reference the id of an action | ||||
|    id | Σ | 0..1 | id | Logical id of this artifact | ||||
|    meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
|    implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
|    language | 0..1 | code | Language of the resource content Binding: All Languages (required): IETF language tag for a human language 
 | |||||
|    text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
|    contained | 0..* | Resource | Contained, inline Resources | |||||
|    Slices for extension | 1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
|     extension:cdsHooksEndpoint | 1..1 | uri | Service endpoint URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint | |||||
|    modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
|    url | ΣC  | 0..1 | uri | Canonical identifier for this plan definition, represented as a URI (globally unique) cnl-1: URL should not contain | or # - these characters make processing canonical references problematic | ||||
|    identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition | ||||
|    version | Σ | 0..1 | string | Business version of the plan definition | ||||
|    versionAlgorithm[x] | Σ | 0..1 | How to compare versions Binding: Version Algorithm (extensible) | |||||
|     versionAlgorithmString | string | |||||||
|     versionAlgorithmCoding | Coding | |||||||
|    name | ΣC  | 0..1 | string | Name for this plan definition (computer friendly) | ||||
|    title | Σ | 0..1 | string | Name for this plan definition (human friendly) | ||||
|    subtitle | 0..1 | string | Subordinate title of the plan definition | |||||
|    type | Σ | 0..1 | CodeableConcept | order-set | clinical-protocol | eca-rule | workflow-definition Binding: Plan Definition Type (extensible): The type of PlanDefinition. | ||||
|    status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
|    experimental | Σ | 0..1 | boolean | For testing only - never for real usage | ||||
|    subject[x] | 0..1 | Type of individual the plan definition is focused on Binding: Participant Resource Types (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.). | ||||||
|     subjectCodeableConcept | CodeableConcept | |||||||
|     subjectReference | Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) | |||||||
|     subjectCanonical | canonical(EvidenceVariable) | |||||||
|    date | Σ | 0..1 | dateTime | Date last changed | ||||
|    publisher | Σ | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
|    contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
|    description | Σ | 0..1 | markdown | Natural language description of the plan definition | ||||
|    useContext | Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
|    jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
|    purpose | 0..1 | markdown | Why this plan definition is defined | |||||
|    usage | 0..1 | markdown | Describes the clinical usage of the plan | |||||
|    copyright | 0..1 | markdown | Use and/or publishing restrictions | |||||
|    copyrightLabel | 0..1 | string | Copyright holder and year(s) | |||||
|    approvalDate | 0..1 | date | When the plan definition was approved by publisher | |||||
|    lastReviewDate | 0..1 | date | When the plan definition was last reviewed by the publisher | |||||
|    effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used | ||||
|    topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment Binding: Definition Topic (example): High-level categorization of the definition, used for searching, sorting, and filtering. | |||||
|    author | 0..* | ContactDetail | Who authored the content | |||||
|    editor | 0..* | ContactDetail | Who edited the content | |||||
|    reviewer | 0..* | ContactDetail | Who reviewed the content | |||||
|    endorser | 0..* | ContactDetail | Who endorsed the content | |||||
|    relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations | |||||
|    library | 0..* | canonical(Library) | Logic used by the plan definition | |||||
|    goal | C  | 0..* | BackboneElement | What the plan is trying to accomplish | ||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     category | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral Binding: Goal Category (example): Example codes for grouping goals for filtering or presentation. | |||||
|     description | 1..1 | CodeableConcept | Code or text describing the goal Binding: SNOMED CT Clinical Findings (example): Describes goals that can be achieved. | |||||
|     priority | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: Goal Priority (preferred): Indicates the level of importance associated with reaching or sustaining a goal. | |||||
|     start | 0..1 | CodeableConcept | When goal pursuit begins Binding: Goal Start Event (example): Identifies the types of events that might trigger the start of a goal. | |||||
|     addresses | 0..* | CodeableConcept | What does the goal address Binding: Condition/Problem/Diagnosis Codes (example): Identifies problems, conditions, issues, or concerns that goals may address. | |||||
|     documentation | 0..* | RelatedArtifact | Supporting documentation for the goal | |||||
|     target | 0..* | BackboneElement | Target outcome for the goal | |||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      measure | 0..1 | CodeableConcept | The parameter whose value is to be tracked Binding: LOINC Codes (example): Identifies types of parameters that can be tracked to determine goal achievement. | |||||
|      detail[x] | 0..1 | The target value to be achieved | ||||||
|       detailQuantity | Quantity | |||||||
|       detailRange | Range | |||||||
|       detailCodeableConcept | CodeableConcept | |||||||
|       detailString | string | |||||||
|       detailBoolean | boolean | |||||||
|       detailInteger | integer | |||||||
|       detailRatio | Ratio | |||||||
|      due | 0..1 | Duration | Reach goal within | |||||
|    actor | 0..* | BackboneElement | Actors within the plan | |||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     title | 0..1 | string | User-visible title | |||||
|     description | 0..1 | markdown | Describes the actor | |||||
|     option | 1..* | BackboneElement | Who or what can be this actor | |||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      type | 0..1 | code | careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson Binding: Action Participant Type (required): The type of participant in the activity. | |||||
|      typeCanonical | 0..1 | canonical(CapabilityStatement) | Who or what can participate | |||||
|      typeReference | 0..1 | Reference(BiologicallyDerivedProduct | CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Medication | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Specimen | Substance) | Who or what can participate | |||||
|      role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: Action Participant Role  (example) | |||||
|    action | C  | 0..* | BackboneElement | Action defined by the plan | ||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     linkId | 0..1 | string | Unique id for the action in the PlanDefinition | |||||
|     prefix | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.) | |||||
|     title | S | 0..1 | string | User-visible title | ||||
|     description | S | 0..1 | markdown | Brief description of the action | ||||
|     textEquivalent | 0..1 | markdown | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system | |||||
|     priority | S | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||
|     code | 0..1 | CodeableConcept | Code representing the meaning of the action or sub-actions Binding: Action Code (example): Provides examples of actions to be performed. | |||||
|     reason | 0..* | CodeableConcept | Why the action should be performed Binding: Action Reason Code (example): Provides examples of reasons for actions to be performed. | |||||
|     documentation | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action | |||||
|     goalId | C  | 0..* | string | What goals this action supports | ||||
|     subject[x] | 0..1 | Type of individual the action is focused on Binding: Participant Resource Types (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.). | ||||||
|      subjectCodeableConcept | CodeableConcept | |||||||
|      subjectReference | Reference(Group) | |||||||
|      subjectCanonical | canonical(Any) | |||||||
|     trigger | S | 0..* | TriggerDefinition | When the action should be triggered | ||||
|     condition | S | 0..* | BackboneElement | Whether or not the action is applicable | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      kind | 1..1 | code | applicability | start | stop Binding: Action Condition Kind (required): Defines the kinds of conditions that can appear on actions. | |||||
|      expression | 0..1 | Expression | Boolean-valued expression | |||||
|     input | C  | 0..* | BackboneElement | Input data requirements pld-0: Input data elements must have a requirement or a relatedData, but not both | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      title | 0..1 | string | User-visible title | |||||
|      requirement | C  | 0..1 | DataRequirement | What data is provided | ||||
|      relatedData | C  | 0..1 | string | What data is provided | ||||
|     output | C  | 0..* | BackboneElement | Output data definition pld-1: Output data element must have a requirement or a relatedData, but not both | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      title | 0..1 | string | User-visible title | |||||
|      requirement | C  | 0..1 | DataRequirement | What data is provided | ||||
|      relatedData | C  | 0..1 | string | What data is provided | ||||
|     relatedAction | C  | 0..* | BackboneElement | Relationship to another action | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      targetId | C  | 1..1 | string | What action is this related to | ||||
|      relationship | 1..1 | code | before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end Binding: Action Relationship Type (required): Defines the types of relationships between actions. | |||||
|      endRelationship | 0..1 | code | before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end Binding: Action Relationship Type (required): Defines the types of relationships between actions. | |||||
|      offset[x] | 0..1 | Time offset for the relationship | ||||||
|       offsetDuration | Duration | |||||||
|       offsetRange | Range | |||||||
|     timing[x] | S | 0..1 | When the action should take place | |||||
|      timingAge | Age | |||||||
|      timingDuration | Duration | |||||||
|      timingRange | Range | |||||||
|      timingTiming | Timing | |||||||
|     location | 0..1 | CodeableReference(Location) | Where it should happen | |||||
|     participant | S | 0..* | BackboneElement | Who should participate in the action | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      actorId | 0..1 | string | What actor | |||||
|      type | 0..1 | code | careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson Binding: Action Participant Type (required): The type of participant in the activity. | |||||
|      typeCanonical | 0..1 | canonical(CapabilityStatement) | Who or what can participate | |||||
|      typeReference | 0..1 | Reference(BiologicallyDerivedProduct | CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Medication | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Specimen | Substance) | Who or what can participate | |||||
|      role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: Action Participant Role  (example): Defines roles played by participants for the action. | |||||
|      function | 0..1 | CodeableConcept | E.g. Author, Reviewer, Witness, etc Binding: Action Participant Function (example) | |||||
|     type | S | 0..1 | CodeableConcept | create | update | remove | fire-event Binding: Action Type (extensible): The type of action to be performed. | ||||
|     groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group Binding: Action Grouping Behavior (required): Defines organization behavior of a group. | |||||
|     selectionBehavior | S | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more Binding: Action Selection Behavior (required): Defines selection behavior of a group. | ||||
|     requiredBehavior | 0..1 | code | must | could | must-unless-documented Binding: Action Required Behavior (required): Defines expectations around whether an action or action group is required. | |||||
|     precheckBehavior | 0..1 | code | yes | no Binding: Action Precheck Behavior (required): Defines selection frequency behavior for an action or group. | |||||
|     cardinalityBehavior | 0..1 | code | single | multiple Binding: Action Cardinality Behavior (required): Defines behavior for an action or a group for how many times that item may be repeated. | |||||
|     definition[x] | S | 0..1 | Description of the activity to be performed | |||||
|      definitionCanonical | canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) | |||||||
|      definitionUri | uri | |||||||
|     transform | 0..1 | canonical(StructureMap) | Transform to apply the template | |||||
|     dynamicValue | 0..* | BackboneElement | Dynamic aspects of the definition | |||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      path | 0..1 | string | The path to the element to be set dynamically | |||||
|      expression | 0..1 | Expression | An expression that provides the dynamic value for the customization | |||||
|     action | 0..* | See action (PlanDefinition) | A sub-action | |||||
|    asNeeded[x] | Σ | 0..1 | Preconditions for service Binding: SNOMED CT Medication As Needed Reason Codes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc. | |||||
|     asNeededBoolean | boolean | |||||||
|     asNeededCodeableConcept | CodeableConcept | |||||||
|  | ||||||||
<!-- CDSHooksServicePlanDefinition --><PlanDefinition xmlns="http://hl7.org/fhir" > <!-- from Element: extension --> <id value="[id]"/><!-- 0..1 Logical id of this artifact --> <meta><!-- I 0..1 Meta Metadata about the resource --></meta> <implicitRules value="[uri]"/><!-- I 0..1 A set of rules under which this content was created --> <language value="[code]"/><!-- I 0..1 Language of the resource content --> <text><!-- I 0..1 Narrative Text summary of the resource, for human interpretation --></text> <contained><!-- 0..* Resource Contained, inline Resources --></contained> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored --></modifierExtension> <url value="[uri]"/><!-- I 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) --> <identifier><!-- I 0..* Identifier Additional identifier for the plan definition --></identifier> <version value="[string]"/><!-- I 0..1 Business version of the plan definition --> <versionAlgorithm[x]><!-- I 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this plan definition (computer friendly) --> <title value="[string]"/><!-- I 0..1 Name for this plan definition (human friendly) --> <subtitle value="[string]"/><!-- I 0..1 Subordinate title of the plan definition --> <type><!-- I 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition --></type> <status value="[code]"/><!-- I 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- I 0..1 For testing only - never for real usage --> <subject[x]><!-- I 0..1 CodeableConcept|Reference(Group)|canonical Type of individual the plan definition is focused on --></subject[x]> <date value="[dateTime]"/><!-- I 0..1 Date last changed --> <publisher value="[string]"/><!-- I 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- I 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- I 0..1 Natural language description of the plan definition --> <useContext><!-- I 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- I 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- I 0..1 Why this plan definition is defined --> <usage value="[markdown]"/><!-- I 0..1 Describes the clinical usage of the plan --> <copyright value="[markdown]"/><!-- I 0..1 Use and/or publishing restrictions --> <copyrightLabel value="[string]"/><!-- I 0..1 Copyright holder and year(s) --> <approvalDate value="[date]"/><!-- I 0..1 When the plan definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- I 0..1 When the plan definition was last reviewed by the publisher --> <effectivePeriod><!-- I 0..1 Period When the plan definition is expected to be used --></effectivePeriod> <topic><!-- I 0..* CodeableConcept E.g. Education, Treatment, Assessment --></topic> <author><!-- I 0..* ContactDetail Who authored the content --></author> <editor><!-- I 0..* ContactDetail Who edited the content --></editor> <reviewer><!-- I 0..* ContactDetail Who reviewed the content --></reviewer> <endorser><!-- I 0..* ContactDetail Who endorsed the content --></endorser> <relatedArtifact><!-- I 0..* RelatedArtifact Additional documentation, citations --></relatedArtifact> <library value="[canonical]"/><!-- I 0..* Logic used by the plan definition --> <goal> I 0..* BackboneElement <!-- I 0..* What the plan is trying to accomplish --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <category><!-- I 0..1 CodeableConcept E.g. Treatment, dietary, behavioral --></category> <description><!-- I 1..1 CodeableConcept Code or text describing the goal --></description> <priority><!-- I 0..1 CodeableConcept high-priority | medium-priority | low-priority --></priority> <start><!-- I 0..1 CodeableConcept When goal pursuit begins --></start> <addresses><!-- I 0..* CodeableConcept What does the goal address --></addresses> <documentation><!-- I 0..* RelatedArtifact Supporting documentation for the goal --></documentation> <target> I 0..* BackboneElement <!-- I 0..* Target outcome for the goal --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <measure><!-- I 0..1 CodeableConcept The parameter whose value is to be tracked --></measure> <detail[x]><!-- I 0..1 Quantity|Range| CodeableConcept|string|boolean|integer|Ratio The target value to be achieved --></detail[x]> <due><!-- I 0..1 Duration Reach goal within --></due> </target> </goal> <actor> I 0..* BackboneElement <!-- I 0..* Actors within the plan --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <title value="[string]"/><!-- I 0..1 User-visible title --> <description value="[markdown]"/><!-- I 0..1 Describes the actor --> <option> I 1..* BackboneElement <!-- I 1..* Who or what can be this actor --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <type value="[code]"/><!-- I 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --> <typeCanonical value="[canonical]"/><!-- I 0..1 Who or what can participate --> <typeReference><!-- I 0..1 Reference(BiologicallyDerivedProduct) Who or what can participate --></typeReference> <role><!-- I 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
--></role> </option> </actor> <action> I 0..* BackboneElement <!-- I 0..* Action defined by the plan --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <linkId value="[string]"/><!-- I 0..1 Unique id for the action in the PlanDefinition --> <prefix value="[string]"/><!-- I 0..1 User-visible prefix for the action (e.g. 1. or A.) --> <title value="[string]"/><!-- I 0..1 User-visible title --> <description value="[markdown]"/><!-- I 0..1 Brief description of the action --> <textEquivalent value="[markdown]"/><!-- I 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system --> <priority value="[code]"/><!-- I 0..1 routine | urgent | asap | stat --> <code><!-- I 0..1 CodeableConcept Code representing the meaning of the action or sub-actions --></code> <reason><!-- I 0..* CodeableConcept Why the action should be performed --></reason> <documentation><!-- I 0..* RelatedArtifact Supporting documentation for the intended performer of the action --></documentation> <goalId value="[string]"/><!-- I 0..* What goals this action supports --> <subject[x]><!-- I 0..1 CodeableConcept|Reference(Group)| canonical Type of individual the action is focused on --></subject[x]> <trigger><!-- I 0..* TriggerDefinition When the action should be triggered --></trigger> <condition> I 0..* BackboneElement <!-- I 0..* Whether or not the action is applicable --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <kind value="[code]"/><!-- I 1..1 applicability | start | stop --> <expression><!-- I 0..1 Expression Boolean-valued expression --></expression> </condition> <input> I 0..* BackboneElement <!-- I 0..* Input data requirements --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <title value="[string]"/><!-- I 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </input> <output> I 0..* BackboneElement <!-- I 0..* Output data definition --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <title value="[string]"/><!-- I 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </output> <relatedAction> I 0..* BackboneElement <!-- I 0..* Relationship to another action --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <targetId value="[string]"/><!-- I 1..1 What action is this related to --> <relationship value="[code]"/><!-- I 1..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <endRelationship value="[code]"/><!-- I 0..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <offset[x]><!-- I 0..1 Duration|Range Time offset for the relationship --></offset[x]> </relatedAction> <timing[x]><!-- I 0..1 Age|Duration|Range|Timing When the action should take place --></timing[x]> <location><!-- I 0..1 CodeableReference Where it should happen --></location> <participant> I 0..* BackboneElement <!-- I 0..* Who should participate in the action --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <actorId value="[string]"/><!-- I 0..1 What actor --> <type value="[code]"/><!-- I 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --> <typeCanonical value="[canonical]"/><!-- I 0..1 Who or what can participate --> <typeReference><!-- I 0..1 Reference(BiologicallyDerivedProduct) Who or what can participate --></typeReference> <role><!-- I 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
--></role> <function><!-- I 0..1 CodeableConcept E.g. Author, Reviewer, Witness, etc --></function> </participant> <type><!-- I 0..1 CodeableConcept create | update | remove | fire-event --></type> <groupingBehavior value="[code]"/><!-- I 0..1 visual-group | logical-group | sentence-group --> <selectionBehavior value="[code]"/><!-- I 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more --> <requiredBehavior value="[code]"/><!-- I 0..1 must | could | must-unless-documented --> <precheckBehavior value="[code]"/><!-- I 0..1 yes | no --> <cardinalityBehavior value="[code]"/><!-- I 0..1 single | multiple --> <definition[x]><!-- I 0..1 canonical|uri Description of the activity to be performed --></definition[x]> <transform value="[canonical]"/><!-- I 0..1 Transform to apply the template --> <dynamicValue> I 0..* BackboneElement <!-- I 0..* Dynamic aspects of the definition --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <path value="[string]"/><!-- I 0..1 The path to the element to be set dynamically --> <expression><!-- I 0..1 Expression An expression that provides the dynamic value for the customization --></expression> </dynamicValue> <action><!-- See http://hl7.org/fhir/StructureDefinition/PlanDefinition#PlanDefinition.action A sub-action --></action> </action> <asNeeded[x]><!-- I 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]> </PlanDefinition>
{ // CDSHooksServicePlanDefinition
  // from Element: extension
    "meta" : { Meta }, // IMetadata about the resource
    "implicitRules" : "<uri>", // IA set of rules under which this content was created
    "language" : "<code>", // ILanguage of the resource content
    "text" : { Narrative }, // IText summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // Service endpoint // I R! 
        // from Element: extension
      }
    ],
    "modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored
    "url" : "<uri>", // ICanonical identifier for this plan definition, represented as a URI (globally unique)
    "identifier" : [{ Identifier }], // IAdditional identifier for the plan definition
    "version" : "<string>", // IBusiness version of the plan definition
  // value[x]: How to compare versions. One of these 2:
    "versionAlgorithmString" : "<string>", // IHow to compare versions
    "versionAlgorithmCoding" : { Coding }, // IHow to compare versions
    "name" : "<string>", // IName for this plan definition (computer friendly)
    "title" : "<string>", // IName for this plan definition (human friendly)
    "subtitle" : "<string>", // ISubordinate title of the plan definition
    "type" : { CodeableConcept }, // Iorder-set | clinical-protocol | eca-rule | workflow-definition
    "status" : "<code>", // I R! draft | active | retired | unknown
    "experimental" : <boolean>, // IFor testing only - never for real usage
  // value[x]: Type of individual the plan definition is focused on. One of these 3:
    "subjectCodeableConcept" : { CodeableConcept }, // IType of individual the plan definition is focused on
    "subjectReference" : { Reference(Group) }, // IType of individual the plan definition is focused on
    "subjectCanonical" : "<canonical>", // IType of individual the plan definition is focused on
    "date" : "<dateTime>", // IDate last changed
    "publisher" : "<string>", // IName of the publisher/steward (organization or individual)
    "contact" : [{ ContactDetail }], // IContact details for the publisher
    "description" : "<markdown>", // INatural language description of the plan definition
    "useContext" : [{ UsageContext }], // IThe context that the content is intended to support
    "jurisdiction" : [{ CodeableConcept }], // IIntended jurisdiction for plan definition (if applicable)
    "purpose" : "<markdown>", // IWhy this plan definition is defined
    "usage" : "<markdown>", // IDescribes the clinical usage of the plan
    "copyright" : "<markdown>", // IUse and/or publishing restrictions
    "copyrightLabel" : "<string>", // ICopyright holder and year(s)
    "approvalDate" : "<date>", // IWhen the plan definition was approved by publisher
    "lastReviewDate" : "<date>", // IWhen the plan definition was last reviewed by the publisher
    "effectivePeriod" : { Period }, // IWhen the plan definition is expected to be used
    "topic" : [{ CodeableConcept }], // IE.g. Education, Treatment, Assessment
    "author" : [{ ContactDetail }], // IWho authored the content
    "editor" : [{ ContactDetail }], // IWho edited the content
    "reviewer" : [{ ContactDetail }], // IWho reviewed the content
    "endorser" : [{ ContactDetail }], // IWho endorsed the content
    "relatedArtifact" : [{ RelatedArtifact }], // IAdditional documentation, citations
    "library" : ["<canonical>"], // ILogic used by the plan definition
    "goal" : [{ BackboneElement }], // IWhat the plan is trying to accomplish
    "actor" : [{ BackboneElement }], // IActors within the plan
    "action" : [{ BackboneElement }], // IAction defined by the plan
  // value[x]: Preconditions for service. One of these 2:
    "asNeededBoolean" : <boolean>, // IPreconditions for service
    "asNeededCodeableConcept" : { CodeableConcept }, // IPreconditions for service
  }
   This structure is derived from PlanDefinition.
Differential View
This indicates the differences between this profile and the base PlanDefinition structure.
| Name  | Flags  | Card.  | Type  | Description & Constraints   | 
|---|---|---|---|---|
|   PlanDefinition | 1..1 | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context | |
|    Slices for extension | Content/Rules for all slices | |||
|     extension:cdsHooksEndpoint | 1..1 | uri | Service endpoint URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint | |
|    action | 0..* | BackboneElement | Action defined by the plan | |
|     title | S | 0..1 | string | User-visible title | 
|     description | S | 0..1 | markdown | Brief description of the action | 
|     priority | S | 0..1 | code | routine | urgent | asap | stat | 
|     trigger | S | 0..* | TriggerDefinition | When the action should be triggered | 
|     condition | S | 0..* | BackboneElement | Whether or not the action is applicable | 
|     timing[x] | S | 0..1 | Age, Duration, Range, Timing | When the action should take place | 
|     participant | S | 0..* | BackboneElement | Who should participate in the action | 
|     type | S | 0..1 | CodeableConcept | create | update | remove | fire-event | 
|     selectionBehavior | S | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more | 
|     definition[x] | S | 0..1 | canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition), uri | Description of the activity to be performed | 
|  | ||||
Snapshot View
This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base PlanDefinition structure.
| Name  | Flags  | Card.  | Type  | Description & Constraints   | ||||
|---|---|---|---|---|---|---|---|---|
|   PlanDefinition | C  | 1..1 | PlanDefinition | The definition of a plan for a series of actions, independent of any specific patient or context cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation pld-3: goalid should reference the id of a goal definition pld-4: targetId should reference the id of an action | ||||
|    id | Σ | 0..1 | id | Logical id of this artifact | ||||
|    meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
|    implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
|    language | 0..1 | code | Language of the resource content Binding: All Languages (required): IETF language tag for a human language 
 | |||||
|    text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
|    contained | 0..* | Resource | Contained, inline Resources | |||||
|    Slices for extension | 1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
|     extension:cdsHooksEndpoint | 1..1 | uri | Service endpoint URL: http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint | |||||
|    modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
|    url | ΣC  | 0..1 | uri | Canonical identifier for this plan definition, represented as a URI (globally unique) cnl-1: URL should not contain | or # - these characters make processing canonical references problematic | ||||
|    identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition | ||||
|    version | Σ | 0..1 | string | Business version of the plan definition | ||||
|    versionAlgorithm[x] | Σ | 0..1 | How to compare versions Binding: Version Algorithm (extensible) | |||||
|     versionAlgorithmString | string | |||||||
|     versionAlgorithmCoding | Coding | |||||||
|    name | ΣC  | 0..1 | string | Name for this plan definition (computer friendly) | ||||
|    title | Σ | 0..1 | string | Name for this plan definition (human friendly) | ||||
|    subtitle | 0..1 | string | Subordinate title of the plan definition | |||||
|    type | Σ | 0..1 | CodeableConcept | order-set | clinical-protocol | eca-rule | workflow-definition Binding: Plan Definition Type (extensible): The type of PlanDefinition. | ||||
|    status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. | ||||
|    experimental | Σ | 0..1 | boolean | For testing only - never for real usage | ||||
|    subject[x] | 0..1 | Type of individual the plan definition is focused on Binding: Participant Resource Types (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.). | ||||||
|     subjectCodeableConcept | CodeableConcept | |||||||
|     subjectReference | Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) | |||||||
|     subjectCanonical | canonical(EvidenceVariable) | |||||||
|    date | Σ | 0..1 | dateTime | Date last changed | ||||
|    publisher | Σ | 0..1 | string | Name of the publisher/steward (organization or individual) | ||||
|    contact | Σ | 0..* | ContactDetail | Contact details for the publisher | ||||
|    description | Σ | 0..1 | markdown | Natural language description of the plan definition | ||||
|    useContext | Σ | 0..* | UsageContext | The context that the content is intended to support | ||||
|    jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use. | ||||
|    purpose | 0..1 | markdown | Why this plan definition is defined | |||||
|    usage | 0..1 | markdown | Describes the clinical usage of the plan | |||||
|    copyright | 0..1 | markdown | Use and/or publishing restrictions | |||||
|    copyrightLabel | 0..1 | string | Copyright holder and year(s) | |||||
|    approvalDate | 0..1 | date | When the plan definition was approved by publisher | |||||
|    lastReviewDate | 0..1 | date | When the plan definition was last reviewed by the publisher | |||||
|    effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used | ||||
|    topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment Binding: Definition Topic (example): High-level categorization of the definition, used for searching, sorting, and filtering. | |||||
|    author | 0..* | ContactDetail | Who authored the content | |||||
|    editor | 0..* | ContactDetail | Who edited the content | |||||
|    reviewer | 0..* | ContactDetail | Who reviewed the content | |||||
|    endorser | 0..* | ContactDetail | Who endorsed the content | |||||
|    relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations | |||||
|    library | 0..* | canonical(Library) | Logic used by the plan definition | |||||
|    goal | C  | 0..* | BackboneElement | What the plan is trying to accomplish | ||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     category | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral Binding: Goal Category (example): Example codes for grouping goals for filtering or presentation. | |||||
|     description | 1..1 | CodeableConcept | Code or text describing the goal Binding: SNOMED CT Clinical Findings (example): Describes goals that can be achieved. | |||||
|     priority | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: Goal Priority (preferred): Indicates the level of importance associated with reaching or sustaining a goal. | |||||
|     start | 0..1 | CodeableConcept | When goal pursuit begins Binding: Goal Start Event (example): Identifies the types of events that might trigger the start of a goal. | |||||
|     addresses | 0..* | CodeableConcept | What does the goal address Binding: Condition/Problem/Diagnosis Codes (example): Identifies problems, conditions, issues, or concerns that goals may address. | |||||
|     documentation | 0..* | RelatedArtifact | Supporting documentation for the goal | |||||
|     target | 0..* | BackboneElement | Target outcome for the goal | |||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      measure | 0..1 | CodeableConcept | The parameter whose value is to be tracked Binding: LOINC Codes (example): Identifies types of parameters that can be tracked to determine goal achievement. | |||||
|      detail[x] | 0..1 | The target value to be achieved | ||||||
|       detailQuantity | Quantity | |||||||
|       detailRange | Range | |||||||
|       detailCodeableConcept | CodeableConcept | |||||||
|       detailString | string | |||||||
|       detailBoolean | boolean | |||||||
|       detailInteger | integer | |||||||
|       detailRatio | Ratio | |||||||
|      due | 0..1 | Duration | Reach goal within | |||||
|    actor | 0..* | BackboneElement | Actors within the plan | |||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     title | 0..1 | string | User-visible title | |||||
|     description | 0..1 | markdown | Describes the actor | |||||
|     option | 1..* | BackboneElement | Who or what can be this actor | |||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      type | 0..1 | code | careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson Binding: Action Participant Type (required): The type of participant in the activity. | |||||
|      typeCanonical | 0..1 | canonical(CapabilityStatement) | Who or what can participate | |||||
|      typeReference | 0..1 | Reference(BiologicallyDerivedProduct | CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Medication | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Specimen | Substance) | Who or what can participate | |||||
|      role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: Action Participant Role  (example) | |||||
|    action | C  | 0..* | BackboneElement | Action defined by the plan | ||||
|     id | 0..1 | string | Unique id for inter-element referencing | |||||
|     extension | 0..* | Extension | Additional content defined by implementations | |||||
|     modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|     linkId | 0..1 | string | Unique id for the action in the PlanDefinition | |||||
|     prefix | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.) | |||||
|     title | S | 0..1 | string | User-visible title | ||||
|     description | S | 0..1 | markdown | Brief description of the action | ||||
|     textEquivalent | 0..1 | markdown | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system | |||||
|     priority | S | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request. | ||||
|     code | 0..1 | CodeableConcept | Code representing the meaning of the action or sub-actions Binding: Action Code (example): Provides examples of actions to be performed. | |||||
|     reason | 0..* | CodeableConcept | Why the action should be performed Binding: Action Reason Code (example): Provides examples of reasons for actions to be performed. | |||||
|     documentation | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action | |||||
|     goalId | C  | 0..* | string | What goals this action supports | ||||
|     subject[x] | 0..1 | Type of individual the action is focused on Binding: Participant Resource Types (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.). | ||||||
|      subjectCodeableConcept | CodeableConcept | |||||||
|      subjectReference | Reference(Group) | |||||||
|      subjectCanonical | canonical(Any) | |||||||
|     trigger | S | 0..* | TriggerDefinition | When the action should be triggered | ||||
|     condition | S | 0..* | BackboneElement | Whether or not the action is applicable | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      kind | 1..1 | code | applicability | start | stop Binding: Action Condition Kind (required): Defines the kinds of conditions that can appear on actions. | |||||
|      expression | 0..1 | Expression | Boolean-valued expression | |||||
|     input | C  | 0..* | BackboneElement | Input data requirements pld-0: Input data elements must have a requirement or a relatedData, but not both | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      title | 0..1 | string | User-visible title | |||||
|      requirement | C  | 0..1 | DataRequirement | What data is provided | ||||
|      relatedData | C  | 0..1 | string | What data is provided | ||||
|     output | C  | 0..* | BackboneElement | Output data definition pld-1: Output data element must have a requirement or a relatedData, but not both | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      title | 0..1 | string | User-visible title | |||||
|      requirement | C  | 0..1 | DataRequirement | What data is provided | ||||
|      relatedData | C  | 0..1 | string | What data is provided | ||||
|     relatedAction | C  | 0..* | BackboneElement | Relationship to another action | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      targetId | C  | 1..1 | string | What action is this related to | ||||
|      relationship | 1..1 | code | before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end Binding: Action Relationship Type (required): Defines the types of relationships between actions. | |||||
|      endRelationship | 0..1 | code | before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end Binding: Action Relationship Type (required): Defines the types of relationships between actions. | |||||
|      offset[x] | 0..1 | Time offset for the relationship | ||||||
|       offsetDuration | Duration | |||||||
|       offsetRange | Range | |||||||
|     timing[x] | S | 0..1 | When the action should take place | |||||
|      timingAge | Age | |||||||
|      timingDuration | Duration | |||||||
|      timingRange | Range | |||||||
|      timingTiming | Timing | |||||||
|     location | 0..1 | CodeableReference(Location) | Where it should happen | |||||
|     participant | S | 0..* | BackboneElement | Who should participate in the action | ||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      actorId | 0..1 | string | What actor | |||||
|      type | 0..1 | code | careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson Binding: Action Participant Type (required): The type of participant in the activity. | |||||
|      typeCanonical | 0..1 | canonical(CapabilityStatement) | Who or what can participate | |||||
|      typeReference | 0..1 | Reference(BiologicallyDerivedProduct | CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Medication | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson | Specimen | Substance) | Who or what can participate | |||||
|      role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: Action Participant Role  (example): Defines roles played by participants for the action. | |||||
|      function | 0..1 | CodeableConcept | E.g. Author, Reviewer, Witness, etc Binding: Action Participant Function (example) | |||||
|     type | S | 0..1 | CodeableConcept | create | update | remove | fire-event Binding: Action Type (extensible): The type of action to be performed. | ||||
|     groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group Binding: Action Grouping Behavior (required): Defines organization behavior of a group. | |||||
|     selectionBehavior | S | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more Binding: Action Selection Behavior (required): Defines selection behavior of a group. | ||||
|     requiredBehavior | 0..1 | code | must | could | must-unless-documented Binding: Action Required Behavior (required): Defines expectations around whether an action or action group is required. | |||||
|     precheckBehavior | 0..1 | code | yes | no Binding: Action Precheck Behavior (required): Defines selection frequency behavior for an action or group. | |||||
|     cardinalityBehavior | 0..1 | code | single | multiple Binding: Action Cardinality Behavior (required): Defines behavior for an action or a group for how many times that item may be repeated. | |||||
|     definition[x] | S | 0..1 | Description of the activity to be performed | |||||
|      definitionCanonical | canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) | |||||||
|      definitionUri | uri | |||||||
|     transform | 0..1 | canonical(StructureMap) | Transform to apply the template | |||||
|     dynamicValue | 0..* | BackboneElement | Dynamic aspects of the definition | |||||
|      id | 0..1 | string | Unique id for inter-element referencing | |||||
|      extension | 0..* | Extension | Additional content defined by implementations | |||||
|      modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
|      path | 0..1 | string | The path to the element to be set dynamically | |||||
|      expression | 0..1 | Expression | An expression that provides the dynamic value for the customization | |||||
|     action | 0..* | See action (PlanDefinition) | A sub-action | |||||
|    asNeeded[x] | Σ | 0..1 | Preconditions for service Binding: SNOMED CT Medication As Needed Reason Codes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc. | |||||
|     asNeededBoolean | boolean | |||||||
|     asNeededCodeableConcept | CodeableConcept | |||||||
|  | ||||||||
XML Template
<!-- CDSHooksServicePlanDefinition --><PlanDefinition xmlns="http://hl7.org/fhir" > <!-- from Element: extension --> <id value="[id]"/><!-- 0..1 Logical id of this artifact --> <meta><!-- I 0..1 Meta Metadata about the resource --></meta> <implicitRules value="[uri]"/><!-- I 0..1 A set of rules under which this content was created --> <language value="[code]"/><!-- I 0..1 Language of the resource content --> <text><!-- I 0..1 Narrative Text summary of the resource, for human interpretation --></text> <contained><!-- 0..* Resource Contained, inline Resources --></contained> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored --></modifierExtension> <url value="[uri]"/><!-- I 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) --> <identifier><!-- I 0..* Identifier Additional identifier for the plan definition --></identifier> <version value="[string]"/><!-- I 0..1 Business version of the plan definition --> <versionAlgorithm[x]><!-- I 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this plan definition (computer friendly) --> <title value="[string]"/><!-- I 0..1 Name for this plan definition (human friendly) --> <subtitle value="[string]"/><!-- I 0..1 Subordinate title of the plan definition --> <type><!-- I 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition --></type> <status value="[code]"/><!-- I 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- I 0..1 For testing only - never for real usage --> <subject[x]><!-- I 0..1 CodeableConcept|Reference(Group)|canonical Type of individual the plan definition is focused on --></subject[x]> <date value="[dateTime]"/><!-- I 0..1 Date last changed --> <publisher value="[string]"/><!-- I 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- I 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- I 0..1 Natural language description of the plan definition --> <useContext><!-- I 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- I 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- I 0..1 Why this plan definition is defined --> <usage value="[markdown]"/><!-- I 0..1 Describes the clinical usage of the plan --> <copyright value="[markdown]"/><!-- I 0..1 Use and/or publishing restrictions --> <copyrightLabel value="[string]"/><!-- I 0..1 Copyright holder and year(s) --> <approvalDate value="[date]"/><!-- I 0..1 When the plan definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- I 0..1 When the plan definition was last reviewed by the publisher --> <effectivePeriod><!-- I 0..1 Period When the plan definition is expected to be used --></effectivePeriod> <topic><!-- I 0..* CodeableConcept E.g. Education, Treatment, Assessment --></topic> <author><!-- I 0..* ContactDetail Who authored the content --></author> <editor><!-- I 0..* ContactDetail Who edited the content --></editor> <reviewer><!-- I 0..* ContactDetail Who reviewed the content --></reviewer> <endorser><!-- I 0..* ContactDetail Who endorsed the content --></endorser> <relatedArtifact><!-- I 0..* RelatedArtifact Additional documentation, citations --></relatedArtifact> <library value="[canonical]"/><!-- I 0..* Logic used by the plan definition --> <goal> I 0..* BackboneElement <!-- I 0..* What the plan is trying to accomplish --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <category><!-- I 0..1 CodeableConcept E.g. Treatment, dietary, behavioral --></category> <description><!-- I 1..1 CodeableConcept Code or text describing the goal --></description> <priority><!-- I 0..1 CodeableConcept high-priority | medium-priority | low-priority --></priority> <start><!-- I 0..1 CodeableConcept When goal pursuit begins --></start> <addresses><!-- I 0..* CodeableConcept What does the goal address --></addresses> <documentation><!-- I 0..* RelatedArtifact Supporting documentation for the goal --></documentation> <target> I 0..* BackboneElement <!-- I 0..* Target outcome for the goal --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <measure><!-- I 0..1 CodeableConcept The parameter whose value is to be tracked --></measure> <detail[x]><!-- I 0..1 Quantity|Range| CodeableConcept|string|boolean|integer|Ratio The target value to be achieved --></detail[x]> <due><!-- I 0..1 Duration Reach goal within --></due> </target> </goal> <actor> I 0..* BackboneElement <!-- I 0..* Actors within the plan --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <title value="[string]"/><!-- I 0..1 User-visible title --> <description value="[markdown]"/><!-- I 0..1 Describes the actor --> <option> I 1..* BackboneElement <!-- I 1..* Who or what can be this actor --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <type value="[code]"/><!-- I 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --> <typeCanonical value="[canonical]"/><!-- I 0..1 Who or what can participate --> <typeReference><!-- I 0..1 Reference(BiologicallyDerivedProduct) Who or what can participate --></typeReference> <role><!-- I 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
--></role> </option> </actor> <action> I 0..* BackboneElement <!-- I 0..* Action defined by the plan --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <linkId value="[string]"/><!-- I 0..1 Unique id for the action in the PlanDefinition --> <prefix value="[string]"/><!-- I 0..1 User-visible prefix for the action (e.g. 1. or A.) --> <title value="[string]"/><!-- I 0..1 User-visible title --> <description value="[markdown]"/><!-- I 0..1 Brief description of the action --> <textEquivalent value="[markdown]"/><!-- I 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system --> <priority value="[code]"/><!-- I 0..1 routine | urgent | asap | stat --> <code><!-- I 0..1 CodeableConcept Code representing the meaning of the action or sub-actions --></code> <reason><!-- I 0..* CodeableConcept Why the action should be performed --></reason> <documentation><!-- I 0..* RelatedArtifact Supporting documentation for the intended performer of the action --></documentation> <goalId value="[string]"/><!-- I 0..* What goals this action supports --> <subject[x]><!-- I 0..1 CodeableConcept|Reference(Group)| canonical Type of individual the action is focused on --></subject[x]> <trigger><!-- I 0..* TriggerDefinition When the action should be triggered --></trigger> <condition> I 0..* BackboneElement <!-- I 0..* Whether or not the action is applicable --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <kind value="[code]"/><!-- I 1..1 applicability | start | stop --> <expression><!-- I 0..1 Expression Boolean-valued expression --></expression> </condition> <input> I 0..* BackboneElement <!-- I 0..* Input data requirements --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <title value="[string]"/><!-- I 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </input> <output> I 0..* BackboneElement <!-- I 0..* Output data definition --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <title value="[string]"/><!-- I 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </output> <relatedAction> I 0..* BackboneElement <!-- I 0..* Relationship to another action --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <targetId value="[string]"/><!-- I 1..1 What action is this related to --> <relationship value="[code]"/><!-- I 1..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <endRelationship value="[code]"/><!-- I 0..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <offset[x]><!-- I 0..1 Duration|Range Time offset for the relationship --></offset[x]> </relatedAction> <timing[x]><!-- I 0..1 Age|Duration|Range|Timing When the action should take place --></timing[x]> <location><!-- I 0..1 CodeableReference Where it should happen --></location> <participant> I 0..* BackboneElement <!-- I 0..* Who should participate in the action --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <actorId value="[string]"/><!-- I 0..1 What actor --> <type value="[code]"/><!-- I 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --> <typeCanonical value="[canonical]"/><!-- I 0..1 Who or what can participate --> <typeReference><!-- I 0..1 Reference(BiologicallyDerivedProduct) Who or what can participate --></typeReference> <role><!-- I 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
--></role> <function><!-- I 0..1 CodeableConcept E.g. Author, Reviewer, Witness, etc --></function> </participant> <type><!-- I 0..1 CodeableConcept create | update | remove | fire-event --></type> <groupingBehavior value="[code]"/><!-- I 0..1 visual-group | logical-group | sentence-group --> <selectionBehavior value="[code]"/><!-- I 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more --> <requiredBehavior value="[code]"/><!-- I 0..1 must | could | must-unless-documented --> <precheckBehavior value="[code]"/><!-- I 0..1 yes | no --> <cardinalityBehavior value="[code]"/><!-- I 0..1 single | multiple --> <definition[x]><!-- I 0..1 canonical|uri Description of the activity to be performed --></definition[x]> <transform value="[canonical]"/><!-- I 0..1 Transform to apply the template --> <dynamicValue> I 0..* BackboneElement <!-- I 0..* Dynamic aspects of the definition --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <path value="[string]"/><!-- I 0..1 The path to the element to be set dynamically --> <expression><!-- I 0..1 Expression An expression that provides the dynamic value for the customization --></expression> </dynamicValue> <action><!-- See http://hl7.org/fhir/StructureDefinition/PlanDefinition#PlanDefinition.action A sub-action --></action> </action> <asNeeded[x]><!-- I 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]> </PlanDefinition>
JSON Template
{ // CDSHooksServicePlanDefinition
  // from Element: extension
    "meta" : { Meta }, // IMetadata about the resource
    "implicitRules" : "<uri>", // IA set of rules under which this content was created
    "language" : "<code>", // ILanguage of the resource content
    "text" : { Narrative }, // IText summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // Service endpoint // I R! 
        // from Element: extension
      }
    ],
    "modifierExtension" : [{ Extension }], // IExtensions that cannot be ignored
    "url" : "<uri>", // ICanonical identifier for this plan definition, represented as a URI (globally unique)
    "identifier" : [{ Identifier }], // IAdditional identifier for the plan definition
    "version" : "<string>", // IBusiness version of the plan definition
  // value[x]: How to compare versions. One of these 2:
    "versionAlgorithmString" : "<string>", // IHow to compare versions
    "versionAlgorithmCoding" : { Coding }, // IHow to compare versions
    "name" : "<string>", // IName for this plan definition (computer friendly)
    "title" : "<string>", // IName for this plan definition (human friendly)
    "subtitle" : "<string>", // ISubordinate title of the plan definition
    "type" : { CodeableConcept }, // Iorder-set | clinical-protocol | eca-rule | workflow-definition
    "status" : "<code>", // I R! draft | active | retired | unknown
    "experimental" : <boolean>, // IFor testing only - never for real usage
  // value[x]: Type of individual the plan definition is focused on. One of these 3:
    "subjectCodeableConcept" : { CodeableConcept }, // IType of individual the plan definition is focused on
    "subjectReference" : { Reference(Group) }, // IType of individual the plan definition is focused on
    "subjectCanonical" : "<canonical>", // IType of individual the plan definition is focused on
    "date" : "<dateTime>", // IDate last changed
    "publisher" : "<string>", // IName of the publisher/steward (organization or individual)
    "contact" : [{ ContactDetail }], // IContact details for the publisher
    "description" : "<markdown>", // INatural language description of the plan definition
    "useContext" : [{ UsageContext }], // IThe context that the content is intended to support
    "jurisdiction" : [{ CodeableConcept }], // IIntended jurisdiction for plan definition (if applicable)
    "purpose" : "<markdown>", // IWhy this plan definition is defined
    "usage" : "<markdown>", // IDescribes the clinical usage of the plan
    "copyright" : "<markdown>", // IUse and/or publishing restrictions
    "copyrightLabel" : "<string>", // ICopyright holder and year(s)
    "approvalDate" : "<date>", // IWhen the plan definition was approved by publisher
    "lastReviewDate" : "<date>", // IWhen the plan definition was last reviewed by the publisher
    "effectivePeriod" : { Period }, // IWhen the plan definition is expected to be used
    "topic" : [{ CodeableConcept }], // IE.g. Education, Treatment, Assessment
    "author" : [{ ContactDetail }], // IWho authored the content
    "editor" : [{ ContactDetail }], // IWho edited the content
    "reviewer" : [{ ContactDetail }], // IWho reviewed the content
    "endorser" : [{ ContactDetail }], // IWho endorsed the content
    "relatedArtifact" : [{ RelatedArtifact }], // IAdditional documentation, citations
    "library" : ["<canonical>"], // ILogic used by the plan definition
    "goal" : [{ BackboneElement }], // IWhat the plan is trying to accomplish
    "actor" : [{ BackboneElement }], // IActors within the plan
    "action" : [{ BackboneElement }], // IAction defined by the plan
  // value[x]: Preconditions for service. One of these 2:
    "asNeededBoolean" : <boolean>, // IPreconditions for service
    "asNeededCodeableConcept" : { CodeableConcept }, // IPreconditions for service
  }
   
Alternate definitions: Master Definition (XML, JSON), Schematron
| Path | Name | Conformance | ValueSet | 
| PlanDefinition.language | All Languages | required | All Languages | 
| PlanDefinition.versionAlgorithm[x] | Version Algorithm | extensible | Version Algorithm | 
| PlanDefinition.type | Plan Definition Type | extensible | Plan Definition Type | 
| PlanDefinition.status | PublicationStatus | required | PublicationStatus | 
| PlanDefinition.subject[x] | Participant Resource Types | extensible | Participant Resource Types | 
| PlanDefinition.jurisdiction | Jurisdiction ValueSet | extensible | Jurisdiction ValueSet | 
| PlanDefinition.topic | Definition Topic | example | Definition Topic | 
| PlanDefinition.goal.category | Goal Category | example | Goal Category | 
| PlanDefinition.goal.description | SNOMED CT Clinical Findings | example | SNOMED CT Clinical Findings | 
| PlanDefinition.goal.priority | Goal Priority | preferred | Goal Priority | 
| PlanDefinition.goal.start | Goal Start Event | example | Goal Start Event | 
| PlanDefinition.goal.addresses | Condition/Problem/Diagnosis Codes | example | Condition/Problem/Diagnosis Codes | 
| PlanDefinition.goal.target.measure | LOINC Codes | example | LOINC Codes | 
| PlanDefinition.actor.option.type | Action Participant Type | required | Action Participant Type | 
| PlanDefinition.actor.option.role | Action Participant Role | example | Action Participant Role   | 
| PlanDefinition.action.priority | RequestPriority | required | RequestPriority | 
| PlanDefinition.action.code | Action Code | example | Action Code | 
| PlanDefinition.action.reason | Action Reason Code | example | Action Reason Code | 
| PlanDefinition.action.subject[x] | Participant Resource Types | extensible | Participant Resource Types | 
| PlanDefinition.action.condition.kind | Action Condition Kind | required | Action Condition Kind | 
| PlanDefinition.action.relatedAction.relationship | Action Relationship Type | required | Action Relationship Type | 
| PlanDefinition.action.relatedAction.endRelationship | Action Relationship Type | required | Action Relationship Type | 
| PlanDefinition.action.participant.type | Action Participant Type | required | Action Participant Type | 
| PlanDefinition.action.participant.role | Action Participant Role | example | Action Participant Role   | 
| PlanDefinition.action.participant.function | Action Participant Function | example | Action Participant Function | 
| PlanDefinition.action.type | Action Type | extensible | Action Type | 
| PlanDefinition.action.groupingBehavior | Action Grouping Behavior | required | Action Grouping Behavior | 
| PlanDefinition.action.selectionBehavior | Action Selection Behavior | required | Action Selection Behavior | 
| PlanDefinition.action.requiredBehavior | Action Required Behavior | required | Action Required Behavior | 
| PlanDefinition.action.precheckBehavior | Action Precheck Behavior | required | Action Precheck Behavior | 
| PlanDefinition.action.cardinalityBehavior | Action Cardinality Behavior | required | Action Cardinality Behavior | 
| PlanDefinition.asNeeded[x] | SNOMED CT Medication As Needed Reason Codes | example | SNOMED CT Medication As Needed Reason Codes |