Progetto Infrastruttura Tecnologica del Fascicolo Sanitario Elettronico. InFSE: Infrastruttura tecnologica del. Fascicolo Sanitario Elettronico



Documenti analoghi
Progetto Infrastruttura Tecnologica del Fascicolo Sanitario Elettronico. InFSE: Infrastruttura tecnologica del. Fascicolo Sanitario Elettronico

Modello dell Infrastruttura per il Fascicolo Sanitario Elettronico (InfFSE) Progetto: Infrastruttura tecnologica del Fascicolo Sanitario Elettronico

guida: lo stato dell arte Stefano Micocci CUP 2000

Strategie di system integration per l interoperabilità di sistemi eterogenei di Fascicolo Sanitario Elettronico

Framework di sicurezza della piattaforma OCP (Identity & Access Management)

Il Fascicolo Sanitario Elettronico della Regione Autonoma della Sardegna: stato dell arte ed evoluzione

SPCOOP E I PROGETTI DI COOPERAZIONE INTERREGIONALE

Tavolo di Sanità Elettronica 22 Marzo 2012

La Pubblica Amministrazione consumatore di software Open Source

Progetto Evoluzione e interoperabilità tecnologica del Fascicolo Sanitario Elettronico. InFSE:

Il Fascicolo Sanitario Elettronico nel progetto Rete dei Medici

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione Giugno 2014

Centro Tecnico per la Rete Unitaria della Pubblica Amministrazione

Ministero del Lavoro e delle Politiche Sociali

Mattone 9 Realizzazione del Patient File

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

4 Congresso nazionale Società Italiana Telemedicina e sanità elettronica

ICT per la Sanità in Emilia Romagna

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

MANUALE DI CONSERVAZIONE

Portale regionale della Salute. Servizi di prenotazione prestazione e pagamento ticket.

Progettazione e realizzazione di servizi per l interoperabilità del Fascicolo Sanitario Elettronico mediante l infrastruttura InFSE

Scenari di Deployment i. Scenari di Deployment

Edok Srl. FatturaPA Light. Servizio di fatturazione elettronica verso la Pubblica Amministrazione. Brochure del servizio

Attività relative al primo anno

E.S.B. Enterprise Service Bus ALLEGATO C11

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

MANUALE DELLA QUALITA Revisione: Sezione 4 SISTEMA DI GESTIONE PER LA QUALITA

Guida alla FATTURAZIONE ELETTRONICA

R E G I O N E U M B R I A GIUNTA REGIONALE. Direzione Affari Generali della Presidenza e della Giunta regionale. Servizio Segreteria della Giunta

Fattura elettronica e conservazione

COMUNE DI CASAVATORE. Provincia di Napoli REGOLAMENTO DEL PORTALE INTERNET COMUNALE

PROTOCOLLO D INTESA. Per la realizzazione di interventi di sviluppo dei sistemi informativi della Giustizia Amministrativa

La centralità del paziente tra MMG Distretto e Ospedale: il Fascicolo Sanitario Elettronico. Daniele Donato Azienda ULSS 16 - Padova

Presentazione di Cedac Software

A cura di Giorgio Mezzasalma

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

PS_01 PROCEDURA PER LA GESTIONE DEI DOCUMENTI E DELLE REGISTRAZIONI

Modello OAIS. Modello di riferimento. Il Modello. Prof.ssa E. Gentile a.a Un modello di riferimento dovrebbe descrivere:

Nuovi Flussi Informativi Cooperazione Applicativa Youth Guarantee

Sistema di Interoperabilità e di Cooperazione Applicativa Evoluta in sicurezza (SPICCA) CUReP

Le comunicazioni telematiche in Toscana

Dematerializzazione e Conservazione Digitale e Sostitutiva

B.P.S. Business Process Server ALLEGATO C10

ALLEGATO C STANDARD TECNICI DELLA BORSA CONTINUA NAZIONALE DEL LAVORO

Sistema G.U.S. Capitolato di Gara ALLEGATO A

PIATTAFORMA DOCUMENTALE CRG

Intarsio IAM Identity & Access Management

FORMAZIONE AVANZATA IL CONSERVATORE DEI DOCUMENTI DIGITALI

Reingegnerizzazione di un Content Management System verso l accessibilità secondo la normativa italiana

Dimitris Gritzalis (a), Costas Lambrinoudakis (b)

Ministero della Salute

REGOLE PROCEDURALI DI CARATTERE TECNICO OPERATIVO PER L ACCESSO AI SERVIZI DISPONIBILI TRAMITE LA POSTA ELETTRONICA CERTIFICATA

La Posta Certificata per la trasmissione dei documenti informatici. renzo ullucci

DPCM 31 OTTOBRE 2000 (G. U , SERIE GENERALE, N. 272) REGOLE TECNICHE PER IL PROTOCOLLO INFORMATICO DI CUI AL DECRETO DEL PRESIDENTE DELLA

Software Servizi Web UOGA

Lo schema complessivo con cui opera il servizio è quello rappresentato in figura. 1

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini

Stato dell arte. Il Piano operativo del Programma SIRSE (DGR 29 giugno 2009 n ) ha individuato tre priorità:

MODELLO ORGANIZZATIVO REGIONALE PER LA GESTIONE DEL RISCHIO CLINICO.

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

FAMIGLIE AL CENTRO: Dott. Paola Mosa Roma 24 maggio 2013

Sicurezza nei Web Services: Migrazione dell autenticazone di Web Services da ticket di sessione a WS-Security con token SAML

Protezione delle registrazioni di tracciamento da modifiche non autorizzate A R.1.6 [TU /52/1/b]

lem logic enterprise manager

Il Sistema Pubblico di connettività

Training Formativo. Dr. Massimo Cristaldi IES Solutions

La rete SOLE ed il Fascicolo Sanitario Elettronico: realizzazione dell interoperabilità nella Regione E-R

Il Gestore Eventi di OpenSPCoop i. Il Gestore Eventi di OpenSPCoop

L apposizione di firme e informazioni su documenti firmati

Informativa sulla privacy

BDCC : Guida rapida all utilizzo

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Direzione Centrale Sistemi Informativi

subappaltatori e subcontraenti della filiera delle imprese, nonché a carico dei concessionari di finanziamenti pubblici anche europei, a qualsiasi

ALICE AMMINISTRAZIONE UTENTI WEB

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Gestione automatica delle Fatture Elettroniche per la Pubblica Amministrazione (Fatture PA)

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

l Ente produttore di seguito congiuntamente indicate le Parti ;

Verso la Cartella Clinica Elettronica: standard internazionali e piattaforme aperte in Informatica Sanitaria

Architettura del sistema

Introduzione: scopo del documento, organizzazione e funzioni dell amministrazione

MANUALE UTENTE FORMULA PEC

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

Le fattispecie di riuso

GLOSSARIO/DEFINIZIONI

SIRV-INTEROP Sicurezza basata sui ruoli

e.toscana Compliance visione d insieme

Da DOQUI a PRODE: un percorso per la dematerializzazione

Integrazione del progetto CART regione Toscana nel software di CCE K2

DIPARTIMENTO INFORMATIVO e TECNOLOGICO

REGOLAMENTO PER LA GESTIONE DELL ALBO PRETORIO ON LINE

INTEGRAZIONE E CONFRONTO DELLE LINEE GUIDA UNI-INAIL CON NORME E STANDARD (Ohsas 18001, ISO, ecc.) Dott.ssa Monica Bianco Edizione: 1 Data:

Sommario 1 Introduzione progetto Integrazione GUI HL Conclusioni... 13

E-health. 22 aprile 2004 ore 16,15 Aula Perego Università Bocconi. L impatto della ICT nell area clinica: la centralità dei dati del paziente

