Chapter 2

Chapter 2: Cell Sourcing and GMP Manufacturing

A cell therapy product is only as good as the donor material it starts from and the process that turns that material into a dose. This chapter follows WIA-BIO-005 §2.4 and §3 from donor screening to the harvest bag: the facility and equipment the standard assumes, each step of CAR-T manufacturing, the arithmetic of expansion, the critical process parameters that the SDK watches, and the in-process checkpoints that decide whether a batch may continue.

How to read the numbers in this chapter. Every limit quoted below is what WIA-BIO-005 v1.0 encodes, reproduced so that manufacturing staff and software engineers can check a batch record against the same values. They are not operating instructions. A licensed product's approved manufacturing process, its regulatory filing and the site's own validated procedures always take precedence. Where the specification itself contains an error or an internal inconsistency, the text says so explicitly.

2.1 Donor Screening and Starting Material

Manufacturing does not begin in the cleanroom; it begins with a decision about whether a donor and a collection are acceptable. WIA-BIO-005 §2.4 splits this decision into two parts: screening the donor for transmissible infections, and qualifying the collected cells themselves as starting material.

Infectious-disease screening

§2.4.1 lists the tests the standard requires. The list mirrors the markers that blood and tissue regulators have converged on, because a cell product is infused intravenously and cannot be terminally sterilised or virally inactivated the way a small-molecule or plasma-derived drug can. Whatever enters the process with the cells leaves the process with the cells.

AgentTests listed in §2.4.1Why two kinds of test
HIV-1/2Antibody and nucleic acid test (NAT)NAT shortens the window period in which a recent infection is not yet antibody-positive.
Hepatitis BSurface antigen (HBsAg) and core antibody (anti-HBc)HBsAg detects active infection; anti-HBc also flags past or occult infection.
Hepatitis CAntibody and NATSame window-period reasoning as for HIV.
HTLV-I/IIAntibodyLymphotropic virus; directly relevant to lymphocyte products.
SyphilisRPR or equivalentTreponemal or non-treponemal screening per local practice.
CMVAntibody, for allogeneic productsInforms donor–recipient matching and post-infusion surveillance rather than being an automatic exclusion.

The distinction between autologous and allogeneic material matters here. For an autologous product the "donor" is the patient, and the donor-eligibility determination required for allogeneic tissue does not apply in the same way; in the United States, 21 CFR 1271.90 provides an exception for cells used autologously. Many facilities still test autologous collections, not to exclude the patient but to decide how the material must be segregated, labelled and handled so that it cannot contaminate other patients' batches. An implementer should therefore model screening results as data attached to the collection, not as a single yes/no gate, and should let the site's procedures decide how a reactive autologous result is handled.

Starting-material acceptance

§2.4.2 then qualifies the collection itself. Three values are given:

In the SDK, these values appear in the startingMaterial block of ManufacturingProcess: totalCells, viability, and the optional cd3Percent and cd56Percent. The SDK does not currently evaluate this block; it is recorded for traceability. A system that wants to enforce §2.4.2 has to add that check itself, which is a small but important task because a batch that fails its starting-material criteria should never reach the activation stage.

2.2 The Facility: Cleanroom Zoning

Cell products are manufactured aseptically. Because there is no terminal sterilisation step, sterility has to be built in by controlling the air, surfaces, people and materials that come near an open product. §3.1.1 organises this around three cleanroom grades.

Zone in §3.1.1ISO 14644-1 classLegacy nameMax. particles ≥0.5 µm per m³Typical use
Critical steps (open cell culture)ISO 5"Class 100"3,520Inside the biological safety cabinet or isolator where the product is exposed
Supporting areasISO 7"Class 10,000"352,000Background room around the cabinet; material preparation
Airlock / gowningISO 8"Class 100,000"3,520,000Transition spaces where people and materials enter

