Stati ed Errori

L'esito delle chiamate FHIR è definito dal codice di stato HTTP e dal contenuto del messaggio restituito. In aggiunta ai normali codici di stato HTTP, i seguenti codici sono utilizzati per descrivere stati o errori relativi a FHIR.

Nella pagina Libreria Esempi, sono inoltre presenti alcuni esempi di errore.

Ricerche

In caso una ricerca venga eseguita correttamente, verrà restituito uno stato HTTP della categoria 2xx e il corpo della risposta conterrà una risorsa FHIR di tipo Bundle. In caso tale chiamata vada in errore, la risposta conterrà il codice di errore HTTP delle categorie 4xx e 5xx e la risorsa OperationOutcome nel corpo. Il profilo OperationOutcome è consultabile al seguente link: RLOperationOutcome.

Per consultare l'associazione completa tra i codici http e i codici di errore utilizzati nell'Operation Outcome di risposta si può fare riferimento al seguente codesystem: Codici Errore.

Codice Stato Descrizione
200 OK La ricerca è andata a buon fine restituendo zero o più risultati contenuti nella risorsa Bundle di tipologia searchset.
400 Unauthorized La richiesta non può essere soddisfatta a causa di errori di sintassi.
401 Not Authorized L'autenticazione è possibile ma è fallita o non può essere fornita.
403 Forbidden La richiesta contiene dati validi ed è stata compresa dal server, ma il server rifiuta l'azione. Ciò può essere dovuto al fatto che l'utente non dispone delle autorizzazioni necessarie per una risorsa o tenta un'azione proibita.
404 Not Found La tipologia di risorsa richiesta non esiste o è indirizzata a un endpoint non FHIR.
405 Method Not Allowed La richiesta è stata eseguita usando un metodo non permesso.
406 Not Acceptable La tipologia di contenuto specificata non é accettabile per gli standard FHIR.
422 Unprocessable Entity Il server comprende il tipo di contenuto dell'entità richiesta e la sintassi della richiesta è corretta, ma non è in grado di processare le istruzioni contenute nella richiesta.
429 Too many requests La richiesta è stata rifiutata perché si é raggiunto il massimo numero di connessioni possibili. Si prega di riprovare più tardi.
500 Internal Server Error Messaggio di errore generico.
503 Service Unavailable Il server non è al momento disponibile. Generalmente è una condizione temporanea.
504 Gateway Timeout Il servizio ha impiegato troppo tempo nella generazione della risposta. Si prega di effettuare la stessa consultazione più tardi.

Si specifica che nel caso dell’errore 504 Gateway Timeout il servizio termina l’elaborazione della risposta in batch e memorizza temporaneamente il messaggio di response. Di conseguenza, nel secondo tentativo deve essere effettuata la stessa identica chiamata HTTP per ottenere una risposta immediata.

Creazioni

In caso una chiamata di creazione (ad esempio POST) vada a buon fine, verrà restituito al chiamante uno stato HTTP della categoria 2xx. In caso non possa essere eseguita, la risposta contiene il codice di errore HTTP delle categorie 4xx e 5xx e la risorsa nel corpo.

Codice Stato Descrizione
201 Created La richiesta è stata correttamente ricevuta o creata
400 Bad Request La richiesta non può essere processata o fallisce le regole di validazione FHIR
401 Not Authorized Per eseguire la ricerca è necessaria l'autorizzazione
404 Not Found La tipologia di risorsa cercata non esiste o è indirizzata a un endpoint non FHIR
422 Unprocessable Entity La risorsa da creare non soddisfa i profili o regole criteri FHIR definiti
500 Internal Server Error Messaggio di errore generico