CitySoftware PROTOCOLLO. Info-Mark srl

PIANO PER LA SICUREZZA DEI DOCUMENTI INFORMATICI

Presidenza del Consiglio dei Ministri

Transcript:

Progetto Infrastruttura Tecnologica del Fascicolo Sanitario Elettronico InFSE: Infrastruttura tecnologica del Fascicolo Sanitario Elettronico Linee guida e specifiche tecniche Pagina 1 di 155

Indice 1 Status del documento... 8 2 Obiettivi del documento... 9 3 Termini e acronimi... 10 4 Contesto internazionale e nazionale... 13 4.1 Healthcare Services Specification Project (HSSP)... 13 4.1.1 Retrieve, Locate and Update Service (RLUS)... 13 4.1.2 Entity Identification Service (EIS)... 14 4.2 Integrating the Healthcare Enterprise (IHE)... 15 4.3 European Patients Smart Open Services (epsos)... 16 4.4 Sperimentazione di un sistema per l Interoperabilità europea e nazionale delle soluzioni di fascicolo sanitario elettronico: componenti Patient Summary e eprescription (IPSE)... 16 5 Requisiti dell Infrastruttura del FSE... 18 6 Modello architetturale di InFSE... 20 6.1 Descrizione del modello... 20 6.2 Architettura multi-layers... 22 7 Architettura dei componenti di InFSE... 23 7.1 Interfaccia di Accesso... 23 7.1.1 Attori e ruoli... 24 7.1.2 Casi d uso... 26 7.1.2.1 Casi d uso per la gestione dei documenti... 26 7.1.2.2 Casi d uso per la gestione degli eventi... 26 Pagina 2 di 155

7.1.2.3 Casi d uso per la gestione degli indici ai documenti... 30 7.1.2.4 Casi d uso per la gestione delle federazioni... 32 7.1.3 Architettura del servizio... 33 7.1.3.1 Interfaccia IDocument... 37 7.1.3.2 Interfaccia IEvent... 40 7.1.3.3 Interfaccia IEntry... 49 7.1.3.4 Interfaccia IFederation... 54 7.1.4 Integrazione con il Sistema Pubblico di Connettività... 57 7.1.5 Scenari d uso... 57 7.1.5.1 Document creation... 57 7.1.5.2 Document registration... 59 7.1.5.3 Document update... 61 7.1.5.4 Document retrieve... 63 7.1.5.5 Topics registration... 65 7.1.5.6 Topics subscription... 67 7.1.5.7 Topics creation... 69 7.1.5.8 Hierarchies creation... 71 7.1.5.9 Hierarchies archivation... 73 7.1.5.10 Notification... 75 7.2 Registro Indice Federato... 77 7.2.1 Modello concettuale... 78 7.2.2 Attori e ruoli... 79 7.2.3 Casi d uso... 79 Pagina 3 di 155

7.2.4 Tecnologie di riferimento... 83 7.2.5 Architettura del servizio... 83 7.2.5.1 Interfaccia IMetadataMgt... 87 7.2.5.2 Interfaccia IQueryMgt... 90 7.2.5.3 Interfaccia IEventMgt... 91 7.2.5.4 Interfaccia IRegistryFederation... 92 7.2.6 Descrizione del modello dati... 95 7.2.7 Scenari d uso... 100 7.2.7.1 Sincronizzazione di registri per eventi inter-regionali... 100 7.2.8 Integrazione con il Sistema Pubblico di Connettività... 100 7.3 Gestore Gerarchico degli Eventi... 102 7.3.1 Modello concettuale... 102 7.3.2 Modello gerarchico degli eventi... 103 7.3.3 Attori e ruoli... 106 7.3.4 Casi d uso... 108 7.3.5 Architettura del servizio... 112 7.3.5.1 Interfaccia IPublisherRegistrationMgt... 117 7.3.5.2 Interfaccia INotificationBrokerMgt... 118 7.3.5.3 Interfaccia ISubscriptionMgt... 123 7.3.5.4 Interfaccia IBrokerFederationMgt... 125 7.3.6 Integrazione con il Sistema Pubblico di Connettività... 127 7.3.7 Scenari d uso... 127 7.3.7.1 Topics registration... 127 Pagina 4 di 155

7.3.7.2 Hierarchies registration... 129 7.3.7.3 Topics subscription... 130 7.3.7.4 Hierarchies subscription... 132 7.3.7.5 Topics creation... 134 7.3.7.6 Hierarchies creation... 135 7.3.7.7 Hierarchies archivation... 135 7.3.7.8 Notification... 137 7.4 Gestore dei Documenti... 139 7.4.1 Attori e ruoli... 140 7.4.2 Casi d uso... 140 7.4.3 Architettura del servizio... 140 7.4.3.1 Interfaccia IDocumentMgt... 142 7.4.4 Integrazione con il Sistema Pubblico di Connettività... 143 7.4.5 Scenari d uso... 143 7.4.5.1 Document registration... 143 7.4.5.2 Document update... 144 7.4.5.3 Document retrieve... 145 7.5 Gestore delle Politiche di Accesso... 146 7.5.1 Fase di autenticazione... 147 7.5.2 Fase di identificazione... 148 7.5.3 Fase di autorizzazione... 150 7.5.4 Componenti previste... 153 Pagina 5 di 155

Indice delle figure Figura 1. Modello architetturale di InFSE... 21 Figura 2. Architettura multi-layers di InFSE... 22 Figura 3. Attori e ruoli... 25 Figura 4. Casi d uso per la gestione dei documenti... 26 Figura 5. Casi d uso per il produttore di eventi... 28 Figura 6. Casi d uso per il consumatore di eventi... 29 Figura 7. Casi d uso per il produttore di indici... 31 Figura 8. Casi d uso per il consumatore di indici... 31 Figura 9. Casi d uso per il manager della federazione... 32 Figura 10. Interfacce IEvent ed IBrokerFederation... 34 Figura 11. Interfaccia IDocument... 35 Figura 12. Interfacce IEntry ed IRegistryFederation... 36 Figura 13. Scenario Document creation... 58 Figura 14. Scenario Document registration... 60 Figura 15. Scenario Document update... 62 Figura 16. Scenario Document update... 64 Figura 17. Scenario Topics registration... 66 Figura 18. Scenario Topics subscription... 68 Figura 19. Scenario Topic creation... 70 Figura 20. Scenario Hierarchy creation... 72 Figura 21. Scenario Hierarchy archivation... 74 Figura 22. Scenario Notification... 76 Figura 23. Modello concettuale del Registro Indice Federato... 78 Figura 24. Casi d uso per il produttore di indici... 81 Figura 25. Casi d uso per il consumatore di indici... 81 Figura 26. Casi d uso per un nodo registro... 82 Figura 27. Livelli di federazione del Registro Indice Federato... 85 Figura 28. Interfacce IEventMgt, IMEtadataMgt, IQuery ed IRegistryFederationMgt. 86 Pagina 6 di 155

