DEV Community

Cover image for Cryopreservation Procurement as a Dependency Graph
Cryolab Global
Cryolab Global

Posted on

Cryopreservation Procurement as a Dependency Graph

Most equipment lists are written as flat inventories. Cryopreservation does not behave like a flat inventory, and that is why items get ordered late. It behaves like a dependency graph, and the usual purchase order traverses it in the wrong direction.

The naive ordering

  1. storage vessel
  2. straws
  3. nitrogen supply

Three nodes, no edges. This is what typically reaches procurement first.

The actual dependency chain
sample format
-> straw type and volume
-> sealer compatibility
-> goblet / visotube selection
-> cane and canister layout
-> vessel neck diameter + rack configuration
-> vessel capacity and model
-> static evaporation rate
-> weekly nitrogen volume
-> refill equipment class

Resolve it top down and every choice is constrained by the one above it. Resolve it bottom up, which is what buying the tank first does, and you have pinned the root of the tree from a leaf.

The classic failure

Straw format chosen after goblets and canes are already purchased. The formats do not fit. Nothing is broken, nothing is faulty, and the only fix is reordering tank furniture.

Invariant worth enforcing: every straw format in the laboratory has a documented path to a specific canister position. If that path cannot be written down, the graph is not resolved.

Capacity is not a fixed requirement, it is a growth curve

A regulatory change in 2022 altered the shape of the curve. Per the HFEA, since 1 July 2022 UK patients can store eggs, sperm and embryos for up to 55 years provided they reconsent every ten years.

old model: inflow - outflow ~ steady state
new model: inflow - (small outflow) = monotonic growth

Capacity plans carried over from the previous regime will underestimate. Sizing on current inventory rather than projected accumulation is how a vessel bought on price is full in year two.

Two fields missing from most quotations
static_evaporation_rate # litres/day or % capacity/day
weekly_nitrogen_order # derived, per vessel

These are the total cost of ownership inputs. Purchase price is the smaller number over a ten year horizon. If the supplier will not put the evaporation rate in writing, treat that as a signal.

Freezing method branches, it does not default
if sample in (embryo, oocyte):
# ASRM 2021 Practice Committee: vitrification as standard of care
procure(kit, carriers, bench_dewar)
elif sample in (sperm, tissue, cells):
procure(controlled_rate_freezer) # size chamber to batch, not to budget

Laboratories doing both need both. This is not redundancy and should be stated explicitly in the business case, because it looks like redundancy to anyone reading the line items.

Monitoring has a requirement most specs half meet

ESHRE's 2026 good practice recommendations state that cryostorage tanks should be continuously monitored with alarm systems that detect and log any out of range temperature or LN2 level.

Two verbs there. Detect and log. Plenty of systems do the first and not the second.

And the notification path is a separate line item that routinely gets cut:

sensor -> local alarm -> [MISSING] -> on call responder

An alarm sounding in an empty laboratory at 02:00 is an unhandled event.

Non negotiable, non technical

BCGA Code of Practice 30 notes that asphyxia due to oxygen deficiency is often rapid with no prior warning, and records the HSE recommendation that workplace oxygen be kept above 19.5 per cent.

Protective equipment and oxygen monitoring are not optional line items regardless of what the budget looks like at sign off.

Full write up: https://cryolab.co.uk/cryopreservation-equipment-procurement-guide/

Top comments (0)