Determine

Chemicals have a lookup.
Biological material does not,
and the regulations say so.

Give a chemist a structure and software returns a controlled-substance answer. Give anyone a vial of plasma and there is nothing to look it up in, because the rules deliberately turn on facts no database holds. Determine asks those questions properly, applies a dated rule set, and keeps the record afterwards.

The tool is the demo. It is free, ungated, and it shows the clause behind every step.

The gap

No database can solve this, and that is written into the rule.

Assignment to Category A rests on the known medical history and symptoms of the source human or animal, the endemic local conditions, and professional judgement about the individual circumstances of the source.
ADR 2.2.62.1.5 · IATA DGR 3.6.2 · UN Model Regulations 2.6.3

The facts are local

Medical history, presenting symptoms and endemic conditions are facts about one patient, one animal or one site on one day. Nothing static holds them.

The same organism classifies differently

A culture and a patient specimen of the same pathogen are not the same consignment. The test applies to the form being shipped.

So the incumbents stop

Every page ranking for these questions reproduces the clause and refers the reader to their biosafety officer. The advice is correct and it is not an answer.

What exists instead is people. The specialist couriers all perform this determination as a human advisory service, and they do it well. The trouble with headcount is that it does not scale, it is hard to evidence consistently, and it leaves when the person leaves. Determine turns that expertise into something a system can hold, run and reconstruct, which is why those couriers read as the most motivated channel in the market rather than the threat they first appear to be.

The record

An answer is not a record. This is what a determination carries.

The engine is typed so that it cannot emit an outcome without all of these. Not as a policy someone can switch off, as a constraint the code will not compile around.

The basis
Declared, derived or absent. Whether a human asserted it, the rules concluded it, or nobody has answered.
The rule
The identified rule that produced the outcome, not a model score. Rules are readable rows, and you can see the ones that did not fire.
The answers it read
The specific elicited answers the rule depended on, cited. This is what turns an outcome into a reconstruction.
The rule set version
The dated edition it was evaluated against. A determination reached in 2026 still reads as it did in 2026 after the rules move.
The person and the moment
Who answered, when, and under which question set. The determination stays theirs; the engine records it rather than replacing it.

Unanswered is not the same as no

A consignment with no infectious status answered is not a non-infectious consignment. It is one nobody has classified. Systems that default the blank to “not dangerous goods” produce a clean-looking record of a decision that was never made. The engine reports those separately, because the difference between eliciting and defaulting is the entire point.

The model

Nine layers, about thirty attributes.

The space looks infinite because the materials are infinite. The determinants are not. Elicit these and the regulatory treatment of biological research material is fully determined, each layer capable of regulating a shipment on its own.

  1. Layer 0

    Form of the material

    Culture, patient or animal specimen, environmental sample, or product. The root gate that decides whether the Class 6.2 cascade runs at all.

  2. Layer 1

    Infectious categorisation

    Category A (UN2814 human, UN2900 animal only), Category B (UN3373), or exempt. Includes the named categorical exemptions, waste for disposal (UN3291), licensed biological products, and toxins of biological origin (UN3172, Class 6.1).

  3. Layer 2

    Quantity and packing

    Drives the PI 620 or PI 650 limits. The 4 L / 4 kg outer package limit under PI 650 excludes refrigerant mass, and that exclusion is a common source of rejection.

  4. Layer 3

    Genetic modification

    UN3245 and PI 959 for transport; the Cartagena Protocol for the movement itself, including the Article 18.2 documentation content requirements.

  5. Layer 4

    Species and provenance

    CITES listing, Nagoya Protocol access and benefit sharing for genetic resources, and veterinary or animal health certification.

  6. Layer 5

    Human material governance

    Consent and ethics basis, HTA licensing in the UK, and the equivalent regimes elsewhere.

  7. Layer 6

    Preservatives and fixatives

    Formalin and ethanol can introduce an independent hazard, and can also change the infectious assessment.

  8. Layer 7

    Refrigerant

    Dry ice is UN1845 in its own right. Liquid nitrogen carries its own regime. Neither is cargo, both are declarable.

  9. Layer 8

    Customs classification and value

    The HS code follows from the attributes above, then the valuation basis. Both are recorded the same way a classification is.