Figura 29. Interfaccia ed architettura del componente MetadataLifecycleMgt... 98 Figura 30. Interfaccia ed architettura del componente QueryMgt... 98 Figura 31. Interfaccia ed architettura del componente FederationMgt... 99 Figura 32. Scenario - Federazione nazionale... 101 Figura 33. Modello concettuale del Gestore Gerarchico degli Eventi... 103 Figura 34. Modello gerarchico degli eventi... 105 Figura 35. Attori e ruoli... 107 Figura 36. Casi d uso per il produttore di eventi... 110 Figura 37. Casi d uso per il consumatore di eventi... 111 Figura 38. Casi d uso per il manager della federazione... 111 Figura 39. Interfacce supportate dai nodi broker... 113 Figura 40. Interfaccia ed architettura del componente PublisherRegistrationMgt... 114 Figura 41. Interfaccia ed architettura del componente SubscriptionMgt... 115 Figura 42. Interfaccia ed architettura del componente NotificationBroker... 116 Figura 43. Scenario Topics registration... 128 Figura 44. Scenario Hierarchies registration... 129 Figura 45. Scenario Topics subscription... 131 Figura 46. Scenario Hierarchies subscription... 133 Figura 47. Scenario Topic creation... 134 Figura 48. Scenario Hierarchy creation... 135 Figura 49. Scenario Hierarchy archivation... 136 Figura 50. Scenario Notification... 138 Figura 51. Casi d uso per il Gestore dei Documenti... 140 Figura 52. Interfaccia ed architettura del componente DocumentMgt... 141 Figura 53. Scenario Document registration... 143 Figura 54. Scenario Document update... 144 Figura 55. Scenario Document retrieve... 145 Figura 56. Modello di flusso XACML... 152 Figura 57. Modello dei dati per il flusso XACML... 153 Pagina 7 di 155

1 Status del documento Titolo InFSE - Linee guida e specifiche tecniche Data 15/06/2010 Versione 1.0 Stato Prima Versione Storia delle principali revisioni: Versione Status Data Descrizione Modifica 1.0 Prima versione 15/06/2010 Prima versione rilasciata Pagina 8 di 155

2 Obiettivi del documento Il presente documento ha l obiettivo di indicare le linee guida e le specifiche tecniche di riferimento per l implementazione dell Infrastruttura tecnologica del Fascicolo Sanitario Elettronico (InFSE). Il Fascicolo Sanitario Elettronico (FSE) è qui inteso come l insieme di documenti informatici di tipo sanitario (prescrizioni, referti, patient summary, etc.) inerenti allo stato di salute dei cittadini prodotti all atto dei loro rapporti con i diversi attori del Servizio Sanitario Nazionale (SSN). Scopo di InFSE è quello di offrire un infrastruttura tecnologica che consenta a tutti i cittadini e agli operatori sanitari autorizzati di accedere ai documenti sanitari di loro competenza, ovunque essi siano localizzati nel terriorio nazionale e nel rispetto della tutela della privacy, e di facilitare la gestione dell evoluzione dello stato nel tempo dei processi sanitari. Le informazioni sanitarie devono essere rese disponibili sia per gli usi primari, quali assistenza ed emergenza, che per gli usi secondari, ossia per scopi amministrativi e di governo. L Infrastruttura tecnologica del FSE deve essere compatibile con le soluzioni architetturali locali già sviluppate in una visione orientata verso un unico modello di infrastruttura federata, condivisa a livello nazionale e allineata allo scenario internazionale. Inoltre, essa deve recepire i requisiti infrastrutturali necessari alla interoperabilità funzionale e semantica oggetto dei progetti nazionali ed europei. Allo scopo di rispettare i requisiti descritti, il modello architetturale di InFSE deve rispecchiare, nel suo complesso, un architettura orientata ai servizi (Service Oriented Architecture, SOA), la quale, a sua volta, deve essere posta al di sopra delle infrastrutture tecnolgiche del Sistema Pubblico di Connettività (SPC) per la cooperazione applicativa. Pagina 9 di 155

3 Termini e acronimi Acronimo Termine CDA Clinical Document Architecture DICOM Digital Imaging and COmmunications in Medicine ebxml Electronic Business extensible Markup Language EIS Entity Identification Service epsos European Patients Smart Open Services FSE Fascicolo Sanitario Elettronico HIMSS Healthcare Information and Management Systems Society HL7 Health Level Seven HSSP Healthcare Services Specification Project IHE Integrating the Healthcare Enterprise InFSE Infrastruttura tecnologica IPSE Sperimentazione di un sistema per l Interoperabilità europea e nazionale delle soluzioni di fascicolo sanitario elettronico: componenti Patient Summary e eprescription Pagina 10 di 155

MTOM Message Transmission Optimization Mechanism OMG Object Management Group PA Pubblica Amministrazione PAP Policy Administration Point PDD Porta di Dominio PDP Policy Decision Point PEP Policy Enforcement Point PIP Policy Information Point RFP Request for Proposal RLUS Retrieve, Locate and Update Service RSNA Radiological Society of North America RTM Role Retrieval Manager SAML Security Assertion Markup Language SFM Service Functional Model SOA Service Oriented Architecture Pagina 11 di 155

SOAP Simple Object Access Protocol SSN Servizio Sanitario Nazionale SPC Sistema Pubblico di Connettività SSO Single Sign On STM Service Technical Model TSE Tavolo di Sanità Elettronica URI Universal Resource Identifier XACML extensible Access Control Markup Language XCA Cross-Enterprise Community Access XDS Cross-Enterprise Document Sharing XEIS Cross Domain Entity Identification Service XML extensible Markup Language XOP XML-binary Optimized Packaging WSDL Web Services Description Language WS-MEX Web Services Metadata Exchange Pagina 12 di 155

4 Contesto internazionale e nazionale 4.1 Healthcare Services Specification Project (HSSP) Il progetto HSSP nasce nel gennaio 2005 dalla collaborazione di Health Level Seven (HL7) con Object Management Group (OMG). L obiettivo principale del progetto è l incentivazione all adozione e all uso di servizi plug-and-play standardizzati da parte dei vendors di prodotti software sanitari e facilitare lo sviluppo di un insieme di interfacce standard implementabili che supportino specifiche di servizi condivise. Le specifiche seguono uno specifico processo di stesura di seguito descritto. Il ruolo principale di HL7 nella stesura delle specifiche è quello di identificare i servizi candidati per la standardizzazione, specificare i requisiti funzionali ed i criteri di conformità in forma di specifiche Service Functional Model (SFM) e adottare queste ultime come standard HL7 ballottati. A partire dalle SFM specificate da HL7, OMG ha il compito di sviluppare le Requests for Proposals (RFPs), che sono alla base del processo di standardizzazione di OMG. Questo processo consente ai vendors di proporre soluzioni che soddisfino i requisiti obbligatori e opzionali espressi nella RFP, lasciando flessibilità di progettazione ai proponenti e flessibilità di implementazione agli utenti dello standard. Il risultato di tale collaborazione è una RFP Submission, nota nel processo HSSP come Service Technical Model (STM). In sintesi, le SFM di HL7 specificano i requisiti funzionali di un servizio, le RFP di OMG specificano i requisiti tecnici di un servizio ed una STM rappresenta il modello tecnico risultante. Nell ambito del progetto HSSP, sono state attivate una serie di attività. Quelle di maggior rilievo sono descritte di seguito. 4.1.1 Retrieve, Locate and Update Service (RLUS) L obiettivo del progetto RLUS è quello di fornire una serie di interfacce attraverso cui i sistemi informativi possono accedere alle informazioni e gestirle. Tali interfacce Pagina 13 di 155

