Skip to content

Latest commit

 

History

History
9546 lines (8752 loc) · 219 KB

File metadata and controls

9546 lines (8752 loc) · 219 KB

FASCICOLO SANITARIO ELETTRONICO 2.0

INTERFACCE REST Gateway

Versione : ver 2.10

INDICE

1. Introduzione

1.1. Riferimenti

RIF. DOCUMENTO DESCRIZIONE
1 http://www.hl7italia.it/hl7italia_D7/hl7it_publications Implementation Guide CDA R2
2 Affinity Domain 2.5 Documento Affinity Domain
3 Linee Guida FSE Linee guida FSE

Tabella 1: Riferimenti Esterni

1.2. Acronimi e Definizioni

ACRONIMO DEFINIZIONE
API Application Programming Interface
REST REpresentational State Transfer
FHIR Fast Healthcare Interoperability Resources
CDA Clinical Document Architecture
URI Uniform Resource Identifier
JWT JSON Web Token
INI Infrastruttura Nazionale per l’Interoperabilità
FSE Fascicolo Sanitario Elettronico
HL7 Health Level 7
GTW Gateway
EDS Ecosistema Dati Sanitari
N.A. Non Applicabile

Tabella 2: Acronimi e Definizioni

VERSIONE DATA MODIFICHE
1.1 20/05/22 Paragrafi modificati

Tutti: prima stesura a seguito rivisitazione

1.2 07/06/22 Paragrafi modificati

Tutti: stesura a seguito rivisitazione

1.3 13/06/22 Paragrafi modificati

2.2: scenario integrazione gateway;

3.2: aggiornamento status code; esempio workflowInstanceId; esempio response con warning;

4.2: aggiornamento status code;

5.1: obbligatorietà campo patient_consent

1.4 28/06/2022 Paragrafi modificati

2: Contesto di riferimento con overview casi d’uso di validazione e pubblicazione CDA2;

3: aggiornamento paragrafo introduttivo per il servizio di validazione;

3.1: aggiornamento parametri della request del servizio di validazione e aggiunta colonna AFFINITY DOMAIN/ITI TF;

4: aggiornamento paragrafo introduttivo per il servizio di pubblicazione;

4.1: aggiornamento parametri della request del servizio di pubblicazione creazione e aggiunta colonna AFFINITY DOMAIN/ITI TF;

5.1: eliminata valorizzazione nella descrizione Tipo Attività;

5.3: stesura paragrafo introduttivo per le tabelle di riferimento;

5.3.1: aggiornamento tabella Attività Clinica secondo Affinity Domain versione 2.2;

5.3.5: aggiornamento tabella con eliminazione dei ruoli non pertinenti alla validazione e pubblicazione CDA2, eliminazione colonna Tipologie di Interazioni;

5.3.6: aggiornamento tabella con eliminazione dei valori non pertinenti alla validazione e pubblicazione CDA2, eliminazione colonna Tipologie di Interazioni;

5.3.12: eliminazione dei valori per il tipo di attività non pertinenti alla validazione e pubblicazione CDA2.

1.5 05/07/2022 Correzioni su tutte le sezioni
2.0 29/07/2022 Paragrafi modificati:

3: aggiornamento Request e Accept header

4: aggiornamento Request e Accept header

5: stesura del paragrafo Eliminazione Documento

6: stesura del paragrafo Sostituzione Documento

7: stesura del paragrafo Aggiornamento Metadati

8.1: aggiornamento doppio JWT

8.3.4: aggiornamento doppio JWT

8.3.6: Contesto Operativo

8.3.11: Tipo Attività

2.1 15/10/2022 Paragrafi modificati:
     2: Specificato nome allegato CDA: cda.xml

     2.3: Aggiunte note su JWT e certificati

  </td>
2.2 28/11/2022 Paragrafi modificati:
     2: Evidenziato endpoint sistema di test

  </td>
2.3 12/12/2022 Paragrafi modificati:

2: aggiornamento Contesto di riferimento

5: aggiornamento Servizio di Eliminazione

6: aggiornamento Servizio di Sostituzione

7: aggiornamento Servizio di Aggiornamento Metadati

8: stesura del paragrafo Servizio di Recupero Stato Transazione per WorkflowInstanceId

9: stesura del paragrafo Servizio di Recupero Stato Transazione per TraceId

10: stesura del paragrafo DrillDown Response in caso di Errore

11.1: aggiunti nuovi custom claims per Applicativo

2.4 21/02/2022 Paragrafi modificati

5, 7, 8, 9: rimozione Content-Type

6: rimozione priorità e workflowInstanceId sul Servizio di Sostituzione

2.5 03/03/2023 Paragrafi modificati

4,6,7: Aggiunti parametri in request body

11: Aggiornamento enums "affinity domain 2.4.1"

2.6 23/03/2023 Paragrafi modificati:

8: Aggiunto paragrafo validazione pubblicazione creazione contestuale

9: Aggiunto paragrafo validazione pubblicazione sostituzione contestuale

10: Cambio indice paragrafo "Servizio di Recupero Stato Transazione per WorkflowInstanceId"

11: Cambio indice paragrafo "Servizio di Recupero Stato Transazione per TraceId"

12: Cambio indice paragrafo "Drilldown Response in caso di Errore"

13. Cambio indice paragrafo "Drilldown Parametri di Input"

2.7 15/03/2024 Paragrafi modificati:
     9: Aggiunto paragrafo validazione pubblicazione sostituzione contestuale
     <p>
  </td>
2.8 27/03/2024 Paragrafi modificati:

13.1. Campi Contenuti nei JWT

2.9 29/07/2024 Paragrafi modificati:

13.1. Campi Contenuti nei JWT

2.10 02/10/2024 Paragrafi modificati:

13.1. Chiarimenti sull’impostazione del claim “locality”

2.11 23/10/2024 Paragrafi modificati:

10. Servizio di Recupero Stato Transazione per WorkflowInstanceId

10.2.1. Esempio messaggio di risposta ad una creazione con Esito Success 200

10.2.2. Esempio messaggio di risposta ad una cancellazione con Esito Success 200

10.2.3. Esempio messaggio di risposta ad una sostituzione con Esito Success 200

10.2.4. Esempio messaggio di risposta ad un aggiornamento con Esito Success 200

10.2.5. Esempio di Messaggio di Risposta con esito KO 404

Tabella 3: Registro Modifiche

2. Contesto di Riferimento

La nuova architettura del FSE prevede la presenza di un componente, denominato Gateway, adibito all’acquisizione, alla validazione, e alla traduzione di dati e documenti clinici secondo i formati definiti dalle Linee Guida FSE. Tali dati e documenti sono prodotti dai Sistemi in uso presso le Strutture Sanitarie (Sistemi Produttori).

In questo documento verranno indicate le modalità per usufruire dei servizi esposti dal gateway: il documento sarà redatto in modo incrementale e di volta in volta ulteriori API saranno integrate e illustrate.

In questa fase vengono trattati i due servizi principali del Gateway, che consentono rispettivamente di invocare le funzionalità di Validazione Documento CDA2 e di Pubblicazione Documento CDA2, e i servizi che consentono l’eliminazione e l’aggiornamento del documento e dei suoi metadati.

Endpoint URL Metodo Funzionalità
/v/documents/validation POST VALIDAZIONE DOCUMENTO CDA2
/v/documents POST PUBBLICAZIONE DOCUMENTO CDA2
/v/documents/{identificativoDocUpdate} DELETE ELIMINAZIONE DOCUMENTO
/v/documents/{identificativoDocUpdate} PUT SOSTITUZIONE DOCUMENTI
/v/documents/{identificativoDocUpdate}/metadata PUT AGGIORNAMENTO METADATI
/v/documents/validate-and-create POST VALIDAZIONE E PUBBLICAZIONE CREAZIONE CONTESTUALE
/v/documents/validate-and-replace/{idDoc} PUT VALIDAZIONE E PUBBLICAZIONE SOSTITUZIONE CONTESTUALE
/v/status/{workflowInstanceId} GET RECUPERO STATO TRANSAZIONE PER WORKFLOWINSTANCEID
/v/status/search/{traceId} GET RECUPERO STATO TRANSAZIONE PER TRACEID

Tabella 4: Endpoint/Funzionalità

L'endpoint del sistema di test è:

https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1

La Pubblicazione di un documento CDA2 deve essere sempre preceduta da una Validazione Documento CDA2. Una Validazione Documento CDA2 può non essere seguita dalla Pubblicazione CDA2. Questo avverrà soprattutto nella fase iniziale in cui si utilizzerà il solo servizio di validazione per i vari test. Per distinguere questi due casi è stato introdotto il campo “Activity” specificato nelle successive sezioni.

I due servizi di Validazione e Pubblicazione sono correlati da un identificativo di transazione referenziato nel documento come “workflowInstanceId” secondo standard IHE (Data Type  CXi).

Per identificare invece i documenti da cancellare o aggiornare il chiamante dovrà fornire al Gateway l’OID (Object Identifier) del documento da gestire (lo stesso che è stato fornito in creazione e propagato ad INI in XDSDocumentEntry.uniqueId e all’EDS tramite il MasterIdentifier della DocumentReference).

Validazione Documento CDA2

Nello scenario di questa funzionalità il Sistema Produttore invia un documento secondo il formato standard HL7 CDA2, ed iniettato in un PDF, il nome CDA allegato deve essere cda.xml (senza considerare maiuscole e minuscole). Il cda.xml deve essere presente in uno dei seguenti punti all'interno del pdf:

  • Root/Names/EmbeddedFiles/Names/[1]/EF/F
  • Root/Names/EmbeddedFiles/Kids/[0]/Names/[1]/EF/F

In differenti circostanze, verrà restituito un errore di validazione come definito al paragrafo 3.2.2.

Il servizio è sincrono, e implementa le validazioni ed i controlli sintattici, semantici e terminologici. In caso di un esito con errore, verranno restituiti i dettagli di questo indicati nell’apposita sezione in “Response”.

In caso di validazione eseguita con successo, l’esito tornato è positivo e la Validazione può ritenersi conclusa correttamente.

Pubblicazione Documento CDA2

Nello scenario di questa funzionalità il Repository Documentale locale invia il documento secondo il formato standard HL7 CDA2 ed iniettato in PDF firmato digitalmente in modalità PADES, corredato di alcuni metadati come di seguito indicato. Il documento CDA2 innestato nel documento dovrà corrispondere a quello precedentemente validato secondo il servizio di Validazione Documenti CDA2.

La verifica della corrispondenza verrà fatta calcolando l’hash del CDA2 estrapolato dal PDF ignorando il tag del CDA "Legal Authenticator". Il processo di Pubblicazione procederà soltanto se l’hash coincide con quello calcolato nel flusso di validazione (recuperato dalla cache tramite il “workflowInstanceId”).

Il servizio ha lo scopo di effettuare la conversione del dato in ingresso in formato FHIR per l’invio verso EDS, e preparare i metadati del documento per la comunicazione verso INI ai fini della indicizzazione.

La conversione del dato in formato FHIR è sincrona mentre la comunicazione verso INI ed EDS è asincrona. Conclusa la conversione il servizio fornisce un acknowledgment di presa in carico.

Eliminazione Documento

Nello scenario di questa funzionalità il Repository Documentale locale effettuerà una richiesta di cancellazione di un documento identificato dal XDSDocumentEntry.uniqueId.

Tale servizio effettua in modalità sincrona la cancellazione delle risorse FHIR sull’EDS e successivamente la cancellazione dei metadati su INI.

In caso di errore nell’eliminazione, il servizio fornisce un acknowledgement di presa in carico dell’operazione.

Sostituzione documento

Questa funzionalità permette di sovrascrivere un documento precedentemente pubblicato.

Come per la creazione, il servizio effettua la conversione del documento in ingresso (identificato dal XDSDocumentEntry.uniqueId) in formato FHIR e procede all’invio verso EDS e INI.

La conversione del dato in formato FHIR è sincrona mentre la comunicazione verso INI ed EDS è asincrona. Conclusa la conversione il servizio fornisce un acknowledgment di presa in carico.

Aggiornamento metadati

Questa funzionalità permette di aggiornare i metadati di un documento presente su FSE. Tale servizio effettua in modalità sincrona l’aggiornamento dei metadati sia su EDS che su INI.

In caso di errore nell’aggiornamento, il servizio fornisce un acknowledgement di presa in carico dell’operazione.

Anche in questo caso il documento viene identificato dal XDSDocumentEntry.uniqueId.

Validazione e Pubblicazione creazione contestuale di un Documento CDA2

Questo servizio non è da intendersi per un utilizzo regolare, ma per la gestione di specifici casi di errore nel normale workflow dei documenti.

In questa funzionalità, il Repository Documentale locale invia il documento nel formato standard HL7 CDA2, che viene iniettato in un PDF firmato digitalmente in modalità PADES e corredato di alcuni metadati. Dapprima, quindi, viene eseguita la validazione (sintattica, semantica, terminologica) del documento fornito in maniera SINCRONA.

In caso di esito positivo, nella stessa transazione, vengono preparati i vari metadati del documento per la comunicazione verso INI e la sua indicizzazione, e viene preparato il bundle FHIR per l'invio ad EDS. È importante notare che la validazione, e la conversione del dato in formato FHIR avvengono in maniera sincrona, mentre la comunicazione dei metadati verso INI e del bundle verso EDS è ASINCRONA.

Alla fine del processo, il servizio fornisce un acknowledgment di presa in carico.

È possibile utilizzare questo servizio nei casi in cui non sia stato possibile validare un documento al momento dell'emissione dello stesso per:

  • indisponibilità della connettività rete
  • indisponibilità del servizio
  • errore interno del gateway

Ci si trova nel caso in cui l'attività clinica sia proceduta e vi sia necessità di "recuperare" la validazione prima della pubblicazione.

In ogni caso questo servizio non è da usarsi per violare la semantica di chiamata sincrona di validazione, da parte del produttore, al momento dell'emissione del documento.

Validazione e Pubblicazione sostituzione contestuale di un Documento CDA2

Questo servizio non è da intendersi per un utilizzo regolare, ma per la gestione di specifici casi di errore nel normale workflow dei documenti.

In questa funzionalità, il Repository Documentale locale invia il documento nel formato standard HL7 CDA2, che viene iniettato in un PDF firmato digitalmente in modalità PADES e corredato di alcuni metadati con il fine ultimo di sostituire un documento precedentemente pubblicato su INI ed EDS.

Inizialmente, quindi, in maniera SINCRONA, viene eseguita la validazione (sintattica, semantica, terminologica) del documento fornito e, in caso di esito positivo, nella medesima transazione, vengono recuperati i riferimenti del documento da sostituire da INI e, se presenti, si procede a preparare i metadati per la sostituzione dello stesso e per la sua indicizzazione, e infine viene preparato il bundle FHIR per la sostituzione su EDS.

È importante notare che la validazione, il recupero dei riferimenti da INI e la conversione del dato in formato FHIR avvengono in maniera sincrona, mentre la comunicazione dei metadati verso INI e del bundle verso EDS è ASINCRONA.

Alla fine del processo, il servizio fornisce un acknowledgment di presa in carico.

È possibile utilizzare questo servizio nei casi in cui non sia stato possibile validare un documento al momento dell'emissione dello stesso per:

  • indisponibilità della connettività rete
  • indisponibilità del servizio
  • errore interno del gateway

Ci si trova nel caso in cui l'attività clinica sia proceduta e vi sia necessità di "recuperare" la validazione prima della pubblicazione.

In ogni caso questo servizio non è da usarsi per violare la semantica di chiamata sincrona di validazione, da parte del produttore, al momento dell'emissione del documento.

Recupero Stato Transazione per WorkflowInstanceId (o TraceId)

Questa funzionalità permette di verificare lo stato della transazione presa in carico dal Gateway. Utilizzando il WorkflowInstanceId (o il TraceId) ottenuto in risposta dai servizi di Validazione e/o Pubblicazione sarà possibile conoscere lo stato della transazione e sapere se la comunicazione verso INI ed EDS è avvenuta con successo.

2.1. Pattern di Interazione

Le API sono esposte secondo i pattern definiti nelle Linee Guida Modello di Interoperabilità1 definite da Agid.

Come scenario di interazione per i servizi esposti dal Gateway viene utilizzato il pattern [BLOCK_REST] Blocking REST2.

2.2. Processo di Autenticazione3

Il processo di autenticazione rispetta i seguenti pattern delle suddette Linee Guida:

  • ID_AUTH_CHANNEL_02 4

  • ID_AUTH_REST_01 5 Di seguito un diagramma che descrive un esempio di interazione per i due servizi di Validazione e Pubblicazione documenti:

sequence diagram

2.3. Note su autenticazione e token JWT

Per comunicare con il gateway è necessario essere in possesso di 2 certificati X.509 e delle rispettive chiavi private.

Il certificato denominato di “autenticazione” viene utilizzato unicamente come certificato client per le chiamate https.

Il certificato denominato di “signature” viene utilizzato unicamente per la firma dei token JWT.

Ogni invocazione delle API avverrà quindi con una chiamata https protetta dal certificato di autenticazione e conterrà negli header 2 token JWT.

Il primo JWT è utilizzato per l’autenticazione e contiene i riferimenti all’utente che richiama il servizio e al soggetto interessato, il token viene trasportato nell’header “Authorization” di tipo “Bearer”:

Authorization: Bearer {VALORE DEL TOKEN}

Il secondo JWT è di “signature” e contiene rifermenti al documento oggetto delle operazioni, il token viene trasportato nell’header http “FSE-JWT-Signature”:

FSE-JWT-Signature: {VALORE DEL TOKEN}

Entrambi i token devono essere firmati utilizzando il certificato “signature”.

Vista la dipendenza dei token dai valori specifici di utente/soggetto/documento è necessario generare nuovi JWT per ogni chiamata alle API.

Per i dettagli sui campi dei token si consulti l’apposito paragrafo.

3. Servizio di Validazione

Nei sottoparagrafi della presente sezione vengono riportate le informazioni principali per l’invocazione di questa funzionalità. Per ulteriori dettagli sui campi esposti è necessario fare riferimento al Capitolo 13 “Drilldown Parametri di Input”.

L’Endpoint del caso d’uso di Validazione Documento CDA2 si compone come segue:

https://<HOST>:<PORT>/v<major>/documents/validation

Lo scopo di questa API è validare da un punto di vista sintattico, semantico e terminologico i dati forniti dal Sistema Produttore.

3.1. Request

METHOD POST
URL /v1/documents/validation
TYPE multipart/form-data

Tabella 5: Method, Url, Type

