Qu'est-ce que le C-CDA ? CCD, types de documents et passage du C-CDA à FHIR (Composition, DocumentReference, MHD)
Ce qu'est le C-CDA (CDA R2, C-CDA R2.1 à 5.0, CCD et autres types de documents, templateId, exigences ONC) et comment faire correspondre des documents C-CDA à FHIR Composition et DocumentReference, avec MHD face à XDS et le MHD du DEP suisse.
Ala Ben Aicha

Réponse directe
Le C-CDA (Consolidated Clinical Document Architecture) est la bibliothèque américaine de templates HL7 CDA R2 pour les documents cliniques, comme le Continuity of Care Document (CCD), la lettre de sortie (Discharge Summary) ou le courrier d'adressage (Referral Note). Un CCD est un document XML CDA composé d'un en-tête et de sections codées. Pour le passer en FHIR, on projette les sections sur une Composition FHIR et leurs entrées sur des ressources, ou on conserve les octets CDA en les indexant avec DocumentReference. MHD est l'API FHIR posée sur le partage de documents XDS, y compris pour le DEP suisse.
Qu'est-ce que le C-CDA ?
CDA R2 est le standard HL7 de base pour les documents cliniques, approuvé en 2005. Il définit un document XML avec un en-tête (qui est le patient, qui a rédigé le document, qui le conserve) et un corps fait de sections. Chaque section porte un texte lisible et, en option, des entrées codées. CDA seul reste générique : ce sont les guides d'implémentation qui le contraignent au moyen de templates.
Le C-CDA est le guide du domaine américain (US Realm) qui a regroupé ces templates dans une bibliothèque unique. Chaque template est identifié par un templateId composé d'un OID root et, depuis la R2, d'une extension qui en porte la version. L'émetteur déclare les templates auxquels il se conforme ; les validateurs contrôlent le document par rapport à eux.
Les versions du C-CDA en 2026
| Version | Publication | Remarques |
|---|---|---|
| C-CDA R2.1 | 2015, errata depuis | Templates en version 2015-08-01. Toujours la version citée par la certification ONC |
| Companion Guide R4.1 | 2023 | Consignes pour transporter l'USCDI v3 dans le C-CDA R2.1 |
| C-CDA 3.0 | mai 2024 | Première publication au format StructureDefinition de FHIR ; USCDI v4. Templates en version 2024-05-01 |
| C-CDA 4.0 | juin 2025 | USCDI v5 |
| C-CDA 5.0 | juin 2026 | STU actuel ; USCDI v6 |
Le format d'échange n'a pas changé avec la 3.0 : les documents restent du XML CDA. Ce qui a changé, c'est la manière dont HL7 publie les templates (sous forme de modèles logiques sur le site du C-CDA 5.0) et les éléments USCDI qu'ils peuvent porter. HL7 précise que le guide R2.1 n'a connu que des errata depuis 2015. Demandez à l'émetteur quelle version et quel companion guide il produit avant d'écrire un parseur.
Types de documents
Le C-CDA 5.0 définit les templates de documents suivants, tous bâtis sur l'en-tête US Realm Header (2.16.840.1.113883.10.20.22.1.1) :
| Document | templateId root | Usage courant |
|---|---|---|
| Continuity of Care Document (CCD) | 2.16.840.1.113883.10.20.22.1.2 | Synthèse patient à un instant donné |
| Discharge Summary | 2.16.840.1.113883.10.20.22.1.8 | Fin d'un séjour hospitalier |
| Referral Note | 2.16.840.1.113883.10.20.22.1.14 | Demande adressée à un autre clinicien |
| Transfer Summary | 2.16.840.1.113883.10.20.22.1.13 | Transfert vers un autre lieu de prise en charge |
| Progress Note | 2.16.840.1.113883.10.20.22.1.9 | Suivi au fil d'une venue |
| Consultation Note | 2.16.840.1.113883.10.20.22.1.4 | Réponse à une demande d'avis |
| History and Physical | 2.16.840.1.113883.10.20.22.1.3 | Observation d'entrée ou bilan pré-intervention |
| Operative Note / Procedure Note | 2.16.840.1.113883.10.20.22.1.7 / .1.6 | Chirurgie et autres actes |
| Care Plan | 2.16.840.1.113883.10.20.22.1.15 | Objectifs, interventions, résultats |
| Unstructured Document | 2.16.840.1.113883.10.20.22.1.10 | PDF ou document numérisé dans une enveloppe CDA |
En-tête, sections et entrées
- En-tête :
recordTarget(le patient),author,custodian,documentationOf(l'acte ou la prestation documentés) et, pour les documents liés à une venue,componentOf. C'est à partir de l'en-tête que l'on construit les métadonnées de partage. - Sections : chacune possède un
templateId, uncodeLOINC, untitleet un bloc narratiftext. Le texte narratif constitue le contenu clinique attesté. - Entrées : énoncés codés à l'intérieur d'une section, par exemple l'Allergy Concern Act (
2.16.840.1.113883.10.20.22.4.30) qui encapsule une Allergy - Intolerance Observation. Les entrées viennent à l'appui du texte et ne doivent pas le contredire.
Où le C-CDA est exigé
Aux États-Unis, le critère de certification ONC § 170.315(b)(1) Transitions of care impose depuis le 1er janvier 2026 de produire des documents C-CDA R2.1 conformes au Companion Guide Release 4.1 (USCDI v3), et d'accepter en réception les versions R1.1 et R2.1. La proposition de règle HTI-5 (décembre 2025) prévoit de supprimer plusieurs critères propres au CDA au profit de FHIR. Aucune règle définitive n'avait été identifiée lors de cette mise à jour : vérifiez son statut avant de modifier un produit certifié. Hors des États-Unis, des documents CDA circulent dans des programmes nationaux européens avec leurs propres templates ; le C-CDA reste un guide du domaine américain. Pour situer les documents parmi les autres modes d'échange, voir Interopérabilité en santé numérique : les bases.
Correspondance entre messages et ressources
Deux travaux différents se cachent derrière l'expression « C-CDA vers FHIR » :
- Projeter le contenu clinique dans des ressources FHIR (Condition, AllergyIntolerance, MedicationStatement, Observation) rattachées à une Composition.
- Partager le document en tant que document : conserver les octets CDA (ou un Bundle document FHIR) et les indexer avec DocumentReference pour XDS ou MHD.
Figez la version de C-CDA on FHIR que vous utilisez (URL officielle http://hl7.org/fhir/us/ccda/ImplementationGuide/hl7.fhir.us.ccda). La version actuelle est la 2.0.0 (STU 2, juin 2026, FHIR R4). Elle se concentre sur les correspondances au niveau des entrées, dans les deux sens, pour les allergies, venues, vaccinations, médicaments, problèmes, actes, résultats, mode de vie et signes vitaux, avec US Core 6.1.0 comme cible. Les profils Composition des types de documents C-CDA n'ont pas été repris dans la STU 2 : le guide renvoie à la STU 1.1 pour ces profils et à l'IG FHIR Clinical Documents pour les Bundles documents, et annonce que la prochaine version vise à réintroduire des profils de documents.
Le CCD (template 2.16.840.1.113883.10.20.22.1.2, LOINC 34133-9 Summarization of Episode Note) DOIT contenir six sections, en C-CDA R2.1 comme en C-CDA 5.0 : allergies, médicaments, problèmes, résultats, mode de vie (Social History) et signes vitaux. Figez la version du C-CDA réellement utilisée par l'émetteur, car les templates d'entrées et les jeux de valeurs varient d'une version à l'autre.
| Section CCD (LOINC) | Exigence C-CDA | FHIR Composition.section.entry | Remarques |
|---|---|---|---|
| Allergies 48765-2 | DOIT | AllergyIntolerance (US Core) |
Une section vide existe quand même ; ne supprimez pas le texte |
| Médicaments 10160-0 | DOIT | MedicationStatement / MedicationRequest |
Les correspondances de mode et de statut figurent dans les ConceptMaps de l'IG |
| Liste des problèmes 11450-4 | DOIT | Condition (US Core) |
Le statut concern/problème ne correspond pas un pour un à clinicalStatus |
| Résultats 30954-2 | DOIT | Observation / DiagnosticReport |
Le texte dans section.text fait foi, ce n'est pas un aperçu |
| Mode de vie 29762-2 | DOIT | Observation (statut tabagique US Core et autres) |
Vérifiez quelles observations l'émetteur code réellement |
| Signes vitaux 8716-3 | DOIT | Observation (signes vitaux US Core) |
Contrôlez les unités et les codes LOINC de panel |
| Actes 47519-4 | DEVRAIT | Procedure |
|
| Vaccinations 11369-6 | PEUT | Immunization |
Le section/text CDA correspond à Composition.section.text. Les consignes de correspondance définissent aussi la conversion des identifiants CDA en identifiants FHIR : un OID connu est traduit en son URI ; un identifiant réduit à un root utilise urn:ietf:rfc:3986 comme system et l'OID préfixé par urn:oid: comme value. Le texte narratif fait partie intégrante du document et doit être conservé.
MHD face à XDS (partage de documents, pas correspondance des sections) :
| Opération | XDS.b (SOAP) | MHD (FHIR) |
|---|---|---|
| Fournir / enregistrer | ITI-41 Provide and Register Document Set | ITI-65 Provide Document Bundle (Bundle transaction : List du lot de soumission + DocumentReference + Binary) |
| Rechercher | ITI-18 Registry Stored Query | ITI-67 Find Document References (GET DocumentReference) |
| Récupérer | ITI-43 Retrieve Document Set | ITI-68 Retrieve Document (Binary ou URL de la pièce jointe) |
| Objet de métadonnées | XDS DocumentEntry | DocumentReference (masterIdentifier ← uniqueId, identifier ← entryUUID) |
Les échanges américains (Direct, documents TEFCA, nombreux HIE) gardent souvent le XML C-CDA comme contenu et exposent DocumentReference + Binary en FHIR. Lorsqu'un DPI propose les deux, le guide des API d'intégration DPI aide à choisir entre API documents et API ressources. Le DEP suisse utilise la même couche MHD au-dessus du XDS des communautés : CH EPR FHIR profile CH MHD DocumentReference Comprehensive et CH MHD Provide Document Bundle Comprehensive pour ITI-65. L'identité nationale du patient est l'EPR-SPID, utilisé comme identifiant logique et non comme ressource Patient adressable au niveau national. L'architecture des communautés est décrite dans l'article sur le DEP suisse. Les API REST de ressources FHIR en général sont traitées dans le guide d'intégration FHIR.
Pièges liés aux identifiants
| Piège | Symptôme | Correction |
|---|---|---|
| ClinicalDocument/id perdu | Impossible de remplacer ou de rendre obsolète le document plus tard | DocumentReference.masterIdentifier issu du ClinicalDocument/id CDA. Root seul : urn:oid: + root. Avec une extension, MHD le sérialise sous la forme oid^extension |
| Identifiant patient du CDA ≠ sujet MHD | ITI-65 rejeté | États-Unis : Patient.identifier aligné sur US Core. Suisse : référence logique avec l'EPR-SPID ; ne créez pas d'URL Patient nationale |
Sections mappées en jetant section/text |
Contenu clinique ou juridique absent côté FHIR | Copiez le texte ; les entrées sont un appui structuré, pas une autorisation de supprimer le texte |
| Document Composition et Binary MHD confondus | Le consommateur demande un Bundle et reçoit un CDA, ou l'inverse | Un seul contenu par flux : Bundle document FHIR ou Binary CDA + DocumentReference. Les deux peuvent coexister ; ce sont deux contrats distincts |
uniqueId XDS sans urn:oid: côté MHD |
Incohérence avec le domaine d'affinité | MHD encode OID et UUID comme URI avec le system urn:ietf:rfc:3986 |
Extensions de templateId ignorées |
Templates R2.1 et 3.0+ traités comme identiques | Aiguillez sur le root et l'extension ; 2015-08-01 et 2024-05-01 portent des règles différentes |
| Serveur FHIR générique utilisé comme connexion DEP | La communauté rejette les métadonnées | Jeux de valeurs suisses (classCode, typeCode, formatCode, confidentialityCode) d'eHealth Suisse, pas les métadonnées CCD américaines limitées à LOINC |
Jeux de test
Données désidentifiées. Les OID ci-dessous sont des exemples, pas une organisation réelle.
Forme minimale d'un en-tête CCD (tronqué) :
<ClinicalDocument xmlns="urn:hl7-org:v3">
<templateId root="2.16.840.1.113883.10.20.22.1.1" extension="2015-08-01"/>
<templateId root="2.16.840.1.113883.10.20.22.1.2" extension="2015-08-01"/>
<id root="2.16.840.1.113883.19.5.99999.1"/>
<code code="34133-9" codeSystem="2.16.840.1.113883.6.1"
displayName="Summarization of Episode Note"/>
<title>Example Continuity of Care Document</title>
<recordTarget>
<patientRole>
<id root="2.16.840.1.113883.19.5" extension="MRN-EXAMPLE-0001"/>
<patient>
<name><given>JANE</given><family>EXAMPLE</family></name>
<birthTime value="19770412"/>
</patient>
</patientRole>
</recordTarget>
</ClinicalDocument>
Section allergies avec texte narratif et sans allergie codée (tronquée) :
<section>
<templateId root="2.16.840.1.113883.10.20.22.2.6.1" extension="2015-08-01"/>
<code code="48765-2" codeSystem="2.16.840.1.113883.6.1"/>
<title>Allergies</title>
<text>No known allergies (example).</text>
</section>
Projection en Composition (tronquée) :
{
"resourceType": "Composition",
"status": "final",
"type": {
"coding": [
{
"system": "http://loinc.org",
"code": "34133-9",
"display": "Summarization of Episode Note"
}
]
},
"subject": {
"identifier": {
"system": "https://hospital.example.org/mrn",
"value": "MRN-EXAMPLE-0001"
}
},
"date": "2026-09-17T10:30:00+01:00",
"title": "Example Continuity of Care Document",
"section": [
{
"title": "Allergies",
"code": {
"coding": [{ "system": "http://loinc.org", "code": "48765-2" }]
},
"text": { "status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">No known allergies (example).</div>" }
}
]
}
Métadonnées DocumentReference MHD (tronquées ; le Binary contiendrait les octets CDA) :
{
"resourceType": "DocumentReference",
"masterIdentifier": {
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:2.16.840.1.113883.19.5.99999.1"
},
"status": "current",
"type": {
"coding": [{ "system": "http://loinc.org", "code": "34133-9" }]
},
"content": [
{
"attachment": {
"contentType": "application/xml",
"url": "Binary/example-ccd"
}
}
]
}
Tests minimaux :
- Aller-retour du texte : le
section/textCDA des allergies, médicaments, problèmes et résultats est présent dans la Composition. - Section allergies vide (aucune entrée, texte « aucune allergie connue ») : la section existe toujours, sans AllergyIntolerance fictive.
- Bundle ITI-65 : List (lot de soumission) + DocumentReference + Binary ; la transaction réussit ou échoue d'un bloc.
- Parcours américain : correspondances d'entrées vérifiées par rapport à C-CDA on FHIR 2.0.0 et aux profils US Core ; profil de document figé explicitement.
- Aiguillage par version : un même CCD avec des extensions de template R2.1 et 3.0+ est traité par la bonne correspondance.
- Parcours suisse : métadonnées CH MHD Comprehensive + sujet logique EPR-SPID ; n'exigez pas d'URL Patient résolvable.
Ne versionnez jamais dans git du XML C-CDA réel contenant des noms de patients.
Modes de défaillance et retour arrière
| Défaillance | Détection | Retour arrière |
|---|---|---|
| Correspondance partielle des sections | Section obligatoire absente de la Composition | Rejetez le document ; n'enregistrez pas de métadonnées MHD pour un CCD à moitié projeté |
| Double écriture (CDA + ressources FHIR) divergente | Liste des Condition ≠ texte de la section problèmes | Une seule source qui fait foi. De préférence le CDA comme document juridique et FHIR comme projection |
| ITI-65 réussit, URL ITI-68 erronée | Le consommateur reçoit un 404 sur le Binary | Dans ITI-65, la source pointe vers le Binary du Bundle ; dans ITI-67, le répondeur pointe vers le point d'accès ITI-68 |
Remplacement sans relatesTo |
Deux documents courants pour un même ClinicalDocument/id | DocumentReference.relatesTo.code = replaces vers la référence précédente |
| Considérer MHD comme « le DEP est désormais fait de ressources FHIR » | La communauté attend toujours des métadonnées de documents | Le DEP suisse reste centré sur les documents ; MHD est l'API mobile au-dessus de XDS |
Retour arrière après un dépôt erroné : rendez obsolète ou remplacez le DocumentReference (availabilityStatus / status), ne supprimez pas l'identité Patient et conservez le CDA d'origine dans le système source. Les remplacements XDS/MHD sont des associations, pas des suppressions SQL.
Service associé
Si vous avez besoin d'une projection C-CDA et du câblage MHD ou XDS (CCD américain ou EPR FHIR suisse), cela relève de l'intégration HL7 FHIR. Pour un prototype d'échange de documents bien délimité, passez par le formulaire de contact projet.
Cette page n'est ni un certificat de validation C-CDA, ni une procédure d'affiliation à une communauté eHealth Suisse, ni un avis juridique sur le document qui constitue le dossier de soins.