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.

Composition — Document clinique FHIR

L'équivalent FHIR du document clinique CDA : lettre de sortie, IPS (International Patient Summary), compte-rendu opératoire, ordonnance électronique. Composition est la racine logique de tout document FHIR.

Objet de la ressource

Composition représente des informations relatives aux soins, assemblées en un paquet logique unique avec attestation clinique. C'est l'équivalent FHIR du « document » au sens HL7 CDA : un ensemble cohérent et signé de données publié à un instant T, opposable juridiquement.

Une Composition doit toujours être enveloppée dans un Bundle de type document pour l'échange : c'est le Bundle qui contient physiquement la Composition (toujours en première position) plus toutes les ressources référencées par la Composition (Patient, AllergyIntolerance, Condition…). Cette enveloppe garantit l'atomicité documentaire : tout ce que cite la Composition est dans le même Bundle.

L'IG International Patient Summary (IPS) publié par HL7 et CEN/TC 251 utilise Composition comme racine. Idem pour les profils nationaux français (CR-Hospi de l'ANS), américains (US Core Discharge Summary), allemand (MIO), britannique (NHS Care Connect).

Champs clés

ChampTypeCardinalitéRôle
urluri0..1URL canonique de la Composition (rare en pratique).
identifierIdentifier[]0..*Identifiants externes du document (numéro de CR, UUID…).
versionstring0..1Version du document.
statuscode1..1Obligatoire. État du document. Modifier.
typeCodeableConcept1..1Obligatoire. Type de document (code LOINC).
categoryCodeableConcept[]0..*Catégories du document.
subjectReference(any)[]0..*Sujet(s) du document — typiquement le Patient.
encounterReference(Encounter)0..1Encounter dans lequel le document a été produit.
datedateTime1..1Obligatoire. Datetime de publication.
useContextUsageContext[]0..*Contexte d'usage (population cible, paramètres).
authorReference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)[]1..*Obligatoire. Auteur(s) du document.
titlestring1..1Obligatoire. Titre lisible utilisateur.
attesterBackboneElement[]0..*Attestation(s) clinique(s) — qui valide juridiquement le document.
custodianReference(Organization)0..1Organisation responsable de la conservation du document.
relatesToBackboneElement[]0..*Liens vers d'autres documents (remplacement, complément, appendice).
eventBackboneElement[]0..*Événement(s) documentés.
sectionBackboneElement[]0..*Sections du document (allergies, médication, problèmes…), récursives via section.section.

Statuts du document

Le code status est obligatoire et porte le cycle de vie documentaire (binding Required) :

CodeSens
registeredEnregistré mais non encore validé.
partialPartiellement complet.
preliminaryPréliminaire — révision possible.
finalDéfinitif — validé, opposable.
amendedAmendé après validation.
correctedCorrigé (erreur antérieure).
appendedComplété par ajout.
cancelledAnnulé.
entered-in-errorSaisie erronée.
deprecatedObsolète (remplacé).
unknownStatut inconnu.

Exemple JSON

Composition de type IPS (Patient Summary, LOINC 60591-5) pour Peter Chalmers, avec trois sections : allergies, médication active, problèmes actifs. Document final attesté juridiquement par l'auteur.

json composition-example.json
{
  "resourceType": "Composition",
  "id": "example",
  "identifier": [{
    "system": "urn:ietf:rfc:3986",
    "value": "urn:uuid:1a2b3c4d-5e6f-7890-abcd-ef1234567890"
  }],
  "status": "final",
  "type": {
    "coding": [{
      "system": "http://loinc.org",
      "code": "60591-5",
      "display": "Patient summary Document"
    }]
  },
  "category": [{
    "coding": [{
      "system": "http://loinc.org",
      "code": "11369-6",
      "display": "History of Immunization Narrative"
    }]
  }],
  "subject": [{ "reference": "Patient/example", "display": "Peter Chalmers" }],
  "encounter": { "reference": "Encounter/example" },
  "date": "2026-05-14T15:30:00+02:00",
  "author": [
    { "reference": "Practitioner/example", "display": "Dr Adam Careful" }
  ],
  "title": "International Patient Summary — Peter Chalmers",
  "attester": [{
    "mode": {
      "coding": [{
        "system": "http://hl7.org/fhir/composition-attestation-mode",
        "code": "legal",
        "display": "Legal"
      }]
    },
    "time": "2026-05-14T15:30:00+02:00",
    "party": { "reference": "Practitioner/example" }
  }],
  "custodian": { "reference": "Organization/hosp01" },
  "section": [{
    "title": "Allergies et intolérances",
    "code": {
      "coding": [{
        "system": "http://loinc.org",
        "code": "48765-2",
        "display": "Allergies and adverse reactions Document"
      }]
    },
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>Pénicilline — réaction cutanée modérée, 2019.</p></div>"
    },
    "entry": [{ "reference": "AllergyIntolerance/example" }]
  }, {
    "title": "Médication actuelle",
    "code": {
      "coding": [{
        "system": "http://loinc.org",
        "code": "10160-0",
        "display": "History of Medication use Narrative"
      }]
    },
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>Metformine 1000 mg, 2 prises par jour.</p></div>"
    },
    "entry": [{ "reference": "MedicationStatement/example" }]
  }, {
    "title": "Problèmes actifs",
    "code": {
      "coding": [{
        "system": "http://loinc.org",
        "code": "11450-4",
        "display": "Problem list - Reported"
      }]
    },
    "text": {
      "status": "generated",
      "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>Diabète de type 2, diagnostiqué en mai 2026.</p></div>"
    },
    "entry": [{ "reference": "Condition/example-diabetes" }]
  }]
}

