STU 3 Candidate

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

4.7.6 Resource Protocol - Detailed Descriptions

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.

Control1..1
Summarytrue
Protocol.identifier
Definition

A unique identifier for the protocol instance.

NoteThis is a business identifer, not a resource identifier (see discussion)
Control0..*
TypeIdentifier
Summarytrue
Protocol.title
Definition

Name of protocol.

Control0..1
Typestring
Summarytrue
Protocol.status
Definition

The status of the protocol.

Control1..1
BindingProtocolStatus: The lifecycle status of a Protocol (Required)
Typecode
Is Modifiertrue
Requirements

Allow for filtering of Protocols that are appropriate for use in production.

Summarytrue
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.

Control1..1
BindingProtocolType: High-level categorization of the protocol (Required)
Typecode
Is Modifiertrue
Summarytrue
Protocol.subject
Definition

What does protocol deal with?

Control0..1
TypeReference(Condition | Device | Medication)
Is Modifiertrue
Summarytrue
Protocol.group
Definition

To whom does Protocol apply?

Control0..1
TypeReference(Group)
Is Modifiertrue
Summarytrue
Protocol.purpose
Definition

When is protocol to be used?

Control1..1
Typestring
Summarytrue
Protocol.author
Definition

Who wrote protocol?

Control0..1
TypeReference(Organization)
Summarytrue
Protocol.step
Definition

What's done as part of protocol.

Control0..*
Alternate Namesitem
Summarytrue
Protocol.step.name
Definition

Label for step.

Control0..1
Typestring
Summarytrue
Protocol.step.description
Definition

Human description of activity.

Control0..1
Typestring
Summarytrue
Protocol.step.duration
Definition

How long does step last?

Control0..1
TypeDuration
Summarytrue
Protocol.step.precondition
Definition

Rules prior to execution.

Control0..1
Is Modifiertrue
Summarytrue
InvariantsDefined 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.

Control0..1
Typestring
Summarytrue
Protocol.step.precondition.condition
Definition

Defines the name/value pair that must hold for the condition to be met.

Control0..1
Summarytrue
InvariantsAffect 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.

Control1..1
BindingConditionType: Type of observation used as basis for conditional execution of one or more activities
TypeCodeableConcept
Summarytrue
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.

Control1..1
TypeCodeableConcept|boolean|SimpleQuantity|Range
[x] NoteSee Choice of Data Types for further information about how to use [x]
Summarytrue
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.

Control0..*
TypeSee Protocol.step.precondition
Summarytrue
InvariantsAffect 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.

Control0..*
TypeSee Protocol.step.precondition
Summarytrue
InvariantsAffect 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.

Control0..*
TypeSee Protocol.step.precondition
Summarytrue
InvariantsAffect 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.

Control0..1
TypeSee Protocol.step.precondition
Is Modifiertrue
Summarytrue
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.

Control0..1
Typeuri
Is Modifiertrue
Summarytrue
Comments

Multiple activities are assumed to start in parallel.

Protocol.step.activity
Definition

Activities that occur within timepoint.

Control0..*
Is Modifiertrue
Summarytrue
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?

Control0..*
Typeuri
Is Modifiertrue
Summarytrue
Protocol.step.activity.component
Definition

Activities that are part of this activity.

Control0..*
Summarytrue
Protocol.step.activity.component.sequence
Definition

Order of occurrence.

Control0..1
Typeinteger
Is Modifiertrue
Summarytrue
Comments

Equivalent values happen in parallel.

Protocol.step.activity.component.activity
Definition

Component activity.

Control1..1
Typeuri
Summarytrue
Protocol.step.activity.following
Definition

What happens next.

Control0..*
Typeuri
Is Modifiertrue
Summarytrue
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.

Control0..1
TypeDuration
Is Modifiertrue
Summarytrue
Protocol.step.activity.detail
Definition

Information about the nature of the activity, including type, timing and other qualifiers.

Control1..1
Is Modifiertrue
Summarytrue
To Do10/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.

Control0..1
BindingActivityDefinitionCategory: High-level categorization of the type of activity in a protocol. (Required)
Typecode
Requirements

May determine what types of extensions are permitted.

Summarytrue
Protocol.step.activity.detail.code
Definition

Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.

Control0..1
BindingActivityDefinitionType: Detailed type of planned activity; e.g. CBC
TypeCodeableConcept
Requirements

Allows matching performed to planned as well as validation against protocols.

Summarytrue
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.

Control0..1
BindingActivityTiming: Code describing the timing of an activity; e.g. BID, QD
TypeCodeableConcept|Timing
[x] NoteSee Choice of Data Types for further information about how to use [x]
Requirements

Allows prompting for activities and detection of missed planned activities.

Summarytrue
To DoAdd 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.

Control0..1
TypeReference(Location)
Requirements

Helps in planning of activity.

Alternate Namesfacility
Summarytrue
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.

Control0..*
TypeReference(Practitioner | Organization | RelatedPerson | Patient)
Requirements

Helps in planning of activity.

Summarytrue
Protocol.step.activity.detail.product
Definition

Identifies the food, drug or other product being consumed or supplied in the activity.

Control0..1
TypeReference(Medication | Substance)
Summarytrue
Protocol.step.activity.detail.quantity
Definition

Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).

Control0..1
TypeSimpleQuantity
Alternate Namesdose
Summarytrue
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.

Control0..1
Typestring
Summarytrue
Protocol.step.next
Definition

What happens next?

Control0..*
Summarytrue
Protocol.step.next.description
Definition

Description of what happens next.

Control0..1
Typestring
Summarytrue
Protocol.step.next.reference
Definition

Id of following step.

Control0..1
Typeuri
Summarytrue
Protocol.step.next.condition
Definition

Condition in which next step is executed.

Control0..1
TypeSee Protocol.step.precondition
Summarytrue