The "Class 100" style names come from the US Federal Standard 209E, which was withdrawn in favour of ISO 14644-1. They survive in everyday speech and in older documents, which is why the specification prints both. Software that stores environmental-monitoring data should use the ISO class as the canonical value and treat the legacy name as a display label only. The particle numbers in the table follow from the ISO 14644-1 class formula, in which each class step is a factor of ten.

Erratum in §3.1.1. The specification also lists "particles ≥5.0 µm: ≤29 per m³" and "viable organisms: ≤1 CFU per plate" for ISO 5. Both lines come from superseded wording: the current edition of ISO 14644-1 (2015) no longer sets a 5 µm limit for ISO 5, and the current EU GMP Annex 1 (2022) expects no microbial growth in Grade A rather than a tolerance of one colony. This book therefore uses only the 3,520 per m³ (≥0.5 µm) limit from the specification, and refers microbial limits to the current EU GMP Annex 1 and FDA aseptic-processing guidance applicable to the site.

Environmental monitoring is a continuous argument that the room is still what it was qualified to be. It combines non-viable particle counting, viable air sampling, settle or contact plates on surfaces, and personnel monitoring of gloves and gowns. The data are not only compared with limits; they are trended, because a slow drift in counts is often the first sign that a filter, a pressure cascade or a gowning practice is degrading. For an information system, this means environmental-monitoring results belong in a time series linked to rooms and batches, so that when a batch is later investigated the conditions it was exposed to can be reconstructed.

2.3 Equipment and Qualification

§3.1.2 lists five categories of critical equipment and the qualification regime that applies to all of them.

EquipmentRequirement in §3.1.2What the requirement protects
Biological safety cabinetClass II, Type A2 or B2Provides the ISO 5 work zone and protects the operator; B2 cabinets are fully exhausted, A2 recirculate part of the air.
Incubator37 °C ± 0.5 °C, 5% CO₂ ± 0.5%Temperature controls metabolic rate; CO₂ equilibrates with bicarbonate buffer to hold pH.
CentrifugeValidated for cell processingWashing and concentration without excessive shear or cell loss.
Cell counterAutomated, with viability measurementReproducible counts for expansion and dose calculation (methods are compared in Chapter 3).
Cryogenic storage−150 °C or colderBelow the glass-transition range of the frozen medium, where biological activity effectively stops.

The qualification sequence named in the specification is IQ, OQ and PQ, followed by annual requalification. Installation qualification confirms that the right equipment was delivered and installed according to its specification: utilities, connections, software versions, documentation. Operational qualification shows that it operates across its intended range: the incubator reaches and holds its set points, alarms trigger when they should, the cabinet's airflow meets its certification criteria. Performance qualification shows that it does its job under real conditions, for example that the incubator keeps a representative culture within limits during a loaded run with normal door openings.

The annual cycle matters to software because a batch should only be recorded against equipment whose qualification was valid on the dates the equipment was used. An equipment register with qualification expiry dates, checked when a batch step is logged, turns this rule from a paperwork habit into an enforced control. Chapter 8 returns to the same IQ/OQ/PQ logic when the "equipment" is the software system itself.

2.4 The CAR-T Process Step by Step

§2.1.1 and §3.2 together describe a representative autologous CAR-T process. The overall duration given for CAR-T manufacturing is 10–14 days. The steps below follow the specification's order; the stage names in brackets are the ManufacturingStage values the SDK uses, which Chapter 6 treats as a state machine.

Collection [collection]

Leukapheresis collects mononuclear cells from the patient's blood over roughly 4–6 hours (§2.1.1). The product is shipped to the manufacturing site, where the chain of identity established at the bedside must be carried onto every tube and bag. From this point on, the patient identifier and the batch identifier travel together.

T-cell isolation and activation [activation]

T cells in the blood are resting. To be transduced efficiently and to proliferate, they must be activated, which §3.2.1 does with CD3/CD28 beads or an anti-CD3 antibody for 24–48 hours. The CD3 signal mimics antigen recognition through the T-cell receptor; CD28 supplies the co-stimulatory signal that tells the cell to proceed rather than become unresponsive. The target is more than 50% activated cells, measured by the early activation markers CD25 and CD69.

