ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

SpecimenDefinition — Specimen requirement specification

The "instruction manual" for a biological specimen. A SpecimenDefinition describes, for a given test or protocol, the sample type required, the tube, the minimal volume, the patient preparation, and the storage constraints.

Purpose of the resource

A laboratory test can only run if the specimen reaches the lab under proper conditions. SpecimenDefinition codifies these conditions at the catalogue level: nature of the sample (serum, plasma, urine, biopsy…), expected container (dry, heparin, EDTA…), minimal volume, patient preparation (fasting, after physical effort, minutes after drug intake…), storage (temperature, duration), rejection criteria (haemolysis, icterus, lipemia).

Where Specimen describes the sample actually received by the lab, SpecimenDefinition describes the sample required by a lab service or a study protocol. Structured pre-analytics is the #1 quality lever in clinical chemistry.

Key fields

FieldTypeCardinalityRole
urluri0..1Canonical URL for referencing.
identifierIdentifier0..1Business identifier (catalogue number).
versionstring0..1Definition version (semantic versioning).
statuscode1..1draft, active, retired, unknown.
experimentalboolean0..1Marks the definition as experimental (not for production use).
subject[x]CodeableConcept | Reference0..1Target population (species, age group).
typeCollectedCodeableConcept0..1Specimen type collected (SNOMED CT or HL7 table 0487).
patientPreparationCodeableConcept[]0..*Patient preparation (fasting, rest, abstinence…).
timeAspectstring0..1Narrative temporal aspect (morning, post-prandial, T+30 min…).
collectionCodeableConcept[]0..*Collection procedure (venipuncture, capillary, biopsy…).
typeTestedBackboneElement[]0..*Sample(s) tested (may differ from collected: derivation, aliquoting).
typeTested.preferencecode1..1preferred or alternate.
typeTested.containerBackboneElement0..1Container description (material, type, capacity, cap, additive).
typeTested.requirementmarkdown0..1Free-text requirements (inversions, agitation…).
typeTested.retentionTimeDuration0..1Storage time after reception.
typeTested.rejectionCriterionCodeableConcept[]0..*Rejection criteria (haemolysis, clotting, contamination…).
typeTested.handlingBackboneElement[]0..*Storage conditions (temperature, max duration, instruction).
typeTested.testingDestinationCodeableConcept[]0..*Testing destination (chemistry workbench, bacteriology bench…).

JSON example

Reference laboratory catalogue entry: 5 mL gold-cap SST tube for serum, fasting 8 hours, storage 2-8 °C for 7 days, rejection if haemolysis.

json specimendefinition-example.json
{
  "resourceType": "SpecimenDefinition",
  "id": "2364",
  "url": "https://example.lab.org/SpecimenDefinition/serum-tube-gold",
  "version": "1.0",
  "name": "SerumTubeGold",
  "title": "Serum separator tube — gold cap",
  "status": "active",
  "experimental": false,
  "date": "2026-05-16",
  "publisher": "Acme Reference Lab",
  "typeCollected": {
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/v2-0487",
      "code": "SER",
      "display": "Serum"
    }]
  },
  "patientPreparation": [{
    "coding": [{
      "system": "http://snomed.info/sct",
      "code": "243753002",
      "display": "Fasting (8 hours)"
    }]
  }],
  "timeAspect": "Preferred sample collection time is morning, after at least 8 hours fasting.",
  "collection": [{
    "coding": [{
      "system": "http://snomed.info/sct",
      "code": "28520004",
      "display": "Venous blood specimen collection"
    }]
  }],
  "typeTested": [{
    "isDerived": false,
    "preference": "preferred",
    "container": {
      "material": {
        "coding": [{
          "system": "http://terminology.hl7.org/CodeSystem/container-material",
          "code": "plastic"
        }]
      },
      "type": {
        "coding": [{
          "system": "http://terminology.hl7.org/CodeSystem/v2-0916",
          "code": "SSTII",
          "display": "Serum separator tube II — gold cap"
        }]
      },
      "cap": {
        "coding": [{
          "system": "http://terminology.hl7.org/CodeSystem/container-cap",
          "code": "gold"
        }]
      },
      "minimumVolumeQuantity": { "value": 5, "unit": "mL", "system": "http://unitsofmeasure.org", "code": "mL" }
    },
    "requirement": "Invert 5 times after collection.",
    "retentionTime": { "value": 7, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" },
    "rejectionCriterion": [{
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/rejection-criteria",
        "code": "hemolized",
        "display": "Hemolized specimen"
      }]
    }],
    "handling": [{
      "temperatureRange": {
        "low":  { "value": 2,  "unit": "Cel", "system": "http://unitsofmeasure.org", "code": "Cel" },
        "high": { "value": 8, "unit": "Cel", "system": "http://unitsofmeasure.org", "code": "Cel" }
      },
      "maxDuration": { "value": 7, "unit": "days", "system": "http://unitsofmeasure.org", "code": "d" },
      "instruction": "Store between 2 and 8 °C; cold-chain transport required."
    }]
  }]
}

Typical use cases

  • Laboratory catalogue: reference each analyte with its SpecimenDefinition to automate labelling and routing.
  • ActivityDefinition / PlanDefinition: multi-action protocol that embeds the SpecimenDefinitions to follow.
  • ServiceRequest: the lab order references a SpecimenDefinition through specimenRequirement.
  • Clinical studies: trial protocol that mandates a specific tube and preparation.
  • Automated pre-analytics: labelling and sorting robots read the SpecimenDefinition to generate barcodes and route tubes.

Common pitfalls

  • Confusion between Specimen and SpecimenDefinition: Specimen is a real dated instance, SpecimenDefinition is a catalogue template. Do not generate a SpecimenDefinition for every collection.
  • Minimal volume without unit: minimumVolumeQuantity must always carry a UCUM unit (mL, uL). Omitting the unit makes the value uninterpretable.
  • Inconsistent cap and tube: the cap coding (gold, lavender…) must match the tube type (SST, EDTA, citrate). Inconsistency = analyte mismatch risk.
  • Multiple typeTested entries with preference="preferred": ambiguous; only one preferred sample per definition (others go to alternate).
  • Rejection criterion without terminology: use SNOMED CT or a uniform lab CodeSystem, not free text.
  • Versioning forgotten: changing the required volume without bumping version creates ambiguity between historical ServiceRequest and the current catalogue.
  • Specimen — real instance of a sample received in the lab.
  • ServiceRequest — lab order that references a SpecimenDefinition.
  • ActivityDefinition — reusable activity definition (a lab test step).
  • PlanDefinition — multi-step protocol (panel, profile, clinical study).
  • ObservationDefinition — definition of the expected observations, the logical twin of the specimen.

See also: Specimen — the collected instance and ServiceRequest — the lab order.