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étail : catalogue d'observations

Catalogue éditorial des analyses qu'un laboratoire propose : codes LOINC, unités UCUM, intervalles de référence. Toute Observation produite référence son ObservationDefinition.

Rôle dans un catalogue d'analyses

Un laboratoire publie son catalogue d'analyses via N ObservationDefinition. Chaque ServiceRequest (demande d'analyse) référence un ObservationDefinition. Chaque Observation produite hérite implicitement des règles : code LOINC, unité, intervalles de référence.

Champs clés

  • code — code LOINC de l'analyse.
  • permittedDataTypeQuantity | CodeableConcept | string | boolean | integer | Range | Ratio | SampledData | time | dateTime | Period.
  • permittedUnit — unités UCUM autorisées.
  • category — laboratory, vital-signs, imaging, social-history, ...
  • preferredReportName — nom court d'affichage.
  • qualifiedValue — intervalles de réf par contexte (âge, sexe, condition).
  • specimen — SpecimenDefinition requise(s).
  • device — DeviceDefinition utilisée.

qualifiedValue — intervalles par contexte

Là où une referenceRange simple ne distingue pas les contextes (homme vs femme, adulte vs enfant), qualifiedValue introduit un context qui qualifie chaque intervalle :

  • range — intervalle numérique.
  • interpretation — code d'interprétation (N, H, L, A).
  • condition — phase clinique (grossesse trim 1, post-AVC...).
  • appliesTo — population qualifiée (CodeableConcept).
  • gender, age, gestationalAge — discriminants standards.

Exemple : HbA1c sanguine

json observationdefinition-hba1c.json
{
  "resourceType": "ObservationDefinition",
  "id": "od-hba1c",
  "url": "http://example.org/fhir/ObservationDefinition/HbA1c",
  "version": "1.0.0",
  "status": "active",
  "code": {
    "coding": [{
      "system": "http://loinc.org",
      "code": "4548-4",
      "display": "Hemoglobin A1c/Hemoglobin.total in Blood"
    }]
  },
  "permittedDataType": ["Quantity"],
  "preferredReportName": "HbA1c",
  "category": [{
    "coding": [{
      "system": "http://terminology.hl7.org/CodeSystem/observation-category",
      "code": "laboratory"
    }]
  }],
  "permittedUnit": [{
    "system": "http://unitsofmeasure.org",
    "code": "%",
    "display": "percent"
  }, {
    "system": "http://unitsofmeasure.org",
    "code": "mmol/mol"
  }],
  "qualifiedValue": [{
    "context": { "text": "Adulte non diabetique" },
    "range": {
      "low": { "value": 4.0, "unit": "%" },
      "high": { "value": 5.6, "unit": "%" }
    },
    "interpretation": [{
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
        "code": "N",
        "display": "Normal"
      }]
    }]
  }, {
    "context": { "text": "Adulte diabetique - cible" },
    "range": {
      "high": { "value": 7.0, "unit": "%" }
    },
    "interpretation": [{
      "coding": [{
        "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation",
        "code": "H",
        "display": "High"
      }]
    }]
  }]
}

Pièges courants

  • Unité non UCUM — éviter mg/dL en string libre ; utiliser mg/dL avec system=http://unitsofmeasure.org.
  • qualifiedValue sans context — rend impossible la discrimination automatique des intervalles.
  • permittedDataType absent — l'Observation peut être validée avec n'importe quel value[x], source d'erreurs silencieuses.

Ressources liées