The ratio of beads to cells is set by the vendor of the activation system; common choices are on the order of 1:1 or 3:1 beads to cells. The specification's wording at this point ("1:3 (cells:beads) or 3:1 (cells:beads)") contradicts itself, and implementers should record the ratio as a free parameter with an explicit direction (beads:cells) rather than copy that line.

Genetic modification [transduction]

§3.2.2 gives two routes for introducing the CAR construct.

Expansion [expansion]

Transduced cells are expanded for 7–10 days (§3.2.3) to reach a clinically useful number. The specification names X-VIVO 15 or AIM-V media supplemented with IL-2 at 100 IU/mL, seeding at 0.5–1.0 × 10⁶ cells/mL, and feeding every 48–72 hours. Feeding replaces spent medium and cytokine, and it is also how density is managed: as cells divide, fresh medium is added or the culture is transferred to a larger vessel so that density stays within the range listed as a critical process parameter (Section 2.6 below). The target expansion is 100–1,000-fold, with ≥100-fold as the stated minimum for CAR-T.

Harvest and formulation [harvest]

At harvest (§3.2.4) the cells are washed two or three times with saline or PlasmaLyte to remove medium, cytokines and residual activation reagents, then concentrated to 1–10 × 10⁷ cells/mL and filled at 10–50 mL per bag. The cryoprotectant is added at this stage: the final formulation contains 10% DMSO in a protein-containing carrier, optionally with dextran-40. Cryopreservation itself, including controlled-rate freezing and storage, is the subject of Chapter 6; formulation is mentioned here only because it closes the manufacturing record. The full release panel is sampled from the final formulated product (Chapter 3).

A timeline view

The diagram below lays the stages out on a day scale for an illustrative 12-day batch. Real processes vary within the ranges above; the point is the order and overlap of stages and where each in-process test falls.

Illustrative CAR-T batch (day 0 = start of activation)

Day           0    1    2    3    4    5    6    7    8    9   10   11   12   13   14
              |----|----|----|----|----|----|----|----|----|----|----|----|----|----|
Collection  ##                                      (leukapheresis, 4-6 h, before day 0)
Activation    ##########                            (24-48 h, CD3/CD28)
Transduction       ##########                       (vector or electroporation)
Expansion               ######################################  (7-10 days, feed q48-72 h)
Harvest                                                   #####  (wash, formulate, fill)
Cryo                                                          ###  (see Chapter 6)

In-process    T0        T2        T4                  T7                  T10-14
checkpoints   viab.     CD25/     CAR+ ≥30%           count, viab.        full release
              ≥85%      CD69 ≥50%                     >80%                panel (§4.2)

2.5 Expansion Arithmetic

Expansion is the one manufacturing quantity that can be checked with pencil and paper, and it is worth doing so, because it connects cell counts, culture volume and time in a way that exposes unrealistic batch records quickly.

Expansion ratio (§3.2.3)

Expansion Ratio = Final Cell Count ÷ Initial Cell Count

Target for CAR-T products: ≥100-fold.

Population doublings (a derived quantity, not defined by the specification):

Doublings = log₂(Expansion Ratio)   Mean doubling time = Culture time ÷ Doublings

The two measures say the same thing in different units. A fold expansion is intuitive for comparing with a target; the number of doublings is additive over time, which makes it easier to see whether the culture is on track at an intermediate day. A 100-fold expansion equals log₂(100) ≈ 6.6 doublings; 1,000-fold equals about 10 doublings.

Worked example (illustrative numbers)

Suppose a batch starts expansion with 5 × 10⁷ viable cells seeded at 0.5 × 10⁶ cells/mL, and runs for 10 days with density kept inside the 0.5–2.0 × 10⁶ cells/mL range.

