Skip to content

Subjects, Samples, Orders

These three are the clinical entities that hold all your real data. Everything else in iFlow — analyses, variants, reports — hangs off one of them.

The three entities

Subject — the patient. Identified by a display_id ("Subject ID") that is unique within the project. Carries patient-level information: demographics, phenotype, family history, anything that doesn't change from sample to sample.

Sample — one physical specimen taken from a subject. Identified by its own display_id ("Sample ID"). A subject typically has one sample, but can have many (e.g., tumor + normal pair, longitudinal draws, re-sequencing). Carries sample-level information: collection date, tumor purity, library prep, tissue source.

Order — a clinical request for work to be done. Tracks the lifecycle from "we received this sample, what do you want analysed?" through "here is the signed report". Identified by display_id ("Order ID"). One order references one or more samples and produces one signed report.

How they relate

Subject (the person, e.g., "NA12878-DX")
  ├── Sample 1 (e.g., "NA12878-DX-01"  — tumor)
  │     ├── Analysis 1.1 (secondary: alignment + variant calling)
  │     └── Analysis 1.2 (tertiary: somatic reporter)
  └── Sample 2 (e.g., "NA12878-DX-02"  — paired normal)
        └── Analysis 2.1 (secondary)

Order ORD-2026-0142
  ├── references Sample 1 and Sample 2
  ├── runs through Creation → Analysis → Review → Sign Off → Completion
  └── produces a signed Report PDF

What "scoped to a project" means

Every entity above lives inside exactly one project. The same display_id (NA12878-DX-01) can exist in two different projects without conflict — they are different rows. Moving a sample between projects is not supported through the UI; instead, the recommended path is to upload the data once into the right project from the start.

See also