ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

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 :

  1. Le clinicien crée une ServiceRequest « CBC, NFS ».
  2. L'infirmier prélève le tube et crée un Specimen qui référence la ServiceRequest.
  3. Le laboratoire reçoit le Specimen (accessionIdentifier) et exécute les Observations.
  4. Le DiagnosticReport agrège les Observations et référence le Specimen via specimen[].

Champs clés

ChampTypeCardinalitéRôle
identifierIdentifier[]0..*Identifiants externes.
accessionIdentifierIdentifier0..1Numéro d'accession du laboratoire — clé unique au sein du SIL.
statuscode0..1available | unavailable | unsatisfactory | entered-in-error.
typeCodeableConcept0..1Type de prélèvement (SNOMED ou table v2-0487).
subjectReference(Patient | Group | Device | Substance | Location)0..1Patient prélevé.
receivedTimedateTime0..1Réception au laboratoire.
parentReference(Specimen)[]0..*Specimen parent (aliquot, fractionnement).
requestReference(ServiceRequest)[]0..*Ordonnance(s) à l'origine du prélèvement.
combinedcode0..1grouped ou pooled.
roleCodeableConcept[]0..*Rôle (P=Patient, C=Control…).
featureBackboneElement[]0..*Caractéristiques particulières (lésion, lentille).
collectionBackboneElement0..1Bloc de collection (qui, quand, où, comment).
collection.collectorReference(Practitioner | PractitionerRole | Patient | RelatedPerson)0..1Qui a prélevé.
collection.collected[x]dateTime | Period0..1Quand prélevé.
collection.quantityQuantity0..1Volume prélevé.
collection.methodCodeableConcept0..1Méthode (ponction, frottis…).
collection.bodySiteBackboneElement0..1Site anatomique de prélèvement.
processingBackboneElement[]0..*Étapes de traitement (centrifugation, fixation…).
containerBackboneElement[]0..*Container physique (tube, flacon).
conditionCodeableConcept[]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 :

json specimen-blood-example.json
{
  "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.
  • type manquant — 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 parent sinon la traçabilité est perdue.
  • Container Specimen ≠ Device — en R5, container.device référence un Device (le tube physique). Ne pas l'inliner.
  • Multiples ServiceRequest sans combined — quand un seul tube sert plusieurs ordonnances, déclarer combined=grouped.

Ressources liées