permettono di localizzare, accedere e aggiornare i dati sanitari, indipendentemente dalla strutturazione dei dati, dagli aspetti di sicurezza o dai meccanismi di delivery sottostanti. RLUS infatti non intende rimpiazzare i sistemi o le implementazioni esistenti, ma creare un interfaccia standard per un layer orientato ai servizi al fine di esporre le risorse di una organizzazione. I componenti di sistema più importanti sono i seguenti: Organizational Resource Registry: contiene informazioni per la localizzazione di informazioni sanitarie; Local Resource Service (RLUS): funge da mediatore per le transazioni di locazione, recupero e aggiornamento; Cross-Organizational RLUS: rappresenta un implementazione tra più organizzazioni RLUS; Organizational Resource Repository: memorizza Resource Source; Resource Source: rappresenta informazioni, dati ed altri oggetti di interesse ai consumatori RLUS; User System: rappresenta un qualsiasi sistema informativo sanitario che interagisce con l utente e si interfaccia con i componenti RLUS. 4.1.2 Entity Identification Service (EIS) Il progetto EIS ha come obiettivo quello di produrre specifiche tecniche che definiscono le interfacce di servizio per l identificazione univoca dei pazienti nell ambito di diversi sistemi informativi gestiti da una singola organizzazione o da più organizzazioni cooperanti. Inoltre, le specifiche prodotte nell ambito del progetto EIS forniscono le basi per identificare univocamente altre entità all interno del dominio, tra cui provider individuali e istituzionali, dispositivi medicali, etc. Il servizio EIS, quindi, fornisce funzionalità per definire, aggiornare e gestire l identità delle entità. Inoltre, il servizio EIS si interfaccia con i sistemi informativi presenti all interno delle strutture sanitarie, quali ad esempio Hospital Information System (HIS), Radiology Information System (RIS), Cardiology Information System (CIS), etc. è possibile anche l utilizzo di un servizio Cross Domain Entity Identification Service Pagina 14 di 155

(XEIS), che permette di associare più identificatori locali, a domini provvisti di servizi EIS, ad una singola entità inter-dominio. Tale servizio consente anche l accesso e la gestione degli identificatori dei domini locali. 4.2 Integrating the Healthcare Enterprise (IHE) IHE è un iniziativa internazionale nata nel 1998 dalla collaborazione di Radiological Society of North America (RSNA) e Healthcare Information and Management Systems Society (HIMSS) atta a supportare l integrazione di sistemi informativi sanitari sulla base di standard esistenti (soprattutto DICOM e HL7). IHE definisce una serie di profili di integrazione, ognuno dei quali mira a risolvere problematiche relative ad uno specifico dominio. In questo contesto, i profili di integrazione più interessanti sono Cross-Enterprise Document Sharing (XDS) e Cross-Community Access (XCA). Il profilo XDS fornisce un insieme di linee guida per la creazione di un infrastruttura tecnologica per la condivisione di documenti clinici all interno di un affinity domain. Un affinity domain è un insieme di strutture sanitarie che decidono di cooperare sulla base di infrastrutture e politiche condivise. Questo profilo è gestito da un insieme di attori: più Document Source, che producono i documenti clinici, più Document Repository, che memorizzano i documenti clinici in maniera persistente, un Document Registry, che indicizza i documenti clinici, più Document Consumer, che reperiscono i documenti clinici, un Patient Identity Source, che assegna un identificatore univoco degli assistiti e mantiene le informazioni anagrafiche. Le interazioni tra gli attori avvengono sotto forma di transazioni. In particolare, la seconda versione di questo profilo, denominata XDS.b, utilizza gli standard più recenti (ebxml 3.0, SOAP 1.2, MTOM/XOP). Il profilo XCA definisce un insieme di linee guida per lo scambio documentale tra differenti community. Una community è un insieme di strutture sanitarie che condividono politiche e protocolli di comunicazione. Rispetto a XDS, questo profilo aggiunge due tipi di attori: Initiating Gateway, che gestisce tutte le transazioni in uscita da una community e le inoltra alle altre community, e Responding Gateway, Pagina 15 di 155

che gestisce tutte le transazioni in ingresso ad una community e le inoltra agli attori interni. È interessante notare che il profilo XCA consente di far interoperare tra loro community eterogenee, a prescindere se esse siano basate o meno sul profilo XDS. 4.3 European Patients Smart Open Services (epsos) epsos è un progetto ad estensione europea organizzato da 27 beneficiari che rappresentano 12 Stati Membri dell Unione Europea. Il progetto epsos è finalizzato a garantire la continuità di cura ai pazienti che si trovano all estero e mira a risolvere i problemi incontrati dai medici. Questi problemi riguarduano l erogazione di farmaci importanti che un paziente ha perso o dimenticato, la comunicazione di situazioni cliniche a dottori che parlano una lingua straniera, la diagnosi di malattie e la prescrizione di opportuni farmaci attraverso una sommaria conoscenza della storia del paziente. Alcuni Stati Membri hanno già implementato questi servizi all interno dei loro sistemi sanitari nazionali, mentre altri lo stanno per fare. In ogni caso, la maggior parte di tali sistemi non può ancora interoperare. L obiettivo di epsos è quindi quello di assicurare che le soluzioni nazionali possano interoperare tra di loro, permettendo a professionisti sanitari di accedere ai dati di un paziente da un altro paese nel proprio linguaggio, usando differenti tecnologie e sistemi. A tal proposito, l idea è quella di sviluppare un framework tecnologico per l ehealth ed un infrastruttura ICT al fine di permettere un accesso sicuro alle informazioni sanitarie dei pazienti localizzate in altri paesi, in particolar modo relative ai Patient Summary e alle eprescription. Al fine di facilitare l interoperabilità dei Patient Summary e delle eprescription, è prevista la possibilità di trasferire sia documenti in forma strutturate che in forma destrutturata. 4.4 Sperimentazione di un sistema per l Interoperabilità europea e nazionale delle soluzioni di fascicolo sanitario elettronico: componenti Patient Summary e Pagina 16 di 155

eprescription (IPSE) IPSE è un progetto nazionale a cui partecipano il Dipartimento per la digitalizzazione della Pubblica Amministrazione e l innovazione tecnologica, il Ministero della Salute, la Regione Lombardia, in qualità di coordinatore, la Regione Abruzzo, la Regione Molise, la Regione Emilia Romagna, la Regione Toscana, la Regione Umbria, la Regione Veneto, la Regione Autonoma della Sardegna, la Provincia Autonoma di Trento e l Agenzia Regionale della Sanità della Regione Autonoma Friuli Venezia Giulia. IPSE ha tra i principali obiettivi quello di assicurare il raccordo con quanto si sta realizzando nel progetto epsos, garantendo l interoperabilità inter-regionale dei sistemi di sanità elettronica, con particolare attenzione ai servizi di Patient Summary e eprescription. Pagina 17 di 155

5 Requisiti dell Infrastruttura del FSE Il modello architetturale dell Infrastruttura tecnologica del FSE deve essere rispondente a specifiche esigenze progettuali, le più importanti delle quali sono elencate di seguito. 1. Consentire la localizzazione e la disponibilità delle informazioni sanitarie Le informazioni sanitarie degli assistiti devono essere sempre accessibili da utenti autorizzati, ovunque esse siano memorizzate. 2. Supportare adeguatamente i processi sanitari L Infrastruttura deve permettere agli attori del SSN di seguire i processi di cura dei propri assistiti, notificando opportuni eventi clinici ad ogni loro occorrenza. 3. Supportare la natura federata e decentralizzata del SSN Al fine di rispettare l autonomia delle Regioni, l Infrastruttura non deve essere basata su logiche centralizzate, ma deve essere federata. 4. Consentire una facile integrazione con sistemi e infrastrutture preesistenti L approccio alla progettazione dell Infrastruttura deve essere di tipo bottom-up, ossia deve mirare a rendere interoperabili i sistemi e le infrastrutture regionali di sanità elettronica. 5. Essere basato su standard aperti e sulle tecnologie dell Internet del futuro L uso di standard aperti e delle tecnologie dell Internet del futuro facilita l interoperabilità delle infrastrutture e dei sistemi regionali e minimizza gli investimenti. 6. Presentare caratteristiche di scalabilità e modularità L Infrastruttura deve essere modulare e scalabile, al fine di consentirne uno sviluppo incrementale e distribuito. 7. Fornire caratteristiche di affidabilità La progettazione dell Infrastruttura deve tenere in considerazione criteri di dependability, che la rendano fault-tolerant e priva di single-point-of-failure. 8. Fornire adeguate caratteristiche prestazionali Pagina 18 di 155

