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.

ObservationDefinition — Définition catalogue d'une observation

Le pendant logique de SpecimenDefinition côté analyte. Décrit le catalogue d'une mesure de laboratoire ou clinique : code LOINC, unité de résultat, intervalles de référence, méthode d'analyse, plateforme analytique requise.

Objet de la ressource

Pour qu'un test de laboratoire soit reproductible, son catalogue doit porter l'ensemble des règles métier : code LOINC (ou local), unité de résultat (UCUM), intervalles de référence (qui dépendent de l'âge, du sexe, du contexte clinique), méthode analytique (Hexokinase pour la glycémie, GOD-PAP, ELISA, LC-MS…), plateforme analytique. ObservationDefinition est le porteur FHIR de cette spécification.

Là où Observation est une mesure réelle datée sur un patient, ObservationDefinition est le catalogue catalogue. ServiceRequest référence ObservationDefinition pour commander un test, et Observation cite ObservationDefinition pour signaler quelle définition a été appliquée.

Champs clés

ChampTypeCardinalitéRôle
urluri0..1URL canonique.
identifierIdentifier[]0..*Identifiant métier (numéro catalogue).
versionstring0..1Version sémantique.
statuscode1..1draft, active, retired, unknown.
permittedDataTypecode[]0..*Types permis (Quantity, CodeableConcept, string, boolean, integer, Range, Ratio, SampledData, Period, dateTime).
codeCodeableConcept1..1Code LOINC ou local.
categoryCodeableConcept[]0..*Catégorie (laboratory, vital-signs, imaging…).
preferredReportNamestring0..1Nom préféré dans le compte-rendu.
specimenReference(SpecimenDefinition)[]0..*Prélèvement requis.
deviceReference(DeviceDefinition)[]0..*Plateforme analytique.
methodCodeableConcept0..1Méthode d'analyse.
quantitativeDetailsBackboneElement0..1Détails quantitatifs (unité, précision décimale).
qualifiedValueBackboneElement[]0..*Intervalles de référence et seuils.
componentBackboneElement[]0..*Sous-composants (pour les profils, NFS, ionogramme).

Exemple JSON

Glycémie à jeun, LOINC 1558-6, méthode Hexokinase, intervalle normal adulte 70-99 mg/dL, seuil diabète ≥ 126 mg/dL :

json observationdefinition-example.json
{
  "resourceType": "ObservationDefinition",
  "id": "glucose-fasting",
  "url": "https://example.lab.org/ObservationDefinition/glucose-fasting",
  "identifier": [{ "system": "http://lab.example.org/catalog", "value": "GLU-F-001" }],
  "version": "2.0",
  "title": "Plasma fasting glucose",
  "status": "active",
  "experimental": false,
  "publisher": "Acme Reference Lab",
  "permittedDataType": ["Quantity"],
  "code": {
    "coding": [{
      "system": "http://loinc.org",
      "code": "1558-6",
      "display": "Fasting glucose [Mass/volume] in Serum or Plasma"
    }]
  },
  "category": [{
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/observation-category",
      "code": "laboratory"
    }]
  }],
  "preferredReportName": "Glycémie à jeun",
  "specimen": [{ "reference": "SpecimenDefinition/serum-tube-gold" }],
  "device": [{ "reference": "DeviceDefinition/chemistry-analyzer-x" }],
  "method": {
    "coding": [{
      "system": "http://snomed.info/sct",
      "code": "359789004",
      "display": "Hexokinase method"
    }]
  },
  "quantitativeDetails": {
    "unit": {
      "coding": [{
        "system": "http://unitsofmeasure.org",
        "code": "mg/dL"
      }]
    },
    "decimalPrecision": 0
  },
  "qualifiedValue": [{
    "context": {
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/referencerange-meaning",
        "code": "normal"
      }]
    },
    "appliesTo": [{
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/age-range",
        "code": "adult"
      }]
    }],
    "range": {
      "low":  { "value": 70, "unit": "mg/dL" },
      "high": { "value": 99, "unit": "mg/dL" }
    },
    "condition": "Adult, fasting"
  }, {
    "context": {
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/referencerange-meaning",
        "code": "high"
      }]
    },
    "range": {
      "low":  { "value": 126, "unit": "mg/dL" }
    },
    "condition": "Adult, fasting — diabetes diagnostic threshold"
  }]
}

Usages typiques

  • LOINC ordering catalog : catalogue de prescription électronique de laboratoire.
  • Pré-analytique structuré : lié à SpecimenDefinition pour décrire le tube + l'analyte.
  • Interpretation automatique : l'EHR applique automatiquement le statut H/L/N à partir des intervalles.
  • Études cliniques : protocole qui exige une méthode spécifique (Hexokinase vs GOD-PAP donnent des résultats différents).
  • Réconciliation multi-labos : aligner les unités et méthodes entre laboratoires d'un même réseau.

Pièges courants

  • Unité absente ou non UCUM : « mg% » n'est pas UCUM. Toujours utiliser mg/dL ou mmol/L.
  • Range sans contexte : l'intervalle adulte ne s'applique pas aux enfants. Toujours qualifier appliesTo.
  • Méthode oubliée : pour les analytes à fortes variabilités inter-méthodes (TSH, troponine), method est critique.
  • Confusion ObservationDefinition / Observation : ObservationDefinition est un modèle réutilisable, Observation est une mesure datée.
  • Decimal precision absente : une glycémie en mg/dL n'a pas de sens à 4 décimales. Préciser decimalPrecision.

Ressources liées

  • Observation — mesure réelle.
  • SpecimenDefinition — prélèvement requis.
  • ServiceRequest — demande d'examen.
  • ActivityDefinition, PlanDefinition — protocole multi-tests.
  • DiagnosticReport — compte-rendu rassemblant les Observations.

Voir aussi : Observation — la mesure réelle et SpecimenDefinition — le prélèvement requis.