This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
Detailed Descriptions for the elements in the Protocol resource.
Protocol | |
Definition | A definition of behaviors to be taken in particular circumstances, often including conditions, options and other decision points. |
Control | 1..1 |
Summary | true |
Protocol.identifier | |
Definition | A unique identifier for the protocol instance. |
Note | This is a business identifer, not a resource identifier (see discussion) |
Control | 0..* |
Type | Identifier |
Summary | true |
Protocol.title | |
Definition | Name of protocol. |
Control | 0..1 |
Type | string |
Summary | true |
Protocol.status | |
Definition | The status of the protocol. |
Control | 1..1 |
Binding | ProtocolStatus: The lifecycle status of a Protocol (Required) |
Type | code |
Is Modifier | true |
Requirements | Allow for filtering of Protocols that are appropriate for use in production. |
Summary | true |
Protocol.type | |
Definition | A code that classifies the general type of context to which these behavior definitions apply. This is used for searching, sorting and display purposes. |
Control | 1..1 |
Binding | ProtocolType: High-level categorization of the protocol (Required) |
Type | code |
Is Modifier | true |
Summary | true |
Protocol.subject | |
Definition | What does protocol deal with? |
Control | 0..1 |
Type | Reference(Condition | Device | Medication) |
Is Modifier | true |
Summary | true |
Protocol.group | |
Definition | To whom does Protocol apply? |
Control | 0..1 |
Type | Reference(Group) |
Is Modifier | true |
Summary | true |
Protocol.purpose | |
Definition | When is protocol to be used? |
Control | 1..1 |
Type | string |
Summary | true |
Protocol.author | |
Definition | Who wrote protocol? |
Control | 0..1 |
Type | Reference(Organization) |
Summary | true |
Protocol.step | |
Definition | What's done as part of protocol. |
Control | 0..* |
Alternate Names | item |
Summary | true |
Protocol.step.name | |
Definition | Label for step. |
Control | 0..1 |
Type | string |
Summary | true |
Protocol.step.description | |
Definition | Human description of activity. |
Control | 0..1 |
Type | string |
Summary | true |
Protocol.step.duration | |
Definition | How long does step last? |
Control | 0..1 |
Type | Duration |
Summary | true |
Protocol.step.precondition | |
Definition | Rules prior to execution. |
Control | 0..1 |
Is Modifier | true |
Summary | true |
Invariants | Defined on this element ptl-1: Only one of condition, intersection, union or exclude may be present (expression: , xpath: (count(f:condition) + count(f:intersection[1]) + count(f:union[1]) + count(f:exclude[1])) <= 1) |
Protocol.step.precondition.description | |
Definition | Human-readable description of the condition. |
Control | 0..1 |
Type | string |
Summary | true |
Protocol.step.precondition.condition | |
Definition | Defines the name/value pair that must hold for the condition to be met. |
Control | 0..1 |
Summary | true |
Invariants | Affect this element ptl-1: Only one of condition, intersection, union or exclude may be present (expression: , xpath: (count(f:condition) + count(f:intersection[1]) + count(f:union[1]) + count(f:exclude[1])) <= 1) |
Protocol.step.precondition.condition.type | |
Definition | The type of observation, test or other assertion being evaluated by the condition. |
Control | 1..1 |
Binding | ConditionType: Type of observation used as basis for conditional execution of one or more activities |
Type | CodeableConcept |
Summary | true |
Protocol.step.precondition.condition.value[x] | |
Definition | Indicates what value the observation/test/assertion must have in order for the condition to be considered to be satisfied. |
Control | 1..1 |
Type | CodeableConcept|boolean|SimpleQuantity|Range |
[x] Note | See Choice of Data Types for further information about how to use [x] |
Summary | true |
Comments | If the value is an interval, the condition matches if the value falls within the interval. The binding of .condition.valueCodeableConcept is unbound and is a coded value of an observation used as basis for conditional execution of one or more activities. |
Protocol.step.precondition.intersection | |
Definition | Lists a set of conditions that must all be met. |
Control | 0..* |
Type | See Protocol.step.precondition |
Summary | true |
Invariants | Affect this element ptl-1: Only one of condition, intersection, union or exclude may be present (expression: , xpath: (count(f:condition) + count(f:intersection[1]) + count(f:union[1]) + count(f:exclude[1])) <= 1) |
Protocol.step.precondition.union | |
Definition | Lists alternative conditions, at least one of must be met. |
Control | 0..* |
Type | See Protocol.step.precondition |
Summary | true |
Invariants | Affect this element ptl-1: Only one of condition, intersection, union or exclude may be present (expression: , xpath: (count(f:condition) + count(f:intersection[1]) + count(f:union[1]) + count(f:exclude[1])) <= 1) |
Protocol.step.precondition.exclude | |
Definition | Lists conditions of which none must be met. |
Control | 0..* |
Type | See Protocol.step.precondition |
Summary | true |
Invariants | Affect this element ptl-1: Only one of condition, intersection, union or exclude may be present (expression: , xpath: (count(f:condition) + count(f:intersection[1]) + count(f:union[1]) + count(f:exclude[1])) <= 1) |
Protocol.step.exit | |
Definition | Indicates the conditions that must be met for activities that are part of this time point to terminate. |
Control | 0..1 |
Type | See Protocol.step.precondition |
Is Modifier | true |
Summary | true |
Comments | If not specified, activities end based on occurrence and duration information specified in the activity. Conditions specified here may be used to allow exception handling as well as to ensure certain conditions are met while activities are proceeding. |
Protocol.step.firstActivity | |
Definition | First activity within timepoint. |
Control | 0..1 |
Type | uri |
Is Modifier | true |
Summary | true |
Comments | Multiple activities are assumed to start in parallel. |
Protocol.step.activity | |
Definition | Activities that occur within timepoint. |
Control | 0..* |
Is Modifier | true |
Summary | true |
Comments | We send them as a collection because a single activity may be referenced multiple times; e.g. Activity C may be a follow-on activity to both A and B which happen in parallel. |
Protocol.step.activity.alternative | |
Definition | What can be done instead? |
Control | 0..* |
Type | uri |
Is Modifier | true |
Summary | true |
Protocol.step.activity.component | |
Definition | Activities that are part of this activity. |
Control | 0..* |
Summary | true |
Protocol.step.activity.component.sequence | |
Definition | Order of occurrence. |
Control | 0..1 |
Type | integer |
Is Modifier | true |
Summary | true |
Comments | Equivalent values happen in parallel. |
Protocol.step.activity.component.activity | |
Definition | Component activity. |
Control | 1..1 |
Type | uri |
Summary | true |
Protocol.step.activity.following | |
Definition | What happens next. |
Control | 0..* |
Type | uri |
Is Modifier | true |
Summary | true |
Comments | Multiple activities are assumed to start in parallel. |
Protocol.step.activity.wait | |
Definition | Indicates the length of time to wait between the conditions being satisfied for the activity to start and the actual start of the activity. |
Control | 0..1 |
Type | Duration |
Is Modifier | true |
Summary | true |
Protocol.step.activity.detail | |
Definition | Information about the nature of the activity, including type, timing and other qualifiers. |
Control | 1..1 |
Is Modifier | true |
Summary | true |
To Do | 10/7/2015 EH: there is an 'activityDefinition Datatype that I converted to inline until I understand where else it would be used. Careplan activity details are different. |
Protocol.step.activity.detail.category | |
Definition | High-level categorization of the type of activity. |
Control | 0..1 |
Binding | ActivityDefinitionCategory: High-level categorization of the type of activity in a protocol. (Required) |
Type | code |
Requirements | May determine what types of extensions are permitted. |
Summary | true |
Protocol.step.activity.detail.code | |
Definition | Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter. |
Control | 0..1 |
Binding | ActivityDefinitionType: Detailed type of planned activity; e.g. CBC |
Type | CodeableConcept |
Requirements | Allows matching performed to planned as well as validation against protocols. |
Summary | true |
Comments | Tends to be less relevant for activities involving particular products. |
Protocol.step.activity.detail.timing[x] | |
Definition | The period, timing or frequency upon which the described activity is to occur. |
Control | 0..1 |
Binding | ActivityTiming: Code describing the timing of an activity; e.g. BID, QD |
Type | CodeableConcept|Timing |
[x] Note | See Choice of Data Types for further information about how to use [x] |
Requirements | Allows prompting for activities and detection of missed planned activities. |
Summary | true |
To Do | Add constraint prohibiting event (once it won't raise an error on the name timingSchedule). |
Protocol.step.activity.detail.location | |
Definition | Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc. |
Control | 0..1 |
Type | Reference(Location) |
Requirements | Helps in planning of activity. |
Alternate Names | facility |
Summary | true |
Comments | May reference a specific clinical location or may just identify a type of location. |
Protocol.step.activity.detail.performer | |
Definition | Identifies who's expected to be involved in the activity. |
Control | 0..* |
Type | Reference(Practitioner | Organization | RelatedPerson | Patient) |
Requirements | Helps in planning of activity. |
Summary | true |
Protocol.step.activity.detail.product | |
Definition | Identifies the food, drug or other product being consumed or supplied in the activity. |
Control | 0..1 |
Type | Reference(Medication | Substance) |
Summary | true |
Protocol.step.activity.detail.quantity | |
Definition | Identifies the quantity expected to be consumed at once (per dose, per meal, etc.). |
Control | 0..1 |
Type | SimpleQuantity |
Alternate Names | dose |
Summary | true |
Protocol.step.activity.detail.description | |
Definition | This provides a textual description of constraints on the activity occurrence, including relation to other activities. It may also include objectives, pre-conditions and end-conditions. Finally, it may convey specifics about the activity such as body site, method, route, etc. |
Control | 0..1 |
Type | string |
Summary | true |
Protocol.step.next | |
Definition | What happens next? |
Control | 0..* |
Summary | true |
Protocol.step.next.description | |
Definition | Description of what happens next. |
Control | 0..1 |
Type | string |
Summary | true |
Protocol.step.next.reference | |
Definition | Id of following step. |
Control | 0..1 |
Type | uri |
Summary | true |
Protocol.step.next.condition | |
Definition | Condition in which next step is executed. |
Control | 0..1 |
Type | See Protocol.step.precondition |
Summary | true |