PARAMETER
SECTION KEY VALUE TYPE REQUIRED AFFINITY DOMAIN/ IHE
Header Authorization N.D. Bearer true N.A.
Header FSE-JWT-Signature N.D. N.D. true N.A.
Header Accept application/json String true N.A.
Request

Body

file file MultipartFile true N.A.
requestBody healthDataFormat HealthDataFormatEnum false N.A.
mode InjectionModeEnum false N.A.
activity ActivityEnum true N.A.

Tabella 6: Parametri Richiesta di Validazione

La compilazione errata dei parameter oppure la non compilazione dei parameter “required” comporta un errore di tipo bloccante. La non compilazione del parameter facoltativo “mode” comporta la restituzione di un errore di tipo warning, mentre la non compilazione del parameter facoltativo “healthDataFormat” non comporta errori di tipo warning.

Il Request Body è di tipo multipart/form-data, al suo interno sono previsti due parametri:

  • file che dovrà contenere un file PDF con iniettato un Clinical Document in formato XML in linea con quanto riportato nelle «Implementation Guide CDA R2» al link [1]
  • requestBody che dovrà contenere l’oggetto json con i parameter di input

3.1.1. Messaggio di richiesta, esempio “Validation con Attachment”

Messaggio di richiesta con activity “VALIDATION” (validazione ai fini della successiva pubblicazione), pdf con CDA innestato in modalità ATTACHMENT e tipo documento CDA

curl -X 'POST' \	
  'https://<HOST>:<PORT>/v1/documents/validation' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'requestBody={
  "healthDataFormat": "CDA",
  "mode": "ATTACHMENT",
  "activity": "VALIDATION",
}' \
  -F 'file=@CDA_OK.pdf;type=application/pdf'

3.1.2. Messaggio di richiesta, esempio “Verifica con Attachment”

Messaggio di richiesta con activity “VERIFICA” (validazione che non sarà seguita da pubblicazione), pdf con CDA innestato in modalità ATTACHMENT ma senza specificarlo nella request, tipo documento CDA

curl -X 'POST' \	
  'https://<HOST>:<PORT>/v1/documents/validation' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'requestBody={
  "healthDataFormat": "CDA",
  "activity": "VERIFICA",
}' \
  -F 'file=@CDA_OK.pdf;type=application/pdf'

3.1.3. Messaggio di richiesta, esempio “Verifica con resource”

Messaggio di richiesta con activity “VERIFICA” (validazione che non sarà seguita da pubblicazione), pdf con CDA innestato in modalità RESOURCE, tipo documento CDA

curl -X 'POST' \	
  'https://<HOST>:<PORT>/v1/documents/validation' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'requestBody={
  "healthDataFormat": "CDA",
  "mode": "RESOURCE",
  "activity": "VERIFICA",
}' \
  -F 'file=@CDA_OK.pdf;type=application/pdf'

3.2. Response

TIPO IN CASO DI SUCCESSO application/json
TIPO IN CASO DI ERRORE* application/problem+json
STATUS CODE 200 Validazione positiva a seguito di activity verifica**
201 Validazione positiva a seguito di activity validation***
400 Bad request
401 Unauthorized
403 Token jwt mancante o non valido
404 Not found
409 Conflict
413 Payload too large
415 Unsupported media type
422 Richiesta semanticamente non processabile
429 Too Many Requests
500 Internal server error
502 Invalid response received from the API Implementation
503 Service unavailable
504 Endpoint request timed-out

Tabella 7: Response Servizio di Validazione

* Gli oggetti di errore, generati dall’applicativo o da apparati di frontiera, rispettano la specifica RFC 7807, per ulteriori dettagli fare riferimento al Capitolo 12 “Drilldown Error Response”.

** Se il servizio viene invocato con il parametro “activity” a VERIFICA, verrà restituito lo StatusCode 200 in caso di SUCCESS

*** Se il servizio viene invocato con il parametro “activity” a VALIDATION, verrà restituito lo StatusCode 201 in caso di SUCCESS

Campi sempre valorizzati

FIELD TYPE DESCRIPTION
traceID String Identificativo univoco assegnato alla richiesta dell'utente. È sempre presente a differenza del workflowInstanceId poiché il valore di quest’ultimo dipende dal CDA preso in input
spanID String Identificativo univoco assegnato alla singola operazione nell’ambito della richiesta dell'utente. In caso di richiesta avente operazioni multiple (su più microservizi), ognuna di esse avrà un differente spanId (ma stesso traceId). TraceId e spanId coincidono nella prima operazione.
workflowInstanceId String Identificativo univoco della transazione

Tabella 8: Campi Response sempre valorizzati

Campi valorizzati solo in caso di warning:

FIELD TYPE DESCRIPTION
warning String Dettaglio del warning

Tabella 9: Campi Response valorizzati in caso di warning

3.2.1. Messaggio di risposta, esempio “Validation con Attachment” con esito Success 201

{ 
 "traceID": "4e1cd92c6a406c4e", 
 "spanID": "4e1cd92c6a406c4e", 
 "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId" 
}

3.2.2. Messaggio di risposta, esempio “Validation con Attachment” con esito KO 400

{
  "traceID": "7fee3f3e2fc75b30",
  "spanID": "7fee3f3e2fc75b30",
  "type": "/msg/cda-element",
  "title": "Errore in fase di estrazione del CDA.",
  "detail": "Errore in fase di estrazione del CDA.",
  "status": 400,
  "instance": "/msg/cda-extraction"
}

3.2.3. Messaggio di risposta, esempio “Verifica con Attachment” con esito OK 200 con warning

{
  "traceID": "96c6883856f9f887",
  "spanID": "96c6883856f9f887",
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.847c307946d33d8f14876ebb7204f2018a9cbc230da855ac27ed5413a5e2f051.bcf54e7cb9^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
  "warning": "Attenzione, non è stata selezionata la modalità di estrazione del CDA"
}

4. Servizio di Creazione

Nei sottoparagrafi della presente sezione vengono riportate le informazioni principali per l’invocazione di questa funzionalità. Per ulteriori dettagli sui campi esposti è necessario fare riferimento al Capitolo 13 “Drilldown Parametri di Input”.

L’Endpoint del caso d’uso di Creazione Documento CDA2 si compone come segue:

https://<HOST>:<PORT>/v<major>/documents

Lo scopo di questa API è indicizzare un nuovo documento clinico sul FSE regionale, tradurre i dati clinici nel formato HL7 FHIR ed inviarli al Data Repository Centrale.

4.1. Request

METHOD POST
URL /v1/documents
TYPE multipart/form-data

Tabella 10: Method, URL, Type

PARAMETER
SECTION KEY NAME TYPE REQUIRED AFFINITY DOMAIN/IHE
Header Authorization N.D. Bearer true N.A.
Header FSE-JWT-Signature N.D. N.D. true N.A.
Header Accept application/json String true N.A.
Request Body file file MultipartFile true N.A.
requestBody workflowInstanceId String false N.A.
healthDataFormat HealthDataFormatEnum false N.A.
mode InjectionModeEnum false N.A.
tipologiaStruttura HealthcareFacilityEnum true XDSDocumentEntry.healthcareFacilityTypeCode
attiCliniciRegoleAccesso List false XDSDocumentEntry.eventCodeList
identificativoDoc String true XDSDocumentEntry.uniqueId
identificativoRep String true XDSDocumentEntry.repositoryUniqueId
tipoDocumentoLivAlto TipoDocAltoLivEnum true XDSDocumentEntry.classCode
assettoOrganizzativo PracticeSettingCodeEnum true XDSDocumentEntry.practiceSettingCode
dataInizioPrestazione String false XDSDocumentEntry. serviceStartTime (ITI TF 3: 4.2.3.2.19)
dataFinePrestazione String false XDSDocumentEntry.serviceStopTime (ITI TF 3: 4.2.3.2.20)
conservazioneANorma String false XDSDocumentEntry.Slot - Conservazione a norma
tipoAttivitaClinica AttivitaClinicaEnum true XDSSubmissionSet.contentTypeCode
identificativoSottomissione String true XDSSubmissionSet.uniqueId (ITI TF:3 4.2.3.3.12)
priorita boolean false N.A.
descriptions List false XDSDocumentEntry.Slot - description
administrativeRequest AdministrativeReqEnum false XDSDocumentEntry.Slot - administrativeRequest

Tabella 11: Parametri Richiesta di Creazione

La compilazione errata dei parameter oppure la non compilazione dei parameter “required” comporta un errore di tipo bloccante. La non compilazione del parameter facoltativo “priorita” consente al Gateway di decidere la priorità da attribuire al documento fornito in input al servizio.

Il Request Body è di tipo multipart/form-data, al suo interno sono previsti due parametri:

  • file che dovrà contenere un file PDF con iniettato un Clinical Document in formato XML in linea con quanto riportato nelle «Implementation Guide CDA R2» al link [1]

  • requestBody che dovrà contenere l’oggetto json con i parameter di input

4.1.1. Messaggio di Richiesta, esempio “Pubblicazione con Attachment”

Messaggio di richiesta con pdf con CDA innestato in modalità ATTACHMENT, tipo documento CDA e metadati formalmente corretti, senza indicazione della priorità.

Il workflowInstanceId è corretto e presente nel gateway.

curl -X 'POST' \
  'https://<HOST>:<PORT>/v1/documents' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'Content-Type: multipart/form-data' \
  -F 'requestBody={
  "workflowInstanceId": " 2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.e70b9b0acd^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
  "healthDataFormat": "CDA",
  "mode": "ATTACHMENT",
  "tipologiaStruttura": "Ospedale",
  "attiCliniciRegoleAccesso": [
    "P99"
  ],
  "identificativoDoc": "2.16.840.1.113883.2.9.2.120.4.4^290700",
  "identificativoRep": " 2.16.840.1.113883.2.9.2.120.4.5.1",
  "tipoDocumentoLivAlto": "REF",
  "assettoOrganizzativo": "AD_PSC001",
  "dataInizioPrestazione": "20141020110012",
  "dataFinePrestazione": "20141020110012",
  "tipoAttivitaClinica": "CON",
  "identificativoSottomissione": "2.16.840.1.113883.2.9.2.120.4.3.489592",
  "priorita": false,
  "descriptions": [
    "019655^Bentelan^2.16.840.1.113883.2.9.6.1.5"
  ],
  "administrativeRequest": ["SSN"]
}' \

  -F 'file=@CDA_OK.pdf;type=application/pdf'

4.1.2. Messaggio di Richiesta, esempio “Pubblicazione con Resource”

Messaggio di richiesta con pdf con CDA innestato in modalità RESOURCE, tipo documento CDA e metadati formalmente corretti, con indicazione della priorità.

In questo caso, il workflowInstanceId non esiste nel gateway.

curl -X 'POST' \
  'https://<HOST>:<PORT>/v1/documents' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'Content-Type: multipart/form-data' \
  -F 'requestBody={
  "workflowInstanceId": " 2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ew.e70b9b0acr^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
  "healthDataFormat": "CDA",
  "mode": "RESOURCE",
  "tipologiaStruttura": "Ospedale",
  "attiCliniciRegoleAccesso": [
    "P99"
  ],
  "identificativoDoc": "2.16.840.1.113883.2.9.2.120.4.4^290701",
  "identificativoRep": " 2.16.840.1.113883.2.9.2.120.4.5.1",
  "tipoDocumentoLivAlto": "REF",
  "assettoOrganizzativo": "AD_PSC001",
  "dataInizioPrestazione": "20141020110012",
  "dataFinePrestazione": "20141020110012",
  "tipoAttivitaClinica": "CON",
  "identificativoSottomissione": "2.16.840.1.113883.2.9.2.120.4.3.489593",
  "priorita": true,
  "descriptions": [
    "019655^Bentelan^2.16.840.1.113883.2.9.6.1.5"
  ],
  "administrativeRequest": ["SSN"]
}' \
  -F 'file=@CDA_OK.pdf;type=application/pdf'

4.2. Response

TIPO IN CASO DI SUCCESSO application/json
TIPO IN CASO DI ERRORE* application/problem+json
STATUS CODE 201 Presa in carico eseguita con successo
400 Bad request** (input non valido o validazione/ pubblicazione non corretta)
401 Unauthorized
403 Token jwt mancante o non valido
404 Not found
409 Conflict
413 Payload too large
415 Unsupported media type
429 Too Many Requests
500 Internal server error
502 Invalid response received from the API Implementation
503 Service unavailable
504 Endpoint request timed-out

Tabella 12: Response Servizio di Pubblicazione

* Gli oggetti di errore, generati dall’applicativo o da apparati di frontiera, rispettano la specifica RFC 7807, per ulteriori dettagli fare riferimento al Capitolo 12 “Drilldown Error Response”.

** La pubblicazione verifica l’avvenuta validazione. In caso di assenza, risponderà con codice di errore 400

Campi sempre valorizzati

FIELD TYPE DESCRIPTION
traceID String Identificativo univoco assegnato alla richiesta dell'utente. È sempre presente a differenza del workflowInstanceId poiché il valore di quest’ultimo dipende dal CDA preso in input
spanID String Identificativo univoco assegnato ad un singolo operazione della richiesta dell'utente. In caso di richiesta avente operazioni multiple (su più microservizi), ognuna di esse avrà un differente spanId (ma stesso traceId). \ traceId e spanId coincidono nella prima operazione.
workflowInstanceId String Identificativo univoco della transazione

Tabella 13: Campi Response sempre valorizzati

Campi valorizzati solo in caso di warning

FIELD TYPE DESCRIPTION
warning String Dettaglio del warning

Tabella 14: Campi Response valorizzati in caso di warning

4.2.1. Esempio di Messaggio di Risposta con esito OK 200 - “Pubblicazione con Attachment”

{ 
  "traceID": "c2e1818fbf7aea7f", 
  "spanID": "c2e1818fbf7aea7f", 
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId" 
}

4.2.2. Messaggio di Risposta, esempio “Pubblicazione con Resource” con esito KO 400

{
  "traceID": "61d8123fb20e2afc",
  "spanID": "61d8123fb20e2afc",
  "type": "/msg/cda-match",
  "title": "Errore in fase di recupero dell'esito della verifica.",
  "detail": "Il CDA non risulta validato",
  "status": 400,
  "instance": "/msg/cda-validation"
}

5. Servizio di Eliminazione Documento

Nei sottoparagrafi della presente sezione vengono riportate le informazioni principali per l’invocazione di questa funzionalità. Per ulteriori dettagli sui campi esposti è necessario fare riferimento al Capitolo 8.1 “Campi Contenuti nei JWT”.

L’Endpoint del caso d’uso di Eliminazione Documento si compone come segue:

https://<HOST>:<PORT>/v<major>/documents/<identificativoDocUpdate>

Lo scopo di questa API Sincrona è eliminare le risorse FHIR precedentemente pubblicate, inclusi i metadati scritti su INI.

5.1. Request

METHOD DELETE
URL /v1/documents/{identificativoDocUpdate}

Tabella 15: Method, URL, Type

PARAMETER
SECTION KEY NAME TYPE REQUIRED AFFINITY DOMAIN/IHE
Header Authorization N.D. Bearer true N.A.
Header FSE-JWT-Signature N.D. N.D true N.A.
Path variable identificativoDocUpdate identificativoDocUpdate String true XDSDocumentEntry.uniqueId

Tabella 16: Parametri Richiesta di Eliminazione

La compilazione errata dei parametri oppure la non compilazione dei parametri “required” comporta un errore di tipo bloccante.

Il parametro identificativoDocUpdate corrisponde all’OID (Object Identifier) del documento da eliminare e al parametro identificativoDoc utilizzato nel servizio di creazione.

5.1.1. Messaggio di Richiesta, esempio “Eliminazione Documento”

Messaggio di richiesta con identificativoDocUpdate presente e formalmente corretto.

curl -X 'DELETE' \
  'https://<HOST>:<PORT>/v1/documents/507f1f77bcf86cd799439011' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \

5.2. Response

TIPO IN CASO DI SUCCESSO application/json
TIPO IN CASO DI ERRORE* application/problem+json
STATUS CODE 200 Cancellazione eseguita con successo
400 Bad request
401 Unauthorized
403 Token jwt mancante o non valido
404 Not found
409 Conflict
413 Payload too large
429 Too Many Requests
500 Internal server error
502 Invalid response received from the API Implementation
503 Service unavailable
504 Endpoint request timed-out

Tabella 17: Response Servizio di Pubblicazione

* Gli oggetti di errore, generati dall’applicativo o da apparati di frontiera, rispettano la specifica RFC 7807, per ulteriori dettagli fare riferimento al Capitolo 12 “Drilldown Error Response”.

Campi sempre valorizzati

FIELD TYPE DESCRIPTION
traceID String Identificativo univoco assegnato alla richiesta dell'utente. È sempre presente a differenza del workflowInstanceId poiché il valore di quest’ultimo dipende dal CDA preso in input
spanID String Identificativo univoco assegnato ad un singolo operazione della richiesta dell'utente. In caso di richiesta avente operazioni multiple (su più microservizi), ognuna di esse avrà un differente spanId (ma stesso traceId). \ traceId e spanId coincidono nella prima operazione.
workflowInstanceId String Identificativo univoco della transazione

Tabella 18: Campi Response sempre valorizzati

Campi valorizzati solo in caso di warning

FIELD TYPE DESCRIPTION
warning String Dettaglio del warning

Tabella 19: Campi Response valorizzati in caso di warning

5.2.1. Esempio di Messaggio di Risposta con esito OK 200 - Delete eseguita con successo

{ 
  "traceID": "c2e1818fbf7aea7f", 
  "spanID": "c2e1818fbf7aea7f",
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId" 
}

5.2.2. Esempio di Messaggio di Risposta con esito KO 400

{
  "traceID": "61d8123fb20e2afc",
  "spanID": "61d8123fb20e2afc",
  "type": "/msg/mandatory-element",
  "title": "Campo obbligatorio non presente",
  "detail": "Il campo identificativo documento deve essere valorizzato",
  "status": 400,
  "instance": "/msg/mandatory-element"
}

6. Servizio di Sostituzione Documento

Nei sottoparagrafi della presente sezione vengono riportate le informazioni principali per l’invocazione di questa funzionalità. Per ulteriori dettagli sui campi esposti è necessario fare riferimento al Capitolo 13 “Drilldown Parametri di Input”.

L’Endpoint del caso d’uso di Pubblicazione Sostituzione Documento si compone come segue:

https://<HOST>:<PORT>/v<major>/documents/<identificativoDocUpdate>

Lo scopo di questa API Asincrona è pubblicare un documento sovrascrivendo il documento che era stato precedentemente pubblicato.

