ResMed Core Implementation Guide
0.37.0 - ci-build International flag

ResMed Core Implementation Guide - Local Development build (v0.37.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: ResMed Rule Instance PlanDefinition

Official URL: http://resmed.com/fhir/core/StructureDefinition/rmd-rule-plandefinition Version: 0.37.0
Draft as of 2024-01-11 Computable Name: ResMedRulePlanDefinition

Profile for Patient Rule Definitions

Usage:

Formal Views of Profile Content

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

This structure is derived from PlanDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition PlanDefinition
... version 1..1stringBusiness version of the plan definition
... name 1..1stringName for this plan definition (computer friendly)
... type 1..1CodeableConceptorder-set | clinical-protocol | eca-rule | workflow-definition
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.resmed.com/CodeSystem/resmed-plandefinition-type-identifier
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: rule
... useContext 1..1UsageContextThe context that the content is intended to support
.... code 1..1CodingType of context being specified
Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: program
.... value[x] 1..1CodeableConceptValue that defines the context
Binding: ResMed Rule Implementer Identifier ValueSet (required)
... action 1..*BackboneElementAction defined by the plan
.... trigger 1..*TriggerDefinitionWhen the action should be triggered
..... data 1..*DataRequirementTriggering data of the event (multiple = 'and')
...... type 1..1codeThe type of the required data
Required Pattern: Observation
..... condition 1..1ExpressionWhether the event triggers (boolean expression)
...... language 1..1codetext/cql | text/fhirpath | application/x-fhir-query | etc.
Required Pattern: application/x.rmd-ace+json
...... expression 1..1stringExpression in specified language

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
PlanDefinition.statusrequiredResMedPlanDefinitionStatusValueSet
PlanDefinition.useContext.value[x]requiredResMedRuleImplementerIdentifierValueSet (a valid code from ResMed Rule Implementer Identifier CodeSystem)
NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C0..*PlanDefinitionThe definition of a plan for a series of actions, independent of any specific patient or context
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... version Σ1..1stringBusiness version of the plan definition
... type Σ1..1CodeableConceptorder-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.


Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.resmed.com/CodeSystem/resmed-plandefinition-type-identifier
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: rule
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: ResMed PlanDefinition status ValueSet (required)
... useContext Σ1..1UsageContextThe context that the content is intended to support
.... code Σ1..1CodingType of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.


Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: program
.... value[x] Σ1..1CodeableConceptValue that defines the context
Binding: ResMed Rule Implementer Identifier ValueSet (required)
... action 1..*BackboneElementAction defined by the plan
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... trigger 1..*TriggerDefinitionWhen the action should be triggered
..... type Σ1..1codenamed-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
Binding: TriggerType (required): The type of trigger.

..... data Σ1..*DataRequirementTriggering data of the event (multiple = 'and')
...... type Σ1..1codeThe type of the required data
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: Observation
..... condition Σ1..1ExpressionWhether the event triggers (boolean expression)
...... language Σ1..1codetext/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txtMax Binding

Required Pattern: application/x.rmd-ace+json
...... expression Σ1..1stringExpression in specified language

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
PlanDefinition.typeextensiblePattern: rule
PlanDefinition.statusrequiredResMedPlanDefinitionStatusValueSet
PlanDefinition.useContext.codeextensiblePattern: program
PlanDefinition.useContext.value[x]requiredResMedRuleImplementerIdentifierValueSet (a valid code from ResMed Rule Implementer Identifier CodeSystem)
PlanDefinition.action.trigger.typerequiredTriggerType
PlanDefinition.action.trigger.data.typerequiredPattern: Observation
PlanDefinition.action.trigger.condition.languageextensiblePattern: application/x.rmd-ace+json
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPlanDefinitionIf 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-4errorPlanDefinitionIf 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-5errorPlanDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePlanDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pdf-0warningPlanDefinitionName 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}')
NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C0..*PlanDefinitionThe definition of a plan for a series of actions, independent of any specific patient or context
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriCanonical identifier for this plan definition, represented as a URI (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the plan definition
... version Σ1..1stringBusiness version of the plan definition
... name ΣC1..1stringName for this plan definition (computer friendly)
... title Σ0..1stringName for this plan definition (human friendly)
... subtitle 0..1stringSubordinate title of the plan definition
... type Σ1..1CodeableConceptorder-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.


Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.resmed.com/CodeSystem/resmed-plandefinition-type-identifier
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: rule
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: ResMed PlanDefinition status ValueSet (required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... subject[x] 0..1Type of individual the plan definition is focused on
Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description Σ0..1markdownNatural language description of the plan definition
... useContext Σ1..1UsageContextThe context that the content is intended to support
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... code Σ1..1CodingType of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.


Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: program
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... value[x] Σ1..1CodeableConceptValue that defines the context
Binding: ResMed Rule Implementer Identifier ValueSet (required)
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for plan definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this plan definition is defined
... usage 0..1stringDescribes the clinical usage of the plan
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen the plan definition was approved by publisher
... lastReviewDate 0..1dateWhen the plan definition was last reviewed
... effectivePeriod Σ0..1PeriodWhen the plan definition is expected to be used
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment
Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.


... author 0..*ContactDetailWho authored the content
... editor 0..*ContactDetailWho edited the content
... reviewer 0..*ContactDetailWho reviewed the content
... endorser 0..*ContactDetailWho endorsed the content
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations
... library 0..*canonical(Library)Logic used by the plan definition
... goal 0..*BackboneElementWhat the plan is trying to accomplish
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... category 0..1CodeableConceptE.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.

.... description 1..1CodeableConceptCode or text describing the goal
Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.

.... priority 0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.

.... start 0..1CodeableConceptWhen goal pursuit begins
Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.

.... addresses 0..*CodeableConceptWhat does the goal address
Binding: Condition/Problem/DiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.


.... documentation 0..*RelatedArtifactSupporting documentation for the goal
.... target 0..*BackboneElementTarget outcome for the goal
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... measure 0..1CodeableConceptThe parameter whose value is to be tracked
Binding: LOINCCodes (example): Identifies types of parameters that can be tracked to determine goal achievement.

..... detail[x] 0..1The target value to be achieved
...... detailQuantityQuantity
...... detailRangeRange
...... detailCodeableConceptCodeableConcept
..... due 0..1DurationReach goal within
... action 1..*BackboneElementAction defined by the plan
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 0..1stringUser-visible title
.... description 0..1stringBrief description of the action
.... textEquivalent 0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 0..*CodeableConceptCode representing the meaning of the action or sub-actions
.... reason 0..*CodeableConceptWhy the action should be performed
.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... goalId 0..*idWhat goals this action supports
.... subject[x] 0..1Type of individual the action is focused on
Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

..... subjectCodeableConceptCodeableConcept
..... subjectReferenceReference(Group)
.... trigger 1..*TriggerDefinitionWhen the action should be triggered
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ1..1codenamed-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
Binding: TriggerType (required): The type of trigger.

..... name Σ0..1stringName or URI that identifies the event
..... timing[x] Σ0..1Timing of the event
...... timingTimingTiming
...... timingReferenceReference(Schedule)
...... timingDatedate
...... timingDateTimedateTime
..... data Σ1..*DataRequirementTriggering data of the event (multiple = 'and')
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... type Σ1..1codeThe type of the required data
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: Observation
...... profile Σ0..*canonical(StructureDefinition)The profile of the required data
...... subject[x] Σ0..1E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
Binding: SubjectType (extensible): The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.).

....... subjectCodeableConceptCodeableConcept
....... subjectReferenceReference(Group)
...... mustSupport Σ0..*stringIndicates specific structure elements that are referenced by the knowledge module
...... codeFilter ΣC0..*ElementWhat codes are expected
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... path Σ0..1stringA code-valued attribute to filter on
....... searchParam Σ0..1stringA coded (token) parameter to search on
....... valueSet Σ0..1canonical(ValueSet)Valueset for the filter
....... code Σ0..*CodingWhat code is expected
...... dateFilter ΣC0..*ElementWhat dates/date ranges are expected
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... path Σ0..1stringA date-valued attribute to filter on
....... searchParam Σ0..1stringA date valued parameter to search on
....... value[x] Σ0..1The value of the filter, as a Period, DateTime, or Duration value
........ valueDateTimedateTime
........ valuePeriodPeriod
........ valueDurationDuration
...... limit Σ0..1positiveIntNumber of results
...... sort Σ0..*ElementOrder of the results
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... path Σ1..1stringThe name of the attribute to perform the sort
....... direction Σ1..1codeascending | descending
Binding: SortDirection (required): The possible sort directions, ascending or descending.

..... condition Σ1..1ExpressionWhether the event triggers (boolean expression)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... description Σ0..1stringNatural language description of the condition
...... name Σ0..1idShort name assigned to expression for reuse
...... language Σ1..1codetext/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txtMax Binding

Required Pattern: application/x.rmd-ace+json
...... expression Σ1..1stringExpression in specified language
...... reference Σ0..1uriWhere the expression is found
.... condition 0..*BackboneElementWhether or not the action is applicable
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 1..1codeapplicability | start | stop
Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.

..... expression 0..1ExpressionBoolean-valued expression
.... input 0..*DataRequirementInput data requirements
.... output 0..*DataRequirementOutput data definition
.... relatedAction 0..*BackboneElementRelationship to another action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actionId 1..1idWhat action is this related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingAgeAge
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*BackboneElementWho should participate in the action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1codepatient | practitioner | related-person | device
Binding: ActionParticipantType (required): The type of participant for the action.

..... role 0..1CodeableConceptE.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (example): Defines roles played by participants for the action.

.... type 0..1CodeableConceptcreate | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.

.... groupingBehavior 0..1codevisual-group | logical-group | sentence-group
Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.

.... selectionBehavior 0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

.... requiredBehavior 0..1codemust | could | must-unless-documented
Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.

.... precheckBehavior 0..1codeyes | no
Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.

.... cardinalityBehavior 0..1codesingle | multiple
Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.

.... definition[x] 0..1Description of the activity to be performed
..... definitionCanonicalcanonical(ActivityDefinition | PlanDefinition | Questionnaire)
..... definitionUriuri
.... transform 0..1canonical(StructureMap)Transform to apply the template
.... dynamicValue 0..*BackboneElementDynamic aspects of the definition
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... path 0..1stringThe path to the element to be set dynamically
..... expression 0..1ExpressionAn expression that provides the dynamic value for the customization
.... action 0..*See action (PlanDefinition)A sub-action

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
PlanDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
PlanDefinition.typeextensiblePattern: rule
PlanDefinition.statusrequiredResMedPlanDefinitionStatusValueSet
PlanDefinition.subject[x]extensibleSubjectType
PlanDefinition.useContext.codeextensiblePattern: program
PlanDefinition.useContext.value[x]requiredResMedRuleImplementerIdentifierValueSet (a valid code from ResMed Rule Implementer Identifier CodeSystem)
PlanDefinition.jurisdictionextensibleJurisdiction ValueSet
PlanDefinition.topicexampleDefinitionTopic
PlanDefinition.goal.categoryexampleGoalCategory
PlanDefinition.goal.descriptionexampleSNOMEDCTClinicalFindings
PlanDefinition.goal.prioritypreferredGoalPriority
PlanDefinition.goal.startexampleGoalStartEvent
PlanDefinition.goal.addressesexampleCondition/Problem/DiagnosisCodes
PlanDefinition.goal.target.measureexampleLOINCCodes (a valid code from LOINC)
PlanDefinition.action.priorityrequiredRequestPriority
PlanDefinition.action.subject[x]extensibleSubjectType
PlanDefinition.action.trigger.typerequiredTriggerType
PlanDefinition.action.trigger.data.typerequiredPattern: Observation
PlanDefinition.action.trigger.data.subject[x]extensibleSubjectType
PlanDefinition.action.trigger.data.sort.directionrequiredSortDirection
PlanDefinition.action.trigger.condition.languageextensiblePattern: application/x.rmd-ace+json
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
PlanDefinition.action.condition.kindrequiredActionConditionKind
PlanDefinition.action.relatedAction.relationshiprequiredActionRelationshipType
PlanDefinition.action.participant.typerequiredActionParticipantType
PlanDefinition.action.participant.roleexampleActionParticipantRole
PlanDefinition.action.typeextensibleActionType
PlanDefinition.action.groupingBehaviorrequiredActionGroupingBehavior
PlanDefinition.action.selectionBehaviorrequiredActionSelectionBehavior
PlanDefinition.action.requiredBehaviorrequiredActionRequiredBehavior
PlanDefinition.action.precheckBehaviorrequiredActionPrecheckBehavior
PlanDefinition.action.cardinalityBehaviorrequiredActionCardinalityBehavior

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPlanDefinitionIf 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-4errorPlanDefinitionIf 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-5errorPlanDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePlanDefinitionA resource should have narrative for robust management
: text.`div`.exists()
drq-1errorPlanDefinition.action.trigger.data.codeFilterEither a path or a searchParam must be provided, but not both
: path.exists() xor searchParam.exists()
drq-2errorPlanDefinition.action.trigger.data.dateFilterEither a path or a searchParam must be provided, but not both
: path.exists() xor searchParam.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pdf-0warningPlanDefinitionName 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}')

