Production Scheduling for Prefilled Syringe Fill-Finish

Learn how to model and schedule a prefilled syringe fill-finish facility in Schantt — from batch compounding through filling, inspection, and packaging — with parallel filling lines, sequence-dependent sterilization changeovers, and shift-aware calendars.

This guide shows how production planners and operations managers at CDMOs and branded pharmaceutical facilities can model and schedule a prefilled syringe fill-finish production facility in Schantt — from batch compounding through aseptic filling, plunger insertion, inspection, labeling, and packaging — with parallel filling lines, sequence-dependent sterilization changeovers, and shift-aware production calendars.

This guide follows a fictional composite company built from industry research on prefilled syringe fill-finish; all names, parameters, and figures are illustrative.

Industry context

Prefilled syringes are the fastest-growing primary packaging format in injectable drug delivery, driven by biologic therapies, vaccine programs, and the shift toward self-administration. Fill-finish operations convert bulk drug substance into sterile, ready-to-administer syringes through a tightly regulated sequence of compounding, aseptic filling, plunger insertion, inspection, labeling, and packaging. Facilities that operate these lines — typically contract development and manufacturing organizations (CDMOs) or branded pharmaceutical plants — manage multiple product classes with divergent processing requirements, each governed by validated hold times, contamination-control protocols, and regulatory standards for aseptic processing.

A typical fill-finish facility handles different product classes that follow different routing paths through the production line. Biologic monoclonal antibodies (mAbs) and seasonal vaccines traverse the full six-stage sequence with 100 % automated inspection and serialized labeling. Small-molecule products often use ready-to-use syringe barrels with pre-inserted plungers, allowing them to skip the plunger insertion and inspection stages entirely. Compounding vessels are dedicated to specific material systems — single-use polymer vessels for biologics, stainless steel for small molecules — creating a resource constraint when multiple campaigns run simultaneously. Filling lines operate under ISO 5 (Grade A) conditions inside isolators or restricted-access barrier systems (RABS), each line qualified for a specific set of product classes. Changeover times between product classes vary significantly: an intra-family swap (biologic to vaccine) on a fill line takes 90 minutes, while a cross-family transition (biologic to anticoagulant) requires up to 480 minutes (8 hours) for full SIP/CIP decontamination.

Aegis Pharma Services runs approximately 70 operators, technicians, and quality staff at a 3,800 m² facility, making 3 product classes across 6 production stages, scheduled by a 3-person planning team. The facility operates 14 machines across 6 stages: 2 compounding vessels, 3 filling lines, 3 capping stations at the plunger insertion stage, 2 inspection machines, 2 labelers, and 2 case packers. Three representative products form the dataset — a biologic mAb biosimilar (adalimumab), a seasonal quadrivalent influenza vaccine, and a small-molecule anticoagulant (enoxaparin sodium). Compounding vessel batch sizes range from 1,200 kg (mAb) to 2,000 kg (anticoagulant), with cycle durations from 240 to 360 minutes. Fill line throughputs vary from 10,200 to 22,800 units per hour depending on the line and product class. The facility runs a standard two-shift pattern (Monday to Friday, 06:00 to 22:00) with a separate continuous 24/7 monitoring calendar for cold-chain bulk hold. Calendar exceptions cover 4 non-working days (New Year's Day, Workers' Day, and a two-day year-end shutdown), and 3 scheduled downtimes include a two-week annual maintenance shutdown and bi-annual media-fill days on individual filling lines.

Process overview

flowchart LR
    Comp["Compounding<br/>(BATCH)"] --> Fill["Syringe Filling<br/>(FLOW)"]
    Fill --> PI["Plunger Insertion<br/>(FLOW)"]
    PI --> Insp["Inspection<br/>(FLOW)"]
    Insp --> Label["Labeling and Serialization<br/>(FLOW)"]
    Label --> Pack["Case Packing and Palletizing<br/>(FLOW)"]