6.1. Request

METHOD PUT
URL /v1/documents/{identificativoDocUpdate}
TYPE multipart/form-data

Tabella 20: Method, URL, Type

PARAMETER
SECTION KEY NAME TYPE REQUIRED AFFINITY DOMAIN/IHE
Header Authorization N.D. Bearer true N.A.
Header FSE-JWT-Signature N.D. N.D. true N.A.
Header Accept application/json String true N.A.
Path variable identificativoDocUpdate identificativoDocUpdate String true XDSDocumentEntry.uniqueId
Request Body file file MultipartFile true N.A.
requestBody
workflowInstanceId String false N.A.
healthDataFormat HealthDataFormatEnum false N.A.
mode InjectionModeEnum false N.A.
tipologiaStruttura HealthcareFacilityEnum true XDSDocumentEntry.healthcareFacilityTypeCode
attiCliniciRegoleAccesso String[] false XDSDocumentEntry.eventCodeList
identificativoDoc String true XDSDocumentEntry.uniqueId
identificativoRep String true XDSDocumentEntry.repositoryUniqueId
tipoDocumentoLivAlto TipoDocAltoLivEnum true XDSDocumentEntry.classCode
assettoOrganizzativo PracticeSettingCodeEnum true XDSDocumentEntry.practiceSettingCode
dataInizioPrestazione String false XDSDocumentEntry. serviceStartTime (ITI TF 3: 4.2.3.2.19)
dataFinePrestazione String false XDSDocumentEntry.serviceStopTime (ITI TF 3: 4.2.3.2.20)
conservazioneANorma String false XDSDocumentEntry.Slot - Conservazione a norma
tipoAttivitaClinica AttivitaClinicaEnum true XDSSubmissionSet.contentTypeCode
identificativoSottomissione String true XDSSubmissionSet.uniqueId (ITI TF:3 4.2.3.3.12)
descriptions String[] false XDSDocumentEntry.Slot - description
administrativeRequest AdministrativeReqEnum[] false XDSDocumentEntry.Slot - administrativeRequest

Tabella 21: Parametri Richiesta di Pubblicazione Sostituzione

La compilazione errata dei parameter oppure la non compilazione dei parameter “required” comporta un errore di tipo bloccante. La non compilazione del parameter facoltativo “mode” comporta la resituzione di un errore di tipo warning.

Il Request Body coincide con la struttura utilizzata per il servizio di Pubblicazione Creazione Documento.

Il parametro identificativoDocUpdate corrisponde all’OID (Object Identifier) del documento da sostituire e al parametro identificativoDoc utilizzato precedentemente nel servizio di creazione.

6.1.1. Messaggio di Richiesta, esempio “Pubblicazione Sostituzione Documento con Attachment”

Messaggio di richiesta con pdf con CDA innestato in modalità ATTACHMENT, tipo documento CDA e metadati formalmente corretti, senza indicazione della priorità.

Il workflowInstanceId è corretto e presente nel gateway.

curl -X 'PUT' \
  'https://<HOST>:<PORT>/v1/documents/507f1f77bcf86cd799439011' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'Content-Type: multipart/form-data' \
  -F 'requestBody={
  "workflowInstanceId": " 2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.e70b9b0acd^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
  "healthDataFormat": "CDA",
  "mode": "ATTACHMENT",
  "tipologiaStruttura": "Ospedale",
  "attiCliniciRegoleAccesso": [
    "P99"
  ],
  "identificativoDoc": "2.16.840.1.113883.2.9.2.120.4.4^290700",
  "identificativoRep": "2.16.840.1.113883.2.9.2.120.4.5.1",
  "tipoDocumentoLivAlto": "REF",
  "assettoOrganizzativo": "AD_PSC001",
  "dataInizioPrestazione": "20141020110012",
  "dataFinePrestazione": "20141020110012",
  "tipoAttivitaClinica": "CON",
  "identificativoSottomissione": "2.16.840.1.113883.2.9.2.120.4.3.489592",
  "descriptions": [
    "019655^Bentelan^2.16.840.1.113883.2.9.6.1.5"
  ],
  "administrativeRequest": ["SSN"]
}' \
  -F 'file=@CDA_OK.pdf;type=application/pdf'

6.2. Response

TIPO IN CASO DI SUCCESSO application/json
TIPO IN CASO DI ERRORE* application/problem+json
STATUS CODE 200 Presa in carico eseguita con successo
400 Bad request** (input non valido o validazione/ pubblicazione non corretta)
401 Unauthorized
403 Token jwt mancante o non valido
404 Not found
409 Conflict
413 Payload too large
415 Unsupported media type
429 Too Many Requests
500 Internal server error
502 Invalid response received from the API Implementation
503 Service unavailable
504 Endpoint request timed-out

Tabella 22: Response Servizio di Pubblicazione Sostituzione Documento

* Gli oggetti di errore, generati dall’applicativo o da apparati di frontiera, rispettano la specifica RFC 7807, per ulteriori dettagli fare riferimento al Capitolo 12 “Drilldown Error Response”.

** La pubblicazione verifica l’avvenuta validazione. In caso di assenza, risponderà con codice di errore 400

Campi sempre valorizzati

FIELD TYPE DESCRIPTION
traceID String Identificativo univoco assegnato alla richiesta dell'utente. È sempre presente a differenza del workflowInstanceId poiché il valore di quest’ultimo dipende dal CDA preso in input
spanID String Identificativo univoco assegnato ad un singolo operazione della richiesta dell'utente. In caso di richiesta avente operazioni multiple (su più microservizi), ognuna di esse avrà un differente spanId (ma stesso traceId). \ traceId e spanId coincidono nella prima operazione.
workflowInstanceId String Identificativo univoco della transazione

Tabella 23: Campi Response sempre valorizzati

Campi valorizzati solo in caso di warning

FIELD TYPE DESCRIPTION
warning String Dettaglio del warning

Tabella 24: Campi Response valorizzati in caso di warning

6.2.1. Esempio di Messaggio di Risposta con esito OK 200, “Pubblicazione Sostituzione Documento con Attachment”

{ 
  "traceID": "c2e1818fbf7aea7f", 
  "spanID": "c2e1818fbf7aea7f", 
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId" 
}

6.2.2. Esempio di Messaggio di Risposta con esito KO 400

{
  "traceID": "61d8123fb20e2afc",
  "spanID": "61d8123fb20e2afc",
  "type": "/msg/cda-element",
  "title": "Errore in fase di recupero dell'esito della verifica.",
  "detail": "Il CDA non risulta validato",
  "status": 400,
  "instance": "/msg/cda-element"
}

7. Servizio di Aggiornamento Metadati

Nei sottoparagrafi della presente sezione vengono riportate le informazioni principali per l’invocazione di questa funzionalità. Per ulteriori dettagli sui campi esposti è necessario fare riferimento al Capitolo 13 “Drilldown Parametri di Input”.

L’Endpoint del caso d’uso di Pubblicazione Aggiornamento Metadati si compone come segue:

https://<HOST>:<PORT>/v<major>/documents/<identificativoDocUpdate>/metadata

Lo scopo di questa API Sincrona è di aggiornare i metadati di un documento precedentemente pubblicato.

7.1. Request

METHOD PUT
URL /v1/documents/{identificativoDocUpdate}/metadata
TYPE application/json

Tabella 25: Method, URL, Type

PARAMETER
SECTION KEY NAME TYPE REQUIRED AFFINITY DOMAIN/IHE
Header Authorization N.D. Bearer true N.A.
Header FSE-JWT-Signature N.D. N.D. true N.A.
Header Accept application/json String true N.A.
Path variable identificativoDocUpdate identificativoDocUpdate String true XDSDocumentEntry.uniqueId
Request Body requestBody tipologiaStruttura HealthcareFacilityEnum true XDSDocumentEntry.healthcareFacilityTypeCode
attiCliniciRegoleAccesso String[] false XDSDocumentEntry.eventCodeList
tipoDocumentoLivAlto TipoDocAltoLivEnum true XDSDocumentEntry.classCode
assettoOrganizzativo PracticeSettingCodeEnum true XDSDocumentEntry.practiceSettingCode
dataInizioPrestazione String false XDSDocumentEntry. serviceStartTime (ITI TF 3: 4.2.3.2.19)
dataFinePrestazione String false XDSDocumentEntry.serviceStopTime (ITI TF 3: 4.2.3.2.20)
conservazioneANorma String false XDSDocumentEntry.Slot - Conservazione a norma
tipoAttivitaClinica AttivitaClinicaEnum true XDSSubmissionSet.contentTypeCode
identificativoSottomissione String true XDSSubmissionSet.uniqueId (ITI TF:3 4.2.3.3.12)
descriptions String[] false XDSDocumentEntry.Slot - description
administrativeRequest AdministrativeReqEnum[] false XDSDocumentEntry.Slot - administrativeRequest

Tabella 26: Parametri Richiesta di Pubblicazione Aggiornamento Metadati

La compilazione errata dei parametri oppure la non compilazione dei parametri “required” comporta un errore di tipo bloccante.

Il parametro identificativoDocUpdate corrisponde all’OID (Object Identifier) del documento di cui modificare i metadati e al parametro identificativoDoc utilizzato nel servizio di creazione.

7.1.1. Esempio Messaggio di Richiesta

Messaggio di richiesta con pdf con CDA innestato in modalità ATTACHMENT, tipo documento CDA e metadati formalmente corretti, senza indicazione della priorità.

curl -X 'PUT' \
  'https://<HOST>:<PORT>/v1/documents/507f1f77bcf86cd799439011/metadata' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'accept: application/json' \
  -d '{
  "tipologiaStruttura": "Ospedale",
  "attiCliniciRegoleAccesso": [
    "P99"
  ],
  "tipoDocumentoLivAlto": "WOR",
  "assettoOrganizzativo": "AD_PSC001",
  "dataInizioPrestazione": "20141020110012",
  "dataFinePrestazione": "20141020110012",
  "conservazioneANorma": "string",
  "tipoAttivitaClinica": "CON",
  "identificativoSottomissione": "2.16.840.1.113883.2.9.2.120.4.3.489592",
  "descriptions": [
    "019655^Bentelan^2.16.840.1.113883.2.9.6.1.5"
  ],
  "administrativeRequest": ["SSN"]
}'\
-F 'file=@CDA_OK.pdf;type=application/pdf'

7.2. Response

TIPO IN CASO DI SUCCESSO application/json
TIPO IN CASO DI ERRORE* application/problem+json
STATUS CODE 200 Aggiornamento eseguito con successo
400 Bad request
401 Unauthorized
403 Token jwt mancante o non valido
404 Not found
409 Conflict
413 Payload too large
429 Too Many Requests
500 Internal server error
502 Invalid response received from the API Implementation
503 Service unavailable
504 Endpoint request timed-out

Tabella 27: Response Servizio di Pubblicazione Aggiornamento Documento

* Gli oggetti di errore, generati dall’applicativo o da apparati di frontiera, rispettano la specifica RFC 7807, per ulteriori dettagli fare riferimento al Capitolo 12 “Drilldown Error Response”.

Campi sempre valorizzati

FIELD TYPE DESCRIPTION
traceID String Identificativo univoco assegnato alla richiesta dell'utente. È sempre presente a differenza del workflowInstanceId poiché il valore di quest’ultimo dipende dal CDA preso in input
spanID String Identificativo univoco assegnato alla singola operazione nell’ambito della richiesta dell'utente. In caso di richiesta avente operazioni multiple (su più microservizi), ognuna di esse avrà un differente spanId (ma stesso traceId). \ traceId e spanId coincidono nella prima operazione.
workflowInstanceId String Identificativo univoco della transazione

Tabella 28: Campi Response sempre valorizzati

Campi valorizzati solo in caso di warning:

FIELD TYPE DESCRIPTION
warning String Dettaglio del warning

Tabella 29: Campi Response valorizzati in caso di warning

7.2.1. Esempio di Messaggio di risposta con Esito Success 200

{ 
  "traceID": "c2e1818fbf7aea7f", 
  "spanID": "c2e1818fbf7aea7f",
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId" 
}

7.2.2. Esempio di Messaggio di Risposta con esito KO 400

{
  "traceID": "61d8123fb20e2afc",
  "spanID": "61d8123fb20e2afc",
  "type": "/msg/mandatory-element",
  "title": "Campo obbligatorio non presente",
  "detail": "Il campo identificativo documento deve essere valorizzato",
  "status": 400,
  "instance": "/msg/mandatory-element"
}

8. Servizio di validazione e pubblicazione creazione contestuale

Nei sottoparagrafi della presente sezione vengono riportate le informazioni principali per l'invocazione di questa funzionalità. Per ulteriori dettagli sui campi esposti, è necessario fare riferimento al Capitolo 13 "Drilldown Parametri di Input.

L’Endpoint del caso d’uso di Validazione e pubblicazione creazione Documento CDA2 si compone come segue:

https://<HOST>:<PORT>/v<major>/documents/validate-and-create

Lo scopo di questa API è validare (sintatticamente, semanticamente, terminologicamente) un documento CDA2. Nel caso di errore bloccante di validazione, il processo ritornerà all'utente il dettaglio relativo. Nel caso invece di errore non bloccante in validazione o di successo, si procederà all'indicizzazione sul FSE regionale, alla traduzione dei dati clinici nel formato HL7 FHIR e al successivo invio al Data Repository Centrale..

8.1. Request

METHOD POST
URL /v1/documents/validate-and-create
TYPE multipart/form-data

Tabella 30: Method, URL, Type

PARAMETER
SECTION KEY NAME TYPE REQUIRED AFFINITY DOMAIN/IHE
Header Authorization N.D. Bearer true N.A.
Header FSE-JWT-Signature N.D. N.D. true N.A.
Header Accept application/json String true N.A.
Request Body file file MultipartFile true N.A.
healthDataFormat HealthDataFormatEnum false N.A.
mode InjectionModeEnum false N.A.
tipologiaStruttura HealthcareFacilityEnum true XDSDocumentEntry.healthcareFacilityTypeCode
attiCliniciRegoleAccesso String[] false XDSDocumentEntry.eventCodeList
identificativoDoc String true XDSDocumentEntry.uniqueId
identificativoRep String true XDSDocumentEntry.repositoryUniqueId
tipoDocumentoLivAlto TipoDocAltoLivEnum true XDSDocumentEntry.classCode
assettoOrganizzativo PracticeSettingCodeEnum true XDSDocumentEntry.practiceSettingCode
dataInizioPrestazione String false XDSDocumentEntry. serviceStartTime (ITI TF 3: 4.2.3.2.19)
dataFinePrestazione String false XDSDocumentEntry.serviceStopTime (ITI TF 3: 4.2.3.2.20)
conservazioneANorma String false XDSDocumentEntry.Slot - Conservazione a norma
tipoAttivitaClinica AttivitaClinicaEnum true XDSSubmissionSet.contentTypeCode
identificativoSottomissione String true XDSSubmissionSet.uniqueId (ITI TF:3 4.2.3.3.12)
priorita boolean false N.A.
descriptions String[] false XDSDocumentEntry.Slot - description
administrativeRequest AdministrativeReqEnum[] false XDSDocumentEntry.Slot - administrativeRequest

Tabella 31: Parametri Richiesta di validazione pubblicazione creazione contestuale

La compilazione errata dei parameter oppure la non compilazione dei parameter “required” comporta un errore di tipo bloccante. La non compilazione del parameter facoltativo “priorita” consente al Gateway di decidere la priorità da attribuire al documento fornito in input al servizio.

Il Request Body è di tipo multipart/form-data, al suo interno sono previsti due parametri:

  • file che dovrà contenere un file PDF con iniettato un Clinical Document in formato XML in linea con quanto riportato nelle «Implementation Guide CDA R2» al link [1]

  • requestBody che dovrà contenere l’oggetto json con i parameter di input

8.1.1. Messaggio di Richiesta, esempio “Validazione Pubblicazione creazione con Attachment”

Messaggio di richiesta con pdf con CDA innestato in modalità ATTACHMENT, tipo documento CDA e metadati formalmente corretti, senza indicazione della priorità.

curl -X 'POST' \
  'https://<HOST>:<PORT>/v1/documents/validate-and-create' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'Content-Type: multipart/form-data' \
  -F 'requestBody={
  "healthDataFormat": "CDA",
  "mode": "ATTACHMENT",
  "tipologiaStruttura": "Ospedale",
  "attiCliniciRegoleAccesso": [
    "P99"
  ],
  "identificativoDoc": "2.16.840.1.113883.2.9.2.120.4.4^290700",
  "identificativoRep": " 2.16.840.1.113883.2.9.2.120.4.5.1",
  "tipoDocumentoLivAlto": "REF",
  "assettoOrganizzativo": "AD_PSC001",
  "dataInizioPrestazione": "20141020110012",
  "dataFinePrestazione": "20141020110012",
  "tipoAttivitaClinica": "CON",
  "identificativoSottomissione": "2.16.840.1.113883.2.9.2.120.4.3.489592",
  "priorita": false,
  "descriptions": [
    "019655^Bentelan^2.16.840.1.113883.2.9.6.1.5"
  ],
  "administrativeRequest": ["SSN"]
}' \
  -F 'file=@CDA_OK.pdf;type=application/pdf'

8.1.2. Messaggio di Richiesta, esempio “Validazione Pubblicazione creazione con Resource”

Messaggio di richiesta con pdf con CDA innestato in modalità RESOURCE, tipo documento CDA e metadati formalmente corretti, con indicazione della priorità.

curl -X 'POST' \
  'https://<HOST>:<PORT>/v1/documents/validate-and-create' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'Content-Type: multipart/form-data' \
  -F 'requestBody={
  "healthDataFormat": "CDA",
  "mode": "RESOURCE",
  "tipologiaStruttura": "Ospedale",
  "attiCliniciRegoleAccesso": [
    "P99"
  ],
  "identificativoDoc": "2.16.840.1.113883.2.9.2.120.4.4^290701",
  "identificativoRep": " 2.16.840.1.113883.2.9.2.120.4.5.1",
  "tipoDocumentoLivAlto": "REF",
  "assettoOrganizzativo": "AD_PSC001",
  "dataInizioPrestazione": "20141020110012",
  "dataFinePrestazione": "20141020110012",
  "tipoAttivitaClinica": "CON",
  "identificativoSottomissione": "2.16.840.1.113883.2.9.2.120.4.3.489593",
  "priorita": true,
  "descriptions": [
    "019655^Bentelan^2.16.840.1.113883.2.9.6.1.5"
  ],
  "administrativeRequest": ["SSN"]
}' \

  -F 'file=@CDA_OK.pdf;type=application/pdf'

