This guide explains how to configure Schantt production scheduling for large volume parenteral bag fill-finish — a five-stage process covering solution compounding, bag filling, terminal sterilization, leak test and visual inspection, and labeling and secondary packaging. Production planners at contract manufacturing organisations and pharmaceutical companies running LVP lines will learn how to model parallel machines at every stage, mixed batch-and-flow pipelines, and sequence-dependent changeovers for a multi-product schedule.
This guide follows a fictional composite company built from industry research on large volume parenteral bag fill-finish; all names, parameters, and figures are illustrative.
Industry context
Large volume parenteral (LVP) solutions — intravenous fluids such as 0.9% sodium chloride, 5% dextrose, and aseptic amino acid formulations — are manufactured in a multi-stage fill-finish process that begins with solution compounding and ends with labeled, packaged bags ready for distribution. The complete route includes five sequential stages: compounding the bulk solution in stirred vessels, filling and sealing the solution into flexible bags on form-fill-seal (FFS) lines, terminal steam sterilization in autoclaves, leak testing and visual inspection, and finally labeling and secondary packaging.
A typical mid-market contract manufacturing organisation running LVP bag fill-finish operates across approximately 8,000 m² of classified production space with a staff of roughly 80 people. The facility produces three representative product classes — Standard Saline, Dextrose 5%, and Aseptic TPN / Amino Acids — at a combined annual output of approximately 55 million 1,000 mL bags. Saline accounts for roughly 47% of production volume, Dextrose for approximately 28%, and TPN for about 10%, with the remaining share covering other solution types outside the representative scope. The compounding stage uses four vessels: two dedicated to saline with a 90-minute cycle and 5,000 L batch size, one for dextrose at 120 minutes and 5,000 L, and one for TPN at 150 minutes and 4,000 L. Three FFS lines fill at throughput rates between 7,000 and 12,000 bags per hour depending on the line and product class. Five autoclaves terminal-sterilise filled bags, with a 55-minute cycle at 600 bags per load for saline and 75 minutes at 500 bags per load for dextrose; TPN bypasses this stage entirely under aseptic processing. The autoclave bottleneck is significant: five autoclaves operating at full capacity handle roughly 2,200 to 2,600 bags per hour combined, while the three FFS lines can fill up to 30,000 bags per hour, producing a throughput ratio of approximately 12 to 1. Twenty-four directional changeover pairs across the three FFS lines capture cleaning validation times between solution classes, and five transfer times link consecutive stages including a skip-bridge from filling to inspection for the aseptic TPN route. The facility operates on two shift calendars — a default 24/5 pattern (three shifts, Monday through Friday) for most areas and an extended 24/7 pattern for the autoclaves — with two calendar exceptions (New Year's Day, International Workers' Day) and three scheduled downtime windows (a year-end facility-wide shutdown, an Autoclave 3 preventive maintenance window, and an FFS Line 2 annual maintenance window). The facility uses validated parametric release (PDA TR-30), which eliminates the conventional 14-day sterility test quarantine. Facilities operating under conventional release should note that an additional holding period for sterility test incubation applies.
Primus Parenteral runs approximately 80 people at an 8,000 m² classified production facility, making 3 product classes across 5 production stages, scheduled by a 3-person production planning team.
Process overview
flowchart LR
C["Solution Compounding<br/>(BATCH — 4 vessels)"] --> F["Bag Filling<br/>(FLOW — 3 FFS lines)"]
F --> S["Terminal Sterilization<br/>(BATCH — 5 autoclaves)"]
F -.->|Class C skip-bridge| I["Leak Test & Visual Inspection<br/>(FLOW — 3 stations)"]
S --> I
I --> P["Labeling & Secondary Packaging<br/>(FLOW — 2 lines)"]
The LVP bag fill-finish process flows through five sequential stages, with the aseptic TPN class bypassing terminal sterilization via a dedicated conveyor bridge.
The aseptic TPN / Amino Acids class bypasses Terminal Sterilization and moves directly from Bag Filling to Leak Test & Visual Inspection via a dedicated conveyor bridge. All other classes follow the full five-stage route.
Scheduling challenges and how Schantt handles them
The schedule for an LVP fill-finish line is driven by customer demand — a load of production orders with target quantities and due dates across the three product classes. Readers whose primary scheduling driver differs (for example, a make-to-stock operation) will still benefit from the same configuration model, though the optimisation objective may shift. Schantt optimises the schedule to minimise total production time, scheduling forward from a specified start date. For a mid-market CMO running multiple product classes through this five-stage line, a practical scheduling horizon of two to four weeks is typical.
Schantt offers two optimisation modes. In Auto mode the scheduler explores both the job sequence and machine assignments to find a schedule that minimises total production time. In Semi-Auto mode the planner sets the job order manually, and the scheduler optimises which machine each job runs on within each stage. Both modes produce a Gantt chart showing every operation, machine assignment, transfer interval, and calendar overlay.
What Schantt handles well
-
Multi-stage sequential production. The five-stage LVP line — solution compounding, bag filling, terminal sterilization, leak test and visual inspection, labeling and secondary packaging — is modeled as an ordered sequence of stages with transfer times between them. Every downstream stage begins only after the upstream stage completes and material arrives, producing a schedule that respects the physical handoff order.
-
Multi-machine stages with parallel machines. Each stage has multiple parallel machines — 4 compounding vessels, 3 FFS lines, 5 autoclaves, 3 inspection stations, and 2 packaging lines. In Auto and Semi-Auto modes Schantt assigns each job to the best machine within a stage, balancing the load across available equipment without manual placement.
-
Mixed batch-and-flow pipelines. The LVP route mixes batch stages (compounding and terminal sterilization) and flow stages (bag filling, leak test and visual inspection, labeling and packaging). Batch stages are sized by load quantity and fixed cycle time; flow stages run at a continuous throughput rate. Both physics coexist in one route and are timed correctly by the simulation, which pauses a downstream flow stage when upstream material runs short.
-
Sequence-dependent directional changeovers. Cleaning validation times between different solution classes — saline-to-dextrose versus dextrose-to-saline, which can differ by an hour or more — are modeled as directional changeover times on each machine. The optimizer favours sequences that cluster similar classes to reduce total changeover time.
-
Shift-aware calendars with multiple shift patterns. Different operating patterns per production area — 24/5 (three shifts, Monday through Friday) for compounding and filling, 24/7 for autoclaves — are modeled via machine-level calendar assignments. Each area's schedule respects its own working windows.
-
Calendar exceptions and downtime windows. Planned holidays, maintenance shutdowns, and autoclave preventive maintenance windows are entered as calendar exceptions and machine downtimes. The schedule routes work around these outages automatically, and they appear as shaded overlays on the Gantt.
How Schantt handles each challenge
1. Compounding vessel assignment across product classes.
-
Each solution class uses dedicated compounding vessels with different batch sizes and cycle times. For example, Vessels A and B compound saline at a 90-minute cycle with a 5,000 L batch, Vessel C compounds dextrose at 120 minutes, and Vessel D compounds TPN at 150 minutes with a 4,000 L batch. The scheduler must assign compounding jobs to the correct vessels while sequencing orders from all three classes.
-
Schantt models per-class cycle time and batch size on each compounding vessel. The scheduler only assigns jobs to vessels configured for that product class — Vessels A and B for saline, Vessel C for dextrose, Vessel D for TPN. In Auto mode the optimizer sequences batches across the available vessels to minimise total production time while respecting each vessel's class eligibility.
2. Asymmetric directional changeovers on filling lines.
-
Cleaning validation between solution classes is directional: switching from saline to dextrose takes approximately 3 hours in this illustrative facility, while the reverse takes 4.5 hours. Transitions to or from TPN take 6 to 7 hours. With three FFS lines and three product classes running simultaneously, the planner must sequence orders to avoid excessive changeover time.
-
Schantt captures each directional changeover pair as a separate duration on each machine — for example, saline-to-dextrose and dextrose-to-saline each have their own entry. The optimizer evaluates the full matrix of from-to durations during sequencing and produces an order that clusters similar classes to minimise total changeover time. The planner can review the resulting changeover timeline on the Gantt.
3. Sterilization bottleneck and validated hold time.
-
The three FFS lines together fill up to 30,000 bags per hour, while the five autoclaves combined process roughly 2,200 to 2,600 bags per hour — approximately a 12-to-1 throughput ratio. Filled bags also carry a validated hold time of 8 hours before sterilization must begin. Without a tool that chains filling output to autoclave loads, the staging area can accumulate an unmanageable buffer of unsterilised bags.
-
Schantt chains filling output forward into autoclave loads using partial transfers between the two stages — the filling stage transfers material in increments of 400 bags (the minimum pallet size) as they become available. The 15-minute conveyor transfer time is modeled as a transfer time between the two stages. The schedule shows each autoclave load's start time relative to its filling completion, and the planner verifies the 8-hour validated window by inspecting the Gantt timing. Filling and sterilization each operate on their own calendar — 24/5 for filling, 24/7 for autoclaves — and the schedule respects both.
4. Aseptic TPN skip-routing with bridge transfer.
-
Aseptic TPN / Amino Acids bypass terminal sterilization entirely, moving directly from bag filling to leak test and visual inspection via a dedicated conveyor bridge. This divergent routing must coexist on the same production line alongside saline and dextrose, which follow the full path through the autoclaves.
-
Per-class routing in Schantt lets TPN skip the terminal sterilization stage while saline and dextrose include it. A dedicated bag-filling-to-inspection transfer time of 10 minutes models the skip-bridge conveyor. The schedule routes each product class on its intended path within the same schedule, so the FFS lines, inspection stations, and packaging lines all serve all three classes while the autoclaves serve only saline and dextrose.
5. Multi-calendar coordination and planned downtime.
-
Compounding and filling operate Monday through Friday on three shifts (24/5), while the autoclaves run seven days a week (24/7) to prevent filled bags from accumulating in the staging area over weekends. Two calendar exceptions — New Year's Day and International Workers' Day — plus three planned maintenance windows (a year-end facility-wide shutdown, an Autoclave 3 preventive maintenance window in mid-June, and an FFS Line 2 annual maintenance window in March) further complicate the timeline.
-
Schantt supports multiple calendars with distinct shift patterns. The default 24/5 calendar applies to compounding, filling, inspection, and packaging, while all five autoclaves use a 24/7 calendar as a machine-level override. Calendar exceptions are entered as non-working days across all areas, and each maintenance window is configured as a downtime period on its specific machine (or factory-wide for the year-end shutdown). The schedule automatically routes work around these windows and displays them as shaded intervals on the Gantt.
What to model in Schantt
The scenario requires five first-class entities to model the LVP bag fill-finish line. The table below lists each entity with its count and a brief description.
| Entity | Count | Notes |
|---|---|---|
| Stage | 5 | Solution Compounding (BATCH), Bag Filling (FLOW), Terminal Sterilization (BATCH), Leak Test & Visual Inspection (FLOW), Labeling & Secondary Packaging (FLOW) |
| Machine | 17 | 4 compounding vessels, 3 FFS lines, 5 autoclaves, 3 inspection stations, 2 packaging lines |
| Product Class | 3 | Standard Saline, Dextrose 5%, Aseptic TPN / Amino Acids |
| Product | 3 | One representative per class — 0.9% Sodium Chloride IV Solution 1,000 mL, 5% Dextrose Injection USP (D5W) 1,000 mL, 10% Amino Acids Injection (Aminosyn) 1,000 mL |
| Calendar | 2 | Standard 24/5 (default for most areas), Extended 24/7 (machine-level override on all five autoclaves) |
Step-by-step setup
1. Create the stages in production order and set transfer times. Create five sequential stages: Solution Compounding (batch type), Bag Filling (flow type), Terminal Sterilization (batch type), Leak Test & Visual Inspection (flow type), and Labeling & Secondary Packaging (flow type). On each stage's detail page, configure the following transfer times to the next stage:
- Compounding to Bag Filling: 30 minutes (includes inline sterile filtration)
- Bag Filling to Terminal Sterilization: 15 minutes (conveyor to autoclave staging)
- Terminal Sterilization to Leak Test & Inspection: 20 minutes (cool-down and conveyor)
- Leak Test & Inspection to Labeling & Packaging: 10 minutes (conveyor)
- Bag Filling to Leak Test & Inspection: 10 minutes (skip-bridge for TPN only)
2. Add machines to each stage. Assign the following machines to their respective stages:
Compounding: Compounding Vessel A, B, C, D
Bag Filling: FFS Line 1, FFS Line 2, FFS Line 3
Terminal Sterilization: Autoclave 1, 2, 3, 4, 5
Leak Test & Visual Inspection: Leak Tester A, Leak Tester B, Vision Inspection Station
Labeling & Secondary Packaging: Packaging Line 1, Packaging Line 2
3. Create product classes and define per-class routings. Create three product classes: Standard Saline, Dextrose 5%, and Aseptic TPN / Amino Acids. On each product class's detail page, define the routing by adding the stages each class passes through and enabling partial transfers where applicable:
- Standard Saline routing: Compounding → Bag Filling (partial transfer enabled, minimum 400 bags) → Terminal Sterilization (partial transfer enabled) → Leak Test & Inspection (partial transfer enabled) → Labeling & Packaging
- Dextrose 5% routing: Same five-stage path as saline with identical partial-transfer settings
- Aseptic TPN routing: Compounding → Bag Filling (partial transfer enabled) → Leak Test & Inspection (skip Terminal Sterilization entirely) → Labeling & Packaging
4. Add one representative product per class. Create one product within each class. Each product inherits its class routing and processing configuration.
- Standard Saline: 0.9% Sodium Chloride IV Solution 1,000 mL
- Dextrose 5%: 5% Dextrose Injection USP (D5W) 1,000 mL
- Aseptic TPN: 10% Amino Acids Injection (Aminosyn) 1,000 mL
5. Set machine capacity parameters and changeover times. On each machine's detail page — after product classes exist — configure the per-class processing parameters and directional changeover durations:
Production parameters (batch stages):
- Compounding Vessel A: Standard Saline — 90-minute cycle, 5,000 L batch
- Compounding Vessel B: Standard Saline — 90-minute cycle, 5,000 L batch
- Compounding Vessel C: Dextrose 5% — 120-minute cycle, 5,000 L batch
- Compounding Vessel D: Aseptic TPN — 150-minute cycle, 4,000 L batch
- All five autoclaves: Standard Saline — 55-minute cycle, 600 bags; Dextrose 5% — 75-minute cycle, 500 bags
Production parameters (flow stages):
- FFS Line 1: Saline 12,000 bags/hr, Dextrose 11,000 bags/hr, TPN 10,000 bags/hr
- FFS Line 2: Saline 10,000 bags/hr, Dextrose 9,000 bags/hr, TPN 8,500 bags/hr
- FFS Line 3: Saline 8,000 bags/hr, Dextrose 7,500 bags/hr, TPN 7,000 bags/hr
- Leak Tester A and B: 8,000 bags/hr across all classes
- Vision Inspection Station: 5,000 bags/hr across all classes
- Packaging Line 1: 10,000 bags/hr across all classes
- Packaging Line 2: 8,000 bags/hr across all classes
Directional changeover times (illustrative, per machine):
- On each FFS line: saline-to-dextrose 180 min, dextrose-to-saline 270 min, any class to TPN 360 min, TPN to saline or dextrose 420 min, same-class 45–60 min
- On each autoclave: saline-to-dextrose 60 min, dextrose-to-saline 90 min, same-class 20 min
- Inspection and packaging: zero-duration same-class changeovers
6. Configure calendars, exceptions, and downtimes. Create the Standard 24/5 calendar as the team default (three shifts, Monday through Friday) and the Extended 24/7 calendar (three shifts, seven days). Assign the 24/7 calendar to each of the five autoclaves as a machine-level override. Add two calendar exceptions for non-working days: January 1 (New Year's Day) and May 1 (International Workers' Day). Add three downtime windows:
- Year-end shutdown (factory-wide): December 24 to December 31
- Autoclave 3 preventive maintenance: June 15 to June 16
- FFS Line 2 annual maintenance: March 10 to March 11
For step-by-step instructions on configuring each of these in Schantt, see the Schantt documentation.
Common mistakes
1. Using a single blanket changeover duration instead of directional per-pair times. On an LVP line, cleaning validation times between solution classes are directional — switching from dextrose to saline differs from saline to dextrose. A single symmetric value overwrites the real validation data and leads the optimizer to an incorrect sequence.
Fix: Enter each directional pair (from class → to class) as a separate changeover entry on each filling line and autoclave, using the durations from your validated cleaning protocols.
2. Modeling divergent routings under a single product class. If all three solution types are placed in one product class, TPN cannot skip terminal sterilization. The schedule would route every product through the autoclaves, misrepresenting the aseptic process.
Fix: Create separate product classes for Standard Saline, Dextrose 5%, and Aseptic TPN / Amino Acids. Define each class's routing separately so TPN bypasses Terminal Sterilization.
3. Omitting the minimum partial-transfer quantity on the filling-to-sterilization handoff. Filling transfers material to autoclave staging in palletised loads of 400 bags minimum. Without this minimum, the scheduler may treat the transfer as fully elastic, which does not reflect the physical pallet constraint.
Fix: Enable partial transfer on the Bag Filling → Terminal Sterilization routing leg and set the minimum quantity to 400 bags.
4. Leaving all machines on the default calendar. The autoclaves operate 24/7 to keep pace with filling, while compounding, filling, inspection, and packaging run 24/5. If all machines share the 24/5 calendar, the schedule incorrectly halts sterilization over weekends.
Fix: Assign the Extended 24/7 calendar to each of the five autoclaves as a machine-level calendar override on the machine's detail page.
5. Entering changeover times without confirming which machines are eligible for each product class. Each compounding vessel serves a specific solution class — Vessels A and B for saline, Vessel C for dextrose, Vessel D for TPN. If every vessel carries processing times for all classes, the scheduler may place a dextrose batch on a saline-dedicated vessel.
Fix: Enter per-class cycle time and batch size only on the vessels that are validated for that class. Omitted entries silently mark a vessel as ineligible for that class.
What a good schedule looks like
A well-configured LVP bag fill-finish schedule coordinates all five stages across three product classes, respects machine eligibility and calendar availability, and produces a clear timeline from compounding through to packaged bags.
Before (manual spreadsheets): Campaign plans are sequenced by hand, with the planner manually tracking each product class's routing, changeover logic, and autoclave availability.
- Bottlenecks at sterilization are hard to spot until staging overflows.
- Changes to one order require cascading manual updates.
- The planning team of three spends significant time reconciling schedules across compounding, filling, and sterilization rather than optimising the sequence.
After (Schantt with Auto or Semi-Auto mode): The schedule is generated with an optimised sequence that clusters similar classes on filling lines and autoclaves to reduce changeover time.
- Compounding batches are automatically assigned to the correct vessels.
- Sterilization loads are chained to filling output via partial transfers, with the timing visible on the Gantt.
- Each area operates on its own calendar with no weekend gaps on the autoclave row.
- Planned maintenance windows are displayed as shaded intervals, and the schedule routes work around them.
- The three-person team can now evaluate what-if scenarios — adding a TPN campaign mid-week, reordering filling runs, or adjusting a downtime window — and see the impact in minutes.
Ready to schedule your own facility?
Try Schantt free — no credit card required. Go from spreadsheet to optimized Gantt chart in 60 minutes.
Try Schantt Free