Biotechnology

The CRO delivered your assay data. Your scientists still cannot use it.

The files arrive on time. Then a scientist spends the afternoon matching sample IDs, and revision 2 changes a value the team already used. Fix the path to accepted data.

On this page
  1. The correction that arrives after the decision
  2. Start with one partner, one assay and one destination
  3. Keep scientific meaning beside every value
  4. Let a reviewer reconstruct any accepted value
  5. Treat a correction as a new review decision
  6. Test the deliveries that break importers
  7. Check what you own, then build only the gap
  8. Scope one handoff you can accept and operate
  9. Questions we hear

The short version

  • A received file and an accepted result are different stages. Design the workflow around the second.
  • Keep identifiers, units, qualifiers and the delivery version with every value, so a reviewer can trace it without searching email.
  • Treat a corrected delivery as a new review decision, never a silent overwrite.
  • Check what your platforms already cover, then build only the handoff that remains.

The correction that arrives after the decision

On Tuesday the CRO delivers DR-014: plasma concentrations for forty samples. By Thursday a scientist has matched sample IDs by hand, fixed two unit labels and loaded the results. On Friday revision 2 arrives. SMP-201 is now 11.8 ng/mL, not 12.4, and Thursday’s project review already used the old value.

Nobody made a mistake. The workflow simply had no place for a correction. The file arrived on time; a result the team could rely on did not.

A received file and an accepted result are different stages of the same work.

DR-014 and the other identifiers in this guide are illustrative, not client data.

Start with one partner, one assay and one destination

Pick the delivery that hurts most and follow one result from the CRO’s file to the record your scientists trust. Note who resolves each question and what the destination needs. Then ask the reviewer to show an accepted record beside its original row. That comparison exposes what column headings hide: repeat measurements, result qualifiers and the difference between a missing result and a sample that was never tested.

Manual intake compared with an owned handoff
Manual intake
  • Spreadsheet arrives by email
  • Sample IDs matched by hand
  • BLQ typed as zero or left blank
  • Revision 2 overwrites revision 1
  • Nobody can say which value a decision used
Owned handoff
  • Delivery recorded with a content fingerprint
  • IDs matched through approved mappings
  • Qualifiers and limits kept with each value
  • Revisions reopen review and keep history
  • Every accepted value traces to its source row

Keep scientific meaning beside every value

In DR-014, SMP-202 is reported as BLQ: below the quantification limit. Converting BLQ to zero would introduce a measurement the CRO never reported. The record keeps the qualifier, the limit and the method context.

Agree a result key that separates sample, analyte, assay, timepoint and repeat. Keep the partner’s identifiers beside the approved internal match. File names and row order stop identifying anything once a partner re-sorts a spreadsheet.

Distinguish numeric values, qualified results, missing data and rejected measurements. Keep original units beside any approved conversion. A scientist decides when units and methods are comparable; the importer applies that rule and stops for review when context is missing.

Agree a delivery manifest with the partner as well. It tells a missing sample apart from an omitted repeat, which a row count never will.

Move a delivery through explicit decisions
  1. Receive

    Keep the file and delivery identity.

  2. Map

    Match samples and preserve result meaning.

  3. Review

    Resolve exceptions against the source.

  4. Publish

    Confirm accepted records in the destination.

Let a reviewer reconstruct any accepted value

Keep the original file, a content fingerprint, the receipt time and the delivery version. Record the parser and mapping versions and the reviewer’s decision. Show the source cell beside the proposed destination value, so tracing a result never means searching an inbox.

These are the properties regulators expect of trustworthy records. FDA’s data integrity guidance describes data that is attributable, legible, contemporaneously recorded, original or a true copy, and accurate: ALCOA. That guidance covers drug manufacturing, and discovery data may sit outside it, but the same properties make a CRO result reviewable. If results feed regulated studies, your quality team sets the requirements.

W3C PROV-O supplies useful vocabulary: the file is an entity, the transformation an activity, the person or service an agent. Ordinary database records can capture that distinction without an ontology project.

Decide whether one blocked row holds the whole delivery or whether reviewed records can proceed. If partial acceptance is allowed, show accepted and unresolved records separately, with a reconciliation view of expected samples, received results and destination records.

Treat a correction as a new review decision

When revision 2 arrives, keep both deliveries and the partner’s stated reason. Match the revised result to the accepted record and show exactly which value or context changed. Never overwrite source history.