8.2. Response

TIPO IN CASO DI SUCCESSO application/json
TIPO IN CASO DI ERRORE* application/problem+json
STATUS CODE 201 Presa in carico eseguita con successo
400 Bad request** (input non valido o validazione/ pubblicazione non corretta)
401 Unauthorized
403 Token jwt mancante o non valido
404 Not found
409 Conflict
413 Payload too large
415 Unsupported media type
429 Too Many Requests
500 Internal server error
502 Invalid response received from the API Implementation
503 Service unavailable
504 Endpoint request timed-out

Tabella 32: Response Servizio di Validazione Pubblicazione creazione contestuale

* Gli oggetti di errore, generati dall’applicativo o da apparati di frontiera, rispettano la specifica RFC 7807, per ulteriori dettagli fare riferimento al Capitolo 12 “Drilldown Error Response”.

** La pubblicazione creazione non sarà eseguita se la validazione preliminare restituisce un esito negativo. In caso di errore in validazione o in trasformata FHIR, il servizio risponderà con codice di errore 400

Campi sempre valorizzati

FIELD TYPE DESCRIPTION
traceID String Identificativo univoco assegnato alla richiesta dell'utente. È sempre presente a differenza del workflowInstanceId poiché il valore di quest’ultimo dipende dal CDA preso in input
spanID String Identificativo univoco assegnato ad un singolo operazione della richiesta dell'utente. In caso di richiesta avente operazioni multiple (su più microservizi), ognuna di esse avrà un differente spanId (ma stesso traceId). \ traceId e spanId coincidono nella prima operazione.
workflowInstanceId String Identificativo univoco della transazione

Tabella 33: Campi Response sempre valorizzati

Campi valorizzati solo in caso di warning

FIELD TYPE DESCRIPTION
warning String Dettaglio del warning

Tabella 34: Campi Response valorizzati in caso di warning

8.2.1. Esempio di Messaggio di Risposta con esito OK 200 - “Validazione Pubblicazione creazione contestuale con Attachment”

{ 
  "traceID": "c2e1818fbf7aea7f", 
  "spanID": "c2e1818fbf7aea7f", 
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId" \
}

8.2.2. Esempio di Messaggio di Risposta con esito OK 400 - “Validazione Pubblicazione creazione contestuale con errore sintattico”

{ 
  "traceID": "79e2637736ad9bae", 
  "spanID": "79e2637736ad9bae", 
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.46a41df0ab0514f11c0811056832c3225e06c8e11824f27c7e5517ca5cfc57fe.ac05831184^^^^urn:ihe:iti:xdw:2013:workflowInstanceId", 
  "responseStatus": 400, 
  "type": "/msg/syntax", 
  "title": "Errore di sintassi.", 
  "detail": "Error while executing validation on xsd schema", 
  "instance": "/validation/error", 
  "status": "400" 
}

8.2.3. Esempio di Messaggio di Risposta con esito OK 201 - “Validazione Pubblicazione creazione contestuale con warning semantico”

{
  "traceID": "b20d5f0f59d117ca",
  "spanID": "b20d5f0f59d117ca",
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.10908.4.4.2.0d0002200a27e9ead4de0891c19736a630eab68fb09f7851561bbfeed7389948.9562421609^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
  "warning": "[W005 | Sezione Esame Eseguito: l'entry/act/code può essere valorizzato secondo i sistemi di codifica\n\t\t\tLOINC @codeSystem='2.16.840.1.113883.6.1'\n\t\t\tICD-9-CM @codeSystem='2.16.840.1.113883.6.103']",
  "responseStatus": 201
}

9. Servizio di validazione pubblicazione sostituzione contestuale

Nei sottoparagrafi della presente sezione vengono riportate le informazioni principali per l’invocazione di questa funzionalità. Per ulteriori dettagli sui campi esposti è necessario fare riferimento al Capitolo 13 “Drilldown Parametri di Input”.

L’Endpoint del caso d’uso di Validazione Pubblicazione Sostituzione Documento si compone come segue:

https://<HOST>:<PORT>/v<major>/documents/validate-and-replace/<identificativoDocUpdate>

Lo scopo di questa API è validare (sintatticamente, semanticamente, terminologicamente) un documento CDA2. Nel caso di errore bloccante di validazione, il processo ritornerà all'utente il dettaglio relativo. Nel caso invece di errore non bloccante in validazione o di successo, si procederà all'indicizzazione sul FSE regionale sostituendo un documento precedentemente pubblicato, alla traduzione dei dati clinici nel formato HL7 FHIR e al successivo invio al Data Repository Centrale.

9.1. Request

METHOD PUT
URL /v1/documents/validate-and-replace/{identificativoDocUpdate}
TYPE multipart/form-data

Tabella 35: Method, URL, Type

PARAMETER
SECTION KEY NAME TYPE REQUIRED AFFINITY DOMAIN/IHE
Header Authorization N.D. Bearer true N.A.
Header FSE-JWT-Signature N.D. N.D. true N.A.
Header Accept application/json String true N.A.
Path variable identificativoDocUpdate identificativoDocUpdate String true XDSDocumentEntry.uniqueId
Request Body file file MultipartFile true N.A.
requestBody healthDataFormat HealthDataFormatEnum false N.A.
mode InjectionModeEnum false N.A.
tipologiaStruttura HealthcareFacilityEnum true XDSDocumentEntry.healthcareFacilityTypeCode
attiCliniciRegoleAccesso List false XDSDocumentEntry.eventCodeList
identificativoDoc String true XDSDocumentEntry.uniqueId
identificativoRep String true XDSDocumentEntry.repositoryUniqueId
tipoDocumentoLivAlto TipoDocAltoLivEnum true XDSDocumentEntry.classCode
assettoOrganizzativo PracticeSettingCodeEnum true XDSDocumentEntry.practiceSettingCode
dataInizioPrestazione String false XDSDocumentEntry. serviceStartTime (ITI TF 3: 4.2.3.2.19)
dataFinePrestazione String false XDSDocumentEntry.serviceStopTime (ITI TF 3: 4.2.3.2.20)
conservazioneANorma String false XDSDocumentEntry.Slot - Conservazione a norma
tipoAttivitaClinica AttivitaClinicaEnum true XDSSubmissionSet.contentTypeCode
identificativoSottomissione String true XDSSubmissionSet.uniqueId (ITI TF:3 4.2.3.3.12)
descriptions List false XDSDocumentEntry.Slot - description
administrativeRequest AdministrativeReqEnum false XDSDocumentEntry.Slot - administrativeRequest

Tabella 36: Parametri Richiesta di Validazione Pubblicazione Sostituzione contestuale

La compilazione errata dei parameter oppure la non compilazione dei parameter “required” comporta un errore di tipo bloccante. La non compilazione del parameter facoltativo “mode” comporta la resituzione di un errore di tipo warning.

Il parametro identificativoDocUpdate corrisponde all’OID (Object Identifier) del documento da sostituire e al parametro identificativoDoc utilizzato precedentemente nel servizio di creazione.

9.1.1. Messaggio di Richiesta, esempio “Validazione Pubblicazione Sostituzione Documento con Attachment”

Messaggio di richiesta con pdf con CDA innestato in modalità ATTACHMENT, tipo documento CDA e metadati formalmente corretti, senza indicazione della priorità.

curl -X 'PUT' \
  'https://<HOST>:<PORT>/v1/documents/validate-and-replace/507f1f77bcf86cd799439011' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'FSE-JWT-Signature: eyJdWIiOiIxMjM0NTY3ODkw … Ok6yJV_adQssw5c' \
  -H 'Content-Type: multipart/form-data' \
  -F 'requestBody={
  "healthDataFormat": "CDA",
  "mode": "ATTACHMENT",
  "tipologiaStruttura": "Ospedale",
  "attiCliniciRegoleAccesso": [
    "P99"
  ],
  "identificativoDoc": "2.16.840.1.113883.2.9.2.120.4.4^290700",
  "identificativoRep": " 2.16.840.1.113883.2.9.2.120.4.5.1",
  "tipoDocumentoLivAlto": "REF",
  "assettoOrganizzativo": "AD_PSC001",
  "dataInizioPrestazione": "20141020110012",
  "dataFinePrestazione": "20141020110012",
  "tipoAttivitaClinica": "CON",
  "identificativoSottomissione": "2.16.840.1.113883.2.9.2.120.4.3.489592",
  "descriptions": [
    "019655^Bentelan^2.16.840.1.113883.2.9.6.1.5"
  ],
  "administrativeRequest": ["SSN"]
}' \

  -F 'file=@CDA_OK.pdf;type=application/pdf'

9.2. Response

TIPO IN CASO DI SUCCESSO application/json
TIPO IN CASO DI ERRORE* application/problem+json
STATUS CODE 200 Presa in carico eseguita con successo
400 Bad request** (input non valido o validazione/ pubblicazione non corretta)
401 Unauthorized
403 Token jwt mancante o non valido
404 Not found***
409 Conflict
413 Payload too large
415 Unsupported media type
429 Too Many Requests
500 Internal server error
502 Invalid response received from the API Implementation
503 Service unavailable
504 Endpoint request timed-out

Tabella 37: Response Servizio di Validazione pubblicazione Sostituzione Documento contestuale

* Gli oggetti di errore, generati dall’applicativo o da apparati di frontiera, rispettano la specifica RFC 7807, per ulteriori dettagli fare riferimento al Capitolo 12 “Drilldown Error Response”.

** La pubblicazione sostituzione non sarà eseguita se la validazione preliminare restituisce un esito negativo. In caso di errore in validazione o in trasformata FHIR, il servizio risponderà con codice di errore 400.

*** La pubblicazione sostituzione restituirà codice di errore 404 se il documento che si intende sostituire non è presente su INI.

Campi sempre valorizzati

FIELD TYPE DESCRIPTION
traceID String Identificativo univoco assegnato alla richiesta dell'utente. È sempre presente a differenza del workflowInstanceId poiché il valore di quest’ultimo dipende dal CDA preso in input
spanID String Identificativo univoco assegnato ad un singolo operazione della richiesta dell'utente. In caso di richiesta avente operazioni multiple (su più microservizi), ognuna di esse avrà un differente spanId (ma stesso traceId). \ traceId e spanId coincidono nella prima operazione.
workflowInstanceId String Identificativo univoco della transazione

Tabella 38: Campi Response sempre valorizzati

Campi valorizzati solo in caso di warning

FIELD TYPE DESCRIPTION
warning String Dettaglio del warning

Tabella 39: Campi Response valorizzati in caso di warning

9.2.1. Esempio di Messaggio di Risposta con esito OK 200, “Pubblicazione Sostituzione Documento con Attachment”

{ 
 "traceID": "c2e1818fbf7aea7f", 
 "spanID": "c2e1818fbf7aea7f", 
 "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId" 
}

9.2.2. Esempio di Messaggio di Risposta con esito OK 200, “Pubblicazione Sostituzione Documento con warning semantico”

{
  "traceID": "b20d5f0f59d117ca",
  "spanID": "b20d5f0f59d117ca",
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.10908.4.4.2.0d0002200a27e9ead4de0891c19736a630eab68fb09f7851561bbfeed7389948.9562421609^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
  "warning": "[W005 | Sezione Esame Eseguito: l'entry/act/code può essere valorizzato secondo i sistemi di codifica\n\t\t\tLOINC @codeSystem='2.16.840.1.113883.6.1'\n\t\t\tICD-9-CM @codeSystem='2.16.840.1.113883.6.103']",
  "responseStatus": 201
}

9.2.3. Esempio di Messaggio di Risposta con esito OK 400, “Pubblicazione Sostituzione Documento con errore sintattico”

{ 
  "traceID": "79e2637736ad9bae", 
  "spanID": "79e2637736ad9bae", 
  "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.46a41df0ab0514f11c0811056832c3225e06c8e11824f27c7e5517ca5cfc57fe.ac05831184^^^^urn:ihe:iti:xdw:2013:workflowInstanceId", 
  "responseStatus": 400, 
  "type": "/msg/syntax", 
  "title": "Errore di sintassi.", 
  "detail": "Error while executing validation on xsd schema", 
  "instance": "/validation/error", 
  "status": "400" 
}

10. Servizio di Recupero Stato Transazione per WorkflowInstanceId

Nei sottoparagrafi della presente sezione vengono riportate le informazioni principali per l’invocazione di questa funzionalità. Per ulteriori dettagli sui campi esposti è necessario fare riferimento al Capitolo 13 “Drilldown Parametri di Input”.

L’Endpoint del caso d’uso di Recupero Stato Transazione per WorkflowInstanceId si compone come segue:

https://<HOST>:<PORT>/v<major>/status/<workflowInstanceId>

Lo scopo di questa API Sincrona è di recuperare la lista di tutti gli eventi di una transazione associati ad un workflowInstanceId. In particolare per tutti gli attori che sono abilitati ad invocare tramite il Gateway la componente INI, sarà possibile anche recuperare un ulteriore stato che mostra la request e la response SOAP per tutte le operazioni di creazione, sostituzione, aggiornamento e cancellazione. Tale funzionalità sara presente solo ed esclusivamente in ambiente di validazione.

10.1. Request

METHOD GET
URL /v1/status/{workflowInstanceId}

Tabella 30: Method, URL, Type

PARAMETER
SECTION KEY NAME TYPE REQUIRED AFFINITY DOMAIN/IHE
Header Authorization N.D. Bearer true N.A.
Header Accept application/json String true N.A.
Path variable workflowInstanceId workflowInstanceId String true N.A.

Tabella 31: Parametri Richiesta di Recupero Stato Transazioni per WorkflowInstanceId

La compilazione errata dei parametri oppure la non compilazione dei parametri “required” comporta un errore di tipo bloccante.

10.1.1. Esempio Messaggio di Richiesta stato Transazioni

Messaggio di richiesta con workflowInstanceId valorizzato

curl -X 'GET' \
'https://<HOST>:<PORT>/v1/status/2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId' \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \
  -H 'accept: application/json' 

10.2. Response

TIPO IN CASO DI SUCCESSO application/json
TIPO IN CASO DI ERRORE* application/problem+json
STATUS CODE 200 Success
400 Bad request
401 Unauthorized
403 Token jwt mancante o non valido
404 Not found
409 Conflict
413 Payload too large
429 Too Many Requests
500 Internal server error
502 Invalid response received from the API Implementation
503 Service unavailable
504 Endpoint request timed-out

Tabella 32: Response Servizio di Recupero Stato Transazione per WorkflowInstanceId

* Gli oggetti di errore, generati dall’applicativo o da apparati di frontiera, rispettano la specifica RFC 7807, per ulteriori dettagli fare riferimento al Capitolo 12 “Drilldown Error Response”.

Campi sempre valorizzati

FIELD TYPE DESCRIPTION
traceID String Identificativo univoco assegnato alla richiesta dell'utente. È sempre presente a differenza del workflowInstanceId poiché il valore di quest’ultimo dipende dal CDA preso in input
spanID String Identificativo univoco assegnato alla singola operazione nell’ambito della richiesta dell'utente. In caso di richiesta avente operazioni multiple (su più microservizi), ognuna di esse avrà un differente spanId (ma stesso traceId). \ traceId e spanId coincidono nella prima operazione.

Tabella 33: Campi Response sempre valorizzati

Campi valorizzati in caso di Success

FIELD ATTRIBUTE TYPE DESCRIPTION
transactionData eventType String Tipologia di evento emesso
eventDate String Timestamp di emissione dell’evento
eventStatus String Stato dell’evento (SUCCESS, BLOCKING_ERROR, etc)
message String Messaggio opzionale che descrive l’evento
identificativoDocumento String Identificativo del documento a cui è associato l’evento emesso
subject String Subject a cui è associato l’evento
subjectRole String Ruolo del Subject a cui è associato l’evento
tipoAttivita String tipologia dell’attività associata all’evento
organizzazione String Organizzazione
workflowInstanceId String Identificativo univoco della transazione
traceId String Identificativo univoco assegnato alla richiesta dell'utente
issuer String Issuer associato all’evento
expiringDate String Data di eliminazione della transazione dai sistemi

Tabella 34: Campi Response sempre valorizzati

10.2.1. Esempio messaggio di risposta ad una creazione con Esito Success 200

Di seguito viene mostrato un esempio di risposta ad una creazione per un issuer abilitato alla comunicazione verso INI con esito 200

{
  "traceID": "3f67b89ba72ed40b",
  "spanID": "81bad71c3ffea6d0",
  "transactionData": [
    {
      "eventType": "VALIDATION",
      "eventDate": "2024-10-23T12:26:06.971+02:00",
      "eventStatus": "SUCCESS",
      "subject": "PROVAX00X00X000Y^^^&amp;2.16.840.1.113883.2.9.4.3.2&amp;ISO",
      "organizzazione": "120",
      "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.b0f3ffcf25ce2aafc7dc901e2febc51f43837f4ca0fe3b6d1b02194e9047b6db.440d410bf0^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "traceId": "13dfc4b489d37ca3",
      "issuer": "integrity:S1#110201234567XX",
      "expiringDate": "2025-10-23T12:26:07.470+02:00"
    },
    {
      "eventType": "PUBLICATION",
      "eventDate": "2024-10-23T12:26:25.266+02:00",
      "eventStatus": "SUCCESS",
      "identificativoDocumento": "2.16.840.1.113883.2.9.2.110.4.4^UAT_GTW_ID1729679184067",
      "subject": "PROVAX00X00X000Y^^^&amp;2.16.840.1.113883.2.9.4.3.2&amp;ISO",
      "tipoAttivita": "PHR",
      "organizzazione": "120",
      "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.b0f3ffcf25ce2aafc7dc901e2febc51f43837f4ca0fe3b6d1b02194e9047b6db.440d410bf0^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "traceId": "cc5783a359316a87",
      "issuer": "integrity:S1#110201234567XX",
      "expiringDate": "2025-10-23T12:26:25.328+02:00"
    },
    
    {
      "eventType": "INI_CREATE_SOAP",
      "eventDate": "2024-10-23T12:26:25.812+0200",
      "message": "SOAP_REQUEST:<S:Envelope><S:Header>...</S:Header><S:Body>...</S:Body></S:Envelope> SOAP_RESPONSE:<soapenv:Envelope><soapenv:Header>...</soapenv:Header><soapenv:Body>...</soapenv:Body></soapenv:Envelope>",
      "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.b0f3ffcf25ce2aafc7dc901e2febc51f43837f4ca0fe3b6d1b02194e9047b6db.440d410bf0^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "expiringDate": "2025-10-23T12:26:26.155+0200"
    },
    {
      "eventType": "SEND_TO_INI",
      "eventDate": "2024-10-23T12:26:27.295+02:00",
      "eventStatus": "SUCCESS",
      "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.b0f3ffcf25ce2aafc7dc901e2febc51f43837f4ca0fe3b6d1b02194e9047b6db.440d410bf0^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "expiringDate": "2025-10-23T12:26:27.530+02:00"
    }

  ]

}

