C-CDA vers FHIR : sections CCD, Composition, DocumentReference, MHD vs XDS
Un playbook pour projeter les documents de continuité des soins C-CDA américains sur FHIR Composition et DocumentReference, et pour choisir MHD plutôt que XDS, y compris Swiss EPR MHD.
Ala Ben Aicha

Réponse directe
Un CCD est un document CDA. Mappez les sections requises sur un FHIR Composition, puis choisissez un document Composition Bundle ou un DocumentReference en binaire. MHD est l'API FHIR sur XDS, y compris Swiss EPR.
Cartographie des messages et des ressources
Deux tâches différentes sont étiquetées « C-CDA vers FHIR » :
- Projeter le contenu clinique dans les ressources FHIR (Condition, AllergyIntolerance, MedicationStatement, Observation) suspendues à un Composition.
- Partager le document en tant que document — conserver les octets CDA (ou un document FHIR Bundle) et les indexer avec DocumentReference pour XDS ou MHD.
Fixez la version de C-CDA sur FHIR 1.2.0 (URL officielle http://hl7.org/fhir/us/ccda/ImplementationGuide/hl7.fhir.us.ccda, STU 1, basé sur FHIR R4). Il profile Composition pour les types de documents C-CDA et mappe les entrées vers US Core. C'est le cas pas exiger des entrées codées dans chaque section – un écart délibéré par rapport à C-CDA, qui utilisait nullFlavors lorsqu'une section était vide.
Le CCD (Continuity of Care Document) est un type de document C-CDA (modèle 2.16.840.1.113883.10.20.22.1.2, LOINC 34133-9 Résumé de la note de l'épisode). C-CDA R2.1 CCD DOIT contient les allergies, les médicaments, la liste des problèmes et les résultats. Les publications ultérieures du C-CDA mentionnent également les antécédents sociaux et les signes vitaux si nécessaire – épinglez la version du C-CDA que l'expéditeur utilise réellement.
| Section CCD (LOINC) | Rôle du C-CDA | FHIR Composition.section.entry | Remarques |
|---|---|---|---|
| Allergies 48765-2 | DOIT | AllergyIntolerance (US Core) |
Une section vide existe toujours ; ne laissez pas tomber le récit |
| Médicaments 10160-0 | DOIT | MedicationStatement / MedicationRequest |
Les cartes d'humeur/statut sont dans les ConceptMaps IG |
| Liste des problèmes 11450-4 | DOIT | Condition (US Core) |
L'état des préoccupations par rapport aux problèmes n'est pas 1:1 avec clinicalStatus |
| Résultats 30954-2 | DOIT | Observation / DiagnosticReport |
Récit dans section.text est authentique, pas un aperçu |
| Procédures 47519-4 | DEVRAIT | Procedure |
|
| Vaccinations 11369-6 | PEUT | Immunization |
ADC section/text cartes à Composition.section.text. Le conseils cartographiques est explicite : le récit fait autorité dans le document et doit être préservé.
MHD versus XDS (document partage, pas le mappage de section) :
| Emploi | XDS.b (SOAP) | MHD (FHIR) |
|---|---|---|
| Fournir / s'inscrire | ITI-41 Fournir et enregistrer un ensemble de documents | ITI-65 Fournir le document Bundle (transaction Bundle : Liste des jeux de soumission + DocumentReference + Binaire) |
| Trouver | Requête stockée dans le registre ITI-18 | ITI-67 Rechercher des références de documents (GET DocumentReference) |
| Récupérer | ITI-43 Récupérer un ensemble de documents | ITI-68 Récupérer le document (Binary ou URL de pièce jointe) |
| Objet de métadonnées | Entrée de document XDS | DocumentReference (masterIdentifier ← identifiant unique, identifier ← entréeUUID) |
Les échanges américains (Direct, documents TEFCA, nombreux HIE) conservent souvent C-CDA XML comme charge utile et exposent FHIR DocumentReference + Binary. L'EPR suisse utilise la même couche MHD sur le XDS communautaire : CH EPR FHIR profils CH MHD DocumentReference Complet et CH MHD fournit le document Bundle complet pour ITI-65. L’identité nationale du patient est l’EPR-SPID en tant qu’identifiant logique – et non une ressource Patient adressable au niveau national. L'architecture communautaire est la Article DEP suisse. Les API de ressources REST FHIR en général sont les Guide d'intégration FHIR.
Pièges d'identification
| Piège | Symptôme | Corriger |
|---|---|---|
| Document/identifiant clinique perdu | Impossible de remplacer ou de rendre obsolète le document ultérieurement | DocumentReference.masterIdentifier = CDA ClinicalDocument/id (URI, souvent urn:oid:…) |
| Identifiant Patient dans le sujet CDA ≠ MHD | ITI-65 rejeté | US : Patient.identifier aligné sur US Core. Suisse : référence logique avec EPR-SPID ; ne pas créer d'URL nationale Patient |
Cartographie des sections et suppression section/text |
Contenu juridique/clinique manquant dans FHIR | Copier le récit ; les entrées sont structurées soutien, pas une licence pour supprimer du texte |
| Document Composition vs binaire MHD mélangés | Le consommateur demande Bundle, obtient un CDA, ou l'inverse | Choisissez une charge utile par flux : document FHIR Bundle ou CDA binaire + DocumentReference. Les deux peuvent exister ; ce sont des contrats différents |
XDS uniqueId sans urn:oid: sur MHD |
Inadéquation de domaine d'affinité | Les métadonnées complètes MHD attendent un identifiant unique typé URI |
| Utilisation d'un serveur FHIR générique comme connexion EPD | La communauté rejette les métadonnées | Ensembles de valeurs suisses (classCode, typeCode, formatCode, confidentialitéCode) provenant d'eHealth Suisse, et non des métadonnées CCD américaines LOINC uniquement |
Jeux de données de test
Désidentifié. Les OID ci-dessous sont des exemples, pas une véritable organisation.
Forme minimale de l'en-tête CCD (tronqué) :
<ClinicalDocument xmlns="urn:hl7-org:v3">
<id root="2.16.840.1.113883.19.5" extension="CCD-EXAMPLE-0001"/>
<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>
Projection 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 MHD DocumentReference (tronquées ; binaire contiendrait les octets CDA) :
{
"resourceType": "DocumentReference",
"masterIdentifier": {
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:2.16.840.1.113883.19.5.CCD-EXAMPLE-0001"
},
"status": "current",
"type": {
"coding": [{ "system": "http://loinc.org", "code": "34133-9" }]
},
"content": [
{
"attachment": {
"contentType": "application/xml",
"url": "Binary/example-ccd"
}
}
]
}
Tests minimaux :
- Récit aller-retour : CDA
section/textpour les allergies/médicaments/problèmes/résultats présents sur Composition. - Section des allergies vide (aucune entrée, narration « non connu ») – toujours une section, pas de fausse AllergyIntolérance.
- ITI-65 Bundle : Liste (ensemble de soumission) + DocumentReference + Binaire ; la transaction réussit ou échoue en tant qu’unité.
- Chemin américain : profil Composition de C-CDA sur FHIR 1.2.0.
- Voie suisse : métadonnées complètes CH MHD + sujet logique EPR-SPID ; ne nécessitent pas d’URL Patient résoluble.
Ne mettez jamais de vrai XML C-CDA avec les noms des patients dans git.
Modes de défaillance et restauration
| Échec | Détection | Restauration |
|---|---|---|
| Carte de coupe partielle | Section SHALL manquante sur le Composition | Rejeter le document ; ne pas enregistrer les métadonnées MHD pour un CCD à moitié projeté |
| La double écriture (ressources CDA + FHIR) diverge | Liste de conditions ≠ récit de la section problème | Un magasin faisant autorité. Préférez conserver le CDA comme document juridique et le FHIR comme projection |
| ITI-65 réussit, URL ITI-68 incorrecte | Consommateur 404 sur binaire | Source en points ITI-65 au niveau du binaire Bundle ; répondeur dans les points ITI-67 au point final ITI-68 |
Remplacement sans relatesTo |
Deux documents actuels pour un ClinicalDocument/id | DocumentReference.relatesTo.code = replaces vers la référence précédente |
| Traiter MHD comme « l’EPD est désormais une ressource FHIR » | La communauté attend toujours les métadonnées des documents | La REP suisse reste centrée sur les documents ; MHD est l'API mobile sur XDS |
Annulation en cas de mauvaise offre : désapprouvez 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 et non des suppressions SQL.
Service associé
Si vous avez besoin d'une projection C-CDA plus un câblage MHD ou XDS (CCD américain ou EPR FHIR suisse), c'est Intégration HL7 FHIR. Pour un pic d'échange de documents limité, utilisez formulaire de contact projet.
Cette page n'est pas un certificat de validation C-CDA, ni une intégration de la communauté eHealth Suisse, ni des conseils juridiques sur le document qui constitue le dossier de soins.