Specimen — Prélèvement biologique
Sang, urine, biopsie, swab COVID, plasma congelé : Specimen modélise tout prélèvement biologique, depuis la collection jusqu'au laboratoire, en passant par la conservation et le container.
Objet de la ressource
Specimen est le pivot du flux laboratoire : il est référencé par ServiceRequest (l'ordonnance), porte les informations de collection, de container et de conservation, puis sera référencé par Observation et DiagnosticReport (les résultats).
Le chaînage typique d'un workflow lab :
- Le clinicien crée une ServiceRequest « CBC, NFS ».
- L'infirmier prélève le tube et crée un Specimen qui référence la ServiceRequest.
- Le laboratoire reçoit le Specimen (accessionIdentifier) et exécute les Observations.
- Le DiagnosticReport agrège les Observations et référence le Specimen via
specimen[].
Champs clés
| Champ | Type | Cardinalité | Rôle |
|---|---|---|---|
identifier | Identifier[] | 0..* | Identifiants externes. |
accessionIdentifier | Identifier | 0..1 | Numéro d'accession du laboratoire — clé unique au sein du SIL. |
status | code | 0..1 | available | unavailable | unsatisfactory | entered-in-error. |
type | CodeableConcept | 0..1 | Type de prélèvement (SNOMED ou table v2-0487). |
subject | Reference(Patient | Group | Device | Substance | Location) | 0..1 | Patient prélevé. |
receivedTime | dateTime | 0..1 | Réception au laboratoire. |
parent | Reference(Specimen)[] | 0..* | Specimen parent (aliquot, fractionnement). |
request | Reference(ServiceRequest)[] | 0..* | Ordonnance(s) à l'origine du prélèvement. |
combined | code | 0..1 | grouped ou pooled. |
role | CodeableConcept[] | 0..* | Rôle (P=Patient, C=Control…). |
feature | BackboneElement[] | 0..* | Caractéristiques particulières (lésion, lentille). |
collection | BackboneElement | 0..1 | Bloc de collection (qui, quand, où, comment). |
collection.collector | Reference(Practitioner | PractitionerRole | Patient | RelatedPerson) | 0..1 | Qui a prélevé. |
collection.collected[x] | dateTime | Period | 0..1 | Quand prélevé. |
collection.quantity | Quantity | 0..1 | Volume prélevé. |
collection.method | CodeableConcept | 0..1 | Méthode (ponction, frottis…). |
collection.bodySite | BackboneElement | 0..1 | Site anatomique de prélèvement. |
processing | BackboneElement[] | 0..* | Étapes de traitement (centrifugation, fixation…). |
container | BackboneElement[] | 0..* | Container physique (tube, flacon). |
condition | CodeableConcept[] | 0..* | État du Specimen à la réception. |
Exemple JSON
Prélèvement de sérum (tube SST 6 mL) sur Peter Chalmers, pour une biochimie :
{
"resourceType": "Specimen",
"id": "blood-example",
"identifier": [{
"system": "http://lab.example.org/specimens",
"value": "23234352356"
}],
"accessionIdentifier": {
"system": "http://lab.example.org/accession",
"value": "X352356"
},
"status": "available",
"type": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0487",
"code": "SER",
"display": "Serum"
}]
},
"subject": { "reference": "Patient/example" },
"receivedTime": "2026-05-14T08:30:00+02:00",
"request": [{ "reference": "ServiceRequest/example" }],
"collection": {
"collector": { "reference": "Practitioner/example" },
"collectedDateTime": "2026-05-14T07:55:00+02:00",
"quantity": { "value": 6, "unit": "mL", "system": "http://unitsofmeasure.org", "code": "mL" },
"method": {
"coding": [{
"system": "http://terminology.hl7.org/CodeSystem/v2-0488",
"code": "LNV",
"display": "Line, Venous"
}]
},
"bodySite": {
"concept": {
"coding": [{
"system": "http://snomed.info/sct",
"code": "49852007",
"display": "Structure of median cubital vein (body structure)"
}]
}
}
},
"container": [{
"device": { "reference": "Device/lab-tube-sst" },
"specimenQuantity": { "value": 5, "unit": "mL", "system": "http://unitsofmeasure.org", "code": "mL" }
}]
} Pièges courants
- Pas d'
accessionIdentifier— le SIL refuse les Specimens non-accessionnés. typemanquant — sans le code de type (SER, BLD…), le laboratoire ne peut pas router le tube vers l'analyseur.- Fractionnement non chaîné — un aliquot DOIT référencer son parent via
parentsinon la traçabilité est perdue. - Container Specimen ≠ Device — en R5,
container.deviceréférence un Device (le tube physique). Ne pas l'inliner. - Multiples ServiceRequest sans
combined— quand un seul tube sert plusieurs ordonnances, déclarercombined=grouped.
Ressources liées
- ServiceRequest — ordonnance source.
- Observation — résultats produits.
- DiagnosticReport — rapport final.
- SpecimenDefinition — définition du type de prélèvement attendu.
- Device — container physique.