L Infrastruttura deve offrire opportune proprietà prestazionali in termini di accessibilità ai documenti e dati sanitari. 9. Garantire un elevato livello di sicurezza L Infrastruttura deve essere capace di gestire gli aspetti di identificazione ed autenticazione degli utenti e dei componenti e di accesso ai documenti. 10. Essere basato sul Sistema Pubblico di Connettività (SPC) Le interazioni tra i componenti infrastrutturali appartenenti a domini differenti devono avvenire attravero le regole di cooperazione applicativa previste dal Sistema Pubblico di Connettività. 11. Essere conforme alle indicazioni del Garante della Privacy L Infrastruttura deve rispettare le normative vigenti in materia di riservatezza e accesso ai dati contenuti nel Fascicolo Sanitario Elettronico. Pagina 19 di 155

6 Modello architetturale di InFSE 6.1 Descrizione del modello Il FSE di un cittadino può essere visto come una composizione di tutti i documenti socio-sanitari inerenti al suo stato di salute. L Infrastruttura del FSE deve garantire la consultazione di tali documenti, e anche la possibilità di gestire l evoluzione temporale dello stato sia dei documenti sia dei processi sanitari. L Infrastruttura tecnologica del FSE deve integrare tra loro tutte le strutture che a vario titolo concorrano alla produzione (e/o alla consultazione) di eventi concernenti l interazione del singolo assistito con il SSN. In Figura 1 è descritto il modello architetturale di alto livello di InFSE, attraverso il quale le strutture sanitarie interagiscono tra loro mediante opportuni moduli software (inglobati nel blocco Componenti Infrastruttura FSE in figura), localizzati presso le strutture sanitarie o le Regioni. L architettura prevede dei nodi di primo livello (nodi regionali) e nodi di secondo livello (nodi locali). I nodi regionali contemplano la presenza di tutti i componenti infrastrutturali del FSE e sono in grado di garantire tutte le funzionalità necessarie al reperimento e alla gestione delle informazioni. I nodi locali possono essere funzionalmente equivalenti ai nodi regionali (nodi locali completi) o prevedere solo alcuni dei componenti infrastrutturali (nodi locali assistiti). Il modello architetturale prevede l adozione del Sistema Pubblico di Connettività per le comunicazioni tra le varie componenti infrastrutturali. Conseguentemente, per ogni nodo regionale è previsto il collegamento mediante una Porta di Dominio (PDD), mentre un nodo locale può esporsi sia direttamente mediante una propria PDD, o indirettamente attraverso un nodo regionale. Pagina 20 di 155

Figura 1. Modello architetturale di InFSE Pagina 21 di 155

6.2 Architettura multi-layers Il modello architetturale di InFSE rispecchia, nel suo complesso, un architettura orientata ai servizi (Service Oriented Architecture, SOA). Tale architettura è organizzata in più livelli (layers) ed è mostrata in Figura 2. Figura 2. Architettura multi-layers di InFSE Il Connectivity layer è rappresentato dal Sistema Pubblico di Connettività per la cooperazione applicativa tra le Pubbliche Amministrazioni mediante busta egov. In particolare, tutte le interazioni inter-regionali devono avvenire attraverso una Porta di Dominio. Il Component layer è costituito dalle componenti infrastrutturali del FSE, che sono descritte in dettaglio nel seguito del documento. Infine, il Business layer definisce i servizi di supporto ai processi sanitari quali, ad esempio, l eprescription, la prenotazione di una visita specialistica, etc. Pagina 22 di 155

7 Architettura dei componenti di InFSE 7.1 Interfaccia di Accesso Questo componente funge da interfaccia all Infrastruttura del Fascicolo Sanitario Elettronico e deve essere presente in ogni nodo regionale e locale. L Interfaccia di Accesso di un nodo regionale è il componente che riceve tutte le richieste avanzate dagli attori regionali (es. Medico di Medicina Generale) e dalle Interfacce di Accesso dei nodi delle altre Regioni o Province Autonome. A fronte di una richiesta, l Interfaccia di Accesso del nodo regionale inizia ad orchestrare una serie di interazioni con gli altri componenti dell Infrastruttura al fine di soddisfare la richiesta. Le installazioni presso i nodi locali hanno principalmente lo scopo di costituire il punto di accesso all Infrastruttura per i sistemi informativi locali. In tal caso, quindi, se da un lato l Interfaccia di Accesso di un nodo locale offre i servizi di accesso all Infrastruttura agli attori attivi presso il nodo locale, dall altro ha il compito di intercettare gli eventi prodotti presso i componenti legacy del nodo locale che possono essere di interesse per l Infrastruttura stessa. Questi ultimi saranno perciò notificati ai registri ed ai nodi broker regionali. Pagina 23 di 155

7.1.1 Attori e ruoli E possibile identificare i seguenti attori e ruoli negli scenari di interazione con il componente: DocumentProducer E l entità capace di produrre nuovi documenti o aggiornamenti per documenti preesistenti; DocumentConsumer E l entità capace di consumare documenti mantenuti nel FSE; Publisher E l entità capace di pubblicare nuovi eventi per conto di un produttore; NotificationProducer E l entità capace di produrre nuovi eventi; Subscriber E l entità capace di sottoscrivere eventi per conto di un consumatore; NotificationConsumer E l entità capace di consumare eventi; FederationManager E l entità capace di gestire le federazioni; Event Producer E l entità capace sia di pubblicare che di produrre nuovi eventi; Event Consumer E l entità capace di sottoscrivere e consumare eventi; Entry Producer E l entità capace di produrre nuove entry per i registri; Entry Consumer E l entità capace di consumare entry dei registri; Registry Node E un nodo capace di entrare in federazione con altri registri; Broker Node E un nodo capace di entrare in federazione con altri nodi brokers. Le relazioni fra attori e ruoli sono rappresentate in Figura 3. Pagina 24 di 155

Figura 3. Attori e ruoli Pagina 25 di 155

7.1.2 Casi d uso Si definiscono i seguenti casi d uso per ll componente Interfaccia di Accesso. 7.1.2.1 Casi d uso per la gestione dei documenti AddDocument E la funzionalità che permette di aggiungere un nuovo documento al fascicolo; RegisterDocument E la funzionalità che permette di registrare nel fascicolo un documento preesistente o creato direttamente presso uno dei sistemi informativi sanitari gestiti da un componente Gestore dei Documenti; UpdateDocument E la funzionalità che permette di aggiornare un documento preesistente. L aggiornamento può riguardare sia lo stato che la versione del documento; RetrieveDocument E la funzionalità che permette di ottenere un documento dal gestore. AddDocument RegisterDocument Document Producer UpdateDocument RetrieveDocument Document Consumer Figura 4. Casi d uso per la gestione dei documenti 7.1.2.2 Casi d uso per la gestione degli eventi Register E la funzionalità che permette la pubblicazione di uno o più topic. Attraverso questa funzionalità un publisher comunica al fascicolo la possibilità di generare nuovi eventi; RegisterHierarchy E la funzionalità che consente la registrazione di un intera gerarchia da parte di un producer; Pagina 26 di 155

