Continuous Flows#
Estimated time to read: 13 minutes
Overview#
The Continuous Flow feature improves handling of scenarios where parts of a lot (Material) gradually move to the next step while the rest of the lot finishes the previous process step.
It enables partial chunks of the lot to be processed in parallel across different steps, while preserving a single lot grouping:
- Step execution activities like Checklists and Data Collections apply to the lot as a whole (not to each partial material individually).
- All partial Materials must be merged back at the end of the Continuous Flow block.
Topics#
- Concept
- Partial Track-Out
- Context Resolution
- Materials Final Merge
- Auto Partial Merge
- Scenario
- Configuration
- Configuration Entries
- Generic Tables
- Lookup Tables
- Checklists and Data Collections
- Executing a Continuous Flow
Concept#
The logic introduces a Material Rank:
- Head: First/leading material chunk.
- Middle: All other chunks in between.
- Tail: Last/trailing material chunk.
Rank is automatically assigned on Partial Track-Out and recalculated when merging back.
Checklists and Data Collections can be conditioned by Rank, so that, for example, a Checklist can be triggered only for the Head material and a Data Collection can be filled only when the final Tail material passes through the step.
A step can be configured as a Merge Step, causing all partial Materials to be automatically merged together once they reach the Step.
Partial Track-Out#
- During Track-Out, set the primary quantity below the main Material’s primary quantity to split a chunk.
- The first split tracked out becomes Head; the remaining InProcess main material becomes Tail. Additional splits become Middle.
- If the flow contains a Step with attribute MedDevIsPartialMatMergeStep = true, a Future Action is created/updated on Partial Track-Out to automatically merge at the merge Step.
- Additional partial Track-Outs in subsequent steps split the then-current Head into a new Head and Middle.
Context Resolution#
- In Steps following a Partial Track-Out, Checklists/Data Collections appear only for the configured rank(s) as defined in the context tables.
Materials Final Merge#
- If a final merge Step is predefined:
- Partial Materials are blocked at the merge Step waiting for the Merge Future Action to be applied.
- Once all partial Materials arrive, the system automatically merges and releases the Material.
- If no automatic merge is configured, users must manually merge partial Materials.
- When recording full loss on a material, the system attempts to merge with the next material in the flow; if the merge Future Action performs the merge, AutoReEvaluationOfMaterialRanks does not execute.
Auto Partial Merge#
Supports automatically merging partial materials when they share the same conditions, reducing proliferation of partials in short cycle-time environments. The source and target materials must share the same:
- System State (Queued/In Process/Processed)
- Production Order
- Manufacturer Lot Number
- Resource (applies only to In Process)
- Resource Lane (if it exists, applies only to In Process)
Assumptions#
To use the Continuous Flow logic, the process should follow the following assumptions:
- The material quantity should represent a bulk of non-serialized units. If sub-materials are used, a Line-Flow based approach might be more adequate.
- The Partial Track-Out feature is used to Split the chunks of materials for the next Step.
- The different material chunks processing will be executed in sequence, e.g. a Tail will not surpass its Head.
Scenario#
Configuration#
To assess how this industry and production requirement is addressed, consider a simplified model:
Basic entities like Step, Resource, Flow, Product, and Material can be configured as detailed below:
- Steps:
- Catheter Production Order Starts
- Assemble
- Clean
- After Clean
- Dry
- After Dry
- Catheter Packing
- Shipping
- Final Packing
- Shipping Customer
- Flow - Flow Catheter
- Product - Foley V Catheter
- Material - Lot Foley V Catheter#01 (this Material represents a lot with 500 units)
Note
This is the Master Data file used to create this model.
Continuous flow should be applied to steps Clean → After Clean → Dry → After Dry → Catheter Packing:
- Enable Partial Track-Out by setting the Use Split and Track-Out flag in step Clean