Follow a correction beyond the file
  1. Compare

    Identify changed results and context.

  2. Reopen

    Send affected decisions for review.

  3. Supersede

    Publish the approved replacement with history.

  4. Notify

    Identify downstream uses of the earlier version.

Approval belongs to a result version. Agree which changes need fresh review: identifiers, units, qualifiers and method references. If revision 1 turns up late, it must not replace revision 2. Anyone whose analysis used 12.4 ng/mL gets a visible correction notice, and Friday’s problem becomes a routine notification.

Test the deliveries that break importers

Use historical deliveries plus a few unseen ones in a test environment. A pilot should pass checks like these before anyone measures time saved:

  • Replay DR-014 under a new filename. The duplicate is recognized and creates no second result.
  • Remove a unit, add an unknown sample and an ambiguous ID match. Each affected record waits for resolution.
  • Send BLQ without its method context. The qualifier survives and interpretation is blocked.
  • Interrupt publication after the destination may have received a write. The workflow reconciles actual state before retrying.
  • Deliver revision 1 after revision 2. Arrival order cannot restore the superseded value.
  • Sign in as a reviewer from another project. Source files, exceptions and results stay hidden.

Then change the template without changing the filename: reorder columns, drop the qualifier field, use an unfamiliar unit label. A parser can finish without errors and still put a plausible value in the wrong field, so inspect the accepted records, not the job status.

For the destination, Benchling documents its supported APIs and access controls. Confirm the objects, permissions and update behavior in your own tenant; safe retries and revision handling differ between systems.

Check what you own, then build only the gap

Platform vendors already cover parts of this. TetraScience describes CRO data onboarding with mapping and quality checks. If your licenses cover your partners and assay formats, configure them first. That is the cheapest fix.

The gap, when there is one, is the workflow around the tools: your identifier rules, a review queue scientists will actually use, correction handling, reconciliation and an operator who can recover a failed import. That is the part we build and hand over.

Scope one handoff you can accept and operate

CRO intake scoping checklist
  • Name one partner, assay family, destination and scientific reviewer.
  • Check native onboarding and supported integration options first.
  • Agree identifiers, units, qualifiers and repeat-result rules.
  • Preserve source files, mappings and review versions.
  • Define corrections, partial acceptance and publication recovery.
  • Test duplicates, unknown samples and restricted access.
  • Measure accepted work and name the operating owner.
Download this checklist (PDF)

Request a call from this article and describe your last difficult delivery in a few lines. The first conversation needs no data; confidential files can wait for an NDA or your approved access process. See how we work with biotech teams. If the recurring problem is a request between internal systems, read the ELN and LIMS integration guide.

Questions we hear

Should every CRO report use AI extraction?

No. Use deterministic parsing for stable, structured formats. Consider AI for messy reports, with every extracted value linked to its source and reviewed. A model must never invent identifiers or scientific context.

Can we accept part of a delivery?

Only if the scientific owner agrees that those records stand on their own. Track accepted and unresolved records explicitly, including any review that needs the complete dataset.

Is this GxP software?

The intended use decides, and your quality team owns that call. Early discovery work is usually outside GxP regulations. If results support regulated studies, we work to the requirements your quality function sets and provide the test evidence, change history and documentation they ask for. We do not certify compliance.

Sources

  1. Data Integrity and Compliance With Drug CGMP: Questions and AnswersU.S. Food and Drug Administration, December 2018
  2. PROV-O: The PROV OntologyW3C
  3. Developer Platform overviewBenchling Documentation
  4. What if your CRO data was ready to use the moment it arrived?TetraScience
Written by the SeriusTech engineering team

We build data integrations, research apps, pipeline operations and evidence-linked AI for biotech R&D teams. Implementation notes describe work our engineers contributed to; researched guides cite sources and distinguish recommendations and illustrative examples from observed results. Products and clients stay unnamed.

Biotech softwareFollow for new field notes
Free 30-minute discovery call

Want this solved in your business?

  1. Send a short request. We reply within 1 business day with times that suit your time zone.
  2. Talk it through for 30 minutes, free and with no obligation.
  3. Leave with a suggested first step, such as a fixed-price discovery sprint.
Free, 30 minutes, no obligation

Request your discovery call

Choose a time that works for you, or send us a short email request.

Book a time

Prefer email? Tell us about your project below. We reply within 1 business day.

Open email draft

This opens your email app with a draft to contact@seriustech.com. Nothing is sent until you send it.