DestroyRegistration E la funzionalità che permette l eliminazione di una registrazione; CreateTopic E la funzionalità che permette di creare una nuova classe di eventi; ArchiveTopic E la funzionalità che permette di archiviare una classe di eventi. Dal momento dell archiviazione, il topic non è più disponibile per la notifica di nuovi eventi; piuttosto, è ancora possibile ottenere gli eventi archiviati; CreateHierarchy E la funzionalità che permette la creazione di una nuova gerarchia; ArchiveHierarchy E la funzionalità che permette di archiviare un intera gerarchia e tutti gli eventi prodotti ad essa correlati; CreateAssociation E la funzionalità che consente la creazione dinamica di un associazione tra topics all interno di una gerarchia; RemoveAssociation E la funzionalità che permette la rimozione di un associazione tra topics all interno di una gerarchia; Notify E la funzionalità che permette la notifica di un evento al gestore; GetAllTopics E la funzionalità che permette di ottenere la lista di tutti i topics accessibili; GetAllHierarchies E la funzionalità che permette di ottenere le gerarchie attive attraverso opportuni parametri di filtraggio; Subscribe E la funzionalità che permette la sottoscrizione di uno o più topics; SubscribeHierarchy E la funzionalità che permette la sottoscrizione di un intera gerarchia; Renew E la funzionalità che permette di rinnovare una sottoscrizione; Unsubscribe E la funzionalità che permette la rimozione dall elenco dei sottoscrittori; GetCurrentMessage E la funzionalità che permette di ottenere l ultimo messaggio notificato per un determinato topic; RetrieveEvents E la funzionalità che permette di ottenere tutti gli eventi notificati in relazione ad un determinato topic; RetrieveHierarchy E la funzionalità che permette di ottenere tutti gli eventi notificati in relazione ad una determinata gerarchia. Pagina 27 di 155

Register RegisterHierarchy DestroyRegistration CreateTopic Event Producer ArchiveTopic CreateHierarchy ArchiveHierarchy CreateAssociation RemoveAssociation Notiy GetAllTopics GetAllHierarchies Figura 5. Casi d uso per il produttore di eventi Subscribe SubscribeHierarchy Renew Unsubscribe GetCurrentMessage Event Consumer GetAllTopics GetAllHierarchies RetrieveHierarchy RetrieveEvents Pagina 28 di 155

Figura 6. Casi d uso per il consumatore di eventi Pagina 29 di 155

7.1.2.3 Casi d uso per la gestione degli indici ai documenti RegisterEntry È la funzionalità che consente di inviare metadati inerenti ad uno o più documenti/servizi ad un registro; UpdateEntry È la funzionalità che permette l aggiornamento dei metadati inerenti ad uno o più documenti/servizi; ApproveEntry È la funzionalità che permette di approvare i metadati presenti in un registro sulla base di specifici criteri; DeprecateEntry È la funzionalità che permette di specificare che particolari metadati sono obsoleti; UndeprecateEntry È la funzionalità che permette di specificare che particolari metadati non sono più obsoleti; RemoveEntry È la funzionalità che permette di rimuovere specifici metadati da un registro (deve essere utilizzata solo in particolari condizioni); RelocateEntry È la funzionalità che permette di rilocare specifici metadati in un altro registro; SubscribeEvent È la funzionalità che permette di sottoscrivere l interesse a ricevere eventi relativi alla sincronizzazione dei registri; UnsubscribeEvent È la funzionalità che permette la rimozione di una sottoscrizione; Query È la funzionalità che permette di sottoporre query ad uno specifico registro o ad una federazione di registri. Pagina 30 di 155

RegisterEntry UpdateEntry ApproveEntry DeprecateEntry Entry Producer UndeprecateEntry RelocateEntry RemoveEntry Figura 7. Casi d uso per il produttore di indici Query Entry Consumer SubscribeEvent UnsubscribeEvent Figura 8. Casi d uso per il consumatore di indici Pagina 31 di 155

7.1.2.4 Casi d uso per la gestione delle federazioni CreateFederation E la funzionalità che consente la creazione di una nuova federazione; JoinFederation E la funzionalità che consente ad un nodo l ingresso in federazione; Connect E la funzionalità che permette ad un nodo di connettersi logicamente ad un altro nodo della federazione; LeaveFederation E la funzionalità che consente ad un nodo di uscire dalla federazione; DissolveFederation E la funzionalità che permette la rimozione logica di una federazione; SetCoordinator È la funzionalità che permette di specificare il nodo coordinatore all interno di una federazione; RouteEvent E la funzionalità che consente la propagazione di un evento tra i nodi della federazione di brokers. CreateFederation JoinFederation Connect LeaveFederation <<Role>> FederationManager DissolveFederation RouteEvent SetCoordinator Figura 9. Casi d uso per il manager della federazione Pagina 32 di 155

7.1.3 Architettura del servizio L Interfaccia di Accesso fornisce i meccanismi di accesso all Infrastruttura del Fascicolo Sanitario Elettronico. Il servizio supporta le seguenti interfacce di sistema: IDocument è l interfaccia per l accesso ed il caricamento di documenti nel FSE; IEvent è l interfaccia per la gestione degli eventi, classi di eventi e gerarchie di classi; IEntry è l interfaccia per la gestione dei riferimenti ai documenti nel registro indice federato; IBrokerFederation è l interfaccia per la gestione della federazione di nodi broker di eventi; IRegistryFederation è l interfaccia per la gestione della federazione di registri. L architettura delle interfacce e le loro dipendenze dalle interfacce di livello business degli altri componenti dell infrastruttura sono mostrate in Figura 10, Figura 11 e Figura 12. Pagina 33 di 155

RegionalBrokerNode <<System Layer Interface>> IEvent +Register(PublisherReference, Topic[]): RegistrationID +RegisterHierarchy(PublisherReference, HierarchyID[]): RegistrationID +DestroyRegistration(RegistrationID) +Subscribe(SubscriberReference, Topic[], SubscriberType, Expiration): SubscriptionID +SubscribeHierarchy(SubscriberReference, HierarchyID, Attribute[], AttributeValue[], SubscriberType, Expiration): SubscriptionID +Renew(SubscriptionID, Expiration) +Unsubscribe(SubscriptionID) +CreateTopic(Owner, Topic, Attribute[]) +ArchiveTopic(Owner, Topic) +CreateHierarchy(Owner, RootTopic, Attribute[], AttributeValue[]): HierarchyID +ArchiveHierarchy(Owner, HierarchyID) +CreateAssociation(Owner, FromTopic, ToTopic, HierarchyID) +RemoveAssociation(Owner, FromTopic, ToTopic, HierarchyID) +Notify(PublisherReference, Topic, HierarchyID, Attribute[], AttributeValue[], Msg): EventID +GetAllTopics(HierarchyID): Topic[] +GetAllHierarchies(RootTopic, Attribute[], AttributeValue[]): Hierarchy[] +GetCurrentMessage(Topic) +RetrieveEvents(Topic, FromDate, ToDate): Event[] +RetrieveHierarchy(HierarchyID): Event[] <<System Layer Interface>> IFederation +CreateFederation(FederationID) +JoinFederation(FederationID, NodeReference) +SetCoordinator(FederationID, NodeReference) +Connect(FederationID, FromNodeReference, ToNodeReference) +LeaveFederation(FederationID, NodeReference) +DissolveFederation(FederationID) +RouteEvent(NodeReference, Msg) 1 1 RegionalBrokerRef -BrokerRef +GetRef() <<Business Layer Interface>> IPublisherRegistrationMgt +Register(PublisherReference, Topic[]): RegistrationID +RegisterHierarchy(PublisherReference, HierarchyID[]): RegistrationID +DestroyRegistration(RegistrationID) <<Business Layer Interface>> INotificationBrokerMgt <<Business Layer Interface>> ISubscriptionMgt +Subscribe(SubscriberReference, Topic[], SubscriberType, Expiration): SubscriptionID +SubscribeHierarchy(SubscriberReference, HierarchyID, Attribute[], AttributeValue[], SubscriberType, Expiration): SubscriptionID +Renew(SubscriptionID, Expiration) +Unsubscribe(SubscriptionID) +GetSubscribers(HierarchyID, Attribute[], AttributeValue[], Topic, SubscriberType): Subscribers[] +CreateTopic(Owner, Topic, Attribute[]) +ArchiveTopic(Owner, Topic) +CreateHierarchy(Owner, RootTopic, Attribute[], AttributeValue[]): HierarchyID +ArchiveHierarchy(Owner, HierarchyID) +CreateAssociation(Owner, FromTopic, ToTopic, HierarchyID) +RemoveAssociation(Owner, FromTopic, ToTopic, HierarchyID) +Notify(PublisherReference, Topic, HierarchyID, Attribute[], AttributeValue[], Msg): EventID +GetCurrentMessage(Topic) +GetAllTopics(HierarchyID): Topic[] +GetAllHierarchies(RootTopic, Attribute[], AttributeValue[]): Hierarchy[] +RetrieveEvents(Topic, FromDate, ToDate): Event[] +RetrieveHierarchy(HierarchyID): Event[] <<Business Layer Interface>> IBrokerFederationMgt +CreateFederation(FederationID) +JoinFederation(FederationID, NodeReference) +Connect(FederationID, FromNodeReference, ToNodeReference) +LeaveFederation(FederationID, NodeReference) +DissolveFederation(FederationID) +RouteEvent(NodeReference, Msg) Figura 10. Interfacce IEvent ed IBrokerFederation Pagina 34 di 155