- Configure additional Split/Track-Out options in the
StepSplitTrackOutContextSmart Table - To auto-merge at the end of the flow block, set the
MedDevIsPartialMatMergeStepattribute on the designated merge step Catheter Packing - If no such Step is found, the system assumes Materials will be merged manually
-
To automatically perform merge action on this step, set the
MedDevIsPartialMatMergeStepattribute
Configuration Entries#
- Enable Feature through
/MedDev/ContinuousFlows/EnableContinuousFlows. - Enable Auto-Merging through
/MedDev/ContinuousFlows/EnableMergeFutureActionOnStepFeature - Enable Auto Re-Evaluation of Material Rank through
/MedDev/ContinuousFlows/EnableAutoReEvaluationOfMaterialRanks - Set Material Rank Names:
/MedDev/ContinuousFlows/HeadRankName/MedDev/ContinuousFlows/MiddleRankName/MedDev/ContinuousFlows/TailRankName
Generic Tables#
- Update Generic Table
ContextResolutionwith both MedDev Smart Tables to ensure the resolution includes the MaterialMedDevMaterialRank: - MaterialChecklistResolution:
MedDevMaterialChecklistContext -
MaterialDataCollectionResolution:
MedDevMaterialDataCollectionContext
Warning
This will override the existing MaterialChecklistContext and MaterialDataCollectionContext tables - all data from the original context tables should be copied to the new MedDev equivalent tables before switching the ContextResolution settings.
Lookup Tables#
- Update Lookup Table
MedDevMaterialRankwith new names, so that the MedDev Smart Tables are prepared to use them.
Checklists and Data Collections#
For all remaining configurations, follow these steps:
Note
Useful Documentation
Executing a Continuous Flow#
This section explores the Continuous Flows operations. To test and execute this functionality, follow the use case outlined in a step-by-step scenario.
-
In the Step
Clean, perform a Material Track In of the MaterialLot Foley V Catheter#01 -
Perform a partial track-out and move next on Material
Lot Foley V Catheter#01-
A new material Material
Lot Foley V Catheter#01.01is created with:- Quantity: 100
- Rank:
Head - Manufacturing Lot Number:
Lot Foley V Catheter#01
-
Main Material
Lot Foley V Catheter#01is updated with:- Future action created for future merge
- Rank:
Tail - Manufacturing Lot Number:
Lot Foley V Catheter#01 - Current Head:
Lot Foley V Catheter#01.01 - Current Tail:
Lot Foley V Catheter#01
-
-
Dispatch and track-in Material
Lot Foley V Catheter#01.01to StepAfter Clean -
Perform a partial track-out and move next on Material
Lot Foley V Catheter#01 -
Dispatch and track-in Material
Lot Foley V Catheter#01.02to StepAfter Clean -
Track-out Material
Lot Foley V Catheter#01.02from StepAfter Cleaninto StepDry -
Record a full loss on Material
Lot Foley V Catheter#01.02with optionTerminate Material on zero quantities and no Sub-Materialsset toTRUE-
System doesn't allow operation since
Headmaterial cannot be terminated -
Repeat action to record a full loss on Material
Lot Foley V Catheter#01.02but this time with optionTerminate Material on zero quantities and no Sub-Materialsset toFALSE -
System allows full loss record on Material
Lot Foley V Catheter#01.02and material Quantity is updated to0
-
-
Track-out and Move Next Material
Lot Foley V Catheter#01.01from StepAfter Cleaninto StepDry -
Perform next flow steps for Material
Lot Foley V Catheter#01.01until material reachs StepCatheter Packing-
When track-out operation is performed at Step
Dry: -
When Material
Lot Foley V Catheter#01.01reachs stateQueuedin StepCatheter Packing:
-
-
Perform a partial track-out and move next on Material
Lot Foley V Catheter#01- A new material Material
Lot Foley V Catheter#01.03is created with:- Quantity: 150
- Rank:
Middle - Manufacturing Lot Number:
Lot Foley V Catheter#01
- A new material Material
-
Perform next flow steps for Material
Lot Foley V Catheter#01.03until material reachs StepCatheter Packing-
When track-out operation is performed at Step
Dry:- No Checklist is triggered for material with rank
HeadorMiddle -
No Data Collection is triggered for material with rank
MiddleorTail*Refer to configuration in Smart Table MedDevMaterialDataCollectionContext*
- No Checklist is triggered for material with rank
-
When Material
Lot Foley V Catheter#01.03reachs stateQueuedin StepCatheter Packing:- Material
Lot Foley V Catheter#01.03is set to on hold for Future Action
- Material
-
-
Update Step
Dryto perform Auto Partial Merge -
Perform a partial track-out and move next on Material
Lot Foley V Catheter#01- A new material Material
Lot Foley V Catheter#01.04is created with:- Quantity: 25
- Rank:
Middle - Manufacturing Lot Number:
Lot Foley V Catheter#01
- A new material Material
-
Perform next flow steps for Material
Lot Foley V Catheter#01.04until material reachs StepDry -
Perform a partial track-out and move next on Material
Lot Foley V Catheter#01- A new material Material
Lot Foley V Catheter#01.05is created with:- Quantity: 25
- Rank:
Middle - Manufacturing Lot Number:
Lot Foley V Catheter#01
- A new material Material
-
Perform next flow steps for Material
Lot Foley V Catheter#01.05until material reachs StepDry -
Perform next flow steps for Material
Lot Foley V Catheter#01until material reachs StepDry -
Track-out and Move Next Material
Lot Foley V Catheter#01from StepDry -
Perform next flow steps for Material
Lot Foley V Catheter#01until material reachs StepCatheter Packing- Materials
Lot Foley V Catheter#01.01andLot Foley V Catheter#01.03are merged into MaterialLot Foley V Catheter#01
- Materials















