The six-stage prefilled syringe fill-finish process at Aegis Pharma Services, from batch compounding through filling, plunger insertion, inspection, labeling and serialization, and case packing and palletizing.

The anticoagulant product class skips Plunger Insertion and Inspection — its ready-to-use syringe barrels arrive pre-stoppered, and its robust small-molecule formulation uses a reduced-scope quality check at the filling line rather than a dedicated inspection pass.

Scheduling challenges and how Schantt handles them

In this scenario, the schedule is driven by campaign demand — the planner enters each product class and its required quantity as a job list, and the scheduling algorithm sequences those jobs to minimize total production time. If your facility is driven by fixed due dates or a weekly shipping schedule, you would still use the same campaign input but evaluate against your own timing criteria when reviewing the output. Schantt schedules forward from a user-defined start date, and this guide assumes a practical campaign horizon of four to eight weeks.

Schantt provides two optimization modes. Auto mode determines both the job sequence and the machine assignment from scratch for a given set of campaigns. Semi-Auto mode preserves a planner-fixed campaign sequence and optimizes machine allocation within it — useful when the production order is dictated by regulatory or contamination-control policy.

What Schantt handles well

  • Multi-stage flowshop modeling — the full six-stage sequence from compounding through filling, plunger insertion, inspection, labeling, and packaging as ordered stages with per-class routing and stage skipping.
  • Parallel machine stages — multiple machines per stage (3 filling lines, 2 inspection machines, 2 labelers, 2 packers) with algorithm-driven assignment that minimizes total production time.
  • Mixed batch-and-flow pipelines — batch compounding feeding continuous fill lines, with material-starvation pauses visible on the Gantt when downstream stages outrun upstream supply.
  • Sequence-dependent changeovers — directional changeover times on each machine capturing sterilization durations between product-class transitions.
  • Stage-to-stage transfer times — forward-only delays between stages, including bridging transfer times across skipped stages.
  • Auto and Semi-Auto optimization modes — Auto for full sequence-and-assignment optimization; Semi-Auto for campaign-sequencing constraints where the planner fixes the production order.

How Schantt handles each challenge

1. Managing long cross-family changeovers. The flexible filling line (Line C) requires a full decontamination changeover of 480 minutes (8 hours) between biologic and anticoagulant classes, and 360 minutes (6 hours) between vaccine and anticoagulant. Same-family transitions on Lines A and C (mAb to vaccine) take 90 minutes in either direction.

  • Over a four- to eight-week campaign horizon, cross-family changeovers can consume 10 to 30 percent of available production time. Planners must sequence campaigns to minimize these transitions while respecting client commitments and contamination-control policy.
  • Directional changeover times on each machine capture the exact setup duration for every product-class transition. The scheduling algorithm favors sequences that cluster similar products — biologic mAb and vaccine after one another, anticoagulant in a dedicated block — which reduces total changeover time across the campaign. The planner sets each directional duration on the Machine detail page after creating the product classes.

2. Enforcing product-family segregation. Line C is qualified for all three product classes, but contamination-control policy strongly discourages running anticoagulant before a biologic product. The compounding vessels are also segregated: Vessel 1 (stainless steel) handles anticoagulant only, while Vessel 2 (single-use polymer) serves biologic mAb and vaccine only.

  • Each machine in the facility has a defined qualification scope that determines which product classes it can process. Assigning a product to an ineligible machine is a compliance risk, and the inter-class changeover durations are heavily asymmetric — the discouraged direction carries a much longer time penalty.
  • Machine eligibility is encoded by which throughput entries exist — a machine only appears as an option for the classes that have entries on it. Changeover durations are set per direction per machine, so the cross-family transition (biologic to anticoagulant) carries a longer duration (480 minutes) than the same-family swap (90 minutes). The optimizer favors the shorter direction because it minimizes total production time, but it does not enforce a one-way sequence rule — the planner reviews the output on the Gantt.