DocumentMgt <<System Layer Interface>> IDocument +AddDocument(Owner, Status, DocumentObj, DocumentType, DestinationRef): DocumentID +UpdateDocument(DocumentID, Owner, Status, DocumentObj) +RetrieveDocument(DocumentID): DocumentObj +RegisterDocument(DocumentID, Owner, Status, DestinationRef) <<Business Layer Interface>> IDocumentMgt +AddDocument(Owner, Status, DocumentObj): DocumentID +UpdateDocument(DocumentID, Owner, Status, DocumentObj) +RetrieveDocument(DocumentID): DocumentObj 0..* DocumentMgtRef -DocumentMgtRef +GetRef(): DocumentMgtRef Figura 11. Interfaccia IDocument Pagina 35 di 155

<<System Layer Interface>> IEntry +RegisterEntry(registerEntryRequest): registerentryresponse +UpdateEntry(updateEntryRequest): updateentryresponse +ApproveEntry(approveEntryRequest): approveentryresponse +DeprecateEntry(deprecateEntryRequest): deprecateentryresponse +UndeprecateEntry(undeprecateEntryRequest): undeprecateentryresponse +RemoveEntry(removeEntryRequest): removeentryresponse +RelocateEntry(relocateEntryRequest): relocateentryresponse +QueryRegistry(queryRegistryRequest): queryregistryresponse +StoreQuery(storeQueryRequest): storequeryresponse +SubscribeEvent(subscribeEventRequest): subscribeeventresponse +UnsubscribeEvent(unsubscribeEventRequest): unsubscribeeventresponse +NotifyEvent(event) <<System Layer Interface>> IRegistryFederation +CreateFederation(createFederationRequest): createfederationresponse +JoinFederation(joinFederationRequest): joinfederationresponse +LeaveFederation(leaveFederationRequest): leavefederationresponse +DissolveFederation(dissolveFederationRequest): dissolvefederationresponse +SetRegistryCoordinator(setCoordinatorRegistryRequest): setcoordinatorregistryresponse +QueryFederation(queryFederationRequest): queryfederationresponse 1 RegionalRegistryRef -RegistryRef +GetRef() 1 RegistryNodeMgt <<Business Layer Interface>> IEventMgt +SubscribeEvent(subscribeEventRequest): subscribeeventresponse +UnsubscribeEvent(unsubscribeEventRequest): unsubscribeeventresponse +NotifyEvent(event) <<Business Layer Interface>> IMetadataMgt +RegisterEntry(registerEntryRequest): registerentryresponse +UpdateEntry(updateEntryRequest): updateentryresponse +ApproveEntry(approveEntryRequest): approveentryresponse +DeprecateEntry(deprecateEntryRequest): deprecateentryresponse +UndeprecateEntry(undeprecateEntryRequest): undeprecateentryresponse +RemoveEntry(removeEntryRequest): removeentryresponse +RelocateEntry(relocateEntryRequest): relocateentryresponse <<Business Layer Interface>> QueryMgt +QueryRegistry(queryRegistryRequest): queryregistryresponse +QueryFederation(queryFederationRequest): queryfederationresponse <<Business Layer Interface>> IRegistryFederationMgt +CreateFederation(createFederationRequest): createfederationresponse +JoinFederation(joinFederationRequest): joinfederationresponse +LeaveFederation(leaveFederationRequest): leavefederationresponse +DissolveFederation(dissolveFederationRequest): dissolvefederationresponse +SetRegistryCoordinator(setCoordinatorRegistryRequest): setcoordinatorregistryresponse Figura 12. Interfacce IEntry ed IRegistryFederation Pagina 36 di 155

Si definiscono le seguenti operazioni con i relativi parametri. 7.1.3.1 Interfaccia IDocument Interfaccia: IDocument Metodo: AddDocument E il metodo che permette l inserimento di un nuovo documento. Parametro: Owner Reference del tipo WS-Addressing usata per identificare il produttore del documento. Parametro: Status Parametro opzionale che permette di specificare lo stato iniziale del documento. Parametro: DocumentObj Parametro: DocumentType Documento in formato elettronico. Parametro opzionale indicativo della tipologia di documento. Parametro: DestinationRef Reference opzionale del tipo WS-Addressing usata per identificare il Gestore dei Documenti deputato a memorizzare il nuovo documento. Parametro: DocumentID URN generato per il nuovo documento. Interfaccia: IDocument Metodo: UpdateDocument E il metodo che permette l aggiornamento di un documento pre-esistente. L aggiornamento può riguardare lo stato o la versione del documento stesso. Pagina 37 di 155

Parametro: Owner Reference del tipo WS-Addressing usata per identificare il produttore del documento. Parametro: Status Nuovo stato del documento (opzionale se l aggiornamento riguarda solo la versione del documento). Parametro: DocumentObj Nuova versione del documento (opzionale se l aggiornamento riguarda solo lo stato del documento). Parametro: DocumentID URN identificativo per il dcumento. Interfaccia: IDocument Metodo: RetrieveDocument E il metodo che permette l acquisizione di un documento. Parametro: DocumentObj Parametro: DocumentID Documento in formato elettronico. URN identificativo del documento richiesto. Interfaccia: IDocument Metodo: RegisterDocument E il metodo che permette la registrazione nel FSE di un documento pre-esistente. Parametro: Owner Reference del tipo WS-Addressing usata per identificare il produttore del documento. Parametro: Status Parametro opzionale che permette di specificare lo stato iniziale del documento. Pagina 38 di 155

Parametro: DestinationRef Reference opzionale del tipo WS-Addressing usata per identificare il Gestore dei Documenti deputato a memorizzare il nuovo documento. Parametro: DocumentID URN generato per il nuovo documento. Pagina 39 di 155