10.2.2. Esempio messaggio di risposta ad una cancellazione con Esito Success 200

Di seguito viene mostrato un esempio di risposta ad una cancellazione per un issuer abilitato alla comunicazione verso INI con esito 200

{
  "traceID": "96f988e9a3f6d449",
  "spanID": "53b7886d2a3acb85",
  "responseStatus": 200,
  "transactionData": [
    {
      "eventType": "INI_RIFERIMENTO_SOAP",
      "eventDate": "2024-10-23T12:39:13.959+0200",
      "message": "SOAP_REQUEST:<S:Envelope> <S:Header>...</S:Header><S:Body>...</S:Body></S:Envelope> SOAP_RESPONSE:<soapenv:Envelope><soapenv:Header>...</soapenv:Header><soapenv:Body>...</soapenv:Body></soapenv:Envelope>",
      "workflowInstanceId": "256b6fc0848497fd6a3fb63e2ff82db7ac8402766ad00291eecd9fc47d966a3e.c7cf8ce14f^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "expiringDate": "2025-10-23T12:39:14.002+0200"
    },
    {
      "eventType": "RIFERIMENTI_INI",
      "eventDate": "2024-10-23T12:39:14.304+02:00",
      "eventStatus": "SUCCESS",
      "message": "Riferimenti trovati: urn:uuid:62e9a58c-79cb-48fd-88f1-4a5fdaa5b0ed",
      "identificativoDocumento": "2.16.840.1.113883.2.9.2.110.4.4^UAT_GTW_ID1729679950959",
      "subject": "SSSMNN75B01F257L^^^&2.16.840.1.113883.2.9.4.3.2&ISO",
      "tipoAttivita": "PHR",
      "organizzazione": "120",
      "workflowInstanceId": "256b6fc0848497fd6a3fb63e2ff82db7ac8402766ad00291eecd9fc47d966a3e.c7cf8ce14f^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "traceId": "88a9f590939e2b2e",
      "issuer": "integrity:S1#110201234567XX",
      "expiringDate": "2025-10-23T12:39:14.345+02:00"
    },
    {
      "eventType": "INI_DELETE_SOAP",
      "eventDate": "2024-10-23T12:39:14.353+0200",
      "message": "SOAP_REQUEST:<S:Envelope><S:Header>....</S:Header><S:Body>...</S:Body></S:Envelope> \n SOAP_RESPONSE:<soapenv:Envelope><soapenv:Header>...</soapenv:Header><soapenv:Body>...</soapenv:Body></soapenv:Envelope>",
      "workflowInstanceId": "256b6fc0848497fd6a3fb63e2ff82db7ac8402766ad00291eecd9fc47d966a3e.c7cf8ce14f^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "expiringDate": "2025-10-23T12:39:14.379+0200"
    },
    {
      "eventType": "INI_DELETE",
      "eventDate": "2024-10-23T12:39:14.917+02:00",
      "eventStatus": "SUCCESS",
      "message": "Delete effettuata su ini",
      "identificativoDocumento": "2.16.840.1.113883.2.9.2.110.4.4^UAT_GTW_ID1729679950959",
      "subject": "SSSMNN75B01F257L^^^&2.16.840.1.113883.2.9.4.3.2&ISO",
      "tipoAttivita": "PHR",
      "organizzazione": "120",
      "workflowInstanceId": "256b6fc0848497fd6a3fb63e2ff82db7ac8402766ad00291eecd9fc47d966a3e.c7cf8ce14f^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "traceId": "88a9f590939e2b2e",
      "issuer": "integrity:S1#110201234567XX",
      "expiringDate": "2025-10-23T12:39:14.946+02:00"
    }
  ]
}

10.2.3. Esempio messaggio di risposta ad una sostituzione con Esito Success 200

Di seguito viene mostrato un esempio di risposta ad una sostituzione per un issuer abilitato alla comunicazione verso INI con esito 200

{
  "traceID": "ffaac0bad18ab232",
  "spanID": "b63453ce857318da",
  "responseStatus": 200,
  "transactionData": [
    {
      "eventType": "VALIDATION",
      "eventDate": "2024-10-23T12:46:44.425+02:00",
      "eventStatus": "SUCCESS",
      "subject": "SSSMNN75B01F257L^^^&amp;2.16.840.1.113883.2.9.4.3.2&amp;ISO",
      "organizzazione": "120",
      "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.b0f3ffcf25ce2aafc7dc901e2febc51f43837f4ca0fe3b6d1b02194e9047b6db.8d9957eb69^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "traceId": "4df615555b1ca812",
      "issuer": "integrity:S1#110201234567XX",
      "expiringDate": "2025-10-23T12:46:44.450+02:00"
    },
    {
      "eventType": "INI_RIFERIMENTO_SOAP",
      "eventDate": "2024-10-23T12:46:47.148+0200",
      "message": "SOAP_REQUEST:<S:Envelope><S:Header>...</S:Header><S:Body>...</S:Body></S:Envelope> \n SOAP_RESPONSE:<soapenv:Envelope><soapenv:Header xmlns:wsa=\"http://www.w3.org/2005/08/addressing\">...</soapenv:Header><soapenv:Body>...</soapenv:Body></soapenv:Envelope>",
      "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.b0f3ffcf25ce2aafc7dc901e2febc51f43837f4ca0fe3b6d1b02194e9047b6db.8d9957eb69^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "expiringDate": "2025-10-23T12:46:47.172+0200"
    },
    {
      "eventType": "REPLACE",
      "eventDate": "2024-10-23T12:46:47.597+02:00",
      "eventStatus": "SUCCESS",
      "identificativoDocumento": "2.16.840.1.113883.2.9.2.110.4.4^UAT_GTW_ID1729680401519",
      "subject": "SSSMNN75B01F257L^^^&amp;2.16.840.1.113883.2.9.4.3.2&amp;ISO",
      "tipoAttivita": "PHR",
      "organizzazione": "120",
      "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.b0f3ffcf25ce2aafc7dc901e2febc51f43837f4ca0fe3b6d1b02194e9047b6db.8d9957eb69^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "traceId": "be920b993364ec0a",
      "issuer": "integrity:S1#110201234567XX",
      "expiringDate": "2025-10-23T12:46:47.653+02:00"
    },
    {
      "eventType": "INI_REPLACE_SOAP",
      "eventDate": "2024-10-23T12:46:47.673+0200",
      "message": "SOAP_REQUEST:<S:Envelope><S:Header>...</S:Header><S:Body>...</S:Body></S:Envelope> \n SOAP_RESPONSE:<soapenv:Envelope><soapenv:Header xmlns:wsa=\"http://www.w3.org/2005/08/addressing\">...</soapenv:Header><soapenv:Body>...</soapenv:Body></soapenv:Envelope>",
      "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.b0f3ffcf25ce2aafc7dc901e2febc51f43837f4ca0fe3b6d1b02194e9047b6db.8d9957eb69^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "expiringDate": "2025-10-23T12:46:47.724+0200"
    },
    {
      "eventType": "SEND_TO_INI",
      "eventDate": "2024-10-23T12:46:48.071+02:00",
      "eventStatus": "SUCCESS",
      "workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.b0f3ffcf25ce2aafc7dc901e2febc51f43837f4ca0fe3b6d1b02194e9047b6db.8d9957eb69^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "expiringDate": "2025-10-23T12:46:48.102+02:00"
    }
  ]
}

10.2.4. Esempio messaggio di risposta ad una update con Esito Success 200

{
  "traceID": "e43e769a2a815203",
  "spanID": "e65b754508379297",
  "responseStatus": 200,
  "transactionData": [
    {
      "eventType": "INI_GET_METADATI_SOAP",
      "eventDate": "2024-10-23T13:01:10.185+0200",
      "message": "SOAP_REQUEST:<S:Envelope><S:Header>...</S:Header><S:Body>...</S:Body></S:Envelope> \n SOAP_RESPONSE:<soapenv:Envelope><soapenv:Header xmlns:wsa=\"http://www.w3.org/2005/08/addressing\">...</soapenv:Header><soapenv:Body>...</soapenv:Body></soapenv:Envelope>",
      "workflowInstanceId": "97fcdd6c0f5e003511104c7633fde2547ed4c973378b6686a33652c557a38b8f.7ba5fcfebf^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "expiringDate": "2025-10-23T13:01:10.201+0200"
    },
    {
      "eventType": "RIFERIMENTI_INI",
      "eventDate": "2024-10-23T13:01:10.871+02:00",
      "eventStatus": "SUCCESS",
      "message": "Merge metadati effettuato correttamente",
      "identificativoDocumento": "2.16.840.1.113883.2.9.2.140.4.4^UAT_GTW_ID1728471418703",
      "subject": "SSSMNN75B01F257L^^^&2.16.840.1.113883.2.9.4.3.2&ISO",
      "organizzazione": "140",
      "workflowInstanceId": "97fcdd6c0f5e003511104c7633fde2547ed4c973378b6686a33652c557a38b8f.7ba5fcfebf^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "traceId": "6db24f996e15f507",
      "issuer": "integrity:S1#110201234567XX",
      "expiringDate": "2025-10-23T13:01:10.892+02:00"
    },
    {
      "eventType": "INI_UPDATE_SOAP",
      "eventDate": "2024-10-23T13:01:10.907+0200",
      "message": "SOAP_REQUEST:<S:Envelope><S:Header>...</S:Header><S:Body>...</S:Body></S:Envelope> \n SOAP_RESPONSE:<soapenv:Envelope><soapenv:Header>...</soapenv:Header><soapenv:Body>...</soapenv:Body></soapenv:Envelope>",
      "workflowInstanceId": "97fcdd6c0f5e003511104c7633fde2547ed4c973378b6686a33652c557a38b8f.7ba5fcfebf^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "expiringDate": "2025-10-23T13:01:10.922+0200"
    },
    {
      "eventType": "INI_UPDATE",
      "eventDate": "2024-10-23T13:01:11.432+02:00",
      "eventStatus": "SUCCESS",
      "message": "Update ini effettuato correttamente",
      "identificativoDocumento": "2.16.840.1.113883.2.9.2.140.4.4^UAT_GTW_ID1728471418703",
      "subject": "SSSMNN75B01F257L^^^&2.16.840.1.113883.2.9.4.3.2&ISO",
      "organizzazione": "140",
      "workflowInstanceId": "97fcdd6c0f5e003511104c7633fde2547ed4c973378b6686a33652c557a38b8f.7ba5fcfebf^^^^urn:ihe:iti:xdw:2013:workflowInstanceId",
      "traceId": "6db24f996e15f507",
      "issuer": "integrity:S1#110201234567XX",
      "expiringDate": "2025-10-23T13:01:11.455+02:00"
    }
  ]
}

10.2.5. Esempio di Messaggio di Risposta con esito KO 404

{
  "traceID": "6cd7a61189e8282f",
  "spanID": "6cd7a61189e8282f",
  "type": "msg/record-not-found",
  "title": "Record non trovato.",
  "detail": "No Record Found",
  "status": 404,
  "instance": ""
}

11. Servizio di Recupero Stato Transazione per TraceId

Nei sottoparagrafi della presente sezione vengono riportate le informazioni principali per l’invocazione di questa funzionalità. Per ulteriori dettagli sui campi esposti è necessario fare riferimento al Capitolo 13 “Drilldown Parametri di Input”.

L’Endpoint del caso d’uso di Recupero Stato Transazione per WorkflowInstanceId si compone come segue:

https://<HOST>:<PORT>/v<major>/status/search/<traceId>

Lo scopo di questa API Sincrona è di recuperare la lista di tutti gli eventi di una transazione associati ad un traceId.

11.1. Request

METHOD GET
URL /v1/status/search/{traceId}

Tabella 35: Method, URL, Type

PARAMETER
SECTION KEY NAME TYPE REQUIRED AFFINITY DOMAIN/IHE
Header Authorization N.D. Bearer true N.A.
Header Accept application/json String true N.A.
Path variable traceId traceId String true N.A.

Tabella 36: Parametri Richiesta di Recupero Stato Transazioni per traceId

La compilazione errata dei parametri oppure la non compilazione dei parametri “required” comporta un errore di tipo bloccante.

11.1.1. Esempio Messaggio di Richiesta stato Transazioni

Messaggio di richiesta con workflowInstanceId valorizzato

curl -X 'GET' \
  'https://<HOST>:<PORT>/v1/status/search/3f67b89ba72ed40b’ \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg' \ \
  -H 'accept: application/json' 

11.1. Response

Per ulteriori dettagli su response del servizio in oggetto è necessario fare riferimento al Capitolo 8 “Servizio di Recupero stato transazione per WorkflowInstanceId”

12. Drilldown Response in caso di Errore

Il Gateway genererà due tipologie di errore distinte, entrambe aderenti alla specifica RFC 7807.

12.1. Errori Applicativi

Di seguito vengono indicati i campi valorizzati soltanto in caso di errori provenienti dall’applicativo

FIELD TYPE DESCRIPTION
type String URI da utilizzare come identificativo del problema che si è verificato
title String Descrizione sintetica della tipologia d’errore
status Integer Stato http
detail String Dettaglio della tipologia d’errore
instance String URI opzionale che identifica la specifica occorrenza del problema. \ Può differire dal type in caso sia necessario specificare il problema con maggiore dettaglio

Tabella 37: Campi Response valorizzati in caso di errore

12.3.1. Esempi di errore generati dal Gateway

TYPE TITLE DETAIL STATUS INSTANCE
/msg/cda-element Errore in fase di estrazione del CDA. Errore in fase di estrazione del CDA. 400 /cda-extraction
/msg/syntax Errore di sintassi. {dinamico in base all’errore} 400 /validation/error
/msg/semantic Errore semantico. {dinamico in base all’errore} 422 /validation/error
/msg/vocabulary Errore vocabolario. {dinamico in base all’errore} 400 /validation/error
/msg/cda-match Errore in fase di recupero dell'esito della verifica. Il CDA non risulta validato 400 /cda-validation
/msg/empty-file File vuoto. File vuoto 400 /empty-multipart-file
/msg/document-type Il documento non è pdf. Il documento non è pdf. 415 /multipart-file
/msg/document-hash Verifica hash fallita. Verifica hash fallita. 400 /jwt-hash-match
/msg/mandatory-element Campo obbligatorio non presente. Il campo {nomeCampo} deve essere valorizzato 400 /request-missing-field
/msg/invalid-format Formato campo non valido. Il campo {nomeCampo} deve essere valorizzato correttamente 400 /request-invalid-date-format
/msg/mandatory-element-token Token JWT non valido. Token JWT non valido 403 /jwt-mandatory-field-missing
/msg/jwt-validation Campo token JWT non valido. {dinamico in base all’errore ricevuto} 403 /jwt-person-id
/msg/fhir-mapping-type Mapping fhir fallito. {dinamico in base all’errore di trasformazione} 400 /fhir-resource
/msg/generic-timeout Generic timeout. {dinamico in base all’errore} 504 -
/msg/workflow-id-error-extraction Errore in fase di estrazione del workflow id. Errore durante l'estrazione del workflow instance id 400 /msg/workflow-id-error-extraction
/msg/record-not-found Record non trovato. {dinamico in base a cosa non viene trovato} 404 -
/msg/ini-error Ini error. {dinamico in base all’errore} {dinamico da INI} /msg/service-error/ini
/msg/generic-error Errore generico. {dinamico in base all’errore} 500 -
/msg/missing-token Token non fornito. Attenzione il jwt fornito risulta essere vuoto 403 /missing-jwt
/msg/eds-error Eds error. Document cannot be found on the Server FHIR 404 /msg/eds-document-missing
/msg/max-day-limit-exceed Error: document exceeded the maximum period to be published. Error: cannot publish documents older than 5 days 400 /msg/max-day-limit-exceed

12.1. Errori provenienti da Apparati di Frontiera

Gli errori provenienti dagli apparati di frontiera sono errori infrastrutturali o di sicurezza (ad esempio token mancante o scaduto, request non conforme alle specifiche) che vengono intercettati e notificati prima che la richiesta raggiunga i microservizi.

FIELD TYPE DESCRIPTION
type String URI da utilizzare come identificativo del problema che si è verificato
title String Descrizione sintetica della tipologia d’errore
status Integer Stato http
detail String Dettaglio della tipologia d’errore
govway_id String Identificativo di transazione che permette di individuare la transazione tramite la Console di Monitoraggio GovWay

Tabella 38: Campi Response valorizzati in caso di errore govWay

13. Drilldown Parametri di Input

Come riportato nel documento "Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Framework e dataset dei servizi base - Versione 2.5” l’interoperabilità fra i differenti sistemi di FSE a livello nazionale è assicurata tramite INI.

INI rappresenta un mediatore per le comunicazioni tra i diversi sistemi regionali che appartengono allo stesso Affinity Domain, in grado di garantire ad un sistema di FSE di una regione diversa da quella di assistenza l’accesso ai documenti.

Per individuare i parametri di input dei servizi di pubblicazione relativi alla creazione è necessario quindi fare riferimento al dataset del servizio base di comunicazione metadati presentato al paragrafo 3.3 del documento citato in precedenza.

I campi dei messaggi di richiesta comunicazione metadati riportati nella tabella 9 sono suddivisi per tipologia, in particolare possiamo individuare:

  • I campi “asserzione attributo”
    Campi aventi una natura tale da richiedere una certificazione da parte di Sistemi preposti; proprio per rispettare tale vincolo, i campi in questione dovranno essere inviati al Gateway attraverso il JWT fornito nell’header della chiamata.

  • I campi “specifici per messaggio”
    Campi che possono essere forniti al Gateway direttamente tramite la request body.

Nella parte restante di questo paragrafo saranno descritti puntualmente i campi recuperati dal JWT (che coincidono con i campi “asserzione attributo”) e quelli recuperati dalla request body (che nascono dall’unione dei campi “specifici per messaggio” che non possono essere dedotti dal contesto di invocazione).

13.1. Campi Contenuti nei JWT

Gli endpoint del Gateway ricevono 2 token JWT:

  • Authentication Bearer Token: token di autenticazione, composto da Header e Reserved Claims;
