Standard

CDA vs FHIR: documenti vs risorse, quando usarli e come convertirli

CDA: documento XML firmato e integro. FHIR: risorse indirizzabili via API. Scopri la differenza, come i documenti FHIR (Composition in Bundle) uniscono i due, quando CDA è ancora richiesto e la conversione.

di Pubblicato 6 min di lettura

Risposta breve: CDA ti fornisce un documento: un file XML firmato su un paziente in un dato momento, con una narrazione leggibile dall'uomo e voci leggibili da un computer, che deve rimanere integro e invariato. FHIR ti fornisce risorse: un Paziente, quaranta Osservazioni, tre Condizioni, ognuna con il proprio URL, recuperate, cercate e aggiornate in modo indipendente tramite un'API REST. FHIR può anche impacchettare risorse in un documento (un Bundle di tipo document guidato da una Composizione), che è l'equivalente diretto di CDA. Scegli CDA dove una normativa o un partner lo richiede; scegli FHIR per API, app e tutto ciò che deve essere interrogato piuttosto che letto.

Le due forme

CDA e FHIR hanno due forme diverse. CDA scambia interi documenti XML basati sui tipi di dati HL7 v3, identificati da OID, con narrazione obbligatoria, nessuna interrogazione, nessun aggiornamento e firma dell'intero documento. FHIR scambia singole risorse JSON o XML o Bundle, identificati da URL canonici, con interrogazioni REST integrate, aggiornamenti versionati e profili pubblicati nelle guide di implementazione.

CDA / C-CDA FHIR
Unità di scambio Un documento intero Una risorsa, o un Bundle di risorse
Formato XML, tipi di dati HL7 v3 JSON o XML, tipi di dati FHIR
Identificazione OID per template e sistemi di codifica URL (canonici) per profili e sistemi di codifica
Parte leggibile dall'uomo <text> obbligatorio in ogni sezione Narrazione text.div opzionale per risorsa; obbligatoria nei documenti
Trasporto Non definito; trasportato da XDS, Direct, MLLP, email REST su HTTPS definito dallo standard; anche messaggistica e documenti
Interrogazione Non possibile all'interno di un documento; i registri indicizzano l'intestazione Integrata: GET /Observation?patient=…&code=…
Aggiornamento Mai; un nuovo documento sostituisce il vecchio Le risorse sono versionate e aggiornate in loco
Firma Documento intero, XML-DSig Bundle intero possibile; singole risorse raramente firmate
Profili Template (templateId) per sezione e voce Profili StructureDefinition per risorsa, pubblicati in guide di implementazione
Terminologia Codici di sezione LOINC, voci SNOMED/ICD/RxNorm Stessi sistemi di codifica, come CodeableConcept

Cosa significa la differenza in pratica

In pratica, la differenza tra CDA e FHIR è che CDA è adatto per contenuti scritti una volta e conservati interi, come un referto di dimissione firmato, mentre FHIR è adatto per dati che crescono e vengono interrogati, come una serie di misurazioni della pressione sanguigna. Un ricevitore CDA può visualizzare ma deve riconciliare per importare; un ricevitore FHIR ottiene risorse già modellate come il proprio record.