7.1.3.2 Interfaccia IEvent Interfaccia: IEvent Metodo: Register E il metodo che permette la pubblicazione di uno o più topic. Attraverso questa funzionalità un publisher comunica al gestore degli eventi la possibilità di generare nuovi eventi appartenenti ad una determinata classe. Parametro: PublisherReference Reference del tipo WS-Addressing usata per identificare il produttore degli eventi. Parametro: Topic[] Lista di TopicExpressions che identificano uno o più Topics. Parametro: RegistrationID URN generato per la nuova registrazione. Interfaccia: IEvent Metodo: RegisterHierarchy E il metodo che permette la pubblicazione di una o più gerarchie. Parametro: PublisherReference Reference del tipo WS-Addressing usata per identificare il produttore degli eventi. Parametro: HierachyID[] Parametro: RegistrationID Lista di identificativi univoci di gerarchie. URN generato per la nuova registrazione. Pagina 40 di 155

Interfaccia: IEvent Metodo: DestroyRegistration E il metodo che permette la cancellazione di una registrazione. Parametro: RegistrationID URN generato per la nuova registrazione. Interfaccia: IEvent Metodo: CreateTopic E il metodo che permette di creare una nuova classe di eventi. Parametro: Owner Reference del tipo WS-Addressing usata per identificare il creatore del topic. Parametro: Topic Paramentro di tipo TopicExpressionType che definisce il nome della classe creata. Parametro: Attribute[] Lista opzionale che identifica una serie di attributi associati al topic. Interfaccia: IEvent Metodo: ArchiveTopic E il metodo che permette di rimuovere una classe di eventi. Parametro: Owner Reference del tipo WS-Addressing usata per identificare il creatore del topic. Parametro: Topic Paramentro di tipo TopicExpressionType che definisce il nome della classe creata. Pagina 41 di 155

Interfaccia: IEvent Metodo: CreateHierarchy E il metodo che permette di creare una nuova gerarchia di eventi. Parametro: Owner Reference del tipo WS-Addressing usata per identificare il creatore della gerarchia. Parametro: RootTopic Paramentro di tipo TopicExpressionType che definisce il nome del RootTopic della gerarchia. Parametro: Attribute[] Lista opzionale che identifica una serie di attributi associati al topic. Parametro: AttributeValue[] Lista opzionale di valori associati agli attributi della gerarchia. Parametro: HierachyID URN identificativo della nuova gerarchia. Interfaccia: IEvent Metodo: ArchiveHierarchy E il metodo che permette di archiviare una gerarchia e tutti gli eventi ad essa associati. Parametro: Owner Reference del tipo WS-Addressing usata per identificare il creatore del topic. Parametro: HierachyID URN identificativo della nuova gerarchia. Interfaccia: IEvent Metodo: CreateAssociation E il metodo che permette di creare una nuova associazione tra topic di una gerarchia. Pagina 42 di 155

Parametro: Owner Reference del tipo WS-Addressing usata per identificare il creatore della gerarchia. Parametro: FromTopic Paramentro di tipo TopicExpressionType che definisce il nome del Topic origine della associazione. Parametro: ToTopic Paramentro di tipo TopicExpressionType che definisce il nome del Topic destinazione della associazione. Parametro: HierachyID URN identificativo della nuova gerarchia. Interfaccia: IEvent Metodo: RemoveAssociation E il metodo che permette di rimuovere una associazione tra topic di una gerarchia. Parametro: Owner Reference del tipo WS-Addressing usata per identificare il creatore della gerarchia. Parametro: FromTopic Paramentro di tipo TopicExpressionType che definisce il nome del Topic origine della associazione. Parametro: ToTopic Paramentro di tipo TopicExpressionType che definisce il nome del Topic destinazione della associazione. Parametro: HierachyID URN identificativo della nuova gerarchia. Pagina 43 di 155

Interfaccia: IEvent Metodo: GetCurrentMessage E il metodo che permette di ottenere dal NotificationBroker l ultimo messaggio notificato per un determinato topic già notificato a tutti i consumatori sottoscritti. Parametro: Topic Parametro: Event Identifica esattamente un Topic. Messaggio di notifica. Interfaccia: IEvent Metodo: GetAllTopics E il metodo che permette di ottenere dal NotificationBroker la lista di tutti i topic accessibili. La lista varia in funzione dei diritti e dei ruoli dell attore richiedente. Parametro: HierachyID URN opzionale identificativo della gerarchia dalla quale ottenere i topics. Se il parametro è {any} il metodo restituirà tutti i topics attivi. Parametro: Topic[] Lista di topics. Interfaccia: IEvent Metodo: GetAllHierarchies E il metodo che permette di ottenere dal NotificationBroker la lista di tutte le gerarchie. Parametro: RootTopic Parametro opzionale di tipo TopicExpressionType che specifica il nome del Pagina 44 di 155

RootTopic della gerarchia richiesta. Parametro: Attribute[] Lista opzionale che identifica una serie di attributi. Parametro: AttributeValue[] Lista opzionale di valori associati agli attributi ed utilizzati come filtro. Parametro: Attribute[] Lista opzionale che identifica una serie di attributi. Hierarchy[] Lista di gerarchie. Interfaccia: IEvent Metodo: RetrieveEvents E il metodo che permette di ottenere tutti gli eventi notificati ed associati ad un determinato topic. Parametro: Topic Parametro di tipo TopicExpressionType che specifica il nome del Topic di cui si voglio ottenere gli eventi. Parametro: Event[] Lista di eventi. Interfaccia: IEvent Metodo: RetrieveHierarchy E il metodo che permette di ottenere tutti gli eventi notificati nell ambito di una determinata gerarchia. Parametro: HierachyID URN identificativo della gerarchia dalla quale Pagina 45 di 155

ottenere gli eventi notificati. Parametro: Event[] Lista di eventi. Interfaccia: IEvent Metodo: Subscribe E il metodo che permette la sottoscrizione di uno o più topics, ossia permette la sottoscrizione di un consumatore presso il NotificationBroker per la ricezione degli eventi relativi ad un dato NotificationProducer. Parametro: SubscriberReference Una reference del tipo WS-Addressing usata per identificare il consumatore degli eventi. Parametro: Topic[] Parametro: Expiration Lista di topics da sottoscrivere. Contiene informazioni circa la data di scadenza della sottoscrizione. Parametro: SubscriptionType Questo paramentro permettere di distinguere rispetto alla tipologia di sottoscrittore. Parametro: SubscriptionID URN identificativo della nuova sottoscrizione. Interfaccia: IEvent Metodo: SubscribeHierarchy E il metodo che permette la sottoscrizione di una intera gerarchia. Parametro: SubscriberReference Una reference del tipo WS-Addressing usata per identificare il consumatore degli eventi. Parametro: HierarchyID Parametro: Expiration Identificativo della gerarchia da sottoscrivere. Contiene informazioni circa la data di scadenza Pagina 46 di 155

della sottoscrizione. Parametro: Attribute[] Parametro: AttributeValue[] Parametro: SubscriptionType Lista opzionale di valori associati agli attributi. URN identificativo della nuova sottoscrizione. Questo paramentro permettere di distinguere rispetto alla tipologia di sottoscrittore. Parametro: SubscriptionID URN identificativo della nuova sottoscrizione. Interfaccia: IEvent Metodo: Renew E la metodo che consente di rinnovare una sottoscrizione. Parametro: Expiration Contiene informazioni circa la data di scadenza della sottoscrizione. Parametro: SubscriptionID URN identificativo della nuova sottoscrizione. Interfaccia: IEvent Metodo: Unsubscribe E il metodo che permette la rimozione dall elenco dei sottoscrittori. Parametro: SubscriptionID URN identificativo della nuova sottoscrizione. Interfaccia: IEvent Metodo: GetSubscribers E il metodo che permette di ottenere i Pagina 47 di 155