# DICOM

DICOM (Digital Imaging and COmmunications in Medicine, immagini e comunicazione digitali in medicina) è uno standard che definisce i criteri per la comunicazione, la visualizzazione, l'archiviazione e la stampa di informazioni di tipo biomedico quali ad esempio immagini radiologiche.
Lo standard DICOM è pubblico, nel senso che la sua definizione è accessibile a tutti. La sua diffusione si rivela estremamente vantaggiosa perché consente di avere una solida base di interscambio di informazioni tra apparecchiature di diversi produttori, server e PC, specifica per l'ambito biomedico.

## Storia

Il progetto originario venne sviluppato da due associazioni statunitensi: The American College of Radiology (ACR), responsabile dello sviluppo tecnico-medico del sistema, e il National Electrical Manufacturers Association (NEMA), un consorzio di produttori responsabile tra l'altro degli aspetti inerenti eventuali violazioni di brevetti e normative. In Europa il comitato di standardizzazione ha recepito il formato DICOM in MEDICOM, così come la JIRA, associazione dei costruttori giapponesi, ne ha approvato lo sviluppo. Nel 1985 venne ufficializzata la versione 1.0 dello standard ACR-NEMA a cui seguì nel 1988 la versione 2.0: si trattava di un primitivo standard in cui era definito il formato dei file contenenti le immagini e lo standard fisico e di protocollo per l'interconnessione punto-punto delle varie apparecchiature. Le implementazioni tuttavia furono piuttosto limitate, soprattutto a causa del mezzo fisico di connessione realizzato con tecnologie già per l'epoca obsolete. Nel 1993 lo standard ACR-NEMA si trasformò radicalmente nella versione 3.0 nella quale, mantenendo sostanzialmente immutate le specifiche inerenti al formato delle immagini, furono aggiunti numerosi servizi ed implementati i protocolli di rete TCP/IP e ISO/OSI: il nuovo standard venne identificato con il termine DICOM, e proprio l'integrazione nelle specifiche del protocollo di rete TCP/IP, ormai largamente diffuso, ne decretò un successo ed una popolarità sempre crescenti.

## Caratteristiche
### Le basi del DICOM: Service Object Pair

Lo standard DICOM si basa su un modello concettuale definito "Service Object Pair" (SOP). Il modello SOP è ispirato al paradigma Object Oriented (OO) dell'analisi e della programmazione in informatica.

### SCU Service Class User e SCP Service Class Provider

Ipotizzando che il DICOM possa essere descritto come un modello client / server, allora dovremo identificare la SCU, come il client e il SCP come il server. Sostanzialmente la SCU (o client) richiede dei servizi da parte della SCP (o server). La classe SOP Service Object Pair definisce le azioni della SCU e della SCP. Di seguito l'interazione tra SCU e SCP nelle varie Service Class:
Verification Service Class SCP/SCU: Il Servizio di verifica è semplicemente un mezzo per determinare se un soggetto DICOM è attivo e può essere raggiunto sulla rete. Le richieste SCU verificano che SCP, se attivo, fornisce una risposta.
Storage Service Class SCP/SCU: Quando SCU richiede che un'immagine venga memorizzata, chiede semplicemente al SCP di ricevere l'immagine. La SCP non garantisce alcuna durata o la sicurezza della memorizzazione, ma accetta semplicemente l'immagine dal mittente.
Query/Retrieve Service Class SCP/SCU: In questo caso vengono offerti due servizi distinti, "Interrogare" e "Recuperare", da qui il nome di Query/Retrieve. Quando l'SCU invia una "interrogazione" (come il nome del paziente, l'ID di studio, ecc) relativa alle immagini che il provider ha a disposizione, l'SCP risponde con le informazioni richieste di cui dispone.

### DIMSE - DICOM Message Service Elements

Una entità del mondo reale come un ricovero, un'immagine, un paziente, viene definita come un oggetto; ogni oggetto contiene una serie di attributi, per esempio l'oggetto paziente conterrà gli attributi dati anagrafici, data di ricovero ecc. Definiti gli oggetti e tutti i loro attributi, DICOM definisce quali operazioni possono essere eseguite e su quali oggetti. Tali operazioni sono chiamate DIMSE service (Dicom Message Service) e vengono generalmente differenziate da due classi di servizio: composita "DIMSE-C" e normalizzata "DIMSE-N". La combinazione di un oggetto ed i corrispettivi servizi (DIMSE) prende il nome di SOP (Service Object Pair). L'insieme delle SOP relative ad un unico oggetto formano una SOP Class.
Le operazioni comprese nella classe DIMSE-C sono:
* C-Store: L'operazione più elementare DICOM, altrimenti conosciuta come "Push DICOM",per esempio, viene utilizzata per inviare le immagini da una modalità al PACS o per creare il meccanismo di consegna del C-MOVE.
* C-Find: Utilizzata principalmente nella "Modality Worklist" è un'operazione molto semplice, simile ad una query SQL.
* C-Move: Serve per ordinare all'SCP il trasferimento dell'oggetto eventualmente restituito dalla query C-Find.
* C-Get:
* C-Echo
Le operazioni comprese nella classe DIMSE-N sono:
* N-Get
* N-Action
* N-Set
* N-Create
* N-Delete
* N-Event-Report

### Formato delle immagini

