FASCICOLO SANITARIO ELETTRONICO 2.0
INTERFACCE REST Gateway
Versione | : | ver 2.10 |
INDICE
- 1. Introduzione
- 2. Contesto di Riferimento
- 3. Servizio di Validazione
- 4. Servizio di Creazione
- 5. Servizio di Eliminazione Documento
- 6. Servizio di Sostituzione Documento
- 7. Servizio di Aggiornamento Metadati
- 8. Servizio di validazione e pubblicazione creazione contestuale
- 8.1. Request
- 8.2. Response
- 8.2.1. Esempio di Messaggio di Risposta con esito OK 200 - “Validazione Pubblicazione creazione contestuale con Attachment”
- 8.2.2. Esempio di Messaggio di Risposta con esito OK 400 - “Validazione Pubblicazione creazione contestuale con errore sintattico”
- 8.2.3. Esempio di Messaggio di Risposta con esito OK 201 - “Validazione Pubblicazione creazione contestuale con warning semantico”
- 9. Servizio di validazione pubblicazione sostituzione contestuale
- 9.1. Request
- 9.2. Response
- 9.2.1. Esempio di Messaggio di Risposta con esito OK 200, “Pubblicazione Sostituzione Documento con Attachment”
- 9.2.2. Esempio di Messaggio di Risposta con esito OK 200, “Pubblicazione Sostituzione Documento con warning semantico”
- 9.2.3. Esempio di Messaggio di Risposta con esito OK 400, “Pubblicazione Sostituzione Documento con errore sintattico”
- 10. Servizio di Recupero Stato Transazione per WorkflowInstanceId
- 10.1. Request
- 10.2. Response
- 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
- 11. Servizio di Recupero Stato Transazione per TraceId
- 12. Drilldown Response in caso di Errore
- 13. Drilldown Parametri di Input
- 13.1. Campi Contenuti nei JWT
- 13.2. Campi Contenuti nella Request Body
- 13.3. Tabelle di Riferimento
- 13.3.1. Attività Clinica Enum
- 13.3.2. Healthcare Facility Type Code
- 13.3.3. Tipo Documento Alto Livello
- 13.3.4. Event Code
- 13.3.5. Ruolo
- 13.3.6. Contesto Operativo
- 13.3.7. Organizzazione
- 13.3.8. Practice Setting Code
- 13.3.9. Activity Enum
- 13.3.10. Injection Mode Enum
- 13.3.11. Health Data Format Enum
- 13.3.12. Tipo Attività
- 13.3.13. Administrative Request
- Notes
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
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.2 | 28/11/2022 | Paragrafi modificati:
|
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:
|
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
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.
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:
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.
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.
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
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'
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'
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'
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
{
"traceID": "4e1cd92c6a406c4e",
"spanID": "4e1cd92c6a406c4e",
"workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId"
}
{
"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"
}
{
"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"
}
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.
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
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'
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'
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
{
"traceID": "c2e1818fbf7aea7f",
"spanID": "c2e1818fbf7aea7f",
"workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId"
}
{
"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"
}
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.
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.
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' \
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
{
"traceID": "c2e1818fbf7aea7f",
"spanID": "c2e1818fbf7aea7f",
"workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId"
}
{
"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"
}
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.
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.
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'
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"
}
{
"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"
}
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.
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.
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'
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
{
"traceID": "c2e1818fbf7aea7f",
"spanID": "c2e1818fbf7aea7f",
"workflowInstanceId": "2.16.840.1.113883.2.9.2.120.4.4.97bb3fc5bee3032679f4f07419e04af6375baafa17024527a98ede920c6812ed.3c55cfd276^^^^urn:ihe:iti:xdw:2013:workflowInstanceId"
}
{
"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"
}
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..
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
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'
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'
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
}
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.
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'
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"
}
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.
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.
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'
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
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^^^&2.16.840.1.113883.2.9.4.3.2&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^^^&2.16.840.1.113883.2.9.4.3.2&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"
}
]
}
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"
}
]
}
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^^^&2.16.840.1.113883.2.9.4.3.2&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^^^&2.16.840.1.113883.2.9.4.3.2&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"
}
]
}
{
"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"
}
]
}
{
"traceID": "6cd7a61189e8282f",
"spanID": "6cd7a61189e8282f",
"type": "msg/record-not-found",
"title": "Record non trovato.",
"detail": "No Record Found",
"status": 404,
"instance": ""
}
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.
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.
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'
Per ulteriori dettagli su response del servizio in oggetto è necessario fare riferimento al Capitolo 8 “Servizio di Recupero stato transazione per WorkflowInstanceId”
Il Gateway genererà due tipologie di errore distinte, entrambe aderenti alla specifica RFC 7807.
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
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 |
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
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).
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:
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:
|
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
Nelle operazioni di DELETE e UPDATE, il Gateway utilizza il contenuto del claim “locality” per popolare l'asserzione di attributo “locality” verso INI:
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
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
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.
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
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
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
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
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
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
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
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
CODICE | VALORE | DESCRIZIONE |
V | VERIFICA | Attività di validazione |
P | VALIDATION | Attività di validazione finalizzata alla pubblicazione |
Tabella 50: ActivityEnum
CODICE | VALORE | DESCRIZIONE |
A | ATTACHMENT | CDA iniettato nel PDF come allegato (EmbeddedFiles) |
R | RESOURCE | CDA iniettato nel PDF come risorsa (XFAResources) |
Tabella 51: InjectionModeEnum
CODICE | VALORE | DESCRIZIONE |
C | CDA | Clinical Document Architecture |
Tabella 52: HealthDataFormatEnum
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
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
Footnotes
-
https://docs.italia.it/media/pdf/lg-modellointeroperabilita-docs/vintra-work/lg-modellointeroperabilita-docs.pdf ↩
-
Par 2.5.1 delle Linee Guida Modello di Interoperabilità ↩
-
Par. 4.3.1 del documento rif [2] ↩
-
Par. 3.4.2 delle Linee Guida Modello di Interoperabilità ↩
-
Par. 3.5.3 delle Linee Guida Modello di Interoperabilità ↩