Un riassunto di dimissione è naturalmente un documento: viene scritto una volta, firmato da un medico e deve essere riproducibile anni dopo esattamente come è stato letto. Una serie di misurazioni della pressione sanguigna è naturalmente un insieme di risorse: cresce ogni giorno, viene rappresentata graficamente e filtrata, e nessuno la firma. CDA gestisce bene la prima e male la seconda (si rispedirebbe l'intero documento per ogni nuova lettura). FHIR gestisce nativamente la seconda e la prima attraverso il suo meccanismo di documento.

L'altra differenza pratica è cosa può fare il ricevitore. Un ricevitore CDA può sempre visualizzare il documento; l'importazione delle sue voci richiede la riconciliazione, sezione per sezione. Un ricevitore FHIR ottiene risorse che sono già nella forma del proprio record; le domande difficili si spostano sull'identità (è lo stesso paziente?) e sulla provenienza (chi ha affermato questo e quando?). Vedi Potrivire pacienti.

Documenti FHIR: il punto d'incontro

Un documento FHIR è un Bundle con type: "document" la cui prima voce è una Composizione. La Composizione svolge il ruolo dell'intestazione e dell'elenco delle sezioni CDA: tipo (LOINC), data, autore, soggetto, custode, stato e section[] con un titolo, un codice, testo narrativo e riferimenti alle risorse che contengono i dati.

{
  "resourceType": "Bundle",
  "type": "document",
  "identifier": {"system": "urn:ietf:rfc:3986", "value": "urn:uuid:3f2d7a3e-…"},
  "timestamp": "2026-03-14T10:15:00+01:00",
  "entry": [
    {"fullUrl": "urn:uuid:comp-1", "resource": {
      "resourceType": "Composition", "status": "final",
      "type": {"coding": [{"system": "http://loinc.org", "code": "60591-5", "display": "Patient summary Document"}]},
      "subject": {"reference": "urn:uuid:pat-1"},
      "date": "2026-03-14T10:15:00+01:00",
      "author": [{"reference": "urn:uuid:prac-1"}],
      "title": "Patient summary",
      "section": [{
        "title": "Allergies and intolerances",
        "code": {"coding": [{"system": "http://loinc.org", "code": "48765-2"}]},
        "text": {"status": "generated", "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>Penicillin: rash</p></div>"},
        "entry": [{"reference": "urn:uuid:allergy-1"}]
      }]
    }},
    {"fullUrl": "urn:uuid:pat-1", "resource": {"resourceType": "Patient", "id": "pat-1"}},
    {"fullUrl": "urn:uuid:prac-1", "resource": {"resourceType": "Practitioner", "id": "prac-1"}},
    {"fullUrl": "urn:uuid:allergy-1", "resource": {"resourceType": "AllergyIntolerance", "id": "allergy-1", "patient": {"reference": "urn:uuid:pat-1"}, "code": {"coding": [{"system": "http://snomed.info/sct", "code": "764146007", "display": "Penicillin"}]}}}
  ]
}

L'International Patient Summary è esattamente questo: un profilo di documento FHIR, con un gemello CDA per i sistemi che ne hanno ancora bisogno. Vedi anche FHIR Bundle spiegato.

Conversione tra di loro

La conversione tra CDA e FHIR funziona in entrambe le direzioni con dei limiti. La guida di implementazione HL7 C-CDA su FHIR mappa tipi di documenti, sezioni e voci a profili e risorse Composition; le sezioni solo narrative diventano testo senza dati. Da FHIR a CDA funziona per risorse che si adattano ai modelli C-CDA. In entrambe le direzioni, l'originale dovrebbe essere conservato come DocumentReference con Provenance.

  • CDA → FHIR: la guida di implementazione HL7 C-CDA on FHIR mappa i tipi di documenti e le sezioni statunitensi a profili di Composizione; le voci vengono mappate a risorse (Problem Concern Act → Condition, Medication Activity → MedicationStatement, Result Observation → Observation). La mappatura è deterministica per contenuti di Livello 3 ben templati e con perdita di informazioni per sezioni solo narrative, che diventano testo senza dati.
  • FHIR → CDA: possibile per documenti le cui risorse si adattano ai template C-CDA. Risorse FHIR a forma libera che non sono mai state pensate come documento (un flusso di Osservazioni da dispositivi indossabili) non diventano un CDA sensato.
  • Mantieni l'originale. Qualunque sia la direzione della conversione, memorizza la sorgente così come è stata ricevuta, come DocumentReference, e lascia che Provenance punti dalle risorse convertite ad essa. La conversione è una vista, non una sostituzione.

Quando CDA è ancora la risposta giusta

CDA è ancora la risposta giusta quando la parte ricevente lo richiede (transizioni di cura negli Stati Uniti, riepilogo paziente e prescrizione elettronica MyHealth@EU, diversi registri nazionali di documenti), quando il contenuto è legalmente un documento che deve essere firmato e conservato intero, o quando l'infrastruttura del partner è IHE XDS, che indicizza documenti anziché risorse. Altrimenti, inizia con FHIR.

Quando la parte ricevente lo richiede (transizioni di cura negli Stati Uniti, riassunto paziente e prescrizione elettronica MyHealth@EU oggi, diversi registri nazionali di documenti); quando il contenuto è legalmente un documento che deve essere firmato e conservato intero; quando l'infrastruttura del partner è IHE XDS, che indicizza documenti e non risorse. In ogni altro caso, inizia con FHIR e produci un documento FHIR dove è necessario un documento.

Pagine correlate

Fonti

Domande frequenti

Un documento FHIR è solo CDA in JSON?

No. Condivide i principi (intero, firmato, leggibile dall'uomo, con un'intestazione) ma il suo contenuto sono normali risorse FHIR, quindi la stessa Osservazione può esistere in un documento ed essere servita dall'API. In CDA, una voce esiste solo all'interno del suo documento.

Posso firmare un documento FHIR?

Sì. Bundle.signature contiene una firma digitale sul bundle, e le guide IPS e nazionali descrivono come. In pratica molte implementazioni si basano sulla sicurezza del trasporto e sulla provenienza piuttosto che sulle firme.

FHIR ha templateId?

L'equivalente è meta.profile, un elenco di URL canonici delle StructureDefinition a cui la risorsa dichiara di conformarsi. I validatori verificano la conformità nel modo in cui gli schematron CDA verificano i template.

Cosa dovrebbe scegliere un nuovo programma nazionale?

Programmi recenti (il formato di scambio EHDS, le regole di accesso ai pazienti negli Stati Uniti, l'IPS) scelgono FHIR, con documenti FHIR per riassunti e lettere, e mantengono un percorso CDA solo per partner legacy.

Anpheros Platform

Provalo gratis nella sandbox

La tua prima chiamata FHIR in 5 minuti. Un'API HL7 FHIR R4 con il consenso del paziente integrato: provala nella sandbox, poi collega la tua app o il sistema della tua clinica.

Gratis · 30 pazienti sintetici · senza carta

Questa guida è informativa e non sostituisce il consulto medico. Per le decisioni sulla tua salute parla con il tuo medico. In caso di emergenza, chiama il numero di emergenza locale (112 in Europa).
Scritto da
Il team Anpheros

Anpheros sviluppa una cartella clinica che il paziente controlla e può condividere con qualsiasi studio medico, su una piattaforma HL7 FHIR R4, con sede in UE. Queste guide ti aiutano a comprendere e organizzare la tua salute; non sostituiscono il tuo medico.

Chi siamo →