StepCalculationResult
Initial culture volume5 × 10⁷ ÷ 0.5 × 10⁶ /mL100 mL
Cells needed for ≥100-fold5 × 10⁷ × 1005 × 10⁹ cells
Minimum final volume at the upper density limit5 × 10⁹ ÷ 2.0 × 10⁶ /mL2,500 mL (2.5 L)
Doublings requiredlog₂(100)≈ 6.6
Mean doubling time over 10 days240 h ÷ 6.6≈ 36 h
Expected fold at day 7 if growth is steady2^(6.6 × 7/10) = 2^4.6≈ 25-fold

Three lessons follow. First, a 100-fold expansion at a capped density implies a 25-fold increase in culture volume, which is why feeding and vessel transfers dominate the operator's workload during expansion. Second, fold expansion is not linear in time: a steady culture is only about a quarter of the way to its 100-fold target at 70% of the culture period, which is exactly the point at which the SDK's expansion alert (below) starts to evaluate. Third, a batch record that shows 100-fold expansion while the recorded volumes never exceed a few hundred millilitres is internally inconsistent and should be queried.

How the tools compute it

The SDK does not calculate the ratio itself: currentMetrics.expansionRatio is supplied by the caller. trackManufacturing compares it with parameters.targetExpansion and raises a warning alert when the ratio is below half the target and the current day is past 70% of parameters.cultureDays. For a 10-day culture with a 100-fold target, a ratio of 40 at day 8 triggers the warning; the same ratio at day 7 does not, because the comparison is strictly "greater than 7".

The CLI command track-batch tries to compute a ratio, but it divides the --cells value by a hard-coded starting count written as 5e6. The script does its arithmetic with bc, which cannot parse e-notation, so as published it prints 0.0× and "Below target" for every input, including the default of 5 × 10⁷ cells (Chapter 5, Section 5.8 lists this defect). Even if the notation were repaired, the fixed starting count would make the ratio unrelated to the batch's real starting count. It is a demonstration aid, not a calculator for real batches.

$ wia-bio-005 track-batch --batch CT-2024-001 --stage expansion --day 7 --cells 500000000 --viability 92
(output abridged)
(standard_in) 1: syntax error      # bc cannot read the script's own 5e6
  Expansion Ratio: 0.0×
⚠ Expansion: Below target (<100×)

2.6 Critical Process Parameters

A critical process parameter (CPP) is a process variable whose variation affects a critical quality attribute of the product, so it must be monitored and kept within a defined range. §3.3.2 names five, and the SDK encodes them in CELLULAR_THERAPY_CONSTANTS.CPP.

ParameterRange in §3.3.2SDK constantChecked by trackManufacturing?Why it matters
Temperature37 °C ± 0.5 °CCPP.TEMPERATURE (36.5–37.5)Yes, critical alertGoverns metabolic and division rate; heat stress kills cells quickly.
pH7.2–7.4CPP.PHYes, critical alertLactate accumulation acidifies dense cultures and slows growth.
Dissolved oxygen20–40% air saturationCPP.DISSOLVED_OXYGENNo (constant only)Oxygen transfer limits growth at high density, especially in static vessels.
Cell density0.5–2.0 × 10⁶ cells/mLCPP.CELL_DENSITYYes, warning alertToo sparse slows T-cell growth; too dense depletes nutrients and oxygen.
Osmolality260–320 mOsm/kgCPP.OSMOLALITYNo (constant only)Reflects medium composition and evaporation; outside the range cells swell or shrink.

Two implementation facts follow from the table. The SDK checks only three of the five parameters, so a system that must demonstrate control of dissolved oxygen and osmolality has to add those checks around the SDK. And severity is not uniform: temperature and pH excursions are critical, density excursions are warnings. That choice is a design decision in the reference implementation, not a requirement of §3.3.2, and a site may legitimately decide otherwise in its own risk assessment.

From reading to alert

trackManufacturing takes a ManufacturingProcess object and returns a copy with new entries appended to alerts. It also sets cpp.withinRanges, which is true only when there are no unresolved critical alerts. Because the viability check also produces critical alerts (below 85%), a low-viability batch is reported as "not within ranges" even when all physical parameters are fine. Engineers should read withinRanges as "no open critical alerts", not literally as "all CPPs in range".