3. Meeting bulk hold time windows. Sterile-filtered bulk from each compounding batch has a validated hold time of 24 to 72 hours at 2 to 8 degrees Celsius. If filling does not begin within that window, the entire batch is at risk of rejection. Two dedicated compounding vessels feed three filling lines serving different product classes, making batch-to-filling timing a critical constraint.

  • The compounding vessel schedule must sequence batches so that each batch reaches its assigned fill line before the validated hold window expires. With Vessel 1 running anticoagulant and Vessel 2 running biologic and vaccine, a further constraint arises when both biologic and vaccine campaigns need bulk simultaneously.
  • The hold time between compounding and filling is modeled as a transfer delay that the planner sets on the Stage page. The schedule uses this delay as a forward timing offset but does not detect or reject batches that exceed the validated hold time — the planner verifies compliance on the Gantt. This scheduled waiting period between batch compounding and the start of filling is visible as a timed gap in the production timeline. Actual validated hold times are product-specific and must be entered per product class.

4. Allocating parallel filling lines with asymmetric eligibility. Line A (isolator) runs biologic mAb and vaccine only; Line B (RABS) runs anticoagulant only; Line C (isolator) runs all three classes as flexible overflow. Deciding which campaign runs on which line, and whether to split a campaign across multiple lines, is a recurring trade-off between minimizing total production time and respecting segregation requirements.

  • Each filling line has a different qualification scope and a different throughput rate. Line A processes 11,400 units per hour for mAb and vaccine; Line B processes 22,800 units per hour for anticoagulant; Line C processes 10,200 units per hour for all three classes. An assignment that maximizes throughput on Line B may create an undesirable sequence on Line C, and vice versa.
  • Each filling stage has multiple machines with per-class eligibility sets derived from throughput entries. The scheduling algorithm assigns jobs to capable machines within each stage, choosing the combination that minimizes total production time across all stages simultaneously. In Auto mode, the algorithm explores both sequence and machine assignment from scratch. Material-starvation pauses appear on the Gantt when downstream stages outrun supply.

5. Balancing inspection throughput against filling output. Both inspection machines serve only the biologic and vaccine classes (the anticoagulant skips inspection). When biologic and vaccine campaigns overlap, two filling lines feed two inspection machines — any throughput mismatch or inspection downtime creates a backup that propagates upstream.

  • Each inspection machine runs at 15,600 units per hour. When two filling lines (each at 10,200 to 11,400 units per hour) run biologic or vaccine simultaneously, the total filling output (20,400 to 22,800 units per hour) approaches or exceeds the combined inspection capacity (31,200 units per hour). A single inspection stoppage can back up the filling lines within minutes.
  • Inspection is modeled as a flow stage with its own machines and throughput rate. The inspection machines serve only the product classes whose routing includes the stage. When inspection throughput falls behind filling throughput, wait-material pauses appear on the Gantt, giving the planner a clear signal to adjust line assignment or shift schedule. The schedule also respects the calendar rules for each machine, so inspection downtime on a Monday-to-Friday two-shift pattern is reflected in the timeline.

What to model in Schantt

The entity table below lists the first-class objects you create when modeling a prefilled syringe fill-finish facility in Schantt.

Entity Count Notes
Stage 6 Compounding (BATCH), Syringe Filling (FLOW), Plunger Insertion (FLOW), Inspection (FLOW), Labeling and Serialization (FLOW), Case Packing and Palletizing (FLOW)
Machine 14 2 compounding vessels, 3 filling lines, 3 cappers, 2 inspection machines, 2 labelers, 2 packers
Product Class 3 Biologic mAb, Seasonal Vaccine, Small-Molecule Anticoagulant
Product 3 One representative product per product class
Calendar 2 Standard Two-Shift (Monday to Friday, 06:00 to 22:00) and Cold-Chain 24/7 (continuous monitoring)

Step-by-step setup

