Uzbekistan Digital Health Platform
0.5.0 - ci-build Uzbekistan flag

Uzbekistan Digital Health Platform, published by Ministry of Health of the Republic of Uzbekistan. This guide is not an authorized publication; it is the continuous build for version 0.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/uzinfocom-org/digital-health-ig/ and changes regularly. See the Directory of published versions

Resource Profile: UZ Core PlanDefinition ( Experimental )

Official URL: https://dhp.uz/fhir/core/StructureDefinition/uz-core-plan-definition Version: 0.5.0
Draft as of 2026-06-05 Computable Name: UZCorePlanDefinition

Uzbekistan Core PlanDefinition profile, used to express the national immunization schedule as computable logic

UZ Core PlanDefinition holds the national immunization schedule of Uzbekistan expressed as computable logic - each recommended dose, its timing, the minimum intervals between doses, and the eligibility rules that decide who it applies to. This is the resource the recommendation engine reads to build each patient's ImmunizationRecommendation. Only one schedule version may be active at a time for a given scope or jurisdiction.

Mandatory and Must Support data elements

The elements below must always be present (mandatory) or must be supported when the data is available (Must Support) - not all are required, but your system must populate each Must Support element when it has the data and process it on receipt. This is the human-readable summary; the formal views below give the exact cardinalities, types, and terminology bindings.

Each UZ Core PlanDefinition Must Have

Every PlanDefinition must carry a url (the canonical identifier for this schedule), a machine-processable name, a status (draft, active, retired, unknown) inherited as mandatory from the base resource, and a description of what the schedule covers.

Each UZ Core PlanDefinition Must Support

  • an identifier, version and version algorithm, a human-readable title, and the status (draft, active, retired);
  • the subject the schedule applies to (a coded concept or a reference);
  • the date, publisher, use context, approval date and effective period;
  • the actions that make up the schedule, each with a linkId, title, description and code;
  • per action: a condition (eligibility - its kind and FHIRPath expression), a related action (the target action, relationship, and offset as a duration or range for minimum intervals), the timing (an age or a schedule), a participant (its actor id and type), and the definition (a canonical link to an ActivityDefinition or other definition, or a uri).

The schedule must satisfy schedule-validation rules: no gaps in the dose sequence, no impossible timing windows, and no two active overlapping versions for the same scope.

Building the JSON, step by step

A PlanDefinition is mostly authored once and read by the recommendation engine, so the examples below are short. They go from the smallest instance the server will accept to a schedule that carries its actions. Copy one and adapt it - every value shown validates against this profile. The full reference instance is the example PlanDefinition.

The smallest PlanDefinition you should send

url, name and description are the mandatory elements, and status is mandatory on the base resource (draft | active | retired | unknown - required binding). The url is the canonical identifier other resources link to, so it must be stable. Every UZ Core resource also names the profile it claims to conform to in meta.profile. This much already passes validation:

{
  "resourceType": "PlanDefinition",
  "meta": {
    "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-plan-definition"]
  },
  "url": "https://terminology.dhp.uz/fhir/core/PlanDefinition/example-uz-core-plan-definition",
  "name": "ExamplePlanDefinition",
  "status": "draft",
  "description": "Example PlanDefinition demonstrating actions and relationships."
}

name is the machine-processable name (no spaces); add a human-readable title when you have one. See Metadata for the publisher, date and version fields a published schedule should also carry.

A schedule with its actions

In practice the schedule is the action list. Each dose is one action with a linkId, title, description and a code. Add a condition for eligibility (its kind and a FHIRPath expression), a participant (who performs it - an actorId and a type), and a definitionUri (or definitionCanonical) pointing at the activity that carries the vaccine detail. A later dose uses relatedAction to point back at an earlier one by targetId, with the minimum interval in offsetDuration:

{
  "resourceType": "PlanDefinition",
  "meta": { "profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-plan-definition" ] },
  "url": "https://terminology.dhp.uz/fhir/core/PlanDefinition/example-uz-core-plan-definition",
  "name": "ExamplePlanDefinition",
  "title": "Example Vaccination Follow-up Plan",
  "status": "draft",
  "date": "2026-08-10",
  "publisher": "DHP Uzbekistan",
  "description": "Example PlanDefinition demonstrating actions and relationships.",
  "approvalDate": "2026-08-01",
  "effectivePeriod": { "start": "2026-08-01", "end": "2027-08-01" },
  "action": [
    {
      "id": "action-1",
      "linkId": "action-1",
      "title": "Initial vaccination",
      "description": "Administer first vaccine dose.",
      "code": {
        "coding": [
          {
            "system": "http://hl7.org/fhir/action-code",
            "code": "recommend-immunization",
            "display": "Recommend an immunization"
          }
        ]
      },
      "condition": [
        {
          "kind": "applicability",
          "expression": {
            "description": "Patient must be 18 years or older",
            "language": "text/fhirpath",
            "expression": "Patient.birthDate <= today() - 18 years"
          }
        }
      ],
      "participant": [ { "type": "practitioner", "actorId": "vaccinator" } ],
      "definitionUri": "https://terminology.dhp.uz/fhir/core/ActivityDefinition/example-activity-definition"
    },
    {
      "id": "action-2",
      "linkId": "action-2",
      "title": "Follow-up vaccination",
      "description": "Administer second vaccine dose.",
      "relatedAction": [
        {
          "targetId": "action-1",
          "relationship": "after-end",
          "offsetDuration": {
            "value": 30,
            "unit": "days",
            "system": "http://unitsofmeasure.org",
            "code": "d"
          }
        }
      ],
      "participant": [ { "type": "practitioner", "actorId": "vaccinator" } ],
      "definitionUri": "https://terminology.dhp.uz/fhir/core/ActivityDefinition/example-activity-definition"
    }
  ]
}

condition.kind, relatedAction.relationship and participant.type each use a required binding - take the value from the bound value set (the Snapshot view below lists each one). The relatedAction.targetId must match the linkId of an action already in the same schedule.

