Design Pattern: Modeling Workflow

From HL7Wiki
Jump to navigation Jump to search


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.
  • ActRelationship.conjunctionCode: The conjunction code indicates the logical conjunction of the criteria among all the preconditions for an act, e.g., and, or, exlusive-or.

The diagram below shows the applicable classes from the document model. WorflowPattern.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.


  1. Note, this shows use of sequence number to order steps.
  2. 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.
  3. 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.

WorkflowEx3A.gif WorkflowEx3B.gif

  1. Here one course of an 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.

  1. Following screening, eligible subjects are identified (see full Eligibility Criteria in Appendix 2) and are randomized to receive either CT+RT or CT+RT+S. After randomization, all subjects initially receive induction CT+RT (Cisplatin 50 mg/m2 IV days 1,8,29, 36 and VP-16 50 mg/m2 IV, on days 1-5, 29-33, plus 45 Gy RT (1.8 Gy per weekday over 5 weeks)).
    Those in the surgical arm are evaluated 2-4 weeks after completion of induction for tumor progression. Those who progress are taken off protocol treatment and undergo follow-up. The remaining are considered for surgery. Those who refuse surgery or are medically unfit to undergo surgery receive two cycles of chemotherapy and then undergo follow-up. The remaining undergo surgical resection of the tumor followed by two cycles of chemotherapy beginning 3-5 weeks after surgery.
  2. Here is the surgical arm.


  1. Those in the medical arm are evaluated 7 days before completion of induction. Those who progress are taken off protocol treatment and undergo follow-up. The remaining receive an additional two cycles of chemotherapy plus additional radiation therapy, and then enter follow-up.
  2. Here is the non-surgical arm.