1. Create the stages and set transfer times. Create six stages in process order: Compounding (BATCH), then Syringe Filling, Plunger Insertion, Inspection, Labeling and Serialization, and Case Packing and Palletizing (all FLOW). After creating each stage, set the forward transfer times between consecutive stage pairs:

  • Compounding to Syringe Filling: 2,880 minutes (48 hours — the scheduled waiting period for sterile bulk hold)
  • Syringe Filling to Plunger Insertion: 5 minutes (integrated transfer within the filling isolator)
  • Syringe Filling to Labeling and Serialization: 15 minutes (bridging transfer for the anticoagulant class, which skips Plunger Insertion and Inspection)
  • Plunger Insertion to Inspection: 10 minutes
  • Inspection to Labeling and Serialization: 15 minutes
  • Labeling and Serialization to Case Packing and Palletizing: 15 minutes

2. Add the machines to each stage. Assign machines to their parent stage:

  • Compounding: Vessel 1, Vessel 2
  • Syringe Filling: Line A, Line B, Line C
  • Plunger Insertion: Capper A, Capper B, Capper C
  • Inspection: Inspection Machine 1, Inspection Machine 2
  • Labeling and Serialization: Labeler 1, Labeler 2
  • Case Packing and Palletizing: Packer 1, Packer 2

3. Create the product classes and define routing. Create three product classes: Biologic mAb, Seasonal Vaccine, and Small-Molecule Anticoagulant. Define each class's routing (16 per-class routing entries total). The full-routing classes (Biologic mAb and Seasonal Vaccine) traverse all six stages in order. The Small-Molecule Anticoagulant traverses only Compounding, Syringe Filling, Labeling and Serialization, and Case Packing and Palletizing — it skips Plunger Insertion and Inspection entirely. The bridging transfer time on the Syringe Filling stage handles the material handoff across the two skipped stages.

4. Add the products. Create three products, one per class: Adalimumab Biosimilar (Biologic mAb), Quadrivalent Influenza Vaccine (Seasonal Vaccine), and Enoxaparin Sodium (Small-Molecule Anticoagulant).

5. Set machine capacity parameters and changeovers. Configure each machine with its production parameters — this step depends on the product classes from step 3.

  • Compounding vessels — batch processing times (3 entries): Vessel 2 processes Biologic mAb (360-minute cycle, 1,200 kg batch) and Seasonal Vaccine (300-minute cycle, 1,500 kg batch). Vessel 1 processes Small-Molecule Anticoagulant (240-minute cycle, 2,000 kg batch).
  • Flow stages — throughput entries (26 entries): Each machine on Syringe Filling, Plunger Insertion, Inspection, Labeling and Serialization, and Case Packing and Palletizing has throughput entries for the product classes it can process. For example, Line A processes Biologic mAb and Seasonal Vaccine at 11,400 units per hour; Line B processes Small-Molecule Anticoagulant at 22,800 units per hour; Line C processes all three classes at 10,200 units per hour.
  • Changeover entries (42 entries): Enter directional changeover times between every product-class pair that shares a machine. Key values include 90-minute same-family swaps (Biologic mAb to Vaccine) on Lines A and C and on Capper A and Capper C; 480-minute cross-family transitions on Line C between Biologic mAb and Small-Molecule Anticoagulant; and 360-minute transitions on Line C between Seasonal Vaccine and Small-Molecule Anticoagulant. Labelers and packers share shorter 45- to 90-minute changeovers across all product classes.

6. Configure calendars, exceptions, and downtimes. Set the default Standard Two-Shift calendar (Monday to Friday, 06:00 to 22:00) for all operator-attended stages. Add the Cold-Chain 24/7 calendar for passive bulk hold monitoring. Enter 4 calendar exceptions (New Year's Day, Workers' Day, December 24, December 25). Add 3 machine downtimes: a two-week annual facility maintenance shutdown (factory-wide, July), a media-fill day on Line A (January), and a media-fill day on Line C (March).