The free classifier walks layers 0 and 1, which is the head of the problem and the part people get wrong most often. The rest is the product.

Layer 8, in detail

A customs value for material nobody ever sold.

There is no market price database for research material, and there should not be one. Customs law already prescribes the method, which is a far stronger position than a price feed. The WTO Valuation Agreement sets six methods in mandatory sequence. For material that was never sold, methods 1 to 4 genuinely fail, and standard computed value fails too because there is no producer profit to add. What remains is Method 6 applied as a modified computed value: a per-material-type cost build-up from your own accounting, with no profit component, because the goods are not for sale.

No profit component

Where the goods are not for sale. CBP said so directly in HQ H125103, and it is duty-reducing, so it is worth getting right.

Per material type, not a blanket average

CBP rejected an averaged declaration value spread across all of an importer’s R&D materials for being insufficiently specific. The build-up has to be tailored.

Reviewed annually

The cadence CBP blessed in the GSK ruling. A cost-component set carries an effective date and a review-due date, and warns when it goes stale.

Nominal and nil values are barred

Method 6 expressly prohibits arbitrary or fictitious values, which is what declaring a dollar or writing "no commercial value" amounts to.

CBP HQ H125103 (Merck) · CBP HQ H011276 (GSK) · WTO Agreement on Implementation of Article VII of GATT 1994

So the engine does not need a price database and must not build one. It asks which basis applies, helps assemble the build-up from components you already hold, and records the basis with its evidence. A value becomes a decision with a basis and a date, exactly like a classification.

Deployment

It runs where your samples are, not where our servers are.

On your infrastructure

No egress, by construction

  • A self-hosted container in your own network, with no external calls in the determination path.
  • Sample provenance, patient-adjacent history and programme identifiers never leave your perimeter.
  • Rule set updates arrive as signed, dated bundles you install on your own schedule, not as a live feed.
  • The same posture as the rest of the platform, including the local model used for drafting, which runs on your hardware.

Inside your product

For couriers, LIMS and biobank software

  • A published API and a question set delivered as a versioned schema, so you render the elicitation in your own interface.
  • The determination record comes back whole, with basis, rule, cited answers and rule set version, ready to store against your own objects.
  • No PharmaLogiks branding has to appear anywhere in your product.
  • Framed as capacity and auditability. Your in-house expertise is what you sell; this is what lets it reach more shipments without diluting it.
Licensing

Two things, licensed separately, because they are two things.

The software and the rulebook have different lifetimes, and pretending otherwise is how an organisation ends up running a stale rule set it believes is current.

The engine

What it is
Software. Asks the questions, applies the rules, writes the record.
How it is bought
Once. Installed, integrated, and it rarely churns.
Why it renews
It does not need to. That is deliberate.

The rule sets

What it is
The regulatory content. Versioned, dated, maintained.
How it is bought
Annually, per jurisdiction group.
Why it renews
The DGR is reissued every year and sanctions lists move constantly. A stale rulebook gives confident wrong answers, which is worse than none.

There is precedent for the split. Verisk paid $65.2m for SAP’s regulatory content business while SAP carried on selling the software around it. The content is its own product, and it is the half that has to keep being right.

Questions

The ones we get asked.

Because the regulations say it cannot. ADR 2.2.62.1.5 and IATA DGR 3.6.2 assign Category A on professional judgement based on the known medical history and symptoms of the source and the endemic local conditions. Those are facts about a particular patient, animal or site on a particular day. No lookup table holds them, which is why every incumbent quotes the clause and then tells you to ask your biosafety officer.

Try it on a real sample.

The classifier is free and takes about a minute. It shows the clause behind every step and tells you what your answers ruled out, which is the half everybody skips.