I dati radiologici rappresentabili come immagini o le immagini vere e proprie che vengono archiviate secondo lo standard DICOM sotto forma di file vengono comunemente chiamate immagini DICOM. L'errore più comune che viene fatto nell'interpretazione del termine è che queste siano assimilabili ad altri formati di compressione dell'immagine (es. JPEG, GIF, etc.). In verità lo standard DICOM applicato alla codifica dei file non è nient'altro che un metodo per incapsulare i dati e per definire come questi debbano essere codificati o interpretati, ma non definisce alcun nuovo algoritmo di compressione. La maggior parte delle volte, l'immagine viene archiviata in forma non compressa, secondo la codifica con la quale viene prodotta, ma esistono molti software che sono in grado di produrre o interpretare file DICOM contenenti dati compressi secondo vari algoritmi (JPEG, JPEG Lossless, vari algoritmi dello standard JPEG 2000, ecc.).
Un file DICOM oltre all'immagine vera e propria, include anche una intestazione. Le informazioni contenute nell'intestazione DICOM sono molteplici, per esempio: nome e cognome del paziente, il tipo di scansione, posizione e dimensione dell'immagine ecc. La dimensione dell'intestazione ovviamente varia a seconda della quantità di informazioni memorizzate. Tutte le informazioni memorizzate nell'intestazione vengono catalogate in gruppi di elementi, detti anche "Tag DICOM" .
Esistono numerosi programmi che consentono la visualizzazione di immagini DICOM su normali PC, spesso anche liberamente scaricabili via rete internet. Molti di questi permettono anche di eseguire sulle immagini elementari operazioni di post-processing, quali misure lineari e di area.

### Servizi

DICOM è costituito da diversi servizi, molti dei quali implicano la trasmissione di dati su una rete, di seguito sono riportati i principali servizi:
STORE: Questo servizio viene utilizzato per inviare immagini o altri oggetti persistenti (report strutturati, ecc) ad un PACS o ad una workstation.
STORAGE COMMITMENT: Il servizio di storage commitment viene utilizzato per confermare l'effettiva memorizzazione permanente di un'immagine su un dispositivo (sia su dischi RAID o su supporti di backup, ad esempio, masterizzazione su un CD). La Service Class User (SCU) di una modalità o una workstation, usa la conferma da parte del Service Class Provider (SCP),di un PACS, per esempio, per assicurarsi l'effettiva archiviazione prima di procedere con l'eliminazione delle immagini localmente.
QUERY/RETRIEVE: Consente ad una stazione di lavoro di trovare gli elenchi di immagini o altri oggetti e poi recuperarli da un PACS.
MODALITY WORKLIST: Consente ad una modalità di ottenere i dettagli dei pazienti e la worklist degli esami, evitando di dover digitare manualmente tali informazioni (con i conseguenti errori causati dalla digitazione).
MODALITY PERFORMED PROCEDURE STEP (MPPS): È un servizio complementare alla Modality Worklist, questa modalità consente di inviare un report di un esame effettuato inclusi i dati sulle immagini acquisite,ora di inizio, ora di fine, e la durata di uno studio, dose somministrata, ecc, fornisce al reparto di radiologia informazioni più precise sulle risorse in uso (stazione di acquisizione). Conosciuto anche come MPPS, questo servizio consente alla modalità di coordinarsi meglio con i server di archiviazione delle immagini.
PRINTING: Il servizio DICOM Print viene utilizzato per inviare le immagini ad una stampante DICOM, di solito per stampare un film "X-Ray". C'è una calibrazione standard per contribuire a garantire la coerenza tra i dispositivi di visualizzazione, tra cui la stampa cartacea.
OFF-LINE MEDIA (DICOM Files): L'off-line dei file multimediali descrive come memorizzare informazioni di diagnostica per immagini su supporti rimovibili. Fatta eccezione per il set di dati che contiene, per esempio, l'immagine e la demografia, è anche obbligatorio indicare le informazioni Meta File.
Il DICOM limita i nomi dei file DICOM in media a 8 caratteri (alcuni sistemi utilizzano erroneamente 8.3, ma questo non è conforme allo standard). Nessuna informazione deve essere estratta da questi nomi, infatti è una possibile fonte di problemi con i mezzi di comunicazione creati da sviluppatori che non hanno letto attentamente le specifiche del DICOM. Questo è un requisito fondamentale per mantenere la compatibilità con i sistemi esistenti, inoltre si raccomanda anche la presenza di una directory dei media, il file DICOMDIR, che fornisce l'indice e le informazioni di riepilogo per tutti i file DICOM sul supporto. Le informazioni DICOMDIR forniscono informazioni dettagliate su ogni file presente nel media.

## Compatibilità

Occorre notare che DICOM non è solo uno standard industriale ma anche uno standard de jure (ISO 12052:2006). Nel passato, prima del riconoscimento come standard ISO, esisteva una certa tolleranza nell'implementazione delle specifiche, al punto che forse non esistevano apparecchiature che potessero definirsi pienamente DICOM compliant, nel senso rigoroso che la definizione di uno standard imporrebbe. Nella maggior parte dei casi, infatti, un'apparecchiatura risultava conforme ad una parte dello standard (ad esempio la modalità di archiviazione delle immagini), mentre adottava tecnologie proprietarie per altre funzionalità (ad esempio la gestione delle liste pazienti).
La compatibilità DICOM ed in generale di qualsiasi dispositivo DICOM compatibile deve essere certificata dal costruttore attraverso un documento autocertificativo, denominato Conformance Statement, che ne elenchi le funzionalità. La trattazione dettagliata del conformance statement che un costruttore deve emettere, per poter dichiarare una sua applicazione conforme allo standard DICOM, è contenuta nel volume 2 delle specifiche DICOM. Il buon esito di una connessione tra due apparecchiature DICOM è in prima istanza legato al confronto tra i due conformance statement, a meno di errori sui documenti od omissioni nell'implementazione, eventualità tutt'altro che remote.