For step-by-step instructions on configuring each of these in Schantt, see the Schantt documentation.

Common mistakes

1. Using a single blanket changeover instead of directional per-pair values. A single changeover duration applied uniformly across all product-class transitions ignores the difference between a 90-minute same-family swap and an 8-hour cross-family decontamination. The resulting schedule underestimates time for hard transitions and overestimates for easy ones, producing an unrealistic timeline. Fix: Enter directional changeover durations for every product-class pair on each shared machine, matching the actual sterilization or setup time for each direction.

2. Creating one product class for all syringe products. A single product class forces all products through the same routing, making it impossible for the anticoagulant to skip Plunger Insertion and Inspection. The schedule then shows production steps that do not occur on the factory floor. Fix: Create separate product classes for each routing pattern — one for the biologic and vaccine full route and one for the anticoagulant abbreviated route — and define each class's routing individually.

3. Giving all filling lines the same machine eligibility. When every filling line is eligible for every product class, the algorithm may assign a biologic campaign to Line B (RABS, anticoagulant only) or an anticoagulant campaign to Line A (isolator, biologics and vaccine only), producing an invalid schedule. Fix: Create throughput entries only for the product-class and machine combinations that are actually qualified in your facility. A machine with no throughput entry for a given class is simply not available for that class.

4. Forgetting the compounding vessel material constraint. Vessel 1 (stainless steel) serves anticoagulant only; Vessel 2 (single-use polymer) serves biologics and vaccine only. Scheduling mAb and vaccine simultaneously on Vessel 2 creates a bottleneck that extends the compounding stage and may delay downstream filling starts. Fix: Model each vessel as a separate machine on the Compounding stage with its own processing-time entries and machine eligibility. This makes the resource constraint visible to the algorithm.

5. Omitting calendar exceptions and downtime windows. When planned non-working days (holidays, year-end shutdown) and scheduled maintenance (annual shutdown, media-fill days) are absent from the configuration, the schedule shows production during periods when the facility cannot operate. The resulting plan cannot be executed. Fix: Enter all fixed non-working days as calendar exceptions and all planned maintenance blocks as machine downtimes before running the schedule. The algorithm respects these windows when sequencing jobs.

What a good schedule looks like

A well-configured schedule for a prefilled syringe fill-finish campaign makes the trade-offs between filling line allocation, changeover sequencing, compounding vessel timing, and inspection capacity visible at a glance.

Before (manual scheduling): A planner builds the campaign sequence by hand in a spreadsheet, relying on experience to estimate changeover impact and filling line fit.

  • Changeover times are approximated as a single average value across all transitions, ignoring the 90-minute versus 480-minute difference between same-family and cross-family swaps.
  • Compounding-to-filling timing — the critical 24- to 72-hour bulk hold window — is checked manually on a calendar, increasing the risk of a missed deadline and a rejected batch.
  • Inspection bottlenecks are discovered only when filling lines are already idle and material is backing up — a reactive rather than preventive approach.
  • Building and revising a single campaign schedule takes one to two days, limiting the planning team's ability to explore what-if alternatives.

After (Schantt Auto): The scheduling algorithm generates the full campaign schedule in minutes, determining both the optimal product sequence and the machine assignment for each stage.

  • Directional changeovers are applied per transition — same-family swaps (90 minutes) are naturally grouped together, and cross-family transitions (480 or 360 minutes) are minimized through intelligent sequencing.
  • Compounding batch completion and filling start times are visible on the Gantt, with the scheduled hold period shown as a transfer delay. The planner verifies at a glance that each batch reaches its fill line within the validated window.
  • Inspection throughput is matched to filling line output; when a mismatch occurs, wait-material pauses appear on the timeline, giving the planner a signal to adjust assignments or shift hours.
  • The full schedule is generated and revised in minutes, freeing the three-person planning team from spreadsheet work to evaluate trade-offs and respond to late-breaking campaign changes.

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