This structure is derived from PlanDefinition

Summary

Mandatory: 9 elements

Differential View

This structure is derived from PlanDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition PlanDefinition
... version 1..1stringBusiness version of the plan definition
... name 1..1stringName for this plan definition (computer friendly)
... type 1..1CodeableConceptorder-set | clinical-protocol | eca-rule | workflow-definition
Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.resmed.com/CodeSystem/resmed-plandefinition-type-identifier
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: rule
... useContext 1..1UsageContextThe context that the content is intended to support
.... code 1..1CodingType of context being specified
Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: program
.... value[x] 1..1CodeableConceptValue that defines the context
Binding: ResMed Rule Implementer Identifier ValueSet (required)
... action 1..*BackboneElementAction defined by the plan
.... trigger 1..*TriggerDefinitionWhen the action should be triggered
..... data 1..*DataRequirementTriggering data of the event (multiple = 'and')
...... type 1..1codeThe type of the required data
Required Pattern: Observation
..... condition 1..1ExpressionWhether the event triggers (boolean expression)
...... language 1..1codetext/cql | text/fhirpath | application/x-fhir-query | etc.
Required Pattern: application/x.rmd-ace+json
...... expression 1..1stringExpression in specified language

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
PlanDefinition.statusrequiredResMedPlanDefinitionStatusValueSet
PlanDefinition.useContext.value[x]requiredResMedRuleImplementerIdentifierValueSet (a valid code from ResMed Rule Implementer Identifier CodeSystem)

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C0..*PlanDefinitionThe definition of a plan for a series of actions, independent of any specific patient or context
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... version Σ1..1stringBusiness version of the plan definition
... type Σ1..1CodeableConceptorder-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.