HEADER: ALGORITHM & TOKEN TYPE
ALG
DESCRIZIONE Algoritmo utilizzato per la firma del token. Valori ammessi: RS256, RS383, RS512
ESEMPIO RS256
VALIDAZIONE Obbligatorio
CAMPO JWT alg
TYPE
DESCRIZIONE Tipologia di token. DEVE essere valorizzato con il valore 'JWT'.
VALORE JWT
VALIDAZIONE Obbligatorio
CAMPO JWT typ
KID
DESCRIZIONE Un riferimento opzionale alla chiave usata per la firma del token. Anche se valorizzato non viene utilizzato nella fase di verifica.
ESEMPIO Client11
VALIDAZIONE Opzionale
CAMPO JWT kid
XC5
DESCRIZIONE certificato X.509 utilizzato per la firma del token. \ Valore in formato DER, codificato in base64.
VALIDAZIONE Obbligatorio
CAMPO JWT x5c
RESERVED CLAIMS
ISSUER
DESCRIZIONE Stringa che contiene il nome identificativo dell’entità che ha generato il token. Valorizzato con “auth:” seguito dal “Common Name del certificato di firma”
ESEMPIO auth:190201123456XX
VALIDAZIONE Obbligatorio
CAMPO JWT iss
ISSUED AT
DESCRIZIONE Numero intero (timestamp in secondi) che indica il momento in cui il token è stato generato, serve per conoscere l’età di un token
ESEMPIO 1540890704
VALIDAZIONE Obbligatorio
CAMPO JWT iat
EXPIRATION
DESCRIZIONE Numero intero (timestamp in secondi) che indica fino a quando il token sarà valido
ESEMPIO 1540918800
VALIDAZIONE Obbligatorio
CAMPO JWT exp
JWT ID
DESCRIZIONE Identificativo univoco del token, serve per prevenire la generazione accidentale di token uguali
ESEMPIO 1540918800
VALIDAZIONE Obbligatorio
CAMPO JWT Jti
AUDIENCE
DESCRIZIONE Indica il destinatario per cui è stato creato il token, da valorizzare con la base URL del servizio, comprensivo della versione, per esempio https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1
VALORE https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1
VALIDAZIONE Obbligatorio
CAMPO JWT aud
SUBJECT
DESCRIZIONE Codice Fiscale dell’utente o partita iva dell'azienda che fa richiesta del servizio di interoperabilità

Formato codifica conforme alle specifiche IHE (ITI TF-3)

ESEMPIO VRDMRC67T20I257E^^^&2.16.840.1.113883.2.9.4.3.2&ISO
VALIDAZIONE Obbligatorio
CAMPO JWT sub

Tabella 39: Campi contenuti in Authentication Bearer Token

  • FSE-JWT-Signature: token JWT contenente custom claims necessari ai fini applicativi
HEADER: ALGORITHM & TOKEN TYPE
ALG
DESCRIZIONE Algoritmo utilizzato per la firma del token. Valori ammessi: RS256, RS383, RS512
ESEMPIO RS256
VALIDAZIONE Obbligatorio
CAMPO JWT alg
TYPE
DESCRIZIONE Tipologia di token. DEVE essere valorizzato con il valore 'JWT'.
VALORE JWT
VALIDAZIONE Obbligatorio
CAMPO JWT typ
KID
DESCRIZIONE Un riferimento opzionale alla chiave usata per la firma del token. Anche se valorizzato non viene utilizzato nella fase di verifica.
ESEMPIO Client11
VALIDAZIONE Opzionale
CAMPO JWT kid
XC5
DESCRIZIONE certificato X.509 utilizzato per la firma del token. \ Valore in formato DER, codificato in base64.
VALIDAZIONE Obbligatorio
CAMPO JWT x5c
RESERVED CLAIMS
ISSUER
DESCRIZIONE Stringa che contiene il nome identificativo dell’entità che ha generato il token. Valorizzato con “integrity:” seguito dal “Common Name del certificato di firma”
ESEMPIO integrity:190201123456XX
VALIDAZIONE Obbligatorio
CAMPO JWT iss
ISSUED AT
DESCRIZIONE Numero intero (timestamp in secondi) che indica il momento in cui il token è stato generato, serve per conoscere l’età di un token
ESEMPIO 1540890704
VALIDAZIONE Obbligatorio
CAMPO JWT iat
EXPIRATION
DESCRIZIONE Numero intero (timestamp in secondi) che indica fino a quando il token sarà valido
ESEMPIO 1540918800
VALIDAZIONE Obbligatorio
CAMPO JWT exp
JWT ID
DESCRIZIONE Identificativo univoco del token, serve per prevenire la generazione accidentale di token uguali
ESEMPIO 1540918800
VALIDAZIONE Obbligatorio
CAMPO JWT Jti
AUDIENCE
DESCRIZIONE Indica il destinatario per cui è stato creato il token, da valorizzare con la base URL del servizio, comprensivo della versione, per esempio https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1
VALORE https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1
VALIDAZIONE Obbligatorio
CAMPO JWT aud
SUBJECT
DESCRIZIONE Codice Fiscale dell’utente o partita iva dell'organizzazione che fa richiesta del servizio di interoperabilità

Formato codifica conforme alle specifiche IHE (ITI TF-3)

ESEMPIO VRDMRC67T20I257E^^^&2.16.840.1.113883.2.9.4.3.2&ISO
VALIDAZIONE Obbligatorio
CAMPO JWT sub

CUSTOM CLAIMS
IDENTIFICATIVO ORGANIZZAZIONE
DESCRIZIONE Identificativo del dominio dell’utente (vedi TABELLA ORGANIZZAZIONE - Valore)
ESEMPIO 190
VALIDAZIONE Obbligatorio
CAMPO JWT subject_organization_id
DESCRIZIONE ORGANIZZAZIONE
DESCRIZIONE Descrizione del dominio dell’utente (vedi TABELLA ORGANIZZAZIONE - Descrizione)
ESEMPIO Regione Sicilia
VALIDAZIONE Obbligatorio
CAMPO JWT subject_organization
STRUTTURA UTENTE
DESCRIZIONE Tale attributo, univoco, identifica la struttura a cui appartiene l’utente. L’elemento è sottoposto alle validazioni come da sezione "VALIDAZIONE" e viene utilizzato dal Gateway per il colloquio con INI come riportato nella sezione "NOTE". Per maggiori informazioni sulla valorizzazione di tipo XON si può far riferimento ad AuthorInstitution nell'Affinity Domain Italia v.2.5 par. 2.1.2.
ESEMPIO I valori ammessi per il custom claim “locality” si differenziano per i vari servizi del Gateway.
Per i servizi di CREATE e REPLACE (anche con validazione contestuale), l’unica valorizzazione possibile è quella come tipo XON, ad esempio:
  • LABORATORIO DI PROVA^^^^^&2.16.840.1.113883.2.9.4.1.3&ISO^^^^111101123456 (tipo XON), che indica la struttura "LABORATORIO DI PROVA” della Regione “111”, ASL “101” e codice STS.11(6) “123456".

