This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Design Pattern: Modeling Workflow

From HL7Wiki
Jump to navigation Jump to search

Introduction

Here is what we are told in the RIM:

“The composition and sequence relationships can be arranged in a sequence to form temporal and conditional (non-temporal) action plans (e.g., care plan, critical path, clinical trials protocols, drug treatment protocols).”

In addition: “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. Branches exist when multiple components have the same sequenceNumber.”

Within the RIM documentation, the question of workflow management is raised in the context of the Act Relationship class, and in the discussion of these attributes that are identified as belonging to the “workflow suite of attributes that allow the detailed specification of executable action plans”.  Attributes on this list include:
  • Act.repeatNumber: When a study time point event is to be repeated, the attribute indicates the desired number of repetitions.
  • Act.interruptableInd: Indicates whether performance of the act may be interrupted. If the value is set to FALSE, attempts to interrupt performance will be ignored.
  • ActRelationship.sequenceNumber: Indicates the order in which time points (acts) having a common source will be performed.
  • ActRelationship.pauseQuantity: Defines the intended time delay between the point in time at which the preconditions for a time point allow execution, and the actual starting of the act.
  • ActRelationship.splitCode: Provides information to manage concurrent tasks – those under a parent which share sequence number values. The split code (a) indicates whether or not only one or all of a set of concurrent tasks are to be performed (whether selection is “inclusive” or “exclusive”, and (b) whether the precondition(s) for performing an act should be evaluated once, or continuously for until the subsequent task begins. Note, if continuous evaluation is chosen (inclusive wait or exclusive wait) the rules for transitioning to a subsequent task depend on the value of the join code.
  • ActRelationship.joinCode: Provides information to manage concurrent tasks – those under a parent which share sequence number values. The join code defines the conditions under which the completion of one of a set of concurrent act will impact on completion of the other concurrent tasks and on initiation of a successor act.
  • ActRelationship.checkpointCode: The checkpoint code applies to preconditions for performing an act. It indicates where in the performance of an act – or of a succession of act repetitions – the precondition is to be evaluated.
The diagram below shows the applicable classes from the document model.

File:WorkflowPattern.gif

Here are examples based on the storyboards from the V3 Message DSTU ballot.
  1. 200 eligible subjects among 40 centers will undergo device implantation and will be followed prospectively for two years. 48 hour continuous Holter monitoring will be done monthly.

WorkflowEx1.gif

Note, this shows use of sequence number to order steps.

  1. After a two week washout, all subjects enter another one month placebo run-in followed by the other treatment for three months. A two week washout/observation period concludes the trial.

WorkflowEx2.gif

This adds little. Note, that each step does not start until the previous finishes.

  1. After a week screening, subjects receive a 30 minute intravenous infusion of the experimental treatment. The treatment is repeated monthly until either disease progresses or they enter remission. Those that enter remission are treated with three more cycles and then enter follow-up. Those who progress are unblinded and offered open label antineoplastimab monthly if they previously received placebo. They are maintained on monthly antineoplastimab until disease progresses further or for three cycles past a remission, should one occur. Those who progress following double-blind or open label treatment with antineoplastimab are dropped out of the study as treatment failures.

File:WorkflowEx3a.gif

File:WorkflowEx3b.gif

Here one course of in intravenous infusion is either entered or skipped based on the preconditions.

For completeness the entry checkpoint for repeated infusion is spelled out.
In addition, a timepoint event with component events is shown.