SpecimenDefinition — Spécification d'un prélèvement
Le « mode d'emploi » d'un prélèvement biologique. Une SpecimenDefinition décrit, pour un test ou un protocole donné, le type d'échantillon requis, le tube, le volume minimal, la préparation patient et les contraintes de conservation.
Objet de la ressource
Un test de laboratoire ne peut être exécuté que si le prélèvement arrive dans les bonnes conditions. SpecimenDefinition codifie ces conditions au niveau du catalogue : nature de l'échantillon (sérum, plasma, urine, biopsie…), conteneur attendu (tube sec, hépariné, EDTA…), volume minimal, préparation patient (à jeun, après effort, minutes après prise médicamenteuse…), conservation (température, durée), critères de rejet (hémolyse, ictère, lipémie).
Là où Specimen décrit le prélèvement réellement reçu par le laboratoire,
SpecimenDefinition décrit le prélèvement requis par un acte de
laboratoire ou un protocole d'étude. Le pré-analytique structuré est l'enjeu n°1 de la
qualité en biologie médicale.
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
url | uri | 0..1 | URL canonique de référencement. |
identifier | Identifier | 0..1 | Identifiant métier (numéro catalogue). |
version | string | 0..1 | Version de la définition (sémantique de versioning). |
status | code | 1..1 | draft, active, retired, unknown. |
experimental | boolean | 0..1 | Indique si la définition est expérimentale (non destinée à la prod). |
subject[x] | CodeableConcept | Reference | 0..1 | Population cible (espèce, groupe d'âge). |
typeCollected | CodeableConcept | 0..1 | Type d'échantillon prélevé (SNOMED CT ou table HL7 0487). |
patientPreparation | CodeableConcept[] | 0..* | Préparation du patient (à jeun, repos, abstinence…). |
timeAspect | string | 0..1 | Aspect temporel narratif (matin, post-prandial, T+30 min…). |
collection | CodeableConcept[] | 0..* | Procédure de collecte (ponction veineuse, capillaire, biopsie…). |
typeTested | BackboneElement[] | 0..* | Échantillon(s) testé(s) (peut différer du prélevé : dérivation, aliquoting). |
typeTested.preference | code | 1..1 | preferred ou alternate. |
typeTested.container | BackboneElement | 0..1 | Description du conteneur (matériau, type, capacité, capuchon, additif). |
typeTested.requirement | markdown | 0..1 | Exigences libres complémentaires (inversions, agitation…). |
typeTested.retentionTime | Duration | 0..1 | Durée de conservation après réception. |
typeTested.rejectionCriterion | CodeableConcept[] | 0..* | Critères de rejet (hémolyse, coagulation, contamination…). |
typeTested.handling | BackboneElement[] | 0..* | Conditions de conservation (température, durée max, instruction). |
typeTested.testingDestination | CodeableConcept[] | 0..* | Destination de test (plateau biochimie, plateau bactériologie…). |
Exemple JSON
Catalogue d'un laboratoire de référence : tube SST gold de 5 mL pour sérum, à jeun 8 heures, conservation 2-8 °C pendant 7 jours, rejet si hémolyse.
{
"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": "Inverter 5 fois après prélèvement.",
"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": "Conserver entre 2 et 8 °C, transport en triphasé."
}]
}]
} Usages typiques
- Catalogue laboratoire : référencer chaque analyte avec sa SpecimenDefinition pour automatiser l'étiquetage et le routage.
- ActivityDefinition / PlanDefinition : protocole multi-actes qui embarque les SpecimenDefinitions à respecter.
- ServiceRequest : l'ordre de laboratoire référence une SpecimenDefinition via
specimenRequirement. - Études cliniques : protocole d'essai qui impose un tube et une préparation spécifiques.
- Pré-analytique automatisé : les automates de tri d'étiquetage lisent la SpecimenDefinition pour générer les codes-barres et router les tubes.
Pièges courants
- Confusion
Specimen/SpecimenDefinition: Specimen est une instance réelle datée, SpecimenDefinition est un modèle catalogué. Ne pas générer une SpecimenDefinition à chaque prélèvement. - Volume minimal sans unité :
minimumVolumeQuantitydoit toujours porter unité UCUM (mL,uL). Omettre l'unité rend la valeur ininterprétable. - Cap et tube incohérents : la coding du cap (
gold,lavender…) doit matcher le type de tube (SST, EDTA, citrate). Inconsistance = risque de mismatch d'analyte. - Plusieurs
typeTestedavecpreference="preferred": ambigu, un seul échantillon préféré par définition (les autres enalternate). - Rejection criterion sans terminologie : utiliser SNOMED CT ou un CodeSystem laboratoire homogène, pas du texte libre.
- Versioning oublié : une modification du volume requis sans
versionbump crée une ambiguïté entre les ServiceRequest passés et le catalogue courant.
Ressources liées
- Specimen — instance réelle d'un prélèvement reçu au laboratoire.
- ServiceRequest — demande de laboratoire qui référence une SpecimenDefinition.
- ActivityDefinition — définition d'activité réutilisable (un acte de labo).
- PlanDefinition — protocole multi-actes (panel, profil, étude clinique).
- ObservationDefinition — définition des observations attendues, pendant logique du prélèvement.
Voir aussi : Specimen — l'instance prélevée et ServiceRequest — la demande de laboratoire.