Soltanto una interoperabilità utilizzando un protocollo di comunicazione standard, approvato dalla comunità medica, e aperto potrà essere realmente globale e sostenibile lungo termine.

Si intendono interoperabili due o più sistemi informatici che comunicano fra di loro in una maniera automatica, ovvero senza la necessità di un intervento dell’utente. Per esempio:

  • quando l’utente è costretto ad inserire l’anagrafica del paziente nel gestionale e anche nel programma per acquisire radiografie, i due software vengono considerati non-interoperabili;
  • quando l’utente non inserisce mai i dati del paziente (o altri dati) più di una singola volta, e questi si propagano anche su altri programmi o macchine mediche, odontoiatriche o ortodontiche, allora i software e i sistemi in questione vengono considerati interoperabili.

Interoperabilità basata su standard aperti

L’interoperabilità basata su standard aperti, e quindi non proprietaria, è quando due o più programmi vengono collegati assieme, utilizzando un linguaggio standardizzato e disponibile a chiunque. Quindi quando è sufficiente una semplice configurazione per fare parlare i vari programmi fra di loro.

La “non-proprietarietà” sta nel fatto che nessuno degli sviluppatori ha disegnato e sviluppato per conto proprio il linguaggio di comunicazione. Ha invece implementato un linguaggio standard e aperto. Per esempio quando la tua macchina fotografica salva una immagine nel formato “JPEG”, questo formato è un formato standardizzato internazionalmente da ISO, e chiunque può scrivere un programma per leggere e salvare file in questo formato, senza chiedere il permesso a nessuno.

Nel caso specifico dell’odontoiatria, un esempio di interoperabilità non-proprietaria potrebbe essere l’utilizzo dei programmi odontoiatrici del protocollo DICOM per tutte le immagini (fotografie, scansioni endorali, radiografie, ecc.) e di quello HL7 FHIR per tutto il resto dei dati clinici.

È importante chiarire che seppure il linguaggio di comunicazione è “aperto”, i dati non lo sono! I dati di per se, vengono sempre protetti dai permessi del software che li gestisce. Infatti, anche se la tua macchina fotografica salva le foto in un formato aperto come il JPEG, questo non significa che tutti quanti ora hanno accesso alle foto che la tua macchina fotografica ha prodotto.

Problemi

  • L’implementazione di uno standard richiede l’apprendimento dello standard che viene implementato. Questo potrebbe significare in certi casi un leggero rallentamento nello sviluppo, che però dovrebbe ridursi con il passare del tempo.
  • Gli sviluppatori a volte introducono implementazioni parziali o non perfettamente conformi allo standard. Queste imperfezioni possono risultare nel dover fare delle correzioni sul campo, fino a quando lo sviluppatore non risolve il problema.

Interoperabilità Proprietaria

L’interoperabilità proprietaria è quando due o più programmi vengono collegati assieme, utilizzando dei sistemi che sono specifici a quei programmi. In questo scenario, è necessario sviluppare un nuovo collegamento per ogni tipo di programma. Il termine proprietario viene usato per indicare che è proprietario ad ogni specifico programma/software. In altre parole, sono gli sviluppatori di software che gestiscono come avviene questo tipo di interoperabilità. Esempio:

  1. Hai un gestionale, e vorresti farlo comunicare con un gestore di SMS per inviare in automatico gli avvisi SMS ai pazienti, ricordandogli del loro appuntamento.
  2. Ingaggi un tecnico che mette in piedi questo collegamento.
  3. Il tecnico si informa, e trova la documentazione nei manuali del gestionale su come estrarre i dati del pazienti, e sul sito del gestore SMS su come inviare gli SMS.
  4. Poi scrive un programma che prende i dati dal gestionale e li usa per inviare gli SMS.

Problemi

  • Quando gli sviluppatori di un software fanno qualche cambiamento, è probabile che il collegamento si rompa.
  • Quando vuoi collegare il gestionale ad un altro programma, come per esempio uno per la firma grafometrica o online, dovrai ingaggiare lo sviluppatore/tecnico per fare di nuovo un programma nuovo per collegare i due sistemi.
  • La programmazione e il mantenimento diventano costosi.
  • Per lo sviluppatore di software, è più costoso implementare questo tipo di interoperabilità, perché deve venire disegnata e sviluppata da zero.