Il protocollo di comunicazione da utilizzare per il servizio di ricerca documenti deve essere conforme alla transazione IHE [ITI-18] Registry Stored Query[1], che, secondo la terminologia IHE, prevede l’invio di una query da un attore XDS Document Consumer (in questo caso il nodo regionale della RDE) ad un attore XDS Document Registry (in questo caso il nodo regionale della RDA dell’assistito), in maniera mediata dall’attore National Gateway. Pertanto, l’attore XDS Document Consumer effettua una richiesta al National Gateway che si occupa di inoltrare il messaggio all’attore XDS Document Registry. Le stored query consentite per la ricerca dei documenti sono FindDocuments e GetDocuments rispettivamente identificati con query ID:
- urn:uuid:14d4debf-8f97-4251-9a74-a90016b0af0d;
- urn:uuid:5c4f972b-d56b-40ac-a5fcc8ca9b40b9d4.
La richiesta da inviare al National Gateway deve contenere l’asserzione di attributo firmata dal sistema regionale richiedente. Di seguito si riporta il dataset della richiesta e della risposta del messaggio di ricerca documenti.
Messaggio di richiesta Ricerca documenti (flussi RDE->INI, INI->RDA, RDA->INI)
Campo |
Tipologia |
Codifica |
Descrizione |
Obbligatorio |
Dato SAML/XDS (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/ |
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 |
Scopo d’uso della richiesta |
si |
urn:oasis:names:tc:xspa:1.0:subject:purposeofuse |
Tipo documento |
asserzione attributo |
Codifica LOINC |
Elenco dei tipi dei documenti da ricercare |
si (solo se valorizzato il campo Tipo documento nel body) |
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 |
Indicazione sulla presa in carico del paziente |
si |
urn:oasis:names:tc:xspa:1.0:resource:patient:consent |
Tipo Attività |
asserzione attributo |
Valore: READ |
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ù codifici fiscali) |
|
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 |
$XDSDocumentEntryPatientId |
Stato documento |
specifico per messaggio |
urn:oasis:names:tc:ebxml-regrep:StatusType:Approved |
Stato del documento: devono essere restituiti solo documenti con stato Approved |
si (in caso di FindDocuments) |
$XDSDocumentEntryStatus |
Tipo documento |
specifico per messaggio |
Codifica LOINC |
Tipo documento indicato nel caso di stored query FindDocuments |
no |
$XDSDocumentEntryTypeCode |
Intervallo temporale ricerca |
specifico per messaggio |
YYYY[MM[DD[hh[mm[ss]]]]] |
Intervallo date indicato nel caso di stored query FindDocuments |
no |
$XDSDocumentEntryCreationTimeFrom $XDSDocumentEntryCreationTimeTo |
Identificativi documenti |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Identificativi degli oggetti nel registry da trasferire. Questo elemento deve essere indicato nel caso di stored query GetDocuments |
si (in caso di GetDocuments) |
$XDSDocumentEntryUniqueId
oppure
$XDSDocumentEntryEntryUUID |
Messaggio di risposta Ricerca dei documenti con successo (flussi RDA->INI, INI->RDE)
Ad esclusione dello stato della risposta, tutti gli altri elementi devono essere replicati per ogni oggetto soddisfacente i criteri di ricerca.
Questo messaggio di risposta è strutturato allo stesso modo sia per i flussi da RDA ad INI sia per i flussi da INI a RDE.
Campo |
Tipologia |
Codifica |
Descrizione |
Obbligatorio |
Dato XDS (ove applicabile) |
---|---|---|---|---|---|
Stato risposta |
specifico per messaggio |
Come da specifiche IHE |
Successo/ |
si |
AdhocQueryResponse.status |
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 |
si |
XDSDocumentEntry. healthcareFacilityTypeCode (ITI TF:3 4.2.3.2.11) |
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 |
XDSDocumentEntry.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 |
XDSDocumentEntry.mimeType (ITI TF:3 4.2.3.2.15) |
Identificativo organizzazione |
specifico per messaggio |
Codifica OID nazionale delle regioni/ |
Identificativo della regione di Assistenza |
no |
XDSDocumentEntry.homeCommunityId (ITI TF:3 4.2.3.2.12) |
Identificativo repository |
specifico per messaggio |
Codifica OID, come specificato al paragrafo 2.14 del documento Affinity Domain |
Identificativo del Repository che custodisce il documento |
si |
XDSDocumentEntry.repositoryUniqueId (ITI TF:3 4.2.3.2.18) |
Identificativo documento |
specifico per messaggio |
Codifica OID, come specificato al paragrafo 2.19 del documento Affinity Domain |
Identificativo del documento |
si |
XDSDocumentEntry.uniqueId (ITI TF:3 4.2.3.2.26) |
Versione dell’oggetto documento all’interno del Registry |
Specifico per messaggio |
Formato codifica conforme alla specifiche IHE |
Versione dell’oggetto documento all’interno del registry Esempio:
<VersionInfo versionName=”1” /> |
si |
|
Tipo documento (alto livello) |
specifico per messaggio |
Da Affinity Domain, Tabella 2.3-1 |
Descrive la tipologia di documento ad alto livello (Prescrizione, Report, Immagine, …). Viene riportata l'indicazione che il documento o dato è stato inserito dall'assistito (taccuino) |
si |
XDSDocumentEntry.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, …) |
si |
XDSDocumentEntry.typeCode (ITI TF:3 4.2.3.2.25) |
Tipologia documento (basso livello) |
specifico per messaggio |
Da Affinity Domain, 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 |
XDSDocumentEntry.formatCode (ITI TF:3 4.2.3.2.9)
|
Identificativo univoco dell’oggetto documento all’interno del Registry |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Identifica l’insieme di metadati associati ad un documento |
si |
XDSDocumentEntry.entryUUID (ITI TF:3 4.2.3.2.7) |
Data validazione documento |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Data di creazione del documento |
si |
XDSDocumentEntry.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 |
XDSDocumentEntry.author (ITI TF:3 4.2.3.2.1) |
Hash |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Parametro caratterizzante il documento |
si |
XDSDocumentEntry.hash (ITI TF:3 4.2.3.2.10) |
Size |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Parametro caratterizzante il documento |
si |
XDSDocumentEntry.size (ITI TF:3 4.2.3.2.21) |
Assetto organizzativo che ha portato alla creazione del documento |
specifico per messaggio |
Da Affinity Domain, Tabella 2.12-1 |
Es. Medicina Generale, Cardiochirurgia Pediatrica ecc. |
si |
XDSDocumentEntry. 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) |
Questo valore non cambia a seguito del merge di più identificativi |
si |
XDSDocumentEntry.sourcePatientId (ITI TF 3: 4.2.3.2.23) |
Lingua del documento |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Indica la lingua del documento (il valore deve essere “it-IT”) |
no |
XDSDocumentEntry.languageCode (ITI TF 3: 4.2.3.2.14) |
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 |
XDSDocumentEntry. serviceStartTime (ITI TF 3: 4.2.3.2.19) XDSDocumentEntry. serviceStopTime (ITI TF 3: 4.2.3.2.20) |
Riferimento al documento di prescrizione |
specifico per messaggio |
Formato codifica conforme alla specifiche IHE (ITI TF-3) |
Nel caso i metadati fanno riferimento ad un documento referto prodotto a partire da un documento di prescrizione, questo metadato identifica il documento di prescrizione dematerializzata dal quale è generato il documento di referto. |
no |
XDSDocumentEntry.referenceIdList (ITI TF:3 4.2.3.2.28) |
Conservazione sostitutiva |
specifico per messaggio |
Da Affinity Domain, come specificato al paragrafo 2.21 del documento Affinity Domain |
Indica se il documento è memorizzato negli archivi di conservazione sostitutiva |
si (solo nel caso in cui il documento è in conservazione) |
urn:ita:2017:repository-type |
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 |
XDSDocumentEntry.confidentialityCode (ITI TF:3 4.2.3.2.5)
|
Messaggio di risposta Ricerca dei documenti 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 alla consultazione 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 alla consultazione dell’assistito, che la regione chiamante è RDA dell’assistito o altri errori).
Campo |
Tipologia |
Codifica |
Descrizione |
Obbligatorio |
---|---|---|---|---|
Stato risposta |
specifico per messaggio |
Come da specifiche IHE |
Successo/ |
si |
Codice errore |
specifico per messaggio |
Come da specifiche IHE |
Vedi tabella codici errore |
si |
Nel caso in cui la richiesta di ricerca documenti sia effettuta da un sistema di FSE che l’INI riconosce come RDA del paziente e il paziente (soggetto della query) ha espresso il consenso alla consultazione, l’INI invierà un messaggio di warning al sistema di FSE richiedente.
A titolo esemplificativo, in appendice A1, sono riportati i messaggi di richiesta e risposta del servizio. Per maggiori dettagli si rimanda alle specifiche tecniche ufficiali IHE.
Fallimento servizio
Codici di errore
AdhocQueryResponse/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 |
AdhocQueryResponse/RegistryErrorList/RegistryError.errorCode
[ERROR_CODE] |
Descrizione |
---|---|
XDSRegistryBusy |
Carico di lavoro eccessivo |
XDSRegistryError |
Errore interno: specificare solo se non sono disponibili codici più dettagliati |
XDSRegistryOutOfResources |
Poche risorse |
XDSStoredQueryMissingParam |
Parametro richiesto mancante per una stored query |
XDSUnknownStoredQuery |
Stored query non riconosciuta |
Codici di warning
AdhocQueryResponse/RegistryErrorList/RegistryError
Attributo |
Tipo di dato |
Valore |
---|---|---|
codeContext |
String |
Vedi tabella messaggi di errore |
errorCode |
String |
[ERROR_WARNING] |
location |
String |
Indica la posizione del warning verificatosi |
severity |
String |
urn:oasis:names:tc:ebxml-regrep:ErrorSeverityType:Warning |
AdhocQueryResponse/RegistryErrorList/RegistryError.errorCode
[ERROR_WARNING] |
Descrizione |
---|---|
XDSRegistryError |
Nessun documento del tipo richiesto è registrato per il paziente indicato, oppure il dominio richiedente è RDA per il paziente. |
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-2a 3.18