# text.div
Generated Narrative: CodeSystem v3-ActRelationshipCheckpoint

Language: en

Properties

This code system defines the following properties for its concepts

Name | Code | URI | Type | Description
Status | status | http://hl7.org/fhir/concept-properties#status | code | Designation of a concept's state. Normally is not populated unless the state is retired.

Concepts

This case-sensitive code system http://terminology.hl7.org/CodeSystem/v3-ActRelationshipCheckpoint defines the following codes in a Is-A hierarchy:

Code | Display | Definition | Status
B | beginning | Condition is tested every time before execution of the service (WHILE condition DO service). | active
E | end | Condition is tested at the end of a repeated service execution. The service is repeated only if the condition is true (DO service WHILE condition). | active
S | entry | Condition is tested once before the service is executed (IF condition THEN service). | active
T | through | Condition must be true throughout the execution and the service is interrupted (asynchronously) as soon as the condition turns false (asynchronous WHILE loop). The service must be interruptible. | active
X | exit | Condition is a loop checkpoint, i.e. it is a step of an activity plan and, if negative causes the containing loop to exit. | active

# description
A code specifying when in the course of an Act a precondition for the Act is evaluated (e.g., before the Act starts for the first time, before every repetition, after each repetition but not before the first, or throughout the entire time of the Act.)

*Discussion:* This attribute is part of the workflow control suite of attributes. An action plan is a composite Act with component Acts. In a sequential plan, each component has a sequenceNumber that specifies the ordering of the plan steps. Before each step is executed and has preconditions these conditions are tested and if the test is positive, the Act has clearance for execution. The repeatNumber may indicate that an Act may be repeatedly executed. The checkpointCode is specifies when the precondition is checked and is analogous to the various conditional statements and loop constructs in programming languages "while-do" vs. "do-while" or "repeat-until" vs. "loop-exit".

For all checkpointCodes, except "end", preconditions are being checked at the time when the preceding step of the plan has terminated and this step would be next in the sequence established by the sequenceNumber attribute.

When the checkpointCode for a criterion of a repeatable Act is "end", the criterion is tested only at the end of each repetition of that Act. When the condition holds true, the next repetition is ready for execution.

When the checkpointCode is "entry" the criterion is checked at the beginning of each repetition (if any) whereas "beginning" means the criterion is checked only once before the repetition "loop" starts.

The checkpointCode "through" is special in that it requires the condition to hold throughout the execution of the Act, even throughout a single execution. As soon as the condition turns false, the Act should receive an interrupt event (see interruptibleInd) and will eventually terminate.

The checkpointCode "exit" is only used on a special plan step that represents a loop exit step. This allows an action plan to exit due to a condition tested inside the execution of this plan. Such exit criteria are sequenced with the other plan components using the ActRelationship.sequenceNumber.

# copyright
This material derives from the HL7 Terminology THO. THO is copyright ©1989+ Health Level Seven International and is made available under the CC0 designation. For more licensing information see: https://terminology.hl7.org/license.html

# property[].description
Designation of a concept's state. Normally is not populated unless the state is retired.

# concept[].definition
Condition is tested every time before execution of the service (WHILE condition DO service).

# concept[].definition
Condition is tested at the end of a repeated service execution. The service is repeated only if the condition is true (DO service WHILE condition).

# concept[].definition
Condition is tested once before the service is executed (IF condition THEN service).

# concept[].definition
Condition must be true throughout the execution and the service is interrupted (asynchronously) as soon as the condition turns false (asynchronous WHILE loop). The service must be interruptible.

# concept[].definition
Condition is a loop checkpoint, i.e. it is a step of an activity plan and, if negative causes the containing loop to exit.