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 |