Il servizio di comunicazione metadati è invocato da un sistema documentale che crea o aggiorna, in una RDE, un documento sanitario. Il sistema di FSE regionale effettua la creazione/aggiornamento di un documento (attraverso modalità e protocolli legacy previsti dalla RDE) e provvede alla creazione di una transazione [ITI-42] Register Document Set-b[1], comportandosi come un attore Embedded XDS Document Source and Repository, verso l’attore National Gateway dell’INI che provvede all’inoltro verso la XDS Document Registry della RDA, ovvero all’indice temporaneo gestito dall’INI. Nel contesto di questa transazione, il metadato XDSDocumentEntry.repositoryUniqueId indica il repository all’interno del quale il documento è disponibile, mentre il metadato XDSSubmissionSet.sourceId individua la RDE che ha prodotto il documento.
Qualora occorra aggiornare esclusivamente i metadati relativi ad un documento (che resta quindi invariato), la transazione IHE da utilizzare è Update Document Set [ITI-57], dove il ruolo di Document Administrator è svolto dalla RDE (RCD) che invia la richiesta verso l’attore National Gateway dell’INI. Questo scenario si applica anche nel caso in cui si richiede l’aggiornamento delle politiche del documento (metadato descritto in tabella 2.7-1 del documento di Affinity Domain). L’INI provvede a sua volta all’inoltro del messaggio verso la RDA, che svolge il ruolo di Document Registry, ovvero all’indice temporaneo gestito dall’INI. La richiesta deve contenere sia il riferimento ai metadati da aggiornare sia i valori dei nuovi metadati. È responsabilità della RDA deprecare i metadati oggetto dell’aggiornamento.
La richiesta da inviare al National Gateway deve contenere l’asserzione di attributo firmata dal sistema regionale richiedente. Il dataset della richiesta e della risposta del messaggio di comunicazione dei metadati è riportato di seguito.
Messaggio di richiesta Comunicazione dei metadati (flussi RDE->INI, INI->RDA, RDA->INI)
Campo |
Tipologia |
Codifica |
Descrizione |
Obbligatorietà |
DatoXDS/SAML (ove applicabile) |
---|---|---|---|---|---|
Identificativo utente |
asserzione attributo |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Codice Fiscale dell’utente che fa richiesta del servizio di interoperabilità |
si |
urn:oasis:names:tc:xacml:1.0:subject:subject-id |
Identificativo organizzazione |
asserzione attributo |
Codifica secondo la Tabella 5.4-3 del documento di Affinity Domain |
Identificativo del dominio dell’utente |
si |
urn:oasis:names:tc:xspa:1.0:subject:organization-id |
Descrizione organizzazione |
asserzione attributo |
Descrizione delle regioni/province autonome italiane |
Descrizione del dominio dell’utente |
no |
urn:oasis:names:tc:xspa:1.0:subject:organization |
Struttura utente |
asserzione attributo |
Codifica HSP.11 - HSP.11bis - STS.11 - RIA.11, ovvero codifica ISTAT della Azienda (ASL) o codifica Tabella 5.4-3 del documento di Affinity Domain |
Identificativo della struttura dell’operatore/professionista sanitario (nel caso in cui l’utente coincida con il paziente non deve essere valorizzato) |
si |
urn:oasis:names:tc:xspa:1.0:environment:locality |
Ruolo utente |
asserzione attributo |
Vedi Tabella 5.4-1 del documento di Affinity Domain per la codifica ruoli |
Ruolo dell’utente che effettua la richiesta |
si |
urn:oasis:names:tc:xacml:2.0:subject:role |
Contesto operativo richiesta |
asserzione attributo |
Vedi tabella 5.4-2 del documento di Affinity Domain |
Contesto operativo della richiesta |
si |
urn:oasis:names:tc:xspa:1.0:subject:purposeofuse |
Tipo documento |
asserzione attributo |
Codifica LOINC |
Tipo di documento da registrare |
no |
urn:oasis:names:tc:xspa:1.0:resource:hl7:type |
Identificativo assistito/genitore-tutore |
asserzione attributo |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Codice Fiscale dell’assistito cui si riferisce la richiesta o del genitore/tutore che ha richiesto l’operazione |
si |
urn:oasis:names:tc:xacml:1.0:resource:resource-id |
Presa in carico |
asserzione attributo |
Possibili valori: true/false |
Indica la presa in carico del paziente. |
si |
urn:oasis:names:tc:xspa:1.0:resource:patient:consent |
Tipo Attività |
asserzione attributo |
Valore: CREATE or UPDATE |
Descrive il tipo di attività: CREATE, READ, UPDATE, DELETE. |
si |
urn:oasis:names:tc:xacml:1.0:action:action-id |
Elenco Identificativi assistito |
asserzione di identificazione |
|
Lista dei codici fiscali associati all’assistito, di cui uno è quello valido |
si (solo per il flusso INIàRDA e per assistiti con più codici fiscali) |
|
Tipologia di struttura che ha prodotto il documento |
specifico per messaggio |
Da Affinity Domain, Tabella 2.8-1 |
(codifica della specialità o del tipo di struttura) |
no |
DocumentEntry. healthcareFacilityTypeCode (ITI TF:3 4.2.3.2.11) |
Identificativo organizzazione che custodisce il documento |
specifico per messaggio |
Codifica OID nazionale delle regioni/province autonome italiane |
Identificativo del dominio regionale che custodisce il documento |
si |
SubmissionSet.sourceId (ITI TF:3 4.2.3.3.9 ) |
Identificativo assistito |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Codice Fiscale dell’assistito per cui è stato prodotto il documento |
si |
SubmissionSet.patientId (ITI TF:3 4.2.3.3.8) e DocumentEntry.patientId (ITI TF:3 4.2.3.2.16) |
Tipo MIME |
specifico per messaggio |
Da Affinity Domain, Tabella 2.10-1 |
Indica il mime type del documento |
si |
DocumentEntry.mimeType (ITI TF:3 4.2.3.2.15) |
Livello di confidenzialità |
specifico per messaggio |
Da Affinity Domain, Tabella 2.5-1 |
Indica il livello di confidenzialità del documento (ad es. se contiene informazioni a maggior tutela di anonimato). I documenti a maggior tutela di anonimato devono essere resituiti solo se il paziente ha deciso preventivamente di renderli visibili. |
si |
DocumentEntry.confidentialityCode (ITI TF:3 4.2.3.2.5) |
Regole di accesso |
specifico per messaggio |
Da Affinity Domain, come specificato al paragrafo 2.7 |
Indica la lista di codici che identificano le politiche di accesso associate al documento. |
no |
DocumentEntry.eventCodeList (ITI TF:3 4.2.3.2.8) |
Identificativo repository |
specifico per messaggio |
Codificato con OID, come specificato al paragrafo 2.14 del documento Affinity Domain |
Identificativo del repository che custodisce il documento |
si |
DocumentEntry.repositoryUniqueId (ITI TF:3 4.2.3.2.18) |
Identificativo documento |
specifico per messaggio |
Da Affinity Domain, come specificato al paragrafo 2.19 del documento Affinity Domain |
Identificativo del documento |
si |
DocumentEntry.uniqueId (ITI TF:3 4.2.3.2.26) |
Tipo documento (alto livello) |
specifico per messaggio |
Da Affinity Domain, come specificato al paragrafo 2.3 |
Descrive la tipologia di documento ad alto livello (Prescrizione, Report, Immagine, …) |
si |
DocumentEntry.classCode (ITI TF:3 4.2.3.2.3) |
Tipologia documento (medio livello) |
specifico per messaggio |
Codifica LOINC (i possibili valori sono indicati in Tabella 2.18-1 del documento di Affinity Domain) |
Descrive la tipologia di documento in modo più dettagliato (prescrizione specialistica, prescrizione farmaceutica, …). Valori da Affinity Domain |
si |
DocumentEntry.typeCode (ITI TF:3 4.2.3.2.25) |
Tipologia documento (basso livello) |
specifico per messaggio |
Da Affinity Domain, come specificato in Tabella 2.6-1 |
Unito al typeCode permette di individuare la struttura di un documento (es. template per i documenti in formato CDA R2) |
si |
DocumentEntry.formatCode (ITI TF:3 4.2.3.2.9)
|
Riferimento documento |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Identifica il documento da aggiornare (obbligatorio in caso di aggiornamento di un documento) |
no, obbligatorio in caso di aggiornamento di un documento |
Viene realizzato mediante la creazione di una associazione (ITI TF:3 Table 4.2.2-1) |
Identificativo univoco documento all’interno del Registry |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Necessario per creare relazioni tra i documenti |
si |
DocumentEntry.entryUUID (ITI TF:3 4.2.3.2.7) |
Versione dell’oggetto documento gestito dal Registry |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Necessario per aggiornare i metadati associati ad un documento Esempio:
<Slot name="PreviousVersion"> <ValueList> <Value>1</Value> </ValueList> </Slot>
|
si |
|
Data validazione documento |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Data del documento |
si |
DocumentEntry.creationTime (ITI TF:3 4.2.3.2.6) |
Autore del documento |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Codice fiscale, struttura sanitaria, ruolo, specialità e riferimenti dell’autore del documento |
si |
DocumentEntry.author (ITI TF:3 4.2.3.2.1) e XDSSubmissionSet.author (ITI TF:3 4.2.3.3.1) |
Hash/size |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Parametri caratterizzanti il documento |
si |
DocumentEntry.hash (ITI TF:3 4.2.3.2.10)
DocumentEntry.size (ITI TF:3 4.2.3.2.21) |
Assetto organizzativo che ha portato alla creazione del documento |
specifico per messaggio |
Da Affinity Domain, come specificato in Tabella 2.12-1 |
Es. Medicina Generale, Pediatria,ecc. |
si |
DocumentEntry. practiceSettingCode (ITI TF:3 4.2.3.2.17) |
Identificativo del paziente al momento della creazione del documento |
Specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Codice Fiscale del paziente. Questo valore non cambia a seguito dell’ unione di più identificativi. |
si |
DocumentEntry.sourcePatientId (ITI TF 3: 4.2.3.2.23) |
Tipo Attività Clinica che ha portato alla creazione del documento |
specifico per messaggio |
Da Affinity Domain, come specificato in Tabella 3.2-1 |
Es. consulto, prestazione prenotata erogata,taccuino, ecc. |
si |
SubmissionSet.contentTypeCode (ITI TF:3 4.2.3.3.4) |
Lingua del documento |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Indica la lingua del documento |
no |
DocumentEntry.languageCode (ITI TF 3: 4.2.3.2.13) |
Data della prestazione |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Indica le date di inizio e fine della prestazione sanitaria che ha comportato la produzione del documento |
no |
DocumentEntry. serviceStartTime (ITI TF 3: 4.2.3.2.19) DocumentEntry.serviceStopTime (ITI TF 3: 4.2.3.2.20) |
Rappresentante legale |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3 |
Codice fiscale del rappresentante legale |
no |
DocumentEntry.legalAuthenticator (ITI TF 3: 4.2.3.2.15) |
Informazioni demografiche del paziente |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3 |
Dati anagrafici del paziente |
no |
DocumentEntry.sourcePatientInfo (ITI TF 3: 4.2.3.2.23) |
Stato documento |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Devono essere trasmessi solo documenti con stato Approved |
si |
$XDSDocumentEntryStatus |
Riferimento al documento di prescrizione |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
In caso di comunicazione metadati relativi ad un referto, identifica il documento di prescrizione dematerializzata dal quale è generato il documento oggetto della comunicazione (obbligatorio in caso di documento di tipo referto se generato per rispondere ad una prescrizione dematerializzata esistente) |
no |
DocumentEntry.referenceIdList (ITI TF:3 4.2.3.2.28) |
Conservazione sostitutiva |
specifico per messaggio |
Da Affinity Domain, come specificato al paragrafo 2.21 |
Indica se il documento è memorizzato negli archivi di conservazione sostitutiva |
no |
urn:ita:2017:repository-type |
Data di sottomissione |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Data in cui vengono trasmessi i metadati |
si |
SubmissionSet.submissionTime (ITI TF:3 4.2.3.3.10) |
Identificativo della sottomissione |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Identificativo della sottomissione dei metadati |
si |
SubmissionSet.uniqueId (ITI TF:3 4.2.3.3.12) |
Messaggio di risposta Comunicazione dei metadati con successo (flussi RDA->INI, INI->RDE)
Campo |
Tipologia |
Codifica |
Descrizione |
Obbligatorietà |
---|---|---|---|---|
Stato risposta |
specifico per messaggio |
Come da specifiche IHE |
Successo/Fallimento |
si |
Messaggio di risposta Comunicazione dei metadati con fallimento (flussi RDA->INI, INI->RDE, INI->RDA)
Il messaggio di risposta, in caso di errore, può essere:
- generato dalla RDA, per il flusso di comunicazione tra la RDA e l’INI a seguito di messaggio di richiesta della RDE inoltrato dall’INI (per segnalare l’assenza di diritti di accesso o altri errori); il messaggio è inoltrato dall’INI alla RDE;
- generato dall’INI, per il flusso di comunicazione tra la l’INI e la RDE (per segnalare l’assenza di consenso all’alimentazione dell’assistito o altri errori);
- generato dall’INI, per il flusso di comunicazione tra l’INI e la RDA (per segnalare l’assenza di consenso all’alimentazione dell’assistito, che la regione chiamante è RDA dell’assistito o altri errori).
Campo |
Tipologia |
Codifica |
Descrizione |
Obbligatorietà |
---|---|---|---|---|
Stato risposta |
specifico per messaggio |
Come da specifiche IHE |
Successo/Fallimento |
si |
Codice errore |
specifico per messaggio |
Come da specifiche IHE |
Vedi tabella messaggi errore |
si |
A titolo esemplificativo, in appendice A4, sono riportati i messaggi di richiesta e risposta del servizio. Per maggiore dettagli si rimanda alle specifiche tecniche ufficiali IHE.
Fallimento servizio
Codici di errore
RegisterResponse/RegistryErrorList/RegistryError
Attributo |
Tipo di dato |
Valore |
---|---|---|
codeContext |
String |
Vedi tabella messaggi di errore |
errorCode |
String |
[ERROR_CODE] |
location |
String |
Indica la posizione dell’errore verificatosi |
severity |
String |
urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Error |
RegisterResponse/RegistryErrorList/ RegistryError.errorCode
[ERROR_CODE] |
Descrizione |
---|---|
XDSRegistryBusy |
Carico di lavoro eccessivo |
XDSRegistryError |
Errore interno generico |
XDSRegistryOutOfResources |
Poche risorse |
Gestione errori di verifica delle asserzioni
Gli errori generati da eventuali fallimenti di controllo sulle asserzioni sono descritti nel capitolo 4.
[1] IHE ITI TF-2b 3.42