Per i servizi di DELETE e UPDATE sono ammesse ulteriori valorizzazioni.
Esempi di valorizzazioni possibili per la stessa struttura al punto precedente sono i seguenti:
  • LABORATORIO DI PROVA^^^^^&2.16.840.1.113883.2.9.4.1.3&ISO^^^^111101123456 (Tipo XON);
  • ^^^^^&2.16.840.1.113883.2.9.4.1.3&ISO^^^^111101123456 (Tipo XON);
  • 2.16.840.1.113883.2.9.4.1.3.111101123456 (tipo OID);
  • 111101123456 (Regione “111”, ASL “101” e codice STS.11(6) “123456");
  • 101123456 (ASL “101” e codice STS.11(6) “123456");
  • 123456 (Codice STS.11(6) “123456")
VALIDAZIONE Per i servizi di CREATE e REPLACE (anche con validazione contestuale) il Gateway fa un controllo bloccante per verificare che il popolamento rispetti lo standard XON (in cui XON.1 contiene il nome della struttura, XON.6.2 rappresenta l’OID del sistema di codifica, XON.6.3 è obbligatoriamente “ISO” e XON.10 rappresenta il codice della struttura);
Per i servizi di DELETE e UPDATE non vengono effettuati controlli bloccanti; viene controllato solo quando il campo in input è conforme al tipo XON, per le logiche di popolamento dell’asserzione di attributo locality riportate in Note.
CAMPO JWT locality
NOTE L’identificativo della struttura utente verrà utilizzato dal Gateway in base al servizio richiesto.

Nelle operazioni di CREATE e REPLACE (anche con validazione contestuale), il Gateway utilizza il contenuto del claim “locality” per valorizzare, verso INI, il metadato “Author.AuthorInstitution” e l'asserzione di attributo “locality”; nel caso in cui il claim “locality” (che deve essere di tipo XON) sia valorizzato come di seguito
LABORATORIO DI PROVA^^^^^&2.16.840.1.113883.2.9.4.1.3&ISO^^^^111101123456 :

  • Lo stesso valore verrà utilizzato per la valorizzazione del metadato “Author.AuthorInstitution” che il Gateway comunica a INI;
  • L'asserzione di attributo “locality” che il Gateway comunica a INI verrà valorizzato come concatenazione di codice catalogo (XON.6.2) e codice struttura (XON.10): 2.16.840.1.113883.2.9.4.1.3.111101123456

Nelle operazioni di DELETE e UPDATE, il Gateway utilizza il contenuto del claim “locality” per popolare l'asserzione di attributo “locality” verso INI:

  • Se il custom claim locality è conforme al tipo XON, attua la stessa trasformazione prevista per CREATE e REPLACE, ovvero, concatenando di codice catalogo e codice struttura.
  • In caso contrario, il suo valore viene ribaltato senza ulteriori controlli.

Il metadato “Author.AuthorInstitution” non è necessario in DELETE, mentre in UPDATE viene popolato utilizzando il valore che il Gateway ottiene con l’operazione di recupero metadati (FindDocuments) propedeutica all’aggiornamento metadati.

RUOLO UTENTE
DESCRIZIONE Ruolo dell’utente che effettua la richiesta, vedi TABELLA RUOLO
ESEMPIO AAS
VALIDAZIONE Obbligatorio
CAMPO JWT subject_role
IDENTIFICATIVO ASSISTITO
DESCRIZIONE Codice identificativo dell’assistito cui si riferisce la richiesta o del \ genitore/tutore che ha richiesto l’operazione \ Codice identificativo dell’assistito, del genitore o del tutore, codificato secondo il tipo di dato CX HL7 V2.5 (per come indicato alle specifiche IHE TF-3)

Saranno trattati tutti i soggetti presenti in ANA

ESEMPIO RSSMRA75C03F839K^^^&2.16.840.1.113883.2.9.4.3.2&ISO
VALIDAZIONE Obbligatorio
CAMPO JWT person_id
PRESA IN CARICO
DESCRIZIONE Indica la presa in carico del paziente. \ Valore booleano
ESEMPIO true
VALIDAZIONE Obbligatorio
CAMPO JWT patient_consent
CONTESTO OPERATIVO RICHIESTA
DESCRIZIONE Contesto operativo della richiesta. Vedi TABELLA CONTESTO OPERATIVO
ESEMPIO TREATMENT per il servizio di Validazione, Creazione

UPDATE per il servizio di Eliminazione Documento, Aggiornamento Metadati e Sostituzione Documento

VALIDAZIONE Obbligatorio
CAMPO_JWT purpose_of_use
TIPO DOCUMENTO
DESCRIZIONE Tipo di documento da registrare \ Codifica LOINC nel formato ('code1^^coding-scheme1')

Riferimento: urn:oasis:names:tc:xspa:1.0:resource:hl7:type

ESEMPIO ('11502-2^^2.16.840.1.113883.6.1')
VALIDAZIONE Obbligatorio
CAMPO JWT resource_hl7_type
TIPO ATTIVITÀ
DESCRIZIONE Descrive il tipo di attività

Vedi TABELLA TIPO ATTIVITÀ

Riferimento: urn:oasis:names:tc:xacml:1.0:action:action-id

VALORE CREATE per il servizio di Creazione

DELETE per il servizio di Eliminazione Documento

UPDATE per il servizio di Sostituzione Documento e Aggiornamento Metadati

VALIDAZIONE Obbligatorio
CAMPO JWT action_id
HASH FILE
DESCRIZIONE Hash (SHA256) del file fornito in input
ESEMPIO ccd1a23b4a73c838e4dfc2a1948aaec8389ebd331cbaebc1b3144c74fca17da5
VALIDAZIONE Obbligatorio per i servizi di Creazione e Sostituzione Documento
CAMPO JWT attachment_hash
ID APPLICATIVO
DESCRIZIONE ID applicativo dell’utente
ESEMPIO BARMED
VALIDAZIONE Obbligatorio
CAMPO JWT subject_application_id
VENDOR APPLICATIVO
DESCRIZIONE Vendor applicativo dell’utente
ESEMPIO FOO SPA
VALIDAZIONE Obbligatorio
CAMPO JWT subject_application_vendor
VERSIONE APPLICATIVO
DESCRIZIONE Versione applicativo dell’utente
ESEMPIO V.4.2.0
VALIDAZIONE Obbligatorio
CAMPO JWT subject_application_version

Tabella 40: Campi contenuti in FSE-JWT-Signature

Esempio di utilizzo del token bearerAuth

Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5c ... iZPqKv3kUbn1qzLg

Esempio di token decodificato, sezione header

{
  "alg": "RS256",
  "typ": "JWT",
  "x5c": [
    "MIIDXjCCAkagAwIBAgIBAjANBgkqhkiG9w ... 779BM4SOI="
  ]
}

Esempio di Payload del token FSE-JWT-Signature decodificato

{ 
  "sub": "RSSMRA22A01A399Z^^^&2.16.840.1.113883.2.9.4.3.2&ISO", 
  "subject_role": "AAS", 
  "purpose_of_use": "TREATMENT", 
  "iss": "190201123456XX", 
  "locality": "LABORATORIO DI PROVA^^^^^&2.16.840.1.113883.2.9.4.1.3&ISO^^^^190111123456",
  "subject_organization": "Regione Sicilia", 
  "subject_organization_id": "190", 
  "aud": "https://modipa-val.fse.salute.gov.it/govway/rest/in/FSE/gateway/v1", 
  "patient_consent": true, 
  "action_id": "CREATE", 
  "resource_hl7_type": "11502-2^^2.16.840.1.113883.6.1", 
  "exp": 1656541352925, 
  "iat": 1656454952925, 
  "jti": "1234", 
  "attachment_hash": "d04f5f5d34c7bbb77e27fba4edb2c49d16ca90193d89a47117e892387c7ee466", 
  "person_id": "PROVAX00X00X000Y^^^&2.16.840.1.113883.2.9.4.3.2&ISO" 
}

N.B: Il campo locality nell'esempio fa riferimento al LABORATORIO DI PROVA della Regione Sicilia 190, ASL 111 e codice STS.11 123456

13.2. Campi Contenuti nella Request Body

Per i campi contenuti nella request body si evidenzia nel campo “provenienza” se questi sono campi introdotti per rendere possibile la comunicazione con INI o se questi sono stati appositamente introdotti per gestire in maniera efficace ed efficiente il gateway.

WORKFLOW INSTANCE ID
PARAMETRO workflowInstanceId
DESCRIZIONE Identificativo univoco della transazione espresso in formato stringa. Da inviare in request nel servizio di pubblicazione. Viene restituito in response nel servizio di validazione
PROVENIENZA GATEWAY
VALIDAZIONE Obbligatorio (solo per servizio di pubblicazione)
FORMATO DEI DATI SANITARI
PARAMETRO healthDataFormat
DESCRIZIONE Identifica il formato con cui vengono espressi i dati sanitari.

Se non viene specificato alcun valore si assume che il formato sia CDA.

Vedi TABELLA HEALTH DATA FORMAT ENUM

ESEMPIO CDA
PROVENIENZA GATEWAY
VALIDAZIONE Non obbligatorio
MODALITA’ DI INIEZIONE DEI DATI SANITARI
PARAMETRO mode
DESCRIZIONE Identifica la modalità con la quale i dati sanitari sono stati iniettati nel PDF

Se non viene specificato alcun valore il Gateway proverà entrambe le modalità di estrazione

Vedi TABELLA INJECTION MODE ENUM

ESEMPIO ATTACHMENT
PROVENIENZA GATEWAY
VALIDAZIONE Non obbligatorio, in caso di omissione produce un errore di tipo warning
ATTIVITA’ DEL GATEWAY
PARAMETRO activity
DESCRIZIONE Identifica l’azione da eseguire sui dati sanitari (validation o verifica);

Se non viene specificato alcun valore il Gateway assumerà l’attività di validation.

Vedi TABELLA ACTIVITY ENUM

ESEMPIO VALIDATION
PROVENIENZA GATEWAY
VALIDAZIONE Obbligatorio solo per il servizio di validazione
TIPOLOGIA DI STRUTTURA CHE HA PRODOTTO IL DOCUMENTO
PARAMETRO tipologiaStruttura
DESCRIZIONE (codifica della specialità o del tipo di struttura) \ Vedi TABELLA HEALTHCARE FACILITY TYPE CODE
ESEMPIO Ospedale
PROVENIENZA INI
VALIDAZIONE Obbligatorio
ATTI CLINICI REGOLE DI ACCESSO
PARAMETRO attiCliniciRegoleAccesso
DESCRIZIONE Metadato che può essere utilizzato per rappresentare i principali atti clinici che vengono documentati, come ulteriore specializzazione del metadato typeCode, ed è utilizzato anche per specificare la politica di visibilità del documento (ossia se esso è oscurato o meno).Per quanto riguarda la descrizione dell’evento documentato, questo metadato può ad esempio specificare il tipo di vaccino o indicare la tipologia di tampone documentata nel referto di laboratorio. \ Da Affinity Domain, come specificato al paragrafo 2.7, Tabella 2.7-1 \ Vedi TABELLA EVENT CODE
ESEMPIO P99
PROVENIENZA INI
VALIDAZIONE Non Obbligatorio
IDENTIFICATIVO DOCUMENTO
PARAMETRO identificativoDoc
DESCRIZIONE Da Affinity Domain, come specificato al paragrafo 2.20: L’OID da utilizzare per il metadato uniqueId deve essere strutturato nel seguente modo: per i documenti gestiti da un sistema di FSE regionale, il valore deve essere 2.16.840.1.113883.2.9.2.[REGIONE].4.4^X, dove X rappresenta una specifica istanza di documento presente in regione; per i documenti gestiti da Sistema TS, il valore deve essere 2.16.840.1.113883.2.9.4.3.8^Y, dove Y rappresenta una specifica istanza di documento presente nel Sistema TS (ad esempio Y è pari al NRE per la prescrizione dematerializzata). Il valore [REGIONE] è il valore corrispondente alla regione indicato in Tabella 6.43 (la prima cifra numerica pari a 0 va omessa).

Vedi TABELLA ORGANIZZAZIONE per il codice della REGIONE

ESEMPIO 2.16.840.1.113883.2.9.2.80.4.4^514782
PROVENIENZA INI
VALIDAZIONE Obbligatorio
IDENTIFICATIVO REPOSITORY
PARAMETRO identificativoRep
DESCRIZIONE Identificativo del repository che custodisce il documento \ Codificato con OID, come specificato al paragrafo 2.15 del documento Affinity Domain. \  L’OID che deve essere utilizzato per il metadato repositoryUniqueId deve essere strutturato nel seguente modo: 2.16.840.1.113883.2.9.2.[REGIONE oppure INI].4.5.X, dove X rappresenta una specifica istanza di repository.

Vedi TABELLA ORGANIZZAZIONE per il codice della REGIONE

ESEMPIO 2.16.840.1.113883.2.9.2.80.4.5.1234
PROVENIENZA INI
VALIDAZIONE Obbligatorio
TIPO DOCUMENTO ALTO LIVELLO
PARAMETRO tipoDocumentoLivAlto
DESCRIZIONE Descrive la tipologia di documento ad alto livello. \ Da Affinity Domain, come specificato in Tabella 2.3-1. \ Vedi TABELLA TIPO DOCUMENTO ALTO LIVELLO
ESEMPIO REF
PROVENIENZA INI
VALIDAZIONE Obbligatorio
ASSETTO ORGANIZZATIVO CHE HA PORTATO ALLA CREAZIONE DEL DOCUMENTO
PARAMETRO assettoOrganizzativo
DESCRIZIONE Classificazione della pratica clinica o specialistica nell’ambito della quale è stato prodotto il documento

Da Affinity Domain, come specificato in Tabella 2.13-1. \ Vedi TABELLA PRACTICE SETTING CODE

ESEMPIO AD_PSC131
PROVENIENZA INI
VALIDAZIONE Obbligatorio
DATA INIZIO DELLA PRESTAZIONE
PARAMETRO dataInizioPrestazione
DESCRIZIONE Date di inizio della prestazione sanitaria che ha comportato la produzione del documento \ Formato codifica conforme alle specifiche IHE (ITI TF-3)
ESEMPIO 20141020110012
PROVENIENZA INI
VALIDAZIONE Non Obbligatorio
DATA FINE DELLA PRESTAZIONE
PARAMETRO dataFinePrestazione
DESCRIZIONE Date di fine della prestazione sanitaria che ha comportato la produzione del documento \ Formato codifica conforme alle specifiche IHE (ITI TF-3)
ESEMPIO 20141020110012
PROVENIENZA INI
VALIDAZIONE Non Obbligatorio
CONSERVAZIONE A NORMA
PARAMETRO conservazioneANorma
DESCRIZIONE Indica se il documento è memorizzato negli archivi di conservazione sostitutiva (Affinity Domain, come specificato al paragrafo 2.21)
ESEMPIO CONS^^^&2.16.840.1.113883.2.9.3.3.6.1.7&ISO
PROVENIENZA INI
VALIDAZIONE Non Obbligatorio
TIPO ATTIVITA’ CLINICA
PARAMETRO tipoAttivitaClinica
DESCRIZIONE Tipo Attività Clinica che ha portato alla creazione del documento

Vedi TABELLA ATTIVITA' CLINICA

ESEMPIO PHR
PROVENIENZA INI
VALIDAZIONE Obbligatorio
IDENTIFICATIVO SOTTOMISSIONE
PARAMETRO identificativoSottomissione
DESCRIZIONE Metadato che rappresenta l’identificativo univoco dell’oggetto XDSSubmissionSet.

Formato codifica conforme alla specifiche IHE (ITI TF-3), di tipo OID, strutturato nel seguente modo: \ 2.16.840.1.113883.2.9.2.[REGIONE oppure INI].4.3.X, dove X rappresenta una specifica istanza di XDSSubmissionSet.

Vedi TABELLA ORGANIZZAZIONE per il codice della REGIONE

ESEMPIO 2.16.840.1.113883.2.9.2.50.4.3.123
PROVENIENZA INI
VALIDAZIONE Obbligatorio
PRIORITA
PARAMETRO priorita
DESCRIZIONE Indica che la richiesta dovrà essere processata con priorità massima
ESEMPIO true
PROVENIENZA GATEWAY
VALIDAZIONE Facoltativo
DESCRIPTIONS
PARAMETRO descriptions
DESCRIZIONE Questo metadato permette di specificare una ulteriore descrizione associata al documento.
ESEMPIO [CODICE]^[Descrizione]^[OID]
PROVENIENZA GATEWAY
VALIDAZIONE Facoltativo
ADMINISTRATIVE REQUEST
PARAMETRO administrativeRequest
DESCRIZIONE Questo metadato permette di indicare il regime nel quale il documento è stato prodotto.
ESEMPIO SSN
PROVENIENZA GATEWAY
VALIDAZIONE Facoltativo

Tabella 41: Campi contenuti nella Request Body

13.3. Tabelle di Riferimento

Nella sezione presente vengono riportate le Tabelle di Riferimento per i Parametri di Input: se specificato in “Fonte” queste sono riconducibili alle “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”, laddove non specificato si tratta di tabelle custom create ad uso dei servizi di questo documento.

Le informazioni riportate nelle tabelle con Fonte Affinity Domain, rispetto alle medesime specifiche di riferimento (versione 2.5), sono esclusivamente quelle necessarie all’utilizzo dei servizi di validazione e di pubblicazione.

Eventuali variazioni normative e/o ad Affinity Domain implicano l’aggiornamento delle tabelle referenziate.

13.3.1. Attività Clinica Enum

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Codice DisplayName Descrizione utilizzo
PHR Personal Health Record Update Documenti trasmessi direttamente dal paziente mediante il taccuino personale.
CON Consulto Documenti trasmessi per richiedere un consulto.
DIS Discharge Documenti trasmessi a seguito di un ricovero.
ERP Erogazione Prestazione Prenotata Documenti trasmessi a seguito di una prestazione programmata/prenotata
Sistema_TS Documenti sistema TS Documenti resi disponibili nel FSE dal Sistema TS.
INI Documenti INI Documenti trasferiti da INI durante il trasferimento indice alla nuova RDA.
PN_DGC Documenti PN-DGC Documenti resi disponibili dalla Piattaforma Nazionale DGC al sistema FSE.
OBS Documento stato di salute Documenti trasmessi al FSE per arricchire la valutazione dello stato di salute del paziente.

_Tabella 42: _Value set per il metadato XDSSubmissionSet.contentTypeCode

13.3.2. Healthcare Facility Type Code

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Codice DisplayName Descrizione utilizzo
Ospedale Ospedale Indica che il documento è stato prodotto in regime di ricovero ospedaliero del paziente.
Prevenzione Prevenzione Indica che il documento è stato prodotto a seguito di uno screening o di medicina preventiva.
Territorio Territorio Indica che il documento è stato prodotto a seguito di un incontro con uno specialista territoriale (ad es. MMG, PLS, ecc.).
SistemaTS SistemaTS Indica che il documento è gestito e condiviso dal Sistema TS.
Cittadino Cittadino Indica che il dato/documento è stato inserito dal cittadino.
MdsPN_DGC MdsPN-DGC Piattaforma Nazionale DGC del Ministero Della Salute.

_Tabella 43: Value set per il metadato XDSDocumentEntry.healthcareFacilityTypeCode_reFacilityTypeCode

13.3.3. Tipo Documento Alto Livello

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Codice DisplayName Descrizione utilizzo
WOR Documento di workflow Questa classe di documenti deve essere utilizzata per i documenti di workflow.
REF Referto Questa classe di documenti deve essere utilizzata per ogni tipologia di referto.
LDO Lettera di dimissione ospedaliera Questa classe di documenti deve essere utilizzata per le lettere di dimissione ospedaliera.
RIC Richiesta Questa classe di documenti deve essere utilizzata per ogni tipologia di richiesta (prescrizioni, richieste di consulto, ecc.).
SUM Sommario Questa classe di documenti deve essere utilizzata per ogni tipologia di sommario (ad es. profilo sanitario sintetico).
TAC Taccuino Questa classe deve essere utilizzata per indicare documenti trasmessi nel taccuino dall’assistito.
PRS Prescrizione Questa classe specifica che le informazioni riguardano le prescrizioni condivise dal Sistema TS.
PRE Prestazioni Questa classe specifica che le informazioni riguardano le prestazioni erogate condivise dal Sistema TS.
ESE Esenzione Questa classe indica che le informazioni riguardano le esenzioni.
PDC Piano di cura Questa classe specifica che le informazioni riguardano i piani terapeutici condivisi dal Sistema TS.
VAC Vaccino Questa classe di documenti deve essere utilizzata per ogni tipologia di vaccino (scheda della singola vaccinazione, certificato vaccinale).
CER Certificato per DGC Questa classe di documenti deve essere utilizzata per i documenti associati al Digital Green Certificate (certificazione verde Covid-19, certificazione di guarigione da Covid-19).
VRB Verbale Questa classe di documenti deve essere utilizzata per ogni tipologia di verbale (ad es. verbale di pronto soccorso).
CON Documento di consenso Questa classe di documenti deve essere utilizzata per ogni tipologia di documento di consenso (ad es. consenso informato anestesia).
CNT Documento di controllo Questa classe di documenti deve essere utilizzata per ogni tipologia di documento che descrive un controllo clinico (ad es. bilanci di salute).

_Tabella 44: _Value set per il metadato XDSDocumentEntry.classCode

13.3.4. Event Code

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Codice DisplayName Descrizione utilizzo
J07AC J07AC Anthrax vaccines
J07AC01 J07AC01 anthrax antigen
J07AD J07AD Brucellosis vaccines
J07AD01 J07AD01 brucella antigen
J07AE J07AE Cholera vaccines
J07AE01 J07AE01 cholera, inactivated, whole cell
J07AE02 J07AE02 cholera, live attenuated
J07AE51 J07AE51 cholera, combinations with typhoid vaccine, inactivated, whole cell
J07AF J07AF Diphtheria vaccines
J07AF01 J07AF01 diphtheria toxoid
J07AG J07AG Haemophilus influenzae B vaccines
J07AG01 J07AG01 haemophilus influenzae B, purified antigen conjugated
J07AG51 J07AG51 haemophilus influenzae B, combinations with toxoids
J07AG52 J07AG52 haemophilus influenzae B, combinations with pertussis and toxoids
J07AG53 J07AG53 haemophilus influenzae B, combinations with meningococcus C, conjugated
J07AG54 J07AG54 haemophilus influenza B, combinations with meningococcus C,Y, conjugated
J07AH J07AH Meningococcal vaccines
J07AH01 J07AH01 meningococcus A, purified polysaccharides antigen
J07AH02 J07AH02 other meningococcal monovalent purified polysaccharides antigen
J07AH03 J07AH03 meningococcus A,C, bivalent purified polysaccharides antigen
J07AH04 J07AH04 meningococcus A,C,Y,W-135, tetravalent purified polysaccharides antigen
J07AH05 J07AH05 other meningococcal polyvalent purified polysaccharides antigen
J07AH06 J07AH06 meningococcus B, outer membrane vesicle vaccine
J07AH07 J07AH07 meningococcus C, purified polysaccharides antigen conjugated
J07AH08 J07AH08 meningococcus A,C,Y,W-135, tetravalent purified polysaccharides antigen conjugated
J07AH09 J07AH09 meningococcus B, multicomponent vaccine
J07AH10 J07AH10 meningococcus A, purified polysaccharides antigen conjugated
J07AJ J07AJ Pertussis vaccines
J07AJ01 J07AJ01 pertussis, inactivated, whole cell
J07AJ02 J07AJ02 pertussis, purified antigen
J07AJ51 J07AJ51 pertussis, inactivated, whole cell, combinations with toxoids
J07AJ52 J07AJ52 pertussis, purified antigen, combinations with toxoids
J07AK J07AK Plague vaccines
J07AK01 J07AK01 plague, inactivated, whole cell
J07AL J07AL Pneumococcal vaccines
J07AL01 J07AL01 pneumococcus, purified polysaccharides antigen
J07AL02 J07AL02 pneumococcus, purified polysaccharides antigen conjugated
J07AL52 J07AL52 pneumococcus purified polysaccharides antigen and haemophilus influenzae, conjugated
J07AM J07AM Tetanus vaccines
J07AM01 J07AM01 tetanus toxoid
J07AM51 J07AM51 tetanus toxoid, combinations with diphtheria toxoid
J07AM52 J07AM52 tetanus toxoid, combinations with tetanus immunoglobulin
J07AN J07AN Tuberculosis vaccines
J07AN01 J07AN01 tuberculosis, live attenuated
J07AP J07AP Typhoid vaccines
J07AP01 J07AP01 typhoid, oral, live attenuated
J07AP02 J07AP02 typhoid, inactivated, whole cell
J07AP03 J07AP03 typhoid, purified polysaccharide antigen
J07AP10 J07AP10 typhoid, combinations with paratyphi types
J07AR J07AR Typhus (exanthematicus) vaccines
J07AR01 J07AR01 typhus exanthematicus, inactivated, whole cell
J07AX J07AX Other bacterial vaccines
J07AX01 J07AX01 leptospira vaccines
J07BA J07BA Encephalitis vaccines
J07BA01 J07BA01 encephalitis, tick borne, inactivated, whole virus
J07BA02 J07BA02 encephalitis, Japanese, inactivated, whole virus
J07BA03 J07BA03 encephalitis, Japanese, live attenuated
J07BB J07BB Influenza vaccines
J07BB01 J07BB01 influenza, inactivated, whole virus
J07BB02 J07BB02 influenza, inactivated, split virus or surface antigen
J07BB03 J07BB03 influenza, live attenuated
J07BB04 J07BB04 influenza, virus like particles
J07BC J07BC Hepatitis vaccines
J07BC01 J07BC01 hepatitis B, purified antigen
J07BC02 J07BC02 hepatitis A, inactivated, whole virus
J07BC20 J07BC20 combinations
J07BD J07BD Measles vaccines
J07BD01 J07BD01 measles, live attenuated
J07BD51 J07BD51 measles, combinations with mumps, live attenuated
J07BD52 J07BD52 measles, combinations with mumps and rubella, live attenuated
J07BD53 J07BD53 measles, combinations with rubella, live attenuated
J07BD54 J07BD54 measles, combinations with mumps, rubella and varicella, live attenuated
J07BE J07BE Mumps vaccines
J07BE01 J07BE01 mumps, live attenuated
J07BF J07BF Poliomyelitis vaccines
J07BF01 J07BF01 poliomyelitis oral, monovalent, live attenuated
J07BF02 J07BF02 poliomyelitis oral, trivalent, live attenuated
J07BF03 J07BF03 poliomyelitis, trivalent, inactivated, whole virus
J07BF04 J07BF04 poliomyelitis oral, bivalent, live attenuated
J07BG J07BG Rabies vaccines
J07BG01 J07BG01 rabies, inactivated, whole virus
J07BH J07BH Rota virus diarrhea vaccines
J07BH01 J07BH01 rota virus, live attenuated
J07BH02 J07BH02 rota virus, pentavalent, live, reassorted
J07BJ J07BJ Rubella vaccines
J07BJ01 J07BJ01 rubella, live attenuated
J07BJ51 J07BJ51 rubella, combinations with mumps, live attenuated
J07BK J07BK Varicella zoster vaccines
J07BK01 J07BK01 varicella, live attenuated
J07BK02 J07BK02 zoster, live attenuated
J07BK03 J07BK03 zoster, purified antigen
J07BL J07BL Yellow fever vaccines
J07BL01 J07BL01 yellow fever, live attenuated
J07BM J07BM Papillomavirus vaccines
J07BM01 J07BM01 papillomavirus (human types 6, 11, 16, 18)
J07BM02 J07BM02 papillomavirus (human types 16, 18)
J07BM03 J07BM03 papillomavirus (human types 6, 11, 16, 18, 31, 33, 45, 52, 58)
J07BN01 J07BN01 covid-19, RNA-based vaccine
J07BN02 J07BN02 covid-19, viral vector, non-replicating
J07BN03 J07BN03 covid-19, inactivated virus
J07BN04 J07BN04 covid-19, protein subunit
J07BX J07BX Other viral vaccines
J07BX01 J07BX01 smallpox vaccines
J07BX02 J07BX02 ebola vaccines
J07BX04 J07BX04 dengue virus vaccines
J07CA J07CA Bacterial and viral vaccines, combined
J07CA01 J07CA01 diphtheria-poliomyelitis-tetanus
J07CA02 J07CA02 diphtheria-pertussis-poliomyelitis-tetanus
J07CA03 J07CA03 diphtheria-rubella-tetanus
J07CA04 J07CA04 haemophilus influenzae B and poliomyelitis
J07CA05 J07CA05 diphtheria-hepatitis B-pertussis-tetanus
J07CA06 J07CA06 diphtheria-haemophilus influenzae B-pertussis-poliomyelitis-tetanus
J07CA07 J07CA07 diphtheria-hepatitis B-tetanus
J07CA08 J07CA08 haemophilus influenzae B and hepatitis B
J07CA09 J07CA09 diphtheria-haemophilus influenzae B-pertussis-poliomyelitis-tetanus-hepatitis B
J07CA10 J07CA10 typhoid-hepatitis A
J07CA11 J07CA11 diphtheria-haemophilus influenzae B-pertussis-tetanus-hepatitis B
J07CA12 J07CA12 diphtheria-pertussis-poliomyelitis-tetanus-hepatitis B
J07CA13 J07CA13 diphtheria-haemophilus influenzae B-pertussis-tetanus-hepatitis B-meningococcus A + C
J07XA J07XA Parasitic vaccines
J07XA01 J07XA01 malaria vaccines
_1001000221103 1001000221103 Inactivated whole Vibrio cholerae antigen only vaccine product in oral dose form
_1011000221100 1011000221100 Live attenuated Vibrio cholerae antigen only vaccine product in oral dose form
_1031000221108 1031000221108 Human poliovirus antigen-containing vaccine product
_1051000221104 1051000221104 Live attenuated Human poliovirus serotypes 1 and 3 antigens only vaccine product in oral dose form
_1052328007 1052328007 Streptococcus pneumoniae Danish serotype 4, 6B, 9V, 14, 18C, 19F, and 23F capsular polysaccharide antigens conjugated only vaccine product
_1081000221109 1081000221109 Live attenuated Rotavirus antigen only vaccine product
_1101000221104 1101000221104 Clostridium tetani toxoid antigen-containing vaccine product
_1119254000 1119254000 Streptococcus pneumoniae Danish serotype 1, 3, 4, 5, 6A, 6B, 7F, 9V, 14, 18C, 19A, 19F, and 23F capsular polysaccharide antigens only vaccine product
_1119305005 1119305005 SARS-CoV-2 antigen vaccine
_1119349007 1119349007 SARS-CoV-2 mRNA vaccine
_1121000221106 1121000221106 Live attenuated Yellow fever virus antigen only vaccine product
_1131000221109 1131000221109 Vaccine product containing only inactivated whole Rabies lyssavirus antigen
_1157024006 1157024006 Inactivated whole SARS-CoV-2 antigen vaccine
_1162643001 1162643001 SARS-CoV-2 recombinant spike protein antigen vaccine
_1181000221105 1181000221105 Influenza virus antigen only vaccine product
_1801000221105 1801000221105 Streptococcus pneumoniae capsular polysaccharide antigen conjugated only vaccine product
_1861000221106 1861000221106 Bacillus Calmette-Guerin antigen only vaccine product
_1981000221108 1981000221108 Neisseria meningitidis serogroup B antigen only vaccine product
_2171000221104 2171000221104 Salmonella enterica subspecies enterica serovar Typhi capsular polysaccharide unconjugated antigen only vaccine product in parenteral dose form
_2221000221107 2221000221107 Live attenuated Human alphaherpesvirus 3 only vaccine product
_28531000087107 28531000087107 COVID-19 vaccine
_29061000087103 29061000087103 COVID-19 non-replicating viral vector vaccine
_37146000 37146000 Typhus vaccine
_409568008 409568008 Pentavalent botulinum toxoid vaccine
_428601009 428601009 Paratyphoid vaccine
_601000221108 601000221108 Bordetella pertussis antigen-containing vaccine product
_774618008 774618008 Whole cell Bordetella pertussis and Clostridium tetani toxoid adsorbed and Corynebacterium diphtheriae toxoid antigens only vaccine product
_775641005 775641005 Clostridium tetani toxoid adsorbed and Corynebacterium diphtheriae toxoid antigens only vaccine product
_777725002 777725002 Clostridium tetani toxoid antigen adsorbed only vaccine product
_836368004 836368004 Bacteria antigen-containing vaccine product
_836369007 836369007 Virus antigen-containing vaccine product
_836374004 836374004 Hepatitis B virus antigen-containing vaccine product
_836375003 836375003 Hepatitis A virus antigen-containing vaccine product
_836377006 836377006 Influenza virus antigen-containing vaccine product
_836378001 836378001 Japanese encephalitis virus antigen-containing vaccine product
_836379009 836379009 Human papillomavirus antigen-containing vaccine product
_836380007 836380007 Haemophilus influenzae type B antigen-containing vaccine product
_836381006 836381006 Corynebacterium diphtheriae antigen-containing vaccine product
_836382004 836382004 Measles morbillivirus antigen-containing vaccine product
_836383009 836383009 Vibrio cholerae antigen-containing vaccine product
_836384003 836384003 Bacillus anthracis antigen-containing vaccine product
_836385002 836385002 Yellow fever virus antigen-containing vaccine product
_836387005 836387005 Rotavirus antigen-containing vaccine product
_836388000 836388000 Rubella virus antigen-containing vaccine product
_836389008 836389008 Vaccinia virus antigen-containing vaccine product
_836390004 836390004 Salmonella enterica subspecies enterica serovar Typhi antigen-containing vaccine product
_836393002 836393002 Rabies lyssavirus antigen-containing vaccine product
_836397001 836397001 Coxiella burnetii antigen-containing vaccine product
_836398006 836398006 Streptococcus pneumoniae antigen-containing vaccine product
_836401009 836401009 Neisseria meningitidis antigen-containing vaccine product
_836402002 836402002 Bacillus Calmette-Guerin antigen-containing vaccine product
_836403007 836403007 Tick-borne encephalitis virus antigen-containing vaccine product
_836495005 836495005 Human alphaherpesvirus 3 antigen-containing vaccine product
_836498007 836498007 Mumps orthorubulavirus antigen-containing vaccine product
_836500008 836500008 Haemophilus influenzae type B and Neisseria meningitidis serogroup C antigens only vaccine product
_840549009 840549009 Yersinia pestis antigen-containing vaccine product
_840563003 840563003 Dengue virus antigen-containing vaccine product
_840599008 840599008 Borrelia burgdorferi antigen-containing vaccine product
_863911006 863911006 Clostridium tetani antigen-containing vaccine product
_871726005 871726005 Rabies lyssavirus antigen only vaccine product
_871737006 871737006 Mumps orthorubulavirus antigen only vaccine product
_871738001 871738001 Live attenuated Mumps orthorubulavirus antigen only vaccine product
_871739009 871739009 Human poliovirus antigen only vaccine product
_871740006 871740006 Inactivated whole Human poliovirus antigen only vaccine product
_871742003 871742003 Clostridium tetani antigen only vaccine product
_871751006 871751006 Hepatitis A virus antigen only vaccine product
_871759008 871759008 Acellular Bordetella pertussis only vaccine product
_871764007 871764007 Haemophilus influenzae type b antigen only vaccine product
_871765008 871765008 Measles morbillivirus antigen only vaccine product
_871768005 871768005 Influenza virus antigen only vaccine product in nasal dose form
_871772009 871772009 Influenza A virus subtype H1N1 antigen only vaccine product
_871803007 871803007 Hepatitis A and Hepatitis B virus antigens only vaccine product
_871804001 871804001 Hepatitis A virus and Salmonella enterica subspecies enterica serovar Typhi antigens only vaccine product
_871806004 871806004 Haemophilus influenzae type B and Hepatitis B virus antigens only vaccine product
_871826000 871826000 Clostridium tetani and Corynebacterium diphtheriae antigens only vaccine product
_871831003 871831003 Measles morbillivirus and Mumps orthorubulavirus and Rubella virus antigens only vaccine product
_871837004 871837004 Clostridium tetani and Corynebacterium diphtheriae and Human poliovirus antigens only vaccine product
_871839001 871839001 Bordetella pertussis and Clostridium tetani and Corynebacterium diphtheriae and Haemophilus influenzae type B antigens only vaccine product
_871866001 871866001 Neisseria meningitidis serogroup C only vaccine product
_871871008 871871008 Neisseria meningitidis serogroup A and C only vaccine product
_871873006 871873006 Neisseria meningitidis serogroup A, C, W135 and Y only vaccine product
_871875004 871875004 Bordetella pertussis and Clostridium tetani and Corynebacterium diphtheriae antigens only vaccine product
_871876003 871876003 Acellular Bordetella pertussis and Clostridium tetani and Corynebacterium diphtheriae antigens only vaccine product
_871878002 871878002 Bordetella pertussis and Clostridium tetani and Corynebacterium diphtheriae and Human poliovirus antigens only vaccine product
_871887006 871887006 Bordetella pertussis and Clostridium tetani and Corynebacterium diphtheriae and Haemophilus influenzae type B and Human poliovirus antigens only vaccine product
_871889009 871889009 Acellular Bordetella pertussis and Corynebacterium diphtheriae and Hepatitis B virus and inactivated whole Human poliovirus antigens only vaccine product
_871895005 871895005 Bordetella pertussis and Clostridium tetani and Corynebacterium diphtheriae and Haemophilus influenzae type B and Hepatitis B virus and Human poliovirus antigens only vaccine product
_871908002 871908002 Human alphaherpesvirus 3 and Measles morbillivirus and Mumps orthorubulavirus and Rubella virus antigens only vaccine product
_871918007 871918007 Rickettsia antigen-containing vaccine product
_871921009 871921009 Staphylococcus toxoid vaccine
_921000221108 921000221108 Neisseria meningitidis antigen only vaccine product
_971000221109 971000221109 Live attenuated Salmonella enterica subspecies enterica serovar Typhi antigen only vaccine product in oral dose form
_981000221107 981000221107 Streptococcus pneumoniae antigen only vaccine product
P99 P99 Oscuramento del documento
P97 P97 Oscuramento al genitore
P98 P98 Oscuramento all’assistito
J07BN J07BN Vaccino per Covid-19
LP418019_8 LP418019-8 Tampone antigenico per Covid-19
LP417541_2 LP417541-2 Tampone molecolare per Covid-19
_96118_5 96118-5 Test Sierologico qualitativo
_94503_0 94503-0 Test Sierologico quantitativo
pay pay Prescrizione farmaceutica non a carico SSN
PUBLICPOL PUBLICPOL Prescrizione farmaceutica SSN
LP267463_0 LP267463-0 Reddito
LP199190_2 LP199190-2 Patologia
_90768_3 90768-3 Analisi sangue donatore

_Tabella 45: _Value set per il metadato XDSDocumentEntry.eventCodeList

13.3.5. Ruolo

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Valore Descrizione Mappatura con ruoli del DPCM sul FSE
AAS Personale di assistenza ad alta specializzazione Medico / Dirigente sanitario
APR Medico Medicina Generale

Pediatra di Libera Scelta

Medico di Medicina Generale / Pediatra di Libera Scelta
PSS Professionista del sociale Professionista del sociale
INF Personale infermieristico Infermiere o altro Professionista Sanitario
FAR Farmacista Farmacista
DSA Direttore sanitario Direttore sanitario
DAM Direttore amministrativo Direttore amministrativo
OAM Operatore amministrativo Operatore Amministrativo
ASS Assistito Assistito
TUT Tutore Tutore
ING Informal giver (Assistito) Informal giver (Assistito)
GEN Genitore Assistito Genitore Assistito
NOR Nodo regionale Nodo regionale
DRS Dirigente sanitario Medico / Dirigente sanitario
RSA Medico RSA Medico RSA
MRP Medico Rete di Patologia Medico Rete di Patologia
INI Infrastruttura Nazionale per l’Interoperabilità Ruolo di sistema (non indicato nel DPCM perché non rappresenta una professione)
OGC Operatore per la gestione dei consensi Operatore per la gestione dei consensi
OPI Operatore di informativa Operatore di informativa
MDS Ruolo del Ministero della Salute per la gestione del DGC Non indicato nel DPCM perché non rappresenta una professione

_Tabella 46: _Value set per l’attributo urn:oasis:names:tc:xacml:2.0:subject:role

13.3.6. Contesto Operativo

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Valore Descrizione Note
TREATMENT Trattamento di cura ordinario Il valore deve essere utilizzato per il servizio di validazione e per i servizi di Validazione e Creazione.
UPDATE Invalidamento e aggiornamento di un documento Il valore deve essere utilizzato per il servizio di Eliminazione Documento, Aggiornamento Metadati e Sostituzione documento.

_Tabella 47: _Value set per l’attributo urn:oasis:names:tc:xspa:1.0:subject:purposeofuse

13.3.7. Organizzazione

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Valore Descrizione

010

Regione Piemonte

020

Regione Valle d'Aosta

030

Regione Lombardia

041

P.A. Bolzano

042

P.A. Trento

050

Regione Veneto

060

Regione Friuli Venezia Giulia

070

Regione Liguria

080

Regione Emilia-Romagna

090

Regione Toscana

100

Regione Umbria

110

Regione Marche

120

Regione Lazio

130

Regione Abruzzo

140

Regione Molise

150

Regione Campania

160

Regione Puglia

170

Regione Basilicata

180

Regione Calabria

190

Regione Sicilia

200

Regione Sardegna

000

INI

970

Sistema TS

001

SASN

999

MDS

_Tabella 48: _Value set per l’attributo urn:oasis:names:tc:xspa:1.0:subject:organization-id

13.3.8. Practice Setting Code

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Code CodingScheme
AD_PSC001 Allergologia
AD_PSC002 Day Hospital
AD_PSC003 Anatomia e Istologia Patologica
AD_PSC005 Angiologia
AD_PSC006 Cardiochirurgia Pediatrica
AD_PSC007 Cardiochirurgia
AD_PSC008 Cardiologia
AD_PSC009 Chirurgia Generale
AD_PSC010 Chirurgia Maxillo-Facciale
AD_PSC011 Chirurgia Pediatrica
AD_PSC012 Chirurgia Plastica
AD_PSC013 Chirurgia Toracica
AD_PSC014 Chirurgia Vascolare
AD_PSC015 Medicina Sportiva
AD_PSC018 Ematologia e Immunoematologia
AD_PSC019 Malattie Endocrine, del Ricambio e della Nutrizione
AD_PSC020 Immunologia
AD_PSC021 Geriatria
AD_PSC024 Malattie Infettive e Tropicali
AD_PSC025 Medicina del Lavoro
AD_PSC026 Medicina Generale
AD_PSC027 Medicina Legale
AD_PSC028 Unita Spinale
AD_PSC029 Nefrologia
AD_PSC030 Neurochirurgia
AD_PSC031 Nido
AD_PSC032 Neurologia
AD_PSC033 Neuropsichiatria Infantile
AD_PSC034 Oculistica
AD_PSC035 Odontoiatria e Stomatologia
AD_PSC036 Ortopedia e Traumatologia
AD_PSC037 Ostetricia e Ginecologia
AD_PSC038 Otorinolaringoiatria
AD_PSC039 Pediatria
AD_PSC040 Psichiatria
AD_PSC042 Tossicologia
AD_PSC043 Urologia
AD_PSC046 Grandi Ustioni Pediatriche
AD_PSC047 Grandi Ustionati
AD_PSC048 Nefrologia (Abilitazione Trapianto Rene)
AD_PSC049 Terapia Intensiva
AD_PSC050 Unità Coronarica
AD_PSC051 Astanteria
AD_PSC052 Dermatologia
AD_PSC054 Emodialisi
AD_PSC055 Farmacologia Clinica
AD_PSC056 Recupero e Riabilitazione Funzionale
AD_PSC057 Fisiopatologia della Riabilitazione Umana
AD_PSC058 Gastroenterologia
AD_PSC060 Lungodegenti
AD_PSC061 Medicina Nucleare
AD_PSC062 Neonatologia
AD_PSC064 Oncologia
AD_PSC065 Oncoematologia Pediatrica
AD_PSC066 Oncoematologia
AD_PSC068 Pneumologia, Fisiopatologia Respiratoria, Tisiologia
AD_PSC069 Radiologia
AD_PSC070 Radioterapia
AD_PSC071 Reumatologia
AD_PSC073 Terapia Intensiva Neonatale
AD_PSC074 Radioterapia Oncologica
AD_PSC075 Neuro-Riabilitazione
AD_PSC076 Neurochirurgia Pediatrica
AD_PSC077 Nefrologia Pediatrica
AD_PSC078 Urologia Pediatrica
AD_PSC082 Anestesia e Rianimazione
AD_PSC097 Detenuti
AD_PSC098 Day Surgery Plurispecialistica
AD_PSC100 Laboratorio Analisi Chimico Cliniche
AD_PSC101 Microbiologia e Virologia
AD_PSC102 Centro Trasfusionale e Immunoematologico
AD_PSC103 Radiodiagnostica
AD_PSC104 Neuroradiologia
AD_PSC106 Pronto Soccorso e OBI
AD_PSC107 Poliambulatorio
AD_PSC109 Centrale Operativa 118
AD_PSC121 Comparti Operatori - Degenza Ordinaria
AD_PSC122 Comparti Operatori - Day Surgery
AD_PSC126 Libera Professione Degenza
AD_PSC127 Hospice Ospedaliero
AD_PSC129 Trapianto Organi e Tessuti
AD_PSC130 Medicina di Base
AD_PSC131 Assistenza Territoriale
AD_PSC199 Raccolta Consenso
AD_PSC999 Altro

_Tabella 49: _Value set per il metadato XDSDocumentEntry.practiceSettingCode

13.3.9. Activity Enum

CODICE VALORE DESCRIZIONE
V VERIFICA Attività di validazione
P VALIDATION Attività di validazione finalizzata alla pubblicazione

Tabella 50: ActivityEnum

13.3.10. Injection Mode Enum

CODICE VALORE DESCRIZIONE
A ATTACHMENT CDA iniettato nel PDF come allegato (EmbeddedFiles)
R RESOURCE CDA iniettato nel PDF come risorsa (XFAResources)

Tabella 51: InjectionModeEnum

13.3.11. Health Data Format Enum

CODICE VALORE DESCRIZIONE
C CDA Clinical Document Architecture

Tabella 52: HealthDataFormatEnum

13.3.12. Tipo Attività

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Tabella 6.4-5. Value set per l’attributo urn:oasis:names:tc:xacml:1.0:action:action-id

VALORE DESCRIZIONE
CREATE Il valore deve essere utilizzato per il servizio di validazione e per il servizio di Pubblicazione Creazione Documento
DELETE Il valore deve essere utilizzato per il servizio di Eliminazione Documento
UPDATE Il valore deve essere utilizzato per il servizio di Aggiornamento Metadati

Tabella 53: action-id

13.3.13. Administrative Request

Fonte: “Specifiche tecniche per l’interoperabilità tra i sistemi regionali di FSE - Affinity Domain Italia - Versione 2.5”

Codice DisplayName Descrizione utilizzo
SSN Regime SSN Documento prodotto in regime SSN (in seguito a impegnativa SSN o screening)
INPATIENT Regime di ricovero Documenti prodotti in: regime di ricovero ad eccezione di ricoveri in libera professione completamente a carico del cittadino, pronto soccorso ad eccezione dei pazienti che non hanno copertura SSN.
NOSSN Regime privato Documento prodotto in regime privato per cui il cittadino paga tutte le spese sanitarie (es. ricoveri in libera professione, prestazioni intramoenia, etc.
SSR Regime SSR Documento prodotto in regime SSR (all’interno di progettualità regionali)
DONOR Regime donatori Documento prodotto in regime per i donatori

Tabella 53: Value set per il metadato XDSDocumentEntry.Slot - Administrative Request

Notes

Footnotes

  1. https://docs.italia.it/media/pdf/lg-modellointeroperabilita-docs/vintra-work/lg-modellointeroperabilita-docs.pdf

  2. Par 2.5.1 delle Linee Guida Modello di Interoperabilità

  3. Par. 4.3.1 del documento rif [2]

  4. Par. 3.4.2 delle Linee Guida Modello di Interoperabilità

  5. Par. 3.5.3 delle Linee Guida Modello di Interoperabilità