import { CellularTherapySDK, ManufacturingProcess } from '@wia/bio-005';

const sdk = new CellularTherapySDK();

// Illustrative day-8 snapshot of a 10-day batch
const batch: ManufacturingProcess = {
  batchId: 'CT-2024-001',
  cellType: 'CAR-T',
  currentStage: 'expansion',
  startDate: new Date('2025-03-03'),
  expectedCompletion: new Date('2025-03-15'),
  startingMaterial: { totalCells: 5e7, viability: 91, cd3Percent: 62 },
  parameters: { medium: 'X-VIVO 15', cytokines: ['IL-2'], moi: 5,
                targetExpansion: 100, cultureDays: 10 },
  currentMetrics: { cellCount: 2.0e9, viability: 88, dayInCulture: 8,
                    expansionRatio: 40 },
  alerts: [],
  cpp: { temperature: 37.1, pH: 7.15, dissolvedOxygen: 18,
         cellDensity: 1.6e6, osmolality: 300, withinRanges: true },
};

const result = sdk.trackManufacturing(batch);
for (const a of result.alerts) console.log(a.severity, '-', a.message);
console.log('withinRanges =', result.cpp.withinRanges);

// critical - pH out of range: 7.15 (acceptable: 7.2-7.4)
// warning  - Expansion ratio (40.0×) below target (100×) at day 8
// warning  - Viability (88%) below optimal (≥90%)
// withinRanges = false
// Note: dissolvedOxygen 18% is below the §3.3.2 range but raises no alert.

Each alert carries an id built from a prefix and a timestamp, a severity of info, warning or critical, a message, a timestamp and a resolved flag with optional resolution notes. Because the function appends to whatever alerts it is given, calling it repeatedly on the same object will accumulate duplicates. A production integration should deduplicate by parameter, and should close alerts by setting resolved with a documented resolution rather than by deleting them, so that the history remains part of the batch record.

2.7 The In-Process Testing Schedule

Release testing (Chapter 3) decides whether a finished product may be used. In-process testing decides something earlier and cheaper: whether a batch is worth continuing. §3.3.1 sets five checkpoints.

TimepointTestAcceptance (§3.3.1)What the checkpoint protects against
Day 0 (start)Viability≥85%Starting a 10–14 day process on material that was damaged in collection or transport.
Day 2 (activation)CD25/CD69 expression≥50% positivePoor activation, which predicts low transduction and weak expansion.
Day 4 (transduction)Transduction efficiency≥30% CAR+Continuing to expand a population that will not contain enough CAR+ cells.
Day 7 (mid-expansion)Cell count, viabilityCount doubling; viability >80%Stalled growth or a culture that is dying before harvest.
Day 10–14 (harvest)Full release panelSee §4.2 (Chapter 3)Releasing a product that fails identity, purity, potency or safety.

Three CAR+ numbers, three purposes

Readers of the specification meet three different CAR+ thresholds, and they are easy to merge by mistake. They are distinct checkpoints with distinct jobs:

A data model should store these as separate fields with separate limits. A single "car_positive_min" constant applied everywhere would either reject acceptable batches at release or let failed transductions run on for another week.

A viability inconsistency to handle

The Day 7 criterion accepts viability above 80%, but trackManufacturing raises a critical alert below 85% and a warning below 90%, and the CLI prints "Below threshold" under 85%. A Day 7 reading of 83% therefore passes §3.3.1 but appears as a critical alert in the SDK. Neither is wrong for its purpose: the SDK is warning early that the batch is heading towards the 85% release limit. The integration should nevertheless make the distinction visible, for example by labelling the SDK alert as "release-risk" rather than as an in-process failure, so that operators do not treat a passing checkpoint as a deviation.

2.8 Beyond CAR-T, Deviations and Pitfalls

Different products, different clocks