Required Pattern: At least the following
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.resmed.com/CodeSystem/resmed-plandefinition-type-identifier
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: rule
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: ResMed PlanDefinition status ValueSet (required)
... useContext Σ1..1UsageContextThe context that the content is intended to support
.... code Σ1..1CodingType of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.


Required Pattern: At least the following
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: program
.... value[x] Σ1..1CodeableConceptValue that defines the context
Binding: ResMed Rule Implementer Identifier ValueSet (required)
... action 1..*BackboneElementAction defined by the plan
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... trigger 1..*TriggerDefinitionWhen the action should be triggered
..... type Σ1..1codenamed-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
Binding: TriggerType (required): The type of trigger.

..... data Σ1..*DataRequirementTriggering data of the event (multiple = 'and')
...... type Σ1..1codeThe type of the required data
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: Observation
..... condition Σ1..1ExpressionWhether the event triggers (boolean expression)
...... language Σ1..1codetext/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txtMax Binding

Required Pattern: application/x.rmd-ace+json
...... expression Σ1..1stringExpression in specified language

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
PlanDefinition.typeextensiblePattern: rule
PlanDefinition.statusrequiredResMedPlanDefinitionStatusValueSet
PlanDefinition.useContext.codeextensiblePattern: program
PlanDefinition.useContext.value[x]requiredResMedRuleImplementerIdentifierValueSet (a valid code from ResMed Rule Implementer Identifier CodeSystem)
PlanDefinition.action.trigger.typerequiredTriggerType
PlanDefinition.action.trigger.data.typerequiredPattern: Observation
PlanDefinition.action.trigger.condition.languageextensiblePattern: application/x.rmd-ace+json
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPlanDefinitionIf 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-4errorPlanDefinitionIf 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-5errorPlanDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePlanDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pdf-0warningPlanDefinitionName 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}')

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C0..*PlanDefinitionThe definition of a plan for a series of actions, independent of any specific patient or context
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriCanonical identifier for this plan definition, represented as a URI (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the plan definition
... version Σ1..1stringBusiness version of the plan definition
... name ΣC1..1stringName for this plan definition (computer friendly)
... title Σ0..1stringName for this plan definition (human friendly)
... subtitle 0..1stringSubordinate title of the plan definition
... type Σ1..1CodeableConceptorder-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.


Required Pattern: At least the following
.... id0..1stringUnique id for inter-element referencing
.... extension0..*ExtensionAdditional content defined by implementations
.... coding1..*CodingCode defined by a terminology system
Fixed Value: (complex)
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.resmed.com/CodeSystem/resmed-plandefinition-type-identifier
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: rule
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... text0..1stringPlain text representation of the concept
... status ?!Σ1..1codedraft | active | retired | unknown
Binding: ResMed PlanDefinition status ValueSet (required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... subject[x] 0..1Type of individual the plan definition is focused on
Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group)
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description Σ0..1markdownNatural language description of the plan definition
... useContext Σ1..1UsageContextThe context that the content is intended to support
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... code Σ1..1CodingType of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.


Required Pattern: At least the following
..... id0..1stringUnique id for inter-element referencing
..... extension0..*ExtensionAdditional content defined by implementations
..... system1..1uriIdentity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
..... version0..1stringVersion of the system - if relevant
..... code1..1codeSymbol in syntax defined by the system
Fixed Value: program
..... display0..1stringRepresentation defined by the system
..... userSelected0..1booleanIf this coding was chosen directly by the user
.... value[x] Σ1..1CodeableConceptValue that defines the context
Binding: ResMed Rule Implementer Identifier ValueSet (required)
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for plan definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this plan definition is defined
... usage 0..1stringDescribes the clinical usage of the plan
... copyright 0..1markdownUse and/or publishing restrictions
... approvalDate 0..1dateWhen the plan definition was approved by publisher
... lastReviewDate 0..1dateWhen the plan definition was last reviewed
... effectivePeriod Σ0..1PeriodWhen the plan definition is expected to be used
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment
Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.


... author 0..*ContactDetailWho authored the content
... editor 0..*ContactDetailWho edited the content
... reviewer 0..*ContactDetailWho reviewed the content
... endorser 0..*ContactDetailWho endorsed the content
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations
... library 0..*canonical(Library)Logic used by the plan definition
... goal 0..*BackboneElementWhat the plan is trying to accomplish
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... category 0..1CodeableConceptE.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.

.... description 1..1CodeableConceptCode or text describing the goal
Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.

.... priority 0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.

.... start 0..1CodeableConceptWhen goal pursuit begins
Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.

.... addresses 0..*CodeableConceptWhat does the goal address
Binding: Condition/Problem/DiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.


.... documentation 0..*RelatedArtifactSupporting documentation for the goal
.... target 0..*BackboneElementTarget outcome for the goal
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... measure 0..1CodeableConceptThe parameter whose value is to be tracked
Binding: LOINCCodes (example): Identifies types of parameters that can be tracked to determine goal achievement.

..... detail[x] 0..1The target value to be achieved
...... detailQuantityQuantity
...... detailRangeRange
...... detailCodeableConceptCodeableConcept
..... due 0..1DurationReach goal within
... action 1..*BackboneElementAction defined by the plan
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 0..1stringUser-visible title
.... description 0..1stringBrief description of the action
.... textEquivalent 0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 0..*CodeableConceptCode representing the meaning of the action or sub-actions
.... reason 0..*CodeableConceptWhy the action should be performed
.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... goalId 0..*idWhat goals this action supports
.... subject[x] 0..1Type of individual the action is focused on
Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

..... subjectCodeableConceptCodeableConcept
..... subjectReferenceReference(Group)
.... trigger 1..*TriggerDefinitionWhen the action should be triggered
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ1..1codenamed-event | periodic | data-changed | data-added | data-modified | data-removed | data-accessed | data-access-ended
Binding: TriggerType (required): The type of trigger.

..... name Σ0..1stringName or URI that identifies the event
..... timing[x] Σ0..1Timing of the event
...... timingTimingTiming
...... timingReferenceReference(Schedule)
...... timingDatedate
...... timingDateTimedateTime
..... data Σ1..*DataRequirementTriggering data of the event (multiple = 'and')
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... type Σ1..1codeThe type of the required data
Binding: FHIRAllTypes (required): A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.


Required Pattern: Observation
...... profile Σ0..*canonical(StructureDefinition)The profile of the required data
...... subject[x] Σ0..1E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device
Binding: SubjectType (extensible): The possible types of subjects for a data requirement (E.g., Patient, Practitioner, Organization, Location, etc.).

....... subjectCodeableConceptCodeableConcept
....... subjectReferenceReference(Group)
...... mustSupport Σ0..*stringIndicates specific structure elements that are referenced by the knowledge module
...... codeFilter ΣC0..*ElementWhat codes are expected
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... path Σ0..1stringA code-valued attribute to filter on
....... searchParam Σ0..1stringA coded (token) parameter to search on
....... valueSet Σ0..1canonical(ValueSet)Valueset for the filter
....... code Σ0..*CodingWhat code is expected
...... dateFilter ΣC0..*ElementWhat dates/date ranges are expected
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... path Σ0..1stringA date-valued attribute to filter on
....... searchParam Σ0..1stringA date valued parameter to search on
....... value[x] Σ0..1The value of the filter, as a Period, DateTime, or Duration value
........ valueDateTimedateTime
........ valuePeriodPeriod
........ valueDurationDuration
...... limit Σ0..1positiveIntNumber of results
...... sort Σ0..*ElementOrder of the results
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
....... path Σ1..1stringThe name of the attribute to perform the sort
....... direction Σ1..1codeascending | descending
Binding: SortDirection (required): The possible sort directions, ascending or descending.

..... condition Σ1..1ExpressionWhether the event triggers (boolean expression)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... description Σ0..1stringNatural language description of the condition
...... name Σ0..1idShort name assigned to expression for reuse
...... language Σ1..1codetext/cql | text/fhirpath | application/x-fhir-query | etc.
Binding: ExpressionLanguage (extensible): The media type of the expression language.

Additional BindingsPurpose
http://www.rfc-editor.org/bcp/bcp13.txtMax Binding

Required Pattern: application/x.rmd-ace+json
...... expression Σ1..1stringExpression in specified language
...... reference Σ0..1uriWhere the expression is found
.... condition 0..*BackboneElementWhether or not the action is applicable
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 1..1codeapplicability | start | stop
Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.

..... expression 0..1ExpressionBoolean-valued expression
.... input 0..*DataRequirementInput data requirements
.... output 0..*DataRequirementOutput data definition
.... relatedAction 0..*BackboneElementRelationship to another action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actionId 1..1idWhat action is this related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingAgeAge
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*BackboneElementWho should participate in the action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1codepatient | practitioner | related-person | device
Binding: ActionParticipantType (required): The type of participant for the action.

..... role 0..1CodeableConceptE.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (example): Defines roles played by participants for the action.

.... type 0..1CodeableConceptcreate | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.

.... groupingBehavior 0..1codevisual-group | logical-group | sentence-group
Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.

.... selectionBehavior 0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

.... requiredBehavior 0..1codemust | could | must-unless-documented
Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.

.... precheckBehavior 0..1codeyes | no
Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.

.... cardinalityBehavior 0..1codesingle | multiple
Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.

.... definition[x] 0..1Description of the activity to be performed
..... definitionCanonicalcanonical(ActivityDefinition | PlanDefinition | Questionnaire)
..... definitionUriuri
.... transform 0..1canonical(StructureMap)Transform to apply the template
.... dynamicValue 0..*BackboneElementDynamic aspects of the definition
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... path 0..1stringThe path to the element to be set dynamically
..... expression 0..1ExpressionAn expression that provides the dynamic value for the customization
.... action 0..*See action (PlanDefinition)A sub-action

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
PlanDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
PlanDefinition.typeextensiblePattern: rule
PlanDefinition.statusrequiredResMedPlanDefinitionStatusValueSet
PlanDefinition.subject[x]extensibleSubjectType
PlanDefinition.useContext.codeextensiblePattern: program
PlanDefinition.useContext.value[x]requiredResMedRuleImplementerIdentifierValueSet (a valid code from ResMed Rule Implementer Identifier CodeSystem)
PlanDefinition.jurisdictionextensibleJurisdiction ValueSet
PlanDefinition.topicexampleDefinitionTopic
PlanDefinition.goal.categoryexampleGoalCategory
PlanDefinition.goal.descriptionexampleSNOMEDCTClinicalFindings
PlanDefinition.goal.prioritypreferredGoalPriority
PlanDefinition.goal.startexampleGoalStartEvent
PlanDefinition.goal.addressesexampleCondition/Problem/DiagnosisCodes
PlanDefinition.goal.target.measureexampleLOINCCodes (a valid code from LOINC)
PlanDefinition.action.priorityrequiredRequestPriority
PlanDefinition.action.subject[x]extensibleSubjectType
PlanDefinition.action.trigger.typerequiredTriggerType
PlanDefinition.action.trigger.data.typerequiredPattern: Observation
PlanDefinition.action.trigger.data.subject[x]extensibleSubjectType
PlanDefinition.action.trigger.data.sort.directionrequiredSortDirection
PlanDefinition.action.trigger.condition.languageextensiblePattern: application/x.rmd-ace+json
Additional Bindings Purpose
http://www.rfc-editor.org/bcp/bcp13.txt Max Binding
PlanDefinition.action.condition.kindrequiredActionConditionKind
PlanDefinition.action.relatedAction.relationshiprequiredActionRelationshipType
PlanDefinition.action.participant.typerequiredActionParticipantType
PlanDefinition.action.participant.roleexampleActionParticipantRole
PlanDefinition.action.typeextensibleActionType
PlanDefinition.action.groupingBehaviorrequiredActionGroupingBehavior
PlanDefinition.action.selectionBehaviorrequiredActionSelectionBehavior
PlanDefinition.action.requiredBehaviorrequiredActionRequiredBehavior
PlanDefinition.action.precheckBehaviorrequiredActionPrecheckBehavior
PlanDefinition.action.cardinalityBehaviorrequiredActionCardinalityBehavior

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPlanDefinitionIf 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-4errorPlanDefinitionIf 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-5errorPlanDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePlanDefinitionA resource should have narrative for robust management
: text.`div`.exists()
drq-1errorPlanDefinition.action.trigger.data.codeFilterEither a path or a searchParam must be provided, but not both
: path.exists() xor searchParam.exists()
drq-2errorPlanDefinition.action.trigger.data.dateFilterEither a path or a searchParam must be provided, but not both
: path.exists() xor searchParam.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pdf-0warningPlanDefinitionName 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}')

This structure is derived from PlanDefinition

Summary

Mandatory: 9 elements

 

Other representations of profile: CSV, Excel, Schematron