Skip to content

Linked Lines#

Overview#

The Linked Lines feature provides a logical mechanism to associate resources that belong to the same production line and to enforce line continuity during Material processing.

Once a Material begins processing on a line, subsequent dispatch operations are validated against that line. This prevents a Material from being dispatched to a Resource on a different line that shares the same service, ensuring that materials follow a defined line throughout the process.


Concept#

The feature tracks line assignments using the following attributes:

  • MedDevResourceLine – defined on a Resource, identifies the line it belongs to.
  • MedDevCurrentLine – defined on the Material, stores the line the Material was last processed on.
  • MedDevOriginalLine – defined on the Material, temporarily holds the current line when the Material enters a Rework or Off-Flow. Cleared when the Material returns.
  • MedDevReturnToOriginalLineOnReworkExit – defined on a Flow, it will determine if the value of the Material's MedDevCurrentLine attribute is saved in its MedDevOriginalLine once it enters the Flow in the context of a Rework or Off-Flow action.
  • MedDevClearCurrentLineOnReworkEnter – defined on a Flow, it will determine if the Material's MedDevCurrentLine attribute is cleared once it enters the Flow in the context of a Rework or Off-Flow action.

All line values reference the MedDevProcessLines Lookup table.

Linked Lines concept diagram


Assumptions#

  • Resources belonging to the same physical line share the same MedDevResourceLine value.
  • Resources that are shared across lines, or not part of any line, have MedDevResourceLine left empty.
  • A Material with an empty MedDevCurrentLine is not subject to line validation at dispatch.

Configuration#

Feature Security#

Feature Description
MedDev.ChangeLine Grants access to the Change Line button on Material/Step/Resource views

Linked Lines concept diagram

Note

Feature level security level also must be enable for the Change Material Line functionality (described below)

Linked Lines concept diagram

Lookup Table#

Populate the MedDevProcessLines Lookup table with the line names that will be used.

Note

MedDevResourceLine, MedDevCurrentLine, and MedDevOriginalLine attributes will reference this table.

Resource Attribute#

Set MedDevResourceLine on each Resource with the appropriate line value from MedDevProcessLines.

Leave the attribute empty for resources that are not assigned to a specific line.

Flow Attributes#

For Rework and Off-Flow flows, configure the following attributes as required:

Attribute Type Description
MedDevClearCurrentLineOnReworkEnter Bool When true, clears MedDevCurrentLine when the Material enters the Flow
MedDevReturnToOriginalLineOnReworkExit Bool When true, saves MedDevCurrentLine into MedDevOriginalLine before clearing

Note

MedDevOriginalLine is always captured before MedDevCurrentLine is cleared. If both attributes are true, the original line is stored first, then the current line is cleared.


Dispatch Validation#

Dispatch and Dispatch & Track-In operations include a pre-validation check that compares the Material's current line against the target Resource's line.

Logic#

If MedDevCurrentLine is empty OR MedDevResourceLine is empty:
    - No validation error. Process continues normally.

If both have values AND they match:
    - No validation error. Process continues normally.

If both have values AND they differ:
    - Error raised. Operation blocked.

Track-Out Behavior#

Track-Out applies the following logic (post-processing):

Condition Result
MedDevResourceLine is not empty MedDevCurrentLine will be replaced with MedDevResourceLine value
MedDevResourceLine is empty and MedDevCurrentLine is not empty MedDevCurrentLine is cleared
Both are empty No change

Materials created via Partial Track-Out follow the same logic. The newly created Material's MedDevCurrentLine is set or cleared based on the same Resource line rules.


Rework and Off-Flow Handling#

On Entry#

When a Material is sent to a Rework or Off-Flow:

  1. If MedDevReturnToOriginalLineOnReworkExit = true:
    • MedDevOriginalLine will be replaced with current value of MedDevCurrentLine
  2. If MedDevClearCurrentLineOnReworkEnter = true:
    • MedDevCurrentLine is cleared

On Return#

When a Material returns from a Rework or Off-Flow:

Condition Result
MedDevOriginalLine is not empty MedDevCurrentLine will be replaced with MedDevOriginalLine, then MedDevOriginalLine is cleared
MedDevOriginalLine is empty MedDevCurrentLine is cleared

GUI Resource Filtering#

The Resource selection list in Dispatch and Dispatch & Track-In is filtered based on the Material's current line.

Material MedDevCurrentLine Resource list shown
Empty All eligible resources (standard behavior)
Has a value Only resources whose MedDevResourceLine matches, or has no line assigned at all

This filtering is implemented via the MedDevDispatchLinkedLineResourceFilter DEE.


Change Material Line#

Operators can manually update a Material's MedDevCurrentLine directly from the interface using the Change Line action.

Access#

The Change Line button is available in the following views:

  • Material Details
  • Step View (with selected Material)
  • Resource View (with selected Material)

The button is only displayed to users who have been granted the MedDev.ChangeLine feature permission. Users without this permission will not see the button.

Wizard#

Change Line button on Material Details

When the Change Line button is clicked, a single-step wizard titled Change Line is displayed containing:

  • The Material's current line, shown as read-only (display empty value if the current line is empty). Change Line wizard - select new line

  • A drop-down populated from the MedDevProcessLines Lookup table to select the new line.

Change Line wizard - select new line

On confirmation:

  • The Material's MedDevCurrentLine is updated to the selected value.
  • The wizard closes.

Note

Confirming the wizard without selecting a new line is not permitted. The system will display a validation message and prevent the operation from completing until a valid line is selected.


Attribute Reference#

Attribute Entity Type Visibility Purpose
MedDevResourceLine Resource String Visible Identifies the line the Resource belongs to
MedDevCurrentLine Material String Visible Stores the line the Material was last processed on
MedDevOriginalLine Material String Visible Temporarily holds the line during Rework / Off-Flow
MedDevClearCurrentLineOnReworkEnter Flow Bool Visible Controls whether the current line is cleared on rework entry
MedDevReturnToOriginalLineOnReworkExit Flow Bool Visible Controls whether the original line is stored on rework entry

For a complete description of the Lookup table, see the Tables artifact reference.