The 10–14 day CAR-T schedule is not universal, and systems that hard-code it will misbehave for other product families in the standard.

ProductTimeline or process marker in the specificationConsequence for tracking
CAR-T10–14 days manufacturing (§2.1.1)Day-based checkpoints as in §3.3.1.
TILSource: tumour biopsy; expansion 4–6 weeks (§2.1.2)Checkpoints must be defined per week, and cultureDays is several times longer; the 70% rule in the SDK shifts accordingly.
MSCClinical use at passages P2–P5; viability requirement >90% (§2.3.1)Progress is measured in passages rather than days; the passage number must be recorded per lot.
iPSCReprogramming 21–28 days (§2.3.2)Reprogramming is only the first phase; any derived product adds differentiation and characterisation stages that the current ManufacturingStage enum does not name.

The ManufacturingStage values (collection, activation, transduction, expansion, harvest, cryopreservation, complete, failed) describe the CAR-T process well. For MSC or iPSC products an implementer will either map several real steps onto one stage or extend the model. Extending it in a separate field, rather than inventing new values for the shared enum, keeps records exchangeable with other WIA-BIO-005 systems.

Deviations: C006 and CAPA

When a process departs from its defined procedure or limits, the specification's error code is C006 — Manufacturing deviation, with the action "Document and assess impact" (§8.4). The action is deliberately not "reject". A short temperature excursion during a door opening, a feed given a few hours late or a pH reading slightly outside range may have no effect on product quality; a contaminated culture obviously does. The deviation process exists to decide which case applies, on evidence, and to record that decision.

In practice a deviation record contains what happened and when, the batch and equipment affected, the immediate containment action, an impact assessment on the product's critical quality attributes, a root-cause investigation, and corrective and preventive actions (CAPA). Corrective actions fix the instance; preventive actions change the process, training or equipment so that the same cause does not recur. The README lists batch records, deviations and CAPAs as required documentation for manufacturing, and the type BatchResult.manufacturingSummary.deviations and the certificate field manufacturing.deviations are where deviation references end up in the product record.

The SDK does not throw C006 on its own; trackManufacturing only produces alerts. Turning an unresolved critical alert into a formal deviation is an integration decision, and it should involve a human. A reasonable pattern is: every critical alert opens a draft deviation; QA either links it to a formal deviation or closes it with a documented justification; the batch cannot advance to the next ManufacturingStage while a linked deviation is open without a QA decision to continue.

Common pitfalls

Summary

WIA-BIO-005 frames manufacturing as a chain of controlled decisions. Donor screening and starting-material criteria (§2.4) decide whether material enters the process. Cleanroom zoning and equipment qualification (§3.1) establish the conditions under which it is handled. The CAR-T process (§3.2) moves through activation, genetic modification, expansion and harvest, with expansion ratio as its central quantity. Five critical process parameters (§3.3.2) are monitored continuously, three of them by the reference SDK. Five in-process checkpoints (§3.3.1) decide whether the batch continues, and three different CAR+ thresholds serve three different purposes. Deviations are recorded as C006 and resolved through documented impact assessment and CAPA. The next chapter picks up the formulated product and follows it through the release tests that decide whether it may be shipped.

Review Questions

  1. Why does §2.4.1 require both antibody and NAT testing for HIV and HCV, and how does the autologous case differ from the allogeneic case?
  2. Which particle limit from §3.1.1 does this book retain for ISO 5, and why are the other two ISO 5 lines treated as an erratum?
  3. A batch starts expansion with 8 × 10⁷ cells and must reach 100-fold. How many doublings are needed, and what is the minimum final volume at 2.0 × 10⁶ cells/mL?
  4. Which two critical process parameters in §3.3.2 are not checked by trackManufacturing, and what does withinRanges actually mean?
  5. Explain the different roles of the 40%, 30% and 20% CAR+ thresholds.
  6. A Day 7 viability of 83% passes §3.3.1 but produces a critical SDK alert. How should an integration present this to operators?