À noter dans cet exemple :

  • status=final + attester[mode=legal] = document opposable juridiquement.
  • Le type LOINC 60591-5 désigne précisément un Patient Summary IPS.
  • Chaque section porte un titre, un code LOINC, un text.div (XHTML lisible humain) et des entry[] qui pointent vers les ressources structurées sous-jacentes.
  • Le text.div de chaque section doit refléter fidèlement le contenu des entry : c'est la règle d'attestation par narrative — ce que l'attestant a vu et signé.

Bundle de type document

Pour échanger une Composition, on l'enveloppe dans un Bundle :

{
  "resourceType": "Bundle",
  "type": "document",
  "identifier": { "system": "urn:ietf:rfc:3986", "value": "urn:uuid:..." },
  "timestamp": "2026-05-14T15:30:00+02:00",
  "entry": [
    { "fullUrl": "...", "resource": { "resourceType": "Composition", ... } } ,
    { "fullUrl": "...", "resource": { "resourceType": "Patient", ... } } ,
    { "fullUrl": "...", "resource": { "resourceType": "AllergyIntolerance", ... } } ,
    { "fullUrl": "...", "resource": { "resourceType": "MedicationStatement", ... } } ,
    { "fullUrl": "...", "resource": { "resourceType": "Condition", ... } }
  ]
}

Trois règles d'or du Bundle document :

  • La Composition est obligatoirement la première entry (Bundle.entry[0].resource).
  • Toutes les ressources référencées par la Composition (Patient, AllergyIntolerance…) doivent être dans le Bundle, par fullUrl.
  • Le Bundle peut être signé (XML-DSig ou JWS) pour garantir l'intégrité documentaire.

Voir aussi la page Bundle.

Pièges courants

  • status, type, date, author, title manquants — tous obligatoires (cardinalité 1..*). Sans eux, le document est rejeté.
  • Composition envoyée hors Bundle — techniquement la ressource existe seule, mais pour l'échange documentaire, l'IG IPS et la plupart des profils exigent l'enveloppe Bundle document.
  • text.div manquant ou ne reflétant pas l'entry — la narrative est l'élément attesté. Si elle ne correspond pas aux entries structurées, le document est juridiquement incohérent.
  • Pas d'attester sur un document final — pour les usages médico-légaux, au moins une attestation mode=legal ou professional est attendue.
  • Référence à des ressources hors Bundle — toute Reference doit être résoluble dans le Bundle. Une référence externe absolue (ex : https://server/Patient/123) brise l'atomicité documentaire.
  • Sections vides — IPS impose que certaines sections (Allergies, Medication, Problems) soient présentes, et qu'à défaut de contenu, elles portent un texte explicite (« Pas d'allergies connues »). Vide silencieux interdit.
  • Plusieurs versions sans relatesTo — une Composition amendée (status=amended) doit pointer vers la version précédente via relatesTo.targetReference (code=replaces).

Ressources liées

  • Bundle — enveloppe documentaire obligatoire pour l'échange (type=document).
  • Patient — sujet typique référencé par subject.
  • Practitioner, PractitionerRole, Organization — auteurs et custodien.
  • AllergyIntolerance, MedicationStatement, Condition, Observation, Procedure, Immunization — ressources typiquement incluses dans les sections IPS.
  • DocumentReference — index documentaire, peut référencer une Composition via content.attachment.url.
  • Encounter — contexte de production du document.

Voir aussi : l'index FHIR R5.