For example API calls and a sample payload, see the Quick Start at the bottom of this page.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PlanDefinition C 0..* PlanDefinition(5.0.0) The definition of a plan for a series of actions, independent of any specific patient or context
Interfaces Implemented: MetadataResource
Constraints: cnl-0, pld-3, pld-4
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier SΣ 0..* Identifier Additional identifier for the plan definition
... version SΣ 0..1 string Business version of the plan definition
... versionAlgorithm[x] SΣ 0..1 How to compare versions
Binding: VersionAlgorithmVS (0.5.0) (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name SΣC 1..1 string Machine-processable name for this PlanDefinition
... title SΣ 0..1 string Name for this plan definition (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatusVS (0.5.0) (required)
... Slices for subject[x] S 0..1 Type of individual the plan definition is focused on
Slice: Unordered, Closed by type:$this
Binding: ParticipantResourceTypes (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)
.... subject[x]:subjectCodeableConcept S 0..1 CodeableConcept Type of individual the plan definition is focused on
Binding: ParticipantResourceTypes (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
.... subject[x]:subjectReference S 0..1 Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) Type of individual the plan definition is focused on
... date SΣ 0..1 dateTime Date last changed
... publisher SΣ 0..1 string Name of the publisher/steward (organization or individual)
... description SΣ 1..1 markdown Natural language description of the plan definition
... useContext SΣ 0..* UsageContext The context that the content is intended to support
... approvalDate S 0..1 date When the plan definition was approved by publisher
... effectivePeriod SΣ 0..1 Period When the plan definition is expected to be used
... action SC 0..* BackboneElement Definition of action included in the plan
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... linkId S 0..1 string Unique id for the action in the PlanDefinition
.... title S 0..1 string User-visible title
.... description S 0..1 markdown Brief description of the action
.... code S 0..1 CodeableConcept Code representing the meaning of the action or sub-actions
Binding: ActionCodeVS (0.5.0) (example)
.... condition S 0..* BackboneElement Whether or not the action is applicable
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... kind S 1..1 code applicability | start | stop
Binding: ActionConditionVS (0.5.0) (required)
..... expression S 0..1 Expression Boolean-valued expression
.... relatedAction SC 0..* BackboneElement Relationship to another action
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... targetId SC 1..1 id Identifier of related action
..... relationship S 1..1 code before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipTypeVS (0.5.0) (required)
..... Slices for offset[x] S 0..1 Time offset for the relationship
Slice: Unordered, Closed by type:$this
...... offsetDuration Duration
...... offsetRange Range
...... offset[x]:offsetDuration S 0..1 Duration Time offset for the relationship
...... offset[x]:offsetRange S 0..1 Range Time offset for the relationship
.... Slices for timing[x] S 0..1 When the action should take place
Slice: Unordered, Closed by type:$this
..... timingAge Age
..... timingTiming Timing
..... timing[x]:timingAge S 0..1 Age When the action should take place
..... timing[x]:timingTiming S 0..1 Timing When the action should take place
.... participant S 0..* BackboneElement Who should participate in the action
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... actorId S 0..1 string What actor
..... type S 0..1 code careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ParticipantResourceTypesVS (0.5.0) (required)
.... Slices for definition[x] S 0..1 Description of the activity to be performed
Slice: Unordered, Closed by type:$this
..... definitionCanonical canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition)
..... definitionUri uri
..... definition[x]:definitionCanonical S 0..1 canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) Description of the activity to be performed
..... definition[x]:definitionUri S 0..1 uri Description of the activity to be performed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PlanDefinition.versionAlgorithm[x] Base extensible Version algorithm translations 📍0.5.0 This IG
PlanDefinition.status Base required Publication status translations 📍0.5.0 This IG
PlanDefinition.subject[x] Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.subject[x]:subjectCodeableConcept Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.action.​code Base example Action code translations 📍0.5.0 This IG
PlanDefinition.action.​condition.kind Base required Action condition translations 📍0.5.0 This IG
PlanDefinition.action.​relatedAction.relationship Base required Types of action relationship 📍0.5.0 This IG
PlanDefinition.action.​participant.type Base required Participant resource types translations 📍0.5.0 This IG

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning PlanDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning PlanDefinition.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
ele-1 error PlanDefinition.implicitRules, PlanDefinition.modifierExtension, PlanDefinition.url, PlanDefinition.identifier, PlanDefinition.version, PlanDefinition.versionAlgorithm[x], PlanDefinition.name, PlanDefinition.title, PlanDefinition.status, PlanDefinition.subject[x], PlanDefinition.subject[x]:subjectCodeableConcept, PlanDefinition.subject[x]:subjectReference, PlanDefinition.date, PlanDefinition.publisher, PlanDefinition.description, PlanDefinition.useContext, PlanDefinition.approvalDate, PlanDefinition.effectivePeriod, PlanDefinition.action, PlanDefinition.action.modifierExtension, PlanDefinition.action.linkId, PlanDefinition.action.title, PlanDefinition.action.description, PlanDefinition.action.code, PlanDefinition.action.condition, PlanDefinition.action.condition.modifierExtension, PlanDefinition.action.condition.kind, PlanDefinition.action.condition.expression, PlanDefinition.action.relatedAction, PlanDefinition.action.relatedAction.modifierExtension, PlanDefinition.action.relatedAction.targetId, PlanDefinition.action.relatedAction.relationship, PlanDefinition.action.relatedAction.offset[x], PlanDefinition.action.relatedAction.offset[x]:offsetDuration, PlanDefinition.action.relatedAction.offset[x]:offsetRange, PlanDefinition.action.timing[x], PlanDefinition.action.timing[x]:timingAge, PlanDefinition.action.timing[x]:timingTiming, PlanDefinition.action.participant, PlanDefinition.action.participant.modifierExtension, PlanDefinition.action.participant.actorId, PlanDefinition.action.participant.type, PlanDefinition.action.definition[x], PlanDefinition.action.definition[x]:definitionCanonical, PlanDefinition.action.definition[x]:definitionUri All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error PlanDefinition.modifierExtension, PlanDefinition.action.modifierExtension, PlanDefinition.action.condition.modifierExtension, PlanDefinition.action.relatedAction.modifierExtension, PlanDefinition.action.participant.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
pld-3 warning PlanDefinition goalid should reference the id of a goal definition %context.repeat(action).where((goalId in %context.goal.id).not()).exists().not()
pld-4 warning PlanDefinition targetId should reference the id of an action %context.repeat(action).relatedAction.where((targetId in %context.repeat(action).id).not()).exists().not()

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PlanDefinition 0..* PlanDefinition(5.0.0) The definition of a plan for a series of actions, independent of any specific patient or context
Interfaces Implemented: MetadataResource
... url S 1..1 uri Canonical identifier for this PlanDefinition
... identifier S 0..* Identifier Additional identifier for the plan definition
... version S 0..1 string Business version of the plan definition
... name S 1..1 string Machine-processable name for this PlanDefinition
... title S 0..1 string Name for this plan definition (human friendly)
... status S 1..1 code draft | active | retired | unknown
Binding: PublicationStatusVS (0.5.0) (required)
... Slices for subject[x] S 0..1 Type of individual the plan definition is focused on
Slice: Unordered, Open by type:$this
.... subjectCodeableConcept CodeableConcept
.... subjectReference Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition)
.... subject[x]:subjectCodeableConcept S 0..1 CodeableConcept Type of individual the plan definition is focused on
.... subject[x]:subjectReference S 0..1 Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) Type of individual the plan definition is focused on
... date S 0..1 dateTime Date last changed
... publisher S 0..1 string Name of the publisher/steward (organization or individual)
... description S 1..1 markdown Natural language description of the plan definition
... useContext S 0..* UsageContext The context that the content is intended to support
... approvalDate S 0..1 date When the plan definition was approved by publisher
... effectivePeriod S 0..1 Period When the plan definition is expected to be used
... action S 0..* BackboneElement Definition of action included in the plan
.... linkId S 0..1 string Unique id for the action in the PlanDefinition
.... title S 0..1 string User-visible title
.... description S 0..1 markdown Brief description of the action
.... code S 0..1 CodeableConcept Code representing the meaning of the action or sub-actions
Binding: ActionCodeVS (0.5.0) (example)
.... condition S 0..* BackboneElement Whether or not the action is applicable
..... kind S 1..1 code applicability | start | stop
Binding: ActionConditionVS (0.5.0) (required)
..... expression S 0..1 Expression Boolean-valued expression
.... relatedAction S 0..* BackboneElement Relationship to another action
..... targetId S 1..1 id Identifier of related action
..... relationship S 1..1 code before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipTypeVS (0.5.0) (required)
..... Slices for offset[x] S 0..1 Duration, Range Time offset for the relationship
Slice: Unordered, Open by type:$this
...... offset[x]:offsetDuration S 0..1 Duration Time offset for the relationship
...... offset[x]:offsetRange S 0..1 Range Time offset for the relationship
.... Slices for timing[x] S 0..1 When the action should take place
Slice: Unordered, Open by type:$this
..... timingAge Age
..... timingTiming Timing
..... timing[x]:timingAge S 0..1 Age When the action should take place
..... timing[x]:timingTiming S 0..1 Timing When the action should take place
.... participant S 0..* BackboneElement Who should participate in the action
..... actorId S 0..1 string What actor
..... type S 0..1 code careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ParticipantResourceTypesVS (0.5.0) (required)
.... Slices for definition[x] S 0..1 canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition), uri Description of the activity to be performed
Slice: Unordered, Open by type:$this
..... definition[x]:definitionCanonical S 0..1 canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) Description of the activity to be performed
..... definition[x]:definitionUri S 0..1 uri Description of the activity to be performed

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
PlanDefinition.versionAlgorithm[x] Base extensible Version algorithm translations 📍0.5.0 This IG
PlanDefinition.status Base required Publication status translations 📍0.5.0 This IG
PlanDefinition.action.​code Base example Action code translations 📍0.5.0 This IG
PlanDefinition.action.​condition.kind Base required Action condition translations 📍0.5.0 This IG
PlanDefinition.action.​relatedAction.relationship Base required Types of action relationship 📍0.5.0 This IG
PlanDefinition.action.​participant.type Base required Participant resource types translations 📍0.5.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PlanDefinition C 0..* PlanDefinition(5.0.0) The definition of a plan for a series of actions, independent of any specific patient or context
Interfaces Implemented: MetadataResource
Constraints: cnl-0, pld-3, pld-4
... 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: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... url SΣC 1..1 uri Canonical identifier for this PlanDefinition
Constraints: cnl-1
... identifier SΣ 0..* Identifier Additional identifier for the plan definition
... version SΣ 0..1 string Business version of the plan definition
... versionAlgorithm[x] SΣ 0..1 How to compare versions
Binding: VersionAlgorithmVS (0.5.0) (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name SΣC 1..1 string Machine-processable name for this PlanDefinition
... title SΣ 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: PlanDefinitionType (extensible): The type of PlanDefinition.
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatusVS (0.5.0) (required)
... experimental Σ 0..1 boolean For testing purposes, not real usage
... Slices for subject[x] S 0..1 Type of individual the plan definition is focused on
Slice: Unordered, Closed by type:$this
Binding: ParticipantResourceTypes (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)
.... subject[x]:subjectCodeableConcept S 0..1 CodeableConcept Type of individual the plan definition is focused on
Binding: ParticipantResourceTypes (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
.... subject[x]:subjectReference S 0..1 Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) Type of individual the plan definition is focused on
... date SΣ 0..1 dateTime Date last changed
... publisher SΣ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description SΣ 1..1 markdown Natural language description of the plan definition
... useContext SΣ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable)
Binding: JurisdictionValueSet (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 S 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 SΣ 0..1 Period When the plan definition is expected to be used
... topic 0..* CodeableConcept E.g. Education, Treatment, Assessment
Binding: DefinitionTopic (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
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... category 0..1 CodeableConcept E.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.
.... description 1..1 CodeableConcept Code or text describing the goal
Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.
.... priority 0..1 CodeableConcept high-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.
.... start 0..1 CodeableConcept When goal pursuit begins
Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.
.... addresses 0..* CodeableConcept What does the goal address
Binding: ConditionProblemDiagnosisCodes (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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... measure 0..1 CodeableConcept The 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..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
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... type 0..1 code careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ActionParticipantType (required): The type of participant in the activity.
..... typeCanonical 0..1 canonical(CapabilityStatement) Who or what can participate
..... typeReference 0..1 Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who or what can participate
..... role 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (2.0.0) (example)
... action SC 0..* BackboneElement Definition of action included in the plan
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... linkId S 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 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
.... code S 0..1 CodeableConcept Code representing the meaning of the action or sub-actions
Binding: ActionCodeVS (0.5.0) (example)
.... reason 0..* CodeableConcept Why the action should be performed
Binding: ActionReasonCode (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..* id What goals this action supports
.... subject[x] 0..1 Type of individual the action is focused on
Binding: ParticipantResourceTypes (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 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... kind S 1..1 code applicability | start | stop
Binding: ActionConditionVS (0.5.0) (required)
..... expression S 0..1 Expression Boolean-valued expression
.... input C 0..* BackboneElement Input data requirements
Constraints: pld-0
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... title 0..1 string User-visible title
..... requirement C 0..1 DataRequirement What data is provided
..... relatedData C 0..1 id What data is provided
.... output C 0..* BackboneElement Output data definition
Constraints: pld-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... 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 SC 0..* BackboneElement Relationship to another action
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... targetId SC 1..1 id Identifier of related action
..... relationship S 1..1 code before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipTypeVS (0.5.0) (required)
..... endRelationship 0..1 code before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.
..... Slices for offset[x] S 0..1 Time offset for the relationship
Slice: Unordered, Closed by type:$this
...... offsetDuration Duration
...... offsetRange Range
...... offset[x]:offsetDuration S 0..1 Duration Time offset for the relationship
...... offset[x]:offsetRange S 0..1 Range Time offset for the relationship
.... Slices for timing[x] S 0..1 When the action should take place
Slice: Unordered, Closed by type:$this
..... timingAge Age
..... timingTiming Timing
..... timing[x]:timingAge S 0..1 Age When the action should take place
..... timing[x]:timingTiming S 0..1 Timing When the action should take place
.... 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... actorId S 0..1 string What actor
..... type S 0..1 code careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ParticipantResourceTypesVS (0.5.0) (required)
..... typeCanonical 0..1 canonical(CapabilityStatement) Who or what can participate
..... typeReference 0..1 Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who or what can participate
..... role 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (2.0.0) (example): Defines roles played by participants for the action.
..... function 0..1 CodeableConcept E.g. Author, Reviewer, Witness, etc
Binding: ActionParticipantFunction (example)
.... type 0..1 CodeableConcept create | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.
.... groupingBehavior 0..1 code visual-group | logical-group | sentence-group
Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.
.... selectionBehavior 0..1 code any | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.
.... requiredBehavior 0..1 code must | could | must-unless-documented
Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.
.... precheckBehavior 0..1 code yes | no
Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.
.... cardinalityBehavior 0..1 code single | multiple
Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.
.... Slices for definition[x] S 0..1 Description of the activity to be performed
Slice: Unordered, Closed by type:$this
..... definitionCanonical canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition)
..... definitionUri uri
..... definition[x]:definitionCanonical S 0..1 canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) Description of the activity to be performed
..... definition[x]:definitionUri S 0..1 uri Description of the activity to be performed
.... 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... 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: SNOMEDCTMedicationAsNeededReasonCodes (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

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PlanDefinition.language Base required All Languages 📍5.0.0 FHIR Std.
PlanDefinition.versionAlgorithm[x] Base extensible Version algorithm translations 📍0.5.0 This IG
PlanDefinition.type Base extensible Plan Definition Type 📍5.0.0 FHIR Std.
PlanDefinition.status Base required Publication status translations 📍0.5.0 This IG
PlanDefinition.subject[x] Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.subject[x]:subjectCodeableConcept Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.jurisdiction Base extensible Jurisdiction ValueSet 📍5.0.0 FHIR Std.
PlanDefinition.topic Base example Definition Topic 📍5.0.0 FHIR Std.
PlanDefinition.goal.​category Base example Goal Category 📍5.0.0 FHIR Std.
PlanDefinition.goal.​description Base example SNOMED CT Clinical Findings 📍5.0.0 FHIR Std.
PlanDefinition.goal.​priority Base preferred Goal Priority 📍5.0.0 FHIR Std.
PlanDefinition.goal.​start Base example Goal Start Event 📍5.0.0 FHIR Std.
PlanDefinition.goal.​addresses Base example Condition/Problem/Diagnosis Codes 📍5.0.0 FHIR Std.
PlanDefinition.goal.​target.measure Base example LOINC Codes 📍5.0.0 FHIR Std.
PlanDefinition.actor.​option.type Base required Action Participant Type 📍5.0.0 FHIR Std.
PlanDefinition.actor.​option.role Base example Action Participant Role 📍2.0.0 THO v7.1
PlanDefinition.action.​priority Base required RequestPriority 📍5.0.0 FHIR Std.
PlanDefinition.action.​code Base example Action code translations 📍0.5.0 This IG
PlanDefinition.action.​reason Base example Action Reason Code 📍5.0.0 FHIR Std.
PlanDefinition.action.​subject[x] Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.action.​condition.kind Base required Action condition translations 📍0.5.0 This IG
PlanDefinition.action.​relatedAction.relationship Base required Types of action relationship 📍0.5.0 This IG
PlanDefinition.action.​relatedAction.endRelationship Base required Action Relationship Type 📍5.0.0 FHIR Std.
PlanDefinition.action.​participant.type Base required Participant resource types translations 📍0.5.0 This IG
PlanDefinition.action.​participant.role Base example Action Participant Role 📍2.0.0 THO v7.1
PlanDefinition.action.​participant.function Base example Action Participant Function 📍5.0.0 FHIR Std.
PlanDefinition.action.​type Base extensible Action Type 📍5.0.0 FHIR Std.
PlanDefinition.action.​groupingBehavior Base required Action Grouping Behavior 📍5.0.0 FHIR Std.
PlanDefinition.action.​selectionBehavior Base required Action Selection Behavior 📍5.0.0 FHIR Std.
PlanDefinition.action.​requiredBehavior Base required Action Required Behavior 📍5.0.0 FHIR Std.
PlanDefinition.action.​precheckBehavior Base required Action Precheck Behavior 📍5.0.0 FHIR Std.
PlanDefinition.action.​cardinalityBehavior Base required Action Cardinality Behavior 📍5.0.0 FHIR Std.
PlanDefinition.asNeeded[x] Base example SNOMED CT Medication As Needed Reason Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning PlanDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning PlanDefinition.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
ele-1 error PlanDefinition.meta, PlanDefinition.implicitRules, PlanDefinition.language, PlanDefinition.text, PlanDefinition.extension, PlanDefinition.modifierExtension, PlanDefinition.url, PlanDefinition.identifier, PlanDefinition.version, PlanDefinition.versionAlgorithm[x], PlanDefinition.name, PlanDefinition.title, PlanDefinition.subtitle, PlanDefinition.type, PlanDefinition.status, PlanDefinition.experimental, PlanDefinition.subject[x], PlanDefinition.subject[x]:subjectCodeableConcept, PlanDefinition.subject[x]:subjectReference, PlanDefinition.date, PlanDefinition.publisher, PlanDefinition.contact, PlanDefinition.description, PlanDefinition.useContext, PlanDefinition.jurisdiction, PlanDefinition.purpose, PlanDefinition.usage, PlanDefinition.copyright, PlanDefinition.copyrightLabel, PlanDefinition.approvalDate, PlanDefinition.lastReviewDate, PlanDefinition.effectivePeriod, PlanDefinition.topic, PlanDefinition.author, PlanDefinition.editor, PlanDefinition.reviewer, PlanDefinition.endorser, PlanDefinition.relatedArtifact, PlanDefinition.library, PlanDefinition.goal, PlanDefinition.goal.extension, PlanDefinition.goal.modifierExtension, PlanDefinition.goal.category, PlanDefinition.goal.description, PlanDefinition.goal.priority, PlanDefinition.goal.start, PlanDefinition.goal.addresses, PlanDefinition.goal.documentation, PlanDefinition.goal.target, PlanDefinition.goal.target.extension, PlanDefinition.goal.target.modifierExtension, PlanDefinition.goal.target.measure, PlanDefinition.goal.target.detail[x], PlanDefinition.goal.target.due, PlanDefinition.actor, PlanDefinition.actor.extension, PlanDefinition.actor.modifierExtension, PlanDefinition.actor.title, PlanDefinition.actor.description, PlanDefinition.actor.option, PlanDefinition.actor.option.extension, PlanDefinition.actor.option.modifierExtension, PlanDefinition.actor.option.type, PlanDefinition.actor.option.typeCanonical, PlanDefinition.actor.option.typeReference, PlanDefinition.actor.option.role, PlanDefinition.action, PlanDefinition.action.extension, PlanDefinition.action.modifierExtension, PlanDefinition.action.linkId, PlanDefinition.action.prefix, PlanDefinition.action.title, PlanDefinition.action.description, PlanDefinition.action.textEquivalent, PlanDefinition.action.priority, PlanDefinition.action.code, PlanDefinition.action.reason, PlanDefinition.action.documentation, PlanDefinition.action.goalId, PlanDefinition.action.subject[x], PlanDefinition.action.trigger, PlanDefinition.action.condition, PlanDefinition.action.condition.extension, PlanDefinition.action.condition.modifierExtension, PlanDefinition.action.condition.kind, PlanDefinition.action.condition.expression, PlanDefinition.action.input, PlanDefinition.action.input.extension, PlanDefinition.action.input.modifierExtension, PlanDefinition.action.input.title, PlanDefinition.action.input.requirement, PlanDefinition.action.input.relatedData, PlanDefinition.action.output, PlanDefinition.action.output.extension, PlanDefinition.action.output.modifierExtension, PlanDefinition.action.output.title, PlanDefinition.action.output.requirement, PlanDefinition.action.output.relatedData, PlanDefinition.action.relatedAction, PlanDefinition.action.relatedAction.extension, PlanDefinition.action.relatedAction.modifierExtension, PlanDefinition.action.relatedAction.targetId, PlanDefinition.action.relatedAction.relationship, PlanDefinition.action.relatedAction.endRelationship, PlanDefinition.action.relatedAction.offset[x], PlanDefinition.action.relatedAction.offset[x]:offsetDuration, PlanDefinition.action.relatedAction.offset[x]:offsetRange, PlanDefinition.action.timing[x], PlanDefinition.action.timing[x]:timingAge, PlanDefinition.action.timing[x]:timingTiming, PlanDefinition.action.location, PlanDefinition.action.participant, PlanDefinition.action.participant.extension, PlanDefinition.action.participant.modifierExtension, PlanDefinition.action.participant.actorId, PlanDefinition.action.participant.type, PlanDefinition.action.participant.typeCanonical, PlanDefinition.action.participant.typeReference, PlanDefinition.action.participant.role, PlanDefinition.action.participant.function, PlanDefinition.action.type, PlanDefinition.action.groupingBehavior, PlanDefinition.action.selectionBehavior, PlanDefinition.action.requiredBehavior, PlanDefinition.action.precheckBehavior, PlanDefinition.action.cardinalityBehavior, PlanDefinition.action.definition[x], PlanDefinition.action.definition[x]:definitionCanonical, PlanDefinition.action.definition[x]:definitionUri, PlanDefinition.action.transform, PlanDefinition.action.dynamicValue, PlanDefinition.action.dynamicValue.extension, PlanDefinition.action.dynamicValue.modifierExtension, PlanDefinition.action.dynamicValue.path, PlanDefinition.action.dynamicValue.expression, PlanDefinition.action.action, PlanDefinition.asNeeded[x] All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error PlanDefinition.extension, PlanDefinition.modifierExtension, PlanDefinition.goal.extension, PlanDefinition.goal.modifierExtension, PlanDefinition.goal.target.extension, PlanDefinition.goal.target.modifierExtension, PlanDefinition.actor.extension, PlanDefinition.actor.modifierExtension, PlanDefinition.actor.option.extension, PlanDefinition.actor.option.modifierExtension, PlanDefinition.action.extension, PlanDefinition.action.modifierExtension, PlanDefinition.action.condition.extension, PlanDefinition.action.condition.modifierExtension, PlanDefinition.action.input.extension, PlanDefinition.action.input.modifierExtension, PlanDefinition.action.output.extension, PlanDefinition.action.output.modifierExtension, PlanDefinition.action.relatedAction.extension, PlanDefinition.action.relatedAction.modifierExtension, PlanDefinition.action.participant.extension, PlanDefinition.action.participant.modifierExtension, PlanDefinition.action.dynamicValue.extension, PlanDefinition.action.dynamicValue.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
pld-0 error PlanDefinition.action.input Input data elements must have a requirement or a relatedData, but not both requirement.exists() xor relatedData.exists()
pld-1 error PlanDefinition.action.output Output data element must have a requirement or a relatedData, but not both requirement.exists() xor relatedData.exists()
pld-3 warning PlanDefinition goalid should reference the id of a goal definition %context.repeat(action).where((goalId in %context.goal.id).not()).exists().not()
pld-4 warning PlanDefinition targetId should reference the id of an action %context.repeat(action).relatedAction.where((targetId in %context.repeat(action).id).not()).exists().not()

Summary

Mandatory: 3 elements
Must-Support: 39 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of PlanDefinition.subject[x]
  • The element 1 is sliced based on the value of PlanDefinition.action.relatedAction.offset[x]
  • The element 1 is sliced based on the value of PlanDefinition.action.timing[x]
  • The element 1 is sliced based on the value of PlanDefinition.action.definition[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PlanDefinition C 0..* PlanDefinition(5.0.0) The definition of a plan for a series of actions, independent of any specific patient or context
Interfaces Implemented: MetadataResource
Constraints: cnl-0, pld-3, pld-4
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... identifier SΣ 0..* Identifier Additional identifier for the plan definition
... version SΣ 0..1 string Business version of the plan definition
... versionAlgorithm[x] SΣ 0..1 How to compare versions
Binding: VersionAlgorithmVS (0.5.0) (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name SΣC 1..1 string Machine-processable name for this PlanDefinition
... title SΣ 0..1 string Name for this plan definition (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatusVS (0.5.0) (required)
... Slices for subject[x] S 0..1 Type of individual the plan definition is focused on
Slice: Unordered, Closed by type:$this
Binding: ParticipantResourceTypes (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)
.... subject[x]:subjectCodeableConcept S 0..1 CodeableConcept Type of individual the plan definition is focused on
Binding: ParticipantResourceTypes (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
.... subject[x]:subjectReference S 0..1 Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) Type of individual the plan definition is focused on
... date SΣ 0..1 dateTime Date last changed
... publisher SΣ 0..1 string Name of the publisher/steward (organization or individual)
... description SΣ 1..1 markdown Natural language description of the plan definition
... useContext SΣ 0..* UsageContext The context that the content is intended to support
... approvalDate S 0..1 date When the plan definition was approved by publisher
... effectivePeriod SΣ 0..1 Period When the plan definition is expected to be used
... action SC 0..* BackboneElement Definition of action included in the plan
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... linkId S 0..1 string Unique id for the action in the PlanDefinition
.... title S 0..1 string User-visible title
.... description S 0..1 markdown Brief description of the action
.... code S 0..1 CodeableConcept Code representing the meaning of the action or sub-actions
Binding: ActionCodeVS (0.5.0) (example)
.... condition S 0..* BackboneElement Whether or not the action is applicable
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... kind S 1..1 code applicability | start | stop
Binding: ActionConditionVS (0.5.0) (required)
..... expression S 0..1 Expression Boolean-valued expression
.... relatedAction SC 0..* BackboneElement Relationship to another action
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... targetId SC 1..1 id Identifier of related action
..... relationship S 1..1 code before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipTypeVS (0.5.0) (required)
..... Slices for offset[x] S 0..1 Time offset for the relationship
Slice: Unordered, Closed by type:$this
...... offsetDuration Duration
...... offsetRange Range
...... offset[x]:offsetDuration S 0..1 Duration Time offset for the relationship
...... offset[x]:offsetRange S 0..1 Range Time offset for the relationship
.... Slices for timing[x] S 0..1 When the action should take place
Slice: Unordered, Closed by type:$this
..... timingAge Age
..... timingTiming Timing
..... timing[x]:timingAge S 0..1 Age When the action should take place
..... timing[x]:timingTiming S 0..1 Timing When the action should take place
.... participant S 0..* BackboneElement Who should participate in the action
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... actorId S 0..1 string What actor
..... type S 0..1 code careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ParticipantResourceTypesVS (0.5.0) (required)
.... Slices for definition[x] S 0..1 Description of the activity to be performed
Slice: Unordered, Closed by type:$this
..... definitionCanonical canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition)
..... definitionUri uri
..... definition[x]:definitionCanonical S 0..1 canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) Description of the activity to be performed
..... definition[x]:definitionUri S 0..1 uri Description of the activity to be performed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PlanDefinition.versionAlgorithm[x] Base extensible Version algorithm translations 📍0.5.0 This IG
PlanDefinition.status Base required Publication status translations 📍0.5.0 This IG
PlanDefinition.subject[x] Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.subject[x]:subjectCodeableConcept Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.action.​code Base example Action code translations 📍0.5.0 This IG
PlanDefinition.action.​condition.kind Base required Action condition translations 📍0.5.0 This IG
PlanDefinition.action.​relatedAction.relationship Base required Types of action relationship 📍0.5.0 This IG
PlanDefinition.action.​participant.type Base required Participant resource types translations 📍0.5.0 This IG

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning PlanDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning PlanDefinition.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
ele-1 error PlanDefinition.implicitRules, PlanDefinition.modifierExtension, PlanDefinition.url, PlanDefinition.identifier, PlanDefinition.version, PlanDefinition.versionAlgorithm[x], PlanDefinition.name, PlanDefinition.title, PlanDefinition.status, PlanDefinition.subject[x], PlanDefinition.subject[x]:subjectCodeableConcept, PlanDefinition.subject[x]:subjectReference, PlanDefinition.date, PlanDefinition.publisher, PlanDefinition.description, PlanDefinition.useContext, PlanDefinition.approvalDate, PlanDefinition.effectivePeriod, PlanDefinition.action, PlanDefinition.action.modifierExtension, PlanDefinition.action.linkId, PlanDefinition.action.title, PlanDefinition.action.description, PlanDefinition.action.code, PlanDefinition.action.condition, PlanDefinition.action.condition.modifierExtension, PlanDefinition.action.condition.kind, PlanDefinition.action.condition.expression, PlanDefinition.action.relatedAction, PlanDefinition.action.relatedAction.modifierExtension, PlanDefinition.action.relatedAction.targetId, PlanDefinition.action.relatedAction.relationship, PlanDefinition.action.relatedAction.offset[x], PlanDefinition.action.relatedAction.offset[x]:offsetDuration, PlanDefinition.action.relatedAction.offset[x]:offsetRange, PlanDefinition.action.timing[x], PlanDefinition.action.timing[x]:timingAge, PlanDefinition.action.timing[x]:timingTiming, PlanDefinition.action.participant, PlanDefinition.action.participant.modifierExtension, PlanDefinition.action.participant.actorId, PlanDefinition.action.participant.type, PlanDefinition.action.definition[x], PlanDefinition.action.definition[x]:definitionCanonical, PlanDefinition.action.definition[x]:definitionUri All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error PlanDefinition.modifierExtension, PlanDefinition.action.modifierExtension, PlanDefinition.action.condition.modifierExtension, PlanDefinition.action.relatedAction.modifierExtension, PlanDefinition.action.participant.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
pld-3 warning PlanDefinition goalid should reference the id of a goal definition %context.repeat(action).where((goalId in %context.goal.id).not()).exists().not()
pld-4 warning PlanDefinition targetId should reference the id of an action %context.repeat(action).relatedAction.where((targetId in %context.repeat(action).id).not()).exists().not()

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PlanDefinition 0..* PlanDefinition(5.0.0) The definition of a plan for a series of actions, independent of any specific patient or context
Interfaces Implemented: MetadataResource
... url S 1..1 uri Canonical identifier for this PlanDefinition
... identifier S 0..* Identifier Additional identifier for the plan definition
... version S 0..1 string Business version of the plan definition
... name S 1..1 string Machine-processable name for this PlanDefinition
... title S 0..1 string Name for this plan definition (human friendly)
... status S 1..1 code draft | active | retired | unknown
Binding: PublicationStatusVS (0.5.0) (required)
... Slices for subject[x] S 0..1 Type of individual the plan definition is focused on
Slice: Unordered, Open by type:$this
.... subjectCodeableConcept CodeableConcept
.... subjectReference Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition)
.... subject[x]:subjectCodeableConcept S 0..1 CodeableConcept Type of individual the plan definition is focused on
.... subject[x]:subjectReference S 0..1 Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) Type of individual the plan definition is focused on
... date S 0..1 dateTime Date last changed
... publisher S 0..1 string Name of the publisher/steward (organization or individual)
... description S 1..1 markdown Natural language description of the plan definition
... useContext S 0..* UsageContext The context that the content is intended to support
... approvalDate S 0..1 date When the plan definition was approved by publisher
... effectivePeriod S 0..1 Period When the plan definition is expected to be used
... action S 0..* BackboneElement Definition of action included in the plan
.... linkId S 0..1 string Unique id for the action in the PlanDefinition
.... title S 0..1 string User-visible title
.... description S 0..1 markdown Brief description of the action
.... code S 0..1 CodeableConcept Code representing the meaning of the action or sub-actions
Binding: ActionCodeVS (0.5.0) (example)
.... condition S 0..* BackboneElement Whether or not the action is applicable
..... kind S 1..1 code applicability | start | stop
Binding: ActionConditionVS (0.5.0) (required)
..... expression S 0..1 Expression Boolean-valued expression
.... relatedAction S 0..* BackboneElement Relationship to another action
..... targetId S 1..1 id Identifier of related action
..... relationship S 1..1 code before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipTypeVS (0.5.0) (required)
..... Slices for offset[x] S 0..1 Duration, Range Time offset for the relationship
Slice: Unordered, Open by type:$this
...... offset[x]:offsetDuration S 0..1 Duration Time offset for the relationship
...... offset[x]:offsetRange S 0..1 Range Time offset for the relationship
.... Slices for timing[x] S 0..1 When the action should take place
Slice: Unordered, Open by type:$this
..... timingAge Age
..... timingTiming Timing
..... timing[x]:timingAge S 0..1 Age When the action should take place
..... timing[x]:timingTiming S 0..1 Timing When the action should take place
.... participant S 0..* BackboneElement Who should participate in the action
..... actorId S 0..1 string What actor
..... type S 0..1 code careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ParticipantResourceTypesVS (0.5.0) (required)
.... Slices for definition[x] S 0..1 canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition), uri Description of the activity to be performed
Slice: Unordered, Open by type:$this
..... definition[x]:definitionCanonical S 0..1 canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) Description of the activity to be performed
..... definition[x]:definitionUri S 0..1 uri Description of the activity to be performed

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
PlanDefinition.versionAlgorithm[x] Base extensible Version algorithm translations 📍0.5.0 This IG
PlanDefinition.status Base required Publication status translations 📍0.5.0 This IG
PlanDefinition.action.​code Base example Action code translations 📍0.5.0 This IG
PlanDefinition.action.​condition.kind Base required Action condition translations 📍0.5.0 This IG
PlanDefinition.action.​relatedAction.relationship Base required Types of action relationship 📍0.5.0 This IG
PlanDefinition.action.​participant.type Base required Participant resource types translations 📍0.5.0 This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PlanDefinition C 0..* PlanDefinition(5.0.0) The definition of a plan for a series of actions, independent of any specific patient or context
Interfaces Implemented: MetadataResource
Constraints: cnl-0, pld-3, pld-4
... 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: AllLanguages (required): IETF language tag for a human language
Additional BindingsPurpose
CommonLanguages Starter
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... url SΣC 1..1 uri Canonical identifier for this PlanDefinition
Constraints: cnl-1
... identifier SΣ 0..* Identifier Additional identifier for the plan definition
... version SΣ 0..1 string Business version of the plan definition
... versionAlgorithm[x] SΣ 0..1 How to compare versions
Binding: VersionAlgorithmVS (0.5.0) (extensible)
.... versionAlgorithmString string
.... versionAlgorithmCoding Coding
... name SΣC 1..1 string Machine-processable name for this PlanDefinition
... title SΣ 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: PlanDefinitionType (extensible): The type of PlanDefinition.
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatusVS (0.5.0) (required)
... experimental Σ 0..1 boolean For testing purposes, not real usage
... Slices for subject[x] S 0..1 Type of individual the plan definition is focused on
Slice: Unordered, Closed by type:$this
Binding: ParticipantResourceTypes (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)
.... subject[x]:subjectCodeableConcept S 0..1 CodeableConcept Type of individual the plan definition is focused on
Binding: ParticipantResourceTypes (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
.... subject[x]:subjectReference S 0..1 Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) Type of individual the plan definition is focused on
... date SΣ 0..1 dateTime Date last changed
... publisher SΣ 0..1 string Name of the publisher/steward (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description SΣ 1..1 markdown Natural language description of the plan definition
... useContext SΣ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable)
Binding: JurisdictionValueSet (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 S 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 SΣ 0..1 Period When the plan definition is expected to be used
... topic 0..* CodeableConcept E.g. Education, Treatment, Assessment
Binding: DefinitionTopic (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
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... category 0..1 CodeableConcept E.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.
.... description 1..1 CodeableConcept Code or text describing the goal
Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.
.... priority 0..1 CodeableConcept high-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.
.... start 0..1 CodeableConcept When goal pursuit begins
Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.
.... addresses 0..* CodeableConcept What does the goal address
Binding: ConditionProblemDiagnosisCodes (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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... measure 0..1 CodeableConcept The 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..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
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... type 0..1 code careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ActionParticipantType (required): The type of participant in the activity.
..... typeCanonical 0..1 canonical(CapabilityStatement) Who or what can participate
..... typeReference 0..1 Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who or what can participate
..... role 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (2.0.0) (example)
... action SC 0..* BackboneElement Definition of action included in the plan
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... linkId S 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 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
.... code S 0..1 CodeableConcept Code representing the meaning of the action or sub-actions
Binding: ActionCodeVS (0.5.0) (example)
.... reason 0..* CodeableConcept Why the action should be performed
Binding: ActionReasonCode (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..* id What goals this action supports
.... subject[x] 0..1 Type of individual the action is focused on
Binding: ParticipantResourceTypes (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 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... kind S 1..1 code applicability | start | stop
Binding: ActionConditionVS (0.5.0) (required)
..... expression S 0..1 Expression Boolean-valued expression
.... input C 0..* BackboneElement Input data requirements
Constraints: pld-0
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... title 0..1 string User-visible title
..... requirement C 0..1 DataRequirement What data is provided
..... relatedData C 0..1 id What data is provided
.... output C 0..* BackboneElement Output data definition
Constraints: pld-1
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... 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 SC 0..* BackboneElement Relationship to another action
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... targetId SC 1..1 id Identifier of related action
..... relationship S 1..1 code before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipTypeVS (0.5.0) (required)
..... endRelationship 0..1 code before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.
..... Slices for offset[x] S 0..1 Time offset for the relationship
Slice: Unordered, Closed by type:$this
...... offsetDuration Duration
...... offsetRange Range
...... offset[x]:offsetDuration S 0..1 Duration Time offset for the relationship
...... offset[x]:offsetRange S 0..1 Range Time offset for the relationship
.... Slices for timing[x] S 0..1 When the action should take place
Slice: Unordered, Closed by type:$this
..... timingAge Age
..... timingTiming Timing
..... timing[x]:timingAge S 0..1 Age When the action should take place
..... timing[x]:timingTiming S 0..1 Timing When the action should take place
.... 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... actorId S 0..1 string What actor
..... type S 0..1 code careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ParticipantResourceTypesVS (0.5.0) (required)
..... typeCanonical 0..1 canonical(CapabilityStatement) Who or what can participate
..... typeReference 0..1 Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) Who or what can participate
..... role 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (2.0.0) (example): Defines roles played by participants for the action.
..... function 0..1 CodeableConcept E.g. Author, Reviewer, Witness, etc
Binding: ActionParticipantFunction (example)
.... type 0..1 CodeableConcept create | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.
.... groupingBehavior 0..1 code visual-group | logical-group | sentence-group
Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.
.... selectionBehavior 0..1 code any | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.
.... requiredBehavior 0..1 code must | could | must-unless-documented
Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.
.... precheckBehavior 0..1 code yes | no
Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.
.... cardinalityBehavior 0..1 code single | multiple
Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.
.... Slices for definition[x] S 0..1 Description of the activity to be performed
Slice: Unordered, Closed by type:$this
..... definitionCanonical canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition)
..... definitionUri uri
..... definition[x]:definitionCanonical S 0..1 canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) Description of the activity to be performed
..... definition[x]:definitionUri S 0..1 uri Description of the activity to be performed
.... 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
Constraints: ext-1
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
..... 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: SNOMEDCTMedicationAsNeededReasonCodes (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

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PlanDefinition.language Base required All Languages 📍5.0.0 FHIR Std.
PlanDefinition.versionAlgorithm[x] Base extensible Version algorithm translations 📍0.5.0 This IG
PlanDefinition.type Base extensible Plan Definition Type 📍5.0.0 FHIR Std.
PlanDefinition.status Base required Publication status translations 📍0.5.0 This IG
PlanDefinition.subject[x] Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.subject[x]:subjectCodeableConcept Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.jurisdiction Base extensible Jurisdiction ValueSet 📍5.0.0 FHIR Std.
PlanDefinition.topic Base example Definition Topic 📍5.0.0 FHIR Std.
PlanDefinition.goal.​category Base example Goal Category 📍5.0.0 FHIR Std.
PlanDefinition.goal.​description Base example SNOMED CT Clinical Findings 📍5.0.0 FHIR Std.
PlanDefinition.goal.​priority Base preferred Goal Priority 📍5.0.0 FHIR Std.
PlanDefinition.goal.​start Base example Goal Start Event 📍5.0.0 FHIR Std.
PlanDefinition.goal.​addresses Base example Condition/Problem/Diagnosis Codes 📍5.0.0 FHIR Std.
PlanDefinition.goal.​target.measure Base example LOINC Codes 📍5.0.0 FHIR Std.
PlanDefinition.actor.​option.type Base required Action Participant Type 📍5.0.0 FHIR Std.
PlanDefinition.actor.​option.role Base example Action Participant Role 📍2.0.0 THO v7.1
PlanDefinition.action.​priority Base required RequestPriority 📍5.0.0 FHIR Std.
PlanDefinition.action.​code Base example Action code translations 📍0.5.0 This IG
PlanDefinition.action.​reason Base example Action Reason Code 📍5.0.0 FHIR Std.
PlanDefinition.action.​subject[x] Base extensible Participant Resource Types 📍5.0.0 FHIR Std.
PlanDefinition.action.​condition.kind Base required Action condition translations 📍0.5.0 This IG
PlanDefinition.action.​relatedAction.relationship Base required Types of action relationship 📍0.5.0 This IG
PlanDefinition.action.​relatedAction.endRelationship Base required Action Relationship Type 📍5.0.0 FHIR Std.
PlanDefinition.action.​participant.type Base required Participant resource types translations 📍0.5.0 This IG
PlanDefinition.action.​participant.role Base example Action Participant Role 📍2.0.0 THO v7.1
PlanDefinition.action.​participant.function Base example Action Participant Function 📍5.0.0 FHIR Std.
PlanDefinition.action.​type Base extensible Action Type 📍5.0.0 FHIR Std.
PlanDefinition.action.​groupingBehavior Base required Action Grouping Behavior 📍5.0.0 FHIR Std.
PlanDefinition.action.​selectionBehavior Base required Action Selection Behavior 📍5.0.0 FHIR Std.
PlanDefinition.action.​requiredBehavior Base required Action Required Behavior 📍5.0.0 FHIR Std.
PlanDefinition.action.​precheckBehavior Base required Action Precheck Behavior 📍5.0.0 FHIR Std.
PlanDefinition.action.​cardinalityBehavior Base required Action Cardinality Behavior 📍5.0.0 FHIR Std.
PlanDefinition.asNeeded[x] Base example SNOMED CT Medication As Needed Reason Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cnl-0 warning PlanDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1 warning PlanDefinition.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
ele-1 error PlanDefinition.meta, PlanDefinition.implicitRules, PlanDefinition.language, PlanDefinition.text, PlanDefinition.extension, PlanDefinition.modifierExtension, PlanDefinition.url, PlanDefinition.identifier, PlanDefinition.version, PlanDefinition.versionAlgorithm[x], PlanDefinition.name, PlanDefinition.title, PlanDefinition.subtitle, PlanDefinition.type, PlanDefinition.status, PlanDefinition.experimental, PlanDefinition.subject[x], PlanDefinition.subject[x]:subjectCodeableConcept, PlanDefinition.subject[x]:subjectReference, PlanDefinition.date, PlanDefinition.publisher, PlanDefinition.contact, PlanDefinition.description, PlanDefinition.useContext, PlanDefinition.jurisdiction, PlanDefinition.purpose, PlanDefinition.usage, PlanDefinition.copyright, PlanDefinition.copyrightLabel, PlanDefinition.approvalDate, PlanDefinition.lastReviewDate, PlanDefinition.effectivePeriod, PlanDefinition.topic, PlanDefinition.author, PlanDefinition.editor, PlanDefinition.reviewer, PlanDefinition.endorser, PlanDefinition.relatedArtifact, PlanDefinition.library, PlanDefinition.goal, PlanDefinition.goal.extension, PlanDefinition.goal.modifierExtension, PlanDefinition.goal.category, PlanDefinition.goal.description, PlanDefinition.goal.priority, PlanDefinition.goal.start, PlanDefinition.goal.addresses, PlanDefinition.goal.documentation, PlanDefinition.goal.target, PlanDefinition.goal.target.extension, PlanDefinition.goal.target.modifierExtension, PlanDefinition.goal.target.measure, PlanDefinition.goal.target.detail[x], PlanDefinition.goal.target.due, PlanDefinition.actor, PlanDefinition.actor.extension, PlanDefinition.actor.modifierExtension, PlanDefinition.actor.title, PlanDefinition.actor.description, PlanDefinition.actor.option, PlanDefinition.actor.option.extension, PlanDefinition.actor.option.modifierExtension, PlanDefinition.actor.option.type, PlanDefinition.actor.option.typeCanonical, PlanDefinition.actor.option.typeReference, PlanDefinition.actor.option.role, PlanDefinition.action, PlanDefinition.action.extension, PlanDefinition.action.modifierExtension, PlanDefinition.action.linkId, PlanDefinition.action.prefix, PlanDefinition.action.title, PlanDefinition.action.description, PlanDefinition.action.textEquivalent, PlanDefinition.action.priority, PlanDefinition.action.code, PlanDefinition.action.reason, PlanDefinition.action.documentation, PlanDefinition.action.goalId, PlanDefinition.action.subject[x], PlanDefinition.action.trigger, PlanDefinition.action.condition, PlanDefinition.action.condition.extension, PlanDefinition.action.condition.modifierExtension, PlanDefinition.action.condition.kind, PlanDefinition.action.condition.expression, PlanDefinition.action.input, PlanDefinition.action.input.extension, PlanDefinition.action.input.modifierExtension, PlanDefinition.action.input.title, PlanDefinition.action.input.requirement, PlanDefinition.action.input.relatedData, PlanDefinition.action.output, PlanDefinition.action.output.extension, PlanDefinition.action.output.modifierExtension, PlanDefinition.action.output.title, PlanDefinition.action.output.requirement, PlanDefinition.action.output.relatedData, PlanDefinition.action.relatedAction, PlanDefinition.action.relatedAction.extension, PlanDefinition.action.relatedAction.modifierExtension, PlanDefinition.action.relatedAction.targetId, PlanDefinition.action.relatedAction.relationship, PlanDefinition.action.relatedAction.endRelationship, PlanDefinition.action.relatedAction.offset[x], PlanDefinition.action.relatedAction.offset[x]:offsetDuration, PlanDefinition.action.relatedAction.offset[x]:offsetRange, PlanDefinition.action.timing[x], PlanDefinition.action.timing[x]:timingAge, PlanDefinition.action.timing[x]:timingTiming, PlanDefinition.action.location, PlanDefinition.action.participant, PlanDefinition.action.participant.extension, PlanDefinition.action.participant.modifierExtension, PlanDefinition.action.participant.actorId, PlanDefinition.action.participant.type, PlanDefinition.action.participant.typeCanonical, PlanDefinition.action.participant.typeReference, PlanDefinition.action.participant.role, PlanDefinition.action.participant.function, PlanDefinition.action.type, PlanDefinition.action.groupingBehavior, PlanDefinition.action.selectionBehavior, PlanDefinition.action.requiredBehavior, PlanDefinition.action.precheckBehavior, PlanDefinition.action.cardinalityBehavior, PlanDefinition.action.definition[x], PlanDefinition.action.definition[x]:definitionCanonical, PlanDefinition.action.definition[x]:definitionUri, PlanDefinition.action.transform, PlanDefinition.action.dynamicValue, PlanDefinition.action.dynamicValue.extension, PlanDefinition.action.dynamicValue.modifierExtension, PlanDefinition.action.dynamicValue.path, PlanDefinition.action.dynamicValue.expression, PlanDefinition.action.action, PlanDefinition.asNeeded[x] All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error PlanDefinition.extension, PlanDefinition.modifierExtension, PlanDefinition.goal.extension, PlanDefinition.goal.modifierExtension, PlanDefinition.goal.target.extension, PlanDefinition.goal.target.modifierExtension, PlanDefinition.actor.extension, PlanDefinition.actor.modifierExtension, PlanDefinition.actor.option.extension, PlanDefinition.actor.option.modifierExtension, PlanDefinition.action.extension, PlanDefinition.action.modifierExtension, PlanDefinition.action.condition.extension, PlanDefinition.action.condition.modifierExtension, PlanDefinition.action.input.extension, PlanDefinition.action.input.modifierExtension, PlanDefinition.action.output.extension, PlanDefinition.action.output.modifierExtension, PlanDefinition.action.relatedAction.extension, PlanDefinition.action.relatedAction.modifierExtension, PlanDefinition.action.participant.extension, PlanDefinition.action.participant.modifierExtension, PlanDefinition.action.dynamicValue.extension, PlanDefinition.action.dynamicValue.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
pld-0 error PlanDefinition.action.input Input data elements must have a requirement or a relatedData, but not both requirement.exists() xor relatedData.exists()
pld-1 error PlanDefinition.action.output Output data element must have a requirement or a relatedData, but not both requirement.exists() xor relatedData.exists()
pld-3 warning PlanDefinition goalid should reference the id of a goal definition %context.repeat(action).where((goalId in %context.goal.id).not()).exists().not()
pld-4 warning PlanDefinition targetId should reference the id of an action %context.repeat(action).relatedAction.where((targetId in %context.repeat(action).id).not()).exists().not()

Summary

Mandatory: 3 elements
Must-Support: 39 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of PlanDefinition.subject[x]
  • The element 1 is sliced based on the value of PlanDefinition.action.relatedAction.offset[x]
  • The element 1 is sliced based on the value of PlanDefinition.action.timing[x]
  • The element 1 is sliced based on the value of PlanDefinition.action.definition[x]

 

Other representations of profile: CSV, Excel, Schematron

Quick Start

Common API interactions for this profile. Requests require a JWT access token - see Security and authentication. [base] is the FHIR server base URL; | separates a token system from its value and must be URL-encoded as %7C. These interactions use standard FHIR R5 search parameters; see the CapabilityStatement as it is finalized for this resource.

Read a schedule by server id

GET [base]/PlanDefinition/[id]

Useful searches

# the active national schedule
GET [base]/PlanDefinition?status=active

# by machine name, title, or version
GET [base]/PlanDefinition?name=NationalImmunizationSchedule
GET [base]/PlanDefinition?title=National%20Immunization%20Schedule
GET [base]/PlanDefinition?version=1.0.0

# by publication date, jurisdiction, or use-context value
GET [base]/PlanDefinition?date=ge2026-01-01
GET [base]/PlanDefinition?jurisdiction=urn:iso:std:iso:3166%7CUZ
GET [base]/PlanDefinition?context-type-value=focus$http://snomed.info/sct%7C14189004

Create a schedule

POST [base]/PlanDefinition
{
  "resourceType": "PlanDefinition",
  "meta": { "profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-plan-definition" ] },
  ...
}

Before activating, confirm the schedule passes validation (no dose-sequence gaps, no impossible timing windows) and that no other version is already active for the same scope.

Update a schedule (e.g. publish a new version or retire an old one)

PUT [base]/PlanDefinition/[id]
If-Match: W/"3"   # the ETag from your last read; 412 if it changed since
{
  "resourceType": "PlanDefinition",
  "id": "[id]",
  "meta": { "profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-plan-definition" ] },
  ...
}